@mindly/ui-components 0.1.10 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -45
- package/dist/_virtual/jsx-runtime.js_commonjs-module +2 -0
- package/dist/_virtual/jsx-runtime.js_commonjs-module.map +1 -0
- package/dist/_virtual/react-jsx-runtime.development.js_commonjs-exports +2 -0
- package/dist/_virtual/react-jsx-runtime.development.js_commonjs-exports.map +1 -0
- package/dist/_virtual/react-jsx-runtime.production.min.js_commonjs-exports +2 -0
- package/dist/_virtual/react-jsx-runtime.production.min.js_commonjs-exports.map +1 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/Theme/global.css.js +2 -0
- package/dist/lib/Theme/global.css.js.map +1 -0
- package/dist/lib/Theme/mindly_constants.d.ts +20 -0
- package/dist/lib/Theme/mindly_constants.js +2 -0
- package/dist/lib/Theme/mindly_constants.js.map +1 -0
- package/dist/lib/button/Button.d.ts +2 -4
- package/dist/lib/button/Button.js +2 -0
- package/dist/lib/button/Button.js.map +1 -0
- package/dist/lib/button/Button.style.d.ts +6 -0
- package/dist/lib/button/Button.style.js +76 -0
- package/dist/lib/button/Button.style.js.map +1 -0
- package/dist/lib/consultation-card/consultationCard.d.ts +11 -0
- package/dist/lib/consultation-card/consultationCard.style.d.ts +6 -0
- package/dist/lib/content-card/contentCard.d.ts +14 -0
- package/dist/lib/content-card/contentCard.style.d.ts +11 -0
- package/dist/lib/floating-button/floating button.svg.js +2 -0
- package/dist/lib/floating-button/floating button.svg.js.map +1 -0
- package/dist/lib/floating-button/floatingButton.d.ts +1 -4
- package/dist/lib/floating-button/floatingButton.js +2 -0
- package/dist/lib/floating-button/floatingButton.js.map +1 -0
- package/dist/lib/floating-button/floatingButton.style.d.ts +6 -0
- package/dist/lib/floating-button/floatingButton.style.js +15 -0
- package/dist/lib/floating-button/floatingButton.style.js.map +1 -0
- package/dist/lib/footer-for-booking/FooterForBooking.d.ts +1 -4
- package/dist/lib/footer-for-booking/FooterForBooking.js +2 -0
- package/dist/lib/footer-for-booking/FooterForBooking.js.map +1 -0
- package/dist/lib/footer-for-booking/FooterForBooking.style.js +31 -0
- package/dist/lib/footer-for-booking/FooterForBooking.style.js.map +1 -0
- package/dist/lib/list-button/listButton.d.ts +2 -4
- package/dist/lib/list-button/listButton.js +2 -0
- package/dist/lib/list-button/listButton.js.map +1 -0
- package/dist/lib/list-button/listButton.style.js +14 -0
- package/dist/lib/list-button/listButton.style.js.map +1 -0
- package/dist/lib/navigation-bar/NavigationBar.d.ts +2 -4
- package/dist/lib/navigation-bar/NavigationBar.js +2 -0
- package/dist/lib/navigation-bar/NavigationBar.js.map +1 -0
- package/dist/lib/navigation-bar/NavigationBar.style.d.ts +7 -0
- package/dist/lib/navigation-bar/NavigationBar.style.js +48 -0
- package/dist/lib/navigation-bar/NavigationBar.style.js.map +1 -0
- package/dist/lib/tab-bar/tabBar.d.ts +1 -4
- package/dist/lib/tab-bar/tabBar.js +2 -0
- package/dist/lib/tab-bar/tabBar.js.map +1 -0
- package/dist/lib/tab-bar/tabBar.style.d.ts +17 -0
- package/dist/lib/tab-bar/tabBar.style.js +9 -0
- package/dist/lib/tab-bar/tabBar.style.js.map +1 -0
- package/dist/lib/therapist-card/TherapistCard.d.ts +13 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/animation-096c6391.js +2 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/animation-096c6391.js.map +1 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/app-globals-fd807b9a.js +2 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/app-globals-fd807b9a.js.map +1 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/css-shim-2ccf4dec.js +2 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/css-shim-2ccf4dec.js.map +1 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/hardware-back-button-4a6b37fb.js +2 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/hardware-back-button-4a6b37fb.js.map +1 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/helpers-dd7e4b7b.js +2 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/helpers-dd7e4b7b.js.map +1 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/index-0d58a5bf.js +2 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/index-0d58a5bf.js.map +1 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/index-7a8b7a1c.js +2 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/index-7a8b7a1c.js.map +1 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/ionic-global-63a97a32.js +2 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/ionic-global-63a97a32.js.map +1 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/loader.js +2 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/loader.js.map +1 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/shadow-css-a3f00b33.js +13 -0
- package/dist/node_modules/@ionic/core/dist/esm-es5/shadow-css-a3f00b33.js.map +1 -0
- package/dist/node_modules/@ionic/core/loader/index.js +2 -0
- package/dist/node_modules/@ionic/core/loader/index.js.map +1 -0
- package/dist/node_modules/@ionic/core/node_modules/tslib/tslib.es6.js +16 -0
- package/dist/node_modules/@ionic/core/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/node_modules/@ionic/react/dist/index.esm.js +2 -0
- package/dist/node_modules/@ionic/react/dist/index.esm.js.map +1 -0
- package/dist/node_modules/ionicons/dist/esm-es5/utils-4f847845.js +2 -0
- package/dist/node_modules/ionicons/dist/esm-es5/utils-4f847845.js.map +1 -0
- package/dist/node_modules/ionicons/icons/index.mjs.js +2 -0
- package/dist/node_modules/ionicons/icons/index.mjs.js.map +1 -0
- package/dist/node_modules/object-assign/index.js +7 -0
- package/dist/node_modules/object-assign/index.js.map +1 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +10 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +10 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/node_modules/react/jsx-runtime.js +2 -0
- package/dist/node_modules/react/jsx-runtime.js.map +1 -0
- package/dist/node_modules/style-inject/dist/style-inject.es.js +2 -0
- package/dist/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
- package/dist/node_modules/tslib/tslib.es6.js +16 -0
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
- package/package.json +4 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/button/Button.d.ts.map +0 -1
- package/dist/lib/floating-button/floatingButton.d.ts.map +0 -1
- package/dist/lib/footer-for-booking/FooterForBooking.d.ts.map +0 -1
- package/dist/lib/list-button/listButton.d.ts.map +0 -1
- package/dist/lib/navigation-bar/NavigationBar.d.ts.map +0 -1
- package/dist/lib/tab-bar/tabBar.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../../node_modules/@ionic/react/dist/index.esm.js"],"sourcesContent":["import React, { useContext, useRef, useEffect, Fragment, useMemo, useState } from 'react';\nimport { defineCustomElements } from '@ionic/core/loader';\nimport { addIcons } from 'ionicons';\nimport { arrowBackSharp, caretBackSharp, chevronBack, chevronForward, close, closeCircle, closeSharp, menuOutline, menuSharp, reorderTwoSharp, reorderThreeOutline, searchOutline, searchSharp } from 'ionicons/icons';\nimport { isPlatform as isPlatform$1, getPlatforms as getPlatforms$1, alertController, loadingController, toastController as toastController$1, pickerController, actionSheetController as actionSheetController$1, modalController, popoverController, createAnimation } from '@ionic/core';\nexport { IonicSafeString, IonicSwiper, createAnimation, createGesture, iosTransitionAnimation, mdTransitionAnimation, setupConfig } from '@ionic/core';\nimport { __rest } from 'tslib';\nimport ReactDOM from 'react-dom';\n\nconst IonLifeCycleContext = /*@__PURE__*/ React.createContext({\n onIonViewWillEnter: () => {\n return;\n },\n ionViewWillEnter: () => {\n return;\n },\n onIonViewDidEnter: () => {\n return;\n },\n ionViewDidEnter: () => {\n return;\n },\n onIonViewWillLeave: () => {\n return;\n },\n ionViewWillLeave: () => {\n return;\n },\n onIonViewDidLeave: () => {\n return;\n },\n ionViewDidLeave: () => {\n return;\n },\n});\nconst DefaultIonLifeCycleContext = class {\n constructor() {\n this.ionViewWillEnterCallbacks = [];\n this.ionViewDidEnterCallbacks = [];\n this.ionViewWillLeaveCallbacks = [];\n this.ionViewDidLeaveCallbacks = [];\n }\n onIonViewWillEnter(callback) {\n if (callback.id) {\n const index = this.ionViewWillEnterCallbacks.findIndex((x) => x.id === callback.id);\n if (index > -1) {\n this.ionViewWillEnterCallbacks[index] = callback;\n }\n else {\n this.ionViewWillEnterCallbacks.push(callback);\n }\n }\n else {\n this.ionViewWillEnterCallbacks.push(callback);\n }\n }\n ionViewWillEnter() {\n this.ionViewWillEnterCallbacks.forEach((cb) => cb());\n }\n onIonViewDidEnter(callback) {\n if (callback.id) {\n const index = this.ionViewDidEnterCallbacks.findIndex((x) => x.id === callback.id);\n if (index > -1) {\n this.ionViewDidEnterCallbacks[index] = callback;\n }\n else {\n this.ionViewDidEnterCallbacks.push(callback);\n }\n }\n else {\n this.ionViewDidEnterCallbacks.push(callback);\n }\n }\n ionViewDidEnter() {\n this.ionViewDidEnterCallbacks.forEach((cb) => cb());\n }\n onIonViewWillLeave(callback) {\n if (callback.id) {\n const index = this.ionViewWillLeaveCallbacks.findIndex((x) => x.id === callback.id);\n if (index > -1) {\n this.ionViewWillLeaveCallbacks[index] = callback;\n }\n else {\n this.ionViewWillLeaveCallbacks.push(callback);\n }\n }\n else {\n this.ionViewWillLeaveCallbacks.push(callback);\n }\n }\n ionViewWillLeave() {\n this.ionViewWillLeaveCallbacks.forEach((cb) => cb());\n }\n onIonViewDidLeave(callback) {\n if (callback.id) {\n const index = this.ionViewDidLeaveCallbacks.findIndex((x) => x.id === callback.id);\n if (index > -1) {\n this.ionViewDidLeaveCallbacks[index] = callback;\n }\n else {\n this.ionViewDidLeaveCallbacks.push(callback);\n }\n }\n else {\n this.ionViewDidLeaveCallbacks.push(callback);\n }\n }\n ionViewDidLeave() {\n this.ionViewDidLeaveCallbacks.forEach((cb) => cb());\n this.componentCanBeDestroyed();\n }\n onComponentCanBeDestroyed(callback) {\n this.componentCanBeDestroyedCallback = callback;\n }\n componentCanBeDestroyed() {\n if (this.componentCanBeDestroyedCallback) {\n this.componentCanBeDestroyedCallback();\n }\n }\n};\n\nconst withIonLifeCycle = (WrappedComponent) => {\n return class IonLifeCycle extends React.Component {\n constructor(props) {\n super(props);\n this.componentRef = React.createRef();\n }\n componentDidMount() {\n const element = this.componentRef.current;\n this.context.onIonViewWillEnter(() => {\n if (element && element.ionViewWillEnter) {\n element.ionViewWillEnter();\n }\n });\n this.context.onIonViewDidEnter(() => {\n if (element && element.ionViewDidEnter) {\n element.ionViewDidEnter();\n }\n });\n this.context.onIonViewWillLeave(() => {\n if (element && element.ionViewWillLeave) {\n element.ionViewWillLeave();\n }\n });\n this.context.onIonViewDidLeave(() => {\n if (element && element.ionViewDidLeave) {\n element.ionViewDidLeave();\n }\n });\n }\n render() {\n return (React.createElement(IonLifeCycleContext.Consumer, null, (context) => {\n this.context = context;\n return React.createElement(WrappedComponent, Object.assign({ ref: this.componentRef }, this.props));\n }));\n }\n };\n};\n\nconst useIonViewWillEnter = (callback, deps = []) => {\n const context = useContext(IonLifeCycleContext);\n const id = useRef();\n id.current = id.current || Math.floor(Math.random() * 1000000);\n useEffect(() => {\n callback.id = id.current;\n context.onIonViewWillEnter(callback);\n }, deps);\n};\nconst useIonViewDidEnter = (callback, deps = []) => {\n const context = useContext(IonLifeCycleContext);\n const id = useRef();\n id.current = id.current || Math.floor(Math.random() * 1000000);\n useEffect(() => {\n callback.id = id.current;\n context.onIonViewDidEnter(callback);\n }, deps);\n};\nconst useIonViewWillLeave = (callback, deps = []) => {\n const context = useContext(IonLifeCycleContext);\n const id = useRef();\n id.current = id.current || Math.floor(Math.random() * 1000000);\n useEffect(() => {\n callback.id = id.current;\n context.onIonViewWillLeave(callback);\n }, deps);\n};\nconst useIonViewDidLeave = (callback, deps = []) => {\n const context = useContext(IonLifeCycleContext);\n const id = useRef();\n id.current = id.current || Math.floor(Math.random() * 1000000);\n useEffect(() => {\n callback.id = id.current;\n context.onIonViewDidLeave(callback);\n }, deps);\n};\n\nconst NavContext = /*@__PURE__*/ React.createContext({\n getIonRedirect: () => undefined,\n getIonRoute: () => undefined,\n getPageManager: () => undefined,\n getStackManager: () => undefined,\n goBack: (route) => {\n if (typeof window !== 'undefined') {\n if (typeof route === 'string') {\n window.location.pathname = route;\n }\n else {\n window.history.back();\n }\n }\n },\n navigate: (path) => {\n if (typeof window !== 'undefined') {\n window.location.pathname = path;\n }\n },\n hasIonicRouter: () => false,\n routeInfo: undefined,\n setCurrentTab: () => undefined,\n changeTab: (_tab, path) => {\n if (typeof window !== 'undefined') {\n window.location.pathname = path;\n }\n },\n resetTab: (_tab, path) => {\n if (typeof window !== 'undefined') {\n window.location.pathname = path;\n }\n },\n});\n\nconst dashToPascalCase = (str) => str\n .toLowerCase()\n .split('-')\n .map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))\n .join('');\nconst camelToDashCase = (str) => str.replace(/([A-Z])/g, (m) => `-${m[0].toLowerCase()}`);\n\nconst attachProps = (node, newProps, oldProps = {}) => {\n // some test frameworks don't render DOM elements, so we test here to make sure we are dealing with DOM first\n if (node instanceof Element) {\n // add any classes in className to the class list\n const className = getClassName(node.classList, newProps, oldProps);\n if (className !== '') {\n node.className = className;\n }\n Object.keys(newProps).forEach((name) => {\n if (name === 'children' ||\n name === 'style' ||\n name === 'ref' ||\n name === 'class' ||\n name === 'className' ||\n name === 'forwardedRef') {\n return;\n }\n if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {\n const eventName = name.substring(2);\n const eventNameLc = eventName[0].toLowerCase() + eventName.substring(1);\n if (!isCoveredByReact(eventNameLc)) {\n syncEvent(node, eventNameLc, newProps[name]);\n }\n }\n else {\n const propType = typeof newProps[name];\n if (propType === 'string') {\n node.setAttribute(camelToDashCase(name), newProps[name]);\n }\n else {\n node[name] = newProps[name];\n }\n }\n });\n }\n};\nconst getClassName = (classList, newProps, oldProps) => {\n const newClassProp = newProps.className || newProps.class;\n const oldClassProp = oldProps.className || oldProps.class;\n // map the classes to Maps for performance\n const currentClasses = arrayToMap(classList);\n const incomingPropClasses = arrayToMap(newClassProp ? newClassProp.split(' ') : []);\n const oldPropClasses = arrayToMap(oldClassProp ? oldClassProp.split(' ') : []);\n const finalClassNames = [];\n // loop through each of the current classes on the component\n // to see if it should be a part of the classNames added\n currentClasses.forEach((currentClass) => {\n if (incomingPropClasses.has(currentClass)) {\n // add it as its already included in classnames coming in from newProps\n finalClassNames.push(currentClass);\n incomingPropClasses.delete(currentClass);\n }\n else if (!oldPropClasses.has(currentClass)) {\n // add it as it has NOT been removed by user\n finalClassNames.push(currentClass);\n }\n });\n incomingPropClasses.forEach((s) => finalClassNames.push(s));\n return finalClassNames.join(' ');\n};\n/**\n * Checks if an event is supported in the current execution environment.\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nconst isCoveredByReact = (eventNameSuffix) => {\n if (typeof document === 'undefined') {\n return true;\n }\n else {\n const eventName = 'on' + eventNameSuffix;\n let isSupported = eventName in document;\n if (!isSupported) {\n const element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n return isSupported;\n }\n};\nconst syncEvent = (node, eventName, newEventHandler) => {\n const eventStore = node.__events || (node.__events = {});\n const oldEventHandler = eventStore[eventName];\n // Remove old listener so they don't double up.\n if (oldEventHandler) {\n node.removeEventListener(eventName, oldEventHandler);\n }\n // Bind new listener.\n node.addEventListener(eventName, (eventStore[eventName] = function handler(e) {\n if (newEventHandler) {\n newEventHandler.call(this, e);\n }\n }));\n};\nconst arrayToMap = (arr) => {\n const map = new Map();\n arr.forEach((s) => map.set(s, s));\n return map;\n};\n\nconst createForwardRef = (ReactComponent, displayName) => {\n const forwardRef = (props, ref) => {\n return React.createElement(ReactComponent, Object.assign({}, props, { forwardedRef: ref }));\n };\n forwardRef.displayName = displayName;\n return React.forwardRef(forwardRef);\n};\nconst setRef = (ref, value) => {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref != null) {\n // Cast as a MutableRef so we can assign current\n ref.current = value;\n }\n};\nconst mergeRefs = (...refs) => {\n return (value) => {\n refs.forEach(ref => {\n setRef(ref, value);\n });\n };\n};\nconst isPlatform = (platform) => {\n return isPlatform$1(window, platform);\n};\nconst getPlatforms = () => {\n return getPlatforms$1(window);\n};\nconst getConfig = () => {\n if (typeof window !== 'undefined') {\n const Ionic = window.Ionic;\n if (Ionic && Ionic.config) {\n return Ionic.config;\n }\n }\n return null;\n};\n\nconst createReactComponent = (tagName, routerLinkComponent = false) => {\n const displayName = dashToPascalCase(tagName);\n const ReactComponent = class extends React.Component {\n constructor(props) {\n super(props);\n this.handleClick = (e) => {\n const { routerLink, routerDirection, routerOptions, routerAnimation } = this.props;\n if (routerLink !== undefined) {\n e.preventDefault();\n this.context.navigate(routerLink, routerDirection, undefined, routerAnimation, routerOptions);\n }\n };\n // Create a local ref to to attach props to the wrapped element.\n this.ref = React.createRef();\n // React refs must be stable (not created inline).\n this.stableMergedRefs = mergeRefs(this.ref, this.props.forwardedRef);\n }\n componentDidMount() {\n this.componentDidUpdate(this.props);\n }\n componentDidUpdate(prevProps) {\n const node = this.ref.current;\n attachProps(node, this.props, prevProps);\n }\n render() {\n const _a = this.props, { children, forwardedRef, style, className, ref } = _a, cProps = __rest(_a, [\"children\", \"forwardedRef\", \"style\", \"className\", \"ref\"]);\n const propsToPass = Object.keys(cProps).reduce((acc, name) => {\n if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {\n const eventName = name.substring(2).toLowerCase();\n if (isCoveredByReact(eventName)) {\n acc[name] = cProps[name];\n }\n }\n else if (['string', 'boolean', 'number'].includes(typeof cProps[name])) {\n acc[camelToDashCase(name)] = cProps[name];\n }\n return acc;\n }, {});\n const newProps = Object.assign(Object.assign({}, propsToPass), { ref: this.stableMergedRefs, style });\n if (routerLinkComponent) {\n if (this.props.routerLink && !this.props.href) {\n newProps.href = this.props.routerLink;\n }\n if (newProps.onClick) {\n const oldClick = newProps.onClick;\n newProps.onClick = (e) => {\n oldClick(e);\n if (!e.defaultPrevented) {\n this.handleClick(e);\n }\n };\n }\n else {\n newProps.onClick = this.handleClick;\n }\n }\n return React.createElement(tagName, newProps, children);\n }\n static get displayName() {\n return displayName;\n }\n static get contextType() {\n return NavContext;\n }\n };\n return createForwardRef(ReactComponent, displayName);\n};\n\n// ionic/core\nconst IonApp = /*@__PURE__*/ createReactComponent('ion-app');\nconst IonTab = /*@__PURE__*/ createReactComponent('ion-tab');\nconst IonRouterLink = /*@__PURE__*/ createReactComponent('ion-router-link', true);\nconst IonAvatar = /*@__PURE__*/ createReactComponent('ion-avatar');\nconst IonBackdrop = /*@__PURE__*/ createReactComponent('ion-backdrop');\nconst IonBadge = /*@__PURE__*/ createReactComponent('ion-badge');\nconst IonButton = /*@__PURE__*/ createReactComponent('ion-button', true);\nconst IonButtons = /*@__PURE__*/ createReactComponent('ion-buttons');\nconst IonCard = /*@__PURE__*/ createReactComponent('ion-card', true);\nconst IonCardContent = /*@__PURE__*/ createReactComponent('ion-card-content');\nconst IonCardHeader = /*@__PURE__*/ createReactComponent('ion-card-header');\nconst IonCardSubtitle = /*@__PURE__*/ createReactComponent('ion-card-subtitle');\nconst IonCardTitle = /*@__PURE__*/ createReactComponent('ion-card-title');\nconst IonCheckbox = /*@__PURE__*/ createReactComponent('ion-checkbox');\nconst IonCol = /*@__PURE__*/ createReactComponent('ion-col');\nconst IonContent = /*@__PURE__*/ createReactComponent('ion-content');\nconst IonChip = /*@__PURE__*/ createReactComponent('ion-chip');\nconst IonDatetime = /*@__PURE__*/ createReactComponent('ion-datetime');\nconst IonFab = /*@__PURE__*/ createReactComponent('ion-fab');\nconst IonFabButton = /*@__PURE__*/ createReactComponent('ion-fab-button', true);\nconst IonFabList = /*@__PURE__*/ createReactComponent('ion-fab-list');\nconst IonFooter = /*@__PURE__*/ createReactComponent('ion-footer');\nconst IonGrid = /*@__PURE__*/ createReactComponent('ion-grid');\nconst IonHeader = /*@__PURE__*/ createReactComponent('ion-header');\nconst IonImg = /*@__PURE__*/ createReactComponent('ion-img');\nconst IonInfiniteScroll = /*@__PURE__*/ createReactComponent('ion-infinite-scroll');\nconst IonInfiniteScrollContent = /*@__PURE__*/ createReactComponent('ion-infinite-scroll-content');\nconst IonInput = /*@__PURE__*/ createReactComponent('ion-input');\nconst IonItem = /*@__PURE__*/ createReactComponent('ion-item', true);\nconst IonItemDivider = /*@__PURE__*/ createReactComponent('ion-item-divider');\nconst IonItemGroup = /*@__PURE__*/ createReactComponent('ion-item-group');\nconst IonItemOption = /*@__PURE__*/ createReactComponent('ion-item-option', true);\nconst IonItemOptions = /*@__PURE__*/ createReactComponent('ion-item-options');\nconst IonItemSliding = /*@__PURE__*/ createReactComponent('ion-item-sliding');\nconst IonLabel = /*@__PURE__*/ createReactComponent('ion-label');\nconst IonList = /*@__PURE__*/ createReactComponent('ion-list');\nconst IonListHeader = /*@__PURE__*/ createReactComponent('ion-list-header');\nconst IonMenu = /*@__PURE__*/ createReactComponent('ion-menu');\nconst IonMenuButton = /*@__PURE__*/ createReactComponent('ion-menu-button');\nconst IonMenuToggle = /*@__PURE__*/ createReactComponent('ion-menu-toggle');\nconst IonNote = /*@__PURE__*/ createReactComponent('ion-note');\nconst IonPickerColumn = /*@__PURE__*/ createReactComponent('ion-picker-column');\nconst IonNav = /*@__PURE__*/ createReactComponent('ion-nav');\nconst IonProgressBar = /*@__PURE__*/ createReactComponent('ion-progress-bar');\nconst IonRadio = /*@__PURE__*/ createReactComponent('ion-radio');\nconst IonRadioGroup = /*@__PURE__*/ createReactComponent('ion-radio-group');\nconst IonRange = /*@__PURE__*/ createReactComponent('ion-range');\nconst IonRefresher = /*@__PURE__*/ createReactComponent('ion-refresher');\nconst IonRefresherContent = /*@__PURE__*/ createReactComponent('ion-refresher-content');\nconst IonReorder = /*@__PURE__*/ createReactComponent('ion-reorder');\nconst IonReorderGroup = /*@__PURE__*/ createReactComponent('ion-reorder-group');\nconst IonRippleEffect = /*@__PURE__*/ createReactComponent('ion-ripple-effect');\nconst IonRow = /*@__PURE__*/ createReactComponent('ion-row');\nconst IonSearchbar = /*@__PURE__*/ createReactComponent('ion-searchbar');\nconst IonSegment = /*@__PURE__*/ createReactComponent('ion-segment');\nconst IonSegmentButton = /*@__PURE__*/ createReactComponent('ion-segment-button');\nconst IonSelect = /*@__PURE__*/ createReactComponent('ion-select');\nconst IonSelectOption = /*@__PURE__*/ createReactComponent('ion-select-option');\nconst IonSelectPopover = /*@__PURE__*/ createReactComponent('ion-select-popover');\nconst IonSkeletonText = /*@__PURE__*/ createReactComponent('ion-skeleton-text');\nconst IonSlide = /*@__PURE__*/ createReactComponent('ion-slide');\nconst IonSlides = /*@__PURE__*/ createReactComponent('ion-slides');\nconst IonSpinner = /*@__PURE__*/ createReactComponent('ion-spinner');\nconst IonSplitPane = /*@__PURE__*/ createReactComponent('ion-split-pane');\nconst IonText = /*@__PURE__*/ createReactComponent('ion-text');\nconst IonTextarea = /*@__PURE__*/ createReactComponent('ion-textarea');\nconst IonThumbnail = /*@__PURE__*/ createReactComponent('ion-thumbnail');\nconst IonTitle = /*@__PURE__*/ createReactComponent('ion-title');\nconst IonToggle = /*@__PURE__*/ createReactComponent('ion-toggle');\nconst IonToolbar = /*@__PURE__*/ createReactComponent('ion-toolbar');\nconst IonVirtualScroll = /*@__PURE__*/ createReactComponent('ion-virtual-scroll');\n\nconst createControllerComponent = (displayName, controller) => {\n const didDismissEventName = `on${displayName}DidDismiss`;\n const didPresentEventName = `on${displayName}DidPresent`;\n const willDismissEventName = `on${displayName}WillDismiss`;\n const willPresentEventName = `on${displayName}WillPresent`;\n class Overlay extends React.Component {\n constructor(props) {\n super(props);\n this.isUnmounted = false;\n this.handleDismiss = this.handleDismiss.bind(this);\n }\n static get displayName() {\n return displayName;\n }\n async componentDidMount() {\n const { isOpen } = this.props;\n if (isOpen) {\n this.present();\n }\n }\n componentWillUnmount() {\n this.isUnmounted = true;\n if (this.overlay) {\n this.overlay.dismiss();\n }\n }\n async componentDidUpdate(prevProps) {\n if (prevProps.isOpen !== this.props.isOpen && this.props.isOpen === true) {\n this.present(prevProps);\n }\n if (this.overlay && prevProps.isOpen !== this.props.isOpen && this.props.isOpen === false) {\n await this.overlay.dismiss();\n }\n }\n handleDismiss(event) {\n if (this.props.onDidDismiss) {\n this.props.onDidDismiss(event);\n }\n setRef(this.props.forwardedRef, null);\n }\n async present(prevProps) {\n const _a = this.props, cProps = __rest(_a, [\"isOpen\", \"onDidDismiss\", \"onDidPresent\", \"onWillDismiss\", \"onWillPresent\"]);\n this.overlay = await controller.create(Object.assign({}, cProps));\n attachProps(this.overlay, {\n [didDismissEventName]: this.handleDismiss,\n [didPresentEventName]: (e) => this.props.onDidPresent && this.props.onDidPresent(e),\n [willDismissEventName]: (e) => this.props.onWillDismiss && this.props.onWillDismiss(e),\n [willPresentEventName]: (e) => this.props.onWillPresent && this.props.onWillPresent(e),\n }, prevProps);\n // Check isOpen again since the value could have changed during the async call to controller.create\n // It's also possible for the component to have become unmounted.\n if (this.props.isOpen === true && this.isUnmounted === false) {\n setRef(this.props.forwardedRef, this.overlay);\n await this.overlay.present();\n }\n }\n render() {\n return null;\n }\n }\n return React.forwardRef((props, ref) => {\n return React.createElement(Overlay, Object.assign({}, props, { forwardedRef: ref }));\n });\n};\n\nconst IonAlert = /*@__PURE__*/ createControllerComponent('IonAlert', alertController);\n\nconst IonLoading = /*@__PURE__*/ createControllerComponent('IonLoading', loadingController);\n\nconst toastController = {\n create: (options) => toastController$1.create(options),\n dismiss: (data, role, id) => toastController$1.dismiss(data, role, id),\n getTop: () => toastController$1.getTop(),\n};\nconst IonToast = /*@__PURE__*/ createControllerComponent('IonToast', toastController);\n\nconst IonPicker = /*@__PURE__*/ createControllerComponent('IonPicker', pickerController);\n\nconst createOverlayComponent = (displayName, controller) => {\n const didDismissEventName = `on${displayName}DidDismiss`;\n const didPresentEventName = `on${displayName}DidPresent`;\n const willDismissEventName = `on${displayName}WillDismiss`;\n const willPresentEventName = `on${displayName}WillPresent`;\n class Overlay extends React.Component {\n constructor(props) {\n super(props);\n this.isDismissing = false;\n if (typeof document !== 'undefined') {\n this.el = document.createElement('div');\n }\n this.handleDismiss = this.handleDismiss.bind(this);\n }\n static get displayName() {\n return displayName;\n }\n componentDidMount() {\n if (this.props.isOpen) {\n this.present();\n }\n }\n componentWillUnmount() {\n if (this.overlay) {\n this.overlay.dismiss();\n }\n }\n handleDismiss(event) {\n if (this.props.onDidDismiss) {\n this.props.onDidDismiss(event);\n }\n setRef(this.props.forwardedRef, null);\n }\n shouldComponentUpdate(nextProps) {\n // Check if the overlay component is about to dismiss\n if (this.overlay && nextProps.isOpen !== this.props.isOpen && nextProps.isOpen === false) {\n this.isDismissing = true;\n }\n return true;\n }\n async componentDidUpdate(prevProps) {\n if (this.overlay) {\n attachProps(this.overlay, this.props, prevProps);\n }\n if (prevProps.isOpen !== this.props.isOpen && this.props.isOpen === true) {\n this.present(prevProps);\n }\n if (this.overlay && prevProps.isOpen !== this.props.isOpen && this.props.isOpen === false) {\n await this.overlay.dismiss();\n this.isDismissing = false;\n /**\n * Now that the overlay is dismissed\n * we need to render again so that any\n * inner components will be unmounted\n */\n this.forceUpdate();\n }\n }\n async present(prevProps) {\n const _a = this.props, cProps = __rest(_a, [\"children\", \"isOpen\", \"onDidDismiss\", \"onDidPresent\", \"onWillDismiss\", \"onWillPresent\"]);\n const elementProps = Object.assign(Object.assign({}, cProps), { ref: this.props.forwardedRef, [didDismissEventName]: this.handleDismiss, [didPresentEventName]: (e) => this.props.onDidPresent && this.props.onDidPresent(e), [willDismissEventName]: (e) => this.props.onWillDismiss && this.props.onWillDismiss(e), [willPresentEventName]: (e) => this.props.onWillPresent && this.props.onWillPresent(e) });\n this.overlay = await controller.create(Object.assign(Object.assign({}, elementProps), { component: this.el, componentProps: {} }));\n setRef(this.props.forwardedRef, this.overlay);\n attachProps(this.overlay, elementProps, prevProps);\n await this.overlay.present();\n }\n render() {\n /**\n * Continue to render the component even when\n * overlay is dismissing otherwise component\n * will be hidden before animation is done.\n */\n return ReactDOM.createPortal(this.props.isOpen || this.isDismissing ? this.props.children : null, this.el);\n }\n }\n return React.forwardRef((props, ref) => {\n return React.createElement(Overlay, Object.assign({}, props, { forwardedRef: ref }));\n });\n};\n\nconst actionSheetController = {\n create: (options) => actionSheetController$1.create(options),\n dismiss: (data, role, id) => actionSheetController$1.dismiss(data, role, id),\n getTop: () => actionSheetController$1.getTop(),\n};\nconst IonActionSheet = /*@__PURE__*/ createOverlayComponent('IonActionSheet', actionSheetController);\n\nconst IonModal = /*@__PURE__*/ createOverlayComponent('IonModal', modalController);\n\nconst IonPopover = /*@__PURE__*/ createOverlayComponent('IonPopover', popoverController);\n\nconst StackContext = React.createContext({\n registerIonPage: () => undefined,\n isInOutlet: () => false,\n});\n\nclass PageManager extends React.PureComponent {\n constructor(props) {\n super(props);\n this.ionPageElementRef = React.createRef();\n // React refs must be stable (not created inline).\n this.stableMergedRefs = mergeRefs(this.ionPageElementRef, this.props.forwardedRef);\n }\n componentDidMount() {\n if (this.ionPageElementRef.current) {\n if (this.context.isInOutlet()) {\n this.ionPageElementRef.current.classList.add('ion-page-invisible');\n }\n this.context.registerIonPage(this.ionPageElementRef.current, this.props.routeInfo);\n this.ionPageElementRef.current.addEventListener('ionViewWillEnter', this.ionViewWillEnterHandler.bind(this));\n this.ionPageElementRef.current.addEventListener('ionViewDidEnter', this.ionViewDidEnterHandler.bind(this));\n this.ionPageElementRef.current.addEventListener('ionViewWillLeave', this.ionViewWillLeaveHandler.bind(this));\n this.ionPageElementRef.current.addEventListener('ionViewDidLeave', this.ionViewDidLeaveHandler.bind(this));\n }\n }\n componentWillUnmount() {\n if (this.ionPageElementRef.current) {\n this.ionPageElementRef.current.removeEventListener('ionViewWillEnter', this.ionViewWillEnterHandler.bind(this));\n this.ionPageElementRef.current.removeEventListener('ionViewDidEnter', this.ionViewDidEnterHandler.bind(this));\n this.ionPageElementRef.current.removeEventListener('ionViewWillLeave', this.ionViewWillLeaveHandler.bind(this));\n this.ionPageElementRef.current.removeEventListener('ionViewDidLeave', this.ionViewDidLeaveHandler.bind(this));\n }\n }\n ionViewWillEnterHandler() {\n this.ionLifeCycleContext.ionViewWillEnter();\n }\n ionViewDidEnterHandler() {\n this.ionLifeCycleContext.ionViewDidEnter();\n }\n ionViewWillLeaveHandler() {\n this.ionLifeCycleContext.ionViewWillLeave();\n }\n ionViewDidLeaveHandler() {\n this.ionLifeCycleContext.ionViewDidLeave();\n }\n render() {\n const _a = this.props, { className, children, routeInfo, forwardedRef } = _a, props = __rest(_a, [\"className\", \"children\", \"routeInfo\", \"forwardedRef\"]);\n return (React.createElement(IonLifeCycleContext.Consumer, null, (context) => {\n this.ionLifeCycleContext = context;\n return (React.createElement(\"div\", Object.assign({ className: className ? `${className} ion-page` : `ion-page`, ref: this.stableMergedRefs }, props), children));\n }));\n }\n static get contextType() {\n return StackContext;\n }\n}\n\nclass IonPageInternal extends React.Component {\n constructor(props) {\n super(props);\n }\n render() {\n const _a = this.props, { className, children, forwardedRef } = _a, props = __rest(_a, [\"className\", \"children\", \"forwardedRef\"]);\n return this.context.hasIonicRouter() ? (React.createElement(PageManager, Object.assign({ className: className ? `${className}` : '', routeInfo: this.context.routeInfo, forwardedRef: forwardedRef }, props), children)) : (React.createElement(\"div\", Object.assign({ className: className ? `ion-page ${className}` : 'ion-page', ref: forwardedRef }, props), children));\n }\n static get displayName() {\n return 'IonPage';\n }\n static get contextType() {\n return NavContext;\n }\n}\nconst IonPage = createForwardRef(IonPageInternal, 'IonPage');\n\nconst IonTabsContext = React.createContext({\n activeTab: undefined,\n selectTab: () => false,\n});\n\nconst HTMLElementSSR = (typeof HTMLElement !== 'undefined'\n ? HTMLElement\n : class {\n });\n\nconst IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button');\nconst IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar');\nconst IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button');\nconst IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet');\n// ionicons\nconst IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon');\n\nclass OutletPageManager extends React.Component {\n constructor(props) {\n super(props);\n }\n componentDidMount() {\n if (this.ionRouterOutlet) {\n setTimeout(() => {\n this.context.registerIonPage(this.ionRouterOutlet, this.props.routeInfo);\n }, 25);\n this.ionRouterOutlet.addEventListener('ionViewWillEnter', this.ionViewWillEnterHandler.bind(this));\n this.ionRouterOutlet.addEventListener('ionViewDidEnter', this.ionViewDidEnterHandler.bind(this));\n this.ionRouterOutlet.addEventListener('ionViewWillLeave', this.ionViewWillLeaveHandler.bind(this));\n this.ionRouterOutlet.addEventListener('ionViewDidLeave', this.ionViewDidLeaveHandler.bind(this));\n }\n }\n componentWillUnmount() {\n if (this.ionRouterOutlet) {\n this.ionRouterOutlet.removeEventListener('ionViewWillEnter', this.ionViewWillEnterHandler.bind(this));\n this.ionRouterOutlet.removeEventListener('ionViewDidEnter', this.ionViewDidEnterHandler.bind(this));\n this.ionRouterOutlet.removeEventListener('ionViewWillLeave', this.ionViewWillLeaveHandler.bind(this));\n this.ionRouterOutlet.removeEventListener('ionViewDidLeave', this.ionViewDidLeaveHandler.bind(this));\n }\n }\n ionViewWillEnterHandler() {\n this.ionLifeCycleContext.ionViewWillEnter();\n }\n ionViewDidEnterHandler() {\n this.ionLifeCycleContext.ionViewDidEnter();\n }\n ionViewWillLeaveHandler() {\n this.ionLifeCycleContext.ionViewWillLeave();\n }\n ionViewDidLeaveHandler() {\n this.ionLifeCycleContext.ionViewDidLeave();\n }\n render() {\n const _a = this.props, { StackManager, children, routeInfo } = _a, props = __rest(_a, [\"StackManager\", \"children\", \"routeInfo\"]);\n return (React.createElement(IonLifeCycleContext.Consumer, null, (context) => {\n this.ionLifeCycleContext = context;\n return (React.createElement(StackManager, { routeInfo: routeInfo },\n React.createElement(IonRouterOutletInner, Object.assign({ setRef: (val) => (this.ionRouterOutlet = val) }, props), children)));\n }));\n }\n static get contextType() {\n return StackContext;\n }\n}\n\nclass IonRouterOutletContainer extends React.Component {\n constructor(props) {\n super(props);\n }\n render() {\n const StackManager = this.context.getStackManager();\n const _a = this.props, { children, forwardedRef } = _a, props = __rest(_a, [\"children\", \"forwardedRef\"]);\n return this.context.hasIonicRouter() ? (props.ionPage ? (React.createElement(OutletPageManager, Object.assign({ StackManager: StackManager, routeInfo: this.context.routeInfo }, props), children)) : (React.createElement(StackManager, { routeInfo: this.context.routeInfo },\n React.createElement(IonRouterOutletInner, Object.assign({}, props, { forwardedRef: forwardedRef }), children)))) : (React.createElement(IonRouterOutletInner, Object.assign({ ref: forwardedRef }, this.props), this.props.children));\n }\n static get contextType() {\n return NavContext;\n }\n}\nconst IonRouterOutlet = createForwardRef(IonRouterOutletContainer, 'IonRouterOutlet');\n\nclass IonTabButton extends React.Component {\n constructor(props) {\n super(props);\n this.handleIonTabButtonClick = this.handleIonTabButtonClick.bind(this);\n }\n handleIonTabButtonClick() {\n if (this.props.onClick) {\n this.props.onClick(new CustomEvent('ionTabButtonClick', {\n detail: {\n tab: this.props.tab,\n href: this.props.href,\n routeOptions: this.props.routerOptions,\n },\n }));\n }\n }\n render() {\n const _a = this.props, rest = __rest(_a, [\"onClick\"]);\n return (React.createElement(IonTabButtonInner, Object.assign({ onIonTabButtonClick: this.handleIonTabButtonClick }, rest)));\n }\n static get displayName() {\n return 'IonTabButton';\n }\n}\n\nclass IonTabBarUnwrapped extends React.PureComponent {\n constructor(props) {\n super(props);\n this.setActiveTabOnContext = (_tab) => { };\n const tabs = {};\n React.Children.forEach(props.children, (child) => {\n var _a, _b, _c, _d;\n if (child != null &&\n typeof child === 'object' &&\n child.props &&\n (child.type === IonTabButton || child.type.isTabButton)) {\n tabs[child.props.tab] = {\n originalHref: child.props.href,\n currentHref: child.props.href,\n originalRouteOptions: child.props.href === ((_a = props.routeInfo) === null || _a === void 0 ? void 0 : _a.pathname)\n ? (_b = props.routeInfo) === null || _b === void 0 ? void 0 : _b.routeOptions : undefined,\n currentRouteOptions: child.props.href === ((_c = props.routeInfo) === null || _c === void 0 ? void 0 : _c.pathname)\n ? (_d = props.routeInfo) === null || _d === void 0 ? void 0 : _d.routeOptions : undefined,\n };\n }\n });\n this.state = {\n tabs,\n };\n this.onTabButtonClick = this.onTabButtonClick.bind(this);\n this.renderTabButton = this.renderTabButton.bind(this);\n this.setActiveTabOnContext = this.setActiveTabOnContext.bind(this);\n this.selectTab = this.selectTab.bind(this);\n }\n componentDidMount() {\n const tabs = this.state.tabs;\n const tabKeys = Object.keys(tabs);\n const activeTab = tabKeys.find((key) => {\n const href = tabs[key].originalHref;\n return this.props.routeInfo.pathname.startsWith(href);\n });\n if (activeTab) {\n this.setState({\n activeTab,\n });\n }\n }\n componentDidUpdate() {\n if (this.state.activeTab) {\n this.setActiveTabOnContext(this.state.activeTab);\n }\n }\n selectTab(tab) {\n const tabUrl = this.state.tabs[tab];\n if (tabUrl) {\n this.onTabButtonClick(new CustomEvent('ionTabButtonClick', {\n detail: {\n href: tabUrl.currentHref,\n tab,\n selected: tab === this.state.activeTab,\n routeOptions: undefined,\n },\n }));\n return true;\n }\n return false;\n }\n static getDerivedStateFromProps(props, state) {\n var _a, _b, _c;\n const tabs = Object.assign({}, state.tabs);\n const tabKeys = Object.keys(state.tabs);\n const activeTab = tabKeys.find((key) => {\n const href = state.tabs[key].originalHref;\n return props.routeInfo.pathname.startsWith(href);\n });\n // Check to see if the tab button href has changed, and if so, update it in the tabs state\n React.Children.forEach(props.children, (child) => {\n if (child != null &&\n typeof child === 'object' &&\n child.props &&\n (child.type === IonTabButton || child.type.isTabButton)) {\n const tab = tabs[child.props.tab];\n if (!tab || tab.originalHref !== child.props.href) {\n tabs[child.props.tab] = {\n originalHref: child.props.href,\n currentHref: child.props.href,\n originalRouteOptions: child.props.routeOptions,\n currentRouteOptions: child.props.routeOptions,\n };\n }\n }\n });\n const { activeTab: prevActiveTab } = state;\n if (activeTab && prevActiveTab) {\n const prevHref = state.tabs[prevActiveTab].currentHref;\n const prevRouteOptions = state.tabs[prevActiveTab].currentRouteOptions;\n if (activeTab !== prevActiveTab ||\n prevHref !== ((_a = props.routeInfo) === null || _a === void 0 ? void 0 : _a.pathname) ||\n prevRouteOptions !== ((_b = props.routeInfo) === null || _b === void 0 ? void 0 : _b.routeOptions)) {\n tabs[activeTab] = {\n originalHref: tabs[activeTab].originalHref,\n currentHref: props.routeInfo.pathname + (props.routeInfo.search || ''),\n originalRouteOptions: tabs[activeTab].originalRouteOptions,\n currentRouteOptions: (_c = props.routeInfo) === null || _c === void 0 ? void 0 : _c.routeOptions,\n };\n if (props.routeInfo.routeAction === 'pop' && activeTab !== prevActiveTab) {\n // If navigating back and the tabs change, set the prev tab back to its original href\n tabs[prevActiveTab] = {\n originalHref: tabs[prevActiveTab].originalHref,\n currentHref: tabs[prevActiveTab].originalHref,\n originalRouteOptions: tabs[prevActiveTab].originalRouteOptions,\n currentRouteOptions: tabs[prevActiveTab].currentRouteOptions,\n };\n }\n }\n }\n activeTab && props.onSetCurrentTab(activeTab, props.routeInfo);\n return {\n activeTab,\n tabs,\n };\n }\n onTabButtonClick(e) {\n const tappedTab = this.state.tabs[e.detail.tab];\n const originalHref = tappedTab.originalHref;\n const currentHref = e.detail.href;\n const { activeTab: prevActiveTab } = this.state;\n // this.props.onSetCurrentTab(e.detail.tab, this.props.routeInfo);\n // Clicking the current tab will bring you back to the original href\n if (prevActiveTab === e.detail.tab) {\n if (originalHref !== currentHref) {\n this.context.resetTab(e.detail.tab, originalHref, tappedTab.originalRouteOptions);\n }\n }\n else {\n if (this.props.onIonTabsWillChange) {\n this.props.onIonTabsWillChange(new CustomEvent('ionTabWillChange', { detail: { tab: e.detail.tab } }));\n }\n if (this.props.onIonTabsDidChange) {\n this.props.onIonTabsDidChange(new CustomEvent('ionTabDidChange', { detail: { tab: e.detail.tab } }));\n }\n this.setActiveTabOnContext(e.detail.tab);\n this.context.changeTab(e.detail.tab, currentHref, e.detail.routeOptions);\n }\n }\n renderTabButton(activeTab) {\n return (child) => {\n var _a, _b;\n if (child != null &&\n child.props &&\n (child.type === IonTabButton || child.type.isTabButton)) {\n const href = child.props.tab === activeTab\n ? (_a = this.props.routeInfo) === null || _a === void 0 ? void 0 : _a.pathname : this.state.tabs[child.props.tab].currentHref;\n const routeOptions = child.props.tab === activeTab\n ? (_b = this.props.routeInfo) === null || _b === void 0 ? void 0 : _b.routeOptions : this.state.tabs[child.props.tab].currentRouteOptions;\n return React.cloneElement(child, {\n href,\n routeOptions,\n onClick: this.onTabButtonClick,\n });\n }\n return null;\n };\n }\n render() {\n const { activeTab } = this.state;\n return (React.createElement(IonTabBarInner, Object.assign({}, this.props, { selectedTab: activeTab }), React.Children.map(this.props.children, this.renderTabButton(activeTab))));\n }\n static get contextType() {\n return NavContext;\n }\n}\nconst IonTabBarContainer = React.memo((_a) => {\n var { forwardedRef } = _a, props = __rest(_a, [\"forwardedRef\"]);\n const context = useContext(NavContext);\n return (React.createElement(IonTabBarUnwrapped, Object.assign({ ref: forwardedRef }, props, { routeInfo: props.routeInfo || context.routeInfo || { pathname: window.location.pathname }, onSetCurrentTab: context.setCurrentTab }), props.children));\n});\nconst IonTabBar = createForwardRef(IonTabBarContainer, 'IonTabBar');\n\nclass IonTabsElement extends HTMLElementSSR {\n constructor() {\n super();\n }\n}\nif (typeof window !== 'undefined' && window.customElements) {\n const element = customElements.get('ion-tabs');\n if (!element) {\n customElements.define('ion-tabs', IonTabsElement);\n }\n}\nconst hostStyles = {\n display: 'flex',\n position: 'absolute',\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n flexDirection: 'column',\n width: '100%',\n height: '100%',\n contain: 'layout size style',\n};\nconst tabsInner = {\n position: 'relative',\n flex: 1,\n contain: 'layout size style',\n};\nclass IonTabs extends React.Component {\n constructor(props) {\n super(props);\n this.routerOutletRef = React.createRef();\n this.tabBarRef = React.createRef();\n this.ionTabContextState = {\n activeTab: undefined,\n selectTab: () => false,\n };\n }\n componentDidMount() {\n if (this.tabBarRef.current) {\n // Grab initial value\n this.ionTabContextState.activeTab = this.tabBarRef.current.state.activeTab;\n // Override method\n this.tabBarRef.current.setActiveTabOnContext = (tab) => {\n this.ionTabContextState.activeTab = tab;\n };\n this.ionTabContextState.selectTab = this.tabBarRef.current.selectTab;\n }\n }\n render() {\n let outlet;\n let tabBar;\n const _a = this.props, { className, onIonTabsDidChange, onIonTabsWillChange } = _a, props = __rest(_a, [\"className\", \"onIonTabsDidChange\", \"onIonTabsWillChange\"]);\n const children = typeof this.props.children === 'function'\n ? this.props.children(this.ionTabContextState)\n : this.props.children;\n React.Children.forEach(children, (child) => {\n if (child == null || typeof child !== 'object' || !child.hasOwnProperty('type')) {\n return;\n }\n if (child.type === IonRouterOutlet || child.type.isRouterOutlet) {\n outlet = React.cloneElement(child, { tabs: true });\n }\n else if (child.type === Fragment && child.props.children[0].type === IonRouterOutlet) {\n outlet = child.props.children[0];\n }\n let childProps = {\n ref: this.tabBarRef\n };\n /**\n * Only pass these props\n * down from IonTabs to IonTabBar\n * if they are defined, otherwise\n * if you have a handler set on\n * IonTabBar it will be overridden.\n */\n if (onIonTabsDidChange !== undefined) {\n childProps = Object.assign(Object.assign({}, childProps), { onIonTabsDidChange });\n }\n if (onIonTabsWillChange !== undefined) {\n childProps = Object.assign(Object.assign({}, childProps), { onIonTabsWillChange });\n }\n if (child.type === IonTabBar || child.type.isTabBar) {\n tabBar = React.cloneElement(child, childProps);\n }\n else if (child.type === Fragment &&\n (child.props.children[1].type === IonTabBar || child.props.children[1].type.isTabBar)) {\n tabBar = React.cloneElement(child.props.children[1], childProps);\n }\n });\n if (!outlet) {\n throw new Error('IonTabs must contain an IonRouterOutlet');\n }\n if (!tabBar) {\n throw new Error('IonTabs needs a IonTabBar');\n }\n return (React.createElement(IonTabsContext.Provider, { value: this.ionTabContextState }, this.context.hasIonicRouter() ? (React.createElement(PageManager, Object.assign({ className: className ? `${className}` : '', routeInfo: this.context.routeInfo }, props),\n React.createElement(\"ion-tabs\", { className: \"ion-tabs\", style: hostStyles },\n tabBar.props.slot === 'top' ? tabBar : null,\n React.createElement(\"div\", { style: tabsInner, className: \"tabs-inner\" }, outlet),\n tabBar.props.slot === 'bottom' ? tabBar : null))) : (React.createElement(\"div\", Object.assign({ className: className ? `${className}` : 'ion-tabs' }, props, { style: hostStyles }),\n tabBar.props.slot === 'top' ? tabBar : null,\n React.createElement(\"div\", { style: tabsInner, className: \"tabs-inner\" }, outlet),\n tabBar.props.slot === 'bottom' ? tabBar : null))));\n }\n static get contextType() {\n return NavContext;\n }\n}\n\nconst IonBackButton = /*@__PURE__*/ (() => class extends React.Component {\n constructor() {\n super(...arguments);\n this.clickButton = (e) => {\n const { defaultHref, routerAnimation } = this.props;\n if (this.context.hasIonicRouter()) {\n e.stopPropagation();\n this.context.goBack(defaultHref, routerAnimation);\n }\n else if (defaultHref !== undefined) {\n window.location.href = defaultHref;\n }\n };\n }\n render() {\n return React.createElement(IonBackButtonInner, Object.assign({ onClick: this.clickButton }, this.props));\n }\n static get displayName() {\n return 'IonBackButton';\n }\n static get contextType() {\n return NavContext;\n }\n})();\n\nconst isDevMode = () => {\n return process && process.env && process.env.NODE_ENV === 'development';\n};\nconst warnings = {};\nconst deprecationWarning = (key, message) => {\n if (isDevMode()) {\n if (!warnings[key]) {\n console.warn(message);\n warnings[key] = true;\n }\n }\n};\n\nclass IonIconContainer extends React.PureComponent {\n constructor(props) {\n super(props);\n if (this.props.name) {\n deprecationWarning('icon-name', 'In Ionic React, you import icons from \"ionicons/icons\" and set the icon you imported to the \"icon\" property. Setting the \"name\" property has no effect.');\n }\n }\n render() {\n var _a, _b;\n const _c = this.props, { icon, ios, md } = _c, rest = __rest(_c, [\"icon\", \"ios\", \"md\"]);\n let iconToUse;\n if (ios || md) {\n if (isPlatform('ios')) {\n iconToUse = (_a = ios !== null && ios !== void 0 ? ios : md) !== null && _a !== void 0 ? _a : icon;\n }\n else {\n iconToUse = (_b = md !== null && md !== void 0 ? md : ios) !== null && _b !== void 0 ? _b : icon;\n }\n }\n else {\n iconToUse = icon;\n }\n return (React.createElement(IonIconInner, Object.assign({ ref: this.props.forwardedRef, icon: iconToUse }, rest), this.props.children));\n }\n static get contextType() {\n return NavContext;\n }\n}\nconst IonIcon = createForwardRef(IonIconContainer, 'IonIcon');\n\nclass IonRoute extends React.PureComponent {\n render() {\n const IonRouteInner = this.context.getIonRoute();\n if (!this.context.hasIonicRouter() || !IonRoute) {\n console.error('You either do not have an Ionic Router package, or your router does not support using <IonRoute>');\n return null;\n }\n return React.createElement(IonRouteInner, Object.assign({}, this.props));\n }\n static get contextType() {\n return NavContext;\n }\n}\n\nclass IonRedirect extends React.PureComponent {\n render() {\n const IonRedirectInner = this.context.getIonRedirect();\n if (!this.context.hasIonicRouter() || !IonRedirect) {\n console.error('You either do not have an Ionic Router package, or your router does not support using <IonRedirect>');\n return null;\n }\n return React.createElement(IonRedirectInner, Object.assign({}, this.props));\n }\n static get contextType() {\n return NavContext;\n }\n}\n\nconst IonRouterContext = React.createContext({\n routeInfo: undefined,\n push: () => {\n throw new Error('An Ionic Router is required for IonRouterContext');\n },\n back: () => {\n throw new Error('An Ionic Router is required for IonRouterContext');\n },\n canGoBack: () => {\n throw new Error('An Ionic Router is required for IonRouterContext');\n },\n nativeBack: () => {\n throw new Error('An Ionic Router is required for IonRouterContext');\n },\n});\n/**\n * A hook for more direct control over routing in an Ionic React applicaiton. Allows you to pass additional meta-data to the router before the call to the native router.\n */\nfunction useIonRouter() {\n const context = useContext(IonRouterContext);\n return {\n back: context.back,\n push: context.push,\n goBack: context.back,\n canGoBack: context.canGoBack,\n routeInfo: context.routeInfo,\n };\n}\n\nclass CreateAnimation extends React.PureComponent {\n constructor(props) {\n super(props);\n this.nodes = new Map();\n this.animation = createAnimation(props.id);\n }\n setupAnimation(props) {\n const animation = this.animation;\n if (this.nodes.size > 0) {\n animation.addElement(Array.from(this.nodes.values()));\n }\n checkConfig(animation, props);\n checkPlayback(animation, props);\n }\n componentDidMount() {\n const props = this.props;\n this.setupAnimation(props);\n }\n componentDidUpdate(prevProps) {\n const animation = this.animation;\n const props = this.props;\n checkConfig(animation, props, prevProps);\n checkProgress(animation, props, prevProps);\n checkPlayback(animation, props, prevProps);\n }\n render() {\n const { children } = this.props;\n return (React.createElement(React.Fragment, null, React.Children.map(children, (child, id) => React.cloneElement(child, { ref: (el) => this.nodes.set(id, el) }))));\n }\n}\nconst checkConfig = (animation, currentProps = {}, prevProps = {}) => {\n const reservedProps = [\n 'children',\n 'progressStart',\n 'progressStep',\n 'progressEnd',\n 'pause',\n 'stop',\n 'destroy',\n 'play',\n 'from',\n 'to',\n 'fromTo',\n 'onFinish',\n ];\n for (const key in currentProps) {\n if (currentProps.hasOwnProperty(key) &&\n !reservedProps.includes(key) &&\n currentProps[key] !== prevProps[key]) {\n animation[key](currentProps[key]);\n }\n }\n const fromValues = currentProps.from;\n if (fromValues && fromValues !== prevProps.from) {\n const values = Array.isArray(fromValues) ? fromValues : [fromValues];\n values.forEach((val) => animation.from(val.property, val.value));\n }\n const toValues = currentProps.to;\n if (toValues && toValues !== prevProps.to) {\n const values = Array.isArray(toValues) ? toValues : [toValues];\n values.forEach((val) => animation.to(val.property, val.value));\n }\n const fromToValues = currentProps.fromTo;\n if (fromToValues && fromToValues !== prevProps.fromTo) {\n const values = Array.isArray(fromToValues) ? fromToValues : [fromToValues];\n values.forEach((val) => animation.fromTo(val.property, val.fromValue, val.toValue));\n }\n const onFinishValues = currentProps.onFinish;\n if (onFinishValues && onFinishValues !== prevProps.onFinish) {\n const values = Array.isArray(onFinishValues) ? onFinishValues : [onFinishValues];\n values.forEach((val) => animation.onFinish(val.callback, val.opts));\n }\n};\nconst checkProgress = (animation, currentProps = {}, prevProps = {}) => {\n var _a, _b, _c, _d, _e;\n const { progressStart, progressStep, progressEnd } = currentProps;\n if (progressStart &&\n (((_a = prevProps.progressStart) === null || _a === void 0 ? void 0 : _a.forceLinearEasing) !== (progressStart === null || progressStart === void 0 ? void 0 : progressStart.forceLinearEasing) ||\n ((_b = prevProps.progressStart) === null || _b === void 0 ? void 0 : _b.step) !== (progressStart === null || progressStart === void 0 ? void 0 : progressStart.step))) {\n animation.progressStart(progressStart.forceLinearEasing, progressStart.step);\n }\n if (progressStep && ((_c = prevProps.progressStep) === null || _c === void 0 ? void 0 : _c.step) !== (progressStep === null || progressStep === void 0 ? void 0 : progressStep.step)) {\n animation.progressStep(progressStep.step);\n }\n if (progressEnd &&\n (((_d = prevProps.progressEnd) === null || _d === void 0 ? void 0 : _d.playTo) !== (progressEnd === null || progressEnd === void 0 ? void 0 : progressEnd.playTo) ||\n ((_e = prevProps.progressEnd) === null || _e === void 0 ? void 0 : _e.step) !== (progressEnd === null || progressEnd === void 0 ? void 0 : progressEnd.step) ||\n (prevProps === null || prevProps === void 0 ? void 0 : prevProps.dur) !== (progressEnd === null || progressEnd === void 0 ? void 0 : progressEnd.dur))) {\n animation.progressEnd(progressEnd.playTo, progressEnd.step, progressEnd.dur);\n }\n};\nconst checkPlayback = (animation, currentProps = {}, prevProps = {}) => {\n if (!prevProps.play && currentProps.play) {\n animation.play();\n }\n if (!prevProps.pause && currentProps.pause) {\n animation.pause();\n }\n if (!prevProps.stop && currentProps.stop) {\n animation.stop();\n }\n if (!prevProps.destroy && currentProps.destroy) {\n animation.destroy();\n }\n};\n\nfunction useController(displayName, controller) {\n const overlayRef = useRef();\n const didDismissEventName = useMemo(() => `on${displayName}DidDismiss`, [displayName]);\n const didPresentEventName = useMemo(() => `on${displayName}DidPresent`, [displayName]);\n const willDismissEventName = useMemo(() => `on${displayName}WillDismiss`, [displayName]);\n const willPresentEventName = useMemo(() => `on${displayName}WillPresent`, [displayName]);\n const present = async (options) => {\n if (overlayRef.current) {\n return;\n }\n const { onDidDismiss, onWillDismiss, onDidPresent, onWillPresent } = options, rest = __rest(options, [\"onDidDismiss\", \"onWillDismiss\", \"onDidPresent\", \"onWillPresent\"]);\n const handleDismiss = (event) => {\n if (onDidDismiss) {\n onDidDismiss(event);\n }\n overlayRef.current = undefined;\n };\n overlayRef.current = await controller.create(Object.assign({}, rest));\n attachProps(overlayRef.current, {\n [didDismissEventName]: handleDismiss,\n [didPresentEventName]: (e) => onDidPresent && onDidPresent(e),\n [willDismissEventName]: (e) => onWillDismiss && onWillDismiss(e),\n [willPresentEventName]: (e) => onWillPresent && onWillPresent(e),\n });\n overlayRef.current.present();\n };\n const dismiss = async () => {\n overlayRef.current && await overlayRef.current.dismiss();\n overlayRef.current = undefined;\n };\n return {\n present,\n dismiss,\n };\n}\n\n/**\n * A hook for presenting/dismissing an IonActionSheet component\n * @returns Returns the present and dismiss methods in an array\n */\nfunction useIonActionSheet() {\n const controller = useController('IonActionSheet', actionSheetController$1);\n function present(buttonsOrOptions, header) {\n if (Array.isArray(buttonsOrOptions)) {\n controller.present({\n buttons: buttonsOrOptions,\n header\n });\n }\n else {\n controller.present(buttonsOrOptions);\n }\n }\n return [\n present,\n controller.dismiss\n ];\n}\n\n/**\n * A hook for presenting/dismissing an IonAlert component\n * @returns Returns the present and dismiss methods in an array\n */\nfunction useIonAlert() {\n const controller = useController('IonAlert', alertController);\n function present(messageOrOptions, buttons) {\n if (typeof messageOrOptions === 'string') {\n controller.present({\n message: messageOrOptions,\n buttons: buttons !== null && buttons !== void 0 ? buttons : [{ text: 'Ok' }]\n });\n }\n else {\n controller.present(messageOrOptions);\n }\n }\n return [\n present,\n controller.dismiss\n ];\n}\n\n/**\n * A hook for presenting/dismissing an IonToast component\n * @returns Returns the present and dismiss methods in an array\n */\nfunction useIonToast() {\n const controller = useController('IonToast', toastController$1);\n function present(messageOrOptions, duration) {\n if (typeof messageOrOptions === 'string') {\n controller.present({\n message: messageOrOptions,\n duration\n });\n }\n else {\n controller.present(messageOrOptions);\n }\n }\n return [\n present,\n controller.dismiss\n ];\n}\n\nfunction useOverlay(displayName, controller, component, componentProps) {\n const overlayRef = useRef();\n const containerElRef = useRef();\n const didDismissEventName = useMemo(() => `on${displayName}DidDismiss`, [displayName]);\n const didPresentEventName = useMemo(() => `on${displayName}DidPresent`, [displayName]);\n const willDismissEventName = useMemo(() => `on${displayName}WillDismiss`, [displayName]);\n const willPresentEventName = useMemo(() => `on${displayName}WillPresent`, [displayName]);\n const [isOpen, setIsOpen] = useState(false);\n useEffect(() => {\n if (isOpen && component && containerElRef.current) {\n if (React.isValidElement(component)) {\n ReactDOM.render(component, containerElRef.current);\n }\n else {\n ReactDOM.render(React.createElement(component, componentProps), containerElRef.current);\n }\n }\n }, [component, containerElRef.current, isOpen, componentProps]);\n const present = async (options) => {\n if (overlayRef.current) {\n return;\n }\n const { onDidDismiss, onWillDismiss, onDidPresent, onWillPresent } = options, rest = __rest(options, [\"onDidDismiss\", \"onWillDismiss\", \"onDidPresent\", \"onWillPresent\"]);\n if (typeof document !== 'undefined') {\n containerElRef.current = document.createElement('div');\n }\n overlayRef.current = await controller.create(Object.assign(Object.assign({}, rest), { component: containerElRef.current }));\n attachProps(overlayRef.current, {\n [didDismissEventName]: handleDismiss,\n [didPresentEventName]: (e) => onDidPresent && onDidPresent(e),\n [willDismissEventName]: (e) => onWillDismiss && onWillDismiss(e),\n [willPresentEventName]: (e) => onWillPresent && onWillPresent(e),\n });\n overlayRef.current.present();\n setIsOpen(true);\n function handleDismiss(event) {\n if (onDidDismiss) {\n onDidDismiss(event);\n }\n overlayRef.current = undefined;\n containerElRef.current = undefined;\n setIsOpen(false);\n }\n };\n const dismiss = async () => {\n overlayRef.current && await overlayRef.current.dismiss();\n overlayRef.current = undefined;\n containerElRef.current = undefined;\n };\n return {\n present,\n dismiss,\n };\n}\n\n/**\n * A hook for presenting/dismissing an IonModal component\n * @param component The component that the modal will show. Can be a React Component, a functional component, or a JSX Element\n * @param componentProps The props that will be passed to the component, if required\n * @returns Returns the present and dismiss methods in an array\n */\nfunction useIonModal(component, componentProps) {\n const controller = useOverlay('IonModal', modalController, component, componentProps);\n function present(options = {}) {\n controller.present(options);\n }\n return [\n present,\n controller.dismiss\n ];\n}\n\n/**\n * A hook for presenting/dismissing an IonPicker component\n * @param component The component that the popover will show. Can be a React Component, a functional component, or a JSX Element\n * @param componentProps The props that will be passed to the component, if required\n * @returns Returns the present and dismiss methods in an array\n */\nfunction useIonPopover(component, componentProps) {\n const controller = useOverlay('IonPopover', popoverController, component, componentProps);\n function present(options = {}) {\n controller.present(options);\n }\n return [\n present,\n controller.dismiss\n ];\n}\n\n/**\n * A hook for presenting/dismissing an IonPicker component\n * @returns Returns the present and dismiss methods in an array\n */\nfunction useIonPicker() {\n const controller = useController('IonPicker', pickerController);\n function present(columnsOrOptions, buttons) {\n if (Array.isArray(columnsOrOptions)) {\n controller.present({\n columns: columnsOrOptions,\n buttons: buttons !== null && buttons !== void 0 ? buttons : [{ text: 'Ok' }],\n });\n }\n else {\n controller.present(columnsOrOptions);\n }\n }\n return [present, controller.dismiss];\n}\n\n/**\n * A hook for presenting/dismissing an IonLoading component\n * @returns Returns the present and dismiss methods in an array\n */\nfunction useIonLoading() {\n const controller = useController('IonLoading', loadingController);\n function present(messageOrOptions = '', duration, spinner) {\n if (typeof messageOrOptions === 'string') {\n controller.present({\n message: messageOrOptions,\n duration,\n spinner: spinner !== null && spinner !== void 0 ? spinner : 'lines',\n });\n }\n else {\n controller.present(messageOrOptions);\n }\n }\n return [present, controller.dismiss];\n}\n\n// Icons that are used by internal components\naddIcons({\n 'arrow-back-sharp': arrowBackSharp,\n 'caret-back-sharp': caretBackSharp,\n 'chevron-back': chevronBack,\n 'chevron-forward': chevronForward,\n close,\n 'close-circle': closeCircle,\n 'close-sharp': closeSharp,\n 'menu-outline': menuOutline,\n 'menu-sharp': menuSharp,\n 'reorder-two-sharp': reorderTwoSharp,\n 'reorder-three-outline': reorderThreeOutline,\n 'search-outline': searchOutline,\n 'search-sharp': searchSharp,\n});\n// TODO: defineCustomElements() is asyncronous\n// We need to use the promise\nif (typeof window !== 'undefined') {\n defineCustomElements(window);\n}\n\nconst RouteManagerContext = /*@__PURE__*/ React.createContext({\n addViewItem: () => undefined,\n canGoBack: () => undefined,\n clearOutlet: () => undefined,\n createViewItem: () => undefined,\n findViewItemByPathname: () => undefined,\n findLeavingViewItemByRouteInfo: () => undefined,\n findViewItemByRouteInfo: () => undefined,\n getChildrenToRender: () => undefined,\n goBack: () => undefined,\n unMountViewItem: () => undefined,\n});\n\nclass ViewLifeCycleManager extends React.Component {\n constructor(props) {\n super(props);\n this.ionLifeCycleContext = new DefaultIonLifeCycleContext();\n this._isMounted = false;\n this.ionLifeCycleContext.onComponentCanBeDestroyed(() => {\n if (!this.props.mount) {\n if (this._isMounted) {\n this.setState({\n show: false,\n }, () => this.props.removeView());\n }\n }\n });\n this.state = {\n show: true,\n };\n }\n componentDidMount() {\n this._isMounted = true;\n }\n componentWillUnmount() {\n this._isMounted = false;\n }\n render() {\n const { show } = this.state;\n return (React.createElement(IonLifeCycleContext.Provider, { value: this.ionLifeCycleContext }, show && this.props.children));\n }\n}\n\n// const RESTRICT_SIZE = 100;\nclass LocationHistory {\n constructor() {\n this.locationHistory = [];\n this.tabHistory = {};\n }\n add(routeInfo) {\n if (routeInfo.routeAction === 'push' || routeInfo.routeAction == null) {\n this._add(routeInfo);\n }\n else if (routeInfo.routeAction === 'pop') {\n this._pop(routeInfo);\n }\n else if (routeInfo.routeAction === 'replace') {\n this._replace(routeInfo);\n }\n if (routeInfo.routeDirection === 'root') {\n this._clear();\n this._add(routeInfo);\n }\n }\n clearTabStack(tab) {\n const routeInfos = this._getRouteInfosByKey(tab);\n if (routeInfos) {\n routeInfos.forEach((ri) => {\n this.locationHistory = this.locationHistory.filter((x) => x.id !== ri.id);\n });\n this.tabHistory[tab] = [];\n }\n }\n update(routeInfo) {\n const locationIndex = this.locationHistory.findIndex((x) => x.id === routeInfo.id);\n if (locationIndex > -1) {\n this.locationHistory.splice(locationIndex, 1, routeInfo);\n }\n const tabArray = this.tabHistory[routeInfo.tab || ''];\n if (tabArray) {\n const tabIndex = tabArray.findIndex((x) => x.id === routeInfo.id);\n if (tabIndex > -1) {\n tabArray.splice(tabIndex, 1, routeInfo);\n }\n else {\n tabArray.push(routeInfo);\n }\n }\n else if (routeInfo.tab) {\n this.tabHistory[routeInfo.tab] = [routeInfo];\n }\n }\n _add(routeInfo) {\n const routeInfos = this._getRouteInfosByKey(routeInfo.tab);\n if (routeInfos) {\n // If the latest routeInfo is the same (going back and forth between tabs), replace it\n if (this._areRoutesEqual(routeInfos[routeInfos.length - 1], routeInfo)) {\n routeInfos.pop();\n }\n routeInfos.push(routeInfo);\n }\n this.locationHistory.push(routeInfo);\n }\n _areRoutesEqual(route1, route2) {\n if (!route1 || !route2) {\n return false;\n }\n return route1.pathname === route2.pathname && route1.search === route2.search;\n }\n _pop(routeInfo) {\n const routeInfos = this._getRouteInfosByKey(routeInfo.tab);\n if (routeInfos) {\n // Pop the previous route\n routeInfos.pop();\n // Replace the current route with an updated version\n routeInfos.pop();\n routeInfos.push(routeInfo);\n }\n // Pop the previous route\n this.locationHistory.pop();\n // Replace the current route with an updated version\n this.locationHistory.pop();\n this.locationHistory.push(routeInfo);\n }\n _replace(routeInfo) {\n const routeInfos = this._getRouteInfosByKey(routeInfo.tab);\n routeInfos && routeInfos.pop();\n this.locationHistory.pop();\n this._add(routeInfo);\n }\n _clear() {\n const keys = Object.keys(this.tabHistory);\n keys.forEach((k) => (this.tabHistory[k] = []));\n this.locationHistory = [];\n }\n _getRouteInfosByKey(key) {\n let routeInfos;\n if (key) {\n routeInfos = this.tabHistory[key];\n if (!routeInfos) {\n routeInfos = this.tabHistory[key] = [];\n }\n }\n return routeInfos;\n }\n getFirstRouteInfoForTab(tab) {\n const routeInfos = this._getRouteInfosByKey(tab);\n if (routeInfos) {\n return routeInfos[0];\n }\n return undefined;\n }\n getCurrentRouteInfoForTab(tab) {\n const routeInfos = this._getRouteInfosByKey(tab);\n if (routeInfos) {\n return routeInfos[routeInfos.length - 1];\n }\n return undefined;\n }\n findLastLocation(routeInfo) {\n const routeInfos = this._getRouteInfosByKey(routeInfo.tab);\n if (routeInfos) {\n for (let i = routeInfos.length - 2; i >= 0; i--) {\n const ri = routeInfos[i];\n if (ri) {\n if (ri.pathname === routeInfo.pushedByRoute) {\n return ri;\n }\n }\n }\n }\n for (let i = this.locationHistory.length - 2; i >= 0; i--) {\n const ri = this.locationHistory[i];\n if (ri) {\n if (ri.pathname === routeInfo.pushedByRoute) {\n return ri;\n }\n }\n }\n return undefined;\n }\n previous() {\n return (this.locationHistory[this.locationHistory.length - 2] ||\n this.locationHistory[this.locationHistory.length - 1]);\n }\n current() {\n return this.locationHistory[this.locationHistory.length - 1];\n }\n canGoBack() {\n return this.locationHistory.length > 1;\n }\n}\n\nclass NavManager extends React.PureComponent {\n constructor(props) {\n super(props);\n this._isMounted = false;\n this.ionRouterContextValue = {\n push: (pathname, routerDirection, routeAction, routerOptions, animationBuilder) => {\n this.navigate(pathname, routerDirection, routeAction, animationBuilder, routerOptions);\n },\n back: (animationBuilder) => {\n this.goBack(undefined, animationBuilder);\n },\n canGoBack: () => this.props.locationHistory.canGoBack(),\n nativeBack: () => this.props.onNativeBack(),\n routeInfo: this.props.routeInfo,\n };\n this.state = {\n goBack: this.goBack.bind(this),\n hasIonicRouter: () => true,\n navigate: this.navigate.bind(this),\n getIonRedirect: this.getIonRedirect.bind(this),\n getIonRoute: this.getIonRoute.bind(this),\n getStackManager: this.getStackManager.bind(this),\n getPageManager: this.getPageManager.bind(this),\n routeInfo: this.props.routeInfo,\n setCurrentTab: this.props.onSetCurrentTab,\n changeTab: this.props.onChangeTab,\n resetTab: this.props.onResetTab,\n };\n if (typeof document !== 'undefined') {\n this.handleHardwareBackButton = this.handleHardwareBackButton.bind(this);\n document.addEventListener('ionBackButton', this.handleHardwareBackButton);\n }\n }\n componentDidMount() {\n this._isMounted = true;\n }\n componentWillUnmount() {\n if (typeof document !== 'undefined') {\n document.removeEventListener('ionBackButton', this.handleHardwareBackButton);\n this._isMounted = false;\n }\n }\n handleHardwareBackButton(e) {\n e.detail.register(0, (processNextHandler) => {\n if (this._isMounted) {\n this.nativeGoBack();\n processNextHandler();\n }\n });\n }\n goBack(route, animationBuilder) {\n this.props.onNavigateBack(route, animationBuilder);\n }\n nativeGoBack() {\n this.props.onNativeBack();\n }\n navigate(path, direction = 'forward', action = 'push', animationBuilder, options, tab) {\n this.props.onNavigate(path, action, direction, animationBuilder, options, tab);\n }\n getPageManager() {\n return PageManager;\n }\n getIonRedirect() {\n return this.props.ionRedirect;\n }\n getIonRoute() {\n return this.props.ionRoute;\n }\n getStackManager() {\n return this.props.stackManager;\n }\n render() {\n return (React.createElement(NavContext.Provider, { value: Object.assign(Object.assign({}, this.state), { routeInfo: this.props.routeInfo }) },\n React.createElement(IonRouterContext.Provider, { value: Object.assign(Object.assign({}, this.ionRouterContextValue), { routeInfo: this.props.routeInfo }) }, this.props.children)));\n }\n}\n\nclass ViewStacks {\n constructor() {\n this.viewStacks = {};\n this.add = this.add.bind(this);\n this.clear = this.clear.bind(this);\n this.getViewItemsForOutlet = this.getViewItemsForOutlet.bind(this);\n this.remove = this.remove.bind(this);\n }\n add(viewItem) {\n const { outletId } = viewItem;\n if (!this.viewStacks[outletId]) {\n this.viewStacks[outletId] = [viewItem];\n }\n else {\n this.viewStacks[outletId].push(viewItem);\n }\n }\n clear(outletId) {\n // Give some time for the leaving views to transition before removing\n setTimeout(() => {\n // console.log('Removing viewstack for outletID ' + outletId);\n delete this.viewStacks[outletId];\n }, 500);\n }\n getViewItemsForOutlet(outletId) {\n return this.viewStacks[outletId] || [];\n }\n remove(viewItem) {\n const { outletId } = viewItem;\n const viewStack = this.viewStacks[outletId];\n if (viewStack) {\n const viewItemToRemove = viewStack.find((x) => x.id === viewItem.id);\n if (viewItemToRemove) {\n viewItemToRemove.mount = false;\n this.viewStacks[outletId] = viewStack.filter((x) => x.id !== viewItemToRemove.id);\n }\n }\n }\n getStackIds() {\n return Object.keys(this.viewStacks);\n }\n getAllViewItems() {\n const keys = this.getStackIds();\n const viewItems = [];\n keys.forEach((k) => {\n viewItems.push(...this.viewStacks[k]);\n });\n return viewItems;\n }\n}\n\nconst ids = { main: 0 };\nconst generateId = (type = 'main') => {\n var _a;\n const id = ((_a = ids[type]) !== null && _a !== void 0 ? _a : 0) + 1;\n ids[type] = id;\n return id.toString();\n};\n\nexport { CreateAnimation, DefaultIonLifeCycleContext, IonActionSheet, IonAlert, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonLifeCycleContext, IonList, IonListHeader, IonLoading, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNote, IonPage, IonPicker, IonPickerColumn, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRedirect, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRoute, IonRouterContext, IonRouterLink, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSelectPopover, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTab, IonTabBar, IonTabButton, IonTabs, IonTabsContext, IonText, IonTextarea, IonThumbnail, IonTitle, IonToast, IonToggle, IonToolbar, IonVirtualScroll, LocationHistory, NavContext, NavManager, RouteManagerContext, StackContext, ViewLifeCycleManager, ViewStacks, generateId, getConfig, getPlatforms, isPlatform, useIonActionSheet, useIonAlert, useIonLoading, useIonModal, useIonPicker, useIonPopover, useIonRouter, useIonToast, useIonViewDidEnter, useIonViewDidLeave, useIonViewWillEnter, useIonViewWillLeave, withIonLifeCycle };\n//# sourceMappingURL=index.esm.js.map\n"],"names":["IonLifeCycleContext","React","createContext","onIonViewWillEnter","ionViewWillEnter","onIonViewDidEnter","ionViewDidEnter","onIonViewWillLeave","ionViewWillLeave","onIonViewDidLeave","ionViewDidLeave","DefaultIonLifeCycleContext","constructor","this","ionViewWillEnterCallbacks","ionViewDidEnterCallbacks","ionViewWillLeaveCallbacks","ionViewDidLeaveCallbacks","callback","id","index","findIndex","x","push","forEach","cb","componentCanBeDestroyed","onComponentCanBeDestroyed","componentCanBeDestroyedCallback","NavContext","getIonRedirect","getIonRoute","getPageManager","getStackManager","goBack","route","window","location","pathname","history","back","navigate","path","hasIonicRouter","routeInfo","undefined","setCurrentTab","changeTab","_tab","resetTab","camelToDashCase","str","replace","m","toLowerCase","getClassName","classList","newProps","oldProps","newClassProp","className","class","oldClassProp","currentClasses","arrayToMap","incomingPropClasses","split","oldPropClasses","finalClassNames","currentClass","has","delete","s","join","isCoveredByReact","eventNameSuffix","document","eventName","isSupported","element","createElement","setAttribute","syncEvent","node","newEventHandler","eventStore","__events","oldEventHandler","removeEventListener","addEventListener","e","call","arr","map","Map","set","createForwardRef","ReactComponent","displayName","forwardRef","props","ref","Object","assign","forwardedRef","mergeRefs","refs","value","current","setRef","isPlatform","platform","isPlatform$1","createReactComponent","tagName","routerLinkComponent","segment","charAt","toUpperCase","slice","Component","super","handleClick","routerLink","routerDirection","routerOptions","routerAnimation","preventDefault","context","createRef","stableMergedRefs","componentDidMount","componentDidUpdate","prevProps","Element","keys","name","indexOf","substring","eventNameLc","attachProps","render","_a","children","style","cProps","__rest","propsToPass","reduce","acc","includes","href","onClick","oldClick","defaultPrevented","contextType","IonBadge","IonHeader","IonLabel","StackContext","registerIonPage","isInOutlet","PageManager","PureComponent","ionPageElementRef","add","ionViewWillEnterHandler","bind","ionViewDidEnterHandler","ionViewWillLeaveHandler","ionViewDidLeaveHandler","componentWillUnmount","ionLifeCycleContext","Consumer","IonPageInternal","IonTabsContext","activeTab","selectTab","HTMLElementSSR","HTMLElement","IonTabButtonInner","IonTabBarInner","IonRouterOutletInner","IonIconInner","OutletPageManager","ionRouterOutlet","setTimeout","StackManager","val","IonRouterOutletContainer","ionPage","IonRouterOutlet","IonTabButton","handleIonTabButtonClick","CustomEvent","detail","tab","routeOptions","rest","onIonTabButtonClick","IonTabBarUnwrapped","setActiveTabOnContext","tabs","Children","child","_b","_c","_d","type","isTabButton","originalHref","currentHref","originalRouteOptions","currentRouteOptions","state","onTabButtonClick","renderTabButton","find","key","startsWith","setState","tabUrl","selected","static","prevActiveTab","prevHref","prevRouteOptions","search","routeAction","onSetCurrentTab","tappedTab","onIonTabsWillChange","onIonTabsDidChange","cloneElement","selectedTab","IonTabBarContainer","memo","useContext","IonTabBar","IonTabsElement","customElements","get","define","hostStyles","display","position","top","left","right","bottom","flexDirection","width","height","contain","tabsInner","flex","IonTabs","routerOutletRef","tabBarRef","ionTabContextState","outlet","tabBar","hasOwnProperty","isRouterOutlet","Fragment","childProps","isTabBar","Error","Provider","slot","warnings","deprecationWarning","message","process","env","NODE_ENV","console","warn","IonIconContainer","icon","ios","md","iconToUse","IonIcon","IonRoute","IonRouteInner","error","IonRedirect","IonRedirectInner","IonRouterContext","canGoBack","nativeBack","CreateAnimation","nodes","animation","createAnimation","setupAnimation","size","addElement","Array","from","values","checkConfig","checkPlayback","checkProgress","el","currentProps","reservedProps","fromValues","isArray","property","toValues","to","fromToValues","fromTo","fromValue","toValue","onFinishValues","onFinish","opts","_e","progressStart","progressStep","progressEnd","forceLinearEasing","step","playTo","dur","play","pause","stop","destroy","addIcons","arrowBackSharp","caretBackSharp","chevronBack","chevronForward","close","closeCircle","closeSharp","menuOutline","menuSharp","reorderTwoSharp","reorderThreeOutline","searchOutline","searchSharp","defineCustomElements","ViewLifeCycleManager","_isMounted","mount","show","removeView","NavManager","ionRouterContextValue","animationBuilder","locationHistory","onNativeBack","onChangeTab","onResetTab","handleHardwareBackButton","register","processNextHandler","nativeGoBack","onNavigateBack","direction","action","options","onNavigate","ionRedirect","ionRoute","stackManager"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var n,o=function(o){var e=function(){if("undefined"==typeof window)return new Map;if(!n){var o=window;o.Ionicons=o.Ionicons||{},n=o.Ionicons.map=o.Ionicons.map||new Map}return n}();Object.keys(o).forEach((function(n){return e.set(n,o[n])}))};export{o as a};
|
|
2
|
+
//# sourceMappingURL=utils-4f847845.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-4f847845.js","sources":["../../../../../node_modules/ionicons/dist/esm-es5/utils-4f847845.js"],"sourcesContent":["import{g as getAssetPath}from\"./index-468d974f.js\";var CACHED_MAP;var getIconMap=function(){if(typeof window===\"undefined\"){return new Map}else{if(!CACHED_MAP){var r=window;r.Ionicons=r.Ionicons||{};CACHED_MAP=r.Ionicons.map=r.Ionicons.map||new Map}return CACHED_MAP}};var addIcons=function(r){var e=getIconMap();Object.keys(r).forEach((function(t){return e.set(t,r[t])}))};var getUrl=function(r){var e=getSrc(r.src);if(e){return e}e=getName(r.name,r.icon,r.mode,r.ios,r.md);if(e){return getNamedUrl(e)}if(r.icon){e=getSrc(r.icon);if(e){return e}e=getSrc(r.icon[r.mode]);if(e){return e}}return null};var getNamedUrl=function(r){var e=getIconMap().get(r);if(e){return e}return getAssetPath(\"svg/\"+r+\".svg\")};var getName=function(r,e,t,n,i){t=(t&&toLower(t))===\"ios\"?\"ios\":\"md\";if(n&&t===\"ios\"){r=toLower(n)}else if(i&&t===\"md\"){r=toLower(i)}else{if(!r&&e&&!isSrc(e)){r=e}if(isStr(r)){r=toLower(r)}}if(!isStr(r)||r.trim()===\"\"){return null}var o=r.replace(/[a-z]|-|\\d/gi,\"\");if(o!==\"\"){return null}return r};var getSrc=function(r){if(isStr(r)){r=r.trim();if(isSrc(r)){return r}}return null};var isSrc=function(r){return r.length>0&&/(\\/|\\.)/.test(r)};var isStr=function(r){return typeof r===\"string\"};var toLower=function(r){return r.toLowerCase()};export{addIcons as a,getName as b,getUrl as g,isStr as i};"],"names":["CACHED_MAP","addIcons","r","e","window","Map","Ionicons","map","getIconMap","Object","keys","forEach","t","set"],"mappings":"AAAmD,IAAIA,EAA0NC,EAAS,SAASC,GAAG,IAAIC,EAAzN,WAAW,GAAmB,oBAATC,OAAsB,OAAO,IAAIC,IAAS,IAAIL,EAAW,CAAC,IAAIE,EAAEE,OAAOF,EAAEI,SAASJ,EAAEI,UAAU,GAAGN,EAAWE,EAAEI,SAASC,IAAIL,EAAEI,SAASC,KAAK,IAAIF,IAAI,OAAOL,EAA4CQ,GAAaC,OAAOC,KAAKR,GAAGS,kBAAkBC,GAAG,OAAOT,EAAEU,IAAID,EAAEV,EAAEU"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const t="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Arrow Back</title><path stroke-linecap='square' stroke-miterlimit='10' stroke-width='48' d='M244 400L100 256l144-144M120 256h292' class='ionicon-fill-none'/></svg>",i="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Calendar</title><path d='M480 128a64 64 0 00-64-64h-16V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 00368 48v16H144V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 00112 48v16H96a64 64 0 00-64 64v12a4 4 0 004 4h440a4 4 0 004-4zM32 416a64 64 0 0064 64h320a64 64 0 0064-64V179a3 3 0 00-3-3H35a3 3 0 00-3 3zm344-208a24 24 0 11-24 24 24 24 0 0124-24zm0 80a24 24 0 11-24 24 24 24 0 0124-24zm-80-80a24 24 0 11-24 24 24 24 0 0124-24zm0 80a24 24 0 11-24 24 24 24 0 0124-24zm0 80a24 24 0 11-24 24 24 24 0 0124-24zm-80-80a24 24 0 11-24 24 24 24 0 0124-24zm0 80a24 24 0 11-24 24 24 24 0 0124-24zm-80-80a24 24 0 11-24 24 24 24 0 0124-24zm0 80a24 24 0 11-24 24 24 24 0 0124-24z'/></svg>",s="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Card</title><rect x='48' y='96' width='416' height='320' rx='56' ry='56' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/><path stroke-linejoin='round' stroke-width='60' d='M48 192h416M128 300h48v20h-48z' class='ionicon-fill-none'/></svg>",o="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Caret Back</title><path d='M368 64L144 256l224 192V64z'/></svg>",a="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Chevron Back</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M328 112L184 256l144 144' class='ionicon-fill-none'/></svg>",l="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Chevron Forward</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M184 112l144 144-144 144' class='ionicon-fill-none'/></svg>",e="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Close</title><path d='M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z'/></svg>",n="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Close Circle</title><path d='M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm75.31 260.69a16 16 0 11-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 01-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0122.62-22.62L256 233.37l52.69-52.68a16 16 0 0122.62 22.62L278.63 256z'/></svg>",g="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Close</title><path d='M400 145.49L366.51 112 256 222.51 145.49 112 112 145.49 222.51 256 112 366.51 145.49 400 256 289.49 366.51 400 400 366.51 289.49 256 400 145.49z'/></svg>",w="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Information Circle</title><path d='M256 56C145.72 56 56 145.72 56 256s89.72 200 200 200 200-89.72 200-200S366.28 56 256 56zm0 82a26 26 0 11-26 26 26 26 0 0126-26zm48 226h-88a16 16 0 010-32h28v-88h-16a16 16 0 010-32h32a16 16 0 0116 16v104h28a16 16 0 010 32z'/></svg>",v="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Map</title><path d='M48.17 113.34A32 32 0 0032 141.24V438a32 32 0 0047 28.37c.43-.23.85-.47 1.26-.74l84.14-55.05a8 8 0 003.63-6.72V46.45a8 8 0 00-12.51-6.63zM212.36 39.31A8 8 0 00200 46v357.56a8 8 0 003.63 6.72l96 62.42A8 8 0 00312 466V108.67a8 8 0 00-3.64-6.73zM464.53 46.47a31.64 31.64 0 00-31.5-.88 12.07 12.07 0 00-1.25.74l-84.15 55a8 8 0 00-3.63 6.72v357.46a8 8 0 0012.52 6.63l107.07-73.46a32 32 0 0016.41-28v-296a32.76 32.76 0 00-15.47-28.21z'/></svg>",r="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Menu</title><path stroke-linecap='round' stroke-miterlimit='10' d='M80 160h352M80 256h352M80 352h352' class='ionicon-fill-none ionicon-stroke-width'/></svg>",c="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Menu</title><path d='M64 384h384v-42.67H64zm0-106.67h384v-42.66H64zM64 128v42.67h384V128z'/></svg>",h="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Person Circle</title><path d='M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-50.22 116.82C218.45 151.39 236.28 144 256 144s37.39 7.44 50.11 20.94c12.89 13.68 19.16 32.06 17.68 51.82C320.83 256 290.43 288 256 288s-64.89-32-67.79-71.25c-1.47-19.92 4.79-38.36 17.57-51.93zM256 432a175.49 175.49 0 01-126-53.22 122.91 122.91 0 0135.14-33.44C190.63 329 222.89 320 256 320s65.37 9 90.83 25.34A122.87 122.87 0 01382 378.78 175.45 175.45 0 01256 432z'/></svg>",m="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Reorder Three</title><path stroke-linecap='round' stroke-linejoin='round' d='M96 256h320M96 176h320M96 336h320' class='ionicon-fill-none ionicon-stroke-width'/></svg>",d="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Reorder Two</title><path stroke-linecap='square' stroke-linejoin='round' stroke-width='44' d='M118 304h276M118 208h276' class='ionicon-fill-none'/></svg>",x="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Search</title><path d='M221.09 64a157.09 157.09 0 10157.09 157.09A157.1 157.1 0 00221.09 64z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path stroke-linecap='round' stroke-miterlimit='10' d='M338.29 338.29L448 448' class='ionicon-fill-none ionicon-stroke-width'/></svg>",p="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Search</title><path d='M464 428L339.92 303.9a160.48 160.48 0 0030.72-94.58C370.64 120.37 298.27 48 209.32 48S48 120.37 48 209.32s72.37 161.32 161.32 161.32a160.48 160.48 0 0094.58-30.72L428 464zM209.32 319.69a110.38 110.38 0 11110.37-110.37 110.5 110.5 0 01-110.37 110.37z'/></svg>",u="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Time</title><path d='M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path stroke-linecap='round' stroke-linejoin='round' d='M256 128v144h96' class='ionicon-fill-none ionicon-stroke-width'/></svg>";export{t as arrowBackSharp,i as calendar,s as cardOutline,o as caretBackSharp,a as chevronBack,l as chevronForward,e as close,n as closeCircle,g as closeSharp,w as informationCircle,v as map,r as menuOutline,c as menuSharp,h as personCircle,m as reorderThreeOutline,d as reorderTwoSharp,x as searchOutline,p as searchSharp,u as timeOutline};
|
|
2
|
+
//# sourceMappingURL=index.mjs.js.map
|