@ionic/vue 7.4.4 → 7.5.0
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/css/core.css +100 -0
- package/css/core.css.map +1 -1
- package/css/display.css +33 -0
- package/css/display.css.map +1 -1
- package/css/float-elements.css +33 -0
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css +84 -6
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-swiper.css +33 -0
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/padding.css +33 -0
- package/css/padding.css.map +1 -1
- package/css/structure.css +33 -0
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css +33 -0
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css +33 -0
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css +51 -6
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +165 -0
- package/css/utils.bundle.css.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/vetur/attributes.json +10 -3
- package/dist/vetur/tags.json +1 -0
- package/dist/web-types.json +12 -3
- package/package.json +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../dist-transpiled/vue-component-lib/utils.js","../dist-transpiled/proxies.js","../dist-transpiled/hooks/back-button.js","../dist-transpiled/hooks/keyboard.js","../dist-transpiled/utils.js","../dist-transpiled/hooks/lifecycle.js","../dist-transpiled/hooks/router.js","../dist-transpiled/ionic-vue.js","../dist-transpiled/components/IonBackButton.js","../dist-transpiled/components/IonPage.js","../dist-transpiled/components/IonRouterOutlet.js","../dist-transpiled/components/IonTabButton.js","../dist-transpiled/components/IonTabs.js","../dist-transpiled/components/IonTabBar.js","../dist-transpiled/components/IonApp.js","../dist-transpiled/framework-delegate.js","../dist-transpiled/components/IonNav.js","../dist-transpiled/components/IonIcon.js","../dist-transpiled/vue-component-lib/overlays.js","../dist-transpiled/components/Overlays.js","../dist-transpiled/controllers.js"],"sourcesContent":["// @ts-nocheck\n// It's easier and safer for Volar to disable typechecking and let the return type inference do its job.\nimport { defineComponent, getCurrentInstance, h, inject, ref } from 'vue';\nconst UPDATE_VALUE_EVENT = 'update:modelValue';\nconst MODEL_VALUE = 'modelValue';\nconst ROUTER_LINK_VALUE = 'routerLink';\nconst NAV_MANAGER = 'navManager';\nconst ROUTER_PROP_PREFIX = 'router';\nconst ARIA_PROP_PREFIX = 'aria';\n/**\n * Starting in Vue 3.1.0, all properties are\n * added as keys to the props object, even if\n * they are not being used. In order to correctly\n * account for both value props and v-model props,\n * we need to check if the key exists for Vue <3.1.0\n * and then check if it is not undefined for Vue >= 3.1.0.\n * See https://github.com/vuejs/vue-next/issues/3889\n */\nconst EMPTY_PROP = Symbol();\nconst DEFAULT_EMPTY_PROP = { default: EMPTY_PROP };\nconst getComponentClasses = (classes) => {\n return (classes === null || classes === void 0 ? void 0 : classes.split(' ')) || [];\n};\nconst getElementClasses = (ref, componentClasses, defaultClasses = []) => {\n var _a;\n return [...Array.from(((_a = ref.value) === null || _a === void 0 ? void 0 : _a.classList) || []), ...defaultClasses].filter((c, i, self) => !componentClasses.has(c) && self.indexOf(c) === i);\n};\n/**\n * Create a callback to define a Vue component wrapper around a Web Component.\n *\n * @prop name - The component tag name (i.e. `ion-button`)\n * @prop componentProps - An array of properties on the\n * component. These usually match up with the @Prop definitions\n * in each component's TSX file.\n * @prop customElement - An option custom element instance to pass\n * to customElements.define. Only set if `includeImportCustomElements: true` in your config.\n * @prop modelProp - The prop that v-model binds to (i.e. value)\n * @prop modelUpdateEvent - The event that is fired from your Web Component when the value changes (i.e. ionChange)\n * @prop externalModelUpdateEvent - The external event to fire from your Vue component when modelUpdateEvent fires. This is used for ensuring that v-model references have been\n * correctly updated when a user's event callback fires.\n */\nexport const defineContainer = (name, defineCustomElement, componentProps = [], modelProp, modelUpdateEvent, externalModelUpdateEvent) => {\n /**\n * Create a Vue component wrapper around a Web Component.\n * Note: The `props` here are not all properties on a component.\n * They refer to whatever properties are set on an instance of a component.\n */\n if (defineCustomElement !== undefined) {\n defineCustomElement();\n }\n const Container = defineComponent((props, { attrs, slots, emit }) => {\n var _a;\n let modelPropValue = props[modelProp];\n const containerRef = ref();\n const classes = new Set(getComponentClasses(attrs.class));\n const onVnodeBeforeMount = (vnode) => {\n // Add a listener to tell Vue to update the v-model\n if (vnode.el) {\n const eventsNames = Array.isArray(modelUpdateEvent) ? modelUpdateEvent : [modelUpdateEvent];\n eventsNames.forEach((eventName) => {\n vnode.el.addEventListener(eventName.toLowerCase(), (e) => {\n modelPropValue = (e === null || e === void 0 ? void 0 : e.target)[modelProp];\n emit(UPDATE_VALUE_EVENT, modelPropValue);\n /**\n * We need to emit the change event here\n * rather than on the web component to ensure\n * that any v-model bindings have been updated.\n * Otherwise, the developer will listen on the\n * native web component, but the v-model will\n * not have been updated yet.\n */\n if (externalModelUpdateEvent) {\n emit(externalModelUpdateEvent, e);\n }\n });\n });\n }\n };\n const currentInstance = getCurrentInstance();\n const hasRouter = (_a = currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.appContext) === null || _a === void 0 ? void 0 : _a.provides[NAV_MANAGER];\n const navManager = hasRouter ? inject(NAV_MANAGER) : undefined;\n const handleRouterLink = (ev) => {\n const { routerLink } = props;\n if (routerLink === EMPTY_PROP)\n return;\n if (navManager !== undefined) {\n let navigationPayload = { event: ev };\n for (const key in props) {\n const value = props[key];\n if (props.hasOwnProperty(key) && key.startsWith(ROUTER_PROP_PREFIX) && value !== EMPTY_PROP) {\n navigationPayload[key] = value;\n }\n }\n navManager.navigate(navigationPayload);\n }\n else {\n console.warn('Tried to navigate, but no router was found. Make sure you have mounted Vue Router.');\n }\n };\n return () => {\n modelPropValue = props[modelProp];\n getComponentClasses(attrs.class).forEach((value) => {\n classes.add(value);\n });\n const oldClick = props.onClick;\n const handleClick = (ev) => {\n if (oldClick !== undefined) {\n oldClick(ev);\n }\n if (!ev.defaultPrevented) {\n handleRouterLink(ev);\n }\n };\n let propsToAdd = {\n ref: containerRef,\n class: getElementClasses(containerRef, classes),\n onClick: handleClick,\n onVnodeBeforeMount: modelUpdateEvent ? onVnodeBeforeMount : undefined,\n };\n /**\n * We can use Object.entries here\n * to avoid the hasOwnProperty check,\n * but that would require 2 iterations\n * where as this only requires 1.\n */\n for (const key in props) {\n const value = props[key];\n if ((props.hasOwnProperty(key) && value !== EMPTY_PROP) || key.startsWith(ARIA_PROP_PREFIX)) {\n propsToAdd[key] = value;\n }\n }\n if (modelProp) {\n /**\n * If form value property was set using v-model\n * then we should use that value.\n * Otherwise, check to see if form value property\n * was set as a static value (i.e. no v-model).\n */\n if (props[MODEL_VALUE] !== EMPTY_PROP) {\n propsToAdd = Object.assign(Object.assign({}, propsToAdd), { [modelProp]: props[MODEL_VALUE] });\n }\n else if (modelPropValue !== EMPTY_PROP) {\n propsToAdd = Object.assign(Object.assign({}, propsToAdd), { [modelProp]: modelPropValue });\n }\n }\n return h(name, propsToAdd, slots.default && slots.default());\n };\n });\n if (typeof Container !== 'function') {\n Container.name = name;\n Container.props = {\n [ROUTER_LINK_VALUE]: DEFAULT_EMPTY_PROP,\n };\n componentProps.forEach((componentProp) => {\n Container.props[componentProp] = DEFAULT_EMPTY_PROP;\n });\n if (modelProp) {\n Container.props[MODEL_VALUE] = DEFAULT_EMPTY_PROP;\n Container.emits = [UPDATE_VALUE_EVENT, externalModelUpdateEvent];\n }\n }\n return Container;\n};\n//# sourceMappingURL=utils.js.map","/* eslint-disable */\n/* tslint:disable */\n/* auto-generated vue proxies */\nimport { defineContainer } from './vue-component-lib/utils';\nimport { defineCustomElement as defineIonAccordion } from '@ionic/core/components/ion-accordion.js';\nimport { defineCustomElement as defineIonAccordionGroup } from '@ionic/core/components/ion-accordion-group.js';\nimport { defineCustomElement as defineIonAvatar } from '@ionic/core/components/ion-avatar.js';\nimport { defineCustomElement as defineIonBackdrop } from '@ionic/core/components/ion-backdrop.js';\nimport { defineCustomElement as defineIonBadge } from '@ionic/core/components/ion-badge.js';\nimport { defineCustomElement as defineIonBreadcrumb } from '@ionic/core/components/ion-breadcrumb.js';\nimport { defineCustomElement as defineIonBreadcrumbs } from '@ionic/core/components/ion-breadcrumbs.js';\nimport { defineCustomElement as defineIonButton } from '@ionic/core/components/ion-button.js';\nimport { defineCustomElement as defineIonButtons } from '@ionic/core/components/ion-buttons.js';\nimport { defineCustomElement as defineIonCard } from '@ionic/core/components/ion-card.js';\nimport { defineCustomElement as defineIonCardContent } from '@ionic/core/components/ion-card-content.js';\nimport { defineCustomElement as defineIonCardHeader } from '@ionic/core/components/ion-card-header.js';\nimport { defineCustomElement as defineIonCardSubtitle } from '@ionic/core/components/ion-card-subtitle.js';\nimport { defineCustomElement as defineIonCardTitle } from '@ionic/core/components/ion-card-title.js';\nimport { defineCustomElement as defineIonCheckbox } from '@ionic/core/components/ion-checkbox.js';\nimport { defineCustomElement as defineIonChip } from '@ionic/core/components/ion-chip.js';\nimport { defineCustomElement as defineIonCol } from '@ionic/core/components/ion-col.js';\nimport { defineCustomElement as defineIonContent } from '@ionic/core/components/ion-content.js';\nimport { defineCustomElement as defineIonDatetime } from '@ionic/core/components/ion-datetime.js';\nimport { defineCustomElement as defineIonDatetimeButton } from '@ionic/core/components/ion-datetime-button.js';\nimport { defineCustomElement as defineIonFab } from '@ionic/core/components/ion-fab.js';\nimport { defineCustomElement as defineIonFabButton } from '@ionic/core/components/ion-fab-button.js';\nimport { defineCustomElement as defineIonFabList } from '@ionic/core/components/ion-fab-list.js';\nimport { defineCustomElement as defineIonFooter } from '@ionic/core/components/ion-footer.js';\nimport { defineCustomElement as defineIonGrid } from '@ionic/core/components/ion-grid.js';\nimport { defineCustomElement as defineIonHeader } from '@ionic/core/components/ion-header.js';\nimport { defineCustomElement as defineIonImg } from '@ionic/core/components/ion-img.js';\nimport { defineCustomElement as defineIonInfiniteScroll } from '@ionic/core/components/ion-infinite-scroll.js';\nimport { defineCustomElement as defineIonInfiniteScrollContent } from '@ionic/core/components/ion-infinite-scroll-content.js';\nimport { defineCustomElement as defineIonInput } from '@ionic/core/components/ion-input.js';\nimport { defineCustomElement as defineIonItem } from '@ionic/core/components/ion-item.js';\nimport { defineCustomElement as defineIonItemDivider } from '@ionic/core/components/ion-item-divider.js';\nimport { defineCustomElement as defineIonItemGroup } from '@ionic/core/components/ion-item-group.js';\nimport { defineCustomElement as defineIonItemOption } from '@ionic/core/components/ion-item-option.js';\nimport { defineCustomElement as defineIonItemOptions } from '@ionic/core/components/ion-item-options.js';\nimport { defineCustomElement as defineIonItemSliding } from '@ionic/core/components/ion-item-sliding.js';\nimport { defineCustomElement as defineIonLabel } from '@ionic/core/components/ion-label.js';\nimport { defineCustomElement as defineIonList } from '@ionic/core/components/ion-list.js';\nimport { defineCustomElement as defineIonListHeader } from '@ionic/core/components/ion-list-header.js';\nimport { defineCustomElement as defineIonMenu } from '@ionic/core/components/ion-menu.js';\nimport { defineCustomElement as defineIonMenuButton } from '@ionic/core/components/ion-menu-button.js';\nimport { defineCustomElement as defineIonMenuToggle } from '@ionic/core/components/ion-menu-toggle.js';\nimport { defineCustomElement as defineIonNav } from '@ionic/core/components/ion-nav.js';\nimport { defineCustomElement as defineIonNavLink } from '@ionic/core/components/ion-nav-link.js';\nimport { defineCustomElement as defineIonNote } from '@ionic/core/components/ion-note.js';\nimport { defineCustomElement as defineIonProgressBar } from '@ionic/core/components/ion-progress-bar.js';\nimport { defineCustomElement as defineIonRadio } from '@ionic/core/components/ion-radio.js';\nimport { defineCustomElement as defineIonRadioGroup } from '@ionic/core/components/ion-radio-group.js';\nimport { defineCustomElement as defineIonRange } from '@ionic/core/components/ion-range.js';\nimport { defineCustomElement as defineIonRefresher } from '@ionic/core/components/ion-refresher.js';\nimport { defineCustomElement as defineIonRefresherContent } from '@ionic/core/components/ion-refresher-content.js';\nimport { defineCustomElement as defineIonReorder } from '@ionic/core/components/ion-reorder.js';\nimport { defineCustomElement as defineIonReorderGroup } from '@ionic/core/components/ion-reorder-group.js';\nimport { defineCustomElement as defineIonRippleEffect } from '@ionic/core/components/ion-ripple-effect.js';\nimport { defineCustomElement as defineIonRow } from '@ionic/core/components/ion-row.js';\nimport { defineCustomElement as defineIonSearchbar } from '@ionic/core/components/ion-searchbar.js';\nimport { defineCustomElement as defineIonSegment } from '@ionic/core/components/ion-segment.js';\nimport { defineCustomElement as defineIonSegmentButton } from '@ionic/core/components/ion-segment-button.js';\nimport { defineCustomElement as defineIonSelect } from '@ionic/core/components/ion-select.js';\nimport { defineCustomElement as defineIonSelectOption } from '@ionic/core/components/ion-select-option.js';\nimport { defineCustomElement as defineIonSkeletonText } from '@ionic/core/components/ion-skeleton-text.js';\nimport { defineCustomElement as defineIonSpinner } from '@ionic/core/components/ion-spinner.js';\nimport { defineCustomElement as defineIonSplitPane } from '@ionic/core/components/ion-split-pane.js';\nimport { defineCustomElement as defineIonText } from '@ionic/core/components/ion-text.js';\nimport { defineCustomElement as defineIonTextarea } from '@ionic/core/components/ion-textarea.js';\nimport { defineCustomElement as defineIonThumbnail } from '@ionic/core/components/ion-thumbnail.js';\nimport { defineCustomElement as defineIonTitle } from '@ionic/core/components/ion-title.js';\nimport { defineCustomElement as defineIonToggle } from '@ionic/core/components/ion-toggle.js';\nimport { defineCustomElement as defineIonToolbar } from '@ionic/core/components/ion-toolbar.js';\nexport const IonAccordion = /*@__PURE__*/ defineContainer('ion-accordion', defineIonAccordion, [\n 'value',\n 'disabled',\n 'readonly',\n 'toggleIcon',\n 'toggleIconSlot'\n]);\nexport const IonAccordionGroup = /*@__PURE__*/ defineContainer('ion-accordion-group', defineIonAccordionGroup, [\n 'animated',\n 'multiple',\n 'value',\n 'disabled',\n 'readonly',\n 'expand',\n 'ionChange',\n 'ionValueChange'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonAvatar = /*@__PURE__*/ defineContainer('ion-avatar', defineIonAvatar);\nexport const IonBackdrop = /*@__PURE__*/ defineContainer('ion-backdrop', defineIonBackdrop, [\n 'visible',\n 'tappable',\n 'stopPropagation',\n 'ionBackdropTap'\n]);\nexport const IonBadge = /*@__PURE__*/ defineContainer('ion-badge', defineIonBadge, [\n 'color'\n]);\nexport const IonBreadcrumb = /*@__PURE__*/ defineContainer('ion-breadcrumb', defineIonBreadcrumb, [\n 'collapsed',\n 'last',\n 'showCollapsedIndicator',\n 'color',\n 'active',\n 'disabled',\n 'download',\n 'href',\n 'rel',\n 'separator',\n 'target',\n 'routerDirection',\n 'routerAnimation',\n 'ionFocus',\n 'ionBlur',\n 'collapsedClick'\n]);\nexport const IonBreadcrumbs = /*@__PURE__*/ defineContainer('ion-breadcrumbs', defineIonBreadcrumbs, [\n 'color',\n 'maxItems',\n 'itemsBeforeCollapse',\n 'itemsAfterCollapse',\n 'ionCollapsedClick'\n]);\nexport const IonButton = /*@__PURE__*/ defineContainer('ion-button', defineIonButton, [\n 'color',\n 'buttonType',\n 'disabled',\n 'expand',\n 'fill',\n 'routerDirection',\n 'routerAnimation',\n 'download',\n 'href',\n 'rel',\n 'shape',\n 'size',\n 'strong',\n 'target',\n 'type',\n 'form',\n 'ionFocus',\n 'ionBlur'\n]);\nexport const IonButtons = /*@__PURE__*/ defineContainer('ion-buttons', defineIonButtons, [\n 'collapse'\n]);\nexport const IonCard = /*@__PURE__*/ defineContainer('ion-card', defineIonCard, [\n 'color',\n 'button',\n 'type',\n 'disabled',\n 'download',\n 'href',\n 'rel',\n 'routerDirection',\n 'routerAnimation',\n 'target'\n]);\nexport const IonCardContent = /*@__PURE__*/ defineContainer('ion-card-content', defineIonCardContent);\nexport const IonCardHeader = /*@__PURE__*/ defineContainer('ion-card-header', defineIonCardHeader, [\n 'color',\n 'translucent'\n]);\nexport const IonCardSubtitle = /*@__PURE__*/ defineContainer('ion-card-subtitle', defineIonCardSubtitle, [\n 'color'\n]);\nexport const IonCardTitle = /*@__PURE__*/ defineContainer('ion-card-title', defineIonCardTitle, [\n 'color'\n]);\nexport const IonCheckbox = /*@__PURE__*/ defineContainer('ion-checkbox', defineIonCheckbox, [\n 'color',\n 'name',\n 'checked',\n 'indeterminate',\n 'disabled',\n 'value',\n 'labelPlacement',\n 'justify',\n 'alignment',\n 'legacy',\n 'ionChange',\n 'ionFocus',\n 'ionBlur',\n 'ionStyle'\n], 'checked', 'v-ion-change', 'ionChange');\nexport const IonChip = /*@__PURE__*/ defineContainer('ion-chip', defineIonChip, [\n 'color',\n 'outline',\n 'disabled'\n]);\nexport const IonCol = /*@__PURE__*/ defineContainer('ion-col', defineIonCol, [\n 'offset',\n 'offsetXs',\n 'offsetSm',\n 'offsetMd',\n 'offsetLg',\n 'offsetXl',\n 'pull',\n 'pullXs',\n 'pullSm',\n 'pullMd',\n 'pullLg',\n 'pullXl',\n 'push',\n 'pushXs',\n 'pushSm',\n 'pushMd',\n 'pushLg',\n 'pushXl',\n 'size',\n 'sizeXs',\n 'sizeSm',\n 'sizeMd',\n 'sizeLg',\n 'sizeXl'\n]);\nexport const IonContent = /*@__PURE__*/ defineContainer('ion-content', defineIonContent, [\n 'color',\n 'fullscreen',\n 'forceOverscroll',\n 'scrollX',\n 'scrollY',\n 'scrollEvents',\n 'ionScrollStart',\n 'ionScroll',\n 'ionScrollEnd'\n]);\nexport const IonDatetime = /*@__PURE__*/ defineContainer('ion-datetime', defineIonDatetime, [\n 'color',\n 'name',\n 'disabled',\n 'readonly',\n 'isDateEnabled',\n 'min',\n 'max',\n 'presentation',\n 'cancelText',\n 'doneText',\n 'clearText',\n 'yearValues',\n 'monthValues',\n 'dayValues',\n 'hourValues',\n 'minuteValues',\n 'locale',\n 'firstDayOfWeek',\n 'titleSelectedDatesFormatter',\n 'multiple',\n 'highlightedDates',\n 'value',\n 'showDefaultTitle',\n 'showDefaultButtons',\n 'showClearButton',\n 'showDefaultTimeLabel',\n 'hourCycle',\n 'size',\n 'preferWheel',\n 'ionCancel',\n 'ionChange',\n 'ionValueChange',\n 'ionFocus',\n 'ionBlur',\n 'ionStyle',\n 'ionRender'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonDatetimeButton = /*@__PURE__*/ defineContainer('ion-datetime-button', defineIonDatetimeButton, [\n 'color',\n 'disabled',\n 'datetime'\n]);\nexport const IonFab = /*@__PURE__*/ defineContainer('ion-fab', defineIonFab, [\n 'horizontal',\n 'vertical',\n 'edge',\n 'activated'\n]);\nexport const IonFabButton = /*@__PURE__*/ defineContainer('ion-fab-button', defineIonFabButton, [\n 'color',\n 'activated',\n 'disabled',\n 'download',\n 'href',\n 'rel',\n 'routerDirection',\n 'routerAnimation',\n 'target',\n 'show',\n 'translucent',\n 'type',\n 'size',\n 'closeIcon',\n 'ionFocus',\n 'ionBlur'\n]);\nexport const IonFabList = /*@__PURE__*/ defineContainer('ion-fab-list', defineIonFabList, [\n 'activated',\n 'side'\n]);\nexport const IonFooter = /*@__PURE__*/ defineContainer('ion-footer', defineIonFooter, [\n 'collapse',\n 'translucent'\n]);\nexport const IonGrid = /*@__PURE__*/ defineContainer('ion-grid', defineIonGrid, [\n 'fixed'\n]);\nexport const IonHeader = /*@__PURE__*/ defineContainer('ion-header', defineIonHeader, [\n 'collapse',\n 'translucent'\n]);\nexport const IonImg = /*@__PURE__*/ defineContainer('ion-img', defineIonImg, [\n 'alt',\n 'src',\n 'ionImgWillLoad',\n 'ionImgDidLoad',\n 'ionError'\n]);\nexport const IonInfiniteScroll = /*@__PURE__*/ defineContainer('ion-infinite-scroll', defineIonInfiniteScroll, [\n 'threshold',\n 'disabled',\n 'position',\n 'ionInfinite'\n]);\nexport const IonInfiniteScrollContent = /*@__PURE__*/ defineContainer('ion-infinite-scroll-content', defineIonInfiniteScrollContent, [\n 'loadingSpinner',\n 'loadingText'\n]);\nexport const IonInput = /*@__PURE__*/ defineContainer('ion-input', defineIonInput, [\n 'color',\n 'accept',\n 'autocapitalize',\n 'autocomplete',\n 'autocorrect',\n 'autofocus',\n 'clearInput',\n 'clearOnEdit',\n 'counter',\n 'counterFormatter',\n 'debounce',\n 'disabled',\n 'enterkeyhint',\n 'errorText',\n 'fill',\n 'inputmode',\n 'helperText',\n 'label',\n 'labelPlacement',\n 'legacy',\n 'max',\n 'maxlength',\n 'min',\n 'minlength',\n 'multiple',\n 'name',\n 'pattern',\n 'placeholder',\n 'readonly',\n 'required',\n 'shape',\n 'spellcheck',\n 'step',\n 'size',\n 'type',\n 'value',\n 'ionInput',\n 'ionChange',\n 'ionBlur',\n 'ionFocus',\n 'ionStyle'\n], 'value', 'v-ion-input', 'ionInput');\nexport const IonItem = /*@__PURE__*/ defineContainer('ion-item', defineIonItem, [\n 'color',\n 'button',\n 'detail',\n 'detailIcon',\n 'disabled',\n 'download',\n 'fill',\n 'shape',\n 'href',\n 'rel',\n 'lines',\n 'counter',\n 'routerAnimation',\n 'routerDirection',\n 'target',\n 'type',\n 'counterFormatter'\n]);\nexport const IonItemDivider = /*@__PURE__*/ defineContainer('ion-item-divider', defineIonItemDivider, [\n 'color',\n 'sticky'\n]);\nexport const IonItemGroup = /*@__PURE__*/ defineContainer('ion-item-group', defineIonItemGroup);\nexport const IonItemOption = /*@__PURE__*/ defineContainer('ion-item-option', defineIonItemOption, [\n 'color',\n 'disabled',\n 'download',\n 'expandable',\n 'href',\n 'rel',\n 'target',\n 'type'\n]);\nexport const IonItemOptions = /*@__PURE__*/ defineContainer('ion-item-options', defineIonItemOptions, [\n 'side',\n 'ionSwipe'\n]);\nexport const IonItemSliding = /*@__PURE__*/ defineContainer('ion-item-sliding', defineIonItemSliding, [\n 'disabled',\n 'ionDrag'\n]);\nexport const IonLabel = /*@__PURE__*/ defineContainer('ion-label', defineIonLabel, [\n 'color',\n 'position',\n 'ionColor',\n 'ionStyle'\n]);\nexport const IonList = /*@__PURE__*/ defineContainer('ion-list', defineIonList, [\n 'lines',\n 'inset'\n]);\nexport const IonListHeader = /*@__PURE__*/ defineContainer('ion-list-header', defineIonListHeader, [\n 'color',\n 'lines'\n]);\nexport const IonMenu = /*@__PURE__*/ defineContainer('ion-menu', defineIonMenu, [\n 'contentId',\n 'menuId',\n 'type',\n 'disabled',\n 'side',\n 'swipeGesture',\n 'maxEdgeStart',\n 'ionWillOpen',\n 'ionWillClose',\n 'ionDidOpen',\n 'ionDidClose',\n 'ionMenuChange'\n]);\nexport const IonMenuButton = /*@__PURE__*/ defineContainer('ion-menu-button', defineIonMenuButton, [\n 'color',\n 'disabled',\n 'menu',\n 'autoHide',\n 'type'\n]);\nexport const IonMenuToggle = /*@__PURE__*/ defineContainer('ion-menu-toggle', defineIonMenuToggle, [\n 'menu',\n 'autoHide'\n]);\nexport const IonNav = /*@__PURE__*/ defineContainer('ion-nav', defineIonNav, [\n 'delegate',\n 'swipeGesture',\n 'animated',\n 'animation',\n 'rootParams',\n 'root',\n 'ionNavWillLoad',\n 'ionNavWillChange',\n 'ionNavDidChange'\n]);\nexport const IonNavLink = /*@__PURE__*/ defineContainer('ion-nav-link', defineIonNavLink, [\n 'component',\n 'componentProps',\n 'routerDirection',\n 'routerAnimation'\n]);\nexport const IonNote = /*@__PURE__*/ defineContainer('ion-note', defineIonNote, [\n 'color'\n]);\nexport const IonProgressBar = /*@__PURE__*/ defineContainer('ion-progress-bar', defineIonProgressBar, [\n 'type',\n 'reversed',\n 'value',\n 'buffer',\n 'color'\n]);\nexport const IonRadio = /*@__PURE__*/ defineContainer('ion-radio', defineIonRadio, [\n 'color',\n 'name',\n 'disabled',\n 'value',\n 'labelPlacement',\n 'legacy',\n 'justify',\n 'alignment',\n 'ionStyle',\n 'ionFocus',\n 'ionBlur'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonRadioGroup = /*@__PURE__*/ defineContainer('ion-radio-group', defineIonRadioGroup, [\n 'allowEmptySelection',\n 'name',\n 'value',\n 'ionChange',\n 'ionValueChange'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonRange = /*@__PURE__*/ defineContainer('ion-range', defineIonRange, [\n 'color',\n 'debounce',\n 'name',\n 'label',\n 'dualKnobs',\n 'min',\n 'max',\n 'pin',\n 'pinFormatter',\n 'snaps',\n 'step',\n 'ticks',\n 'activeBarStart',\n 'disabled',\n 'value',\n 'labelPlacement',\n 'legacy',\n 'ionChange',\n 'ionInput',\n 'ionStyle',\n 'ionFocus',\n 'ionBlur',\n 'ionKnobMoveStart',\n 'ionKnobMoveEnd'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonRefresher = /*@__PURE__*/ defineContainer('ion-refresher', defineIonRefresher, [\n 'pullMin',\n 'pullMax',\n 'closeDuration',\n 'snapbackDuration',\n 'pullFactor',\n 'disabled',\n 'ionRefresh',\n 'ionPull',\n 'ionStart'\n]);\nexport const IonRefresherContent = /*@__PURE__*/ defineContainer('ion-refresher-content', defineIonRefresherContent, [\n 'pullingIcon',\n 'pullingText',\n 'refreshingSpinner',\n 'refreshingText'\n]);\nexport const IonReorder = /*@__PURE__*/ defineContainer('ion-reorder', defineIonReorder);\nexport const IonReorderGroup = /*@__PURE__*/ defineContainer('ion-reorder-group', defineIonReorderGroup, [\n 'disabled',\n 'ionItemReorder'\n]);\nexport const IonRippleEffect = /*@__PURE__*/ defineContainer('ion-ripple-effect', defineIonRippleEffect, [\n 'type'\n]);\nexport const IonRow = /*@__PURE__*/ defineContainer('ion-row', defineIonRow);\nexport const IonSearchbar = /*@__PURE__*/ defineContainer('ion-searchbar', defineIonSearchbar, [\n 'color',\n 'animated',\n 'autocomplete',\n 'autocorrect',\n 'cancelButtonIcon',\n 'cancelButtonText',\n 'clearIcon',\n 'debounce',\n 'disabled',\n 'inputmode',\n 'enterkeyhint',\n 'name',\n 'placeholder',\n 'searchIcon',\n 'showCancelButton',\n 'showClearButton',\n 'spellcheck',\n 'type',\n 'value',\n 'ionInput',\n 'ionChange',\n 'ionCancel',\n 'ionClear',\n 'ionBlur',\n 'ionFocus',\n 'ionStyle'\n], 'value', 'v-ion-input', 'ionInput');\nexport const IonSegment = /*@__PURE__*/ defineContainer('ion-segment', defineIonSegment, [\n 'color',\n 'disabled',\n 'scrollable',\n 'swipeGesture',\n 'value',\n 'selectOnFocus',\n 'ionChange',\n 'ionSelect',\n 'ionStyle'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonSegmentButton = /*@__PURE__*/ defineContainer('ion-segment-button', defineIonSegmentButton, [\n 'disabled',\n 'layout',\n 'type',\n 'value'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonSelect = /*@__PURE__*/ defineContainer('ion-select', defineIonSelect, [\n 'cancelText',\n 'color',\n 'compareWith',\n 'disabled',\n 'fill',\n 'interface',\n 'interfaceOptions',\n 'justify',\n 'label',\n 'labelPlacement',\n 'legacy',\n 'multiple',\n 'name',\n 'okText',\n 'placeholder',\n 'selectedText',\n 'toggleIcon',\n 'expandedIcon',\n 'shape',\n 'value',\n 'ionChange',\n 'ionCancel',\n 'ionDismiss',\n 'ionFocus',\n 'ionBlur',\n 'ionStyle'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonSelectOption = /*@__PURE__*/ defineContainer('ion-select-option', defineIonSelectOption, [\n 'disabled',\n 'value'\n]);\nexport const IonSkeletonText = /*@__PURE__*/ defineContainer('ion-skeleton-text', defineIonSkeletonText, [\n 'animated'\n]);\nexport const IonSpinner = /*@__PURE__*/ defineContainer('ion-spinner', defineIonSpinner, [\n 'color',\n 'duration',\n 'name',\n 'paused'\n]);\nexport const IonSplitPane = /*@__PURE__*/ defineContainer('ion-split-pane', defineIonSplitPane, [\n 'contentId',\n 'disabled',\n 'when',\n 'ionSplitPaneVisible'\n]);\nexport const IonText = /*@__PURE__*/ defineContainer('ion-text', defineIonText, [\n 'color'\n]);\nexport const IonTextarea = /*@__PURE__*/ defineContainer('ion-textarea', defineIonTextarea, [\n 'color',\n 'autocapitalize',\n 'autofocus',\n 'clearOnEdit',\n 'debounce',\n 'disabled',\n 'fill',\n 'inputmode',\n 'enterkeyhint',\n 'maxlength',\n 'minlength',\n 'name',\n 'placeholder',\n 'readonly',\n 'required',\n 'spellcheck',\n 'cols',\n 'rows',\n 'wrap',\n 'autoGrow',\n 'value',\n 'counter',\n 'counterFormatter',\n 'errorText',\n 'helperText',\n 'label',\n 'labelPlacement',\n 'legacy',\n 'shape',\n 'ionChange',\n 'ionInput',\n 'ionStyle',\n 'ionBlur',\n 'ionFocus'\n], 'value', 'v-ion-input', 'ionInput');\nexport const IonThumbnail = /*@__PURE__*/ defineContainer('ion-thumbnail', defineIonThumbnail);\nexport const IonTitle = /*@__PURE__*/ defineContainer('ion-title', defineIonTitle, [\n 'color',\n 'size',\n 'ionStyle'\n]);\nexport const IonToggle = /*@__PURE__*/ defineContainer('ion-toggle', defineIonToggle, [\n 'color',\n 'name',\n 'checked',\n 'disabled',\n 'value',\n 'enableOnOffLabels',\n 'labelPlacement',\n 'legacy',\n 'justify',\n 'alignment',\n 'ionChange',\n 'ionFocus',\n 'ionBlur',\n 'ionStyle'\n], 'checked', 'v-ion-change', 'ionChange');\nexport const IonToolbar = /*@__PURE__*/ defineContainer('ion-toolbar', defineIonToolbar, [\n 'color'\n]);\n//# sourceMappingURL=proxies.js.map","export const useBackButton = (priority, handler) => {\n const callback = (ev) => ev.detail.register(priority, handler);\n const unregister = () => document.removeEventListener(\"ionBackButton\", callback);\n document.addEventListener(\"ionBackButton\", callback);\n return { unregister };\n};\n//# sourceMappingURL=back-button.js.map","import { ref } from \"vue\";\nexport const useKeyboard = () => {\n const isOpen = ref(false);\n const keyboardHeight = ref(0);\n const showCallback = (ev) => {\n isOpen.value = true;\n keyboardHeight.value = ev.detail.keyboardHeight;\n };\n const hideCallback = () => {\n isOpen.value = false;\n keyboardHeight.value = 0;\n };\n const unregister = () => {\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"ionKeyboardDidShow\", showCallback);\n window.removeEventListener(\"ionKeyboardDidHide\", hideCallback);\n }\n };\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"ionKeyboardDidShow\", showCallback);\n window.addEventListener(\"ionKeyboardDidHide\", hideCallback);\n }\n return {\n isOpen,\n keyboardHeight,\n unregister,\n };\n};\n//# sourceMappingURL=keyboard.js.map","import { LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE, } from \"@ionic/core/components\";\n// TODO(FW-2969): types\nexport var LifecycleHooks;\n(function (LifecycleHooks) {\n LifecycleHooks[\"WillEnter\"] = \"onIonViewWillEnter\";\n LifecycleHooks[\"DidEnter\"] = \"onIonViewDidEnter\";\n LifecycleHooks[\"WillLeave\"] = \"onIonViewWillLeave\";\n LifecycleHooks[\"DidLeave\"] = \"onIonViewDidLeave\";\n})(LifecycleHooks || (LifecycleHooks = {}));\nconst hookNames = {\n [LIFECYCLE_WILL_ENTER]: LifecycleHooks.WillEnter,\n [LIFECYCLE_DID_ENTER]: LifecycleHooks.DidEnter,\n [LIFECYCLE_WILL_LEAVE]: LifecycleHooks.WillLeave,\n [LIFECYCLE_DID_LEAVE]: LifecycleHooks.DidLeave,\n};\nconst ids = { main: 0 };\nexport const 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};\nexport const fireLifecycle = (vueComponent, vueInstance, lifecycle) => {\n if (vueComponent === null || vueComponent === void 0 ? void 0 : vueComponent[lifecycle]) {\n vueComponent[lifecycle].bind(vueInstance === null || vueInstance === void 0 ? void 0 : vueInstance.value)();\n }\n const instance = vueInstance === null || vueInstance === void 0 ? void 0 : vueInstance.value;\n if (instance === null || instance === void 0 ? void 0 : instance[lifecycle]) {\n instance[lifecycle]();\n }\n /**\n * Fire any Composition API\n * Ionic Lifecycle hooks\n */\n if (instance) {\n const hook = hookNames[lifecycle];\n const hooks = instance[hook];\n if (hooks) {\n hooks.forEach((hook) => hook());\n }\n }\n};\nexport const 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//# sourceMappingURL=utils.js.map","import { getCurrentInstance } from \"vue\";\nimport { LifecycleHooks } from \"../utils\";\n/**\n * Creates an returns a function that\n * can be used to provide a lifecycle hook.\n */\nconst injectHook = (lifecycleType, hook, component) => {\n if (component) {\n // Add to public instance so it is accessible to IonRouterOutlet\n const target = component;\n const hooks = target.proxy[lifecycleType] || (target.proxy[lifecycleType] = []);\n /**\n * Define property on public instances using `setup` syntax in Vue 3.x\n */\n if (target.exposed) {\n target.exposed[lifecycleType] = hooks;\n }\n const wrappedHook = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n return args ? hook(...args) : hook();\n };\n hooks.push(wrappedHook);\n return wrappedHook;\n }\n else {\n console.warn(\"[@ionic/vue]: Ionic Lifecycle Hooks can only be used during execution of setup().\");\n }\n};\nconst createHook = (lifecycle) => {\n return (hook, target = getCurrentInstance()) => injectHook(lifecycle, hook, target);\n};\nexport const onIonViewWillEnter = createHook(LifecycleHooks.WillEnter);\nexport const onIonViewDidEnter = createHook(LifecycleHooks.DidEnter);\nexport const onIonViewWillLeave = createHook(LifecycleHooks.WillLeave);\nexport const onIonViewDidLeave = createHook(LifecycleHooks.DidLeave);\n//# sourceMappingURL=lifecycle.js.map","import { inject } from \"vue\";\n/**\n * Used to navigate within Vue Router\n * while controlling the animation.\n */\nexport const useIonRouter = () => {\n const { canGoBack, goBack, goForward, handleNavigate } = inject(\"navManager\");\n const navigate = (location, routerDirection, routerAction, routerAnimation) => handleNavigate(location, routerAction, routerDirection, routerAnimation);\n const push = (location, routerAnimation) => navigate(location, \"forward\", \"push\", routerAnimation);\n const replace = (location, routerAnimation) => navigate(location, \"root\", \"replace\", routerAnimation);\n const back = (routerAnimation) => goBack(routerAnimation);\n const forward = (routerAnimation) => goForward(routerAnimation);\n return {\n canGoBack,\n push,\n replace,\n back,\n forward,\n navigate,\n };\n};\n//# sourceMappingURL=router.js.map","import { initialize } from \"@ionic/core/components\";\n// TODO(FW-2969): types\n/**\n * We need to make sure that the web component fires an event\n * that will not conflict with the user's @ionChange binding,\n * otherwise the binding's callback will fire before any\n * v-model values have been updated.\n */\nconst toKebabCase = (eventName) => {\n const kebabConvert = (name) => name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, \"$1-$2\").toLowerCase();\n switch (eventName) {\n case \"ionInput\":\n return \"v-ion-input\";\n case \"ionChange\":\n return \"v-ion-change\";\n default:\n return kebabConvert(eventName);\n }\n};\nconst getHelperFunctions = () => {\n return {\n ael: (el, eventName, cb, opts) => el.addEventListener(toKebabCase(eventName), cb, opts),\n rel: (el, eventName, cb, opts) => el.removeEventListener(toKebabCase(eventName), cb, opts),\n ce: (eventName, opts) => new CustomEvent(toKebabCase(eventName), opts),\n };\n};\nexport const IonicVue = {\n async install(_, config = {}) {\n /**\n * By default Ionic Framework hides elements that\n * are not hydrated, but in the CE build there is no\n * hydration.\n * TODO FW-2797: Remove when all integrations have been\n * migrated to CE build.\n */\n if (typeof document !== \"undefined\") {\n document.documentElement.classList.add(\"ion-ce\");\n }\n const { ael, rel, ce } = getHelperFunctions();\n initialize(Object.assign(Object.assign({}, config), { _ael: ael, _rel: rel, _ce: ce }));\n },\n};\n//# sourceMappingURL=ionic-vue.js.map","import { defineCustomElement } from \"@ionic/core/components/ion-back-button.js\";\nimport { h, inject, defineComponent } from \"vue\";\nexport const IonBackButton = /*@__PURE__*/ defineComponent((_, { attrs, slots }) => {\n defineCustomElement();\n // TODO(FW-2969): type\n const ionRouter = inject(\"navManager\");\n const onClick = () => {\n /**\n * When using ion-back-button outside of\n * a routing context, ionRouter is undefined.\n */\n if (ionRouter === undefined) {\n return;\n }\n const defaultHref = attrs[\"default-href\"] || attrs[\"defaultHref\"];\n const routerAnimation = attrs[\"router-animation\"] || attrs[\"routerAnimation\"];\n ionRouter.handleNavigateBack(defaultHref, routerAnimation);\n };\n return () => {\n return h(\"ion-back-button\", Object.assign({ onClick }, attrs), slots.default && slots.default());\n };\n});\nIonBackButton.name = \"IonBackButton\";\n//# sourceMappingURL=IonBackButton.js.map","import { h, defineComponent } from \"vue\";\nexport const IonPage = /*@__PURE__*/ defineComponent({\n name: \"IonPage\",\n props: {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n registerIonPage: { type: Function, default: () => { } },\n },\n mounted() {\n this.$props.registerIonPage(this.$refs.ionPage);\n },\n setup(_, { attrs, slots }) {\n return () => {\n return h(\"div\", Object.assign(Object.assign({}, attrs), { [\"class\"]: \"ion-page\", ref: \"ionPage\" }), slots.default && slots.default());\n };\n },\n});\n//# sourceMappingURL=IonPage.js.map","import { LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE, } from \"@ionic/core/components\";\nimport { defineCustomElement } from \"@ionic/core/components/ion-router-outlet.js\";\nimport { h, defineComponent, ref, computed, inject, provide, watch, shallowRef, onUnmounted, } from \"vue\";\nimport { matchedRouteKey, routeLocationKey, useRoute } from \"vue-router\";\nimport { fireLifecycle, generateId, getConfig } from \"../utils\";\n// TODO(FW-2969): types\nconst isViewVisible = (enteringEl) => {\n return (!enteringEl.classList.contains(\"ion-page-hidden\") &&\n !enteringEl.classList.contains(\"ion-page-invisible\"));\n};\nconst viewDepthKey = Symbol(0);\nexport const IonRouterOutlet = /*@__PURE__*/ defineComponent({\n name: \"IonRouterOutlet\",\n setup() {\n defineCustomElement();\n const injectedRoute = inject(routeLocationKey);\n const route = useRoute();\n const depth = inject(viewDepthKey, 0);\n const matchedRouteRef = computed(() => route.matched[depth]);\n let previousMatchedRouteRef;\n let previousMatchedPath;\n provide(viewDepthKey, depth + 1);\n provide(matchedRouteKey, matchedRouteRef);\n const ionRouterOutlet = ref();\n const id = generateId(\"ion-router-outlet\");\n const ionRouter = inject(\"navManager\");\n const viewStacks = inject(\"viewStacks\");\n const components = shallowRef([]);\n let skipTransition = false;\n // The base url for this router outlet\n let parentOutletPath;\n /**\n * Note: Do not listen for matchedRouteRef by itself here\n * as the callback will not fire for parameterized routes (i.e. /page/:id).\n * So going from /page/1 to /page/2 would not fire this callback if we\n * only listened for changes to matchedRouteRef.\n */\n watch(() => [route, matchedRouteRef.value], ([currentRoute, currentMatchedRouteRef]) => {\n /**\n * This callback checks whether or not a router outlet\n * needs to respond to a change in the matched route.\n * It handles a few cases:\n * 1. The matched route is undefined. This means that\n * the matched route is not applicable to this outlet.\n * For example, a /settings route is not applicable\n * to a /tabs/... route.\n *\n * Note: When going back to a tabs outlet from a non-tabs outlet,\n * the tabs outlet should NOT attempt a page transition from the\n * previous tab to the active tab. To do this we compare the current\n * route with the previous route. Unfortunately, we cannot rely on the\n * previous value provided by Vue in the watch callback. This is because\n * when coming back to the tabs context, the previous matched route will\n * be undefined (because nothing in the tabs context matches /settings)\n * but the current matched route will be defined and so a transition\n * will always occur.\n *\n * 2. The matched route is defined and is different than\n * the previously matched route. This is the most\n * common case such as when you go from /page1 to /page2.\n *\n * 3. The matched route is the same but the parameters are different.\n * This is a special case for parameterized routes (i.e. /page/:id).\n * When going from /page/1 to /page/2, the matched route object will\n * be the same, but we still need to perform a page transition. To do this\n * we check if the parameters are different (i.e. 1 vs 2). To avoid enumerating\n * all of the keys in the params object, we check the url path to\n * see if they are different after ensuring we are in a parameterized route.\n */\n if (currentMatchedRouteRef !== undefined) {\n const matchedDifferentRoutes = currentMatchedRouteRef !== previousMatchedRouteRef;\n const matchedDifferentParameterRoutes = currentRoute.matched[currentRoute.matched.length - 1] ===\n currentMatchedRouteRef &&\n currentRoute.path !== previousMatchedPath;\n if (matchedDifferentRoutes || matchedDifferentParameterRoutes) {\n setupViewItem(matchedRouteRef);\n }\n }\n previousMatchedRouteRef = currentMatchedRouteRef;\n previousMatchedPath = currentRoute.path;\n });\n const canStart = () => {\n const config = getConfig();\n const swipeEnabled = config &&\n config.get(\"swipeBackEnabled\", ionRouterOutlet.value.mode === \"ios\");\n if (!swipeEnabled)\n return false;\n const stack = viewStacks.getViewStack(id);\n if (!stack || stack.length <= 1)\n return false;\n /**\n * We only want to outlet of the entering view\n * to respond to this gesture, so check\n * to make sure the view is in the outlet we want.\n */\n const routeInfo = ionRouter.getLeavingRouteInfo();\n const enteringViewItem = viewStacks.findViewItemByRouteInfo({ pathname: routeInfo.pushedByRoute || \"\" }, id);\n return !!enteringViewItem;\n };\n const onStart = async () => {\n const routeInfo = ionRouter.getLeavingRouteInfo();\n const { routerAnimation } = routeInfo;\n const enteringViewItem = viewStacks.findViewItemByRouteInfo({ pathname: routeInfo.pushedByRoute || \"\" }, id);\n const leavingViewItem = viewStacks.findViewItemByRouteInfo(routeInfo, id);\n if (leavingViewItem) {\n let animationBuilder = routerAnimation;\n const enteringEl = enteringViewItem.ionPageElement;\n const leavingEl = leavingViewItem.ionPageElement;\n /**\n * If we are going back from a page that\n * was presented using a custom animation\n * we should default to using that\n * unless the developer explicitly\n * provided another animation.\n */\n const customAnimation = enteringViewItem.routerAnimation;\n if (animationBuilder === undefined && customAnimation !== undefined) {\n animationBuilder = customAnimation;\n }\n leavingViewItem.routerAnimation = animationBuilder;\n await transition(enteringEl, leavingEl, \"back\", ionRouter.canGoBack(2), true, animationBuilder);\n }\n return Promise.resolve();\n };\n const onEnd = (shouldContinue) => {\n if (shouldContinue) {\n skipTransition = true;\n /**\n * Use the same logic as clicking\n * ion-back-button to determine where\n * to go back to.\n */\n ionRouter.handleNavigateBack();\n }\n else {\n /**\n * In the event that the swipe\n * gesture was aborted, we should\n * re-hide the page that was going to enter.\n */\n const routeInfo = ionRouter.getCurrentRouteInfo();\n const enteringViewItem = viewStacks.findViewItemByRouteInfo({ pathname: routeInfo.pushedByRoute || \"\" }, id);\n enteringViewItem.ionPageElement.setAttribute(\"aria-hidden\", \"true\");\n enteringViewItem.ionPageElement.classList.add(\"ion-page-hidden\");\n }\n };\n watch(ionRouterOutlet, () => {\n ionRouterOutlet.value.swipeHandler = {\n canStart,\n onStart,\n onEnd,\n };\n });\n const transition = async (enteringEl, leavingEl, direction, showGoBack, progressAnimation, animationBuilder) => {\n if (skipTransition) {\n skipTransition = false;\n return Promise.resolve(false);\n }\n if (enteringEl === leavingEl) {\n return Promise.resolve(false);\n }\n enteringEl.classList.add(\"ion-page-invisible\");\n const hasRootDirection = direction === undefined || direction === \"root\" || direction === \"none\";\n const result = await ionRouterOutlet.value.commit(enteringEl, leavingEl, {\n /**\n * replace operations result in a direction of none.\n * These typically do not have need animations, so we set\n * the duration to 0. However, if a developer explicitly\n * passes an animationBuilder, we should assume that\n * they want an animation to be played even\n * though it is a replace operation.\n */\n duration: hasRootDirection && animationBuilder === undefined ? 0 : undefined,\n direction,\n showGoBack,\n progressAnimation,\n animationBuilder,\n });\n return result;\n };\n const handlePageTransition = async () => {\n const routeInfo = ionRouter.getCurrentRouteInfo();\n const { routerDirection, routerAction, routerAnimation, prevRouteLastPathname, delta, } = routeInfo;\n const enteringViewItem = viewStacks.findViewItemByRouteInfo(routeInfo, id);\n let leavingViewItem = viewStacks.findLeavingViewItemByRouteInfo(routeInfo, id);\n const enteringEl = enteringViewItem.ionPageElement;\n /**\n * All views that can be transitioned to must have\n * an `<ion-page>` element for transitions and lifecycle\n * methods to work properly.\n */\n if (enteringEl === undefined) {\n console.warn(`[@ionic/vue Warning]: The view you are trying to render for path ${routeInfo.pathname} does not have the required <ion-page> component. Transitions and lifecycle methods may not work as expected.\n\nSee https://ionicframework.com/docs/vue/navigation#ionpage for more information.`);\n }\n if (enteringViewItem === leavingViewItem)\n return;\n if (!leavingViewItem && prevRouteLastPathname) {\n leavingViewItem = viewStacks.findViewItemByPathname(prevRouteLastPathname, id);\n }\n /**\n * If the entering view is already\n * visible, then no transition is needed.\n * This is most common when navigating\n * from a tabs page to a non-tabs page\n * and then back to the tabs page.\n * Even when the tabs context navigated away,\n * the inner tabs page was still active.\n * This also avoids an issue where\n * the previous tabs page is incorrectly\n * unmounted since it would automatically\n * unmount the previous view.\n *\n * This should also only apply to entering and\n * leaving items in the same router outlet (i.e.\n * Tab1 and Tab2), otherwise this will\n * return early for swipe to go back when\n * going from a non-tabs page to a tabs page.\n */\n if (isViewVisible(enteringEl) &&\n (leavingViewItem === null || leavingViewItem === void 0 ? void 0 : leavingViewItem.ionPageElement) !== undefined &&\n !isViewVisible(leavingViewItem.ionPageElement)) {\n return;\n }\n fireLifecycle(enteringViewItem.vueComponent, enteringViewItem.vueComponentRef, LIFECYCLE_WILL_ENTER);\n if ((leavingViewItem === null || leavingViewItem === void 0 ? void 0 : leavingViewItem.ionPageElement) &&\n enteringViewItem !== leavingViewItem) {\n let animationBuilder = routerAnimation;\n const leavingEl = leavingViewItem.ionPageElement;\n fireLifecycle(leavingViewItem.vueComponent, leavingViewItem.vueComponentRef, LIFECYCLE_WILL_LEAVE);\n /**\n * If we are going back from a page that\n * was presented using a custom animation\n * we should default to using that\n * unless the developer explicitly\n * provided another animation.\n */\n const customAnimation = enteringViewItem.routerAnimation;\n if (animationBuilder === undefined &&\n routerDirection === \"back\" &&\n customAnimation !== undefined) {\n animationBuilder = customAnimation;\n }\n leavingViewItem.routerAnimation = animationBuilder;\n await transition(enteringEl, leavingEl, routerDirection, !!routeInfo.pushedByRoute, false, animationBuilder);\n leavingEl.classList.add(\"ion-page-hidden\");\n leavingEl.setAttribute(\"aria-hidden\", \"true\");\n const usingLinearNavigation = viewStacks.size() === 1;\n if (routerAction === \"replace\") {\n leavingViewItem.mount = false;\n leavingViewItem.ionPageElement = undefined;\n leavingViewItem.ionRoute = false;\n }\n else if (!(routerAction === \"push\" && routerDirection === \"forward\")) {\n const shouldLeavingViewBeRemoved = routerDirection !== \"none\" &&\n leavingViewItem &&\n enteringViewItem !== leavingViewItem;\n if (shouldLeavingViewBeRemoved) {\n leavingViewItem.mount = false;\n leavingViewItem.ionPageElement = undefined;\n leavingViewItem.ionRoute = false;\n /**\n * router.go() expects navigation to be\n * linear. If an app is using multiple stacks then\n * it is not using linear navigation. As a result, router.go()\n * will not give the results that developers are expecting.\n */\n if (usingLinearNavigation) {\n viewStacks.unmountLeavingViews(id, enteringViewItem, delta);\n }\n }\n }\n else if (usingLinearNavigation) {\n viewStacks.mountIntermediaryViews(id, leavingViewItem, delta);\n }\n fireLifecycle(leavingViewItem.vueComponent, leavingViewItem.vueComponentRef, LIFECYCLE_DID_LEAVE);\n }\n else {\n /**\n * If there is no leaving element, just show\n * the entering element. Wrap it in an raf\n * in case ion-content's fullscreen callback\n * is running. Otherwise we'd have a flicker.\n */\n requestAnimationFrame(() => enteringEl.classList.remove(\"ion-page-invisible\"));\n }\n fireLifecycle(enteringViewItem.vueComponent, enteringViewItem.vueComponentRef, LIFECYCLE_DID_ENTER);\n components.value = viewStacks.getChildrenToRender(id);\n };\n const setupViewItem = (matchedRouteRef) => {\n const firstMatchedRoute = route.matched[0];\n if (!parentOutletPath) {\n parentOutletPath = firstMatchedRoute.path;\n }\n /**\n * If no matched route, do not do anything in this outlet.\n * If there is a match, but it the first matched path\n * is not the root path for this outlet, then this view\n * change needs to be rendered in a different outlet.\n * We also add an exception for when the matchedRouteRef is\n * equal to the first matched route (i.e. the base router outlet).\n * This logic is mainly to help nested outlets/multi-tab\n * setups work better.\n */\n if (!matchedRouteRef.value ||\n (matchedRouteRef.value !== firstMatchedRoute &&\n firstMatchedRoute.path !== parentOutletPath)) {\n return;\n }\n const currentRoute = ionRouter.getCurrentRouteInfo();\n let enteringViewItem = viewStacks.findViewItemByRouteInfo(currentRoute, id);\n if (!enteringViewItem) {\n enteringViewItem = viewStacks.createViewItem(id, matchedRouteRef.value.components.default, matchedRouteRef.value, currentRoute);\n viewStacks.add(enteringViewItem);\n }\n if (!enteringViewItem.mount) {\n enteringViewItem.mount = true;\n enteringViewItem.registerCallback = () => {\n handlePageTransition();\n enteringViewItem.registerCallback = undefined;\n };\n }\n else {\n handlePageTransition();\n }\n components.value = viewStacks.getChildrenToRender(id);\n };\n if (matchedRouteRef.value) {\n setupViewItem(matchedRouteRef);\n }\n /**\n * Remove stack data for this outlet\n * when outlet is destroyed otherwise\n * we will see cached view data.\n */\n onUnmounted(() => viewStacks.clear(id));\n const registerIonPage = (viewItem, ionPageEl) => {\n const oldIonPageEl = viewItem.ionPageElement;\n viewStacks.registerIonPage(viewItem, ionPageEl);\n /**\n * If there is a registerCallback,\n * then this component is being registered\n * as a result of a navigation change.\n */\n if (viewItem.registerCallback) {\n /**\n * Page should be hidden initially\n * to avoid flickering.\n */\n ionPageEl.classList.add(\"ion-page-invisible\");\n viewItem.registerCallback();\n /**\n * If there is no registerCallback, then\n * this component is likely being re-registered\n * as a result of a hot module replacement.\n * We need to see if the oldIonPageEl has\n * .ion-page-invisible. If it does not then we\n * need to remove it from the new ionPageEl otherwise\n * the page will be hidden when it is replaced.\n */\n }\n else if (oldIonPageEl &&\n !oldIonPageEl.classList.contains(\"ion-page-invisible\")) {\n ionPageEl.classList.remove(\"ion-page-invisible\");\n }\n };\n return {\n id,\n components,\n injectedRoute,\n ionRouterOutlet,\n registerIonPage,\n };\n },\n render() {\n const { components, registerIonPage, injectedRoute } = this;\n return h(\"ion-router-outlet\", { ref: \"ionRouterOutlet\" }, components &&\n components.map((c) => {\n var _a, _b;\n let props = {\n ref: c.vueComponentRef,\n key: c.pathname,\n registerIonPage: (ionPageEl) => registerIonPage(c, ionPageEl),\n };\n /**\n * IonRouterOutlet does not support named outlets.\n */\n const routePropsOption = (_b = (_a = c.matchedRoute) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.default;\n /**\n * Since IonRouterOutlet renders multiple components,\n * each render will cause all props functions to be\n * called again. As a result, we need to cache the function\n * result and provide it on each render so that the props\n * are not lost when navigating from and back to a page.\n * When a component is destroyed and re-created, the\n * function is called again.\n */\n const getPropsFunctionResult = () => {\n var _a;\n const cachedPropsResult = (_a = c.vueComponentData) === null || _a === void 0 ? void 0 : _a.propsFunctionResult;\n if (cachedPropsResult) {\n return cachedPropsResult;\n }\n else {\n const propsFunctionResult = routePropsOption(injectedRoute);\n c.vueComponentData = Object.assign(Object.assign({}, c.vueComponentData), { propsFunctionResult });\n return propsFunctionResult;\n }\n };\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? c.params\n : typeof routePropsOption === \"function\"\n ? getPropsFunctionResult()\n : routePropsOption\n : null;\n props = Object.assign(Object.assign({}, props), routeProps);\n return h(c.vueComponent, props);\n }));\n },\n});\n//# sourceMappingURL=IonRouterOutlet.js.map","import { defineCustomElement } from \"@ionic/core/components/ion-tab-button.js\";\nimport { h, defineComponent, inject } from \"vue\";\nexport const IonTabButton = /*@__PURE__*/ defineComponent({\n name: \"IonTabButton\",\n props: {\n _getTabState: {\n type: Function,\n default: () => {\n return {};\n },\n },\n disabled: Boolean,\n download: String,\n href: String,\n rel: String,\n layout: String,\n selected: Boolean,\n tab: String,\n target: String,\n },\n setup(props, { slots }) {\n defineCustomElement();\n // TODO(FW-2969): type\n const ionRouter = inject(\"navManager\");\n const onClick = (ev) => {\n if (ev.cancelable) {\n ev.preventDefault();\n }\n /**\n * Keeping track of the originalHref\n * (i.e. /tabs/tab1) lets us redirect\n * users back to a child page using currentHref\n * (i.e. /tabs/tab1/child).\n */\n const { tab, href, _getTabState } = props;\n const tabState = _getTabState();\n const tappedTab = tabState.tabs[tab] || {};\n const originalHref = tappedTab.originalHref || href;\n const currentHref = tappedTab.currentHref || href;\n const prevActiveTab = tabState.activeTab;\n /**\n * If we are still on the same\n * tab as before, but the base href\n * does not equal the current href,\n * then we must be on a child page and\n * should direct users back to the root\n * of the tab.\n */\n if (prevActiveTab === tab) {\n if (originalHref !== currentHref) {\n ionRouter.resetTab(tab);\n }\n }\n else {\n ionRouter.changeTab(tab, currentHref);\n }\n };\n return () => {\n return h(\"ion-tab-button\", Object.assign({ onClick }, props), slots.default && slots.default());\n };\n },\n});\n//# sourceMappingURL=IonTabButton.js.map","import { h, defineComponent } from \"vue\";\nconst WILL_CHANGE = \"ionTabsWillChange\";\nconst DID_CHANGE = \"ionTabsDidChange\";\n// TODO(FW-2969): types\nexport const IonTabs = /*@__PURE__*/ defineComponent({\n name: \"IonTabs\",\n emits: [WILL_CHANGE, DID_CHANGE],\n render() {\n var _a;\n const { $slots: slots, $emit } = this;\n const slottedContent = slots.default && slots.default();\n let routerOutlet;\n /**\n * Developers must pass an ion-router-outlet\n * inside of ion-tabs.\n */\n if (slottedContent && slottedContent.length > 0) {\n routerOutlet = slottedContent.find((child) => child.type && child.type.name === \"IonRouterOutlet\");\n }\n if (!routerOutlet) {\n throw new Error(\"IonTabs must contain an IonRouterOutlet. See https://ionicframework.com/docs/vue/navigation#working-with-tabs for more information.\");\n }\n let childrenToRender = [\n h(\"div\", {\n class: \"tabs-inner\",\n style: {\n position: \"relative\",\n flex: \"1\",\n contain: \"layout size style\",\n },\n }, routerOutlet),\n ];\n /**\n * If ion-tab-bar has slot=\"top\" it needs to be\n * rendered before `.tabs-inner` otherwise it will\n * not show above the tab content.\n */\n if (slottedContent && slottedContent.length > 0) {\n /**\n * Render all content except for router outlet\n * since that needs to be inside of `.tabs-inner`.\n */\n const filteredContent = slottedContent.filter((child) => !child.type ||\n (child.type && child.type.name !== \"IonRouterOutlet\"));\n const slottedTabBar = filteredContent.find((child) => child.type && child.type.name === \"IonTabBar\");\n const hasTopSlotTabBar = slottedTabBar && ((_a = slottedTabBar.props) === null || _a === void 0 ? void 0 : _a.slot) === \"top\";\n if (slottedTabBar) {\n if (!slottedTabBar.props) {\n slottedTabBar.props = {};\n }\n /**\n * ionTabsWillChange and ionTabsDidChange are\n * fired from `ion-tabs`, so we need to pass these down\n * as props so they can fire when the active tab changes.\n * TODO: We may want to move logic from the tab bar into here\n * so we do not have code split across two components.\n */\n slottedTabBar.props._tabsWillChange = (tab) => $emit(WILL_CHANGE, { tab });\n slottedTabBar.props._tabsDidChange = (tab) => $emit(DID_CHANGE, { tab });\n }\n if (hasTopSlotTabBar) {\n childrenToRender = [...filteredContent, ...childrenToRender];\n }\n else {\n childrenToRender = [...childrenToRender, ...filteredContent];\n }\n }\n return h(\"ion-tabs\", {\n style: {\n display: \"flex\",\n position: \"absolute\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n \"flex-direction\": \"column\",\n width: \"100%\",\n height: \"100%\",\n contain: \"layout size style\",\n \"z-index\": \"0\",\n },\n }, childrenToRender);\n },\n});\n//# sourceMappingURL=IonTabs.js.map","import { defineCustomElement } from \"@ionic/core/components/ion-tab-bar.js\";\nimport { h, defineComponent, getCurrentInstance, inject } from \"vue\";\nconst isTabButton = (child) => { var _a; return ((_a = child.type) === null || _a === void 0 ? void 0 : _a.name) === \"IonTabButton\"; };\nconst getTabs = (nodes) => {\n let tabs = [];\n nodes.forEach((node) => {\n if (isTabButton(node)) {\n tabs.push(node);\n }\n else if (Array.isArray(node.children) && node.children.length > 1) {\n const childTabs = getTabs(node.children);\n tabs = [...tabs, ...childTabs];\n }\n });\n return tabs;\n};\nexport const IonTabBar = defineComponent({\n name: \"IonTabBar\",\n props: {\n /* eslint-disable @typescript-eslint/no-empty-function */\n _tabsWillChange: { type: Function, default: () => { } },\n _tabsDidChange: { type: Function, default: () => { } },\n /* eslint-enable @typescript-eslint/no-empty-function */\n },\n data() {\n return {\n tabState: {\n activeTab: undefined,\n tabs: {},\n },\n tabVnodes: [],\n };\n },\n updated() {\n this.setupTabState(inject(\"navManager\"));\n },\n methods: {\n setupTabState(ionRouter) {\n /**\n * For each tab, we need to keep track of its\n * base href as well as any child page that\n * is active in its stack so that when we go back\n * to a tab from another tab, we can correctly\n * show any child pages if necessary.\n */\n const tabState = this.$data.tabState;\n const currentInstance = getCurrentInstance();\n const tabs = (this.$data.tabVnodes = getTabs((currentInstance.subTree.children || [])));\n tabs.forEach((child) => {\n tabState.tabs[child.props.tab] = {\n originalHref: child.props.href,\n currentHref: child.props.href,\n ref: child,\n };\n /**\n * Passing this prop to each tab button\n * lets it be aware of the state that\n * ion-tab-bar is managing for it.\n */\n child.component.props._getTabState = () => tabState;\n });\n this.checkActiveTab(ionRouter);\n },\n checkActiveTab(ionRouter) {\n const currentRoute = ionRouter.getCurrentRouteInfo();\n const childNodes = this.$data.tabVnodes;\n const { tabs, activeTab: prevActiveTab } = this.$data.tabState;\n const tabState = this.$data.tabState;\n const tabKeys = Object.keys(tabs);\n const activeTab = tabKeys.find((key) => {\n const href = tabs[key].originalHref;\n return currentRoute.pathname.startsWith(href);\n });\n /**\n * For each tab, check to see if the\n * base href has changed. If so, update\n * it in the tabs state.\n */\n childNodes.forEach((child) => {\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 ref: child,\n };\n }\n });\n if (activeTab && prevActiveTab) {\n const prevHref = this.$data.tabState.tabs[prevActiveTab].currentHref;\n /**\n * If the tabs change or the url changes,\n * update the currentHref for the active tab.\n * Ex: url changes from /tabs/tab1 --> /tabs/tab1/child\n * If we went to tab2 then back to tab1, we should\n * land on /tabs/tab1/child instead of /tabs/tab1.\n */\n if (activeTab !== prevActiveTab || prevHref !== currentRoute.pathname) {\n /**\n * By default the search is `undefined` in Ionic Vue,\n * but Vue Router can set the search to the empty string.\n * We check for truthy here because empty string is falsy\n * and currentRoute.search cannot ever be a boolean.\n */\n const search = currentRoute.search ? `?${currentRoute.search}` : \"\";\n tabs[activeTab] = Object.assign(Object.assign({}, tabs[activeTab]), { currentHref: currentRoute.pathname + search });\n }\n /**\n * If navigating back and the tabs change,\n * set the previous tab back to its original href.\n */\n if (currentRoute.routerAction === \"pop\" &&\n activeTab !== prevActiveTab) {\n tabs[prevActiveTab] = Object.assign(Object.assign({}, tabs[prevActiveTab]), { currentHref: tabs[prevActiveTab].originalHref });\n }\n }\n const activeChild = childNodes.find((child) => { var _a; return isTabButton(child) && ((_a = child.props) === null || _a === void 0 ? void 0 : _a.tab) === activeTab; });\n const tabBar = this.$refs.ionTabBar;\n const tabDidChange = activeTab !== prevActiveTab;\n if (tabBar) {\n if (activeChild) {\n tabDidChange && this.$props._tabsWillChange(activeTab);\n ionRouter.handleSetCurrentTab(activeTab);\n tabBar.selectedTab = tabState.activeTab = activeTab;\n tabDidChange && this.$props._tabsDidChange(activeTab);\n /**\n * When going to a tab that does\n * not have an associated ion-tab-button\n * we need to remove the selected state from\n * the old tab.\n */\n }\n else {\n tabBar.selectedTab = tabState.activeTab = \"\";\n }\n }\n },\n },\n mounted() {\n const ionRouter = inject(\"navManager\");\n this.setupTabState(ionRouter);\n ionRouter.registerHistoryChangeListener(() => this.checkActiveTab(ionRouter));\n },\n setup(_, { slots }) {\n defineCustomElement();\n return () => {\n return h(\"ion-tab-bar\", { ref: \"ionTabBar\" }, slots.default && slots.default());\n };\n },\n});\n//# sourceMappingURL=IonTabBar.js.map","import { defineCustomElement } from \"@ionic/core/components/ion-app.js\";\nimport { h, defineComponent, shallowRef } from \"vue\";\nconst userComponents = shallowRef([]);\nexport const IonApp = /*@__PURE__*/ defineComponent((_, { attrs, slots }) => {\n defineCustomElement();\n return () => {\n return h(\"ion-app\", Object.assign({}, attrs), [slots.default && slots.default(), ...userComponents.value]);\n };\n});\nIonApp.name = \"IonApp\";\n/**\n * When rendering user components inside of\n * ion-modal, or ion-popover the component\n * needs to be created inside of the current application\n * context otherwise libraries such as vue-i18n or vuex\n * will not work properly.\n *\n * `userComponents` renders teleported components as children\n * of `ion-app` within the current application context.\n */\nexport const addTeleportedUserComponent = (component) => {\n userComponents.value = [...userComponents.value, component];\n};\nexport const removeTeleportedUserComponent = (component) => {\n userComponents.value = userComponents.value.filter((cmp) => cmp !== component);\n};\n//# sourceMappingURL=IonApp.js.map","import { h, Teleport } from \"vue\";\nimport { addTeleportedUserComponent, removeTeleportedUserComponent, } from \"./components/IonApp\";\nexport const VueDelegate = (addFn = addTeleportedUserComponent, removeFn = removeTeleportedUserComponent) => {\n // `h` doesn't provide a type for the component argument\n const refMap = new WeakMap();\n // TODO(FW-2969): types\n const attachViewToDom = (parentElement, componentOrTagName, componentProps = {}, classes) => {\n const div = document.createElement(\"div\");\n classes && div.classList.add(...classes);\n parentElement.appendChild(div);\n const hostComponent = h(Teleport, { to: div }, h(componentOrTagName, Object.assign({}, componentProps)));\n /**\n * Ionic Framework will use what is returned from `attachViewToDom`\n * as the `component` argument in `removeViewFromDom`.\n *\n * We will store a reference to the div element and the host component,\n * so we can later look-up and unmount the correct instance.\n */\n refMap.set(div, hostComponent);\n addFn(hostComponent);\n return Promise.resolve(div);\n };\n const removeViewFromDom = (_container, component) => {\n const hostComponent = refMap.get(component);\n hostComponent && removeFn(hostComponent);\n return Promise.resolve();\n };\n return { attachViewToDom, removeViewFromDom };\n};\n//# sourceMappingURL=framework-delegate.js.map","import { defineCustomElement } from \"@ionic/core/components/ion-nav.js\";\nimport { defineComponent, h, shallowRef } from \"vue\";\nimport { VueDelegate } from \"../framework-delegate\";\nexport const IonNav = /*@__PURE__*/ defineComponent(() => {\n defineCustomElement();\n const views = shallowRef([]);\n /**\n * Allows us to create the component\n * within the Vue application context.\n */\n const addView = (component) => (views.value = [...views.value, component]);\n const removeView = (component) => (views.value = views.value.filter((cmp) => cmp !== component));\n const delegate = VueDelegate(addView, removeView);\n return () => {\n return h(\"ion-nav\", { delegate }, views.value);\n };\n});\nIonNav.name = \"IonNav\";\n//# sourceMappingURL=IonNav.js.map","import { defineCustomElement } from \"ionicons/components/ion-icon.js\";\nimport { h, defineComponent } from \"vue\";\nimport { getConfig } from \"../utils\";\nexport const IonIcon = /*@__PURE__*/ defineComponent({\n name: \"IonIcon\",\n props: {\n color: String,\n flipRtl: Boolean,\n icon: String,\n ios: String,\n lazy: String,\n md: String,\n mode: String,\n name: String,\n size: String,\n src: String,\n },\n setup(props, { slots }) {\n defineCustomElement();\n return () => {\n var _a, _b;\n const { icon, ios, md, mode } = props;\n let iconToUse;\n const config = getConfig();\n const iconMode = mode || (config === null || config === void 0 ? void 0 : config.get(\"mode\"));\n if (ios || md) {\n if (iconMode === \"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 h(\"ion-icon\", Object.assign(Object.assign({}, props), { icon: iconToUse }), slots);\n };\n },\n});\n//# sourceMappingURL=IonIcon.js.map","import { defineComponent, h, ref, onMounted } from 'vue';\nconst EMPTY_PROP = Symbol();\nconst DEFAULT_EMPTY_PROP = { default: EMPTY_PROP };\nexport const defineOverlayContainer = (name, defineCustomElement, componentProps = [], hasDelegateHost, controller) => {\n const createControllerComponent = () => {\n return defineComponent((props, { slots, emit }) => {\n const eventListeners = [\n { componentEv: `${name}-will-present`, frameworkEv: 'willPresent' },\n { componentEv: `${name}-did-present`, frameworkEv: 'didPresent' },\n { componentEv: `${name}-will-dismiss`, frameworkEv: 'willDismiss' },\n { componentEv: `${name}-did-dismiss`, frameworkEv: 'didDismiss' },\n ];\n if (defineCustomElement !== undefined) {\n defineCustomElement();\n }\n const overlay = ref();\n const onVnodeMounted = async () => {\n const isOpen = props.isOpen;\n isOpen && (await present(props));\n };\n const onVnodeUpdated = async (node, prevNode) => {\n const isOpen = node.props.isOpen;\n const prevIsOpen = prevNode.props.isOpen;\n /**\n * Do not do anything if this prop\n * did not change.\n */\n if (isOpen === prevIsOpen)\n return;\n if (isOpen) {\n await present(props);\n }\n else {\n await dismiss();\n }\n };\n const onVnodeBeforeUnmount = async () => {\n await dismiss();\n };\n const dismiss = async () => {\n if (!overlay.value)\n return;\n await overlay.value;\n overlay.value = overlay.value.dismiss();\n await overlay.value;\n overlay.value = undefined;\n };\n const present = async (props) => {\n var _a;\n /**\n * Do not open another instance\n * if one is already opened.\n */\n if (overlay.value) {\n await overlay.value;\n }\n if ((_a = overlay.value) === null || _a === void 0 ? void 0 : _a.present) {\n await overlay.value.present();\n return;\n }\n let restOfProps = {};\n /**\n * We can use Object.entries here\n * to avoid the hasOwnProperty check,\n * but that would require 2 iterations\n * where as this only requires 1.\n */\n for (const key in props) {\n const value = props[key];\n if (props.hasOwnProperty(key) && value !== EMPTY_PROP) {\n restOfProps[key] = value;\n }\n }\n /**\n * These are getting passed as props.\n * Potentially a Vue bug with Web Components?\n */\n delete restOfProps.onWillPresent;\n delete restOfProps.onDidPresent;\n delete restOfProps.onWillDismiss;\n delete restOfProps.onDidDismiss;\n const component = slots.default && slots.default()[0];\n overlay.value = controller.create(Object.assign(Object.assign({}, restOfProps), { component }));\n overlay.value = await overlay.value;\n eventListeners.forEach(eventListener => {\n overlay.value.addEventListener(eventListener.componentEv, () => {\n emit(eventListener.frameworkEv);\n });\n });\n await overlay.value.present();\n };\n return () => {\n return h('div', {\n style: { display: 'none' },\n onVnodeMounted,\n onVnodeUpdated,\n onVnodeBeforeUnmount,\n isOpen: props.isOpen === true\n });\n };\n });\n };\n const createInlineComponent = () => {\n return defineComponent((props, { slots }) => {\n if (defineCustomElement !== undefined) {\n defineCustomElement();\n }\n const isOpen = ref(false);\n const elementRef = ref();\n onMounted(() => {\n elementRef.value.addEventListener('ion-mount', () => isOpen.value = true);\n elementRef.value.addEventListener('will-present', () => isOpen.value = true);\n elementRef.value.addEventListener('did-dismiss', () => isOpen.value = false);\n });\n return () => {\n let restOfProps = {};\n /**\n * We can use Object.entries here\n * to avoid the hasOwnProperty check,\n * but that would require 2 iterations\n * where as this only requires 1.\n */\n for (const key in props) {\n const value = props[key];\n if (props.hasOwnProperty(key) && value !== EMPTY_PROP) {\n restOfProps[key] = value;\n }\n }\n /**\n * Some overlays need a wrapper element so content\n * takes up the full size of the parent overlay.\n */\n const renderChildren = () => {\n if (hasDelegateHost) {\n return h('div', { className: 'ion-delegate-host ion-page' }, slots);\n }\n return slots;\n };\n return h(name, Object.assign(Object.assign({}, restOfProps), { ref: elementRef }), \n /**\n * When binding keepContentsMounted as an attribute\n * i.e. <ion-modal keep-contents-mounted></ion-modal>\n * the value of the prop will be the empty string which is\n * why we still call renderChildren() in that case.\n */\n (isOpen.value || restOfProps.keepContentsMounted || restOfProps.keepContentsMounted === '') ? renderChildren() : undefined);\n };\n });\n };\n const Container = (controller !== undefined) ? createControllerComponent() : createInlineComponent();\n Container.name = name;\n Container.props = {\n 'isOpen': DEFAULT_EMPTY_PROP\n };\n componentProps.forEach(componentProp => {\n Container.props[componentProp] = DEFAULT_EMPTY_PROP;\n });\n if (controller !== undefined) {\n Container.emits = ['willPresent', 'didPresent', 'willDismiss', 'didDismiss'];\n }\n return Container;\n};\n//# sourceMappingURL=overlays.js.map","/**\n * This is an autogenerated file created by 'scripts/copy-overlays.js'.\n * Changes made to this file will be overwritten on build.\n */\nimport { defineCustomElement as defineIonActionSheetCustomElement } from '@ionic/core/components/ion-action-sheet.js';\nimport { defineCustomElement as defineIonAlertCustomElement } from '@ionic/core/components/ion-alert.js';\nimport { defineCustomElement as defineIonLoadingCustomElement } from '@ionic/core/components/ion-loading.js';\nimport { defineCustomElement as defineIonPickerCustomElement } from '@ionic/core/components/ion-picker.js';\nimport { defineCustomElement as defineIonToastCustomElement } from '@ionic/core/components/ion-toast.js';\nimport { defineCustomElement as defineIonModalCustomElement } from '@ionic/core/components/ion-modal.js';\nimport { defineCustomElement as defineIonPopoverCustomElement } from '@ionic/core/components/ion-popover.js';\nimport { defineOverlayContainer } from '../vue-component-lib/overlays';\nexport const IonActionSheet = /*@__PURE__*/ defineOverlayContainer('ion-action-sheet', defineIonActionSheetCustomElement, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'subHeader', 'translucent', 'trigger']);\nexport const IonAlert = /*@__PURE__*/ defineOverlayContainer('ion-alert', defineIonAlertCustomElement, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'inputs', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'subHeader', 'translucent', 'trigger']);\nexport const IonLoading = /*@__PURE__*/ defineOverlayContainer('ion-loading', defineIonLoadingCustomElement, ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'translucent', 'trigger']);\nexport const IonPicker = /*@__PURE__*/ defineOverlayContainer('ion-picker', defineIonPickerCustomElement, ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'trigger']);\nexport const IonToast = /*@__PURE__*/ defineOverlayContainer('ion-toast', defineIonToastCustomElement, ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'translucent', 'trigger']);\nexport const IonModal = /*@__PURE__*/ defineOverlayContainer('ion-modal', defineIonModalCustomElement, ['animated', 'backdropBreakpoint', 'backdropDismiss', 'breakpoints', 'canDismiss', 'enterAnimation', 'handle', 'handleBehavior', 'htmlAttributes', 'initialBreakpoint', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'presentingElement', 'showBackdrop', 'trigger'], true);\nexport const IonPopover = /*@__PURE__*/ defineOverlayContainer('ion-popover', defineIonPopoverCustomElement, ['alignment', 'animated', 'arrow', 'backdropDismiss', 'component', 'componentProps', 'dismissOnSelect', 'enterAnimation', 'event', 'htmlAttributes', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'reference', 'showBackdrop', 'side', 'size', 'translucent', 'trigger', 'triggerAction']);\n//# sourceMappingURL=Overlays.js.map","import { modalController as modalCtrl, popoverController as popoverCtrl, alertController as alertCtrl, actionSheetController as actionSheetCtrl, loadingController as loadingCtrl, pickerController as pickerCtrl, toastController as toastCtrl, } from \"@ionic/core/components\";\nimport { defineCustomElement as defineIonActionSheetCustomElement } from \"@ionic/core/components/ion-action-sheet.js\";\nimport { defineCustomElement as defineIonAlertCustomElement } from \"@ionic/core/components/ion-alert.js\";\nimport { defineCustomElement as defineIonLoadingCustomElement } from \"@ionic/core/components/ion-loading.js\";\nimport { defineCustomElement as defineIonModalCustomElement } from \"@ionic/core/components/ion-modal.js\";\nimport { defineCustomElement as defineIonPickerCustomElement } from \"@ionic/core/components/ion-picker.js\";\nimport { defineCustomElement as defineIonPopoverCustomElement } from \"@ionic/core/components/ion-popover.js\";\nimport { defineCustomElement as defineIonToastCustomElement } from \"@ionic/core/components/ion-toast.js\";\nimport { VueDelegate } from \"./framework-delegate\";\n// TODO(FW-2969): types\n/**\n * Wrap the controllers export from @ionic/core\n * register the underlying Web Component and\n * (optionally) provide a framework delegate.\n */\nconst createController = (defineCustomElement, oldController, useDelegate = false) => {\n const delegate = useDelegate ? VueDelegate() : undefined;\n const oldCreate = oldController.create.bind(oldController);\n oldController.create = (options) => {\n defineCustomElement();\n return oldCreate(Object.assign(Object.assign({}, options), { delegate }));\n };\n return oldController;\n};\nconst modalController = /*@__PURE__*/ createController(defineIonModalCustomElement, modalCtrl, true);\nconst popoverController = /*@__PURE__*/ createController(defineIonPopoverCustomElement, popoverCtrl, true);\nconst alertController = /*@__PURE__*/ createController(defineIonAlertCustomElement, alertCtrl);\nconst actionSheetController = /*@__PURE__*/ createController(defineIonActionSheetCustomElement, actionSheetCtrl);\nconst loadingController = /*@__PURE__*/ createController(defineIonLoadingCustomElement, loadingCtrl);\nconst pickerController = /*@__PURE__*/ createController(defineIonPickerCustomElement, pickerCtrl);\nconst toastController = /*@__PURE__*/ createController(defineIonToastCustomElement, toastCtrl);\nexport { modalController, popoverController, alertController, actionSheetController, loadingController, pickerController, toastController, };\n//# sourceMappingURL=controllers.js.map"],"names":["defineIonAccordion","defineIonAccordionGroup","defineIonAvatar","defineIonBackdrop","defineIonBadge","defineIonBreadcrumb","defineIonBreadcrumbs","defineIonButton","defineIonButtons","defineIonCard","defineIonCardContent","defineIonCardHeader","defineIonCardSubtitle","defineIonCardTitle","defineIonCheckbox","defineIonChip","defineIonCol","defineIonContent","defineIonDatetime","defineIonDatetimeButton","defineIonFab","defineIonFabButton","defineIonFabList","defineIonFooter","defineIonGrid","defineIonHeader","defineIonImg","defineIonInfiniteScroll","defineIonInfiniteScrollContent","defineIonInput","defineIonItem","defineIonItemDivider","defineIonItemGroup","defineIonItemOption","defineIonItemOptions","defineIonItemSliding","defineIonLabel","defineIonList","defineIonListHeader","defineIonMenu","defineIonMenuButton","defineIonMenuToggle","defineIonNavLink","defineIonNote","defineIonProgressBar","defineIonRadio","defineIonRadioGroup","defineIonRange","defineIonRefresher","defineIonRefresherContent","defineIonReorder","defineIonReorderGroup","defineIonRippleEffect","defineIonRow","defineIonSearchbar","defineIonSegment","defineIonSegmentButton","defineIonSelect","defineIonSelectOption","defineIonSkeletonText","defineIonSpinner","defineIonSplitPane","defineIonText","defineIonTextarea","defineIonThumbnail","defineIonTitle","defineIonToggle","defineIonToolbar","defineCustomElement","EMPTY_PROP","DEFAULT_EMPTY_PROP","defineIonActionSheetCustomElement","defineIonAlertCustomElement","defineIonLoadingCustomElement","defineIonPickerCustomElement","defineIonToastCustomElement","defineIonModalCustomElement","defineIonPopoverCustomElement","modalCtrl","popoverCtrl","alertCtrl","actionSheetCtrl","loadingCtrl","pickerCtrl","toastCtrl"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../dist-transpiled/vue-component-lib/utils.js","../dist-transpiled/proxies.js","../dist-transpiled/hooks/back-button.js","../dist-transpiled/hooks/keyboard.js","../dist-transpiled/utils.js","../dist-transpiled/hooks/lifecycle.js","../dist-transpiled/hooks/router.js","../dist-transpiled/ionic-vue.js","../dist-transpiled/components/IonBackButton.js","../dist-transpiled/components/IonPage.js","../dist-transpiled/components/IonRouterOutlet.js","../dist-transpiled/components/IonTabButton.js","../dist-transpiled/components/IonTabs.js","../dist-transpiled/components/IonTabBar.js","../dist-transpiled/components/IonApp.js","../dist-transpiled/framework-delegate.js","../dist-transpiled/components/IonNav.js","../dist-transpiled/components/IonIcon.js","../dist-transpiled/vue-component-lib/overlays.js","../dist-transpiled/components/Overlays.js","../dist-transpiled/controllers.js"],"sourcesContent":["// @ts-nocheck\n// It's easier and safer for Volar to disable typechecking and let the return type inference do its job.\nimport { defineComponent, getCurrentInstance, h, inject, ref } from 'vue';\nconst UPDATE_VALUE_EVENT = 'update:modelValue';\nconst MODEL_VALUE = 'modelValue';\nconst ROUTER_LINK_VALUE = 'routerLink';\nconst NAV_MANAGER = 'navManager';\nconst ROUTER_PROP_PREFIX = 'router';\nconst ARIA_PROP_PREFIX = 'aria';\n/**\n * Starting in Vue 3.1.0, all properties are\n * added as keys to the props object, even if\n * they are not being used. In order to correctly\n * account for both value props and v-model props,\n * we need to check if the key exists for Vue <3.1.0\n * and then check if it is not undefined for Vue >= 3.1.0.\n * See https://github.com/vuejs/vue-next/issues/3889\n */\nconst EMPTY_PROP = Symbol();\nconst DEFAULT_EMPTY_PROP = { default: EMPTY_PROP };\nconst getComponentClasses = (classes) => {\n return (classes === null || classes === void 0 ? void 0 : classes.split(' ')) || [];\n};\nconst getElementClasses = (ref, componentClasses, defaultClasses = []) => {\n var _a;\n return [...Array.from(((_a = ref.value) === null || _a === void 0 ? void 0 : _a.classList) || []), ...defaultClasses].filter((c, i, self) => !componentClasses.has(c) && self.indexOf(c) === i);\n};\n/**\n * Create a callback to define a Vue component wrapper around a Web Component.\n *\n * @prop name - The component tag name (i.e. `ion-button`)\n * @prop componentProps - An array of properties on the\n * component. These usually match up with the @Prop definitions\n * in each component's TSX file.\n * @prop customElement - An option custom element instance to pass\n * to customElements.define. Only set if `includeImportCustomElements: true` in your config.\n * @prop modelProp - The prop that v-model binds to (i.e. value)\n * @prop modelUpdateEvent - The event that is fired from your Web Component when the value changes (i.e. ionChange)\n * @prop externalModelUpdateEvent - The external event to fire from your Vue component when modelUpdateEvent fires. This is used for ensuring that v-model references have been\n * correctly updated when a user's event callback fires.\n */\nexport const defineContainer = (name, defineCustomElement, componentProps = [], modelProp, modelUpdateEvent, externalModelUpdateEvent) => {\n /**\n * Create a Vue component wrapper around a Web Component.\n * Note: The `props` here are not all properties on a component.\n * They refer to whatever properties are set on an instance of a component.\n */\n if (defineCustomElement !== undefined) {\n defineCustomElement();\n }\n const Container = defineComponent((props, { attrs, slots, emit }) => {\n var _a;\n let modelPropValue = props[modelProp];\n const containerRef = ref();\n const classes = new Set(getComponentClasses(attrs.class));\n const onVnodeBeforeMount = (vnode) => {\n // Add a listener to tell Vue to update the v-model\n if (vnode.el) {\n const eventsNames = Array.isArray(modelUpdateEvent) ? modelUpdateEvent : [modelUpdateEvent];\n eventsNames.forEach((eventName) => {\n vnode.el.addEventListener(eventName.toLowerCase(), (e) => {\n modelPropValue = (e === null || e === void 0 ? void 0 : e.target)[modelProp];\n emit(UPDATE_VALUE_EVENT, modelPropValue);\n /**\n * We need to emit the change event here\n * rather than on the web component to ensure\n * that any v-model bindings have been updated.\n * Otherwise, the developer will listen on the\n * native web component, but the v-model will\n * not have been updated yet.\n */\n if (externalModelUpdateEvent) {\n emit(externalModelUpdateEvent, e);\n }\n });\n });\n }\n };\n const currentInstance = getCurrentInstance();\n const hasRouter = (_a = currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.appContext) === null || _a === void 0 ? void 0 : _a.provides[NAV_MANAGER];\n const navManager = hasRouter ? inject(NAV_MANAGER) : undefined;\n const handleRouterLink = (ev) => {\n const { routerLink } = props;\n if (routerLink === EMPTY_PROP)\n return;\n if (navManager !== undefined) {\n let navigationPayload = { event: ev };\n for (const key in props) {\n const value = props[key];\n if (props.hasOwnProperty(key) && key.startsWith(ROUTER_PROP_PREFIX) && value !== EMPTY_PROP) {\n navigationPayload[key] = value;\n }\n }\n navManager.navigate(navigationPayload);\n }\n else {\n console.warn('Tried to navigate, but no router was found. Make sure you have mounted Vue Router.');\n }\n };\n return () => {\n modelPropValue = props[modelProp];\n getComponentClasses(attrs.class).forEach((value) => {\n classes.add(value);\n });\n const oldClick = props.onClick;\n const handleClick = (ev) => {\n if (oldClick !== undefined) {\n oldClick(ev);\n }\n if (!ev.defaultPrevented) {\n handleRouterLink(ev);\n }\n };\n let propsToAdd = {\n ref: containerRef,\n class: getElementClasses(containerRef, classes),\n onClick: handleClick,\n onVnodeBeforeMount: modelUpdateEvent ? onVnodeBeforeMount : undefined,\n };\n /**\n * We can use Object.entries here\n * to avoid the hasOwnProperty check,\n * but that would require 2 iterations\n * where as this only requires 1.\n */\n for (const key in props) {\n const value = props[key];\n if ((props.hasOwnProperty(key) && value !== EMPTY_PROP) || key.startsWith(ARIA_PROP_PREFIX)) {\n propsToAdd[key] = value;\n }\n }\n if (modelProp) {\n /**\n * If form value property was set using v-model\n * then we should use that value.\n * Otherwise, check to see if form value property\n * was set as a static value (i.e. no v-model).\n */\n if (props[MODEL_VALUE] !== EMPTY_PROP) {\n propsToAdd = Object.assign(Object.assign({}, propsToAdd), { [modelProp]: props[MODEL_VALUE] });\n }\n else if (modelPropValue !== EMPTY_PROP) {\n propsToAdd = Object.assign(Object.assign({}, propsToAdd), { [modelProp]: modelPropValue });\n }\n }\n return h(name, propsToAdd, slots.default && slots.default());\n };\n });\n if (typeof Container !== 'function') {\n Container.name = name;\n Container.props = {\n [ROUTER_LINK_VALUE]: DEFAULT_EMPTY_PROP,\n };\n componentProps.forEach((componentProp) => {\n Container.props[componentProp] = DEFAULT_EMPTY_PROP;\n });\n if (modelProp) {\n Container.props[MODEL_VALUE] = DEFAULT_EMPTY_PROP;\n Container.emits = [UPDATE_VALUE_EVENT, externalModelUpdateEvent];\n }\n }\n return Container;\n};\n//# sourceMappingURL=utils.js.map","/* eslint-disable */\n/* tslint:disable */\n/* auto-generated vue proxies */\nimport { defineContainer } from './vue-component-lib/utils';\nimport { defineCustomElement as defineIonAccordion } from '@ionic/core/components/ion-accordion.js';\nimport { defineCustomElement as defineIonAccordionGroup } from '@ionic/core/components/ion-accordion-group.js';\nimport { defineCustomElement as defineIonAvatar } from '@ionic/core/components/ion-avatar.js';\nimport { defineCustomElement as defineIonBackdrop } from '@ionic/core/components/ion-backdrop.js';\nimport { defineCustomElement as defineIonBadge } from '@ionic/core/components/ion-badge.js';\nimport { defineCustomElement as defineIonBreadcrumb } from '@ionic/core/components/ion-breadcrumb.js';\nimport { defineCustomElement as defineIonBreadcrumbs } from '@ionic/core/components/ion-breadcrumbs.js';\nimport { defineCustomElement as defineIonButton } from '@ionic/core/components/ion-button.js';\nimport { defineCustomElement as defineIonButtons } from '@ionic/core/components/ion-buttons.js';\nimport { defineCustomElement as defineIonCard } from '@ionic/core/components/ion-card.js';\nimport { defineCustomElement as defineIonCardContent } from '@ionic/core/components/ion-card-content.js';\nimport { defineCustomElement as defineIonCardHeader } from '@ionic/core/components/ion-card-header.js';\nimport { defineCustomElement as defineIonCardSubtitle } from '@ionic/core/components/ion-card-subtitle.js';\nimport { defineCustomElement as defineIonCardTitle } from '@ionic/core/components/ion-card-title.js';\nimport { defineCustomElement as defineIonCheckbox } from '@ionic/core/components/ion-checkbox.js';\nimport { defineCustomElement as defineIonChip } from '@ionic/core/components/ion-chip.js';\nimport { defineCustomElement as defineIonCol } from '@ionic/core/components/ion-col.js';\nimport { defineCustomElement as defineIonContent } from '@ionic/core/components/ion-content.js';\nimport { defineCustomElement as defineIonDatetime } from '@ionic/core/components/ion-datetime.js';\nimport { defineCustomElement as defineIonDatetimeButton } from '@ionic/core/components/ion-datetime-button.js';\nimport { defineCustomElement as defineIonFab } from '@ionic/core/components/ion-fab.js';\nimport { defineCustomElement as defineIonFabButton } from '@ionic/core/components/ion-fab-button.js';\nimport { defineCustomElement as defineIonFabList } from '@ionic/core/components/ion-fab-list.js';\nimport { defineCustomElement as defineIonFooter } from '@ionic/core/components/ion-footer.js';\nimport { defineCustomElement as defineIonGrid } from '@ionic/core/components/ion-grid.js';\nimport { defineCustomElement as defineIonHeader } from '@ionic/core/components/ion-header.js';\nimport { defineCustomElement as defineIonImg } from '@ionic/core/components/ion-img.js';\nimport { defineCustomElement as defineIonInfiniteScroll } from '@ionic/core/components/ion-infinite-scroll.js';\nimport { defineCustomElement as defineIonInfiniteScrollContent } from '@ionic/core/components/ion-infinite-scroll-content.js';\nimport { defineCustomElement as defineIonInput } from '@ionic/core/components/ion-input.js';\nimport { defineCustomElement as defineIonItem } from '@ionic/core/components/ion-item.js';\nimport { defineCustomElement as defineIonItemDivider } from '@ionic/core/components/ion-item-divider.js';\nimport { defineCustomElement as defineIonItemGroup } from '@ionic/core/components/ion-item-group.js';\nimport { defineCustomElement as defineIonItemOption } from '@ionic/core/components/ion-item-option.js';\nimport { defineCustomElement as defineIonItemOptions } from '@ionic/core/components/ion-item-options.js';\nimport { defineCustomElement as defineIonItemSliding } from '@ionic/core/components/ion-item-sliding.js';\nimport { defineCustomElement as defineIonLabel } from '@ionic/core/components/ion-label.js';\nimport { defineCustomElement as defineIonList } from '@ionic/core/components/ion-list.js';\nimport { defineCustomElement as defineIonListHeader } from '@ionic/core/components/ion-list-header.js';\nimport { defineCustomElement as defineIonMenu } from '@ionic/core/components/ion-menu.js';\nimport { defineCustomElement as defineIonMenuButton } from '@ionic/core/components/ion-menu-button.js';\nimport { defineCustomElement as defineIonMenuToggle } from '@ionic/core/components/ion-menu-toggle.js';\nimport { defineCustomElement as defineIonNav } from '@ionic/core/components/ion-nav.js';\nimport { defineCustomElement as defineIonNavLink } from '@ionic/core/components/ion-nav-link.js';\nimport { defineCustomElement as defineIonNote } from '@ionic/core/components/ion-note.js';\nimport { defineCustomElement as defineIonProgressBar } from '@ionic/core/components/ion-progress-bar.js';\nimport { defineCustomElement as defineIonRadio } from '@ionic/core/components/ion-radio.js';\nimport { defineCustomElement as defineIonRadioGroup } from '@ionic/core/components/ion-radio-group.js';\nimport { defineCustomElement as defineIonRange } from '@ionic/core/components/ion-range.js';\nimport { defineCustomElement as defineIonRefresher } from '@ionic/core/components/ion-refresher.js';\nimport { defineCustomElement as defineIonRefresherContent } from '@ionic/core/components/ion-refresher-content.js';\nimport { defineCustomElement as defineIonReorder } from '@ionic/core/components/ion-reorder.js';\nimport { defineCustomElement as defineIonReorderGroup } from '@ionic/core/components/ion-reorder-group.js';\nimport { defineCustomElement as defineIonRippleEffect } from '@ionic/core/components/ion-ripple-effect.js';\nimport { defineCustomElement as defineIonRow } from '@ionic/core/components/ion-row.js';\nimport { defineCustomElement as defineIonSearchbar } from '@ionic/core/components/ion-searchbar.js';\nimport { defineCustomElement as defineIonSegment } from '@ionic/core/components/ion-segment.js';\nimport { defineCustomElement as defineIonSegmentButton } from '@ionic/core/components/ion-segment-button.js';\nimport { defineCustomElement as defineIonSelect } from '@ionic/core/components/ion-select.js';\nimport { defineCustomElement as defineIonSelectOption } from '@ionic/core/components/ion-select-option.js';\nimport { defineCustomElement as defineIonSkeletonText } from '@ionic/core/components/ion-skeleton-text.js';\nimport { defineCustomElement as defineIonSpinner } from '@ionic/core/components/ion-spinner.js';\nimport { defineCustomElement as defineIonSplitPane } from '@ionic/core/components/ion-split-pane.js';\nimport { defineCustomElement as defineIonText } from '@ionic/core/components/ion-text.js';\nimport { defineCustomElement as defineIonTextarea } from '@ionic/core/components/ion-textarea.js';\nimport { defineCustomElement as defineIonThumbnail } from '@ionic/core/components/ion-thumbnail.js';\nimport { defineCustomElement as defineIonTitle } from '@ionic/core/components/ion-title.js';\nimport { defineCustomElement as defineIonToggle } from '@ionic/core/components/ion-toggle.js';\nimport { defineCustomElement as defineIonToolbar } from '@ionic/core/components/ion-toolbar.js';\nexport const IonAccordion = /*@__PURE__*/ defineContainer('ion-accordion', defineIonAccordion, [\n 'value',\n 'disabled',\n 'readonly',\n 'toggleIcon',\n 'toggleIconSlot'\n]);\nexport const IonAccordionGroup = /*@__PURE__*/ defineContainer('ion-accordion-group', defineIonAccordionGroup, [\n 'animated',\n 'multiple',\n 'value',\n 'disabled',\n 'readonly',\n 'expand',\n 'ionChange',\n 'ionValueChange'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonAvatar = /*@__PURE__*/ defineContainer('ion-avatar', defineIonAvatar);\nexport const IonBackdrop = /*@__PURE__*/ defineContainer('ion-backdrop', defineIonBackdrop, [\n 'visible',\n 'tappable',\n 'stopPropagation',\n 'ionBackdropTap'\n]);\nexport const IonBadge = /*@__PURE__*/ defineContainer('ion-badge', defineIonBadge, [\n 'color'\n]);\nexport const IonBreadcrumb = /*@__PURE__*/ defineContainer('ion-breadcrumb', defineIonBreadcrumb, [\n 'collapsed',\n 'last',\n 'showCollapsedIndicator',\n 'color',\n 'active',\n 'disabled',\n 'download',\n 'href',\n 'rel',\n 'separator',\n 'target',\n 'routerDirection',\n 'routerAnimation',\n 'ionFocus',\n 'ionBlur',\n 'collapsedClick'\n]);\nexport const IonBreadcrumbs = /*@__PURE__*/ defineContainer('ion-breadcrumbs', defineIonBreadcrumbs, [\n 'color',\n 'maxItems',\n 'itemsBeforeCollapse',\n 'itemsAfterCollapse',\n 'ionCollapsedClick'\n]);\nexport const IonButton = /*@__PURE__*/ defineContainer('ion-button', defineIonButton, [\n 'color',\n 'buttonType',\n 'disabled',\n 'expand',\n 'fill',\n 'routerDirection',\n 'routerAnimation',\n 'download',\n 'href',\n 'rel',\n 'shape',\n 'size',\n 'strong',\n 'target',\n 'type',\n 'form',\n 'ionFocus',\n 'ionBlur'\n]);\nexport const IonButtons = /*@__PURE__*/ defineContainer('ion-buttons', defineIonButtons, [\n 'collapse'\n]);\nexport const IonCard = /*@__PURE__*/ defineContainer('ion-card', defineIonCard, [\n 'color',\n 'button',\n 'type',\n 'disabled',\n 'download',\n 'href',\n 'rel',\n 'routerDirection',\n 'routerAnimation',\n 'target'\n]);\nexport const IonCardContent = /*@__PURE__*/ defineContainer('ion-card-content', defineIonCardContent);\nexport const IonCardHeader = /*@__PURE__*/ defineContainer('ion-card-header', defineIonCardHeader, [\n 'color',\n 'translucent'\n]);\nexport const IonCardSubtitle = /*@__PURE__*/ defineContainer('ion-card-subtitle', defineIonCardSubtitle, [\n 'color'\n]);\nexport const IonCardTitle = /*@__PURE__*/ defineContainer('ion-card-title', defineIonCardTitle, [\n 'color'\n]);\nexport const IonCheckbox = /*@__PURE__*/ defineContainer('ion-checkbox', defineIonCheckbox, [\n 'color',\n 'name',\n 'checked',\n 'indeterminate',\n 'disabled',\n 'value',\n 'labelPlacement',\n 'justify',\n 'alignment',\n 'legacy',\n 'ionChange',\n 'ionFocus',\n 'ionBlur',\n 'ionStyle'\n], 'checked', 'v-ion-change', 'ionChange');\nexport const IonChip = /*@__PURE__*/ defineContainer('ion-chip', defineIonChip, [\n 'color',\n 'outline',\n 'disabled'\n]);\nexport const IonCol = /*@__PURE__*/ defineContainer('ion-col', defineIonCol, [\n 'offset',\n 'offsetXs',\n 'offsetSm',\n 'offsetMd',\n 'offsetLg',\n 'offsetXl',\n 'pull',\n 'pullXs',\n 'pullSm',\n 'pullMd',\n 'pullLg',\n 'pullXl',\n 'push',\n 'pushXs',\n 'pushSm',\n 'pushMd',\n 'pushLg',\n 'pushXl',\n 'size',\n 'sizeXs',\n 'sizeSm',\n 'sizeMd',\n 'sizeLg',\n 'sizeXl'\n]);\nexport const IonContent = /*@__PURE__*/ defineContainer('ion-content', defineIonContent, [\n 'color',\n 'fullscreen',\n 'forceOverscroll',\n 'scrollX',\n 'scrollY',\n 'scrollEvents',\n 'ionScrollStart',\n 'ionScroll',\n 'ionScrollEnd'\n]);\nexport const IonDatetime = /*@__PURE__*/ defineContainer('ion-datetime', defineIonDatetime, [\n 'color',\n 'name',\n 'disabled',\n 'readonly',\n 'isDateEnabled',\n 'min',\n 'max',\n 'presentation',\n 'cancelText',\n 'doneText',\n 'clearText',\n 'yearValues',\n 'monthValues',\n 'dayValues',\n 'hourValues',\n 'minuteValues',\n 'locale',\n 'firstDayOfWeek',\n 'titleSelectedDatesFormatter',\n 'multiple',\n 'highlightedDates',\n 'value',\n 'showDefaultTitle',\n 'showDefaultButtons',\n 'showClearButton',\n 'showDefaultTimeLabel',\n 'hourCycle',\n 'size',\n 'preferWheel',\n 'ionCancel',\n 'ionChange',\n 'ionValueChange',\n 'ionFocus',\n 'ionBlur',\n 'ionStyle',\n 'ionRender'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonDatetimeButton = /*@__PURE__*/ defineContainer('ion-datetime-button', defineIonDatetimeButton, [\n 'color',\n 'disabled',\n 'datetime'\n]);\nexport const IonFab = /*@__PURE__*/ defineContainer('ion-fab', defineIonFab, [\n 'horizontal',\n 'vertical',\n 'edge',\n 'activated'\n]);\nexport const IonFabButton = /*@__PURE__*/ defineContainer('ion-fab-button', defineIonFabButton, [\n 'color',\n 'activated',\n 'disabled',\n 'download',\n 'href',\n 'rel',\n 'routerDirection',\n 'routerAnimation',\n 'target',\n 'show',\n 'translucent',\n 'type',\n 'size',\n 'closeIcon',\n 'ionFocus',\n 'ionBlur'\n]);\nexport const IonFabList = /*@__PURE__*/ defineContainer('ion-fab-list', defineIonFabList, [\n 'activated',\n 'side'\n]);\nexport const IonFooter = /*@__PURE__*/ defineContainer('ion-footer', defineIonFooter, [\n 'collapse',\n 'translucent'\n]);\nexport const IonGrid = /*@__PURE__*/ defineContainer('ion-grid', defineIonGrid, [\n 'fixed'\n]);\nexport const IonHeader = /*@__PURE__*/ defineContainer('ion-header', defineIonHeader, [\n 'collapse',\n 'translucent'\n]);\nexport const IonImg = /*@__PURE__*/ defineContainer('ion-img', defineIonImg, [\n 'alt',\n 'src',\n 'ionImgWillLoad',\n 'ionImgDidLoad',\n 'ionError'\n]);\nexport const IonInfiniteScroll = /*@__PURE__*/ defineContainer('ion-infinite-scroll', defineIonInfiniteScroll, [\n 'threshold',\n 'disabled',\n 'position',\n 'ionInfinite'\n]);\nexport const IonInfiniteScrollContent = /*@__PURE__*/ defineContainer('ion-infinite-scroll-content', defineIonInfiniteScrollContent, [\n 'loadingSpinner',\n 'loadingText'\n]);\nexport const IonInput = /*@__PURE__*/ defineContainer('ion-input', defineIonInput, [\n 'color',\n 'accept',\n 'autocapitalize',\n 'autocomplete',\n 'autocorrect',\n 'autofocus',\n 'clearInput',\n 'clearOnEdit',\n 'counter',\n 'counterFormatter',\n 'debounce',\n 'disabled',\n 'enterkeyhint',\n 'errorText',\n 'fill',\n 'inputmode',\n 'helperText',\n 'label',\n 'labelPlacement',\n 'legacy',\n 'max',\n 'maxlength',\n 'min',\n 'minlength',\n 'multiple',\n 'name',\n 'pattern',\n 'placeholder',\n 'readonly',\n 'required',\n 'shape',\n 'spellcheck',\n 'step',\n 'size',\n 'type',\n 'value',\n 'ionInput',\n 'ionChange',\n 'ionBlur',\n 'ionFocus',\n 'ionStyle'\n], 'value', 'v-ion-input', 'ionInput');\nexport const IonItem = /*@__PURE__*/ defineContainer('ion-item', defineIonItem, [\n 'color',\n 'button',\n 'detail',\n 'detailIcon',\n 'disabled',\n 'download',\n 'fill',\n 'shape',\n 'href',\n 'rel',\n 'lines',\n 'counter',\n 'routerAnimation',\n 'routerDirection',\n 'target',\n 'type',\n 'counterFormatter'\n]);\nexport const IonItemDivider = /*@__PURE__*/ defineContainer('ion-item-divider', defineIonItemDivider, [\n 'color',\n 'sticky'\n]);\nexport const IonItemGroup = /*@__PURE__*/ defineContainer('ion-item-group', defineIonItemGroup);\nexport const IonItemOption = /*@__PURE__*/ defineContainer('ion-item-option', defineIonItemOption, [\n 'color',\n 'disabled',\n 'download',\n 'expandable',\n 'href',\n 'rel',\n 'target',\n 'type'\n]);\nexport const IonItemOptions = /*@__PURE__*/ defineContainer('ion-item-options', defineIonItemOptions, [\n 'side',\n 'ionSwipe'\n]);\nexport const IonItemSliding = /*@__PURE__*/ defineContainer('ion-item-sliding', defineIonItemSliding, [\n 'disabled',\n 'ionDrag'\n]);\nexport const IonLabel = /*@__PURE__*/ defineContainer('ion-label', defineIonLabel, [\n 'color',\n 'position',\n 'ionColor',\n 'ionStyle'\n]);\nexport const IonList = /*@__PURE__*/ defineContainer('ion-list', defineIonList, [\n 'lines',\n 'inset'\n]);\nexport const IonListHeader = /*@__PURE__*/ defineContainer('ion-list-header', defineIonListHeader, [\n 'color',\n 'lines'\n]);\nexport const IonMenu = /*@__PURE__*/ defineContainer('ion-menu', defineIonMenu, [\n 'contentId',\n 'menuId',\n 'type',\n 'disabled',\n 'side',\n 'swipeGesture',\n 'maxEdgeStart',\n 'ionWillOpen',\n 'ionWillClose',\n 'ionDidOpen',\n 'ionDidClose',\n 'ionMenuChange'\n]);\nexport const IonMenuButton = /*@__PURE__*/ defineContainer('ion-menu-button', defineIonMenuButton, [\n 'color',\n 'disabled',\n 'menu',\n 'autoHide',\n 'type'\n]);\nexport const IonMenuToggle = /*@__PURE__*/ defineContainer('ion-menu-toggle', defineIonMenuToggle, [\n 'menu',\n 'autoHide'\n]);\nexport const IonNav = /*@__PURE__*/ defineContainer('ion-nav', defineIonNav, [\n 'delegate',\n 'swipeGesture',\n 'animated',\n 'animation',\n 'rootParams',\n 'root',\n 'ionNavWillLoad',\n 'ionNavWillChange',\n 'ionNavDidChange'\n]);\nexport const IonNavLink = /*@__PURE__*/ defineContainer('ion-nav-link', defineIonNavLink, [\n 'component',\n 'componentProps',\n 'routerDirection',\n 'routerAnimation'\n]);\nexport const IonNote = /*@__PURE__*/ defineContainer('ion-note', defineIonNote, [\n 'color'\n]);\nexport const IonProgressBar = /*@__PURE__*/ defineContainer('ion-progress-bar', defineIonProgressBar, [\n 'type',\n 'reversed',\n 'value',\n 'buffer',\n 'color'\n]);\nexport const IonRadio = /*@__PURE__*/ defineContainer('ion-radio', defineIonRadio, [\n 'color',\n 'name',\n 'disabled',\n 'value',\n 'labelPlacement',\n 'legacy',\n 'justify',\n 'alignment',\n 'ionStyle',\n 'ionFocus',\n 'ionBlur'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonRadioGroup = /*@__PURE__*/ defineContainer('ion-radio-group', defineIonRadioGroup, [\n 'allowEmptySelection',\n 'name',\n 'value',\n 'ionChange',\n 'ionValueChange'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonRange = /*@__PURE__*/ defineContainer('ion-range', defineIonRange, [\n 'color',\n 'debounce',\n 'name',\n 'label',\n 'dualKnobs',\n 'min',\n 'max',\n 'pin',\n 'pinFormatter',\n 'snaps',\n 'step',\n 'ticks',\n 'activeBarStart',\n 'disabled',\n 'value',\n 'labelPlacement',\n 'legacy',\n 'ionChange',\n 'ionInput',\n 'ionStyle',\n 'ionFocus',\n 'ionBlur',\n 'ionKnobMoveStart',\n 'ionKnobMoveEnd'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonRefresher = /*@__PURE__*/ defineContainer('ion-refresher', defineIonRefresher, [\n 'pullMin',\n 'pullMax',\n 'closeDuration',\n 'snapbackDuration',\n 'pullFactor',\n 'disabled',\n 'ionRefresh',\n 'ionPull',\n 'ionStart'\n]);\nexport const IonRefresherContent = /*@__PURE__*/ defineContainer('ion-refresher-content', defineIonRefresherContent, [\n 'pullingIcon',\n 'pullingText',\n 'refreshingSpinner',\n 'refreshingText'\n]);\nexport const IonReorder = /*@__PURE__*/ defineContainer('ion-reorder', defineIonReorder);\nexport const IonReorderGroup = /*@__PURE__*/ defineContainer('ion-reorder-group', defineIonReorderGroup, [\n 'disabled',\n 'ionItemReorder'\n]);\nexport const IonRippleEffect = /*@__PURE__*/ defineContainer('ion-ripple-effect', defineIonRippleEffect, [\n 'type'\n]);\nexport const IonRow = /*@__PURE__*/ defineContainer('ion-row', defineIonRow);\nexport const IonSearchbar = /*@__PURE__*/ defineContainer('ion-searchbar', defineIonSearchbar, [\n 'color',\n 'animated',\n 'autocomplete',\n 'autocorrect',\n 'cancelButtonIcon',\n 'cancelButtonText',\n 'clearIcon',\n 'debounce',\n 'disabled',\n 'inputmode',\n 'enterkeyhint',\n 'name',\n 'placeholder',\n 'searchIcon',\n 'showCancelButton',\n 'showClearButton',\n 'spellcheck',\n 'type',\n 'value',\n 'ionInput',\n 'ionChange',\n 'ionCancel',\n 'ionClear',\n 'ionBlur',\n 'ionFocus',\n 'ionStyle'\n], 'value', 'v-ion-input', 'ionInput');\nexport const IonSegment = /*@__PURE__*/ defineContainer('ion-segment', defineIonSegment, [\n 'color',\n 'disabled',\n 'scrollable',\n 'swipeGesture',\n 'value',\n 'selectOnFocus',\n 'ionChange',\n 'ionSelect',\n 'ionStyle'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonSegmentButton = /*@__PURE__*/ defineContainer('ion-segment-button', defineIonSegmentButton, [\n 'disabled',\n 'layout',\n 'type',\n 'value'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonSelect = /*@__PURE__*/ defineContainer('ion-select', defineIonSelect, [\n 'cancelText',\n 'color',\n 'compareWith',\n 'disabled',\n 'fill',\n 'interface',\n 'interfaceOptions',\n 'justify',\n 'label',\n 'labelPlacement',\n 'legacy',\n 'multiple',\n 'name',\n 'okText',\n 'placeholder',\n 'selectedText',\n 'toggleIcon',\n 'expandedIcon',\n 'shape',\n 'value',\n 'ionChange',\n 'ionCancel',\n 'ionDismiss',\n 'ionFocus',\n 'ionBlur',\n 'ionStyle'\n], 'value', 'v-ion-change', 'ionChange');\nexport const IonSelectOption = /*@__PURE__*/ defineContainer('ion-select-option', defineIonSelectOption, [\n 'disabled',\n 'value'\n]);\nexport const IonSkeletonText = /*@__PURE__*/ defineContainer('ion-skeleton-text', defineIonSkeletonText, [\n 'animated'\n]);\nexport const IonSpinner = /*@__PURE__*/ defineContainer('ion-spinner', defineIonSpinner, [\n 'color',\n 'duration',\n 'name',\n 'paused'\n]);\nexport const IonSplitPane = /*@__PURE__*/ defineContainer('ion-split-pane', defineIonSplitPane, [\n 'contentId',\n 'disabled',\n 'when',\n 'ionSplitPaneVisible'\n]);\nexport const IonText = /*@__PURE__*/ defineContainer('ion-text', defineIonText, [\n 'color'\n]);\nexport const IonTextarea = /*@__PURE__*/ defineContainer('ion-textarea', defineIonTextarea, [\n 'color',\n 'autocapitalize',\n 'autofocus',\n 'clearOnEdit',\n 'debounce',\n 'disabled',\n 'fill',\n 'inputmode',\n 'enterkeyhint',\n 'maxlength',\n 'minlength',\n 'name',\n 'placeholder',\n 'readonly',\n 'required',\n 'spellcheck',\n 'cols',\n 'rows',\n 'wrap',\n 'autoGrow',\n 'value',\n 'counter',\n 'counterFormatter',\n 'errorText',\n 'helperText',\n 'label',\n 'labelPlacement',\n 'legacy',\n 'shape',\n 'ionChange',\n 'ionInput',\n 'ionStyle',\n 'ionBlur',\n 'ionFocus'\n], 'value', 'v-ion-input', 'ionInput');\nexport const IonThumbnail = /*@__PURE__*/ defineContainer('ion-thumbnail', defineIonThumbnail);\nexport const IonTitle = /*@__PURE__*/ defineContainer('ion-title', defineIonTitle, [\n 'color',\n 'size',\n 'ionStyle'\n]);\nexport const IonToggle = /*@__PURE__*/ defineContainer('ion-toggle', defineIonToggle, [\n 'color',\n 'name',\n 'checked',\n 'disabled',\n 'value',\n 'enableOnOffLabels',\n 'labelPlacement',\n 'legacy',\n 'justify',\n 'alignment',\n 'ionChange',\n 'ionFocus',\n 'ionBlur',\n 'ionStyle'\n], 'checked', 'v-ion-change', 'ionChange');\nexport const IonToolbar = /*@__PURE__*/ defineContainer('ion-toolbar', defineIonToolbar, [\n 'color'\n]);\n//# sourceMappingURL=proxies.js.map","export const useBackButton = (priority, handler) => {\n const callback = (ev) => ev.detail.register(priority, handler);\n const unregister = () => document.removeEventListener(\"ionBackButton\", callback);\n document.addEventListener(\"ionBackButton\", callback);\n return { unregister };\n};\n//# sourceMappingURL=back-button.js.map","import { ref } from \"vue\";\nexport const useKeyboard = () => {\n const isOpen = ref(false);\n const keyboardHeight = ref(0);\n const showCallback = (ev) => {\n isOpen.value = true;\n keyboardHeight.value = ev.detail.keyboardHeight;\n };\n const hideCallback = () => {\n isOpen.value = false;\n keyboardHeight.value = 0;\n };\n const unregister = () => {\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"ionKeyboardDidShow\", showCallback);\n window.removeEventListener(\"ionKeyboardDidHide\", hideCallback);\n }\n };\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"ionKeyboardDidShow\", showCallback);\n window.addEventListener(\"ionKeyboardDidHide\", hideCallback);\n }\n return {\n isOpen,\n keyboardHeight,\n unregister,\n };\n};\n//# sourceMappingURL=keyboard.js.map","import { LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE, } from \"@ionic/core/components\";\n// TODO(FW-2969): types\nexport var LifecycleHooks;\n(function (LifecycleHooks) {\n LifecycleHooks[\"WillEnter\"] = \"onIonViewWillEnter\";\n LifecycleHooks[\"DidEnter\"] = \"onIonViewDidEnter\";\n LifecycleHooks[\"WillLeave\"] = \"onIonViewWillLeave\";\n LifecycleHooks[\"DidLeave\"] = \"onIonViewDidLeave\";\n})(LifecycleHooks || (LifecycleHooks = {}));\nconst hookNames = {\n [LIFECYCLE_WILL_ENTER]: LifecycleHooks.WillEnter,\n [LIFECYCLE_DID_ENTER]: LifecycleHooks.DidEnter,\n [LIFECYCLE_WILL_LEAVE]: LifecycleHooks.WillLeave,\n [LIFECYCLE_DID_LEAVE]: LifecycleHooks.DidLeave,\n};\nconst ids = { main: 0 };\nexport const 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};\nexport const fireLifecycle = (vueComponent, vueInstance, lifecycle) => {\n if (vueComponent === null || vueComponent === void 0 ? void 0 : vueComponent[lifecycle]) {\n vueComponent[lifecycle].bind(vueInstance === null || vueInstance === void 0 ? void 0 : vueInstance.value)();\n }\n const instance = vueInstance === null || vueInstance === void 0 ? void 0 : vueInstance.value;\n if (instance === null || instance === void 0 ? void 0 : instance[lifecycle]) {\n instance[lifecycle]();\n }\n /**\n * Fire any Composition API\n * Ionic Lifecycle hooks\n */\n if (instance) {\n const hook = hookNames[lifecycle];\n const hooks = instance[hook];\n if (hooks) {\n hooks.forEach((hook) => hook());\n }\n }\n};\nexport const 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//# sourceMappingURL=utils.js.map","import { getCurrentInstance } from \"vue\";\nimport { LifecycleHooks } from \"../utils\";\n/**\n * Creates an returns a function that\n * can be used to provide a lifecycle hook.\n */\nconst injectHook = (lifecycleType, hook, component) => {\n if (component) {\n // Add to public instance so it is accessible to IonRouterOutlet\n const target = component;\n const hooks = target.proxy[lifecycleType] || (target.proxy[lifecycleType] = []);\n /**\n * Define property on public instances using `setup` syntax in Vue 3.x\n */\n if (target.exposed) {\n target.exposed[lifecycleType] = hooks;\n }\n const wrappedHook = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n return args ? hook(...args) : hook();\n };\n hooks.push(wrappedHook);\n return wrappedHook;\n }\n else {\n console.warn(\"[@ionic/vue]: Ionic Lifecycle Hooks can only be used during execution of setup().\");\n }\n};\nconst createHook = (lifecycle) => {\n return (hook, target = getCurrentInstance()) => injectHook(lifecycle, hook, target);\n};\nexport const onIonViewWillEnter = createHook(LifecycleHooks.WillEnter);\nexport const onIonViewDidEnter = createHook(LifecycleHooks.DidEnter);\nexport const onIonViewWillLeave = createHook(LifecycleHooks.WillLeave);\nexport const onIonViewDidLeave = createHook(LifecycleHooks.DidLeave);\n//# sourceMappingURL=lifecycle.js.map","import { inject } from \"vue\";\n/**\n * Used to navigate within Vue Router\n * while controlling the animation.\n */\nexport const useIonRouter = () => {\n const { canGoBack, goBack, goForward, handleNavigate } = inject(\"navManager\");\n const navigate = (location, routerDirection, routerAction, routerAnimation) => handleNavigate(location, routerAction, routerDirection, routerAnimation);\n const push = (location, routerAnimation) => navigate(location, \"forward\", \"push\", routerAnimation);\n const replace = (location, routerAnimation) => navigate(location, \"root\", \"replace\", routerAnimation);\n const back = (routerAnimation) => goBack(routerAnimation);\n const forward = (routerAnimation) => goForward(routerAnimation);\n return {\n canGoBack,\n push,\n replace,\n back,\n forward,\n navigate,\n };\n};\n//# sourceMappingURL=router.js.map","import { initialize } from \"@ionic/core/components\";\n// TODO(FW-2969): types\n/**\n * We need to make sure that the web component fires an event\n * that will not conflict with the user's @ionChange binding,\n * otherwise the binding's callback will fire before any\n * v-model values have been updated.\n */\nconst toKebabCase = (eventName) => {\n const kebabConvert = (name) => name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, \"$1-$2\").toLowerCase();\n switch (eventName) {\n case \"ionInput\":\n return \"v-ion-input\";\n case \"ionChange\":\n return \"v-ion-change\";\n default:\n return kebabConvert(eventName);\n }\n};\nconst getHelperFunctions = () => {\n return {\n ael: (el, eventName, cb, opts) => el.addEventListener(toKebabCase(eventName), cb, opts),\n rel: (el, eventName, cb, opts) => el.removeEventListener(toKebabCase(eventName), cb, opts),\n ce: (eventName, opts) => new CustomEvent(toKebabCase(eventName), opts),\n };\n};\nexport const IonicVue = {\n async install(_, config = {}) {\n /**\n * By default Ionic Framework hides elements that\n * are not hydrated, but in the CE build there is no\n * hydration.\n * TODO FW-2797: Remove when all integrations have been\n * migrated to CE build.\n */\n if (typeof document !== \"undefined\") {\n document.documentElement.classList.add(\"ion-ce\");\n }\n const { ael, rel, ce } = getHelperFunctions();\n initialize(Object.assign(Object.assign({}, config), { _ael: ael, _rel: rel, _ce: ce }));\n },\n};\n//# sourceMappingURL=ionic-vue.js.map","import { defineCustomElement } from \"@ionic/core/components/ion-back-button.js\";\nimport { h, inject, defineComponent } from \"vue\";\nexport const IonBackButton = /*@__PURE__*/ defineComponent((_, { attrs, slots }) => {\n defineCustomElement();\n // TODO(FW-2969): type\n const ionRouter = inject(\"navManager\");\n const onClick = () => {\n /**\n * When using ion-back-button outside of\n * a routing context, ionRouter is undefined.\n */\n if (ionRouter === undefined) {\n return;\n }\n const defaultHref = attrs[\"default-href\"] || attrs[\"defaultHref\"];\n const routerAnimation = attrs[\"router-animation\"] || attrs[\"routerAnimation\"];\n ionRouter.handleNavigateBack(defaultHref, routerAnimation);\n };\n return () => {\n return h(\"ion-back-button\", Object.assign({ onClick }, attrs), slots.default && slots.default());\n };\n});\nIonBackButton.name = \"IonBackButton\";\n//# sourceMappingURL=IonBackButton.js.map","import { h, defineComponent } from \"vue\";\nexport const IonPage = /*@__PURE__*/ defineComponent({\n name: \"IonPage\",\n props: {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n registerIonPage: { type: Function, default: () => { } },\n },\n mounted() {\n this.$props.registerIonPage(this.$refs.ionPage);\n },\n setup(_, { attrs, slots }) {\n return () => {\n return h(\"div\", Object.assign(Object.assign({}, attrs), { [\"class\"]: \"ion-page\", ref: \"ionPage\" }), slots.default && slots.default());\n };\n },\n});\n//# sourceMappingURL=IonPage.js.map","import { LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE, } from \"@ionic/core/components\";\nimport { defineCustomElement } from \"@ionic/core/components/ion-router-outlet.js\";\nimport { h, defineComponent, ref, computed, inject, provide, watch, shallowRef, onUnmounted, } from \"vue\";\nimport { matchedRouteKey, routeLocationKey, useRoute } from \"vue-router\";\nimport { fireLifecycle, generateId, getConfig } from \"../utils\";\n// TODO(FW-2969): types\nconst isViewVisible = (enteringEl) => {\n return (!enteringEl.classList.contains(\"ion-page-hidden\") &&\n !enteringEl.classList.contains(\"ion-page-invisible\"));\n};\nconst viewDepthKey = Symbol(0);\nexport const IonRouterOutlet = /*@__PURE__*/ defineComponent({\n name: \"IonRouterOutlet\",\n setup() {\n defineCustomElement();\n const injectedRoute = inject(routeLocationKey);\n const route = useRoute();\n const depth = inject(viewDepthKey, 0);\n const matchedRouteRef = computed(() => route.matched[depth]);\n let previousMatchedRouteRef;\n let previousMatchedPath;\n provide(viewDepthKey, depth + 1);\n provide(matchedRouteKey, matchedRouteRef);\n const ionRouterOutlet = ref();\n const id = generateId(\"ion-router-outlet\");\n const ionRouter = inject(\"navManager\");\n const viewStacks = inject(\"viewStacks\");\n const components = shallowRef([]);\n let skipTransition = false;\n // The base url for this router outlet\n let parentOutletPath;\n /**\n * Note: Do not listen for matchedRouteRef by itself here\n * as the callback will not fire for parameterized routes (i.e. /page/:id).\n * So going from /page/1 to /page/2 would not fire this callback if we\n * only listened for changes to matchedRouteRef.\n */\n watch(() => [route, matchedRouteRef.value], ([currentRoute, currentMatchedRouteRef]) => {\n /**\n * This callback checks whether or not a router outlet\n * needs to respond to a change in the matched route.\n * It handles a few cases:\n * 1. The matched route is undefined. This means that\n * the matched route is not applicable to this outlet.\n * For example, a /settings route is not applicable\n * to a /tabs/... route.\n *\n * Note: When going back to a tabs outlet from a non-tabs outlet,\n * the tabs outlet should NOT attempt a page transition from the\n * previous tab to the active tab. To do this we compare the current\n * route with the previous route. Unfortunately, we cannot rely on the\n * previous value provided by Vue in the watch callback. This is because\n * when coming back to the tabs context, the previous matched route will\n * be undefined (because nothing in the tabs context matches /settings)\n * but the current matched route will be defined and so a transition\n * will always occur.\n *\n * 2. The matched route is defined and is different than\n * the previously matched route. This is the most\n * common case such as when you go from /page1 to /page2.\n *\n * 3. The matched route is the same but the parameters are different.\n * This is a special case for parameterized routes (i.e. /page/:id).\n * When going from /page/1 to /page/2, the matched route object will\n * be the same, but we still need to perform a page transition. To do this\n * we check if the parameters are different (i.e. 1 vs 2). To avoid enumerating\n * all of the keys in the params object, we check the url path to\n * see if they are different after ensuring we are in a parameterized route.\n */\n if (currentMatchedRouteRef !== undefined) {\n const matchedDifferentRoutes = currentMatchedRouteRef !== previousMatchedRouteRef;\n const matchedDifferentParameterRoutes = currentRoute.matched[currentRoute.matched.length - 1] ===\n currentMatchedRouteRef &&\n currentRoute.path !== previousMatchedPath;\n if (matchedDifferentRoutes || matchedDifferentParameterRoutes) {\n setupViewItem(matchedRouteRef);\n }\n }\n previousMatchedRouteRef = currentMatchedRouteRef;\n previousMatchedPath = currentRoute.path;\n });\n const canStart = () => {\n const config = getConfig();\n const swipeEnabled = config &&\n config.get(\"swipeBackEnabled\", ionRouterOutlet.value.mode === \"ios\");\n if (!swipeEnabled)\n return false;\n const stack = viewStacks.getViewStack(id);\n if (!stack || stack.length <= 1)\n return false;\n /**\n * We only want to outlet of the entering view\n * to respond to this gesture, so check\n * to make sure the view is in the outlet we want.\n */\n const routeInfo = ionRouter.getLeavingRouteInfo();\n const enteringViewItem = viewStacks.findViewItemByRouteInfo({ pathname: routeInfo.pushedByRoute || \"\" }, id);\n return !!enteringViewItem;\n };\n const onStart = async () => {\n const routeInfo = ionRouter.getLeavingRouteInfo();\n const { routerAnimation } = routeInfo;\n const enteringViewItem = viewStacks.findViewItemByRouteInfo({ pathname: routeInfo.pushedByRoute || \"\" }, id);\n const leavingViewItem = viewStacks.findViewItemByRouteInfo(routeInfo, id);\n if (leavingViewItem) {\n let animationBuilder = routerAnimation;\n const enteringEl = enteringViewItem.ionPageElement;\n const leavingEl = leavingViewItem.ionPageElement;\n /**\n * If we are going back from a page that\n * was presented using a custom animation\n * we should default to using that\n * unless the developer explicitly\n * provided another animation.\n */\n const customAnimation = enteringViewItem.routerAnimation;\n if (animationBuilder === undefined && customAnimation !== undefined) {\n animationBuilder = customAnimation;\n }\n leavingViewItem.routerAnimation = animationBuilder;\n await transition(enteringEl, leavingEl, \"back\", ionRouter.canGoBack(2), true, animationBuilder);\n }\n return Promise.resolve();\n };\n const onEnd = (shouldContinue) => {\n if (shouldContinue) {\n skipTransition = true;\n /**\n * Use the same logic as clicking\n * ion-back-button to determine where\n * to go back to.\n */\n ionRouter.handleNavigateBack();\n }\n else {\n /**\n * In the event that the swipe\n * gesture was aborted, we should\n * re-hide the page that was going to enter.\n */\n const routeInfo = ionRouter.getCurrentRouteInfo();\n const enteringViewItem = viewStacks.findViewItemByRouteInfo({ pathname: routeInfo.pushedByRoute || \"\" }, id);\n enteringViewItem.ionPageElement.setAttribute(\"aria-hidden\", \"true\");\n enteringViewItem.ionPageElement.classList.add(\"ion-page-hidden\");\n }\n };\n watch(ionRouterOutlet, () => {\n ionRouterOutlet.value.swipeHandler = {\n canStart,\n onStart,\n onEnd,\n };\n });\n const transition = async (enteringEl, leavingEl, direction, showGoBack, progressAnimation, animationBuilder) => {\n if (skipTransition) {\n skipTransition = false;\n return Promise.resolve(false);\n }\n if (enteringEl === leavingEl) {\n return Promise.resolve(false);\n }\n enteringEl.classList.add(\"ion-page-invisible\");\n const hasRootDirection = direction === undefined || direction === \"root\" || direction === \"none\";\n const result = await ionRouterOutlet.value.commit(enteringEl, leavingEl, {\n /**\n * replace operations result in a direction of none.\n * These typically do not have need animations, so we set\n * the duration to 0. However, if a developer explicitly\n * passes an animationBuilder, we should assume that\n * they want an animation to be played even\n * though it is a replace operation.\n */\n duration: hasRootDirection && animationBuilder === undefined ? 0 : undefined,\n direction,\n showGoBack,\n progressAnimation,\n animationBuilder,\n });\n return result;\n };\n const handlePageTransition = async () => {\n const routeInfo = ionRouter.getCurrentRouteInfo();\n const { routerDirection, routerAction, routerAnimation, prevRouteLastPathname, delta, } = routeInfo;\n const enteringViewItem = viewStacks.findViewItemByRouteInfo(routeInfo, id);\n let leavingViewItem = viewStacks.findLeavingViewItemByRouteInfo(routeInfo, id);\n const enteringEl = enteringViewItem.ionPageElement;\n /**\n * All views that can be transitioned to must have\n * an `<ion-page>` element for transitions and lifecycle\n * methods to work properly.\n */\n if (enteringEl === undefined) {\n console.warn(`[@ionic/vue Warning]: The view you are trying to render for path ${routeInfo.pathname} does not have the required <ion-page> component. Transitions and lifecycle methods may not work as expected.\n\nSee https://ionicframework.com/docs/vue/navigation#ionpage for more information.`);\n }\n if (enteringViewItem === leavingViewItem)\n return;\n if (!leavingViewItem && prevRouteLastPathname) {\n leavingViewItem = viewStacks.findViewItemByPathname(prevRouteLastPathname, id);\n }\n /**\n * If the entering view is already\n * visible, then no transition is needed.\n * This is most common when navigating\n * from a tabs page to a non-tabs page\n * and then back to the tabs page.\n * Even when the tabs context navigated away,\n * the inner tabs page was still active.\n * This also avoids an issue where\n * the previous tabs page is incorrectly\n * unmounted since it would automatically\n * unmount the previous view.\n *\n * This should also only apply to entering and\n * leaving items in the same router outlet (i.e.\n * Tab1 and Tab2), otherwise this will\n * return early for swipe to go back when\n * going from a non-tabs page to a tabs page.\n */\n if (isViewVisible(enteringEl) &&\n (leavingViewItem === null || leavingViewItem === void 0 ? void 0 : leavingViewItem.ionPageElement) !== undefined &&\n !isViewVisible(leavingViewItem.ionPageElement)) {\n return;\n }\n fireLifecycle(enteringViewItem.vueComponent, enteringViewItem.vueComponentRef, LIFECYCLE_WILL_ENTER);\n if ((leavingViewItem === null || leavingViewItem === void 0 ? void 0 : leavingViewItem.ionPageElement) &&\n enteringViewItem !== leavingViewItem) {\n let animationBuilder = routerAnimation;\n const leavingEl = leavingViewItem.ionPageElement;\n fireLifecycle(leavingViewItem.vueComponent, leavingViewItem.vueComponentRef, LIFECYCLE_WILL_LEAVE);\n /**\n * If we are going back from a page that\n * was presented using a custom animation\n * we should default to using that\n * unless the developer explicitly\n * provided another animation.\n */\n const customAnimation = enteringViewItem.routerAnimation;\n if (animationBuilder === undefined &&\n routerDirection === \"back\" &&\n customAnimation !== undefined) {\n animationBuilder = customAnimation;\n }\n leavingViewItem.routerAnimation = animationBuilder;\n await transition(enteringEl, leavingEl, routerDirection, !!routeInfo.pushedByRoute, false, animationBuilder);\n leavingEl.classList.add(\"ion-page-hidden\");\n leavingEl.setAttribute(\"aria-hidden\", \"true\");\n const usingLinearNavigation = viewStacks.size() === 1;\n if (routerAction === \"replace\") {\n leavingViewItem.mount = false;\n leavingViewItem.ionPageElement = undefined;\n leavingViewItem.ionRoute = false;\n }\n else if (!(routerAction === \"push\" && routerDirection === \"forward\")) {\n const shouldLeavingViewBeRemoved = routerDirection !== \"none\" &&\n leavingViewItem &&\n enteringViewItem !== leavingViewItem;\n if (shouldLeavingViewBeRemoved) {\n leavingViewItem.mount = false;\n leavingViewItem.ionPageElement = undefined;\n leavingViewItem.ionRoute = false;\n /**\n * router.go() expects navigation to be\n * linear. If an app is using multiple stacks then\n * it is not using linear navigation. As a result, router.go()\n * will not give the results that developers are expecting.\n */\n if (usingLinearNavigation) {\n viewStacks.unmountLeavingViews(id, enteringViewItem, delta);\n }\n }\n }\n else if (usingLinearNavigation) {\n viewStacks.mountIntermediaryViews(id, leavingViewItem, delta);\n }\n fireLifecycle(leavingViewItem.vueComponent, leavingViewItem.vueComponentRef, LIFECYCLE_DID_LEAVE);\n }\n else {\n /**\n * If there is no leaving element, just show\n * the entering element. Wrap it in an raf\n * in case ion-content's fullscreen callback\n * is running. Otherwise we'd have a flicker.\n */\n requestAnimationFrame(() => enteringEl.classList.remove(\"ion-page-invisible\"));\n }\n fireLifecycle(enteringViewItem.vueComponent, enteringViewItem.vueComponentRef, LIFECYCLE_DID_ENTER);\n components.value = viewStacks.getChildrenToRender(id);\n };\n const setupViewItem = (matchedRouteRef) => {\n const firstMatchedRoute = route.matched[0];\n if (!parentOutletPath) {\n parentOutletPath = firstMatchedRoute.path;\n }\n /**\n * If no matched route, do not do anything in this outlet.\n * If there is a match, but it the first matched path\n * is not the root path for this outlet, then this view\n * change needs to be rendered in a different outlet.\n * We also add an exception for when the matchedRouteRef is\n * equal to the first matched route (i.e. the base router outlet).\n * This logic is mainly to help nested outlets/multi-tab\n * setups work better.\n */\n if (!matchedRouteRef.value ||\n (matchedRouteRef.value !== firstMatchedRoute &&\n firstMatchedRoute.path !== parentOutletPath)) {\n return;\n }\n const currentRoute = ionRouter.getCurrentRouteInfo();\n let enteringViewItem = viewStacks.findViewItemByRouteInfo(currentRoute, id);\n if (!enteringViewItem) {\n enteringViewItem = viewStacks.createViewItem(id, matchedRouteRef.value.components.default, matchedRouteRef.value, currentRoute);\n viewStacks.add(enteringViewItem);\n }\n if (!enteringViewItem.mount) {\n enteringViewItem.mount = true;\n enteringViewItem.registerCallback = () => {\n handlePageTransition();\n enteringViewItem.registerCallback = undefined;\n };\n }\n else {\n handlePageTransition();\n }\n components.value = viewStacks.getChildrenToRender(id);\n };\n if (matchedRouteRef.value) {\n setupViewItem(matchedRouteRef);\n }\n /**\n * Remove stack data for this outlet\n * when outlet is destroyed otherwise\n * we will see cached view data.\n */\n onUnmounted(() => viewStacks.clear(id));\n const registerIonPage = (viewItem, ionPageEl) => {\n const oldIonPageEl = viewItem.ionPageElement;\n viewStacks.registerIonPage(viewItem, ionPageEl);\n /**\n * If there is a registerCallback,\n * then this component is being registered\n * as a result of a navigation change.\n */\n if (viewItem.registerCallback) {\n /**\n * Page should be hidden initially\n * to avoid flickering.\n */\n ionPageEl.classList.add(\"ion-page-invisible\");\n viewItem.registerCallback();\n /**\n * If there is no registerCallback, then\n * this component is likely being re-registered\n * as a result of a hot module replacement.\n * We need to see if the oldIonPageEl has\n * .ion-page-invisible. If it does not then we\n * need to remove it from the new ionPageEl otherwise\n * the page will be hidden when it is replaced.\n */\n }\n else if (oldIonPageEl &&\n !oldIonPageEl.classList.contains(\"ion-page-invisible\")) {\n ionPageEl.classList.remove(\"ion-page-invisible\");\n }\n };\n return {\n id,\n components,\n injectedRoute,\n ionRouterOutlet,\n registerIonPage,\n };\n },\n render() {\n const { components, registerIonPage, injectedRoute } = this;\n return h(\"ion-router-outlet\", { ref: \"ionRouterOutlet\" }, components &&\n components.map((c) => {\n var _a, _b;\n let props = {\n ref: c.vueComponentRef,\n key: c.pathname,\n registerIonPage: (ionPageEl) => registerIonPage(c, ionPageEl),\n };\n /**\n * IonRouterOutlet does not support named outlets.\n */\n const routePropsOption = (_b = (_a = c.matchedRoute) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.default;\n /**\n * Since IonRouterOutlet renders multiple components,\n * each render will cause all props functions to be\n * called again. As a result, we need to cache the function\n * result and provide it on each render so that the props\n * are not lost when navigating from and back to a page.\n * When a component is destroyed and re-created, the\n * function is called again.\n */\n const getPropsFunctionResult = () => {\n var _a;\n const cachedPropsResult = (_a = c.vueComponentData) === null || _a === void 0 ? void 0 : _a.propsFunctionResult;\n if (cachedPropsResult) {\n return cachedPropsResult;\n }\n else {\n const propsFunctionResult = routePropsOption(injectedRoute);\n c.vueComponentData = Object.assign(Object.assign({}, c.vueComponentData), { propsFunctionResult });\n return propsFunctionResult;\n }\n };\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? c.params\n : typeof routePropsOption === \"function\"\n ? getPropsFunctionResult()\n : routePropsOption\n : null;\n props = Object.assign(Object.assign({}, props), routeProps);\n return h(c.vueComponent, props);\n }));\n },\n});\n//# sourceMappingURL=IonRouterOutlet.js.map","import { defineCustomElement } from \"@ionic/core/components/ion-tab-button.js\";\nimport { h, defineComponent, inject } from \"vue\";\nexport const IonTabButton = /*@__PURE__*/ defineComponent({\n name: \"IonTabButton\",\n props: {\n _getTabState: {\n type: Function,\n default: () => {\n return {};\n },\n },\n disabled: Boolean,\n download: String,\n href: String,\n rel: String,\n layout: String,\n selected: Boolean,\n tab: String,\n target: String,\n },\n setup(props, { slots }) {\n defineCustomElement();\n // TODO(FW-2969): type\n const ionRouter = inject(\"navManager\");\n const onClick = (ev) => {\n if (ev.cancelable) {\n ev.preventDefault();\n }\n /**\n * Keeping track of the originalHref\n * (i.e. /tabs/tab1) lets us redirect\n * users back to a child page using currentHref\n * (i.e. /tabs/tab1/child).\n */\n const { tab, href, _getTabState } = props;\n const tabState = _getTabState();\n const tappedTab = tabState.tabs[tab] || {};\n const originalHref = tappedTab.originalHref || href;\n const currentHref = tappedTab.currentHref || href;\n const prevActiveTab = tabState.activeTab;\n /**\n * If we are still on the same\n * tab as before, but the base href\n * does not equal the current href,\n * then we must be on a child page and\n * should direct users back to the root\n * of the tab.\n */\n if (prevActiveTab === tab) {\n if (originalHref !== currentHref) {\n ionRouter.resetTab(tab);\n }\n }\n else {\n ionRouter.changeTab(tab, currentHref);\n }\n };\n return () => {\n return h(\"ion-tab-button\", Object.assign({ onClick }, props), slots.default && slots.default());\n };\n },\n});\n//# sourceMappingURL=IonTabButton.js.map","import { h, defineComponent } from \"vue\";\nconst WILL_CHANGE = \"ionTabsWillChange\";\nconst DID_CHANGE = \"ionTabsDidChange\";\n// TODO(FW-2969): types\nexport const IonTabs = /*@__PURE__*/ defineComponent({\n name: \"IonTabs\",\n emits: [WILL_CHANGE, DID_CHANGE],\n render() {\n var _a;\n const { $slots: slots, $emit } = this;\n const slottedContent = slots.default && slots.default();\n let routerOutlet;\n /**\n * Developers must pass an ion-router-outlet\n * inside of ion-tabs.\n */\n if (slottedContent && slottedContent.length > 0) {\n routerOutlet = slottedContent.find((child) => child.type && child.type.name === \"IonRouterOutlet\");\n }\n if (!routerOutlet) {\n throw new Error(\"IonTabs must contain an IonRouterOutlet. See https://ionicframework.com/docs/vue/navigation#working-with-tabs for more information.\");\n }\n let childrenToRender = [\n h(\"div\", {\n class: \"tabs-inner\",\n style: {\n position: \"relative\",\n flex: \"1\",\n contain: \"layout size style\",\n },\n }, routerOutlet),\n ];\n /**\n * If ion-tab-bar has slot=\"top\" it needs to be\n * rendered before `.tabs-inner` otherwise it will\n * not show above the tab content.\n */\n if (slottedContent && slottedContent.length > 0) {\n /**\n * Render all content except for router outlet\n * since that needs to be inside of `.tabs-inner`.\n */\n const filteredContent = slottedContent.filter((child) => !child.type ||\n (child.type && child.type.name !== \"IonRouterOutlet\"));\n const slottedTabBar = filteredContent.find((child) => child.type && child.type.name === \"IonTabBar\");\n const hasTopSlotTabBar = slottedTabBar && ((_a = slottedTabBar.props) === null || _a === void 0 ? void 0 : _a.slot) === \"top\";\n if (slottedTabBar) {\n if (!slottedTabBar.props) {\n slottedTabBar.props = {};\n }\n /**\n * ionTabsWillChange and ionTabsDidChange are\n * fired from `ion-tabs`, so we need to pass these down\n * as props so they can fire when the active tab changes.\n * TODO: We may want to move logic from the tab bar into here\n * so we do not have code split across two components.\n */\n slottedTabBar.props._tabsWillChange = (tab) => $emit(WILL_CHANGE, { tab });\n slottedTabBar.props._tabsDidChange = (tab) => $emit(DID_CHANGE, { tab });\n }\n if (hasTopSlotTabBar) {\n childrenToRender = [...filteredContent, ...childrenToRender];\n }\n else {\n childrenToRender = [...childrenToRender, ...filteredContent];\n }\n }\n return h(\"ion-tabs\", {\n style: {\n display: \"flex\",\n position: \"absolute\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n \"flex-direction\": \"column\",\n width: \"100%\",\n height: \"100%\",\n contain: \"layout size style\",\n \"z-index\": \"0\",\n },\n }, childrenToRender);\n },\n});\n//# sourceMappingURL=IonTabs.js.map","import { defineCustomElement } from \"@ionic/core/components/ion-tab-bar.js\";\nimport { h, defineComponent, getCurrentInstance, inject } from \"vue\";\nconst isTabButton = (child) => { var _a; return ((_a = child.type) === null || _a === void 0 ? void 0 : _a.name) === \"IonTabButton\"; };\nconst getTabs = (nodes) => {\n let tabs = [];\n nodes.forEach((node) => {\n if (isTabButton(node)) {\n tabs.push(node);\n }\n else if (Array.isArray(node.children) && node.children.length > 1) {\n const childTabs = getTabs(node.children);\n tabs = [...tabs, ...childTabs];\n }\n });\n return tabs;\n};\nexport const IonTabBar = defineComponent({\n name: \"IonTabBar\",\n props: {\n /* eslint-disable @typescript-eslint/no-empty-function */\n _tabsWillChange: { type: Function, default: () => { } },\n _tabsDidChange: { type: Function, default: () => { } },\n /* eslint-enable @typescript-eslint/no-empty-function */\n },\n data() {\n return {\n tabState: {\n activeTab: undefined,\n tabs: {},\n },\n tabVnodes: [],\n };\n },\n updated() {\n this.setupTabState(inject(\"navManager\"));\n },\n methods: {\n setupTabState(ionRouter) {\n /**\n * For each tab, we need to keep track of its\n * base href as well as any child page that\n * is active in its stack so that when we go back\n * to a tab from another tab, we can correctly\n * show any child pages if necessary.\n */\n const tabState = this.$data.tabState;\n const currentInstance = getCurrentInstance();\n const tabs = (this.$data.tabVnodes = getTabs((currentInstance.subTree.children || [])));\n tabs.forEach((child) => {\n tabState.tabs[child.props.tab] = {\n originalHref: child.props.href,\n currentHref: child.props.href,\n ref: child,\n };\n /**\n * Passing this prop to each tab button\n * lets it be aware of the state that\n * ion-tab-bar is managing for it.\n */\n child.component.props._getTabState = () => tabState;\n });\n this.checkActiveTab(ionRouter);\n },\n checkActiveTab(ionRouter) {\n const currentRoute = ionRouter.getCurrentRouteInfo();\n const childNodes = this.$data.tabVnodes;\n const { tabs, activeTab: prevActiveTab } = this.$data.tabState;\n const tabState = this.$data.tabState;\n const tabKeys = Object.keys(tabs);\n const activeTab = tabKeys.find((key) => {\n const href = tabs[key].originalHref;\n return currentRoute.pathname.startsWith(href);\n });\n /**\n * For each tab, check to see if the\n * base href has changed. If so, update\n * it in the tabs state.\n */\n childNodes.forEach((child) => {\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 ref: child,\n };\n }\n });\n if (activeTab && prevActiveTab) {\n const prevHref = this.$data.tabState.tabs[prevActiveTab].currentHref;\n /**\n * If the tabs change or the url changes,\n * update the currentHref for the active tab.\n * Ex: url changes from /tabs/tab1 --> /tabs/tab1/child\n * If we went to tab2 then back to tab1, we should\n * land on /tabs/tab1/child instead of /tabs/tab1.\n */\n if (activeTab !== prevActiveTab || prevHref !== currentRoute.pathname) {\n /**\n * By default the search is `undefined` in Ionic Vue,\n * but Vue Router can set the search to the empty string.\n * We check for truthy here because empty string is falsy\n * and currentRoute.search cannot ever be a boolean.\n */\n const search = currentRoute.search ? `?${currentRoute.search}` : \"\";\n tabs[activeTab] = Object.assign(Object.assign({}, tabs[activeTab]), { currentHref: currentRoute.pathname + search });\n }\n /**\n * If navigating back and the tabs change,\n * set the previous tab back to its original href.\n */\n if (currentRoute.routerAction === \"pop\" &&\n activeTab !== prevActiveTab) {\n tabs[prevActiveTab] = Object.assign(Object.assign({}, tabs[prevActiveTab]), { currentHref: tabs[prevActiveTab].originalHref });\n }\n }\n const activeChild = childNodes.find((child) => { var _a; return isTabButton(child) && ((_a = child.props) === null || _a === void 0 ? void 0 : _a.tab) === activeTab; });\n const tabBar = this.$refs.ionTabBar;\n const tabDidChange = activeTab !== prevActiveTab;\n if (tabBar) {\n if (activeChild) {\n tabDidChange && this.$props._tabsWillChange(activeTab);\n ionRouter.handleSetCurrentTab(activeTab);\n tabBar.selectedTab = tabState.activeTab = activeTab;\n tabDidChange && this.$props._tabsDidChange(activeTab);\n /**\n * When going to a tab that does\n * not have an associated ion-tab-button\n * we need to remove the selected state from\n * the old tab.\n */\n }\n else {\n tabBar.selectedTab = tabState.activeTab = \"\";\n }\n }\n },\n },\n mounted() {\n const ionRouter = inject(\"navManager\");\n this.setupTabState(ionRouter);\n ionRouter.registerHistoryChangeListener(() => this.checkActiveTab(ionRouter));\n },\n setup(_, { slots }) {\n defineCustomElement();\n return () => {\n return h(\"ion-tab-bar\", { ref: \"ionTabBar\" }, slots.default && slots.default());\n };\n },\n});\n//# sourceMappingURL=IonTabBar.js.map","import { defineCustomElement } from \"@ionic/core/components/ion-app.js\";\nimport { h, defineComponent, shallowRef } from \"vue\";\nconst userComponents = shallowRef([]);\nexport const IonApp = /*@__PURE__*/ defineComponent((_, { attrs, slots }) => {\n defineCustomElement();\n return () => {\n return h(\"ion-app\", Object.assign({}, attrs), [slots.default && slots.default(), ...userComponents.value]);\n };\n});\nIonApp.name = \"IonApp\";\n/**\n * When rendering user components inside of\n * ion-modal, or ion-popover the component\n * needs to be created inside of the current application\n * context otherwise libraries such as vue-i18n or vuex\n * will not work properly.\n *\n * `userComponents` renders teleported components as children\n * of `ion-app` within the current application context.\n */\nexport const addTeleportedUserComponent = (component) => {\n userComponents.value = [...userComponents.value, component];\n};\nexport const removeTeleportedUserComponent = (component) => {\n userComponents.value = userComponents.value.filter((cmp) => cmp !== component);\n};\n//# sourceMappingURL=IonApp.js.map","import { h, Teleport } from \"vue\";\nimport { addTeleportedUserComponent, removeTeleportedUserComponent, } from \"./components/IonApp\";\nexport const VueDelegate = (addFn = addTeleportedUserComponent, removeFn = removeTeleportedUserComponent) => {\n // `h` doesn't provide a type for the component argument\n const refMap = new WeakMap();\n // TODO(FW-2969): types\n const attachViewToDom = (parentElement, componentOrTagName, componentProps = {}, classes) => {\n const div = document.createElement(\"div\");\n classes && div.classList.add(...classes);\n parentElement.appendChild(div);\n const hostComponent = h(Teleport, { to: div }, h(componentOrTagName, Object.assign({}, componentProps)));\n /**\n * Ionic Framework will use what is returned from `attachViewToDom`\n * as the `component` argument in `removeViewFromDom`.\n *\n * We will store a reference to the div element and the host component,\n * so we can later look-up and unmount the correct instance.\n */\n refMap.set(div, hostComponent);\n addFn(hostComponent);\n return Promise.resolve(div);\n };\n const removeViewFromDom = (_container, component) => {\n const hostComponent = refMap.get(component);\n hostComponent && removeFn(hostComponent);\n return Promise.resolve();\n };\n return { attachViewToDom, removeViewFromDom };\n};\n//# sourceMappingURL=framework-delegate.js.map","import { defineCustomElement } from \"@ionic/core/components/ion-nav.js\";\nimport { defineComponent, h, shallowRef } from \"vue\";\nimport { VueDelegate } from \"../framework-delegate\";\nexport const IonNav = /*@__PURE__*/ defineComponent(() => {\n defineCustomElement();\n const views = shallowRef([]);\n /**\n * Allows us to create the component\n * within the Vue application context.\n */\n const addView = (component) => (views.value = [...views.value, component]);\n const removeView = (component) => (views.value = views.value.filter((cmp) => cmp !== component));\n const delegate = VueDelegate(addView, removeView);\n return () => {\n return h(\"ion-nav\", { delegate }, views.value);\n };\n});\nIonNav.name = \"IonNav\";\n//# sourceMappingURL=IonNav.js.map","import { defineCustomElement } from \"ionicons/components/ion-icon.js\";\nimport { h, defineComponent } from \"vue\";\nimport { getConfig } from \"../utils\";\nexport const IonIcon = /*@__PURE__*/ defineComponent({\n name: \"IonIcon\",\n props: {\n color: String,\n flipRtl: Boolean,\n icon: String,\n ios: String,\n lazy: String,\n md: String,\n mode: String,\n name: String,\n size: String,\n src: String,\n },\n setup(props, { slots }) {\n defineCustomElement();\n return () => {\n var _a, _b;\n const { icon, ios, md, mode } = props;\n let iconToUse;\n const config = getConfig();\n const iconMode = mode || (config === null || config === void 0 ? void 0 : config.get(\"mode\"));\n if (ios || md) {\n if (iconMode === \"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 h(\"ion-icon\", Object.assign(Object.assign({}, props), { icon: iconToUse }), slots);\n };\n },\n});\n//# sourceMappingURL=IonIcon.js.map","import { defineComponent, h, ref, onMounted } from 'vue';\nconst EMPTY_PROP = Symbol();\nconst DEFAULT_EMPTY_PROP = { default: EMPTY_PROP };\nexport const defineOverlayContainer = (name, defineCustomElement, componentProps = [], hasDelegateHost, controller) => {\n const createControllerComponent = () => {\n return defineComponent((props, { slots, emit }) => {\n const eventListeners = [\n { componentEv: `${name}-will-present`, frameworkEv: 'willPresent' },\n { componentEv: `${name}-did-present`, frameworkEv: 'didPresent' },\n { componentEv: `${name}-will-dismiss`, frameworkEv: 'willDismiss' },\n { componentEv: `${name}-did-dismiss`, frameworkEv: 'didDismiss' },\n ];\n if (defineCustomElement !== undefined) {\n defineCustomElement();\n }\n const overlay = ref();\n const onVnodeMounted = async () => {\n const isOpen = props.isOpen;\n isOpen && (await present(props));\n };\n const onVnodeUpdated = async (node, prevNode) => {\n const isOpen = node.props.isOpen;\n const prevIsOpen = prevNode.props.isOpen;\n /**\n * Do not do anything if this prop\n * did not change.\n */\n if (isOpen === prevIsOpen)\n return;\n if (isOpen) {\n await present(props);\n }\n else {\n await dismiss();\n }\n };\n const onVnodeBeforeUnmount = async () => {\n await dismiss();\n };\n const dismiss = async () => {\n if (!overlay.value)\n return;\n await overlay.value;\n overlay.value = overlay.value.dismiss();\n await overlay.value;\n overlay.value = undefined;\n };\n const present = async (props) => {\n var _a;\n /**\n * Do not open another instance\n * if one is already opened.\n */\n if (overlay.value) {\n await overlay.value;\n }\n if ((_a = overlay.value) === null || _a === void 0 ? void 0 : _a.present) {\n await overlay.value.present();\n return;\n }\n let restOfProps = {};\n /**\n * We can use Object.entries here\n * to avoid the hasOwnProperty check,\n * but that would require 2 iterations\n * where as this only requires 1.\n */\n for (const key in props) {\n const value = props[key];\n if (props.hasOwnProperty(key) && value !== EMPTY_PROP) {\n restOfProps[key] = value;\n }\n }\n /**\n * These are getting passed as props.\n * Potentially a Vue bug with Web Components?\n */\n delete restOfProps.onWillPresent;\n delete restOfProps.onDidPresent;\n delete restOfProps.onWillDismiss;\n delete restOfProps.onDidDismiss;\n const component = slots.default && slots.default()[0];\n overlay.value = controller.create(Object.assign(Object.assign({}, restOfProps), { component }));\n overlay.value = await overlay.value;\n eventListeners.forEach(eventListener => {\n overlay.value.addEventListener(eventListener.componentEv, () => {\n emit(eventListener.frameworkEv);\n });\n });\n await overlay.value.present();\n };\n return () => {\n return h('div', {\n style: { display: 'none' },\n onVnodeMounted,\n onVnodeUpdated,\n onVnodeBeforeUnmount,\n isOpen: props.isOpen === true\n });\n };\n });\n };\n const createInlineComponent = () => {\n return defineComponent((props, { slots }) => {\n if (defineCustomElement !== undefined) {\n defineCustomElement();\n }\n const isOpen = ref(false);\n const elementRef = ref();\n onMounted(() => {\n elementRef.value.addEventListener('ion-mount', () => isOpen.value = true);\n elementRef.value.addEventListener('will-present', () => isOpen.value = true);\n elementRef.value.addEventListener('did-dismiss', () => isOpen.value = false);\n });\n return () => {\n let restOfProps = {};\n /**\n * We can use Object.entries here\n * to avoid the hasOwnProperty check,\n * but that would require 2 iterations\n * where as this only requires 1.\n */\n for (const key in props) {\n const value = props[key];\n if (props.hasOwnProperty(key) && value !== EMPTY_PROP) {\n restOfProps[key] = value;\n }\n }\n /**\n * Some overlays need a wrapper element so content\n * takes up the full size of the parent overlay.\n */\n const renderChildren = () => {\n if (hasDelegateHost) {\n return h('div', { className: 'ion-delegate-host ion-page' }, slots);\n }\n return slots;\n };\n return h(name, Object.assign(Object.assign({}, restOfProps), { ref: elementRef }), \n /**\n * When binding keepContentsMounted as an attribute\n * i.e. <ion-modal keep-contents-mounted></ion-modal>\n * the value of the prop will be the empty string which is\n * why we still call renderChildren() in that case.\n */\n (isOpen.value || restOfProps.keepContentsMounted || restOfProps.keepContentsMounted === '') ? renderChildren() : undefined);\n };\n });\n };\n const Container = (controller !== undefined) ? createControllerComponent() : createInlineComponent();\n Container.name = name;\n Container.props = {\n 'isOpen': DEFAULT_EMPTY_PROP\n };\n componentProps.forEach(componentProp => {\n Container.props[componentProp] = DEFAULT_EMPTY_PROP;\n });\n if (controller !== undefined) {\n Container.emits = ['willPresent', 'didPresent', 'willDismiss', 'didDismiss'];\n }\n return Container;\n};\n//# sourceMappingURL=overlays.js.map","/**\n * This is an autogenerated file created by 'scripts/copy-overlays.js'.\n * Changes made to this file will be overwritten on build.\n */\nimport { defineCustomElement as defineIonActionSheetCustomElement } from '@ionic/core/components/ion-action-sheet.js';\nimport { defineCustomElement as defineIonAlertCustomElement } from '@ionic/core/components/ion-alert.js';\nimport { defineCustomElement as defineIonLoadingCustomElement } from '@ionic/core/components/ion-loading.js';\nimport { defineCustomElement as defineIonPickerCustomElement } from '@ionic/core/components/ion-picker.js';\nimport { defineCustomElement as defineIonToastCustomElement } from '@ionic/core/components/ion-toast.js';\nimport { defineCustomElement as defineIonModalCustomElement } from '@ionic/core/components/ion-modal.js';\nimport { defineCustomElement as defineIonPopoverCustomElement } from '@ionic/core/components/ion-popover.js';\nimport { defineOverlayContainer } from '../vue-component-lib/overlays';\nexport const IonActionSheet = /*@__PURE__*/ defineOverlayContainer('ion-action-sheet', defineIonActionSheetCustomElement, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'subHeader', 'translucent', 'trigger']);\nexport const IonAlert = /*@__PURE__*/ defineOverlayContainer('ion-alert', defineIonAlertCustomElement, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'inputs', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'subHeader', 'translucent', 'trigger']);\nexport const IonLoading = /*@__PURE__*/ defineOverlayContainer('ion-loading', defineIonLoadingCustomElement, ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'translucent', 'trigger']);\nexport const IonPicker = /*@__PURE__*/ defineOverlayContainer('ion-picker', defineIonPickerCustomElement, ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'trigger']);\nexport const IonToast = /*@__PURE__*/ defineOverlayContainer('ion-toast', defineIonToastCustomElement, ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'translucent', 'trigger']);\nexport const IonModal = /*@__PURE__*/ defineOverlayContainer('ion-modal', defineIonModalCustomElement, ['animated', 'backdropBreakpoint', 'backdropDismiss', 'breakpoints', 'canDismiss', 'enterAnimation', 'handle', 'handleBehavior', 'htmlAttributes', 'initialBreakpoint', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'presentingElement', 'showBackdrop', 'trigger'], true);\nexport const IonPopover = /*@__PURE__*/ defineOverlayContainer('ion-popover', defineIonPopoverCustomElement, ['alignment', 'animated', 'arrow', 'backdropDismiss', 'component', 'componentProps', 'dismissOnSelect', 'enterAnimation', 'event', 'htmlAttributes', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'reference', 'showBackdrop', 'side', 'size', 'translucent', 'trigger', 'triggerAction']);\n//# sourceMappingURL=Overlays.js.map","import { modalController as modalCtrl, popoverController as popoverCtrl, alertController as alertCtrl, actionSheetController as actionSheetCtrl, loadingController as loadingCtrl, pickerController as pickerCtrl, toastController as toastCtrl, } from \"@ionic/core/components\";\nimport { defineCustomElement as defineIonActionSheetCustomElement } from \"@ionic/core/components/ion-action-sheet.js\";\nimport { defineCustomElement as defineIonAlertCustomElement } from \"@ionic/core/components/ion-alert.js\";\nimport { defineCustomElement as defineIonLoadingCustomElement } from \"@ionic/core/components/ion-loading.js\";\nimport { defineCustomElement as defineIonModalCustomElement } from \"@ionic/core/components/ion-modal.js\";\nimport { defineCustomElement as defineIonPickerCustomElement } from \"@ionic/core/components/ion-picker.js\";\nimport { defineCustomElement as defineIonPopoverCustomElement } from \"@ionic/core/components/ion-popover.js\";\nimport { defineCustomElement as defineIonToastCustomElement } from \"@ionic/core/components/ion-toast.js\";\nimport { VueDelegate } from \"./framework-delegate\";\n// TODO(FW-2969): types\n/**\n * Wrap the controllers export from @ionic/core\n * register the underlying Web Component and\n * (optionally) provide a framework delegate.\n */\nconst createController = (defineCustomElement, oldController, useDelegate = false) => {\n const delegate = useDelegate ? VueDelegate() : undefined;\n const oldCreate = oldController.create.bind(oldController);\n oldController.create = (options) => {\n defineCustomElement();\n return oldCreate(Object.assign(Object.assign({}, options), { delegate }));\n };\n return oldController;\n};\nconst modalController = /*@__PURE__*/ createController(defineIonModalCustomElement, modalCtrl, true);\nconst popoverController = /*@__PURE__*/ createController(defineIonPopoverCustomElement, popoverCtrl, true);\nconst alertController = /*@__PURE__*/ createController(defineIonAlertCustomElement, alertCtrl);\nconst actionSheetController = /*@__PURE__*/ createController(defineIonActionSheetCustomElement, actionSheetCtrl);\nconst loadingController = /*@__PURE__*/ createController(defineIonLoadingCustomElement, loadingCtrl);\nconst pickerController = /*@__PURE__*/ createController(defineIonPickerCustomElement, pickerCtrl);\nconst toastController = /*@__PURE__*/ createController(defineIonToastCustomElement, toastCtrl);\nexport { modalController, popoverController, alertController, actionSheetController, loadingController, pickerController, toastController, };\n//# sourceMappingURL=controllers.js.map"],"names":["defineIonAccordion","defineIonAccordionGroup","defineIonAvatar","defineIonBackdrop","defineIonBadge","defineIonBreadcrumb","defineIonBreadcrumbs","defineIonButton","defineIonButtons","defineIonCard","defineIonCardContent","defineIonCardHeader","defineIonCardSubtitle","defineIonCardTitle","defineIonCheckbox","defineIonChip","defineIonCol","defineIonContent","defineIonDatetime","defineIonDatetimeButton","defineIonFab","defineIonFabButton","defineIonFabList","defineIonFooter","defineIonGrid","defineIonHeader","defineIonImg","defineIonInfiniteScroll","defineIonInfiniteScrollContent","defineIonInput","defineIonItem","defineIonItemDivider","defineIonItemGroup","defineIonItemOption","defineIonItemOptions","defineIonItemSliding","defineIonLabel","defineIonList","defineIonListHeader","defineIonMenu","defineIonMenuButton","defineIonMenuToggle","defineIonNavLink","defineIonNote","defineIonProgressBar","defineIonRadio","defineIonRadioGroup","defineIonRange","defineIonRefresher","defineIonRefresherContent","defineIonReorder","defineIonReorderGroup","defineIonRippleEffect","defineIonRow","defineIonSearchbar","defineIonSegment","defineIonSegmentButton","defineIonSelect","defineIonSelectOption","defineIonSkeletonText","defineIonSpinner","defineIonSplitPane","defineIonText","defineIonTextarea","defineIonThumbnail","defineIonTitle","defineIonToggle","defineIonToolbar","defineCustomElement","EMPTY_PROP","DEFAULT_EMPTY_PROP","defineIonActionSheetCustomElement","defineIonAlertCustomElement","defineIonLoadingCustomElement","defineIonPickerCustomElement","defineIonToastCustomElement","defineIonModalCustomElement","defineIonPopoverCustomElement","modalCtrl","popoverCtrl","alertCtrl","actionSheetCtrl","loadingCtrl","pickerCtrl","toastCtrl"],"mappings":"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"}
|