| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334 |
- "use strict";
- (self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([["common"],{
- /***/ 9386:
- /*!********************************************!*\
- !*** ./src/app/services/wpdata.service.ts ***!
- \********************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "WpdataService": () => (/* binding */ WpdataService)
- /* harmony export */ });
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 4929);
- /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 3184);
- /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/common/http */ 8784);
- let WpdataService = class WpdataService {
- constructor(http) {
- this.http = http;
- }
- // getAllNews() {
- // return this.http.get(
- // "../assets/api/news-api.json"
- // );
- // }
- getAllNews() {
- return this.http.get("https://fm99activeradio.mcot.net/wp-json/wp/v2/news?_embed");
- }
- getNewsDetail(id) {
- let url = 'https://fm99activeradio.mcot.net/';
- const route = url + 'wp-json/wp/v2/' + 'news/' + id + '?_embed';
- return this.http.get(route);
- }
- getAllYoutube() {
- return this.http.get(
- // "../assets/api/youtube-data.json"
- "https://youtube.googleapis.com/youtube/v3/search?part=snippet&channelId=UCfZdHbI3pIN4uselPFzzbOg&maxResults=5&order=date&key=AIzaSyDsRrS_dUxT_3PFaMZIBBdrbl37p_fqrNY");
- }
- };
- WpdataService.ctorParameters = () => [
- { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_0__.HttpClient }
- ];
- WpdataService = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
- (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)({
- providedIn: 'root'
- })
- ], WpdataService);
- /***/ }),
- /***/ 5479:
- /*!*********************************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/button-active-1542e4b9.js ***!
- \*********************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "c": () => (/* binding */ createButtonActiveGesture)
- /* harmony export */ });
- /* harmony import */ var _index_8e692445_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-8e692445.js */ 1559);
- /* harmony import */ var _haptic_683b3b3c_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./haptic-683b3b3c.js */ 634);
- /* harmony import */ var _index_f8d8aa5a_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index-f8d8aa5a.js */ 9286);
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- const createButtonActiveGesture = (el, isButton) => {
- let currentTouchedButton;
- let initialTouchedButton;
- const activateButtonAtPoint = (x, y, hapticFeedbackFn) => {
- if (typeof document === 'undefined') {
- return;
- }
- const target = document.elementFromPoint(x, y);
- if (!target || !isButton(target)) {
- clearActiveButton();
- return;
- }
- if (target !== currentTouchedButton) {
- clearActiveButton();
- setActiveButton(target, hapticFeedbackFn);
- }
- };
- const setActiveButton = (button, hapticFeedbackFn) => {
- currentTouchedButton = button;
- if (!initialTouchedButton) {
- initialTouchedButton = currentTouchedButton;
- }
- const buttonToModify = currentTouchedButton;
- (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_0__.c)(() => buttonToModify.classList.add('ion-activated'));
- hapticFeedbackFn();
- };
- const clearActiveButton = (dispatchClick = false) => {
- if (!currentTouchedButton) {
- return;
- }
- const buttonToModify = currentTouchedButton;
- (0,_index_8e692445_js__WEBPACK_IMPORTED_MODULE_0__.c)(() => buttonToModify.classList.remove('ion-activated'));
- /**
- * Clicking on one button, but releasing on another button
- * does not dispatch a click event in browsers, so we
- * need to do it manually here. Some browsers will
- * dispatch a click if clicking on one button, dragging over
- * another button, and releasing on the original button. In that
- * case, we need to make sure we do not cause a double click there.
- */
- if (dispatchClick && initialTouchedButton !== currentTouchedButton) {
- currentTouchedButton.click();
- }
- currentTouchedButton = undefined;
- };
- return (0,_index_f8d8aa5a_js__WEBPACK_IMPORTED_MODULE_2__.createGesture)({
- el,
- gestureName: 'buttonActiveDrag',
- threshold: 0,
- onStart: ev => activateButtonAtPoint(ev.currentX, ev.currentY, _haptic_683b3b3c_js__WEBPACK_IMPORTED_MODULE_1__.a),
- onMove: ev => activateButtonAtPoint(ev.currentX, ev.currentY, _haptic_683b3b3c_js__WEBPACK_IMPORTED_MODULE_1__.b),
- onEnd: () => {
- clearActiveButton(true);
- (0,_haptic_683b3b3c_js__WEBPACK_IMPORTED_MODULE_1__.h)();
- initialTouchedButton = undefined;
- }
- });
- };
- /***/ }),
- /***/ 7481:
- /*!***********************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/dir-e8b767a8.js ***!
- \***********************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "i": () => (/* binding */ isRTL)
- /* harmony export */ });
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- /**
- * Returns `true` if the document or host element
- * has a `dir` set to `rtl`. The host value will always
- * take priority over the root document value.
- */
- const isRTL = hostEl => {
- if (hostEl) {
- if (hostEl.dir !== '') {
- return hostEl.dir.toLowerCase() === 'rtl';
- }
- }
- return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';
- };
- /***/ }),
- /***/ 5777:
- /*!*********************************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/focus-visible-096cf6fd.js ***!
- \*********************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "startFocusVisible": () => (/* binding */ startFocusVisible)
- /* harmony export */ });
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- const ION_FOCUSED = 'ion-focused';
- const ION_FOCUSABLE = 'ion-focusable';
- const FOCUS_KEYS = ['Tab', 'ArrowDown', 'Space', 'Escape', ' ', 'Shift', 'Enter', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Home', 'End'];
- const startFocusVisible = rootEl => {
- let currentFocus = [];
- let keyboardMode = true;
- const ref = rootEl ? rootEl.shadowRoot : document;
- const root = rootEl ? rootEl : document.body;
- const setFocus = elements => {
- currentFocus.forEach(el => el.classList.remove(ION_FOCUSED));
- elements.forEach(el => el.classList.add(ION_FOCUSED));
- currentFocus = elements;
- };
- const pointerDown = () => {
- keyboardMode = false;
- setFocus([]);
- };
- const onKeydown = ev => {
- keyboardMode = FOCUS_KEYS.includes(ev.key);
- if (!keyboardMode) {
- setFocus([]);
- }
- };
- const onFocusin = ev => {
- if (keyboardMode && ev.composedPath !== undefined) {
- const toFocus = ev.composedPath().filter(el => {
- if (el.classList) {
- return el.classList.contains(ION_FOCUSABLE);
- }
- return false;
- });
- setFocus(toFocus);
- }
- };
- const onFocusout = () => {
- if (ref.activeElement === root) {
- setFocus([]);
- }
- };
- ref.addEventListener('keydown', onKeydown);
- ref.addEventListener('focusin', onFocusin);
- ref.addEventListener('focusout', onFocusout);
- ref.addEventListener('touchstart', pointerDown);
- ref.addEventListener('mousedown', pointerDown);
- const destroy = () => {
- ref.removeEventListener('keydown', onKeydown);
- ref.removeEventListener('focusin', onFocusin);
- ref.removeEventListener('focusout', onFocusout);
- ref.removeEventListener('touchstart', pointerDown);
- ref.removeEventListener('mousedown', pointerDown);
- };
- return {
- destroy,
- setFocus
- };
- };
- /***/ }),
- /***/ 3701:
- /*!**************************************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/framework-delegate-897f849d.js ***!
- \**************************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "C": () => (/* binding */ CoreDelegate),
- /* harmony export */ "a": () => (/* binding */ attachComponent),
- /* harmony export */ "d": () => (/* binding */ detachComponent)
- /* harmony export */ });
- /* harmony import */ var _Volumes_App_fm99_app_rev_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 1670);
- /* harmony import */ var _helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers-3b390e48.js */ 9234);
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- const attachComponent = /*#__PURE__*/function () {
- var _ref = (0,_Volumes_App_fm99_app_rev_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (delegate, container, component, cssClasses, componentProps, inline) {
- var _a;
- if (delegate) {
- return delegate.attachViewToDom(container, component, componentProps, cssClasses);
- }
- if (!inline && typeof component !== 'string' && !(component instanceof HTMLElement)) {
- throw new Error('framework delegate is missing');
- }
- const el = typeof component === 'string' ? (_a = container.ownerDocument) === null || _a === void 0 ? void 0 : _a.createElement(component) : component;
- if (cssClasses) {
- cssClasses.forEach(c => el.classList.add(c));
- }
- if (componentProps) {
- Object.assign(el, componentProps);
- }
- container.appendChild(el);
- yield new Promise(resolve => (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_1__.c)(el, resolve));
- return el;
- });
- return function attachComponent(_x, _x2, _x3, _x4, _x5, _x6) {
- return _ref.apply(this, arguments);
- };
- }();
- const detachComponent = (delegate, element) => {
- if (element) {
- if (delegate) {
- const container = element.parentElement;
- return delegate.removeViewFromDom(container, element);
- }
- element.remove();
- }
- return Promise.resolve();
- };
- const CoreDelegate = () => {
- let BaseComponent;
- let Reference;
- const attachViewToDom = /*#__PURE__*/function () {
- var _ref2 = (0,_Volumes_App_fm99_app_rev_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (parentElement, userComponent, userComponentProps = {}, cssClasses = []) {
- var _a, _b;
- BaseComponent = parentElement;
- /**
- * If passing in a component via the `component` props
- * we need to append it inside of our overlay component.
- */
- if (userComponent) {
- /**
- * If passing in the tag name, create
- * the element otherwise just get a reference
- * to the component.
- */
- const el = typeof userComponent === 'string' ? (_a = BaseComponent.ownerDocument) === null || _a === void 0 ? void 0 : _a.createElement(userComponent) : userComponent;
- /**
- * Add any css classes passed in
- * via the cssClasses prop on the overlay.
- */
- cssClasses.forEach(c => el.classList.add(c));
- /**
- * Add any props passed in
- * via the componentProps prop on the overlay.
- */
- Object.assign(el, userComponentProps);
- /**
- * Finally, append the component
- * inside of the overlay component.
- */
- BaseComponent.appendChild(el);
- yield new Promise(resolve => (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_1__.c)(el, resolve));
- } else if (BaseComponent.children.length > 0) {
- // If there is no component, then we need to create a new parent
- // element to apply the css classes to.
- const el = (_b = BaseComponent.ownerDocument) === null || _b === void 0 ? void 0 : _b.createElement('div');
- cssClasses.forEach(c => el.classList.add(c)); // Move each child from the original template to the new parent element.
- el.append(...BaseComponent.children); // Append the new parent element to the original parent element.
- BaseComponent.appendChild(el);
- }
- /**
- * Get the root of the app and
- * add the overlay there.
- */
- const app = document.querySelector('ion-app') || document.body;
- /**
- * Create a placeholder comment so that
- * we can return this component to where
- * it was previously.
- */
- Reference = document.createComment('ionic teleport');
- BaseComponent.parentNode.insertBefore(Reference, BaseComponent);
- app.appendChild(BaseComponent);
- return BaseComponent;
- });
- return function attachViewToDom(_x7, _x8) {
- return _ref2.apply(this, arguments);
- };
- }();
- const removeViewFromDom = () => {
- /**
- * Return component to where it was previously in the DOM.
- */
- if (BaseComponent && Reference) {
- Reference.parentNode.insertBefore(BaseComponent, Reference);
- Reference.remove();
- }
- return Promise.resolve();
- };
- return {
- attachViewToDom,
- removeViewFromDom
- };
- };
- /***/ }),
- /***/ 634:
- /*!**************************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/haptic-683b3b3c.js ***!
- \**************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "a": () => (/* binding */ hapticSelectionStart),
- /* harmony export */ "b": () => (/* binding */ hapticSelectionChanged),
- /* harmony export */ "c": () => (/* binding */ hapticSelection),
- /* harmony export */ "d": () => (/* binding */ hapticImpact),
- /* harmony export */ "h": () => (/* binding */ hapticSelectionEnd)
- /* harmony export */ });
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- const HapticEngine = {
- getEngine() {
- var _a;
- const win = window;
- return win.TapticEngine || ((_a = win.Capacitor) === null || _a === void 0 ? void 0 : _a.isPluginAvailable('Haptics')) && win.Capacitor.Plugins.Haptics;
- },
- available() {
- return !!this.getEngine();
- },
- isCordova() {
- return !!window.TapticEngine;
- },
- isCapacitor() {
- const win = window;
- return !!win.Capacitor;
- },
- impact(options) {
- const engine = this.getEngine();
- if (!engine) {
- return;
- }
- const style = this.isCapacitor() ? options.style.toUpperCase() : options.style;
- engine.impact({
- style
- });
- },
- notification(options) {
- const engine = this.getEngine();
- if (!engine) {
- return;
- }
- const style = this.isCapacitor() ? options.style.toUpperCase() : options.style;
- engine.notification({
- style
- });
- },
- selection() {
- this.impact({
- style: 'light'
- });
- },
- selectionStart() {
- const engine = this.getEngine();
- if (!engine) {
- return;
- }
- if (this.isCapacitor()) {
- engine.selectionStart();
- } else {
- engine.gestureSelectionStart();
- }
- },
- selectionChanged() {
- const engine = this.getEngine();
- if (!engine) {
- return;
- }
- if (this.isCapacitor()) {
- engine.selectionChanged();
- } else {
- engine.gestureSelectionChanged();
- }
- },
- selectionEnd() {
- const engine = this.getEngine();
- if (!engine) {
- return;
- }
- if (this.isCapacitor()) {
- engine.selectionEnd();
- } else {
- engine.gestureSelectionEnd();
- }
- }
- };
- /**
- * Trigger a selection changed haptic event. Good for one-time events
- * (not for gestures)
- */
- const hapticSelection = () => {
- HapticEngine.selection();
- };
- /**
- * Tell the haptic engine that a gesture for a selection change is starting.
- */
- const hapticSelectionStart = () => {
- HapticEngine.selectionStart();
- };
- /**
- * Tell the haptic engine that a selection changed during a gesture.
- */
- const hapticSelectionChanged = () => {
- HapticEngine.selectionChanged();
- };
- /**
- * Tell the haptic engine we are done with a gesture. This needs to be
- * called lest resources are not properly recycled.
- */
- const hapticSelectionEnd = () => {
- HapticEngine.selectionEnd();
- };
- /**
- * Use this to indicate success/failure/warning to the user.
- * options should be of the type `{ style: 'light' }` (or `medium`/`heavy`)
- */
- const hapticImpact = options => {
- HapticEngine.impact(options);
- };
- /***/ }),
- /***/ 2002:
- /*!*************************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/index-40bb69ee.js ***!
- \*************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "a": () => (/* binding */ arrowBackSharp),
- /* harmony export */ "b": () => (/* binding */ closeCircle),
- /* harmony export */ "c": () => (/* binding */ chevronBack),
- /* harmony export */ "d": () => (/* binding */ closeSharp),
- /* harmony export */ "e": () => (/* binding */ searchSharp),
- /* harmony export */ "f": () => (/* binding */ checkmarkOutline),
- /* harmony export */ "g": () => (/* binding */ ellipseOutline),
- /* harmony export */ "h": () => (/* binding */ caretBackSharp),
- /* harmony export */ "i": () => (/* binding */ arrowDown),
- /* harmony export */ "j": () => (/* binding */ reorderThreeOutline),
- /* harmony export */ "k": () => (/* binding */ reorderTwoSharp),
- /* harmony export */ "l": () => (/* binding */ chevronDown),
- /* harmony export */ "m": () => (/* binding */ chevronForwardOutline),
- /* harmony export */ "n": () => (/* binding */ ellipsisHorizontal),
- /* harmony export */ "o": () => (/* binding */ chevronForward),
- /* harmony export */ "p": () => (/* binding */ caretUpSharp),
- /* harmony export */ "q": () => (/* binding */ caretDownSharp),
- /* harmony export */ "r": () => (/* binding */ removeOutline),
- /* harmony export */ "s": () => (/* binding */ searchOutline),
- /* harmony export */ "t": () => (/* binding */ close),
- /* harmony export */ "u": () => (/* binding */ menuOutline),
- /* harmony export */ "v": () => (/* binding */ menuSharp)
- /* harmony export */ });
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- /* Ionicons v6.0.3, ES Modules */
- const arrowBackSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Arrow Back</title><path stroke-linecap='square' stroke-miterlimit='10' stroke-width='48' d='M244 400L100 256l144-144M120 256h292' class='ionicon-fill-none'/></svg>";
- const arrowDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Arrow Down</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 268l144 144 144-144M256 392V100' class='ionicon-fill-none'/></svg>";
- const caretBackSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Caret Back</title><path d='M368 64L144 256l224 192V64z'/></svg>";
- const caretDownSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Caret Down</title><path d='M64 144l192 224 192-224H64z'/></svg>";
- const caretUpSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Caret Up</title><path d='M448 368L256 144 64 368h384z'/></svg>";
- const checkmarkOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Checkmark</title><path stroke-linecap='round' stroke-linejoin='round' d='M416 128L192 384l-96-96' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
- const chevronBack = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Chevron Back</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M328 112L184 256l144 144' class='ionicon-fill-none'/></svg>";
- const chevronDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Chevron Down</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 184l144 144 144-144' class='ionicon-fill-none'/></svg>";
- const chevronForward = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Chevron Forward</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M184 112l144 144-144 144' class='ionicon-fill-none'/></svg>";
- const chevronForwardOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Chevron Forward</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M184 112l144 144-144 144' class='ionicon-fill-none'/></svg>";
- const close = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Close</title><path d='M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z'/></svg>";
- const closeCircle = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Close Circle</title><path d='M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm75.31 260.69a16 16 0 11-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 01-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0122.62-22.62L256 233.37l52.69-52.68a16 16 0 0122.62 22.62L278.63 256z'/></svg>";
- const closeSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Close</title><path d='M400 145.49L366.51 112 256 222.51 145.49 112 112 145.49 222.51 256 112 366.51 145.49 400 256 289.49 366.51 400 400 366.51 289.49 256 400 145.49z'/></svg>";
- const ellipseOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Ellipse</title><circle cx='256' cy='256' r='192' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
- const ellipsisHorizontal = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Ellipsis Horizontal</title><circle cx='256' cy='256' r='48'/><circle cx='416' cy='256' r='48'/><circle cx='96' cy='256' r='48'/></svg>";
- const menuOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Menu</title><path stroke-linecap='round' stroke-miterlimit='10' d='M80 160h352M80 256h352M80 352h352' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
- const menuSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Menu</title><path d='M64 384h384v-42.67H64zm0-106.67h384v-42.66H64zM64 128v42.67h384V128z'/></svg>";
- const removeOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Remove</title><path stroke-linecap='round' stroke-linejoin='round' d='M400 256H112' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
- const reorderThreeOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Reorder Three</title><path stroke-linecap='round' stroke-linejoin='round' d='M96 256h320M96 176h320M96 336h320' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
- const reorderTwoSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Reorder Two</title><path stroke-linecap='square' stroke-linejoin='round' stroke-width='44' d='M118 304h276M118 208h276' class='ionicon-fill-none'/></svg>";
- const searchOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Search</title><path d='M221.09 64a157.09 157.09 0 10157.09 157.09A157.1 157.1 0 00221.09 64z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path stroke-linecap='round' stroke-miterlimit='10' d='M338.29 338.29L448 448' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
- const searchSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Search</title><path d='M464 428L339.92 303.9a160.48 160.48 0 0030.72-94.58C370.64 120.37 298.27 48 209.32 48S48 120.37 48 209.32s72.37 161.32 161.32 161.32a160.48 160.48 0 0094.58-30.72L428 464zM209.32 319.69a110.38 110.38 0 11110.37-110.37 110.5 110.5 0 01-110.37 110.37z'/></svg>";
- /***/ }),
- /***/ 3081:
- /*!*************************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/index-5d0c8232.js ***!
- \*************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "I": () => (/* binding */ ION_CONTENT_ELEMENT_SELECTOR),
- /* harmony export */ "a": () => (/* binding */ findIonContent),
- /* harmony export */ "b": () => (/* binding */ ION_CONTENT_CLASS_SELECTOR),
- /* harmony export */ "c": () => (/* binding */ scrollByPoint),
- /* harmony export */ "d": () => (/* binding */ disableContentScrollY),
- /* harmony export */ "f": () => (/* binding */ findClosestIonContent),
- /* harmony export */ "g": () => (/* binding */ getScrollElement),
- /* harmony export */ "i": () => (/* binding */ isIonContent),
- /* harmony export */ "p": () => (/* binding */ printIonContentErrorMsg),
- /* harmony export */ "r": () => (/* binding */ resetContentScrollY),
- /* harmony export */ "s": () => (/* binding */ scrollToTop)
- /* harmony export */ });
- /* harmony import */ var _Volumes_App_fm99_app_rev_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 1670);
- /* harmony import */ var _helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers-3b390e48.js */ 9234);
- /* harmony import */ var _index_c4b11676_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index-c4b11676.js */ 9273);
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
- const ION_CONTENT_ELEMENT_SELECTOR = 'ion-content';
- const ION_CONTENT_CLASS_SELECTOR = '.ion-content-scroll-host';
- /**
- * Selector used for implementations reliant on `<ion-content>` for scroll event changes.
- *
- * Developers should use the `.ion-content-scroll-host` selector to target the element emitting
- * scroll events. With virtual scroll implementations this will be the host element for
- * the scroll viewport.
- */
- const ION_CONTENT_SELECTOR = `${ION_CONTENT_ELEMENT_SELECTOR}, ${ION_CONTENT_CLASS_SELECTOR}`;
- const isIonContent = el => el.tagName === ION_CONTENT_TAG_NAME;
- /**
- * Waits for the element host fully initialize before
- * returning the inner scroll element.
- *
- * For `ion-content` the scroll target will be the result
- * of the `getScrollElement` function.
- *
- * For custom implementations it will be the element host
- * or a selector within the host, if supplied through `scrollTarget`.
- */
- const getScrollElement = /*#__PURE__*/function () {
- var _ref = (0,_Volumes_App_fm99_app_rev_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (el) {
- if (isIonContent(el)) {
- yield new Promise(resolve => (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_1__.c)(el, resolve));
- return el.getScrollElement();
- }
- return el;
- });
- return function getScrollElement(_x) {
- return _ref.apply(this, arguments);
- };
- }();
- /**
- * Queries the element matching the selector for IonContent.
- * See ION_CONTENT_SELECTOR for the selector used.
- */
- const findIonContent = el => {
- /**
- * First we try to query the custom scroll host selector in cases where
- * the implementation is using an outer `ion-content` with an inner custom
- * scroll container.
- */
- const customContentHost = el.querySelector(ION_CONTENT_CLASS_SELECTOR);
- if (customContentHost) {
- return customContentHost;
- }
- return el.querySelector(ION_CONTENT_SELECTOR);
- };
- /**
- * Queries the closest element matching the selector for IonContent.
- */
- const findClosestIonContent = el => {
- return el.closest(ION_CONTENT_SELECTOR);
- };
- /**
- * Scrolls to the top of the element. If an `ion-content` is found, it will scroll
- * using the public API `scrollToTop` with a duration.
- */
- const scrollToTop = (el, durationMs) => {
- if (isIonContent(el)) {
- const content = el;
- return content.scrollToTop(durationMs);
- }
- return Promise.resolve(el.scrollTo({
- top: 0,
- left: 0,
- behavior: durationMs > 0 ? 'smooth' : 'auto'
- }));
- };
- /**
- * Scrolls by a specified X/Y distance in the component. If an `ion-content` is found, it will scroll
- * using the public API `scrollByPoint` with a duration.
- */
- const scrollByPoint = (el, x, y, durationMs) => {
- if (isIonContent(el)) {
- const content = el;
- return content.scrollByPoint(x, y, durationMs);
- }
- return Promise.resolve(el.scrollBy({
- top: y,
- left: x,
- behavior: durationMs > 0 ? 'smooth' : 'auto'
- }));
- };
- /**
- * Prints an error informing developers that an implementation requires an element to be used
- * within either the `ion-content` selector or the `.ion-content-scroll-host` class.
- */
- const printIonContentErrorMsg = el => {
- return (0,_index_c4b11676_js__WEBPACK_IMPORTED_MODULE_2__.a)(el, ION_CONTENT_ELEMENT_SELECTOR);
- };
- /**
- * Several components in Ionic need to prevent scrolling
- * during a gesture (card modal, range, item sliding, etc).
- * Use this utility to account for ion-content and custom content hosts.
- */
- const disableContentScrollY = contentEl => {
- if (isIonContent(contentEl)) {
- const ionContent = contentEl;
- const initialScrollY = ionContent.scrollY;
- ionContent.scrollY = false;
- /**
- * This should be passed into resetContentScrollY
- * so that we can revert ion-content's scrollY to the
- * correct state. For example, if scrollY = false
- * initially, we do not want to enable scrolling
- * when we call resetContentScrollY.
- */
- return initialScrollY;
- } else {
- contentEl.style.setProperty('overflow', 'hidden');
- return true;
- }
- };
- const resetContentScrollY = (contentEl, initialScrollY) => {
- if (isIonContent(contentEl)) {
- contentEl.scrollY = initialScrollY;
- } else {
- contentEl.style.removeProperty('overflow');
- }
- };
- /***/ }),
- /***/ 6524:
- /*!****************************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/keyboard-4d5544a0.js ***!
- \****************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "KEYBOARD_DID_CLOSE": () => (/* binding */ KEYBOARD_DID_CLOSE),
- /* harmony export */ "KEYBOARD_DID_OPEN": () => (/* binding */ KEYBOARD_DID_OPEN),
- /* harmony export */ "copyVisualViewport": () => (/* binding */ copyVisualViewport),
- /* harmony export */ "keyboardDidClose": () => (/* binding */ keyboardDidClose),
- /* harmony export */ "keyboardDidOpen": () => (/* binding */ keyboardDidOpen),
- /* harmony export */ "keyboardDidResize": () => (/* binding */ keyboardDidResize),
- /* harmony export */ "resetKeyboardAssist": () => (/* binding */ resetKeyboardAssist),
- /* harmony export */ "setKeyboardClose": () => (/* binding */ setKeyboardClose),
- /* harmony export */ "setKeyboardOpen": () => (/* binding */ setKeyboardOpen),
- /* harmony export */ "startKeyboardAssist": () => (/* binding */ startKeyboardAssist),
- /* harmony export */ "trackViewportChanges": () => (/* binding */ trackViewportChanges)
- /* harmony export */ });
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- const KEYBOARD_DID_OPEN = 'ionKeyboardDidShow';
- const KEYBOARD_DID_CLOSE = 'ionKeyboardDidHide';
- const KEYBOARD_THRESHOLD = 150;
- let previousVisualViewport = {};
- let currentVisualViewport = {};
- let keyboardOpen = false;
- /**
- * This is only used for tests
- */
- const resetKeyboardAssist = () => {
- previousVisualViewport = {};
- currentVisualViewport = {};
- keyboardOpen = false;
- };
- const startKeyboardAssist = win => {
- startNativeListeners(win);
- if (!win.visualViewport) {
- return;
- }
- currentVisualViewport = copyVisualViewport(win.visualViewport);
- win.visualViewport.onresize = () => {
- trackViewportChanges(win);
- if (keyboardDidOpen() || keyboardDidResize(win)) {
- setKeyboardOpen(win);
- } else if (keyboardDidClose(win)) {
- setKeyboardClose(win);
- }
- };
- };
- /**
- * Listen for events fired by native keyboard plugin
- * in Capacitor/Cordova so devs only need to listen
- * in one place.
- */
- const startNativeListeners = win => {
- win.addEventListener('keyboardDidShow', ev => setKeyboardOpen(win, ev));
- win.addEventListener('keyboardDidHide', () => setKeyboardClose(win));
- };
- const setKeyboardOpen = (win, ev) => {
- fireKeyboardOpenEvent(win, ev);
- keyboardOpen = true;
- };
- const setKeyboardClose = win => {
- fireKeyboardCloseEvent(win);
- keyboardOpen = false;
- };
- /**
- * Returns `true` if the `keyboardOpen` flag is not
- * set, the previous visual viewport width equal the current
- * visual viewport width, and if the scaled difference
- * of the previous visual viewport height minus the current
- * visual viewport height is greater than KEYBOARD_THRESHOLD
- *
- * We need to be able to accommodate users who have zooming
- * enabled in their browser (or have zoomed in manually) which
- * is why we take into account the current visual viewport's
- * scale value.
- */
- const keyboardDidOpen = () => {
- const scaledHeightDifference = (previousVisualViewport.height - currentVisualViewport.height) * currentVisualViewport.scale;
- return !keyboardOpen && previousVisualViewport.width === currentVisualViewport.width && scaledHeightDifference > KEYBOARD_THRESHOLD;
- };
- /**
- * Returns `true` if the keyboard is open,
- * but the keyboard did not close
- */
- const keyboardDidResize = win => {
- return keyboardOpen && !keyboardDidClose(win);
- };
- /**
- * Determine if the keyboard was closed
- * Returns `true` if the `keyboardOpen` flag is set and
- * the current visual viewport height equals the
- * layout viewport height.
- */
- const keyboardDidClose = win => {
- return keyboardOpen && currentVisualViewport.height === win.innerHeight;
- };
- /**
- * Dispatch a keyboard open event
- */
- const fireKeyboardOpenEvent = (win, nativeEv) => {
- const keyboardHeight = nativeEv ? nativeEv.keyboardHeight : win.innerHeight - currentVisualViewport.height;
- const ev = new CustomEvent(KEYBOARD_DID_OPEN, {
- detail: {
- keyboardHeight
- }
- });
- win.dispatchEvent(ev);
- };
- /**
- * Dispatch a keyboard close event
- */
- const fireKeyboardCloseEvent = win => {
- const ev = new CustomEvent(KEYBOARD_DID_CLOSE);
- win.dispatchEvent(ev);
- };
- /**
- * Given a window object, create a copy of
- * the current visual and layout viewport states
- * while also preserving the previous visual and
- * layout viewport states
- */
- const trackViewportChanges = win => {
- previousVisualViewport = Object.assign({}, currentVisualViewport);
- currentVisualViewport = copyVisualViewport(win.visualViewport);
- };
- /**
- * Creates a deep copy of the visual viewport
- * at a given state
- */
- const copyVisualViewport = visualViewport => {
- return {
- width: Math.round(visualViewport.width),
- height: Math.round(visualViewport.height),
- offsetTop: visualViewport.offsetTop,
- offsetLeft: visualViewport.offsetLeft,
- pageTop: visualViewport.pageTop,
- pageLeft: visualViewport.pageLeft,
- scale: visualViewport.scale
- };
- };
- /***/ }),
- /***/ 3963:
- /*!***************************************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/keyboard-controller-73af62b2.js ***!
- \***************************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "c": () => (/* binding */ createKeyboardController)
- /* harmony export */ });
- /* harmony import */ var _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-33ffec25.js */ 2286);
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- /**
- * Creates a controller that tracks and reacts to opening or closing the keyboard.
- *
- * @internal
- * @param keyboardChangeCallback A function to call when the keyboard opens or closes.
- */
- const createKeyboardController = keyboardChangeCallback => {
- let keyboardWillShowHandler;
- let keyboardWillHideHandler;
- let keyboardVisible;
- const init = () => {
- keyboardWillShowHandler = () => {
- keyboardVisible = true;
- if (keyboardChangeCallback) keyboardChangeCallback(true);
- };
- keyboardWillHideHandler = () => {
- keyboardVisible = false;
- if (keyboardChangeCallback) keyboardChangeCallback(false);
- };
- _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w === null || _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w === void 0 ? void 0 : _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w.addEventListener('keyboardWillShow', keyboardWillShowHandler);
- _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w === null || _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w === void 0 ? void 0 : _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w.addEventListener('keyboardWillHide', keyboardWillHideHandler);
- };
- const destroy = () => {
- _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w === null || _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w === void 0 ? void 0 : _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w.removeEventListener('keyboardWillShow', keyboardWillShowHandler);
- _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w === null || _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w === void 0 ? void 0 : _index_33ffec25_js__WEBPACK_IMPORTED_MODULE_0__.w.removeEventListener('keyboardWillHide', keyboardWillHideHandler);
- keyboardWillShowHandler = keyboardWillHideHandler = undefined;
- };
- const isKeyboardVisible = () => keyboardVisible;
- init();
- return {
- init,
- destroy,
- isKeyboardVisible
- };
- };
- /***/ }),
- /***/ 3844:
- /*!***********************************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/spinner-configs-5d6b6fe7.js ***!
- \***********************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "S": () => (/* binding */ SPINNERS)
- /* harmony export */ });
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- const spinners = {
- bubbles: {
- dur: 1000,
- circles: 9,
- fn: (dur, index, total) => {
- const animationDelay = `${dur * index / total - dur}ms`;
- const angle = 2 * Math.PI * index / total;
- return {
- r: 5,
- style: {
- top: `${9 * Math.sin(angle)}px`,
- left: `${9 * Math.cos(angle)}px`,
- 'animation-delay': animationDelay
- }
- };
- }
- },
- circles: {
- dur: 1000,
- circles: 8,
- fn: (dur, index, total) => {
- const step = index / total;
- const animationDelay = `${dur * step - dur}ms`;
- const angle = 2 * Math.PI * step;
- return {
- r: 5,
- style: {
- top: `${9 * Math.sin(angle)}px`,
- left: `${9 * Math.cos(angle)}px`,
- 'animation-delay': animationDelay
- }
- };
- }
- },
- circular: {
- dur: 1400,
- elmDuration: true,
- circles: 1,
- fn: () => {
- return {
- r: 20,
- cx: 48,
- cy: 48,
- fill: 'none',
- viewBox: '24 24 48 48',
- transform: 'translate(0,0)',
- style: {}
- };
- }
- },
- crescent: {
- dur: 750,
- circles: 1,
- fn: () => {
- return {
- r: 26,
- style: {}
- };
- }
- },
- dots: {
- dur: 750,
- circles: 3,
- fn: (_, index) => {
- const animationDelay = -(110 * index) + 'ms';
- return {
- r: 6,
- style: {
- left: `${9 - 9 * index}px`,
- 'animation-delay': animationDelay
- }
- };
- }
- },
- lines: {
- dur: 1000,
- lines: 8,
- fn: (dur, index, total) => {
- const transform = `rotate(${360 / total * index + (index < total / 2 ? 180 : -180)}deg)`;
- const animationDelay = `${dur * index / total - dur}ms`;
- return {
- y1: 14,
- y2: 26,
- style: {
- transform: transform,
- 'animation-delay': animationDelay
- }
- };
- }
- },
- 'lines-small': {
- dur: 1000,
- lines: 8,
- fn: (dur, index, total) => {
- const transform = `rotate(${360 / total * index + (index < total / 2 ? 180 : -180)}deg)`;
- const animationDelay = `${dur * index / total - dur}ms`;
- return {
- y1: 12,
- y2: 20,
- style: {
- transform: transform,
- 'animation-delay': animationDelay
- }
- };
- }
- },
- 'lines-sharp': {
- dur: 1000,
- lines: 12,
- fn: (dur, index, total) => {
- const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
- const animationDelay = `${dur * index / total - dur}ms`;
- return {
- y1: 17,
- y2: 29,
- style: {
- transform: transform,
- 'animation-delay': animationDelay
- }
- };
- }
- },
- 'lines-sharp-small': {
- dur: 1000,
- lines: 12,
- fn: (dur, index, total) => {
- const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
- const animationDelay = `${dur * index / total - dur}ms`;
- return {
- y1: 12,
- y2: 20,
- style: {
- transform: transform,
- 'animation-delay': animationDelay
- }
- };
- }
- }
- };
- const SPINNERS = spinners;
- /***/ }),
- /***/ 4114:
- /*!******************************************************************!*\
- !*** ./node_modules/@ionic/core/dist/esm/swipe-back-5351da01.js ***!
- \******************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "createSwipeBackGesture": () => (/* binding */ createSwipeBackGesture)
- /* harmony export */ });
- /* harmony import */ var _helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers-3b390e48.js */ 9234);
- /* harmony import */ var _dir_e8b767a8_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dir-e8b767a8.js */ 7481);
- /* harmony import */ var _index_f8d8aa5a_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index-f8d8aa5a.js */ 9286);
- /* harmony import */ var _gesture_controller_17060b7c_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./gesture-controller-17060b7c.js */ 6379);
- /*!
- * (C) Ionic http://ionicframework.com - MIT License
- */
- const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
- const win = el.ownerDocument.defaultView;
- const rtl = (0,_dir_e8b767a8_js__WEBPACK_IMPORTED_MODULE_1__.i)(el);
- /**
- * Determine if a gesture is near the edge
- * of the screen. If true, then the swipe
- * to go back gesture should proceed.
- */
- const isAtEdge = detail => {
- const threshold = 50;
- const {
- startX
- } = detail;
- if (rtl) {
- return startX >= win.innerWidth - threshold;
- }
- return startX <= threshold;
- };
- const getDeltaX = detail => {
- return rtl ? -detail.deltaX : detail.deltaX;
- };
- const getVelocityX = detail => {
- return rtl ? -detail.velocityX : detail.velocityX;
- };
- const canStart = detail => {
- return isAtEdge(detail) && canStartHandler();
- };
- const onMove = detail => {
- // set the transition animation's progress
- const delta = getDeltaX(detail);
- const stepValue = delta / win.innerWidth;
- onMoveHandler(stepValue);
- };
- const onEnd = detail => {
- // the swipe back gesture has ended
- const delta = getDeltaX(detail);
- const width = win.innerWidth;
- const stepValue = delta / width;
- const velocity = getVelocityX(detail);
- const z = width / 2.0;
- const shouldComplete = velocity >= 0 && (velocity > 0.2 || delta > z);
- const missing = shouldComplete ? 1 - stepValue : stepValue;
- const missingDistance = missing * width;
- let realDur = 0;
- if (missingDistance > 5) {
- const dur = missingDistance / Math.abs(velocity);
- realDur = Math.min(dur, 540);
- }
- /**
- * TODO: stepValue can sometimes return negative values
- * or values greater than 1 which should not be possible.
- * Need to investigate more to find where the issue is.
- */
- onEndHandler(shouldComplete, stepValue <= 0 ? 0.01 : (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_0__.l)(0, stepValue, 0.9999), realDur);
- };
- return (0,_index_f8d8aa5a_js__WEBPACK_IMPORTED_MODULE_2__.createGesture)({
- el,
- gestureName: 'goback-swipe',
- gesturePriority: 40,
- threshold: 10,
- canStart,
- onStart: onStartHandler,
- onMove,
- onEnd
- });
- };
- /***/ })
- }]);
- //# sourceMappingURL=common.js.map
|