Mini Shell

Direktori : /home/funerariamayer/app/
Upload File :
Current File : /home/funerariamayer/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