{"ast":null,"code":"import { __awaiter, __generator, __spreadArray } from \"tslib\";\nimport { r as registerInstance, e as createEvent, i as getElement, h, H as Host } from \"./index-7a8b7a1c.js\";\nimport { c as componentOnReady, n as debounce } from \"./helpers-dd7e4b7b.js\";\nimport { b as getIonMode } from \"./ionic-global-63a97a32.js\";\nimport { o as openURL, c as createColorClasses } from \"./theme-ff3fc52f.js\";\n\nvar Route = function () {\n  function e(e) {\n    registerInstance(this, e);\n    this.ionRouteDataChanged = createEvent(this, \"ionRouteDataChanged\", 7);\n    this.url = \"\";\n  }\n\n  e.prototype.onUpdate = function (e) {\n    this.ionRouteDataChanged.emit(e);\n  };\n\n  e.prototype.onComponentProps = function (e, t) {\n    if (e === t) {\n      return;\n    }\n\n    var r = e ? Object.keys(e) : [];\n    var n = t ? Object.keys(t) : [];\n\n    if (r.length !== n.length) {\n      this.onUpdate(e);\n      return;\n    }\n\n    for (var a = 0, o = r; a < o.length; a++) {\n      var i = o[a];\n\n      if (e[i] !== t[i]) {\n        this.onUpdate(e);\n        return;\n      }\n    }\n  };\n\n  e.prototype.connectedCallback = function () {\n    this.ionRouteDataChanged.emit();\n  };\n\n  Object.defineProperty(e, \"watchers\", {\n    get: function () {\n      return {\n        url: [\"onUpdate\"],\n        component: [\"onUpdate\"],\n        componentProps: [\"onComponentProps\"]\n      };\n    },\n    enumerable: false,\n    configurable: true\n  });\n  return e;\n}();\n\nvar RouteRedirect = function () {\n  function e(e) {\n    registerInstance(this, e);\n    this.ionRouteRedirectChanged = createEvent(this, \"ionRouteRedirectChanged\", 7);\n  }\n\n  e.prototype.propDidChange = function () {\n    this.ionRouteRedirectChanged.emit();\n  };\n\n  e.prototype.connectedCallback = function () {\n    this.ionRouteRedirectChanged.emit();\n  };\n\n  Object.defineProperty(e, \"watchers\", {\n    get: function () {\n      return {\n        from: [\"propDidChange\"],\n        to: [\"propDidChange\"]\n      };\n    },\n    enumerable: false,\n    configurable: true\n  });\n  return e;\n}();\n\nvar ROUTER_INTENT_NONE = \"root\";\nvar ROUTER_INTENT_FORWARD = \"forward\";\nvar ROUTER_INTENT_BACK = \"back\";\n\nvar generatePath = function (e) {\n  var t = e.filter(function (e) {\n    return e.length > 0;\n  }).join(\"/\");\n  return \"/\" + t;\n};\n\nvar generateUrl = function (e, t, r) {\n  var n = generatePath(e);\n\n  if (t) {\n    n = \"#\" + n;\n  }\n\n  if (r !== undefined) {\n    n += \"?\" + r;\n  }\n\n  return n;\n};\n\nvar writePath = function (e, t, r, n, a, o, i) {\n  var s = generateUrl(__spreadArray(__spreadArray([], parsePath(t).segments), n), r, i);\n\n  if (a === ROUTER_INTENT_FORWARD) {\n    e.pushState(o, \"\", s);\n  } else {\n    e.replaceState(o, \"\", s);\n  }\n};\n\nvar chainToPath = function (e) {\n  var t = [];\n\n  for (var r = 0, n = e; r < n.length; r++) {\n    var a = n[r];\n\n    for (var o = 0, i = a.path; o < i.length; o++) {\n      var s = i[o];\n\n      if (s[0] === \":\") {\n        var u = a.params && a.params[s.slice(1)];\n\n        if (!u) {\n          return null;\n        }\n\n        t.push(u);\n      } else if (s !== \"\") {\n        t.push(s);\n      }\n    }\n  }\n\n  return t;\n};\n\nvar removePrefix = function (e, t) {\n  if (e.length > t.length) {\n    return null;\n  }\n\n  if (e.length <= 1 && e[0] === \"\") {\n    return t;\n  }\n\n  for (var r = 0; r < e.length; r++) {\n    if (e[r] !== t[r]) {\n      return null;\n    }\n  }\n\n  if (t.length === e.length) {\n    return [\"\"];\n  }\n\n  return t.slice(e.length);\n};\n\nvar readPath = function (e, t, r) {\n  var n = parsePath(t).segments;\n  var a = r ? e.hash.slice(1) : e.pathname;\n  var o = parsePath(a).segments;\n  return removePrefix(n, o);\n};\n\nvar parsePath = function (e) {\n  var t = [\"\"];\n  var r;\n\n  if (e != null) {\n    var n = e.indexOf(\"?\");\n\n    if (n > -1) {\n      r = e.substr(n + 1);\n      e = e.substr(0, n);\n    }\n\n    t = e.split(\"/\").map(function (e) {\n      return e.trim();\n    }).filter(function (e) {\n      return e.length > 0;\n    });\n\n    if (t.length === 0) {\n      t = [\"\"];\n    }\n  }\n\n  return {\n    segments: t,\n    queryString: r\n  };\n};\n\nvar printRoutes = function (e) {\n  console.group(\"[ion-core] ROUTES[\" + e.length + \"]\");\n\n  var t = function (e) {\n    var t = [];\n    e.forEach(function (e) {\n      return t.push.apply(t, e.path);\n    });\n    var r = e.map(function (e) {\n      return e.id;\n    });\n    console.debug(\"%c \" + generatePath(t), \"font-weight: bold; padding-left: 20px\", \"=>\\t\", \"(\" + r.join(\", \") + \")\");\n  };\n\n  for (var r = 0, n = e; r < n.length; r++) {\n    var a = n[r];\n    t(a);\n  }\n\n  console.groupEnd();\n};\n\nvar printRedirects = function (e) {\n  console.group(\"[ion-core] REDIRECTS[\" + e.length + \"]\");\n\n  for (var t = 0, r = e; t < r.length; t++) {\n    var n = r[t];\n\n    if (n.to) {\n      console.debug(\"FROM: \", \"$c \" + generatePath(n.from), \"font-weight: bold\", \" TO: \", \"$c \" + generatePath(n.to.segments), \"font-weight: bold\");\n    }\n  }\n\n  console.groupEnd();\n};\n\nvar writeNavState = function (e, t, r, n, a, o) {\n  if (a === void 0) {\n    a = false;\n  }\n\n  return __awaiter(void 0, void 0, void 0, function () {\n    var i, s, u, h;\n    return __generator(this, function (c) {\n      switch (c.label) {\n        case 0:\n          c.trys.push([0, 6,, 7]);\n          i = searchNavNode(e);\n\n          if (n >= t.length || !i) {\n            return [2, a];\n          }\n\n          return [4, new Promise(function (e) {\n            return componentOnReady(i, e);\n          })];\n\n        case 1:\n          c.sent();\n          s = t[n];\n          return [4, i.setRouteId(s.id, s.params, r, o)];\n\n        case 2:\n          u = c.sent();\n\n          if (u.changed) {\n            r = ROUTER_INTENT_NONE;\n            a = true;\n          }\n\n          return [4, writeNavState(u.element, t, r, n + 1, a, o)];\n\n        case 3:\n          a = c.sent();\n          if (!u.markVisible) return [3, 5];\n          return [4, u.markVisible()];\n\n        case 4:\n          c.sent();\n          c.label = 5;\n\n        case 5:\n          return [2, a];\n\n        case 6:\n          h = c.sent();\n          console.error(h);\n          return [2, false];\n\n        case 7:\n          return [2];\n      }\n    });\n  });\n};\n\nvar readNavState = function (e) {\n  return __awaiter(void 0, void 0, void 0, function () {\n    var t, r, n, a;\n    return __generator(this, function (o) {\n      switch (o.label) {\n        case 0:\n          t = [];\n          n = e;\n          o.label = 1;\n\n        case 1:\n          if (!true) return [3, 5];\n          r = searchNavNode(n);\n          if (!r) return [3, 3];\n          return [4, r.getRouteId()];\n\n        case 2:\n          a = o.sent();\n\n          if (a) {\n            n = a.element;\n            a.element = undefined;\n            t.push(a);\n          } else {\n            return [3, 5];\n          }\n\n          return [3, 4];\n\n        case 3:\n          return [3, 5];\n\n        case 4:\n          return [3, 1];\n\n        case 5:\n          return [2, {\n            ids: t,\n            outlet: r\n          }];\n      }\n    });\n  });\n};\n\nvar waitUntilNavNode = function () {\n  if (searchNavNode(document.body)) {\n    return Promise.resolve();\n  }\n\n  return new Promise(function (e) {\n    window.addEventListener(\"ionNavWillLoad\", e, {\n      once: true\n    });\n  });\n};\n\nvar QUERY = \":not([no-router]) ion-nav, :not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet\";\n\nvar searchNavNode = function (e) {\n  if (!e) {\n    return undefined;\n  }\n\n  if (e.matches(QUERY)) {\n    return e;\n  }\n\n  var t = e.querySelector(QUERY);\n  return t !== null && t !== void 0 ? t : undefined;\n};\n\nvar matchesRedirect = function (e, t) {\n  var r = t.from,\n      n = t.to;\n\n  if (n === undefined) {\n    return false;\n  }\n\n  if (r.length > e.length) {\n    return false;\n  }\n\n  for (var a = 0; a < r.length; a++) {\n    var o = r[a];\n\n    if (o === \"*\") {\n      return true;\n    }\n\n    if (o !== e[a]) {\n      return false;\n    }\n  }\n\n  return r.length === e.length;\n};\n\nvar findRouteRedirect = function (e, t) {\n  return t.find(function (t) {\n    return matchesRedirect(e, t);\n  });\n};\n\nvar matchesIDs = function (e, t) {\n  var r = Math.min(e.length, t.length);\n  var n = 0;\n\n  for (; n < r; n++) {\n    if (e[n].toLowerCase() !== t[n].id) {\n      break;\n    }\n  }\n\n  return n;\n};\n\nvar matchesPath = function (e, t) {\n  var r = new RouterSegments(e);\n  var n = false;\n  var a;\n\n  for (var o = 0; o < t.length; o++) {\n    var i = t[o].path;\n\n    if (i[0] === \"\") {\n      n = true;\n    } else {\n      for (var s = 0, u = i; s < u.length; s++) {\n        var h = u[s];\n        var c = r.next();\n\n        if (h[0] === \":\") {\n          if (c === \"\") {\n            return null;\n          }\n\n          a = a || [];\n          var f = a[o] || (a[o] = {});\n          f[h.slice(1)] = c;\n        } else if (c !== h) {\n          return null;\n        }\n      }\n\n      n = false;\n    }\n  }\n\n  var l = n ? n === (r.next() === \"\") : true;\n\n  if (!l) {\n    return null;\n  }\n\n  if (a) {\n    return t.map(function (e, t) {\n      return {\n        id: e.id,\n        path: e.path,\n        params: mergeParams(e.params, a[t]),\n        beforeEnter: e.beforeEnter,\n        beforeLeave: e.beforeLeave\n      };\n    });\n  }\n\n  return t;\n};\n\nvar mergeParams = function (e, t) {\n  return e || t ? Object.assign(Object.assign({}, e), t) : undefined;\n};\n\nvar routerIDsToChain = function (e, t) {\n  var r = null;\n  var n = 0;\n  var a = e.map(function (e) {\n    return e.id;\n  });\n\n  for (var o = 0, i = t; o < i.length; o++) {\n    var s = i[o];\n    var u = matchesIDs(a, s);\n\n    if (u > n) {\n      r = s;\n      n = u;\n    }\n  }\n\n  if (r) {\n    return r.map(function (t, r) {\n      return {\n        id: t.id,\n        path: t.path,\n        params: mergeParams(t.params, e[r] && e[r].params)\n      };\n    });\n  }\n\n  return null;\n};\n\nvar routerPathToChain = function (e, t) {\n  var r = null;\n  var n = 0;\n\n  for (var a = 0, o = t; a < o.length; a++) {\n    var i = o[a];\n    var s = matchesPath(e, i);\n\n    if (s !== null) {\n      var u = computePriority(s);\n\n      if (u > n) {\n        n = u;\n        r = s;\n      }\n    }\n  }\n\n  return r;\n};\n\nvar computePriority = function (e) {\n  var t = 1;\n  var r = 1;\n\n  for (var n = 0, a = e; n < a.length; n++) {\n    var o = a[n];\n\n    for (var i = 0, s = o.path; i < s.length; i++) {\n      var u = s[i];\n\n      if (u[0] === \":\") {\n        t += Math.pow(1, r);\n      } else if (u !== \"\") {\n        t += Math.pow(2, r);\n      }\n\n      r++;\n    }\n  }\n\n  return t;\n};\n\nvar RouterSegments = function () {\n  function e(e) {\n    this.path = e.slice();\n  }\n\n  e.prototype.next = function () {\n    if (this.path.length > 0) {\n      return this.path.shift();\n    }\n\n    return \"\";\n  };\n\n  return e;\n}();\n\nvar readProp = function (e, t) {\n  if (t in e) {\n    return e[t];\n  }\n\n  if (e.hasAttribute(t)) {\n    return e.getAttribute(t);\n  }\n\n  return null;\n};\n\nvar readRedirects = function (e) {\n  return Array.from(e.children).filter(function (e) {\n    return e.tagName === \"ION-ROUTE-REDIRECT\";\n  }).map(function (e) {\n    var t = readProp(e, \"to\");\n    return {\n      from: parsePath(readProp(e, \"from\")).segments,\n      to: t == null ? undefined : parsePath(t)\n    };\n  });\n};\n\nvar readRoutes = function (e) {\n  return flattenRouterTree(readRouteNodes(e));\n};\n\nvar readRouteNodes = function (e) {\n  return Array.from(e.children).filter(function (e) {\n    return e.tagName === \"ION-ROUTE\" && e.component;\n  }).map(function (e) {\n    var t = readProp(e, \"component\");\n    return {\n      path: parsePath(readProp(e, \"url\")).segments,\n      id: t.toLowerCase(),\n      params: e.componentProps,\n      beforeLeave: e.beforeLeave,\n      beforeEnter: e.beforeEnter,\n      children: readRouteNodes(e)\n    };\n  });\n};\n\nvar flattenRouterTree = function (e) {\n  var t = [];\n\n  for (var r = 0, n = e; r < n.length; r++) {\n    var a = n[r];\n    flattenNode([], t, a);\n  }\n\n  return t;\n};\n\nvar flattenNode = function (e, t, r) {\n  e = e.slice();\n  e.push({\n    id: r.id,\n    path: r.path,\n    params: r.params,\n    beforeLeave: r.beforeLeave,\n    beforeEnter: r.beforeEnter\n  });\n\n  if (r.children.length === 0) {\n    t.push(e);\n    return;\n  }\n\n  for (var n = 0, a = r.children; n < a.length; n++) {\n    var o = a[n];\n    flattenNode(e, t, o);\n  }\n};\n\nvar Router = function () {\n  function e(e) {\n    registerInstance(this, e);\n    this.ionRouteWillChange = createEvent(this, \"ionRouteWillChange\", 7);\n    this.ionRouteDidChange = createEvent(this, \"ionRouteDidChange\", 7);\n    this.previousPath = null;\n    this.busy = false;\n    this.state = 0;\n    this.lastState = 0;\n    this.root = \"/\";\n    this.useHash = true;\n  }\n\n  e.prototype.componentWillLoad = function () {\n    return __awaiter(this, void 0, void 0, function () {\n      var e, t, r;\n      return __generator(this, function (n) {\n        switch (n.label) {\n          case 0:\n            return [4, waitUntilNavNode()];\n\n          case 1:\n            n.sent();\n            return [4, this.runGuards(this.getPath())];\n\n          case 2:\n            e = n.sent();\n            if (!(e !== true)) return [3, 5];\n            if (!(typeof e === \"object\")) return [3, 4];\n            t = e.redirect;\n            r = parsePath(t);\n            this.setPath(r.segments, ROUTER_INTENT_NONE, r.queryString);\n            return [4, this.writeNavStateRoot(r.segments, ROUTER_INTENT_NONE)];\n\n          case 3:\n            n.sent();\n            n.label = 4;\n\n          case 4:\n            return [3, 7];\n\n          case 5:\n            return [4, this.onRoutesChanged()];\n\n          case 6:\n            n.sent();\n            n.label = 7;\n\n          case 7:\n            return [2];\n        }\n      });\n    });\n  };\n\n  e.prototype.componentDidLoad = function () {\n    window.addEventListener(\"ionRouteRedirectChanged\", debounce(this.onRedirectChanged.bind(this), 10));\n    window.addEventListener(\"ionRouteDataChanged\", debounce(this.onRoutesChanged.bind(this), 100));\n  };\n\n  e.prototype.onPopState = function () {\n    return __awaiter(this, void 0, void 0, function () {\n      var e, t, r;\n      return __generator(this, function (n) {\n        switch (n.label) {\n          case 0:\n            e = this.historyDirection();\n            t = this.getPath();\n            return [4, this.runGuards(t)];\n\n          case 1:\n            r = n.sent();\n\n            if (r !== true) {\n              if (typeof r === \"object\") {\n                t = parsePath(r.redirect).segments;\n              } else {\n                return [2, false];\n              }\n            }\n\n            return [2, this.writeNavStateRoot(t, e)];\n        }\n      });\n    });\n  };\n\n  e.prototype.onBackButton = function (e) {\n    var t = this;\n    e.detail.register(0, function (e) {\n      t.back();\n      e();\n    });\n  };\n\n  e.prototype.canTransition = 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            return [4, this.runGuards()];\n\n          case 1:\n            e = t.sent();\n\n            if (e !== true) {\n              if (typeof e === \"object\") {\n                return [2, e.redirect];\n              } else {\n                return [2, false];\n              }\n            }\n\n            return [2, true];\n        }\n      });\n    });\n  };\n\n  e.prototype.push = function (e, t, r) {\n    if (t === void 0) {\n      t = \"forward\";\n    }\n\n    return __awaiter(this, void 0, void 0, function () {\n      var n, a;\n      return __generator(this, function (o) {\n        switch (o.label) {\n          case 0:\n            if (e.startsWith(\".\")) {\n              e = new URL(e, window.location.href).pathname;\n            }\n\n            n = parsePath(e);\n            return [4, this.runGuards(n.segments)];\n\n          case 1:\n            a = o.sent();\n\n            if (a !== true) {\n              if (typeof a === \"object\") {\n                n = parsePath(a.redirect);\n              } else {\n                return [2, false];\n              }\n            }\n\n            this.setPath(n.segments, t, n.queryString);\n            return [2, this.writeNavStateRoot(n.segments, t, r)];\n        }\n      });\n    });\n  };\n\n  e.prototype.back = function () {\n    window.history.back();\n    return Promise.resolve(this.waitPromise);\n  };\n\n  e.prototype.printDebug = function () {\n    return __awaiter(this, void 0, void 0, function () {\n      return __generator(this, function (e) {\n        printRoutes(readRoutes(this.el));\n        printRedirects(readRedirects(this.el));\n        return [2];\n      });\n    });\n  };\n\n  e.prototype.navChanged = function (e) {\n    return __awaiter(this, void 0, void 0, function () {\n      var t, r, n, a, o, i;\n      return __generator(this, function (s) {\n        switch (s.label) {\n          case 0:\n            if (this.busy) {\n              console.warn(\"[ion-router] router is busy, navChanged was cancelled\");\n              return [2, false];\n            }\n\n            return [4, readNavState(window.document.body)];\n\n          case 1:\n            t = s.sent(), r = t.ids, n = t.outlet;\n            a = readRoutes(this.el);\n            o = routerIDsToChain(r, a);\n\n            if (!o) {\n              console.warn(\"[ion-router] no matching URL for \", r.map(function (e) {\n                return e.id;\n              }));\n              return [2, false];\n            }\n\n            i = chainToPath(o);\n\n            if (!i) {\n              console.warn(\"[ion-router] router could not match path because some required param is missing\");\n              return [2, false];\n            }\n\n            this.setPath(i, e);\n            return [4, this.safeWriteNavState(n, o, ROUTER_INTENT_NONE, i, null, r.length)];\n\n          case 2:\n            s.sent();\n            return [2, true];\n        }\n      });\n    });\n  };\n\n  e.prototype.onRedirectChanged = function () {\n    var e = this.getPath();\n\n    if (e && findRouteRedirect(e, readRedirects(this.el))) {\n      this.writeNavStateRoot(e, ROUTER_INTENT_NONE);\n    }\n  };\n\n  e.prototype.onRoutesChanged = function () {\n    return this.writeNavStateRoot(this.getPath(), ROUTER_INTENT_NONE);\n  };\n\n  e.prototype.historyDirection = function () {\n    var e;\n    var t = window;\n\n    if (t.history.state === null) {\n      this.state++;\n      t.history.replaceState(this.state, t.document.title, (e = t.document.location) === null || e === void 0 ? void 0 : e.href);\n    }\n\n    var r = t.history.state;\n    var n = this.lastState;\n    this.lastState = r;\n\n    if (r > n || r >= n && n > 0) {\n      return ROUTER_INTENT_FORWARD;\n    }\n\n    if (r < n) {\n      return ROUTER_INTENT_BACK;\n    }\n\n    return ROUTER_INTENT_NONE;\n  };\n\n  e.prototype.writeNavStateRoot = function (e, t, r) {\n    return __awaiter(this, void 0, void 0, function () {\n      var n, a, o, i, s, u, h, c;\n      return __generator(this, function (f) {\n        if (!e) {\n          console.error(\"[ion-router] URL is not part of the routing set\");\n          return [2, false];\n        }\n\n        n = readRedirects(this.el);\n        a = findRouteRedirect(e, n);\n        o = null;\n\n        if (a) {\n          i = a.to, s = i.segments, u = i.queryString;\n          this.setPath(s, t, u);\n          o = a.from;\n          e = s;\n        }\n\n        h = readRoutes(this.el);\n        c = routerPathToChain(e, h);\n\n        if (!c) {\n          console.error(\"[ion-router] the path does not match any route\");\n          return [2, false];\n        }\n\n        return [2, this.safeWriteNavState(document.body, c, t, e, o, 0, r)];\n      });\n    });\n  };\n\n  e.prototype.safeWriteNavState = function (e, t, r, n, a, o, i) {\n    if (o === void 0) {\n      o = 0;\n    }\n\n    return __awaiter(this, void 0, void 0, function () {\n      var s, u, h;\n      return __generator(this, function (c) {\n        switch (c.label) {\n          case 0:\n            return [4, this.lock()];\n\n          case 1:\n            s = c.sent();\n            u = false;\n            c.label = 2;\n\n          case 2:\n            c.trys.push([2, 4,, 5]);\n            return [4, this.writeNavState(e, t, r, n, a, o, i)];\n\n          case 3:\n            u = c.sent();\n            return [3, 5];\n\n          case 4:\n            h = c.sent();\n            console.error(h);\n            return [3, 5];\n\n          case 5:\n            s();\n            return [2, u];\n        }\n      });\n    });\n  };\n\n  e.prototype.lock = function () {\n    return __awaiter(this, void 0, void 0, function () {\n      var e, t;\n      return __generator(this, function (r) {\n        switch (r.label) {\n          case 0:\n            e = this.waitPromise;\n            this.waitPromise = new Promise(function (e) {\n              return t = e;\n            });\n            if (!(e !== undefined)) return [3, 2];\n            return [4, e];\n\n          case 1:\n            r.sent();\n            r.label = 2;\n\n          case 2:\n            return [2, t];\n        }\n      });\n    });\n  };\n\n  e.prototype.runGuards = function (e, t) {\n    if (e === void 0) {\n      e = this.getPath();\n    }\n\n    return __awaiter(this, void 0, void 0, function () {\n      var r, n, a, o, i, s, u;\n      return __generator(this, function (h) {\n        switch (h.label) {\n          case 0:\n            if (t === undefined) {\n              t = parsePath(this.previousPath).segments;\n            }\n\n            if (!e || !t) {\n              return [2, true];\n            }\n\n            r = readRoutes(this.el);\n            n = routerPathToChain(t, r);\n            a = n && n[n.length - 1].beforeLeave;\n            if (!a) return [3, 2];\n            return [4, a()];\n\n          case 1:\n            i = h.sent();\n            return [3, 3];\n\n          case 2:\n            i = true;\n            h.label = 3;\n\n          case 3:\n            o = i;\n\n            if (o === false || typeof o === \"object\") {\n              return [2, o];\n            }\n\n            s = routerPathToChain(e, r);\n            u = s && s[s.length - 1].beforeEnter;\n            return [2, u ? u() : true];\n        }\n      });\n    });\n  };\n\n  e.prototype.writeNavState = function (e, t, r, n, a, o, i) {\n    if (o === void 0) {\n      o = 0;\n    }\n\n    return __awaiter(this, void 0, void 0, function () {\n      var s, u;\n      return __generator(this, function (h) {\n        switch (h.label) {\n          case 0:\n            if (this.busy) {\n              console.warn(\"[ion-router] router is busy, transition was cancelled\");\n              return [2, false];\n            }\n\n            this.busy = true;\n            s = this.routeChangeEvent(n, a);\n\n            if (s) {\n              this.ionRouteWillChange.emit(s);\n            }\n\n            return [4, writeNavState(e, t, r, o, false, i)];\n\n          case 1:\n            u = h.sent();\n            this.busy = false;\n\n            if (s) {\n              this.ionRouteDidChange.emit(s);\n            }\n\n            return [2, u];\n        }\n      });\n    });\n  };\n\n  e.prototype.setPath = function (e, t, r) {\n    this.state++;\n    writePath(window.history, this.root, this.useHash, e, t, this.state, r);\n  };\n\n  e.prototype.getPath = function () {\n    return readPath(window.location, this.root, this.useHash);\n  };\n\n  e.prototype.routeChangeEvent = function (e, t) {\n    var r = this.previousPath;\n    var n = generatePath(e);\n    this.previousPath = n;\n\n    if (n === r) {\n      return null;\n    }\n\n    var a = t ? generatePath(t) : null;\n    return {\n      from: r,\n      redirectedFrom: a,\n      to: n\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\nvar routerLinkCss = \":host{--background:transparent;--color:var(--ion-color-primary, #3880ff);background:var(--background);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}a{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit}\";\n\nvar RouterLink = function () {\n  function e(e) {\n    var t = this;\n    registerInstance(this, e);\n    this.routerDirection = \"forward\";\n\n    this.onClick = function (e) {\n      openURL(t.href, e, t.routerDirection, t.routerAnimation);\n    };\n  }\n\n  e.prototype.render = function () {\n    var e;\n    var t = getIonMode(this);\n    var r = {\n      href: this.href,\n      rel: this.rel,\n      target: this.target\n    };\n    return h(Host, {\n      onClick: this.onClick,\n      class: createColorClasses(this.color, (e = {}, e[t] = true, e[\"ion-activatable\"] = true, e))\n    }, h(\"a\", Object.assign({}, r), h(\"slot\", null)));\n  };\n\n  return e;\n}();\n\nRouterLink.style = routerLinkCss;\nexport { Route as ion_route, RouteRedirect as ion_route_redirect, Router as ion_router, RouterLink as ion_router_link };","map":{"version":3,"sources":["/Users/adekanbidansteve/github/klasha/react-klasha/ionic-test/node_modules/@ionic/core/dist/esm-es5/ion-route_4.entry.js"],"names":["__awaiter","__generator","__spreadArray","r","registerInstance","e","createEvent","i","getElement","h","H","Host","c","componentOnReady","n","debounce","b","getIonMode","o","openURL","createColorClasses","Route","ionRouteDataChanged","url","prototype","onUpdate","emit","onComponentProps","t","Object","keys","length","a","connectedCallback","defineProperty","get","component","componentProps","enumerable","configurable","RouteRedirect","ionRouteRedirectChanged","propDidChange","from","to","ROUTER_INTENT_NONE","ROUTER_INTENT_FORWARD","ROUTER_INTENT_BACK","generatePath","filter","join","generateUrl","undefined","writePath","s","parsePath","segments","pushState","replaceState","chainToPath","path","u","params","slice","push","removePrefix","readPath","hash","pathname","indexOf","substr","split","map","trim","queryString","printRoutes","console","group","forEach","apply","id","debug","groupEnd","printRedirects","writeNavState","label","trys","searchNavNode","Promise","sent","setRouteId","changed","element","markVisible","error","readNavState","getRouteId","ids","outlet","waitUntilNavNode","document","body","resolve","window","addEventListener","once","QUERY","matches","querySelector","matchesRedirect","findRouteRedirect","find","matchesIDs","Math","min","toLowerCase","matchesPath","RouterSegments","next","f","l","mergeParams","beforeEnter","beforeLeave","assign","routerIDsToChain","routerPathToChain","computePriority","pow","shift","readProp","hasAttribute","getAttribute","readRedirects","Array","children","tagName","readRoutes","flattenRouterTree","readRouteNodes","flattenNode","Router","ionRouteWillChange","ionRouteDidChange","previousPath","busy","state","lastState","root","useHash","componentWillLoad","runGuards","getPath","redirect","setPath","writeNavStateRoot","onRoutesChanged","componentDidLoad","onRedirectChanged","bind","onPopState","historyDirection","onBackButton","detail","register","back","canTransition","startsWith","URL","location","href","history","waitPromise","printDebug","el","navChanged","warn","safeWriteNavState","title","lock","routeChangeEvent","redirectedFrom","routerLinkCss","RouterLink","routerDirection","onClick","routerAnimation","render","rel","target","class","color","style","ion_route","ion_route_redirect","ion_router","ion_router_link"],"mappings":"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","sourcesContent":["import{__awaiter,__generator,__spreadArray}from\"tslib\";import{r as registerInstance,e as createEvent,i as getElement,h,H as Host}from\"./index-7a8b7a1c.js\";import{c as componentOnReady,n as debounce}from\"./helpers-dd7e4b7b.js\";import{b as getIonMode}from\"./ionic-global-63a97a32.js\";import{o as openURL,c as createColorClasses}from\"./theme-ff3fc52f.js\";var Route=function(){function e(e){registerInstance(this,e);this.ionRouteDataChanged=createEvent(this,\"ionRouteDataChanged\",7);this.url=\"\"}e.prototype.onUpdate=function(e){this.ionRouteDataChanged.emit(e)};e.prototype.onComponentProps=function(e,t){if(e===t){return}var r=e?Object.keys(e):[];var n=t?Object.keys(t):[];if(r.length!==n.length){this.onUpdate(e);return}for(var a=0,o=r;a<o.length;a++){var i=o[a];if(e[i]!==t[i]){this.onUpdate(e);return}}};e.prototype.connectedCallback=function(){this.ionRouteDataChanged.emit()};Object.defineProperty(e,\"watchers\",{get:function(){return{url:[\"onUpdate\"],component:[\"onUpdate\"],componentProps:[\"onComponentProps\"]}},enumerable:false,configurable:true});return e}();var RouteRedirect=function(){function e(e){registerInstance(this,e);this.ionRouteRedirectChanged=createEvent(this,\"ionRouteRedirectChanged\",7)}e.prototype.propDidChange=function(){this.ionRouteRedirectChanged.emit()};e.prototype.connectedCallback=function(){this.ionRouteRedirectChanged.emit()};Object.defineProperty(e,\"watchers\",{get:function(){return{from:[\"propDidChange\"],to:[\"propDidChange\"]}},enumerable:false,configurable:true});return e}();var ROUTER_INTENT_NONE=\"root\";var ROUTER_INTENT_FORWARD=\"forward\";var ROUTER_INTENT_BACK=\"back\";var generatePath=function(e){var t=e.filter((function(e){return e.length>0})).join(\"/\");return\"/\"+t};var generateUrl=function(e,t,r){var n=generatePath(e);if(t){n=\"#\"+n}if(r!==undefined){n+=\"?\"+r}return n};var writePath=function(e,t,r,n,a,o,i){var s=generateUrl(__spreadArray(__spreadArray([],parsePath(t).segments),n),r,i);if(a===ROUTER_INTENT_FORWARD){e.pushState(o,\"\",s)}else{e.replaceState(o,\"\",s)}};var chainToPath=function(e){var t=[];for(var r=0,n=e;r<n.length;r++){var a=n[r];for(var o=0,i=a.path;o<i.length;o++){var s=i[o];if(s[0]===\":\"){var u=a.params&&a.params[s.slice(1)];if(!u){return null}t.push(u)}else if(s!==\"\"){t.push(s)}}}return t};var removePrefix=function(e,t){if(e.length>t.length){return null}if(e.length<=1&&e[0]===\"\"){return t}for(var r=0;r<e.length;r++){if(e[r]!==t[r]){return null}}if(t.length===e.length){return[\"\"]}return t.slice(e.length)};var readPath=function(e,t,r){var n=parsePath(t).segments;var a=r?e.hash.slice(1):e.pathname;var o=parsePath(a).segments;return removePrefix(n,o)};var parsePath=function(e){var t=[\"\"];var r;if(e!=null){var n=e.indexOf(\"?\");if(n>-1){r=e.substr(n+1);e=e.substr(0,n)}t=e.split(\"/\").map((function(e){return e.trim()})).filter((function(e){return e.length>0}));if(t.length===0){t=[\"\"]}}return{segments:t,queryString:r}};var printRoutes=function(e){console.group(\"[ion-core] ROUTES[\"+e.length+\"]\");var t=function(e){var t=[];e.forEach((function(e){return t.push.apply(t,e.path)}));var r=e.map((function(e){return e.id}));console.debug(\"%c \"+generatePath(t),\"font-weight: bold; padding-left: 20px\",\"=>\\t\",\"(\"+r.join(\", \")+\")\")};for(var r=0,n=e;r<n.length;r++){var a=n[r];t(a)}console.groupEnd()};var printRedirects=function(e){console.group(\"[ion-core] REDIRECTS[\"+e.length+\"]\");for(var t=0,r=e;t<r.length;t++){var n=r[t];if(n.to){console.debug(\"FROM: \",\"$c \"+generatePath(n.from),\"font-weight: bold\",\" TO: \",\"$c \"+generatePath(n.to.segments),\"font-weight: bold\")}}console.groupEnd()};var writeNavState=function(e,t,r,n,a,o){if(a===void 0){a=false}return __awaiter(void 0,void 0,void 0,(function(){var i,s,u,h;return __generator(this,(function(c){switch(c.label){case 0:c.trys.push([0,6,,7]);i=searchNavNode(e);if(n>=t.length||!i){return[2,a]}return[4,new Promise((function(e){return componentOnReady(i,e)}))];case 1:c.sent();s=t[n];return[4,i.setRouteId(s.id,s.params,r,o)];case 2:u=c.sent();if(u.changed){r=ROUTER_INTENT_NONE;a=true}return[4,writeNavState(u.element,t,r,n+1,a,o)];case 3:a=c.sent();if(!u.markVisible)return[3,5];return[4,u.markVisible()];case 4:c.sent();c.label=5;case 5:return[2,a];case 6:h=c.sent();console.error(h);return[2,false];case 7:return[2]}}))}))};var readNavState=function(e){return __awaiter(void 0,void 0,void 0,(function(){var t,r,n,a;return __generator(this,(function(o){switch(o.label){case 0:t=[];n=e;o.label=1;case 1:if(!true)return[3,5];r=searchNavNode(n);if(!r)return[3,3];return[4,r.getRouteId()];case 2:a=o.sent();if(a){n=a.element;a.element=undefined;t.push(a)}else{return[3,5]}return[3,4];case 3:return[3,5];case 4:return[3,1];case 5:return[2,{ids:t,outlet:r}]}}))}))};var waitUntilNavNode=function(){if(searchNavNode(document.body)){return Promise.resolve()}return new Promise((function(e){window.addEventListener(\"ionNavWillLoad\",e,{once:true})}))};var QUERY=\":not([no-router]) ion-nav, :not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet\";var searchNavNode=function(e){if(!e){return undefined}if(e.matches(QUERY)){return e}var t=e.querySelector(QUERY);return t!==null&&t!==void 0?t:undefined};var matchesRedirect=function(e,t){var r=t.from,n=t.to;if(n===undefined){return false}if(r.length>e.length){return false}for(var a=0;a<r.length;a++){var o=r[a];if(o===\"*\"){return true}if(o!==e[a]){return false}}return r.length===e.length};var findRouteRedirect=function(e,t){return t.find((function(t){return matchesRedirect(e,t)}))};var matchesIDs=function(e,t){var r=Math.min(e.length,t.length);var n=0;for(;n<r;n++){if(e[n].toLowerCase()!==t[n].id){break}}return n};var matchesPath=function(e,t){var r=new RouterSegments(e);var n=false;var a;for(var o=0;o<t.length;o++){var i=t[o].path;if(i[0]===\"\"){n=true}else{for(var s=0,u=i;s<u.length;s++){var h=u[s];var c=r.next();if(h[0]===\":\"){if(c===\"\"){return null}a=a||[];var f=a[o]||(a[o]={});f[h.slice(1)]=c}else if(c!==h){return null}}n=false}}var l=n?n===(r.next()===\"\"):true;if(!l){return null}if(a){return t.map((function(e,t){return{id:e.id,path:e.path,params:mergeParams(e.params,a[t]),beforeEnter:e.beforeEnter,beforeLeave:e.beforeLeave}}))}return t};var mergeParams=function(e,t){return e||t?Object.assign(Object.assign({},e),t):undefined};var routerIDsToChain=function(e,t){var r=null;var n=0;var a=e.map((function(e){return e.id}));for(var o=0,i=t;o<i.length;o++){var s=i[o];var u=matchesIDs(a,s);if(u>n){r=s;n=u}}if(r){return r.map((function(t,r){return{id:t.id,path:t.path,params:mergeParams(t.params,e[r]&&e[r].params)}}))}return null};var routerPathToChain=function(e,t){var r=null;var n=0;for(var a=0,o=t;a<o.length;a++){var i=o[a];var s=matchesPath(e,i);if(s!==null){var u=computePriority(s);if(u>n){n=u;r=s}}}return r};var computePriority=function(e){var t=1;var r=1;for(var n=0,a=e;n<a.length;n++){var o=a[n];for(var i=0,s=o.path;i<s.length;i++){var u=s[i];if(u[0]===\":\"){t+=Math.pow(1,r)}else if(u!==\"\"){t+=Math.pow(2,r)}r++}}return t};var RouterSegments=function(){function e(e){this.path=e.slice()}e.prototype.next=function(){if(this.path.length>0){return this.path.shift()}return\"\"};return e}();var readProp=function(e,t){if(t in e){return e[t]}if(e.hasAttribute(t)){return e.getAttribute(t)}return null};var readRedirects=function(e){return Array.from(e.children).filter((function(e){return e.tagName===\"ION-ROUTE-REDIRECT\"})).map((function(e){var t=readProp(e,\"to\");return{from:parsePath(readProp(e,\"from\")).segments,to:t==null?undefined:parsePath(t)}}))};var readRoutes=function(e){return flattenRouterTree(readRouteNodes(e))};var readRouteNodes=function(e){return Array.from(e.children).filter((function(e){return e.tagName===\"ION-ROUTE\"&&e.component})).map((function(e){var t=readProp(e,\"component\");return{path:parsePath(readProp(e,\"url\")).segments,id:t.toLowerCase(),params:e.componentProps,beforeLeave:e.beforeLeave,beforeEnter:e.beforeEnter,children:readRouteNodes(e)}}))};var flattenRouterTree=function(e){var t=[];for(var r=0,n=e;r<n.length;r++){var a=n[r];flattenNode([],t,a)}return t};var flattenNode=function(e,t,r){e=e.slice();e.push({id:r.id,path:r.path,params:r.params,beforeLeave:r.beforeLeave,beforeEnter:r.beforeEnter});if(r.children.length===0){t.push(e);return}for(var n=0,a=r.children;n<a.length;n++){var o=a[n];flattenNode(e,t,o)}};var Router=function(){function e(e){registerInstance(this,e);this.ionRouteWillChange=createEvent(this,\"ionRouteWillChange\",7);this.ionRouteDidChange=createEvent(this,\"ionRouteDidChange\",7);this.previousPath=null;this.busy=false;this.state=0;this.lastState=0;this.root=\"/\";this.useHash=true}e.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r;return __generator(this,(function(n){switch(n.label){case 0:return[4,waitUntilNavNode()];case 1:n.sent();return[4,this.runGuards(this.getPath())];case 2:e=n.sent();if(!(e!==true))return[3,5];if(!(typeof e===\"object\"))return[3,4];t=e.redirect;r=parsePath(t);this.setPath(r.segments,ROUTER_INTENT_NONE,r.queryString);return[4,this.writeNavStateRoot(r.segments,ROUTER_INTENT_NONE)];case 3:n.sent();n.label=4;case 4:return[3,7];case 5:return[4,this.onRoutesChanged()];case 6:n.sent();n.label=7;case 7:return[2]}}))}))};e.prototype.componentDidLoad=function(){window.addEventListener(\"ionRouteRedirectChanged\",debounce(this.onRedirectChanged.bind(this),10));window.addEventListener(\"ionRouteDataChanged\",debounce(this.onRoutesChanged.bind(this),100))};e.prototype.onPopState=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,r;return __generator(this,(function(n){switch(n.label){case 0:e=this.historyDirection();t=this.getPath();return[4,this.runGuards(t)];case 1:r=n.sent();if(r!==true){if(typeof r===\"object\"){t=parsePath(r.redirect).segments}else{return[2,false]}}return[2,this.writeNavStateRoot(t,e)]}}))}))};e.prototype.onBackButton=function(e){var t=this;e.detail.register(0,(function(e){t.back();e()}))};e.prototype.canTransition=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,this.runGuards()];case 1:e=t.sent();if(e!==true){if(typeof e===\"object\"){return[2,e.redirect]}else{return[2,false]}}return[2,true]}}))}))};e.prototype.push=function(e,t,r){if(t===void 0){t=\"forward\"}return __awaiter(this,void 0,void 0,(function(){var n,a;return __generator(this,(function(o){switch(o.label){case 0:if(e.startsWith(\".\")){e=new URL(e,window.location.href).pathname}n=parsePath(e);return[4,this.runGuards(n.segments)];case 1:a=o.sent();if(a!==true){if(typeof a===\"object\"){n=parsePath(a.redirect)}else{return[2,false]}}this.setPath(n.segments,t,n.queryString);return[2,this.writeNavStateRoot(n.segments,t,r)]}}))}))};e.prototype.back=function(){window.history.back();return Promise.resolve(this.waitPromise)};e.prototype.printDebug=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){printRoutes(readRoutes(this.el));printRedirects(readRedirects(this.el));return[2]}))}))};e.prototype.navChanged=function(e){return __awaiter(this,void 0,void 0,(function(){var t,r,n,a,o,i;return __generator(this,(function(s){switch(s.label){case 0:if(this.busy){console.warn(\"[ion-router] router is busy, navChanged was cancelled\");return[2,false]}return[4,readNavState(window.document.body)];case 1:t=s.sent(),r=t.ids,n=t.outlet;a=readRoutes(this.el);o=routerIDsToChain(r,a);if(!o){console.warn(\"[ion-router] no matching URL for \",r.map((function(e){return e.id})));return[2,false]}i=chainToPath(o);if(!i){console.warn(\"[ion-router] router could not match path because some required param is missing\");return[2,false]}this.setPath(i,e);return[4,this.safeWriteNavState(n,o,ROUTER_INTENT_NONE,i,null,r.length)];case 2:s.sent();return[2,true]}}))}))};e.prototype.onRedirectChanged=function(){var e=this.getPath();if(e&&findRouteRedirect(e,readRedirects(this.el))){this.writeNavStateRoot(e,ROUTER_INTENT_NONE)}};e.prototype.onRoutesChanged=function(){return this.writeNavStateRoot(this.getPath(),ROUTER_INTENT_NONE)};e.prototype.historyDirection=function(){var e;var t=window;if(t.history.state===null){this.state++;t.history.replaceState(this.state,t.document.title,(e=t.document.location)===null||e===void 0?void 0:e.href)}var r=t.history.state;var n=this.lastState;this.lastState=r;if(r>n||r>=n&&n>0){return ROUTER_INTENT_FORWARD}if(r<n){return ROUTER_INTENT_BACK}return ROUTER_INTENT_NONE};e.prototype.writeNavStateRoot=function(e,t,r){return __awaiter(this,void 0,void 0,(function(){var n,a,o,i,s,u,h,c;return __generator(this,(function(f){if(!e){console.error(\"[ion-router] URL is not part of the routing set\");return[2,false]}n=readRedirects(this.el);a=findRouteRedirect(e,n);o=null;if(a){i=a.to,s=i.segments,u=i.queryString;this.setPath(s,t,u);o=a.from;e=s}h=readRoutes(this.el);c=routerPathToChain(e,h);if(!c){console.error(\"[ion-router] the path does not match any route\");return[2,false]}return[2,this.safeWriteNavState(document.body,c,t,e,o,0,r)]}))}))};e.prototype.safeWriteNavState=function(e,t,r,n,a,o,i){if(o===void 0){o=0}return __awaiter(this,void 0,void 0,(function(){var s,u,h;return __generator(this,(function(c){switch(c.label){case 0:return[4,this.lock()];case 1:s=c.sent();u=false;c.label=2;case 2:c.trys.push([2,4,,5]);return[4,this.writeNavState(e,t,r,n,a,o,i)];case 3:u=c.sent();return[3,5];case 4:h=c.sent();console.error(h);return[3,5];case 5:s();return[2,u]}}))}))};e.prototype.lock=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(r){switch(r.label){case 0:e=this.waitPromise;this.waitPromise=new Promise((function(e){return t=e}));if(!(e!==undefined))return[3,2];return[4,e];case 1:r.sent();r.label=2;case 2:return[2,t]}}))}))};e.prototype.runGuards=function(e,t){if(e===void 0){e=this.getPath()}return __awaiter(this,void 0,void 0,(function(){var r,n,a,o,i,s,u;return __generator(this,(function(h){switch(h.label){case 0:if(t===undefined){t=parsePath(this.previousPath).segments}if(!e||!t){return[2,true]}r=readRoutes(this.el);n=routerPathToChain(t,r);a=n&&n[n.length-1].beforeLeave;if(!a)return[3,2];return[4,a()];case 1:i=h.sent();return[3,3];case 2:i=true;h.label=3;case 3:o=i;if(o===false||typeof o===\"object\"){return[2,o]}s=routerPathToChain(e,r);u=s&&s[s.length-1].beforeEnter;return[2,u?u():true]}}))}))};e.prototype.writeNavState=function(e,t,r,n,a,o,i){if(o===void 0){o=0}return __awaiter(this,void 0,void 0,(function(){var s,u;return __generator(this,(function(h){switch(h.label){case 0:if(this.busy){console.warn(\"[ion-router] router is busy, transition was cancelled\");return[2,false]}this.busy=true;s=this.routeChangeEvent(n,a);if(s){this.ionRouteWillChange.emit(s)}return[4,writeNavState(e,t,r,o,false,i)];case 1:u=h.sent();this.busy=false;if(s){this.ionRouteDidChange.emit(s)}return[2,u]}}))}))};e.prototype.setPath=function(e,t,r){this.state++;writePath(window.history,this.root,this.useHash,e,t,this.state,r)};e.prototype.getPath=function(){return readPath(window.location,this.root,this.useHash)};e.prototype.routeChangeEvent=function(e,t){var r=this.previousPath;var n=generatePath(e);this.previousPath=n;if(n===r){return null}var a=t?generatePath(t):null;return{from:r,redirectedFrom:a,to:n}};Object.defineProperty(e.prototype,\"el\",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();var routerLinkCss=\":host{--background:transparent;--color:var(--ion-color-primary, #3880ff);background:var(--background);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}a{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit}\";var RouterLink=function(){function e(e){var t=this;registerInstance(this,e);this.routerDirection=\"forward\";this.onClick=function(e){openURL(t.href,e,t.routerDirection,t.routerAnimation)}}e.prototype.render=function(){var e;var t=getIonMode(this);var r={href:this.href,rel:this.rel,target:this.target};return h(Host,{onClick:this.onClick,class:createColorClasses(this.color,(e={},e[t]=true,e[\"ion-activatable\"]=true,e))},h(\"a\",Object.assign({},r),h(\"slot\",null)))};return e}();RouterLink.style=routerLinkCss;export{Route as ion_route,RouteRedirect as ion_route_redirect,Router as ion_router,RouterLink as ion_router_link};"]},"metadata":{},"sourceType":"module"}