{"ast":null,"code":"import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, e as createEvent, h, i as getElement, H as Host } from \"./index-7a8b7a1c.js\";\nimport { b as getIonMode, c as config } from \"./ionic-global-63a97a32.js\";\nimport { g as getTimeGivenProgression } from \"./cubic-bezier-eea9a7a9.js\";\nimport { l as assert } from \"./helpers-dd7e4b7b.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-931440b1.js\";\nimport { a as attachComponent } from \"./framework-delegate-4392cd63.js\";\nvar VIEW_STATE_NEW = 1;\nvar VIEW_STATE_ATTACHED = 2;\nvar VIEW_STATE_DESTROYED = 3;\n\nvar ViewController = function () {\n  function e(e, t) {\n    this.component = e;\n    this.params = t;\n    this.state = VIEW_STATE_NEW;\n  }\n\n  e.prototype.init = function (e) {\n    return __awaiter(this, void 0, void 0, function () {\n      var t, n;\n      return __generator(this, function (i) {\n        switch (i.label) {\n          case 0:\n            this.state = VIEW_STATE_ATTACHED;\n            if (!!this.element) return [3, 2];\n            t = this.component;\n            n = this;\n            return [4, attachComponent(this.delegate, e, t, [\"ion-page\", \"ion-page-invisible\"], this.params)];\n\n          case 1:\n            n.element = i.sent();\n            i.label = 2;\n\n          case 2:\n            return [2];\n        }\n      });\n    });\n  };\n\n  e.prototype._destroy = function () {\n    assert(this.state !== VIEW_STATE_DESTROYED, \"view state must be ATTACHED\");\n    var e = this.element;\n\n    if (e) {\n      if (this.delegate) {\n        this.delegate.removeViewFromDom(e.parentElement, e);\n      } else {\n        e.remove();\n      }\n    }\n\n    this.nav = undefined;\n    this.state = VIEW_STATE_DESTROYED;\n  };\n\n  return e;\n}();\n\nvar matches = function (e, t, n) {\n  if (!e) {\n    return false;\n  }\n\n  if (e.component !== t) {\n    return false;\n  }\n\n  var i = e.params;\n\n  if (i === n) {\n    return true;\n  }\n\n  if (!i && !n) {\n    return true;\n  }\n\n  if (!i || !n) {\n    return false;\n  }\n\n  var r = Object.keys(i);\n  var o = Object.keys(n);\n\n  if (r.length !== o.length) {\n    return false;\n  }\n\n  for (var s = 0, a = r; s < a.length; s++) {\n    var u = a[s];\n\n    if (i[u] !== n[u]) {\n      return false;\n    }\n  }\n\n  return true;\n};\n\nvar convertToView = function (e, t) {\n  if (!e) {\n    return null;\n  }\n\n  if (e instanceof ViewController) {\n    return e;\n  }\n\n  return new ViewController(e, t);\n};\n\nvar convertToViews = function (e) {\n  return e.map(function (e) {\n    if (e instanceof ViewController) {\n      return e;\n    }\n\n    if (\"component\" in e) {\n      return convertToView(e.component, e.componentProps === null ? undefined : e.componentProps);\n    }\n\n    return convertToView(e, undefined);\n  }).filter(function (e) {\n    return e !== null;\n  });\n};\n\nvar navCss = \":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}\";\n\nvar Nav = function () {\n  function e(e) {\n    registerInstance(this, e);\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    this.animated = true;\n  }\n\n  e.prototype.swipeGestureChanged = function () {\n    if (this.gesture) {\n      this.gesture.enable(this.swipeGesture === true);\n    }\n  };\n\n  e.prototype.rootChanged = function () {\n    if (this.root !== undefined) {\n      if (!this.useRouter) {\n        this.setRoot(this.root, this.rootParams);\n      }\n    }\n  };\n\n  e.prototype.componentWillLoad = function () {\n    this.useRouter = !!document.querySelector(\"ion-router\") && !this.el.closest(\"[no-router]\");\n\n    if (this.swipeGesture === undefined) {\n      var e = getIonMode(this);\n      this.swipeGesture = config.getBoolean(\"swipeBackEnabled\", e === \"ios\");\n    }\n\n    this.ionNavWillLoad.emit();\n  };\n\n  e.prototype.componentDidLoad = function () {\n    return __awaiter(this, void 0, void 0, function () {\n      var e;\n      return __generator(this, function (t) {\n        switch (t.label) {\n          case 0:\n            this.rootChanged();\n            e = this;\n            return [4, import(\"./swipe-back-ee838cf8.js\")];\n\n          case 1:\n            e.gesture = t.sent().createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));\n            this.swipeGestureChanged();\n            return [2];\n        }\n      });\n    });\n  };\n\n  e.prototype.disconnectedCallback = function () {\n    for (var e = 0, t = this.views; e < t.length; e++) {\n      var n = t[e];\n      lifecycle(n.element, LIFECYCLE_WILL_UNLOAD);\n\n      n._destroy();\n    }\n\n    if (this.gesture) {\n      this.gesture.destroy();\n      this.gesture = undefined;\n    }\n\n    this.transInstr.length = this.views.length = 0;\n    this.destroyed = true;\n  };\n\n  e.prototype.push = function (e, t, n, i) {\n    return this.queueTrns({\n      insertStart: -1,\n      insertViews: [{\n        component: e,\n        componentProps: t\n      }],\n      opts: n\n    }, i);\n  };\n\n  e.prototype.insert = function (e, t, n, i, r) {\n    return this.queueTrns({\n      insertStart: e,\n      insertViews: [{\n        component: t,\n        componentProps: n\n      }],\n      opts: i\n    }, r);\n  };\n\n  e.prototype.insertPages = function (e, t, n, i) {\n    return this.queueTrns({\n      insertStart: e,\n      insertViews: t,\n      opts: n\n    }, i);\n  };\n\n  e.prototype.pop = function (e, t) {\n    return this.queueTrns({\n      removeStart: -1,\n      removeCount: 1,\n      opts: e\n    }, t);\n  };\n\n  e.prototype.popTo = function (e, t, n) {\n    var i = {\n      removeStart: -1,\n      removeCount: -1,\n      opts: t\n    };\n\n    if (typeof e === \"object\" && e.component) {\n      i.removeView = e;\n      i.removeStart = 1;\n    } else if (typeof e === \"number\") {\n      i.removeStart = e + 1;\n    }\n\n    return this.queueTrns(i, n);\n  };\n\n  e.prototype.popToRoot = function (e, t) {\n    return this.queueTrns({\n      removeStart: 1,\n      removeCount: -1,\n      opts: e\n    }, t);\n  };\n\n  e.prototype.removeIndex = function (e, t, n, i) {\n    if (t === void 0) {\n      t = 1;\n    }\n\n    return this.queueTrns({\n      removeStart: e,\n      removeCount: t,\n      opts: n\n    }, i);\n  };\n\n  e.prototype.setRoot = function (e, t, n, i) {\n    return this.setPages([{\n      component: e,\n      componentProps: t\n    }], n, i);\n  };\n\n  e.prototype.setPages = function (e, t, n) {\n    if (t == null) {\n      t = {};\n    }\n\n    if (t.animated !== true) {\n      t.animated = false;\n    }\n\n    return this.queueTrns({\n      insertStart: 0,\n      insertViews: e,\n      removeStart: 0,\n      removeCount: -1,\n      opts: t\n    }, n);\n  };\n\n  e.prototype.setRouteId = function (e, t, n, i) {\n    var r = this;\n    var o = this.getActiveSync();\n\n    if (matches(o, e, t)) {\n      return Promise.resolve({\n        changed: false,\n        element: o.element\n      });\n    }\n\n    var s;\n    var a = new Promise(function (e) {\n      return s = e;\n    });\n    var u;\n    var c = {\n      updateURL: false,\n      viewIsReady: function (e) {\n        var t;\n        var n = new Promise(function (e) {\n          return t = e;\n        });\n        s({\n          changed: true,\n          element: e,\n          markVisible: function () {\n            return __awaiter(r, void 0, void 0, function () {\n              return __generator(this, function (e) {\n                switch (e.label) {\n                  case 0:\n                    t();\n                    return [4, u];\n\n                  case 1:\n                    e.sent();\n                    return [2];\n                }\n              });\n            });\n          }\n        });\n        return n;\n      }\n    };\n\n    if (n === \"root\") {\n      u = this.setRoot(e, t, c);\n    } else {\n      var f = this.views.find(function (n) {\n        return matches(n, e, t);\n      });\n\n      if (f) {\n        u = this.popTo(f, Object.assign(Object.assign({}, c), {\n          direction: \"back\",\n          animationBuilder: i\n        }));\n      } else if (n === \"forward\") {\n        u = this.push(e, t, Object.assign(Object.assign({}, c), {\n          animationBuilder: i\n        }));\n      } else if (n === \"back\") {\n        u = this.setRoot(e, t, Object.assign(Object.assign({}, c), {\n          direction: \"back\",\n          animated: true,\n          animationBuilder: i\n        }));\n      }\n    }\n\n    return a;\n  };\n\n  e.prototype.getRouteId = function () {\n    return __awaiter(this, void 0, void 0, function () {\n      var e;\n      return __generator(this, function (t) {\n        e = this.getActiveSync();\n        return [2, e ? {\n          id: e.element.tagName,\n          params: e.params,\n          element: e.element\n        } : undefined];\n      });\n    });\n  };\n\n  e.prototype.getActive = function () {\n    return Promise.resolve(this.getActiveSync());\n  };\n\n  e.prototype.getByIndex = function (e) {\n    return Promise.resolve(this.views[e]);\n  };\n\n  e.prototype.canGoBack = function (e) {\n    return Promise.resolve(this.canGoBackSync(e));\n  };\n\n  e.prototype.getPrevious = function (e) {\n    return Promise.resolve(this.getPreviousSync(e));\n  };\n\n  e.prototype.getLength = function () {\n    return this.views.length;\n  };\n\n  e.prototype.getActiveSync = function () {\n    return this.views[this.views.length - 1];\n  };\n\n  e.prototype.canGoBackSync = function (e) {\n    if (e === void 0) {\n      e = this.getActiveSync();\n    }\n\n    return !!(e && this.getPreviousSync(e));\n  };\n\n  e.prototype.getPreviousSync = function (e) {\n    if (e === void 0) {\n      e = this.getActiveSync();\n    }\n\n    if (!e) {\n      return undefined;\n    }\n\n    var t = this.views;\n    var n = t.indexOf(e);\n    return n > 0 ? t[n - 1] : undefined;\n  };\n\n  e.prototype.queueTrns = function (e, t) {\n    return __awaiter(this, void 0, void 0, function () {\n      var n, i, r;\n      return __generator(this, function (o) {\n        switch (o.label) {\n          case 0:\n            if (this.isTransitioning && e.opts != null && e.opts.skipIfBusy) {\n              return [2, Promise.resolve(false)];\n            }\n\n            n = new Promise(function (t, n) {\n              e.resolve = t;\n              e.reject = n;\n            });\n            e.done = t;\n            if (!(e.opts && e.opts.updateURL !== false && this.useRouter)) return [3, 2];\n            i = document.querySelector(\"ion-router\");\n            if (!i) return [3, 2];\n            return [4, i.canTransition()];\n\n          case 1:\n            r = o.sent();\n\n            if (r === false) {\n              return [2, Promise.resolve(false)];\n            } else if (typeof r === \"string\") {\n              i.push(r, e.opts.direction || \"back\");\n              return [2, Promise.resolve(false)];\n            }\n\n            o.label = 2;\n\n          case 2:\n            if (e.insertViews && e.insertViews.length === 0) {\n              e.insertViews = undefined;\n            }\n\n            this.transInstr.push(e);\n            this.nextTrns();\n            return [2, n];\n        }\n      });\n    });\n  };\n\n  e.prototype.success = function (e, t) {\n    if (this.destroyed) {\n      this.fireError(\"nav controller was destroyed\", t);\n      return;\n    }\n\n    if (t.done) {\n      t.done(e.hasCompleted, e.requiresTransition, e.enteringView, e.leavingView, e.direction);\n    }\n\n    t.resolve(e.hasCompleted);\n\n    if (t.opts.updateURL !== false && this.useRouter) {\n      var n = document.querySelector(\"ion-router\");\n\n      if (n) {\n        var i = e.direction === \"back\" ? \"back\" : \"forward\";\n        n.navChanged(i);\n      }\n    }\n  };\n\n  e.prototype.failed = function (e, t) {\n    if (this.destroyed) {\n      this.fireError(\"nav controller was destroyed\", t);\n      return;\n    }\n\n    this.transInstr.length = 0;\n    this.fireError(e, t);\n  };\n\n  e.prototype.fireError = function (e, t) {\n    if (t.done) {\n      t.done(false, false, e);\n    }\n\n    if (t.reject && !this.destroyed) {\n      t.reject(e);\n    } else {\n      t.resolve(false);\n    }\n  };\n\n  e.prototype.nextTrns = function () {\n    if (this.isTransitioning) {\n      return false;\n    }\n\n    var e = this.transInstr.shift();\n\n    if (!e) {\n      return false;\n    }\n\n    this.runTransition(e);\n    return true;\n  };\n\n  e.prototype.runTransition = function (e) {\n    return __awaiter(this, void 0, void 0, function () {\n      var t, n, i, r, o, s, a;\n      return __generator(this, function (u) {\n        switch (u.label) {\n          case 0:\n            u.trys.push([0, 6,, 7]);\n            this.ionNavWillChange.emit();\n            this.isTransitioning = true;\n            this.prepareTI(e);\n            t = this.getActiveSync();\n            n = this.getEnteringView(e, t);\n\n            if (!t && !n) {\n              throw new Error(\"no views in the stack to be removed\");\n            }\n\n            if (!(n && n.state === VIEW_STATE_NEW)) return [3, 2];\n            return [4, n.init(this.el)];\n\n          case 1:\n            u.sent();\n            u.label = 2;\n\n          case 2:\n            this.postViewInit(n, t, e);\n            i = (e.enteringRequiresTransition || e.leavingRequiresTransition) && n !== t;\n\n            if (i && e.opts && t) {\n              r = e.opts.direction === \"back\";\n\n              if (r) {\n                e.opts.animationBuilder = e.opts.animationBuilder || n && n.animationBuilder;\n              }\n\n              t.animationBuilder = e.opts.animationBuilder;\n            }\n\n            if (!i) return [3, 4];\n            return [4, this.transition(n, t, e)];\n\n          case 3:\n            s = u.sent();\n            return [3, 5];\n\n          case 4:\n            s = {\n              hasCompleted: true,\n              requiresTransition: false\n            };\n            u.label = 5;\n\n          case 5:\n            o = s;\n            this.success(o, e);\n            this.ionNavDidChange.emit();\n            return [3, 7];\n\n          case 6:\n            a = u.sent();\n            this.failed(a, e);\n            return [3, 7];\n\n          case 7:\n            this.isTransitioning = false;\n            this.nextTrns();\n            return [2];\n        }\n      });\n    });\n  };\n\n  e.prototype.prepareTI = function (e) {\n    var t = this.views.length;\n    e.opts = e.opts || {};\n\n    if (e.opts.delegate === undefined) {\n      e.opts.delegate = this.delegate;\n    }\n\n    if (e.removeView !== undefined) {\n      assert(e.removeStart !== undefined, \"removeView needs removeStart\");\n      assert(e.removeCount !== undefined, \"removeView needs removeCount\");\n      var n = this.views.indexOf(e.removeView);\n\n      if (n < 0) {\n        throw new Error(\"removeView was not found\");\n      }\n\n      e.removeStart += n;\n    }\n\n    if (e.removeStart !== undefined) {\n      if (e.removeStart < 0) {\n        e.removeStart = t - 1;\n      }\n\n      if (e.removeCount < 0) {\n        e.removeCount = t - e.removeStart;\n      }\n\n      e.leavingRequiresTransition = e.removeCount > 0 && e.removeStart + e.removeCount === t;\n    }\n\n    if (e.insertViews) {\n      if (e.insertStart < 0 || e.insertStart > t) {\n        e.insertStart = t;\n      }\n\n      e.enteringRequiresTransition = e.insertStart === t;\n    }\n\n    var i = e.insertViews;\n\n    if (!i) {\n      return;\n    }\n\n    assert(i.length > 0, \"length can not be zero\");\n    var r = convertToViews(i);\n\n    if (r.length === 0) {\n      throw new Error(\"invalid views to insert\");\n    }\n\n    for (var o = 0, s = r; o < s.length; o++) {\n      var a = s[o];\n      a.delegate = e.opts.delegate;\n      var u = a.nav;\n\n      if (u && u !== this) {\n        throw new Error(\"inserted view was already inserted\");\n      }\n\n      if (a.state === VIEW_STATE_DESTROYED) {\n        throw new Error(\"inserted view was already destroyed\");\n      }\n    }\n\n    e.insertViews = r;\n  };\n\n  e.prototype.getEnteringView = function (e, t) {\n    var n = e.insertViews;\n\n    if (n !== undefined) {\n      return n[n.length - 1];\n    }\n\n    var i = e.removeStart;\n\n    if (i !== undefined) {\n      var r = this.views;\n      var o = i + e.removeCount;\n\n      for (var s = r.length - 1; s >= 0; s--) {\n        var a = r[s];\n\n        if ((s < i || s >= o) && a !== t) {\n          return a;\n        }\n      }\n    }\n\n    return undefined;\n  };\n\n  e.prototype.postViewInit = function (e, t, n) {\n    assert(t || e, \"Both leavingView and enteringView are null\");\n    assert(n.resolve, \"resolve must be valid\");\n    assert(n.reject, \"reject must be valid\");\n    var i = n.opts;\n    var r = n.insertViews;\n    var o = n.removeStart;\n    var s = n.removeCount;\n    var a;\n\n    if (o !== undefined && s !== undefined) {\n      assert(o >= 0, \"removeStart can not be negative\");\n      assert(s >= 0, \"removeCount can not be negative\");\n      a = [];\n\n      for (var u = 0; u < s; u++) {\n        var c = this.views[u + o];\n\n        if (c && c !== e && c !== t) {\n          a.push(c);\n        }\n      }\n\n      i.direction = i.direction || \"back\";\n    }\n\n    var f = this.views.length + (r !== undefined ? r.length : 0) - (s !== undefined ? s : 0);\n    assert(f >= 0, \"final balance can not be negative\");\n\n    if (f === 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\n    if (r) {\n      var l = n.insertStart;\n\n      for (var h = 0, v = r; h < v.length; h++) {\n        var c = v[h];\n        this.insertViewAt(c, l);\n        l++;\n      }\n\n      if (n.enteringRequiresTransition) {\n        i.direction = i.direction || \"forward\";\n      }\n    }\n\n    if (a && a.length > 0) {\n      for (var d = 0, p = a; d < p.length; d++) {\n        var c = p[d];\n        lifecycle(c.element, LIFECYCLE_WILL_LEAVE);\n        lifecycle(c.element, LIFECYCLE_DID_LEAVE);\n        lifecycle(c.element, LIFECYCLE_WILL_UNLOAD);\n      }\n\n      for (var m = 0, g = a; m < g.length; m++) {\n        var c = g[m];\n        this.destroyView(c);\n      }\n    }\n  };\n\n  e.prototype.transition = function (e, t, n) {\n    return __awaiter(this, void 0, void 0, function () {\n      var i, r, o, s, a, u, c;\n      var f = this;\n      return __generator(this, function (l) {\n        switch (l.label) {\n          case 0:\n            i = n.opts;\n            r = i.progressAnimation ? function (e) {\n              return f.sbAni = e;\n            } : undefined;\n            o = getIonMode(this);\n            s = e.element;\n            a = t && t.element;\n            u = Object.assign({\n              mode: o,\n              showGoBack: this.canGoBackSync(e),\n              baseEl: this.el,\n              animationBuilder: this.animation || i.animationBuilder || config.get(\"navAnimation\"),\n              progressCallback: r,\n              animated: this.animated && config.getBoolean(\"animated\", true),\n              enteringEl: s,\n              leavingEl: a\n            }, i);\n            return [4, transition(u)];\n\n          case 1:\n            c = l.sent().hasCompleted;\n            return [2, this.transitionFinish(c, e, t, i)];\n        }\n      });\n    });\n  };\n\n  e.prototype.transitionFinish = function (e, t, n, i) {\n    var r = e ? t : n;\n\n    if (r) {\n      this.cleanup(r);\n    }\n\n    return {\n      hasCompleted: e,\n      requiresTransition: true,\n      enteringView: t,\n      leavingView: n,\n      direction: i.direction\n    };\n  };\n\n  e.prototype.insertViewAt = function (e, t) {\n    var n = this.views;\n    var i = n.indexOf(e);\n\n    if (i > -1) {\n      assert(e.nav === this, \"view is not part of the nav\");\n      n.splice(t, 0, n.splice(i, 1)[0]);\n    } else {\n      assert(!e.nav, \"nav is used\");\n      e.nav = this;\n      n.splice(t, 0, e);\n    }\n  };\n\n  e.prototype.removeView = function (e) {\n    assert(e.state === VIEW_STATE_ATTACHED || e.state === VIEW_STATE_DESTROYED, \"view state should be loaded or destroyed\");\n    var t = this.views;\n    var n = t.indexOf(e);\n    assert(n > -1, \"view must be part of the stack\");\n\n    if (n >= 0) {\n      t.splice(n, 1);\n    }\n  };\n\n  e.prototype.destroyView = function (e) {\n    e._destroy();\n\n    this.removeView(e);\n  };\n\n  e.prototype.cleanup = function (e) {\n    if (this.destroyed) {\n      return;\n    }\n\n    var t = this.views;\n    var n = t.indexOf(e);\n\n    for (var i = t.length - 1; i >= 0; i--) {\n      var r = t[i];\n      var o = r.element;\n\n      if (o) {\n        if (i > n) {\n          lifecycle(o, LIFECYCLE_WILL_UNLOAD);\n          this.destroyView(r);\n        } else if (i < n) {\n          setPageHidden(o, true);\n        }\n      }\n    }\n  };\n\n  e.prototype.canStart = function () {\n    return !!this.swipeGesture && !this.isTransitioning && this.transInstr.length === 0 && this.animationEnabled && this.canGoBackSync();\n  };\n\n  e.prototype.onStart = function () {\n    this.queueTrns({\n      removeStart: -1,\n      removeCount: 1,\n      opts: {\n        direction: \"back\",\n        progressAnimation: true\n      }\n    }, undefined);\n  };\n\n  e.prototype.onMove = function (e) {\n    if (this.sbAni) {\n      this.sbAni.progressStep(e);\n    }\n  };\n\n  e.prototype.onEnd = function (e, t, n) {\n    var i = this;\n\n    if (this.sbAni) {\n      this.animationEnabled = false;\n      this.sbAni.onFinish(function () {\n        i.animationEnabled = true;\n      }, {\n        oneTimeCallback: true\n      });\n      var r = e ? -.001 : .001;\n\n      if (!e) {\n        this.sbAni.easing(\"cubic-bezier(1, 0, 0.68, 0.28)\");\n        r += getTimeGivenProgression([0, 0], [1, 0], [.68, .28], [1, 1], t)[0];\n      } else {\n        r += getTimeGivenProgression([0, 0], [.32, .72], [0, 1], [1, 1], t)[0];\n      }\n\n      this.sbAni.progressEnd(e ? 1 : 0, r, n);\n    }\n  };\n\n  e.prototype.render = function () {\n    return h(\"slot\", null);\n  };\n\n  Object.defineProperty(e.prototype, \"el\", {\n    get: function () {\n      return getElement(this);\n    },\n    enumerable: false,\n    configurable: true\n  });\n  Object.defineProperty(e, \"watchers\", {\n    get: function () {\n      return {\n        swipeGesture: [\"swipeGestureChanged\"],\n        root: [\"rootChanged\"]\n      };\n    },\n    enumerable: false,\n    configurable: true\n  });\n  return e;\n}();\n\nNav.style = navCss;\n\nvar navLink = function (e, t, n, i, r) {\n  var o = e.closest(\"ion-nav\");\n\n  if (o) {\n    if (t === \"forward\") {\n      if (n !== undefined) {\n        return o.push(n, i, {\n          skipIfBusy: true,\n          animationBuilder: r\n        });\n      }\n    } else if (t === \"root\") {\n      if (n !== undefined) {\n        return o.setRoot(n, i, {\n          skipIfBusy: true,\n          animationBuilder: r\n        });\n      }\n    } else if (t === \"back\") {\n      return o.pop({\n        skipIfBusy: true,\n        animationBuilder: r\n      });\n    }\n  }\n\n  return Promise.resolve(false);\n};\n\nvar NavLink = function () {\n  function e(e) {\n    var t = this;\n    registerInstance(this, e);\n    this.routerDirection = \"forward\";\n\n    this.onClick = function () {\n      return navLink(t.el, t.routerDirection, t.component, t.componentProps, t.routerAnimation);\n    };\n  }\n\n  e.prototype.render = function () {\n    return h(Host, {\n      onClick: this.onClick\n    });\n  };\n\n  Object.defineProperty(e.prototype, \"el\", {\n    get: function () {\n      return getElement(this);\n    },\n    enumerable: false,\n    configurable: true\n  });\n  return e;\n}();\n\nexport { Nav as ion_nav, NavLink as ion_nav_link };","map":{"version":3,"sources":["/Users/adekanbidansteve/github/klasha/react-klasha/ionic-test/node_modules/@ionic/core/dist/esm-es5/ion-nav_2.entry.js"],"names":["__awaiter","__generator","r","registerInstance","e","createEvent","h","i","getElement","H","Host","b","getIonMode","c","config","g","getTimeGivenProgression","l","assert","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","component","params","state","prototype","init","n","label","element","delegate","sent","_destroy","removeViewFromDom","parentElement","remove","nav","undefined","matches","Object","keys","o","length","u","convertToView","convertToViews","map","componentProps","filter","navCss","Nav","ionNavWillLoad","ionNavWillChange","ionNavDidChange","transInstr","animationEnabled","useRouter","isTransitioning","destroyed","views","animated","swipeGestureChanged","gesture","enable","swipeGesture","rootChanged","root","setRoot","rootParams","componentWillLoad","document","querySelector","el","closest","getBoolean","emit","componentDidLoad","createSwipeBackGesture","canStart","bind","onStart","onMove","onEnd","disconnectedCallback","destroy","push","queueTrns","insertStart","insertViews","opts","insert","insertPages","pop","removeStart","removeCount","popTo","removeView","popToRoot","removeIndex","setPages","setRouteId","getActiveSync","Promise","resolve","changed","updateURL","viewIsReady","markVisible","f","find","assign","direction","animationBuilder","getRouteId","id","tagName","getActive","getByIndex","canGoBack","canGoBackSync","getPrevious","getPreviousSync","getLength","indexOf","skipIfBusy","reject","done","canTransition","nextTrns","success","fireError","hasCompleted","requiresTransition","enteringView","leavingView","navChanged","failed","shift","runTransition","trys","prepareTI","getEnteringView","Error","postViewInit","enteringRequiresTransition","leavingRequiresTransition","console","warn","v","insertViewAt","p","m","destroyView","progressAnimation","sbAni","mode","showGoBack","baseEl","animation","get","progressCallback","enteringEl","leavingEl","transitionFinish","cleanup","splice","progressStep","onFinish","oneTimeCallback","easing","progressEnd","render","defineProperty","enumerable","configurable","style","navLink","NavLink","routerDirection","onClick","routerAnimation","ion_nav","ion_nav_link"],"mappings":"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","sourcesContent":["import{__awaiter,__generator}from\"tslib\";import{r as registerInstance,e as createEvent,h,i as getElement,H as Host}from\"./index-7a8b7a1c.js\";import{b as getIonMode,c as config}from\"./ionic-global-63a97a32.js\";import{g as getTimeGivenProgression}from\"./cubic-bezier-eea9a7a9.js\";import{l as assert}from\"./helpers-dd7e4b7b.js\";import{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-931440b1.js\";import{a as attachComponent}from\"./framework-delegate-4392cd63.js\";var VIEW_STATE_NEW=1;var VIEW_STATE_ATTACHED=2;var VIEW_STATE_DESTROYED=3;var ViewController=function(){function e(e,t){this.component=e;this.params=t;this.state=VIEW_STATE_NEW}e.prototype.init=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n;return __generator(this,(function(i){switch(i.label){case 0:this.state=VIEW_STATE_ATTACHED;if(!!this.element)return[3,2];t=this.component;n=this;return[4,attachComponent(this.delegate,e,t,[\"ion-page\",\"ion-page-invisible\"],this.params)];case 1:n.element=i.sent();i.label=2;case 2:return[2]}}))}))};e.prototype._destroy=function(){assert(this.state!==VIEW_STATE_DESTROYED,\"view state must be ATTACHED\");var e=this.element;if(e){if(this.delegate){this.delegate.removeViewFromDom(e.parentElement,e)}else{e.remove()}}this.nav=undefined;this.state=VIEW_STATE_DESTROYED};return e}();var matches=function(e,t,n){if(!e){return false}if(e.component!==t){return false}var i=e.params;if(i===n){return true}if(!i&&!n){return true}if(!i||!n){return false}var r=Object.keys(i);var o=Object.keys(n);if(r.length!==o.length){return false}for(var s=0,a=r;s<a.length;s++){var u=a[s];if(i[u]!==n[u]){return false}}return true};var convertToView=function(e,t){if(!e){return null}if(e instanceof ViewController){return e}return new ViewController(e,t)};var convertToViews=function(e){return e.map((function(e){if(e instanceof ViewController){return e}if(\"component\"in e){return convertToView(e.component,e.componentProps===null?undefined:e.componentProps)}return convertToView(e,undefined)})).filter((function(e){return e!==null}))};var navCss=\":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}\";var Nav=function(){function e(e){registerInstance(this,e);this.ionNavWillLoad=createEvent(this,\"ionNavWillLoad\",7);this.ionNavWillChange=createEvent(this,\"ionNavWillChange\",3);this.ionNavDidChange=createEvent(this,\"ionNavDidChange\",3);this.transInstr=[];this.animationEnabled=true;this.useRouter=false;this.isTransitioning=false;this.destroyed=false;this.views=[];this.animated=true}e.prototype.swipeGestureChanged=function(){if(this.gesture){this.gesture.enable(this.swipeGesture===true)}};e.prototype.rootChanged=function(){if(this.root!==undefined){if(!this.useRouter){this.setRoot(this.root,this.rootParams)}}};e.prototype.componentWillLoad=function(){this.useRouter=!!document.querySelector(\"ion-router\")&&!this.el.closest(\"[no-router]\");if(this.swipeGesture===undefined){var e=getIonMode(this);this.swipeGesture=config.getBoolean(\"swipeBackEnabled\",e===\"ios\")}this.ionNavWillLoad.emit()};e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:this.rootChanged();e=this;return[4,import(\"./swipe-back-ee838cf8.js\")];case 1:e.gesture=t.sent().createSwipeBackGesture(this.el,this.canStart.bind(this),this.onStart.bind(this),this.onMove.bind(this),this.onEnd.bind(this));this.swipeGestureChanged();return[2]}}))}))};e.prototype.disconnectedCallback=function(){for(var e=0,t=this.views;e<t.length;e++){var n=t[e];lifecycle(n.element,LIFECYCLE_WILL_UNLOAD);n._destroy()}if(this.gesture){this.gesture.destroy();this.gesture=undefined}this.transInstr.length=this.views.length=0;this.destroyed=true};e.prototype.push=function(e,t,n,i){return this.queueTrns({insertStart:-1,insertViews:[{component:e,componentProps:t}],opts:n},i)};e.prototype.insert=function(e,t,n,i,r){return this.queueTrns({insertStart:e,insertViews:[{component:t,componentProps:n}],opts:i},r)};e.prototype.insertPages=function(e,t,n,i){return this.queueTrns({insertStart:e,insertViews:t,opts:n},i)};e.prototype.pop=function(e,t){return this.queueTrns({removeStart:-1,removeCount:1,opts:e},t)};e.prototype.popTo=function(e,t,n){var i={removeStart:-1,removeCount:-1,opts:t};if(typeof e===\"object\"&&e.component){i.removeView=e;i.removeStart=1}else if(typeof e===\"number\"){i.removeStart=e+1}return this.queueTrns(i,n)};e.prototype.popToRoot=function(e,t){return this.queueTrns({removeStart:1,removeCount:-1,opts:e},t)};e.prototype.removeIndex=function(e,t,n,i){if(t===void 0){t=1}return this.queueTrns({removeStart:e,removeCount:t,opts:n},i)};e.prototype.setRoot=function(e,t,n,i){return this.setPages([{component:e,componentProps:t}],n,i)};e.prototype.setPages=function(e,t,n){if(t==null){t={}}if(t.animated!==true){t.animated=false}return this.queueTrns({insertStart:0,insertViews:e,removeStart:0,removeCount:-1,opts:t},n)};e.prototype.setRouteId=function(e,t,n,i){var r=this;var o=this.getActiveSync();if(matches(o,e,t)){return Promise.resolve({changed:false,element:o.element})}var s;var a=new Promise((function(e){return s=e}));var u;var c={updateURL:false,viewIsReady:function(e){var t;var n=new Promise((function(e){return t=e}));s({changed:true,element:e,markVisible:function(){return __awaiter(r,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:t();return[4,u];case 1:e.sent();return[2]}}))}))}});return n}};if(n===\"root\"){u=this.setRoot(e,t,c)}else{var f=this.views.find((function(n){return matches(n,e,t)}));if(f){u=this.popTo(f,Object.assign(Object.assign({},c),{direction:\"back\",animationBuilder:i}))}else if(n===\"forward\"){u=this.push(e,t,Object.assign(Object.assign({},c),{animationBuilder:i}))}else if(n===\"back\"){u=this.setRoot(e,t,Object.assign(Object.assign({},c),{direction:\"back\",animated:true,animationBuilder:i}))}}return a};e.prototype.getRouteId=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){e=this.getActiveSync();return[2,e?{id:e.element.tagName,params:e.params,element:e.element}:undefined]}))}))};e.prototype.getActive=function(){return Promise.resolve(this.getActiveSync())};e.prototype.getByIndex=function(e){return Promise.resolve(this.views[e])};e.prototype.canGoBack=function(e){return Promise.resolve(this.canGoBackSync(e))};e.prototype.getPrevious=function(e){return Promise.resolve(this.getPreviousSync(e))};e.prototype.getLength=function(){return this.views.length};e.prototype.getActiveSync=function(){return this.views[this.views.length-1]};e.prototype.canGoBackSync=function(e){if(e===void 0){e=this.getActiveSync()}return!!(e&&this.getPreviousSync(e))};e.prototype.getPreviousSync=function(e){if(e===void 0){e=this.getActiveSync()}if(!e){return undefined}var t=this.views;var n=t.indexOf(e);return n>0?t[n-1]:undefined};e.prototype.queueTrns=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n,i,r;return __generator(this,(function(o){switch(o.label){case 0:if(this.isTransitioning&&e.opts!=null&&e.opts.skipIfBusy){return[2,Promise.resolve(false)]}n=new Promise((function(t,n){e.resolve=t;e.reject=n}));e.done=t;if(!(e.opts&&e.opts.updateURL!==false&&this.useRouter))return[3,2];i=document.querySelector(\"ion-router\");if(!i)return[3,2];return[4,i.canTransition()];case 1:r=o.sent();if(r===false){return[2,Promise.resolve(false)]}else if(typeof r===\"string\"){i.push(r,e.opts.direction||\"back\");return[2,Promise.resolve(false)]}o.label=2;case 2:if(e.insertViews&&e.insertViews.length===0){e.insertViews=undefined}this.transInstr.push(e);this.nextTrns();return[2,n]}}))}))};e.prototype.success=function(e,t){if(this.destroyed){this.fireError(\"nav controller was destroyed\",t);return}if(t.done){t.done(e.hasCompleted,e.requiresTransition,e.enteringView,e.leavingView,e.direction)}t.resolve(e.hasCompleted);if(t.opts.updateURL!==false&&this.useRouter){var n=document.querySelector(\"ion-router\");if(n){var i=e.direction===\"back\"?\"back\":\"forward\";n.navChanged(i)}}};e.prototype.failed=function(e,t){if(this.destroyed){this.fireError(\"nav controller was destroyed\",t);return}this.transInstr.length=0;this.fireError(e,t)};e.prototype.fireError=function(e,t){if(t.done){t.done(false,false,e)}if(t.reject&&!this.destroyed){t.reject(e)}else{t.resolve(false)}};e.prototype.nextTrns=function(){if(this.isTransitioning){return false}var e=this.transInstr.shift();if(!e){return false}this.runTransition(e);return true};e.prototype.runTransition=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n,i,r,o,s,a;return __generator(this,(function(u){switch(u.label){case 0:u.trys.push([0,6,,7]);this.ionNavWillChange.emit();this.isTransitioning=true;this.prepareTI(e);t=this.getActiveSync();n=this.getEnteringView(e,t);if(!t&&!n){throw new Error(\"no views in the stack to be removed\")}if(!(n&&n.state===VIEW_STATE_NEW))return[3,2];return[4,n.init(this.el)];case 1:u.sent();u.label=2;case 2:this.postViewInit(n,t,e);i=(e.enteringRequiresTransition||e.leavingRequiresTransition)&&n!==t;if(i&&e.opts&&t){r=e.opts.direction===\"back\";if(r){e.opts.animationBuilder=e.opts.animationBuilder||n&&n.animationBuilder}t.animationBuilder=e.opts.animationBuilder}if(!i)return[3,4];return[4,this.transition(n,t,e)];case 3:s=u.sent();return[3,5];case 4:s={hasCompleted:true,requiresTransition:false};u.label=5;case 5:o=s;this.success(o,e);this.ionNavDidChange.emit();return[3,7];case 6:a=u.sent();this.failed(a,e);return[3,7];case 7:this.isTransitioning=false;this.nextTrns();return[2]}}))}))};e.prototype.prepareTI=function(e){var t=this.views.length;e.opts=e.opts||{};if(e.opts.delegate===undefined){e.opts.delegate=this.delegate}if(e.removeView!==undefined){assert(e.removeStart!==undefined,\"removeView needs removeStart\");assert(e.removeCount!==undefined,\"removeView needs removeCount\");var n=this.views.indexOf(e.removeView);if(n<0){throw new Error(\"removeView was not found\")}e.removeStart+=n}if(e.removeStart!==undefined){if(e.removeStart<0){e.removeStart=t-1}if(e.removeCount<0){e.removeCount=t-e.removeStart}e.leavingRequiresTransition=e.removeCount>0&&e.removeStart+e.removeCount===t}if(e.insertViews){if(e.insertStart<0||e.insertStart>t){e.insertStart=t}e.enteringRequiresTransition=e.insertStart===t}var i=e.insertViews;if(!i){return}assert(i.length>0,\"length can not be zero\");var r=convertToViews(i);if(r.length===0){throw new Error(\"invalid views to insert\")}for(var o=0,s=r;o<s.length;o++){var a=s[o];a.delegate=e.opts.delegate;var u=a.nav;if(u&&u!==this){throw new Error(\"inserted view was already inserted\")}if(a.state===VIEW_STATE_DESTROYED){throw new Error(\"inserted view was already destroyed\")}}e.insertViews=r};e.prototype.getEnteringView=function(e,t){var n=e.insertViews;if(n!==undefined){return n[n.length-1]}var i=e.removeStart;if(i!==undefined){var r=this.views;var o=i+e.removeCount;for(var s=r.length-1;s>=0;s--){var a=r[s];if((s<i||s>=o)&&a!==t){return a}}}return undefined};e.prototype.postViewInit=function(e,t,n){assert(t||e,\"Both leavingView and enteringView are null\");assert(n.resolve,\"resolve must be valid\");assert(n.reject,\"reject must be valid\");var i=n.opts;var r=n.insertViews;var o=n.removeStart;var s=n.removeCount;var a;if(o!==undefined&&s!==undefined){assert(o>=0,\"removeStart can not be negative\");assert(s>=0,\"removeCount can not be negative\");a=[];for(var u=0;u<s;u++){var c=this.views[u+o];if(c&&c!==e&&c!==t){a.push(c)}}i.direction=i.direction||\"back\"}var f=this.views.length+(r!==undefined?r.length:0)-(s!==undefined?s:0);assert(f>=0,\"final balance can not be negative\");if(f===0){console.warn(\"You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.\",this,this.el);throw new Error(\"navigation stack needs at least one root page\")}if(r){var l=n.insertStart;for(var h=0,v=r;h<v.length;h++){var c=v[h];this.insertViewAt(c,l);l++}if(n.enteringRequiresTransition){i.direction=i.direction||\"forward\"}}if(a&&a.length>0){for(var d=0,p=a;d<p.length;d++){var c=p[d];lifecycle(c.element,LIFECYCLE_WILL_LEAVE);lifecycle(c.element,LIFECYCLE_DID_LEAVE);lifecycle(c.element,LIFECYCLE_WILL_UNLOAD)}for(var m=0,g=a;m<g.length;m++){var c=g[m];this.destroyView(c)}}};e.prototype.transition=function(e,t,n){return __awaiter(this,void 0,void 0,(function(){var i,r,o,s,a,u,c;var f=this;return __generator(this,(function(l){switch(l.label){case 0:i=n.opts;r=i.progressAnimation?function(e){return f.sbAni=e}:undefined;o=getIonMode(this);s=e.element;a=t&&t.element;u=Object.assign({mode:o,showGoBack:this.canGoBackSync(e),baseEl:this.el,animationBuilder:this.animation||i.animationBuilder||config.get(\"navAnimation\"),progressCallback:r,animated:this.animated&&config.getBoolean(\"animated\",true),enteringEl:s,leavingEl:a},i);return[4,transition(u)];case 1:c=l.sent().hasCompleted;return[2,this.transitionFinish(c,e,t,i)]}}))}))};e.prototype.transitionFinish=function(e,t,n,i){var r=e?t:n;if(r){this.cleanup(r)}return{hasCompleted:e,requiresTransition:true,enteringView:t,leavingView:n,direction:i.direction}};e.prototype.insertViewAt=function(e,t){var n=this.views;var i=n.indexOf(e);if(i>-1){assert(e.nav===this,\"view is not part of the nav\");n.splice(t,0,n.splice(i,1)[0])}else{assert(!e.nav,\"nav is used\");e.nav=this;n.splice(t,0,e)}};e.prototype.removeView=function(e){assert(e.state===VIEW_STATE_ATTACHED||e.state===VIEW_STATE_DESTROYED,\"view state should be loaded or destroyed\");var t=this.views;var n=t.indexOf(e);assert(n>-1,\"view must be part of the stack\");if(n>=0){t.splice(n,1)}};e.prototype.destroyView=function(e){e._destroy();this.removeView(e)};e.prototype.cleanup=function(e){if(this.destroyed){return}var t=this.views;var n=t.indexOf(e);for(var i=t.length-1;i>=0;i--){var r=t[i];var o=r.element;if(o){if(i>n){lifecycle(o,LIFECYCLE_WILL_UNLOAD);this.destroyView(r)}else if(i<n){setPageHidden(o,true)}}}};e.prototype.canStart=function(){return!!this.swipeGesture&&!this.isTransitioning&&this.transInstr.length===0&&this.animationEnabled&&this.canGoBackSync()};e.prototype.onStart=function(){this.queueTrns({removeStart:-1,removeCount:1,opts:{direction:\"back\",progressAnimation:true}},undefined)};e.prototype.onMove=function(e){if(this.sbAni){this.sbAni.progressStep(e)}};e.prototype.onEnd=function(e,t,n){var i=this;if(this.sbAni){this.animationEnabled=false;this.sbAni.onFinish((function(){i.animationEnabled=true}),{oneTimeCallback:true});var r=e?-.001:.001;if(!e){this.sbAni.easing(\"cubic-bezier(1, 0, 0.68, 0.28)\");r+=getTimeGivenProgression([0,0],[1,0],[.68,.28],[1,1],t)[0]}else{r+=getTimeGivenProgression([0,0],[.32,.72],[0,1],[1,1],t)[0]}this.sbAni.progressEnd(e?1:0,r,n)}};e.prototype.render=function(){return h(\"slot\",null)};Object.defineProperty(e.prototype,\"el\",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,\"watchers\",{get:function(){return{swipeGesture:[\"swipeGestureChanged\"],root:[\"rootChanged\"]}},enumerable:false,configurable:true});return e}();Nav.style=navCss;var navLink=function(e,t,n,i,r){var o=e.closest(\"ion-nav\");if(o){if(t===\"forward\"){if(n!==undefined){return o.push(n,i,{skipIfBusy:true,animationBuilder:r})}}else if(t===\"root\"){if(n!==undefined){return o.setRoot(n,i,{skipIfBusy:true,animationBuilder:r})}}else if(t===\"back\"){return o.pop({skipIfBusy:true,animationBuilder:r})}}return Promise.resolve(false)};var NavLink=function(){function e(e){var t=this;registerInstance(this,e);this.routerDirection=\"forward\";this.onClick=function(){return navLink(t.el,t.routerDirection,t.component,t.componentProps,t.routerAnimation)}}e.prototype.render=function(){return h(Host,{onClick:this.onClick})};Object.defineProperty(e.prototype,\"el\",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();export{Nav as ion_nav,NavLink as ion_nav_link};"]},"metadata":{},"sourceType":"module"}