Mini Shell
Direktori : /home/funerariamayer/www/app/ |
|
Current File : /home/funerariamayer/www/app/node_modules_ionic_core_dist_esm_ion-nav_2_entry_js.js.map |
{"version":3,"file":"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js.js","mappings":"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","sources":["./node_modules/@ionic/core/dist/esm/ion-nav_2.entry.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as registerInstance, e as createEvent, h, i as getElement, H as Host } from './index-06cd27b1.js';\nimport { b as getIonMode, c as config } from './ionic-global-a049bcbf.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-154a53a5.js';\nimport { m as assert } from './helpers-eed79a2b.js';\nimport { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index-c8ef55b5.js';\nimport { a as attachComponent } from './framework-delegate-a922018c.js';\n\nconst VIEW_STATE_NEW = 1;\nconst VIEW_STATE_ATTACHED = 2;\nconst VIEW_STATE_DESTROYED = 3;\nclass ViewController {\n constructor(component, params) {\n this.component = component;\n this.params = params;\n this.state = VIEW_STATE_NEW;\n }\n async init(container) {\n this.state = VIEW_STATE_ATTACHED;\n if (!this.element) {\n const component = this.component;\n this.element = await attachComponent(this.delegate, container, component, ['ion-page', 'ion-page-invisible'], this.params);\n }\n }\n /**\n * DOM WRITE\n */\n _destroy() {\n assert(this.state !== VIEW_STATE_DESTROYED, 'view state must be ATTACHED');\n const element = this.element;\n if (element) {\n if (this.delegate) {\n this.delegate.removeViewFromDom(element.parentElement, element);\n }\n else {\n element.remove();\n }\n }\n this.nav = undefined;\n this.state = VIEW_STATE_DESTROYED;\n }\n}\nconst matches = (view, id, params) => {\n if (!view) {\n return false;\n }\n if (view.component !== id) {\n return false;\n }\n const currentParams = view.params;\n if (currentParams === params) {\n return true;\n }\n if (!currentParams && !params) {\n return true;\n }\n if (!currentParams || !params) {\n return false;\n }\n const keysA = Object.keys(currentParams);\n const keysB = Object.keys(params);\n if (keysA.length !== keysB.length) {\n return false;\n }\n // Test for A's keys different from B.\n for (const key of keysA) {\n if (currentParams[key] !== params[key]) {\n return false;\n }\n }\n return true;\n};\nconst convertToView = (page, params) => {\n if (!page) {\n return null;\n }\n if (page instanceof ViewController) {\n return page;\n }\n return new ViewController(page, params);\n};\nconst convertToViews = (pages) => {\n return pages.map(page => {\n if (page instanceof ViewController) {\n return page;\n }\n if ('component' in page) {\n /**\n * TODO Ionic 6:\n * Consider switching to just using `undefined` here\n * as well as on the public interfaces and on\n * `NavComponentWithProps`. Previously `pages` was\n * of type `any[]` so TypeScript did not catch this.\n */\n return convertToView(page.component, (page.componentProps === null) ? undefined : page.componentProps);\n }\n return convertToView(page, undefined);\n }).filter(v => v !== null);\n};\n\nconst navCss = \":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}\";\n\nlet Nav = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n this.ionNavWillChange = createEvent(this, \"ionNavWillChange\", 3);\n this.ionNavDidChange = createEvent(this, \"ionNavDidChange\", 3);\n this.transInstr = [];\n this.animationEnabled = true;\n this.useRouter = false;\n this.isTransitioning = false;\n this.destroyed = false;\n this.views = [];\n /**\n * If `true`, the nav should animate the transition of components.\n */\n this.animated = true;\n }\n swipeGestureChanged() {\n if (this.gesture) {\n this.gesture.enable(this.swipeGesture === true);\n }\n }\n rootChanged() {\n if (this.root !== undefined) {\n if (!this.useRouter) {\n this.setRoot(this.root, this.rootParams);\n }\n }\n }\n componentWillLoad() {\n this.useRouter =\n !!document.querySelector('ion-router') &&\n !this.el.closest('[no-router]');\n if (this.swipeGesture === undefined) {\n const mode = getIonMode(this);\n this.swipeGesture = config.getBoolean('swipeBackEnabled', mode === 'ios');\n }\n this.ionNavWillLoad.emit();\n }\n async componentDidLoad() {\n this.rootChanged();\n this.gesture = (await import('./swipe-back-edc455e2.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));\n this.swipeGestureChanged();\n }\n disconnectedCallback() {\n for (const view of this.views) {\n lifecycle(view.element, LIFECYCLE_WILL_UNLOAD);\n view._destroy();\n }\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n // release swipe back gesture and transition\n this.transInstr.length = this.views.length = 0;\n this.destroyed = true;\n }\n /**\n * Push a new component onto the current navigation stack. Pass any additional\n * information along as an object. This additional information is accessible\n * through NavParams.\n *\n * @param component The component to push onto the navigation stack.\n * @param componentProps Any properties of the component.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n push(component, componentProps, opts, done) {\n return this.queueTrns({\n insertStart: -1,\n insertViews: [{ component, componentProps }],\n opts\n }, done);\n }\n /**\n * Inserts a component into the navigation stack at the specified index.\n * This is useful to add a component at any point in the navigation stack.\n *\n * @param insertIndex The index to insert the component at in the stack.\n * @param component The component to insert into the navigation stack.\n * @param componentProps Any properties of the component.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n insert(insertIndex, component, componentProps, opts, done) {\n return this.queueTrns({\n insertStart: insertIndex,\n insertViews: [{ component, componentProps }],\n opts\n }, done);\n }\n /**\n * Inserts an array of components into the navigation stack at the specified index.\n * The last component in the array will become instantiated as a view, and animate\n * in to become the active view.\n *\n * @param insertIndex The index to insert the components at in the stack.\n * @param insertComponents The components to insert into the navigation stack.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n insertPages(insertIndex, insertComponents, opts, done) {\n return this.queueTrns({\n insertStart: insertIndex,\n insertViews: insertComponents,\n opts\n }, done);\n }\n /**\n * Pop a component off of the navigation stack. Navigates back from the current\n * component.\n *\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n pop(opts, done) {\n return this.queueTrns({\n removeStart: -1,\n removeCount: 1,\n opts\n }, done);\n }\n /**\n * Pop to a specific index in the navigation stack.\n *\n * @param indexOrViewCtrl The index or view controller to pop to.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n popTo(indexOrViewCtrl, opts, done) {\n const tiConfig = {\n removeStart: -1,\n removeCount: -1,\n opts\n };\n if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) {\n tiConfig.removeView = indexOrViewCtrl;\n tiConfig.removeStart = 1;\n }\n else if (typeof indexOrViewCtrl === 'number') {\n tiConfig.removeStart = indexOrViewCtrl + 1;\n }\n return this.queueTrns(tiConfig, done);\n }\n /**\n * Navigate back to the root of the stack, no matter how far back that is.\n *\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n popToRoot(opts, done) {\n return this.queueTrns({\n removeStart: 1,\n removeCount: -1,\n opts\n }, done);\n }\n /**\n * Removes a component from the navigation stack at the specified index.\n *\n * @param startIndex The number to begin removal at.\n * @param removeCount The number of components to remove.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n removeIndex(startIndex, removeCount = 1, opts, done) {\n return this.queueTrns({\n removeStart: startIndex,\n removeCount,\n opts\n }, done);\n }\n /**\n * Set the root for the current navigation stack to a component.\n *\n * @param component The component to set as the root of the navigation stack.\n * @param componentProps Any properties of the component.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n setRoot(component, componentProps, opts, done) {\n return this.setPages([{ component, componentProps }], opts, done);\n }\n /**\n * Set the views of the current navigation stack and navigate to the last view.\n * By default animations are disabled, but they can be enabled by passing options\n * to the navigation controller. Navigation parameters can also be passed to the\n * individual pages in the array.\n *\n * @param views The list of views to set as the navigation stack.\n * @param opts The navigation options.\n * @param done The transition complete function.\n */\n setPages(views, opts, done) {\n if (opts == null) {\n opts = {};\n }\n // if animation wasn't set to true then default it to NOT animate\n if (opts.animated !== true) {\n opts.animated = false;\n }\n return this.queueTrns({\n insertStart: 0,\n insertViews: views,\n removeStart: 0,\n removeCount: -1,\n opts\n }, done);\n }\n /** @internal */\n setRouteId(id, params, direction, animation) {\n const active = this.getActiveSync();\n if (matches(active, id, params)) {\n return Promise.resolve({\n changed: false,\n element: active.element\n });\n }\n let resolve;\n const promise = new Promise(r => (resolve = r));\n let finish;\n const commonOpts = {\n updateURL: false,\n viewIsReady: enteringEl => {\n let mark;\n const p = new Promise(r => (mark = r));\n resolve({\n changed: true,\n element: enteringEl,\n markVisible: async () => {\n mark();\n await finish;\n }\n });\n return p;\n }\n };\n if (direction === 'root') {\n finish = this.setRoot(id, params, commonOpts);\n }\n else {\n const viewController = this.views.find(v => matches(v, id, params));\n if (viewController) {\n finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));\n }\n else if (direction === 'forward') {\n finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));\n }\n else if (direction === 'back') {\n finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));\n }\n }\n return promise;\n }\n /** @internal */\n async getRouteId() {\n const active = this.getActiveSync();\n return active\n ? {\n id: active.element.tagName,\n params: active.params,\n element: active.element\n }\n : undefined;\n }\n /**\n * Get the active view.\n */\n getActive() {\n return Promise.resolve(this.getActiveSync());\n }\n /**\n * Get the view at the specified index.\n *\n * @param index The index of the view.\n */\n getByIndex(index) {\n return Promise.resolve(this.views[index]);\n }\n /**\n * Returns `true` if the current view can go back.\n *\n * @param view The view to check.\n */\n canGoBack(view) {\n return Promise.resolve(this.canGoBackSync(view));\n }\n /**\n * Get the previous view.\n *\n * @param view The view to get.\n */\n getPrevious(view) {\n return Promise.resolve(this.getPreviousSync(view));\n }\n getLength() {\n return this.views.length;\n }\n getActiveSync() {\n return this.views[this.views.length - 1];\n }\n canGoBackSync(view = this.getActiveSync()) {\n return !!(view && this.getPreviousSync(view));\n }\n getPreviousSync(view = this.getActiveSync()) {\n if (!view) {\n return undefined;\n }\n const views = this.views;\n const index = views.indexOf(view);\n return index > 0 ? views[index - 1] : undefined;\n }\n // _queueTrns() adds a navigation stack change to the queue and schedules it to run:\n // 1. _nextTrns(): consumes the next transition in the queue\n // 2. _viewInit(): initializes enteringView if required\n // 3. _viewTest(): ensures canLeave/canEnter Returns `true`, so the operation can continue\n // 4. _postViewInit(): add/remove the views from the navigation stack\n // 5. _transitionInit(): initializes the visual transition if required and schedules it to run\n // 6. _viewAttachToDOM(): attaches the enteringView to the DOM\n // 7. _transitionStart(): called once the transition actually starts, it initializes the Animation underneath.\n // 8. _transitionFinish(): called once the transition finishes\n // 9. _cleanup(): syncs the navigation internal state with the DOM. For example it removes the pages from the DOM or hides/show them.\n async queueTrns(ti, done) {\n if (this.isTransitioning && ti.opts != null && ti.opts.skipIfBusy) {\n return Promise.resolve(false);\n }\n const promise = new Promise((resolve, reject) => {\n ti.resolve = resolve;\n ti.reject = reject;\n });\n ti.done = done;\n /**\n * If using router, check to see if navigation hooks\n * will allow us to perform this transition. This\n * is required in order for hooks to work with\n * the ion-back-button or swipe to go back.\n */\n if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {\n const router = document.querySelector('ion-router');\n if (router) {\n const canTransition = await router.canTransition();\n if (canTransition === false) {\n return Promise.resolve(false);\n }\n else if (typeof canTransition === 'string') {\n router.push(canTransition, ti.opts.direction || 'back');\n return Promise.resolve(false);\n }\n }\n }\n // Normalize empty\n if (ti.insertViews && ti.insertViews.length === 0) {\n ti.insertViews = undefined;\n }\n // Enqueue transition instruction\n this.transInstr.push(ti);\n // if there isn't a transition already happening\n // then this will kick off this transition\n this.nextTrns();\n return promise;\n }\n success(result, ti) {\n if (this.destroyed) {\n this.fireError('nav controller was destroyed', ti);\n return;\n }\n if (ti.done) {\n ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);\n }\n ti.resolve(result.hasCompleted);\n if (ti.opts.updateURL !== false && this.useRouter) {\n const router = document.querySelector('ion-router');\n if (router) {\n const direction = result.direction === 'back' ? 'back' : 'forward';\n router.navChanged(direction);\n }\n }\n }\n failed(rejectReason, ti) {\n if (this.destroyed) {\n this.fireError('nav controller was destroyed', ti);\n return;\n }\n this.transInstr.length = 0;\n this.fireError(rejectReason, ti);\n }\n fireError(rejectReason, ti) {\n if (ti.done) {\n ti.done(false, false, rejectReason);\n }\n if (ti.reject && !this.destroyed) {\n ti.reject(rejectReason);\n }\n else {\n ti.resolve(false);\n }\n }\n nextTrns() {\n // this is the framework's bread 'n butta function\n // only one transition is allowed at any given time\n if (this.isTransitioning) {\n return false;\n }\n // there is no transition happening right now\n // get the next instruction\n const ti = this.transInstr.shift();\n if (!ti) {\n return false;\n }\n this.runTransition(ti);\n return true;\n }\n async runTransition(ti) {\n try {\n // set that this nav is actively transitioning\n this.ionNavWillChange.emit();\n this.isTransitioning = true;\n this.prepareTI(ti);\n const leavingView = this.getActiveSync();\n const enteringView = this.getEnteringView(ti, leavingView);\n if (!leavingView && !enteringView) {\n throw new Error('no views in the stack to be removed');\n }\n if (enteringView && enteringView.state === VIEW_STATE_NEW) {\n await enteringView.init(this.el);\n }\n this.postViewInit(enteringView, leavingView, ti);\n // Needs transition?\n const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) &&\n enteringView !== leavingView;\n if (requiresTransition && ti.opts && leavingView) {\n const isBackDirection = ti.opts.direction === 'back';\n /**\n * If heading back, use the entering page's animation\n * unless otherwise specified by the developer.\n */\n if (isBackDirection) {\n ti.opts.animationBuilder = ti.opts.animationBuilder || (enteringView && enteringView.animationBuilder);\n }\n leavingView.animationBuilder = ti.opts.animationBuilder;\n }\n const result = requiresTransition\n ? await this.transition(enteringView, leavingView, ti)\n : {\n // transition is not required, so we are already done!\n // they're inserting/removing the views somewhere in the middle or\n // beginning, so visually nothing needs to animate/transition\n // resolve immediately because there's no animation that's happening\n hasCompleted: true,\n requiresTransition: false\n };\n this.success(result, ti);\n this.ionNavDidChange.emit();\n }\n catch (rejectReason) {\n this.failed(rejectReason, ti);\n }\n this.isTransitioning = false;\n this.nextTrns();\n }\n prepareTI(ti) {\n const viewsLength = this.views.length;\n ti.opts = ti.opts || {};\n if (ti.opts.delegate === undefined) {\n ti.opts.delegate = this.delegate;\n }\n if (ti.removeView !== undefined) {\n assert(ti.removeStart !== undefined, 'removeView needs removeStart');\n assert(ti.removeCount !== undefined, 'removeView needs removeCount');\n const index = this.views.indexOf(ti.removeView);\n if (index < 0) {\n throw new Error('removeView was not found');\n }\n ti.removeStart += index;\n }\n if (ti.removeStart !== undefined) {\n if (ti.removeStart < 0) {\n ti.removeStart = viewsLength - 1;\n }\n if (ti.removeCount < 0) {\n ti.removeCount = viewsLength - ti.removeStart;\n }\n ti.leavingRequiresTransition =\n ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;\n }\n if (ti.insertViews) {\n // allow -1 to be passed in to auto push it on the end\n // and clean up the index if it's larger then the size of the stack\n if (ti.insertStart < 0 || ti.insertStart > viewsLength) {\n ti.insertStart = viewsLength;\n }\n ti.enteringRequiresTransition = ti.insertStart === viewsLength;\n }\n const insertViews = ti.insertViews;\n if (!insertViews) {\n return;\n }\n assert(insertViews.length > 0, 'length can not be zero');\n const viewControllers = convertToViews(insertViews);\n if (viewControllers.length === 0) {\n throw new Error('invalid views to insert');\n }\n // Check all the inserted view are correct\n for (const view of viewControllers) {\n view.delegate = ti.opts.delegate;\n const nav = view.nav;\n if (nav && nav !== this) {\n throw new Error('inserted view was already inserted');\n }\n if (view.state === VIEW_STATE_DESTROYED) {\n throw new Error('inserted view was already destroyed');\n }\n }\n ti.insertViews = viewControllers;\n }\n getEnteringView(ti, leavingView) {\n const insertViews = ti.insertViews;\n if (insertViews !== undefined) {\n // grab the very last view of the views to be inserted\n // and initialize it as the new entering view\n return insertViews[insertViews.length - 1];\n }\n const removeStart = ti.removeStart;\n if (removeStart !== undefined) {\n const views = this.views;\n const removeEnd = removeStart + ti.removeCount;\n for (let i = views.length - 1; i >= 0; i--) {\n const view = views[i];\n if ((i < removeStart || i >= removeEnd) && view !== leavingView) {\n return view;\n }\n }\n }\n return undefined;\n }\n postViewInit(enteringView, leavingView, ti) {\n assert(leavingView || enteringView, 'Both leavingView and enteringView are null');\n assert(ti.resolve, 'resolve must be valid');\n assert(ti.reject, 'reject must be valid');\n const opts = ti.opts;\n const insertViews = ti.insertViews;\n const removeStart = ti.removeStart;\n const removeCount = ti.removeCount;\n let destroyQueue;\n // there are views to remove\n if (removeStart !== undefined && removeCount !== undefined) {\n assert(removeStart >= 0, 'removeStart can not be negative');\n assert(removeCount >= 0, 'removeCount can not be negative');\n destroyQueue = [];\n for (let i = 0; i < removeCount; i++) {\n const view = this.views[i + removeStart];\n if (view && view !== enteringView && view !== leavingView) {\n destroyQueue.push(view);\n }\n }\n // default the direction to \"back\"\n opts.direction = opts.direction || 'back';\n }\n const finalBalance = this.views.length +\n (insertViews !== undefined ? insertViews.length : 0) -\n (removeCount !== undefined ? removeCount : 0);\n assert(finalBalance >= 0, 'final balance can not be negative');\n if (finalBalance === 0) {\n console.warn(`You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el);\n throw new Error('navigation stack needs at least one root page');\n }\n // At this point the transition can not be rejected, any throw should be an error\n // there are views to insert\n if (insertViews) {\n // add the views to the\n let insertIndex = ti.insertStart;\n for (const view of insertViews) {\n this.insertViewAt(view, insertIndex);\n insertIndex++;\n }\n if (ti.enteringRequiresTransition) {\n // default to forward if not already set\n opts.direction = opts.direction || 'forward';\n }\n }\n // if the views to be removed are in the beginning or middle\n // and there is not a view that needs to visually transition out\n // then just destroy them and don't transition anything\n // batch all of lifecycles together\n // let's make sure, callbacks are zoned\n if (destroyQueue && destroyQueue.length > 0) {\n for (const view of destroyQueue) {\n lifecycle(view.element, LIFECYCLE_WILL_LEAVE);\n lifecycle(view.element, LIFECYCLE_DID_LEAVE);\n lifecycle(view.element, LIFECYCLE_WILL_UNLOAD);\n }\n // once all lifecycle events has been delivered, we can safely detroy the views\n for (const view of destroyQueue) {\n this.destroyView(view);\n }\n }\n }\n async transition(enteringView, leavingView, ti) {\n // we should animate (duration > 0) if the pushed page is not the first one (startup)\n // or if it is a portal (modal, actionsheet, etc.)\n const opts = ti.opts;\n const progressCallback = opts.progressAnimation\n ? (ani) => this.sbAni = ani\n : undefined;\n const mode = getIonMode(this);\n const enteringEl = enteringView.element;\n const leavingEl = leavingView && leavingView.element;\n const animationOpts = Object.assign(Object.assign({ mode, showGoBack: this.canGoBackSync(enteringView), baseEl: this.el, progressCallback, animated: this.animated && config.getBoolean('animated', true), enteringEl,\n leavingEl }, opts), { animationBuilder: opts.animationBuilder || this.animation || config.get('navAnimation') });\n const { hasCompleted } = await transition(animationOpts);\n return this.transitionFinish(hasCompleted, enteringView, leavingView, opts);\n }\n transitionFinish(hasCompleted, enteringView, leavingView, opts) {\n const cleanupView = hasCompleted ? enteringView : leavingView;\n if (cleanupView) {\n this.cleanup(cleanupView);\n }\n return {\n hasCompleted,\n requiresTransition: true,\n enteringView,\n leavingView,\n direction: opts.direction\n };\n }\n insertViewAt(view, index) {\n const views = this.views;\n const existingIndex = views.indexOf(view);\n if (existingIndex > -1) {\n // this view is already in the stack!!\n // move it to its new location\n assert(view.nav === this, 'view is not part of the nav');\n views.splice(index, 0, views.splice(existingIndex, 1)[0]);\n }\n else {\n assert(!view.nav, 'nav is used');\n // this is a new view to add to the stack\n // create the new entering view\n view.nav = this;\n // insert the entering view into the correct index in the stack\n views.splice(index, 0, view);\n }\n }\n removeView(view) {\n assert(view.state === VIEW_STATE_ATTACHED || view.state === VIEW_STATE_DESTROYED, 'view state should be loaded or destroyed');\n const views = this.views;\n const index = views.indexOf(view);\n assert(index > -1, 'view must be part of the stack');\n if (index >= 0) {\n views.splice(index, 1);\n }\n }\n destroyView(view) {\n view._destroy();\n this.removeView(view);\n }\n /**\n * DOM WRITE\n */\n cleanup(activeView) {\n // ok, cleanup time!! Destroy all of the views that are\n // INACTIVE and come after the active view\n // only do this if the views exist, though\n if (this.destroyed) {\n return;\n }\n const views = this.views;\n const activeViewIndex = views.indexOf(activeView);\n for (let i = views.length - 1; i >= 0; i--) {\n const view = views[i];\n /**\n * When inserting multiple views via insertPages\n * the last page will be transitioned to, but the\n * others will not be. As a result, a DOM element\n * will only be created for the last page inserted.\n * As a result, it is possible to have views in the\n * stack that do not have `view.element` yet.\n */\n const element = view.element;\n if (element) {\n if (i > activeViewIndex) {\n // this view comes after the active view\n // let's unload it\n lifecycle(element, LIFECYCLE_WILL_UNLOAD);\n this.destroyView(view);\n }\n else if (i < activeViewIndex) {\n // this view comes before the active view\n // and it is not a portal then ensure it is hidden\n setPageHidden(element, true);\n }\n }\n }\n }\n canStart() {\n return (!!this.swipeGesture &&\n !this.isTransitioning &&\n this.transInstr.length === 0 &&\n this.animationEnabled &&\n this.canGoBackSync());\n }\n onStart() {\n this.queueTrns({\n removeStart: -1,\n removeCount: 1,\n opts: {\n direction: 'back',\n progressAnimation: true\n }\n }, undefined);\n }\n onMove(stepValue) {\n if (this.sbAni) {\n this.sbAni.progressStep(stepValue);\n }\n }\n onEnd(shouldComplete, stepValue, dur) {\n if (this.sbAni) {\n this.animationEnabled = false;\n this.sbAni.onFinish(() => {\n this.animationEnabled = true;\n }, { oneTimeCallback: true });\n // Account for rounding errors in JS\n let 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.sbAni.easing('cubic-bezier(1, 0, 0.68, 0.28)');\n newStepValue += getTimeGivenProgression([0, 0], [1, 0], [0.68, 0.28], [1, 1], stepValue)[0];\n }\n else {\n newStepValue += getTimeGivenProgression([0, 0], [0.32, 0.72], [0, 1], [1, 1], stepValue)[0];\n }\n this.sbAni.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);\n }\n }\n render() {\n return (h(\"slot\", null));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"swipeGesture\": [\"swipeGestureChanged\"],\n \"root\": [\"rootChanged\"]\n }; }\n};\nNav.style = navCss;\n\nconst navLink = (el, routerDirection, component, componentProps, routerAnimation) => {\n const nav = el.closest('ion-nav');\n if (nav) {\n if (routerDirection === 'forward') {\n if (component !== undefined) {\n return nav.push(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation });\n }\n }\n else if (routerDirection === 'root') {\n if (component !== undefined) {\n return nav.setRoot(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation });\n }\n }\n else if (routerDirection === 'back') {\n return nav.pop({ skipIfBusy: true, animationBuilder: routerAnimation });\n }\n }\n return Promise.resolve(false);\n};\n\nlet NavLink = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * The transition direction when navigating to another page.\n */\n this.routerDirection = 'forward';\n this.onClick = () => {\n return navLink(this.el, this.routerDirection, this.component, this.componentProps, this.routerAnimation);\n };\n }\n render() {\n return (h(Host, { onClick: this.onClick }));\n }\n get el() { return getElement(this); }\n};\n\nexport { Nav as ion_nav, NavLink as ion_nav_link };\n"],"names":["r","registerInstance","e","createEvent","h","i","getElement","H","Host","b","getIonMode","c","config","g","getTimeGivenProgression","m","assert","l","lifecycle","t","transition","s","setPageHidden","d","LIFECYCLE_WILL_UNLOAD","LIFECYCLE_WILL_LEAVE","LIFECYCLE_DID_LEAVE","a","attachComponent","VIEW_STATE_NEW","VIEW_STATE_ATTACHED","VIEW_STATE_DESTROYED","ViewController","constructor","component","params","state","init","container","element","delegate","_destroy","removeViewFromDom","parentElement","remove","nav","undefined","matches","view","id","currentParams","keysA","Object","keys","keysB","length","key","convertToView","page","convertToViews","pages","map","componentProps","filter","v","navCss","Nav","hostRef","ionNavWillLoad","ionNavWillChange","ionNavDidChange","transInstr","animationEnabled","useRouter","isTransitioning","destroyed","views","animated","swipeGestureChanged","gesture","enable","swipeGesture","rootChanged","root","setRoot","rootParams","componentWillLoad","document","querySelector","el","closest","mode","getBoolean","emit","componentDidLoad","createSwipeBackGesture","canStart","bind","onStart","onMove","onEnd","disconnectedCallback","destroy","push","opts","done","queueTrns","insertStart","insertViews","insert","insertIndex","insertPages","insertComponents","pop","removeStart","removeCount","popTo","indexOrViewCtrl","tiConfig","removeView","popToRoot","removeIndex","startIndex","setPages","setRouteId","direction","animation","active","getActiveSync","Promise","resolve","changed","promise","finish","commonOpts","updateURL","viewIsReady","enteringEl","mark","p","markVisible","viewController","find","assign","animationBuilder","getRouteId","tagName","getActive","getByIndex","index","canGoBack","canGoBackSync","getPrevious","getPreviousSync","getLength","indexOf","ti","skipIfBusy","reject","router","canTransition","nextTrns","success","result","fireError","hasCompleted","requiresTransition","enteringView","leavingView","navChanged","failed","rejectReason","shift","runTransition","prepareTI","getEnteringView","Error","postViewInit","enteringRequiresTransition","leavingRequiresTransition","isBackDirection","viewsLength","viewControllers","removeEnd","destroyQueue","finalBalance","console","warn","insertViewAt","destroyView","progressCallback","progressAnimation","ani","sbAni","leavingEl","animationOpts","showGoBack","baseEl","get","transitionFinish","cleanupView","cleanup","existingIndex","splice","activeView","activeViewIndex","stepValue","progressStep","shouldComplete","dur","onFinish","oneTimeCallback","newStepValue","easing","progressEnd","render","watchers","style","navLink","routerDirection","routerAnimation","NavLink","onClick","ion_nav","ion_nav_link"],"sourceRoot":"webpack:///"}
Zerion Mini Shell 1.0