{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/theme-18cbe2cc.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-app_8-md.entry.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/cubic-bezier-2812fda3.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/framework-delegate-c2e2e1f4.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/index-4d91f03a.js"],"names":["hostContext","selector","el","closest","createColorClasses","color","_a","length","undefined","getClassMap","classes","map","Array","isArray","split","filter","c","trim","forEach","SCHEME","openURL","url","ev","direction","router","this","test","document","querySelector","preventDefault","push","App","prototype","componentDidLoad","rIC","isHybrid","window","getBoolean","then","module","startTapClick","startStatusTap","needInputShims","startInputShims","startHardwareBackButton","startFocusVisible","render","mode","class","Object","defineProperty","get","enumerable","configurable","hostRef","callback","requestIdleCallback","setTimeout","Buttons","collapse","class_1","disconnectedCallback","onScrollEnd","resize","onClick","isScrolling","stopPropagation","shouldForceOverscroll","forceOverscroll","fullscreen","readDimensions","bind","cTop","cBottom","forceUpdate","page","getPageElement","top","Math","max","offsetTop","bottom","offsetHeight","onScroll","_this","timeStamp","Date","now","shouldStart","lastScroll","onScrollStart","queued","scrollEvents","ts","detail","event","updateScrollDetail","scrollEl","ionScroll","emit","getScrollElement","Promise","resolve","scrollToTop","duration","scrollToPoint","scrollToBottom","y","scrollHeight","clientHeight","scrollByPoint","x","scrollLeft","scrollTop","startTime","promise","fromY","fromX","deltaY","deltaX","step","r","linearTime","min","easedT","pow","floor","requestAnimationFrame","ionScrollStart","watchDog","clearInterval","setInterval","ionScrollEnd","scrollX","scrollY","transitionShadow","assign","style","ref","name","Content","type","startX","startY","startTimeStamp","currentX","currentY","velocityX","velocityY","data","tabs","parentElement","parentNode","host","timestamp","prevX","prevY","timeDelta","Footer","translucent","role","cloneElement","tagName","getCachedEl","clonedEl","createElement","classList","add","setProperty","body","appendChild","createHeaderIndex","headerEl","toolbars","querySelectorAll","from","toolbar","ionTitleEl","background","shadowRoot","innerTitleEl","ionButtonsEl","handleContentScroll","scrollHeaderIndex","scale","scaleLargeTitles","transition","ionTitle","titleDiv","size","transformOrigin","TRANSITION","transform","setToolbarBackgroundOpacity","opacity","removeProperty","toString","handleToolbarBorderIntersection","mainHeaderIndex","isIntersecting","intersectionRatio","setHeaderActive","headerIndex","active","remove","Header","class_2","label","checkCollapsibleHeader","sent","componentDidUpdate","componentDidUnload","destroyCollapsibleHeader","canCollapse","pageEl","contentEl","hasCollapse","collapsibleHeaderInitialized","setupCollapsibleHeader","intersectionObserver","disconnect","contentScrollCallback","removeEventListener","_b","console","error","headers","mainHeader","find","header","mainHeaderHeight","IntersectionObserver","intersection","intersectionRect","intersectionArea","width","height","rootArea","rootBounds","isPageHidden","leftDiff","abs","left","boundingClientRect","rightDiff","right","threshold","rootMargin","observe","addEventListener","class_3","swipeHandlerChanged","gesture","setDisabled","swipeHandler","connectedCallback","createSwipeBackGesture","canStart","animationEnabled","onStart","ani","progressStep","shouldComplete","dur","newStepValue","onFinish","onEnd","oneTimeCallback","easing","progressEnd","componentWillLoad","ionNavWillLoad","destroy","commit","enteringEl","leavingEl","opts","unlock","changed","e_1","lock","trys","setRouteId","id","params","setRoot","element","activeEl","getRouteId","component","activeComponent","delegate","animated","animationBuilder","ionNavWillChange","animation","baseEl","progressCallback","progressAnimation","ionNavDidChange","p","waitPromise","RouterOutlet","ToolbarTitle","sizeChanged","emitStyle","getSize","ionStyle","getMode","Toolbar","buttons","firstButtons","button","slot","buttonsReversed","reverse","lastButtons","childrenStyle","target","updatedStyles","newStyles","childStyles","childrenStyles","hasStyleChange","keys","key","childKey","newValue","set","value","Map","Point","getTimeGivenProgression","p0","p1","p2","p3","progression","tValues","solveCubicBezier","solveCubicParametricEquation","t","refPoint","solveCubicEquation","root","a","b","d","q","discriminant","sqrt","phi","acos","s","cos","PI","attachComponent","container","cssClasses","componentProps","attachViewToDom","HTMLElement","ownerDocument","componentOnReady","Error","detachComponent","removeViewFromDom","reject","beforeTransition","runTransition","result","afterTransition","setZIndex","showGoBack","setPageHidden","getAnimationBuilder","noAnimation","iosTransitionAnimation","mdTransitionAnimation","trans","didComplete","waitForReady","create","fireWillEvents","playTransition","fireDidEvents","hasCompleted","defaultDeep","promises","deep","deepWait","deepReady","shallowReady","all","notifyViewReady","viewIsReady","currentStep","progressStart","play","lifecycle","eventName","CustomEvent","bubbles","cancelable","dispatchEvent","children","hidden","setAttribute","removeAttribute","zIndex","getIonPageElement","contains"],"mappings":"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","file":"js/chunk-1d98d26e.f60d62be.js","sourcesContent":["import { __awaiter, __generator } from \"tslib\";\nvar hostContext = function (selector, el) {\n return el.closest(selector) !== null;\n};\n/**\n * Create the mode and color classes for the component based on the classes passed in\n */\nvar createColorClasses = function (color) {\n var _a;\n return (typeof color === 'string' && color.length > 0) ? (_a = {\n 'ion-color': true\n },\n _a[\"ion-color-\" + color] = true,\n _a) : undefined;\n};\nvar getClassList = function (classes) {\n if (classes !== undefined) {\n var array = Array.isArray(classes) ? classes : classes.split(' ');\n return array\n .filter(function (c) { return c != null; })\n .map(function (c) { return c.trim(); })\n .filter(function (c) { return c !== ''; });\n }\n return [];\n};\nvar getClassMap = function (classes) {\n var map = {};\n getClassList(classes).forEach(function (c) { return map[c] = true; });\n return map;\n};\nvar SCHEME = /^[a-z][a-z0-9+\\-.]*:/;\nvar openURL = function (url, ev, direction) { return __awaiter(void 0, void 0, void 0, function () {\n var router;\n return __generator(this, function (_a) {\n if (url != null && url[0] !== '#' && !SCHEME.test(url)) {\n router = document.querySelector('ion-router');\n if (router) {\n if (ev != null) {\n ev.preventDefault();\n }\n return [2 /*return*/, router.push(url, direction)];\n }\n }\n return [2 /*return*/, false];\n });\n}); };\nexport { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };\n","import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, c as getIonMode, h, H as Host, e as getElement, d as createEvent, f as readTask, w as writeTask } from './core-feeeff0d.js';\nimport { b as config, i as isPlatform } from './config-3c7f3790.js';\nimport { c as clamp } from './helpers-46f4a262.js';\nimport './constants-3c3e1099.js';\nimport { c as createColorClasses, h as hostContext } from './theme-18cbe2cc.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-c2e2e1f4.js';\nimport { t as transition } from './index-4d91f03a.js';\nimport { g as getTimeGivenProgression, P as Point } from './cubic-bezier-2812fda3.js';\nvar App = /** @class */ (function () {\n function App(hostRef) {\n registerInstance(this, hostRef);\n }\n App.prototype.componentDidLoad = function () {\n {\n rIC(function () {\n var isHybrid = isPlatform(window, 'hybrid');\n if (!config.getBoolean('_testing')) {\n import('./tap-click-ca00ce7f.js').then(function (module) { return module.startTapClick(config); });\n }\n if (config.getBoolean('statusTap', isHybrid)) {\n import('./status-tap-32c72c43.js').then(function (module) { return module.startStatusTap(); });\n }\n if (config.getBoolean('inputShims', needInputShims())) {\n import('./input-shims-a4fc53ac.js').then(function (module) { return module.startInputShims(config); });\n }\n if (config.getBoolean('hardwareBackButton', isHybrid)) {\n import('./hardware-back-button-5afe3cb0.js').then(function (module) { return module.startHardwareBackButton(); });\n }\n import('./focus-visible-70713a0c.js').then(function (module) { return module.startFocusVisible(); });\n });\n }\n };\n App.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n return (h(Host, { class: (_a = {},\n _a[mode] = true,\n _a['ion-page'] = true,\n _a['force-statusbar-padding'] = config.getBoolean('_forceStatusbarPadding'),\n _a) }));\n };\n Object.defineProperty(App.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(App, \"style\", {\n get: function () { return \"html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}\"; },\n enumerable: true,\n configurable: true\n });\n return App;\n}());\nvar needInputShims = function () {\n return isPlatform(window, 'ios') && isPlatform(window, 'mobile');\n};\nvar rIC = function (callback) {\n if ('requestIdleCallback' in window) {\n window.requestIdleCallback(callback);\n }\n else {\n setTimeout(callback, 32);\n }\n};\nvar Buttons = /** @class */ (function () {\n function Buttons(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If true, buttons will disappear when its\n * parent toolbar has fully collapsed if the toolbar\n * is not the first toolbar. If the toolbar is the\n * first toolbar, the buttons will be hidden and will\n * only be shown once all toolbars have fully collapsed.\n *\n * Only applies in `ios` mode with `collapse` set to\n * `true` on `ion-header`.\n *\n * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)\n */\n this.collapse = false;\n }\n Buttons.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n return (h(Host, { class: (_a = {},\n _a[mode] = true,\n _a['buttons-collapse'] = this.collapse,\n _a) }));\n };\n Object.defineProperty(Buttons, \"style\", {\n get: function () { return \".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button {margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.sc-ion-buttons-md-s ion-button {margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round) {--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button , .ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button {--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-hover:rgba(var(--ion-color-contrast-rgb),0.08);--background-focused:rgba(var(--ion-color-contrast-rgb),0.24)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid , .ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid {--background:var(--ion-color-contrast);--background-activated:var(--ion-color-contrast);--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-tint);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline , .ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline {--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear {--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button {--background-hover:rgba(66,66,66,0.08)}.sc-ion-buttons-md-s .button-solid {--color:var(--ion-toolbar-background,var(--ion-background-color,#fff));--color-activated:var(--ion-toolbar-background,var(--ion-background-color,#fff));--background:var(--ion-toolbar-color,var(--ion-text-color,#424242));--background-activated:var(--ion-toolbar-color,var(--ion-text-color,#424242));--background-focused:var(--ion-toolbar-color-activated,#4a4a4a);--background-hover:rgba(66,66,66,0.92)}.sc-ion-buttons-md-s .button-outline {--background:transparent;--background-activated:transparent;--border-color:var(--ion-toolbar-color,var(--ion-text-color,#424242));--background-focused:rgba(66,66,66,0.1)}.sc-ion-buttons-md-s .button-clear , .sc-ion-buttons-md-s .button-outline {--color:initial;--color-activated:currentColor;--color-focused:var(--ion-toolbar-color,var(--ion-text-color,#424242))}.sc-ion-buttons-md-s .button-clear {--background:transparent;--background-focused:rgba(66,66,66,0.1)}.sc-ion-buttons-md-s ion-icon[slot=start] {margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:.3em;font-size:1.4em}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.sc-ion-buttons-md-s ion-icon[slot=start] {margin-right:unset;-webkit-margin-end:.3em;margin-inline-end:.3em}}.sc-ion-buttons-md-s ion-icon[slot=end] {margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:.4em;font-size:1.4em}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.sc-ion-buttons-md-s ion-icon[slot=end] {margin-left:unset;-webkit-margin-start:.4em;margin-inline-start:.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only] {padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}\"; },\n enumerable: true,\n configurable: true\n });\n return Buttons;\n}());\nvar Content = /** @class */ (function () {\n function class_1(hostRef) {\n registerInstance(this, hostRef);\n this.isScrolling = false;\n this.lastScroll = 0;\n this.queued = false;\n this.cTop = -1;\n this.cBottom = -1;\n this.mode = getIonMode(this);\n // Detail is used in a hot loop in the scroll event, by allocating it here\n // V8 will be able to inline any read/write to it since it's a monomorphic class.\n // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html\n this.detail = {\n scrollTop: 0,\n scrollLeft: 0,\n type: 'scroll',\n event: undefined,\n startX: 0,\n startY: 0,\n startTimeStamp: 0,\n currentX: 0,\n currentY: 0,\n velocityX: 0,\n velocityY: 0,\n deltaX: 0,\n deltaY: 0,\n timeStamp: 0,\n data: undefined,\n isScrolling: true,\n };\n /**\n * If `true`, the content will scroll behind the headers\n * and footers. This effect can easily be seen by setting the toolbar\n * to transparent.\n */\n this.fullscreen = false;\n /**\n * If you want to enable the content scrolling in the X axis, set this property to `true`.\n */\n this.scrollX = false;\n /**\n * If you want to disable the content scrolling in the Y axis, set this property to `false`.\n */\n this.scrollY = true;\n /**\n * Because of performance reasons, ionScroll events are disabled by default, in order to enable them\n * and start listening from (ionScroll), set this property to `true`.\n */\n this.scrollEvents = false;\n this.ionScrollStart = createEvent(this, \"ionScrollStart\", 7);\n this.ionScroll = createEvent(this, \"ionScroll\", 7);\n this.ionScrollEnd = createEvent(this, \"ionScrollEnd\", 7);\n }\n class_1.prototype.disconnectedCallback = function () {\n this.onScrollEnd();\n };\n class_1.prototype.componentDidLoad = function () {\n this.resize();\n };\n class_1.prototype.onClick = function (ev) {\n if (this.isScrolling) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n class_1.prototype.shouldForceOverscroll = function () {\n var _a = this, forceOverscroll = _a.forceOverscroll, mode = _a.mode;\n return forceOverscroll === undefined\n ? mode === 'ios' && isPlatform('ios')\n : forceOverscroll;\n };\n class_1.prototype.resize = function () {\n if (this.fullscreen) {\n readTask(this.readDimensions.bind(this));\n }\n else if (this.cTop !== 0 || this.cBottom !== 0) {\n this.cTop = this.cBottom = 0;\n this.el.forceUpdate();\n }\n };\n class_1.prototype.readDimensions = function () {\n var page = getPageElement(this.el);\n var top = Math.max(this.el.offsetTop, 0);\n var bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0);\n var dirty = top !== this.cTop || bottom !== this.cBottom;\n if (dirty) {\n this.cTop = top;\n this.cBottom = bottom;\n this.el.forceUpdate();\n }\n };\n class_1.prototype.onScroll = function (ev) {\n var _this = this;\n var timeStamp = Date.now();\n var shouldStart = !this.isScrolling;\n this.lastScroll = timeStamp;\n if (shouldStart) {\n this.onScrollStart();\n }\n if (!this.queued && this.scrollEvents) {\n this.queued = true;\n readTask(function (ts) {\n _this.queued = false;\n _this.detail.event = ev;\n updateScrollDetail(_this.detail, _this.scrollEl, ts, shouldStart);\n _this.ionScroll.emit(_this.detail);\n });\n }\n };\n /**\n * Get the element where the actual scrolling takes place.\n * This element can be used to subscribe to `scroll` events or manually modify\n * `scrollTop`. However, it's recommended to use the API provided by `ion-content`:\n *\n * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events\n * and `scrollToPoint()` to scroll the content into a certain point.\n */\n class_1.prototype.getScrollElement = function () {\n return Promise.resolve(this.scrollEl);\n };\n /**\n * Scroll to the top of the component.\n *\n * @param duration The amount of time to take scrolling to the top. Defaults to `0`.\n */\n class_1.prototype.scrollToTop = function (duration) {\n if (duration === void 0) { duration = 0; }\n return this.scrollToPoint(undefined, 0, duration);\n };\n /**\n * Scroll to the bottom of the component.\n *\n * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.\n */\n class_1.prototype.scrollToBottom = function (duration) {\n if (duration === void 0) { duration = 0; }\n var y = this.scrollEl.scrollHeight - this.scrollEl.clientHeight;\n return this.scrollToPoint(undefined, y, duration);\n };\n /**\n * Scroll by a specified X/Y distance in the component.\n *\n * @param x The amount to scroll by on the horizontal axis.\n * @param y The amount to scroll by on the vertical axis.\n * @param duration The amount of time to take scrolling by that amount.\n */\n class_1.prototype.scrollByPoint = function (x, y, duration) {\n return this.scrollToPoint(x + this.scrollEl.scrollLeft, y + this.scrollEl.scrollTop, duration);\n };\n /**\n * Scroll to a specified X/Y location in the component.\n *\n * @param x The point to scroll to on the horizontal axis.\n * @param y The point to scroll to on the vertical axis.\n * @param duration The amount of time to take scrolling to that point. Defaults to `0`.\n */\n class_1.prototype.scrollToPoint = function (x, y, duration) {\n if (duration === void 0) { duration = 0; }\n return __awaiter(this, void 0, void 0, function () {\n var el, resolve, startTime, promise, fromY, fromX, deltaY, deltaX, step;\n return __generator(this, function (_a) {\n el = this.scrollEl;\n if (duration < 32) {\n if (y != null) {\n el.scrollTop = y;\n }\n if (x != null) {\n el.scrollLeft = x;\n }\n return [2 /*return*/];\n }\n startTime = 0;\n promise = new Promise(function (r) { return resolve = r; });\n fromY = el.scrollTop;\n fromX = el.scrollLeft;\n deltaY = y != null ? y - fromY : 0;\n deltaX = x != null ? x - fromX : 0;\n step = function (timeStamp) {\n var linearTime = Math.min(1, ((timeStamp - startTime) / duration)) - 1;\n var easedT = Math.pow(linearTime, 3) + 1;\n if (deltaY !== 0) {\n el.scrollTop = Math.floor((easedT * deltaY) + fromY);\n }\n if (deltaX !== 0) {\n el.scrollLeft = Math.floor((easedT * deltaX) + fromX);\n }\n if (easedT < 1) {\n // do not use DomController here\n // must use nativeRaf in order to fire in the next frame\n // TODO: remove as any\n requestAnimationFrame(step);\n }\n else {\n resolve();\n }\n };\n // chill out for a frame first\n requestAnimationFrame(function (ts) {\n startTime = ts;\n step(ts);\n });\n return [2 /*return*/, promise];\n });\n });\n };\n class_1.prototype.onScrollStart = function () {\n var _this = this;\n this.isScrolling = true;\n this.ionScrollStart.emit({\n isScrolling: true\n });\n if (this.watchDog) {\n clearInterval(this.watchDog);\n }\n // watchdog\n this.watchDog = setInterval(function () {\n if (_this.lastScroll < Date.now() - 120) {\n _this.onScrollEnd();\n }\n }, 100);\n };\n class_1.prototype.onScrollEnd = function () {\n clearInterval(this.watchDog);\n this.watchDog = null;\n if (this.isScrolling) {\n this.isScrolling = false;\n this.ionScrollEnd.emit({\n isScrolling: false\n });\n }\n };\n class_1.prototype.render = function () {\n var _a;\n var _this = this;\n var _b = this, scrollX = _b.scrollX, scrollY = _b.scrollY;\n var mode = getIonMode(this);\n var forceOverscroll = this.shouldForceOverscroll();\n var transitionShadow = (mode === 'ios' && config.getBoolean('experimentalTransitionShadow', true));\n this.resize();\n return (h(Host, { class: Object.assign(Object.assign({}, createColorClasses(this.color)), (_a = {}, _a[mode] = true, _a['content-sizing'] = hostContext('ion-popover', this.el), _a['overscroll'] = forceOverscroll, _a)), style: {\n '--offset-top': this.cTop + \"px\",\n '--offset-bottom': this.cBottom + \"px\",\n } }, h(\"main\", { class: {\n 'inner-scroll': true,\n 'scroll-x': scrollX,\n 'scroll-y': scrollY,\n 'overscroll': (scrollX || scrollY) && forceOverscroll\n }, ref: function (el) { return _this.scrollEl = el; }, onScroll: function (ev) { return _this.onScroll(ev); } }, h(\"slot\", null)), transitionShadow ? (h(\"div\", { class: \"transition-effect\" }, h(\"div\", { class: \"transition-cover\" }), h(\"div\", { class: \"transition-shadow\" }))) : null, h(\"slot\", { name: \"fixed\" })));\n };\n Object.defineProperty(class_1.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"style\", {\n get: function () { return \":host{--background:var(--ion-background-color,#fff);--color:var(--ion-text-color,#000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0!important;padding:0!important;font-family:var(--ion-font-family,inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50,#f2f2f2)}.inner-scroll{left:0;right:0;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;background:var(--background);color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-x,.scroll-y{-webkit-overflow-scrolling:touch;will-change:scroll-position;-ms-scroll-chaining:none;overscroll-behavior:contain}.scroll-y{-ms-touch-action:pan-y;touch-action:pan-y;overflow-y:var(--overflow)}.scroll-x{-ms-touch-action:pan-x;touch-action:pan-x;overflow-x:var(--overflow)}.scroll-x.scroll-y{-ms-touch-action:auto;touch-action:auto}.overscroll:after,.overscroll:before{position:absolute;width:1px;height:1px;content:\\\"\\\"}.overscroll:before{bottom:-1px}.overscroll:after{top:-1px}:host(.content-sizing){contain:none}:host(.content-sizing) .inner-scroll{position:relative}.transition-effect{left:-100%;opacity:0;pointer-events:none}.transition-cover,.transition-effect{position:absolute;width:100%;height:100%}.transition-cover{right:0;background:#000;opacity:.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}\"; },\n enumerable: true,\n configurable: true\n });\n return class_1;\n}());\nvar getParentElement = function (el) {\n if (el.parentElement) {\n // normal element with a parent element\n return el.parentElement;\n }\n if (el.parentNode && el.parentNode.host) {\n // shadow dom's document fragment\n return el.parentNode.host;\n }\n return null;\n};\nvar getPageElement = function (el) {\n var tabs = el.closest('ion-tabs');\n if (tabs) {\n return tabs;\n }\n var page = el.closest('ion-app,ion-page,.ion-page,page-inner');\n if (page) {\n return page;\n }\n return getParentElement(el);\n};\n// ******** DOM READ ****************\nvar updateScrollDetail = function (detail, el, timestamp, shouldStart) {\n var prevX = detail.currentX;\n var prevY = detail.currentY;\n var prevT = detail.timeStamp;\n var currentX = el.scrollLeft;\n var currentY = el.scrollTop;\n var timeDelta = timestamp - prevT;\n if (shouldStart) {\n // remember the start positions\n detail.startTimeStamp = timestamp;\n detail.startX = currentX;\n detail.startY = currentY;\n detail.velocityX = detail.velocityY = 0;\n }\n detail.timeStamp = timestamp;\n detail.currentX = detail.scrollLeft = currentX;\n detail.currentY = detail.scrollTop = currentY;\n detail.deltaX = currentX - detail.startX;\n detail.deltaY = currentY - detail.startY;\n if (timeDelta > 0 && timeDelta < 100) {\n var velocityX = (currentX - prevX) / timeDelta;\n var velocityY = (currentY - prevY) / timeDelta;\n detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;\n detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;\n }\n};\nvar Footer = /** @class */ (function () {\n function Footer(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the footer will be translucent.\n * Only applies when the mode is `\"ios\"` and the device supports\n * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n *\n * Note: In order to scroll content behind the footer, the `fullscreen`\n * attribute needs to be set on the content.\n */\n this.translucent = false;\n }\n Footer.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n var translucent = this.translucent;\n return (h(Host, { role: \"contentinfo\", class: (_a = {},\n _a[mode] = true,\n // Used internally for styling\n _a[\"footer-\" + mode] = true,\n _a[\"footer-translucent\"] = translucent,\n _a[\"footer-translucent-\" + mode] = translucent,\n _a) }));\n };\n Object.defineProperty(Footer, \"style\", {\n get: function () { return \"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-child{padding-bottom:var(--ion-safe-area-bottom,0)}.footer-md:before{left:0;top:-2px;bottom:auto;background-position:left 0 top 0;position:absolute;width:100%;height:2px;background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==\\\");background-repeat:repeat-x;content:\\\"\\\"}:host-context([dir=rtl]) .footer-md:before,[dir=rtl] .footer-md:before{left:unset;right:unset;right:0;background-position:right 0 top 0}.footer-md[no-border]:before{display:none}\"; },\n enumerable: true,\n configurable: true\n });\n return Footer;\n}());\nvar TRANSITION = 'all 0.2s ease-in-out';\nvar cloneElement = function (tagName) {\n var getCachedEl = document.querySelector(tagName + \".ion-cloned-element\");\n if (getCachedEl !== null) {\n return getCachedEl;\n }\n var clonedEl = document.createElement(tagName);\n clonedEl.classList.add('ion-cloned-element');\n clonedEl.style.setProperty('display', 'none');\n document.body.appendChild(clonedEl);\n return clonedEl;\n};\nvar createHeaderIndex = function (headerEl) {\n if (!headerEl) {\n return;\n }\n var toolbars = headerEl.querySelectorAll('ion-toolbar');\n return {\n el: headerEl,\n toolbars: Array.from(toolbars).map(function (toolbar) {\n var ionTitleEl = toolbar.querySelector('ion-title');\n return {\n el: toolbar,\n background: toolbar.shadowRoot.querySelector('.toolbar-background'),\n ionTitleEl: ionTitleEl,\n innerTitleEl: (ionTitleEl) ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,\n ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || []\n };\n }) || [[]]\n };\n};\nvar handleContentScroll = function (scrollEl, scrollHeaderIndex) {\n readTask(function () {\n var scrollTop = scrollEl.scrollTop;\n var scale = clamp(1, 1 + (-scrollTop / 500), 1.1);\n writeTask(function () {\n scaleLargeTitles(scrollHeaderIndex.toolbars, scale);\n });\n });\n};\nvar setToolbarBackgroundOpacity = function (toolbar, opacity) {\n if (opacity === undefined) {\n toolbar.background.style.removeProperty('--opacity');\n }\n else {\n toolbar.background.style.setProperty('--opacity', opacity.toString());\n }\n};\nvar handleToolbarBorderIntersection = function (ev, mainHeaderIndex) {\n if (!ev[0].isIntersecting) {\n return;\n }\n var scale = ((1 - ev[0].intersectionRatio) * 100) / 75;\n setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0], (scale === 1) ? undefined : scale);\n};\n/**\n * If toolbars are intersecting, hide the scrollable toolbar content\n * and show the primary toolbar content. If the toolbars are not intersecting,\n * hide the primary toolbar content and show the scrollable toolbar content\n */\nvar handleToolbarIntersection = function (ev, mainHeaderIndex, scrollHeaderIndex) {\n writeTask(function () {\n handleToolbarBorderIntersection(ev, mainHeaderIndex);\n var event = ev[0];\n var intersection = event.intersectionRect;\n var intersectionArea = intersection.width * intersection.height;\n var rootArea = event.rootBounds.width * event.rootBounds.height;\n var isPageHidden = intersectionArea === 0 && rootArea === 0;\n var leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);\n var rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);\n var isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);\n if (isPageHidden || isPageTransitioning) {\n return;\n }\n if (event.isIntersecting) {\n setHeaderActive(mainHeaderIndex, false);\n setHeaderActive(scrollHeaderIndex);\n }\n else {\n /**\n * There is a bug with IntersectionObserver on Safari\n * where `event.isIntersecting === false` when cancelling\n * a swipe to go back gesture. Checking the intersection\n * x, y, width, and height provides a workaround. This bug\n * does not happen when using Safari + Web Animations,\n * only Safari + CSS Animations.\n */\n var hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);\n if (hasValidIntersection) {\n setHeaderActive(mainHeaderIndex);\n setHeaderActive(scrollHeaderIndex, false);\n setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0], 1);\n }\n }\n });\n};\nvar setHeaderActive = function (headerIndex, active) {\n if (active === void 0) { active = true; }\n writeTask(function () {\n if (active) {\n headerIndex.el.classList.remove('header-collapse-condense-inactive');\n }\n else {\n headerIndex.el.classList.add('header-collapse-condense-inactive');\n }\n });\n};\nvar scaleLargeTitles = function (toolbars, scale, transition) {\n if (toolbars === void 0) { toolbars = []; }\n if (scale === void 0) { scale = 1; }\n if (transition === void 0) { transition = false; }\n toolbars.forEach(function (toolbar) {\n var ionTitle = toolbar.ionTitleEl;\n var titleDiv = toolbar.innerTitleEl;\n if (!ionTitle || ionTitle.size !== 'large') {\n return;\n }\n titleDiv.style.transformOrigin = 'left center';\n titleDiv.style.transition = (transition) ? TRANSITION : '';\n titleDiv.style.transform = \"scale3d(\" + scale + \", \" + scale + \", 1)\";\n });\n};\nvar Header = /** @class */ (function () {\n function class_2(hostRef) {\n registerInstance(this, hostRef);\n this.collapsibleHeaderInitialized = false;\n /**\n * If `true`, the header will be translucent.\n * Only applies when the mode is `\"ios\"` and the device supports\n * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n *\n * Note: In order to scroll content behind the header, the `fullscreen`\n * attribute needs to be set on the content.\n */\n this.translucent = false;\n }\n class_2.prototype.componentDidLoad = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.checkCollapsibleHeader()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_2.prototype.componentDidUpdate = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.checkCollapsibleHeader()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_2.prototype.componentDidUnload = function () {\n this.destroyCollapsibleHeader();\n };\n class_2.prototype.checkCollapsibleHeader = function () {\n return __awaiter(this, void 0, void 0, function () {\n var hasCollapse, canCollapse, pageEl, contentEl;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n hasCollapse = this.collapse === 'condense';\n canCollapse = (hasCollapse && getIonMode(this) === 'ios') ? hasCollapse : false;\n if (!(!canCollapse && this.collapsibleHeaderInitialized)) return [3 /*break*/, 1];\n this.destroyCollapsibleHeader();\n return [3 /*break*/, 3];\n case 1:\n if (!(canCollapse && !this.collapsibleHeaderInitialized)) return [3 /*break*/, 3];\n pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;\n return [4 /*yield*/, this.setupCollapsibleHeader(contentEl, pageEl)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n class_2.prototype.destroyCollapsibleHeader = function () {\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect();\n this.intersectionObserver = undefined;\n }\n if (this.scrollEl && this.contentScrollCallback) {\n this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);\n this.contentScrollCallback = undefined;\n }\n };\n class_2.prototype.setupCollapsibleHeader = function (contentEl, pageEl) {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!contentEl || !pageEl) {\n console.error('ion-header requires a content to collapse, make sure there is an ion-content.');\n return [2 /*return*/];\n }\n _a = this;\n return [4 /*yield*/, contentEl.getScrollElement()];\n case 1:\n _a.scrollEl = _b.sent();\n readTask(function () {\n var headers = pageEl.querySelectorAll('ion-header');\n var mainHeader = Array.from(headers).find(function (header) { return header.collapse !== 'condense'; });\n if (!mainHeader || !_this.scrollEl) {\n return;\n }\n var mainHeaderIndex = createHeaderIndex(mainHeader);\n var scrollHeaderIndex = createHeaderIndex(_this.el);\n if (!mainHeaderIndex || !scrollHeaderIndex) {\n return;\n }\n setHeaderActive(mainHeaderIndex, false);\n readTask(function () {\n var mainHeaderHeight = mainHeaderIndex.el.clientHeight;\n /**\n * Handle interaction between toolbar collapse and\n * showing/hiding content in the primary ion-header\n * as well as progressively showing/hiding the main header\n * border as the top-most toolbar collapses or expands.\n */\n var toolbarIntersection = function (ev) { handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex); };\n _this.intersectionObserver = new IntersectionObserver(toolbarIntersection, { threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1], rootMargin: \"-\" + mainHeaderHeight + \"px 0px 0px 0px\" });\n _this.intersectionObserver.observe(scrollHeaderIndex.toolbars[0].el);\n });\n /**\n * Handle scaling of large iOS titles and\n * showing/hiding border on last toolbar\n * in primary header\n */\n _this.contentScrollCallback = function () { handleContentScroll(_this.scrollEl, scrollHeaderIndex); };\n _this.scrollEl.addEventListener('scroll', _this.contentScrollCallback);\n });\n writeTask(function () {\n cloneElement('ion-title');\n cloneElement('ion-back-button');\n });\n this.collapsibleHeaderInitialized = true;\n return [2 /*return*/];\n }\n });\n });\n };\n class_2.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n var collapse = this.collapse || 'none';\n return (h(Host, { role: \"banner\", class: (_a = {},\n _a[mode] = true,\n // Used internally for styling\n _a[\"header-\" + mode] = true,\n _a[\"header-translucent\"] = this.translucent,\n _a[\"header-collapse-\" + collapse] = true,\n _a[\"header-translucent-\" + mode] = this.translucent,\n _a) }));\n };\n Object.defineProperty(class_2.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_2, \"style\", {\n get: function () { return \"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-child{padding-top:var(--ion-safe-area-top,0)}.header-md:after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\\\"\\\"}:host-context([dir=rtl]) .header-md:after,[dir=rtl] .header-md:after{left:unset;right:unset;right:0;background-position:right 0 top -2px}.header-collapse-condense,.header-md[no-border]:after{display:none}\"; },\n enumerable: true,\n configurable: true\n });\n return class_2;\n}());\nvar RouterOutlet = /** @class */ (function () {\n function class_3(hostRef) {\n registerInstance(this, hostRef);\n this.animationEnabled = true;\n /**\n * The mode determines which platform styles to use.\n */\n this.mode = getIonMode(this);\n /**\n * If `true`, the router-outlet should animate the transition of components.\n */\n this.animated = true;\n this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n this.ionNavWillChange = createEvent(this, \"ionNavWillChange\", 3);\n this.ionNavDidChange = createEvent(this, \"ionNavDidChange\", 3);\n }\n class_3.prototype.swipeHandlerChanged = function () {\n if (this.gesture) {\n this.gesture.setDisabled(this.swipeHandler === undefined);\n }\n };\n class_3.prototype.connectedCallback = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this;\n return [4 /*yield*/, import('./swipe-back-35ad8e37.js')];\n case 1:\n _a.gesture = (_b.sent()).createSwipeBackGesture(this.el, function () { return !!_this.swipeHandler && _this.swipeHandler.canStart() && _this.animationEnabled; }, function () { return _this.swipeHandler && _this.swipeHandler.onStart(); }, function (step) { return _this.ani && _this.ani.progressStep(step); }, function (shouldComplete, step, dur) {\n if (_this.ani) {\n _this.animationEnabled = false;\n _this.ani.onFinish(function () {\n _this.animationEnabled = true;\n if (_this.swipeHandler) {\n _this.swipeHandler.onEnd(shouldComplete);\n }\n }, { oneTimeCallback: true });\n // Account for rounding errors in JS\n var newStepValue = (shouldComplete) ? -0.001 : 0.001;\n /**\n * Animation will be reversed here, so need to\n * reverse the easing curve as well\n *\n * Additionally, we need to account for the time relative\n * to the new easing curve, as `stepValue` is going to be given\n * in terms of a linear curve.\n */\n if (!shouldComplete) {\n _this.ani.easing('cubic-bezier(1, 0, 0.68, 0.28)');\n newStepValue += getTimeGivenProgression(new Point(0, 0), new Point(1, 0), new Point(0.68, 0.28), new Point(1, 1), step);\n }\n else {\n newStepValue += getTimeGivenProgression(new Point(0, 0), new Point(0.32, 0.72), new Point(0, 1), new Point(1, 1), step);\n }\n _this.ani.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);\n }\n });\n this.swipeHandlerChanged();\n return [2 /*return*/];\n }\n });\n });\n };\n class_3.prototype.componentWillLoad = function () {\n this.ionNavWillLoad.emit();\n };\n class_3.prototype.disconnectedCallback = function () {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n };\n /** @internal */\n class_3.prototype.commit = function (enteringEl, leavingEl, opts) {\n return __awaiter(this, void 0, void 0, function () {\n var unlock, changed, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.lock()];\n case 1:\n unlock = _a.sent();\n changed = false;\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, this.transition(enteringEl, leavingEl, opts)];\n case 3:\n changed = _a.sent();\n return [3 /*break*/, 5];\n case 4:\n e_1 = _a.sent();\n console.error(e_1);\n return [3 /*break*/, 5];\n case 5:\n unlock();\n return [2 /*return*/, changed];\n }\n });\n });\n };\n /** @internal */\n class_3.prototype.setRouteId = function (id, params, direction) {\n return __awaiter(this, void 0, void 0, function () {\n var changed;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.setRoot(id, params, {\n duration: direction === 'root' ? 0 : undefined,\n direction: direction === 'back' ? 'back' : 'forward',\n })];\n case 1:\n changed = _a.sent();\n return [2 /*return*/, {\n changed: changed,\n element: this.activeEl\n }];\n }\n });\n });\n };\n /** @internal */\n class_3.prototype.getRouteId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var active;\n return __generator(this, function (_a) {\n active = this.activeEl;\n return [2 /*return*/, active ? {\n id: active.tagName,\n element: active,\n } : undefined];\n });\n });\n };\n class_3.prototype.setRoot = function (component, params, opts) {\n return __awaiter(this, void 0, void 0, function () {\n var leavingEl, enteringEl;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.activeComponent === component) {\n return [2 /*return*/, false];\n }\n leavingEl = this.activeEl;\n return [4 /*yield*/, attachComponent(this.delegate, this.el, component, ['ion-page', 'ion-page-invisible'], params)];\n case 1:\n enteringEl = _a.sent();\n this.activeComponent = component;\n this.activeEl = enteringEl;\n // commit animation\n return [4 /*yield*/, this.commit(enteringEl, leavingEl, opts)];\n case 2:\n // commit animation\n _a.sent();\n return [4 /*yield*/, detachComponent(this.delegate, leavingEl)];\n case 3:\n _a.sent();\n return [2 /*return*/, true];\n }\n });\n });\n };\n class_3.prototype.transition = function (enteringEl, leavingEl, opts) {\n if (opts === void 0) { opts = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _a, el, mode, animated, animationBuilder;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (leavingEl === enteringEl) {\n return [2 /*return*/, false];\n }\n // emit nav will change event\n this.ionNavWillChange.emit();\n _a = this, el = _a.el, mode = _a.mode;\n animated = this.animated && config.getBoolean('animated', true);\n animationBuilder = this.animation || opts.animationBuilder || config.get('navAnimation');\n return [4 /*yield*/, transition(Object.assign({ mode: mode,\n animated: animated,\n animationBuilder: animationBuilder,\n enteringEl: enteringEl,\n leavingEl: leavingEl, baseEl: el, progressCallback: (opts.progressAnimation\n ? function (ani) { return _this.ani = ani; }\n : undefined) }, opts))];\n case 1:\n _b.sent();\n // emit nav changed event\n this.ionNavDidChange.emit();\n return [2 /*return*/, true];\n }\n });\n });\n };\n class_3.prototype.lock = function () {\n return __awaiter(this, void 0, void 0, function () {\n var p, resolve;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n p = this.waitPromise;\n this.waitPromise = new Promise(function (r) { return resolve = r; });\n if (!(p !== undefined)) return [3 /*break*/, 2];\n return [4 /*yield*/, p];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, resolve];\n }\n });\n });\n };\n class_3.prototype.render = function () {\n return (h(\"slot\", null));\n };\n Object.defineProperty(class_3.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_3, \"watchers\", {\n get: function () {\n return {\n \"swipeHandler\": [\"swipeHandlerChanged\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_3, \"style\", {\n get: function () { return \":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}\"; },\n enumerable: true,\n configurable: true\n });\n return class_3;\n}());\nvar ToolbarTitle = /** @class */ (function () {\n function ToolbarTitle(hostRef) {\n registerInstance(this, hostRef);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n }\n ToolbarTitle.prototype.sizeChanged = function () {\n this.emitStyle();\n };\n ToolbarTitle.prototype.connectedCallback = function () {\n this.emitStyle();\n };\n ToolbarTitle.prototype.emitStyle = function () {\n var _a;\n var size = this.getSize();\n this.ionStyle.emit((_a = {},\n _a[\"title-\" + size] = true,\n _a));\n };\n ToolbarTitle.prototype.getSize = function () {\n return (this.size !== undefined) ? this.size : 'default';\n };\n ToolbarTitle.prototype.getMode = function () {\n var mode = getIonMode(this);\n var toolbar = this.el.closest('ion-toolbar');\n return (toolbar && toolbar.mode) || mode;\n };\n ToolbarTitle.prototype.render = function () {\n var _a;\n var mode = this.getMode();\n var size = this.getSize();\n return (h(Host, { class: Object.assign((_a = {}, _a[mode] = true, _a[\"title-\" + mode] = true, _a[\"title-\" + size] = true, _a), createColorClasses(this.color)) }, h(\"div\", { class: \"toolbar-title\" }, h(\"slot\", null))));\n };\n Object.defineProperty(ToolbarTitle.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolbarTitle, \"watchers\", {\n get: function () {\n return {\n \"size\": [\"sizeChanged\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolbarTitle, \"style\", {\n get: function () { return \":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.title-ios.title-default),:host(.title-ios.title-large){left:0;top:0;padding-left:90px;padding-right:90px;padding-top:0;padding-bottom:0;position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:17px;font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host-context([dir=rtl]).title-ios.title-default,:host-context([dir=rtl]).title-ios.title-large,:host-context([dir=rtl]):host(.title-ios.title-default),:host-context([dir=rtl]):host(.title-ios.title-large){left:unset;right:unset;right:0}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host(.title-ios.title-default),:host(.title-ios.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px}}:host(.title-md){padding-left:20px;padding-right:20px;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;letter-spacing:.0125em}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host(.title-md){padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host(.title-ios.title-small){padding-left:9px;padding-right:9px;padding-top:6px;padding-bottom:16px;width:100%;height:100%;font-size:13px;text-align:center}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host(.title-ios.title-small){padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}:host(.title-md.title-small){width:100%;height:100%;font-size:15px;font-weight:400}:host(.title-ios.title-large){padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;bottom:0;-ms-flex-align:end;align-items:flex-end;min-width:100%;padding-bottom:6px;font-size:34px;font-weight:700;text-align:start}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host(.title-ios.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}\"; },\n enumerable: true,\n configurable: true\n });\n return ToolbarTitle;\n}());\nvar Toolbar = /** @class */ (function () {\n function Toolbar(hostRef) {\n registerInstance(this, hostRef);\n this.childrenStyles = new Map();\n }\n Toolbar.prototype.componentWillLoad = function () {\n var buttons = Array.from(this.el.querySelectorAll('ion-buttons'));\n var firstButtons = buttons.find(function (button) {\n return button.slot === 'start';\n });\n if (firstButtons) {\n firstButtons.classList.add('buttons-first-slot');\n }\n var buttonsReversed = buttons.reverse();\n var lastButtons = buttonsReversed.find(function (button) { return button.slot === 'end'; }) ||\n buttonsReversed.find(function (button) { return button.slot === 'primary'; }) ||\n buttonsReversed.find(function (button) { return button.slot === 'secondary'; });\n if (lastButtons) {\n lastButtons.classList.add('buttons-last-slot');\n }\n };\n Toolbar.prototype.childrenStyle = function (ev) {\n ev.stopPropagation();\n var tagName = ev.target.tagName;\n var updatedStyles = ev.detail;\n var newStyles = {};\n var childStyles = this.childrenStyles.get(tagName) || {};\n var hasStyleChange = false;\n Object.keys(updatedStyles).forEach(function (key) {\n var childKey = \"toolbar-\" + key;\n var newValue = updatedStyles[key];\n if (newValue !== childStyles[childKey]) {\n hasStyleChange = true;\n }\n if (newValue) {\n newStyles[childKey] = true;\n }\n });\n if (hasStyleChange) {\n this.childrenStyles.set(tagName, newStyles);\n this.el.forceUpdate();\n }\n };\n Toolbar.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n var childStyles = {};\n this.childrenStyles.forEach(function (value) {\n Object.assign(childStyles, value);\n });\n return (h(Host, { class: Object.assign(Object.assign((_a = { 'in-toolbar': hostContext('ion-toolbar', this.el) }, _a[mode] = true, _a), childStyles), createColorClasses(this.color)) }, h(\"div\", { class: \"toolbar-background\" }), h(\"div\", { class: \"toolbar-container\" }, h(\"slot\", { name: \"start\" }), h(\"slot\", { name: \"secondary\" }), h(\"div\", { class: \"toolbar-content\" }, h(\"slot\", null)), h(\"slot\", { name: \"primary\" }), h(\"slot\", { name: \"end\" }))));\n };\n Object.defineProperty(Toolbar.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Toolbar, \"style\", {\n get: function () { return \":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family,inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.toolbar-container{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.toolbar-background{top:0;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}.toolbar-background,::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background,var(--ion-background-color,#fff));--color:var(--ion-toolbar-color,var(--ion-text-color,#424242));--border-color:var(--ion-toolbar-border-color,var(--ion-border-color,var(--ion-color-step-150,#c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}\"; },\n enumerable: true,\n configurable: true\n });\n return Toolbar;\n}());\nexport { App as ion_app, Buttons as ion_buttons, Content as ion_content, Footer as ion_footer, Header as ion_header, RouterOutlet as ion_router_outlet, ToolbarTitle as ion_title, Toolbar as ion_toolbar };\n","/**\n * Based on:\n * https://stackoverflow.com/questions/7348009/y-coordinate-for-a-given-x-cubic-bezier\n * https://math.stackexchange.com/questions/26846/is-there-an-explicit-form-for-cubic-b%C3%A9zier-curves\n * TODO: Reduce rounding error\n */\nvar Point = /** @class */ (function () {\n function Point(x, y) {\n this.x = x;\n this.y = y;\n }\n return Point;\n}());\n/**\n * Given a cubic-bezier curve, get the x value (time) given\n * the y value (progression).\n * Ex: cubic-bezier(0.32, 0.72, 0, 1);\n * P0: (0, 0)\n * P1: (0.32, 0.72)\n * P2: (0, 1)\n * P3: (1, 1)\n *\n * If you give a cubic bezier curve that never reaches the\n * provided progression, this function will return NaN.\n */\nvar getTimeGivenProgression = function (p0, p1, p2, p3, progression) {\n var tValues = solveCubicBezier(p0.y, p1.y, p2.y, p3.y, progression);\n return solveCubicParametricEquation(p0.x, p1.x, p2.x, p3.x, tValues[0]); // TODO: Add better strategy for dealing with multiple solutions\n};\n/**\n * Solve a cubic equation in one dimension (time)\n */\nvar solveCubicParametricEquation = function (p0, p1, p2, p3, t) {\n var partA = (3 * p1) * Math.pow(t - 1, 2);\n var partB = (-3 * p2 * t) + (3 * p2) + (p3 * t);\n var partC = p0 * Math.pow(t - 1, 3);\n return t * (partA + (t * partB)) - partC;\n};\n/**\n * Find the `t` value for a cubic bezier using Cardano's formula\n */\nvar solveCubicBezier = function (p0, p1, p2, p3, refPoint) {\n p0 -= refPoint;\n p1 -= refPoint;\n p2 -= refPoint;\n p3 -= refPoint;\n var roots = solveCubicEquation(p3 - 3 * p2 + 3 * p1 - p0, 3 * p2 - 6 * p1 + 3 * p0, 3 * p1 - 3 * p0, p0);\n return roots.filter(function (root) { return root >= 0 && root <= 1; });\n};\nvar solveQuadraticEquation = function (a, b, c) {\n var discriminant = b * b - 4 * a * c;\n if (discriminant < 0) {\n return [];\n }\n else {\n return [\n (-b + Math.sqrt(discriminant)) / (2 * a),\n (-b - Math.sqrt(discriminant)) / (2 * a)\n ];\n }\n};\nvar solveCubicEquation = function (a, b, c, d) {\n if (a === 0) {\n return solveQuadraticEquation(b, c, d);\n }\n b /= a;\n c /= a;\n d /= a;\n var p = (3 * c - b * b) / 3;\n var q = (2 * b * b * b - 9 * b * c + 27 * d) / 27;\n if (p === 0) {\n return [Math.pow(-q, 1 / 3)];\n }\n else if (q === 0) {\n return [Math.sqrt(-p), -Math.sqrt(-p)];\n }\n var discriminant = Math.pow(q / 2, 2) + Math.pow(p / 3, 3);\n if (discriminant === 0) {\n return [Math.pow(q / 2, 1 / 2) - b / 3];\n }\n else if (discriminant > 0) {\n return [Math.pow(-(q / 2) + Math.sqrt(discriminant), 1 / 3) - Math.pow((q / 2) + Math.sqrt(discriminant), 1 / 3) - b / 3];\n }\n var r = Math.sqrt(Math.pow(-(p / 3), 3));\n var phi = Math.acos(-(q / (2 * Math.sqrt(Math.pow(-(p / 3), 3)))));\n var s = 2 * Math.pow(r, 1 / 3);\n return [\n s * Math.cos(phi / 3) - b / 3,\n s * Math.cos((phi + 2 * Math.PI) / 3) - b / 3,\n s * Math.cos((phi + 4 * Math.PI) / 3) - b / 3\n ];\n};\nexport { Point as P, getTimeGivenProgression as g };\n","import { __awaiter, __generator } from \"tslib\";\nvar attachComponent = function (delegate, container, component, cssClasses, componentProps) { return __awaiter(void 0, void 0, void 0, function () {\n var el;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (delegate) {\n return [2 /*return*/, delegate.attachViewToDom(container, component, componentProps, cssClasses)];\n }\n if (typeof component !== 'string' && !(component instanceof HTMLElement)) {\n throw new Error('framework delegate is missing');\n }\n el = (typeof component === 'string')\n ? container.ownerDocument && container.ownerDocument.createElement(component)\n : component;\n if (cssClasses) {\n cssClasses.forEach(function (c) { return el.classList.add(c); });\n }\n if (componentProps) {\n Object.assign(el, componentProps);\n }\n container.appendChild(el);\n if (!el.componentOnReady) return [3 /*break*/, 2];\n return [4 /*yield*/, el.componentOnReady()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, el];\n }\n });\n}); };\nvar detachComponent = function (delegate, element) {\n if (element) {\n if (delegate) {\n var container = element.parentElement;\n return delegate.removeViewFromDom(container, element);\n }\n element.remove();\n }\n return Promise.resolve();\n};\nexport { attachComponent as a, detachComponent as d };\n","import { __awaiter, __generator } from \"tslib\";\nimport { w as writeTask } from './core-feeeff0d.js';\nimport { b as LIFECYCLE_WILL_LEAVE, L as LIFECYCLE_WILL_ENTER, a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE } from './constants-3c3e1099.js';\nvar iosTransitionAnimation = function () { return import('./ios.transition-504cdd09.js'); };\nvar mdTransitionAnimation = function () { return import('./md.transition-fea2bbfb.js'); };\nvar transition = function (opts) {\n return new Promise(function (resolve, reject) {\n writeTask(function () {\n beforeTransition(opts);\n runTransition(opts).then(function (result) {\n if (result.animation) {\n result.animation.destroy();\n }\n afterTransition(opts);\n resolve(result);\n }, function (error) {\n afterTransition(opts);\n reject(error);\n });\n });\n });\n};\nvar beforeTransition = function (opts) {\n var enteringEl = opts.enteringEl;\n var leavingEl = opts.leavingEl;\n setZIndex(enteringEl, leavingEl, opts.direction);\n if (opts.showGoBack) {\n enteringEl.classList.add('can-go-back');\n }\n else {\n enteringEl.classList.remove('can-go-back');\n }\n setPageHidden(enteringEl, false);\n if (leavingEl) {\n setPageHidden(leavingEl, false);\n }\n};\nvar runTransition = function (opts) { return __awaiter(void 0, void 0, void 0, function () {\n var animationBuilder, ani;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, getAnimationBuilder(opts)];\n case 1:\n animationBuilder = _a.sent();\n ani = (animationBuilder)\n ? animation(animationBuilder, opts)\n : noAnimation(opts);\n return [2 /*return*/, ani];\n }\n });\n}); };\nvar afterTransition = function (opts) {\n var enteringEl = opts.enteringEl;\n var leavingEl = opts.leavingEl;\n enteringEl.classList.remove('ion-page-invisible');\n if (leavingEl !== undefined) {\n leavingEl.classList.remove('ion-page-invisible');\n }\n};\nvar getAnimationBuilder = function (opts) { return __awaiter(void 0, void 0, void 0, function () {\n var getAnimation, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!opts.leavingEl || !opts.animated || opts.duration === 0) {\n return [2 /*return*/, undefined];\n }\n if (opts.animationBuilder) {\n return [2 /*return*/, opts.animationBuilder];\n }\n if (!(opts.mode === 'ios')) return [3 /*break*/, 2];\n return [4 /*yield*/, iosTransitionAnimation()];\n case 1:\n _a = (_b.sent()).iosTransitionAnimation;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, mdTransitionAnimation()];\n case 3:\n _a = (_b.sent()).mdTransitionAnimation;\n _b.label = 4;\n case 4:\n getAnimation = _a;\n return [2 /*return*/, getAnimation];\n }\n });\n}); };\nvar animation = function (animationBuilder, opts) { return __awaiter(void 0, void 0, void 0, function () {\n var trans, mod, err_1, didComplete;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, waitForReady(opts, true)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 5, , 6]);\n return [4 /*yield*/, import('./index-69c37885.js')];\n case 3:\n mod = _a.sent();\n return [4 /*yield*/, mod.create(animationBuilder, opts.baseEl, opts)];\n case 4:\n trans = _a.sent();\n return [3 /*break*/, 6];\n case 5:\n err_1 = _a.sent();\n trans = animationBuilder(opts.baseEl, opts);\n return [3 /*break*/, 6];\n case 6:\n fireWillEvents(opts.enteringEl, opts.leavingEl);\n return [4 /*yield*/, playTransition(trans, opts)];\n case 7:\n didComplete = _a.sent();\n if (opts.progressCallback) {\n opts.progressCallback(undefined);\n }\n if (didComplete) {\n fireDidEvents(opts.enteringEl, opts.leavingEl);\n }\n return [2 /*return*/, {\n hasCompleted: didComplete,\n animation: trans\n }];\n }\n });\n}); };\nvar noAnimation = function (opts) { return __awaiter(void 0, void 0, void 0, function () {\n var enteringEl, leavingEl;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n enteringEl = opts.enteringEl;\n leavingEl = opts.leavingEl;\n return [4 /*yield*/, waitForReady(opts, false)];\n case 1:\n _a.sent();\n fireWillEvents(enteringEl, leavingEl);\n fireDidEvents(enteringEl, leavingEl);\n return [2 /*return*/, {\n hasCompleted: true\n }];\n }\n });\n}); };\nvar waitForReady = function (opts, defaultDeep) { return __awaiter(void 0, void 0, void 0, function () {\n var deep, promises;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n deep = opts.deepWait !== undefined ? opts.deepWait : defaultDeep;\n promises = deep ? [\n deepReady(opts.enteringEl),\n deepReady(opts.leavingEl),\n ] : [\n shallowReady(opts.enteringEl),\n shallowReady(opts.leavingEl),\n ];\n return [4 /*yield*/, Promise.all(promises)];\n case 1:\n _a.sent();\n return [4 /*yield*/, notifyViewReady(opts.viewIsReady, opts.enteringEl)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nvar notifyViewReady = function (viewIsReady, enteringEl) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!viewIsReady) return [3 /*break*/, 2];\n return [4 /*yield*/, viewIsReady(enteringEl)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n}); };\nvar playTransition = function (trans, opts) {\n var progressCallback = opts.progressCallback;\n // TODO: Remove AnimationBuilder\n var promise = new Promise(function (resolve) {\n trans.onFinish(function (currentStep) {\n if (typeof currentStep === 'number') {\n resolve(currentStep === 1);\n }\n else if (trans.hasCompleted !== undefined) {\n resolve(trans.hasCompleted);\n }\n });\n });\n // cool, let's do this, start the transition\n if (progressCallback) {\n // this is a swipe to go back, just get the transition progress ready\n // kick off the swipe animation start\n trans.progressStart(true);\n progressCallback(trans);\n }\n else {\n // only the top level transition should actually start \"play\"\n // kick it off and let it play through\n // ******** DOM WRITE ****************\n trans.play();\n }\n // create a callback for when the animation is done\n return promise;\n};\nvar fireWillEvents = function (enteringEl, leavingEl) {\n lifecycle(leavingEl, LIFECYCLE_WILL_LEAVE);\n lifecycle(enteringEl, LIFECYCLE_WILL_ENTER);\n};\nvar fireDidEvents = function (enteringEl, leavingEl) {\n lifecycle(enteringEl, LIFECYCLE_DID_ENTER);\n lifecycle(leavingEl, LIFECYCLE_DID_LEAVE);\n};\nvar lifecycle = function (el, eventName) {\n if (el) {\n var ev = new CustomEvent(eventName, {\n bubbles: false,\n cancelable: false,\n });\n el.dispatchEvent(ev);\n }\n};\nvar shallowReady = function (el) {\n if (el && el.componentOnReady) {\n return el.componentOnReady();\n }\n return Promise.resolve();\n};\nvar deepReady = function (el) { return __awaiter(void 0, void 0, void 0, function () {\n var element, stencilEl;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n element = el;\n if (!element) return [3 /*break*/, 4];\n if (!(element.componentOnReady != null)) return [3 /*break*/, 2];\n return [4 /*yield*/, element.componentOnReady()];\n case 1:\n stencilEl = _a.sent();\n if (stencilEl != null) {\n return [2 /*return*/];\n }\n _a.label = 2;\n case 2: return [4 /*yield*/, Promise.all(Array.from(element.children).map(deepReady))];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n}); };\nvar setPageHidden = function (el, hidden) {\n if (hidden) {\n el.setAttribute('aria-hidden', 'true');\n el.classList.add('ion-page-hidden');\n }\n else {\n el.hidden = false;\n el.removeAttribute('aria-hidden');\n el.classList.remove('ion-page-hidden');\n }\n};\nvar setZIndex = function (enteringEl, leavingEl, direction) {\n if (enteringEl !== undefined) {\n enteringEl.style.zIndex = (direction === 'back')\n ? '99'\n : '101';\n }\n if (leavingEl !== undefined) {\n leavingEl.style.zIndex = '100';\n }\n};\nvar getIonPageElement = function (element) {\n if (element.classList.contains('ion-page')) {\n return element;\n }\n var ionPage = element.querySelector(':scope > .ion-page, :scope > ion-nav, :scope > ion-tabs');\n if (ionPage) {\n return ionPage;\n }\n // idk, return the original element so at least something animates and we don't have a null pointer\n return element;\n};\nexport { deepReady as d, getIonPageElement as g, lifecycle as l, setPageHidden as s, transition as t };\n"],"sourceRoot":""}