Files
WrenchBoardIonic2023/.angular/cache/14.2.0/babel-webpack/daf7647fcddc28b583c43befaba2897a.json
T
CHIEFSOFT\ameye cea49e295a first commit
2023-05-12 22:30:08 -04:00

1 line
712 KiB
JSON

{"ast":null,"code":"import * as i0 from '@angular/core';\nimport { Directive, HostListener, Component, ChangeDetectionStrategy, Injectable, Injector, InjectionToken, Inject, Optional, EventEmitter, Attribute, SkipSelf, Output, ViewChild, ContentChild, Input, TemplateRef, APP_INITIALIZER, NgZone, NgModule } from '@angular/core';\nimport { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { __decorate, __awaiter } from 'tslib';\nimport { fromEvent, Subject, BehaviorSubject } from 'rxjs';\nimport * as i3 from '@angular/router';\nimport { NavigationStart, PRIMARY_OUTLET, ActivatedRoute, ChildrenOutletContexts } from '@angular/router';\nimport { LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_UNLOAD, isPlatform, getPlatforms, componentOnReady, actionSheetController, alertController, loadingController, menuController, pickerController, modalController, popoverController, toastController, createAnimation, getTimeGivenProgression, createGesture, setupConfig } from '@ionic/core';\nexport { IonicSafeString, IonicSlides, IonicSwiper, createAnimation, createGesture, getPlatforms, getTimeGivenProgression, iosTransitionAnimation, isPlatform, mdTransitionAnimation } from '@ionic/core';\nimport { filter, switchMap, distinctUntilChanged } from 'rxjs/operators';\nimport * as i1 from '@angular/common';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { applyPolyfills, defineCustomElements } from '@ionic/core/loader';\nconst _c0 = [\"*\"];\nconst _c1 = [\"outlet\"];\nconst _c2 = [[[\"\", \"slot\", \"top\"]], \"*\"];\nconst _c3 = [\"[slot=top]\", \"*\"];\n\nfunction IonModal_div_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1);\n i0.ɵɵelementContainer(1, 2);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.template);\n }\n}\n\nfunction IonPopover_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 1);\n }\n\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.template);\n }\n}\n\nconst raf = h => {\n if (typeof __zone_symbol__requestAnimationFrame === 'function') {\n return __zone_symbol__requestAnimationFrame(h);\n }\n\n if (typeof requestAnimationFrame === 'function') {\n return requestAnimationFrame(h);\n }\n\n return setTimeout(h);\n};\n\nconst isComponentFactoryResolver = item => {\n return !!item.resolveComponentFactory;\n};\n\nclass ValueAccessor {\n constructor(injector, el) {\n this.injector = injector;\n this.el = el;\n\n this.onChange = () => {\n /**/\n };\n\n this.onTouched = () => {\n /**/\n };\n }\n\n writeValue(value) {\n /**\n * TODO for Ionic 6:\n * Change `value == null ? '' : value;`\n * to `value`. This was a fix for IE9, but IE9\n * is no longer supported; however, this change\n * is potentially a breaking change\n */\n this.el.nativeElement.value = this.lastValue = value == null ? '' : value;\n setIonicClasses(this.el);\n }\n\n handleChangeEvent(el, value) {\n if (el === this.el.nativeElement) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n\n setIonicClasses(this.el);\n }\n }\n\n _handleBlurEvent(el) {\n if (el === this.el.nativeElement) {\n this.onTouched();\n setIonicClasses(this.el);\n }\n }\n\n registerOnChange(fn) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled) {\n this.el.nativeElement.disabled = isDisabled;\n }\n\n ngOnDestroy() {\n if (this.statusChanges) {\n this.statusChanges.unsubscribe();\n }\n }\n\n ngAfterViewInit() {\n let ngControl;\n\n try {\n ngControl = this.injector.get(NgControl);\n } catch (_a) {\n /* No FormControl or ngModel binding */\n }\n\n if (!ngControl) {\n return;\n } // Listen for changes in validity, disabled, or pending states\n\n\n if (ngControl.statusChanges) {\n this.statusChanges = ngControl.statusChanges.subscribe(() => setIonicClasses(this.el));\n }\n /**\n * TODO Remove this in favor of https://github.com/angular/angular/issues/10887\n * whenever it is implemented. Currently, Ionic's form status classes\n * do not react to changes when developers manually call\n * Angular form control methods such as markAsTouched.\n * This results in Ionic's form status classes being out\n * of sync with the ng form status classes.\n * This patches the methods to manually sync\n * the classes until this feature is implemented in Angular.\n */\n\n\n const formControl = ngControl.control;\n\n if (formControl) {\n const methodsToPatch = ['markAsTouched', 'markAllAsTouched', 'markAsUntouched', 'markAsDirty', 'markAsPristine'];\n methodsToPatch.forEach(method => {\n if (typeof formControl[method] !== 'undefined') {\n const oldFn = formControl[method].bind(formControl);\n\n formControl[method] = (...params) => {\n oldFn(...params);\n setIonicClasses(this.el);\n };\n }\n });\n }\n }\n\n}\n/** @nocollapse */\n\n\nValueAccessor.ɵfac = function ValueAccessor_Factory(t) {\n return new (t || ValueAccessor)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n/** @nocollapse */\n\n\nValueAccessor.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: ValueAccessor,\n hostBindings: function ValueAccessor_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"ionBlur\", function ValueAccessor_ionBlur_HostBindingHandler($event) {\n return ctx._handleBlurEvent($event.target);\n });\n }\n }\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ValueAccessor, [{\n type: Directive\n }], function () {\n return [{\n type: i0.Injector\n }, {\n type: i0.ElementRef\n }];\n }, {\n _handleBlurEvent: [{\n type: HostListener,\n args: ['ionBlur', ['$event.target']]\n }]\n });\n})();\n\nconst setIonicClasses = element => {\n raf(() => {\n const input = element.nativeElement;\n const hasValue = input.value != null && input.value.toString().length > 0;\n const classes = getClasses(input);\n setClasses(input, classes);\n const item = input.closest('ion-item');\n\n if (item) {\n if (hasValue) {\n setClasses(item, [...classes, 'item-has-value']);\n } else {\n setClasses(item, classes);\n }\n }\n });\n};\n\nconst getClasses = element => {\n const classList = element.classList;\n const classes = [];\n\n for (let i = 0; i < classList.length; i++) {\n const item = classList.item(i);\n\n if (item !== null && startsWith(item, 'ng-')) {\n classes.push(`ion-${item.substring(3)}`);\n }\n }\n\n return classes;\n};\n\nconst setClasses = (element, classes) => {\n const classList = element.classList;\n classList.remove('ion-valid', 'ion-invalid', 'ion-touched', 'ion-untouched', 'ion-dirty', 'ion-pristine');\n classList.add(...classes);\n};\n\nconst startsWith = (input, search) => {\n return input.substring(0, search.length) === search;\n};\n\nclass BooleanValueAccessorDirective extends ValueAccessor {\n constructor(injector, el) {\n super(injector, el);\n }\n\n writeValue(value) {\n this.el.nativeElement.checked = this.lastValue = value == null ? false : value;\n setIonicClasses(this.el);\n }\n\n _handleIonChange(el) {\n this.handleChangeEvent(el, el.checked);\n }\n\n}\n/** @nocollapse */\n\n\nBooleanValueAccessorDirective.ɵfac = function BooleanValueAccessorDirective_Factory(t) {\n return new (t || BooleanValueAccessorDirective)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n/** @nocollapse */\n\n\nBooleanValueAccessorDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: BooleanValueAccessorDirective,\n selectors: [[\"ion-checkbox\"], [\"ion-toggle\"]],\n hostBindings: function BooleanValueAccessorDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"ionChange\", function BooleanValueAccessorDirective_ionChange_HostBindingHandler($event) {\n return ctx._handleIonChange($event.target);\n });\n }\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: NG_VALUE_ACCESSOR,\n useExisting: BooleanValueAccessorDirective,\n multi: true\n }]), i0.ɵɵInheritDefinitionFeature]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(BooleanValueAccessorDirective, [{\n type: Directive,\n args: [{\n selector: 'ion-checkbox,ion-toggle',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: BooleanValueAccessorDirective,\n multi: true\n }]\n }]\n }], function () {\n return [{\n type: i0.Injector\n }, {\n type: i0.ElementRef\n }];\n }, {\n _handleIonChange: [{\n type: HostListener,\n args: ['ionChange', ['$event.target']]\n }]\n });\n})();\n\nclass NumericValueAccessorDirective extends ValueAccessor {\n constructor(injector, el) {\n super(injector, el);\n }\n\n _handleIonChange(el) {\n this.handleChangeEvent(el, el.value);\n }\n\n registerOnChange(fn) {\n super.registerOnChange(value => {\n fn(value === '' ? null : parseFloat(value));\n });\n }\n\n}\n/** @nocollapse */\n\n\nNumericValueAccessorDirective.ɵfac = function NumericValueAccessorDirective_Factory(t) {\n return new (t || NumericValueAccessorDirective)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n/** @nocollapse */\n\n\nNumericValueAccessorDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NumericValueAccessorDirective,\n selectors: [[\"ion-input\", \"type\", \"number\"]],\n hostBindings: function NumericValueAccessorDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"ionChange\", function NumericValueAccessorDirective_ionChange_HostBindingHandler($event) {\n return ctx._handleIonChange($event.target);\n });\n }\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: NG_VALUE_ACCESSOR,\n useExisting: NumericValueAccessorDirective,\n multi: true\n }]), i0.ɵɵInheritDefinitionFeature]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NumericValueAccessorDirective, [{\n type: Directive,\n args: [{\n selector: 'ion-input[type=number]',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: NumericValueAccessorDirective,\n multi: true\n }]\n }]\n }], function () {\n return [{\n type: i0.Injector\n }, {\n type: i0.ElementRef\n }];\n }, {\n _handleIonChange: [{\n type: HostListener,\n args: ['ionChange', ['$event.target']]\n }]\n });\n})();\n\nclass RadioValueAccessorDirective extends ValueAccessor {\n constructor(injector, el) {\n super(injector, el);\n }\n\n _handleIonSelect(el) {\n this.handleChangeEvent(el, el.checked);\n }\n\n}\n/** @nocollapse */\n\n\nRadioValueAccessorDirective.ɵfac = function RadioValueAccessorDirective_Factory(t) {\n return new (t || RadioValueAccessorDirective)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n/** @nocollapse */\n\n\nRadioValueAccessorDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: RadioValueAccessorDirective,\n selectors: [[\"ion-radio\"]],\n hostBindings: function RadioValueAccessorDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"ionSelect\", function RadioValueAccessorDirective_ionSelect_HostBindingHandler($event) {\n return ctx._handleIonSelect($event.target);\n });\n }\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioValueAccessorDirective,\n multi: true\n }]), i0.ɵɵInheritDefinitionFeature]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(RadioValueAccessorDirective, [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'ion-radio',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioValueAccessorDirective,\n multi: true\n }]\n }]\n }], function () {\n return [{\n type: i0.Injector\n }, {\n type: i0.ElementRef\n }];\n }, {\n _handleIonSelect: [{\n type: HostListener,\n args: ['ionSelect', ['$event.target']]\n }]\n });\n})();\n\nclass SelectValueAccessorDirective extends ValueAccessor {\n constructor(injector, el) {\n super(injector, el);\n }\n\n _handleChangeEvent(el) {\n this.handleChangeEvent(el, el.value);\n }\n\n}\n/** @nocollapse */\n\n\nSelectValueAccessorDirective.ɵfac = function SelectValueAccessorDirective_Factory(t) {\n return new (t || SelectValueAccessorDirective)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n/** @nocollapse */\n\n\nSelectValueAccessorDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: SelectValueAccessorDirective,\n selectors: [[\"ion-range\"], [\"ion-select\"], [\"ion-radio-group\"], [\"ion-segment\"], [\"ion-datetime\"]],\n hostBindings: function SelectValueAccessorDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"ionChange\", function SelectValueAccessorDirective_ionChange_HostBindingHandler($event) {\n return ctx._handleChangeEvent($event.target);\n });\n }\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectValueAccessorDirective,\n multi: true\n }]), i0.ɵɵInheritDefinitionFeature]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SelectValueAccessorDirective, [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectValueAccessorDirective,\n multi: true\n }]\n }]\n }], function () {\n return [{\n type: i0.Injector\n }, {\n type: i0.ElementRef\n }];\n }, {\n _handleChangeEvent: [{\n type: HostListener,\n args: ['ionChange', ['$event.target']]\n }]\n });\n})();\n\nclass TextValueAccessorDirective extends ValueAccessor {\n constructor(injector, el) {\n super(injector, el);\n }\n\n _handleInputEvent(el) {\n this.handleChangeEvent(el, el.value);\n }\n\n}\n/** @nocollapse */\n\n\nTextValueAccessorDirective.ɵfac = function TextValueAccessorDirective_Factory(t) {\n return new (t || TextValueAccessorDirective)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n/** @nocollapse */\n\n\nTextValueAccessorDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TextValueAccessorDirective,\n selectors: [[\"ion-input\", 3, \"type\", \"number\"], [\"ion-textarea\"], [\"ion-searchbar\"]],\n hostBindings: function TextValueAccessorDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"ionChange\", function TextValueAccessorDirective_ionChange_HostBindingHandler($event) {\n return ctx._handleInputEvent($event.target);\n });\n }\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextValueAccessorDirective,\n multi: true\n }]), i0.ɵɵInheritDefinitionFeature]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TextValueAccessorDirective, [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'ion-input:not([type=number]),ion-textarea,ion-searchbar',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextValueAccessorDirective,\n multi: true\n }]\n }]\n }], function () {\n return [{\n type: i0.Injector\n }, {\n type: i0.ElementRef\n }];\n }, {\n _handleInputEvent: [{\n type: HostListener,\n args: ['ionChange', ['$event.target']]\n }]\n });\n})();\n/* eslint-disable */\n\n\nconst proxyInputs = (Cmp, inputs) => {\n const Prototype = Cmp.prototype;\n inputs.forEach(item => {\n Object.defineProperty(Prototype, item, {\n get() {\n return this.el[item];\n },\n\n set(val) {\n this.z.runOutsideAngular(() => this.el[item] = val);\n }\n\n });\n });\n};\n\nconst proxyMethods = (Cmp, methods) => {\n const Prototype = Cmp.prototype;\n methods.forEach(methodName => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));\n };\n });\n};\n\nconst proxyOutputs = (instance, el, events) => {\n events.forEach(eventName => instance[eventName] = fromEvent(el, eventName));\n};\n\nconst defineCustomElement = (tagName, customElement) => {\n if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n customElements.define(tagName, customElement);\n }\n}; // tslint:disable-next-line: only-arrow-functions\n\n\nfunction ProxyCmp(opts) {\n const decorator = function (cls) {\n const {\n defineCustomElementFn,\n inputs,\n methods\n } = opts;\n\n if (defineCustomElementFn !== undefined) {\n defineCustomElementFn();\n }\n\n if (inputs) {\n proxyInputs(cls, inputs);\n }\n\n if (methods) {\n proxyMethods(cls, methods);\n }\n\n return cls;\n };\n\n return decorator;\n}\n\nlet IonAccordion = class IonAccordion {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonAccordion.ɵfac = function IonAccordion_Factory(t) {\n return new (t || IonAccordion)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonAccordion.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonAccordion,\n selectors: [[\"ion-accordion\"]],\n inputs: {\n disabled: \"disabled\",\n mode: \"mode\",\n readonly: \"readonly\",\n toggleIcon: \"toggleIcon\",\n toggleIconSlot: \"toggleIconSlot\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonAccordion_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonAccordion = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled', 'mode', 'readonly', 'toggleIcon', 'toggleIconSlot', 'value']\n})], IonAccordion);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonAccordion, [{\n type: Component,\n args: [{\n selector: 'ion-accordion',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled', 'mode', 'readonly', 'toggleIcon', 'toggleIconSlot', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonAccordionGroup = class IonAccordionGroup {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange']);\n }\n\n};\n/** @nocollapse */\n\nIonAccordionGroup.ɵfac = function IonAccordionGroup_Factory(t) {\n return new (t || IonAccordionGroup)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonAccordionGroup.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonAccordionGroup,\n selectors: [[\"ion-accordion-group\"]],\n inputs: {\n animated: \"animated\",\n disabled: \"disabled\",\n expand: \"expand\",\n mode: \"mode\",\n multiple: \"multiple\",\n readonly: \"readonly\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonAccordionGroup_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonAccordionGroup = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['animated', 'disabled', 'expand', 'mode', 'multiple', 'readonly', 'value']\n})], IonAccordionGroup);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonAccordionGroup, [{\n type: Component,\n args: [{\n selector: 'ion-accordion-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['animated', 'disabled', 'expand', 'mode', 'multiple', 'readonly', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonApp = class IonApp {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonApp.ɵfac = function IonApp_Factory(t) {\n return new (t || IonApp)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonApp.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonApp,\n selectors: [[\"ion-app\"]],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonApp_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonApp = __decorate([ProxyCmp({\n defineCustomElementFn: undefined\n})], IonApp);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonApp, [{\n type: Component,\n args: [{\n selector: 'ion-app',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonAvatar = class IonAvatar {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonAvatar.ɵfac = function IonAvatar_Factory(t) {\n return new (t || IonAvatar)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonAvatar.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonAvatar,\n selectors: [[\"ion-avatar\"]],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonAvatar_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonAvatar = __decorate([ProxyCmp({\n defineCustomElementFn: undefined\n})], IonAvatar);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonAvatar, [{\n type: Component,\n args: [{\n selector: 'ion-avatar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonBackButton = class IonBackButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonBackButton.ɵfac = function IonBackButton_Factory(t) {\n return new (t || IonBackButton)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonBackButton.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonBackButton,\n selectors: [[\"ion-back-button\"]],\n inputs: {\n color: \"color\",\n defaultHref: \"defaultHref\",\n disabled: \"disabled\",\n icon: \"icon\",\n mode: \"mode\",\n routerAnimation: \"routerAnimation\",\n text: \"text\",\n type: \"type\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonBackButton_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonBackButton = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'routerAnimation', 'text', 'type']\n})], IonBackButton);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonBackButton, [{\n type: Component,\n args: [{\n selector: 'ion-back-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'routerAnimation', 'text', 'type']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonBackdrop = class IonBackdrop {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionBackdropTap']);\n }\n\n};\n/** @nocollapse */\n\nIonBackdrop.ɵfac = function IonBackdrop_Factory(t) {\n return new (t || IonBackdrop)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonBackdrop.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonBackdrop,\n selectors: [[\"ion-backdrop\"]],\n inputs: {\n stopPropagation: \"stopPropagation\",\n tappable: \"tappable\",\n visible: \"visible\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonBackdrop_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonBackdrop = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['stopPropagation', 'tappable', 'visible']\n})], IonBackdrop);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonBackdrop, [{\n type: Component,\n args: [{\n selector: 'ion-backdrop',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['stopPropagation', 'tappable', 'visible']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonBadge = class IonBadge {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonBadge.ɵfac = function IonBadge_Factory(t) {\n return new (t || IonBadge)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonBadge.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonBadge,\n selectors: [[\"ion-badge\"]],\n inputs: {\n color: \"color\",\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonBadge_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonBadge = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n})], IonBadge);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonBadge, [{\n type: Component,\n args: [{\n selector: 'ion-badge',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonBreadcrumb = class IonBreadcrumb {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);\n }\n\n};\n/** @nocollapse */\n\nIonBreadcrumb.ɵfac = function IonBreadcrumb_Factory(t) {\n return new (t || IonBreadcrumb)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonBreadcrumb.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonBreadcrumb,\n selectors: [[\"ion-breadcrumb\"]],\n inputs: {\n active: \"active\",\n color: \"color\",\n disabled: \"disabled\",\n download: \"download\",\n href: \"href\",\n mode: \"mode\",\n rel: \"rel\",\n routerAnimation: \"routerAnimation\",\n routerDirection: \"routerDirection\",\n separator: \"separator\",\n target: \"target\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonBreadcrumb_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonBreadcrumb = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['active', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'separator', 'target']\n})], IonBreadcrumb);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonBreadcrumb, [{\n type: Component,\n args: [{\n selector: 'ion-breadcrumb',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['active', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'separator', 'target']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonBreadcrumbs = class IonBreadcrumbs {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionCollapsedClick']);\n }\n\n};\n/** @nocollapse */\n\nIonBreadcrumbs.ɵfac = function IonBreadcrumbs_Factory(t) {\n return new (t || IonBreadcrumbs)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonBreadcrumbs.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonBreadcrumbs,\n selectors: [[\"ion-breadcrumbs\"]],\n inputs: {\n color: \"color\",\n itemsAfterCollapse: \"itemsAfterCollapse\",\n itemsBeforeCollapse: \"itemsBeforeCollapse\",\n maxItems: \"maxItems\",\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonBreadcrumbs_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonBreadcrumbs = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'itemsAfterCollapse', 'itemsBeforeCollapse', 'maxItems', 'mode']\n})], IonBreadcrumbs);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonBreadcrumbs, [{\n type: Component,\n args: [{\n selector: 'ion-breadcrumbs',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'itemsAfterCollapse', 'itemsBeforeCollapse', 'maxItems', 'mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonButton = class IonButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);\n }\n\n};\n/** @nocollapse */\n\nIonButton.ɵfac = function IonButton_Factory(t) {\n return new (t || IonButton)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonButton.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonButton,\n selectors: [[\"ion-button\"]],\n inputs: {\n buttonType: \"buttonType\",\n color: \"color\",\n disabled: \"disabled\",\n download: \"download\",\n expand: \"expand\",\n fill: \"fill\",\n href: \"href\",\n mode: \"mode\",\n rel: \"rel\",\n routerAnimation: \"routerAnimation\",\n routerDirection: \"routerDirection\",\n shape: \"shape\",\n size: \"size\",\n strong: \"strong\",\n target: \"target\",\n type: \"type\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonButton_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonButton = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type']\n})], IonButton);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonButton, [{\n type: Component,\n args: [{\n selector: 'ion-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonButtons = class IonButtons {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonButtons.ɵfac = function IonButtons_Factory(t) {\n return new (t || IonButtons)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonButtons.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonButtons,\n selectors: [[\"ion-buttons\"]],\n inputs: {\n collapse: \"collapse\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonButtons_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonButtons = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['collapse']\n})], IonButtons);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonButtons, [{\n type: Component,\n args: [{\n selector: 'ion-buttons',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['collapse']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonCard = class IonCard {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonCard.ɵfac = function IonCard_Factory(t) {\n return new (t || IonCard)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonCard.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonCard,\n selectors: [[\"ion-card\"]],\n inputs: {\n button: \"button\",\n color: \"color\",\n disabled: \"disabled\",\n download: \"download\",\n href: \"href\",\n mode: \"mode\",\n rel: \"rel\",\n routerAnimation: \"routerAnimation\",\n routerDirection: \"routerDirection\",\n target: \"target\",\n type: \"type\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonCard_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonCard = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type']\n})], IonCard);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonCard, [{\n type: Component,\n args: [{\n selector: 'ion-card',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonCardContent = class IonCardContent {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonCardContent.ɵfac = function IonCardContent_Factory(t) {\n return new (t || IonCardContent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonCardContent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonCardContent,\n selectors: [[\"ion-card-content\"]],\n inputs: {\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonCardContent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonCardContent = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['mode']\n})], IonCardContent);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonCardContent, [{\n type: Component,\n args: [{\n selector: 'ion-card-content',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonCardHeader = class IonCardHeader {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonCardHeader.ɵfac = function IonCardHeader_Factory(t) {\n return new (t || IonCardHeader)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonCardHeader.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonCardHeader,\n selectors: [[\"ion-card-header\"]],\n inputs: {\n color: \"color\",\n mode: \"mode\",\n translucent: \"translucent\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonCardHeader_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonCardHeader = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode', 'translucent']\n})], IonCardHeader);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonCardHeader, [{\n type: Component,\n args: [{\n selector: 'ion-card-header',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode', 'translucent']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonCardSubtitle = class IonCardSubtitle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonCardSubtitle.ɵfac = function IonCardSubtitle_Factory(t) {\n return new (t || IonCardSubtitle)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonCardSubtitle.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonCardSubtitle,\n selectors: [[\"ion-card-subtitle\"]],\n inputs: {\n color: \"color\",\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonCardSubtitle_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonCardSubtitle = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n})], IonCardSubtitle);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonCardSubtitle, [{\n type: Component,\n args: [{\n selector: 'ion-card-subtitle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonCardTitle = class IonCardTitle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonCardTitle.ɵfac = function IonCardTitle_Factory(t) {\n return new (t || IonCardTitle)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonCardTitle.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonCardTitle,\n selectors: [[\"ion-card-title\"]],\n inputs: {\n color: \"color\",\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonCardTitle_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonCardTitle = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n})], IonCardTitle);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonCardTitle, [{\n type: Component,\n args: [{\n selector: 'ion-card-title',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonCheckbox = class IonCheckbox {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);\n }\n\n};\n/** @nocollapse */\n\nIonCheckbox.ɵfac = function IonCheckbox_Factory(t) {\n return new (t || IonCheckbox)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonCheckbox.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonCheckbox,\n selectors: [[\"ion-checkbox\"]],\n inputs: {\n checked: \"checked\",\n color: \"color\",\n disabled: \"disabled\",\n indeterminate: \"indeterminate\",\n mode: \"mode\",\n name: \"name\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonCheckbox_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonCheckbox = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['checked', 'color', 'disabled', 'indeterminate', 'mode', 'name', 'value']\n})], IonCheckbox);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonCheckbox, [{\n type: Component,\n args: [{\n selector: 'ion-checkbox',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['checked', 'color', 'disabled', 'indeterminate', 'mode', 'name', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonChip = class IonChip {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonChip.ɵfac = function IonChip_Factory(t) {\n return new (t || IonChip)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonChip.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonChip,\n selectors: [[\"ion-chip\"]],\n inputs: {\n color: \"color\",\n disabled: \"disabled\",\n mode: \"mode\",\n outline: \"outline\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonChip_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonChip = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'disabled', 'mode', 'outline']\n})], IonChip);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonChip, [{\n type: Component,\n args: [{\n selector: 'ion-chip',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'disabled', 'mode', 'outline']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonCol = class IonCol {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonCol.ɵfac = function IonCol_Factory(t) {\n return new (t || IonCol)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonCol.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonCol,\n selectors: [[\"ion-col\"]],\n inputs: {\n offset: \"offset\",\n offsetLg: \"offsetLg\",\n offsetMd: \"offsetMd\",\n offsetSm: \"offsetSm\",\n offsetXl: \"offsetXl\",\n offsetXs: \"offsetXs\",\n pull: \"pull\",\n pullLg: \"pullLg\",\n pullMd: \"pullMd\",\n pullSm: \"pullSm\",\n pullXl: \"pullXl\",\n pullXs: \"pullXs\",\n push: \"push\",\n pushLg: \"pushLg\",\n pushMd: \"pushMd\",\n pushSm: \"pushSm\",\n pushXl: \"pushXl\",\n pushXs: \"pushXs\",\n size: \"size\",\n sizeLg: \"sizeLg\",\n sizeMd: \"sizeMd\",\n sizeSm: \"sizeSm\",\n sizeXl: \"sizeXl\",\n sizeXs: \"sizeXs\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonCol_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonCol = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs']\n})], IonCol);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonCol, [{\n type: Component,\n args: [{\n selector: 'ion-col',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonContent = class IonContent {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionScrollStart', 'ionScroll', 'ionScrollEnd']);\n }\n\n};\n/** @nocollapse */\n\nIonContent.ɵfac = function IonContent_Factory(t) {\n return new (t || IonContent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonContent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonContent,\n selectors: [[\"ion-content\"]],\n inputs: {\n color: \"color\",\n forceOverscroll: \"forceOverscroll\",\n fullscreen: \"fullscreen\",\n scrollEvents: \"scrollEvents\",\n scrollX: \"scrollX\",\n scrollY: \"scrollY\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonContent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonContent = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY'],\n methods: ['getScrollElement', 'scrollToTop', 'scrollToBottom', 'scrollByPoint', 'scrollToPoint']\n})], IonContent);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonContent, [{\n type: Component,\n args: [{\n selector: 'ion-content',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonDatetime = class IonDatetime {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']);\n }\n\n};\n/** @nocollapse */\n\nIonDatetime.ɵfac = function IonDatetime_Factory(t) {\n return new (t || IonDatetime)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonDatetime.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonDatetime,\n selectors: [[\"ion-datetime\"]],\n inputs: {\n cancelText: \"cancelText\",\n clearText: \"clearText\",\n color: \"color\",\n dayValues: \"dayValues\",\n disabled: \"disabled\",\n doneText: \"doneText\",\n firstDayOfWeek: \"firstDayOfWeek\",\n hourCycle: \"hourCycle\",\n hourValues: \"hourValues\",\n isDateEnabled: \"isDateEnabled\",\n locale: \"locale\",\n max: \"max\",\n min: \"min\",\n minuteValues: \"minuteValues\",\n mode: \"mode\",\n monthValues: \"monthValues\",\n multiple: \"multiple\",\n name: \"name\",\n preferWheel: \"preferWheel\",\n presentation: \"presentation\",\n readonly: \"readonly\",\n showClearButton: \"showClearButton\",\n showDefaultButtons: \"showDefaultButtons\",\n showDefaultTimeLabel: \"showDefaultTimeLabel\",\n showDefaultTitle: \"showDefaultTitle\",\n size: \"size\",\n value: \"value\",\n yearValues: \"yearValues\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonDatetime_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonDatetime = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['cancelText', 'clearText', 'color', 'dayValues', 'disabled', 'doneText', 'firstDayOfWeek', 'hourCycle', 'hourValues', 'isDateEnabled', 'locale', 'max', 'min', 'minuteValues', 'mode', 'monthValues', 'multiple', 'name', 'preferWheel', 'presentation', 'readonly', 'showClearButton', 'showDefaultButtons', 'showDefaultTimeLabel', 'showDefaultTitle', 'size', 'value', 'yearValues'],\n methods: ['confirm', 'reset', 'cancel']\n})], IonDatetime);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonDatetime, [{\n type: Component,\n args: [{\n selector: 'ion-datetime',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['cancelText', 'clearText', 'color', 'dayValues', 'disabled', 'doneText', 'firstDayOfWeek', 'hourCycle', 'hourValues', 'isDateEnabled', 'locale', 'max', 'min', 'minuteValues', 'mode', 'monthValues', 'multiple', 'name', 'preferWheel', 'presentation', 'readonly', 'showClearButton', 'showDefaultButtons', 'showDefaultTimeLabel', 'showDefaultTitle', 'size', 'value', 'yearValues']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonDatetimeButton = class IonDatetimeButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonDatetimeButton.ɵfac = function IonDatetimeButton_Factory(t) {\n return new (t || IonDatetimeButton)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonDatetimeButton.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonDatetimeButton,\n selectors: [[\"ion-datetime-button\"]],\n inputs: {\n color: \"color\",\n datetime: \"datetime\",\n disabled: \"disabled\",\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonDatetimeButton_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonDatetimeButton = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'datetime', 'disabled', 'mode']\n})], IonDatetimeButton);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonDatetimeButton, [{\n type: Component,\n args: [{\n selector: 'ion-datetime-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'datetime', 'disabled', 'mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonFab = class IonFab {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonFab.ɵfac = function IonFab_Factory(t) {\n return new (t || IonFab)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonFab.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonFab,\n selectors: [[\"ion-fab\"]],\n inputs: {\n activated: \"activated\",\n edge: \"edge\",\n horizontal: \"horizontal\",\n vertical: \"vertical\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonFab_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonFab = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['activated', 'edge', 'horizontal', 'vertical'],\n methods: ['close']\n})], IonFab);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonFab, [{\n type: Component,\n args: [{\n selector: 'ion-fab',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['activated', 'edge', 'horizontal', 'vertical']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonFabButton = class IonFabButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);\n }\n\n};\n/** @nocollapse */\n\nIonFabButton.ɵfac = function IonFabButton_Factory(t) {\n return new (t || IonFabButton)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonFabButton.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonFabButton,\n selectors: [[\"ion-fab-button\"]],\n inputs: {\n activated: \"activated\",\n closeIcon: \"closeIcon\",\n color: \"color\",\n disabled: \"disabled\",\n download: \"download\",\n href: \"href\",\n mode: \"mode\",\n rel: \"rel\",\n routerAnimation: \"routerAnimation\",\n routerDirection: \"routerDirection\",\n show: \"show\",\n size: \"size\",\n target: \"target\",\n translucent: \"translucent\",\n type: \"type\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonFabButton_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonFabButton = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['activated', 'closeIcon', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type']\n})], IonFabButton);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonFabButton, [{\n type: Component,\n args: [{\n selector: 'ion-fab-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['activated', 'closeIcon', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonFabList = class IonFabList {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonFabList.ɵfac = function IonFabList_Factory(t) {\n return new (t || IonFabList)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonFabList.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonFabList,\n selectors: [[\"ion-fab-list\"]],\n inputs: {\n activated: \"activated\",\n side: \"side\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonFabList_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonFabList = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['activated', 'side']\n})], IonFabList);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonFabList, [{\n type: Component,\n args: [{\n selector: 'ion-fab-list',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['activated', 'side']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonFooter = class IonFooter {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonFooter.ɵfac = function IonFooter_Factory(t) {\n return new (t || IonFooter)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonFooter.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonFooter,\n selectors: [[\"ion-footer\"]],\n inputs: {\n collapse: \"collapse\",\n mode: \"mode\",\n translucent: \"translucent\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonFooter_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonFooter = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['collapse', 'mode', 'translucent']\n})], IonFooter);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonFooter, [{\n type: Component,\n args: [{\n selector: 'ion-footer',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['collapse', 'mode', 'translucent']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonGrid = class IonGrid {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonGrid.ɵfac = function IonGrid_Factory(t) {\n return new (t || IonGrid)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonGrid.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonGrid,\n selectors: [[\"ion-grid\"]],\n inputs: {\n fixed: \"fixed\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonGrid_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonGrid = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['fixed']\n})], IonGrid);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonGrid, [{\n type: Component,\n args: [{\n selector: 'ion-grid',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['fixed']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonHeader = class IonHeader {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonHeader.ɵfac = function IonHeader_Factory(t) {\n return new (t || IonHeader)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonHeader.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonHeader,\n selectors: [[\"ion-header\"]],\n inputs: {\n collapse: \"collapse\",\n mode: \"mode\",\n translucent: \"translucent\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonHeader_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonHeader = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['collapse', 'mode', 'translucent']\n})], IonHeader);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonHeader, [{\n type: Component,\n args: [{\n selector: 'ion-header',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['collapse', 'mode', 'translucent']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonIcon = class IonIcon {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonIcon.ɵfac = function IonIcon_Factory(t) {\n return new (t || IonIcon)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonIcon.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonIcon,\n selectors: [[\"ion-icon\"]],\n inputs: {\n color: \"color\",\n flipRtl: \"flipRtl\",\n icon: \"icon\",\n ios: \"ios\",\n lazy: \"lazy\",\n md: \"md\",\n mode: \"mode\",\n name: \"name\",\n sanitize: \"sanitize\",\n size: \"size\",\n src: \"src\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonIcon = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src']\n})], IonIcon);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonIcon, [{\n type: Component,\n args: [{\n selector: 'ion-icon',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonImg = class IonImg {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionImgWillLoad', 'ionImgDidLoad', 'ionError']);\n }\n\n};\n/** @nocollapse */\n\nIonImg.ɵfac = function IonImg_Factory(t) {\n return new (t || IonImg)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonImg.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonImg,\n selectors: [[\"ion-img\"]],\n inputs: {\n alt: \"alt\",\n src: \"src\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonImg_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonImg = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['alt', 'src']\n})], IonImg);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonImg, [{\n type: Component,\n args: [{\n selector: 'ion-img',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['alt', 'src']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonInfiniteScroll = class IonInfiniteScroll {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionInfinite']);\n }\n\n};\n/** @nocollapse */\n\nIonInfiniteScroll.ɵfac = function IonInfiniteScroll_Factory(t) {\n return new (t || IonInfiniteScroll)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonInfiniteScroll.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonInfiniteScroll,\n selectors: [[\"ion-infinite-scroll\"]],\n inputs: {\n disabled: \"disabled\",\n position: \"position\",\n threshold: \"threshold\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonInfiniteScroll_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonInfiniteScroll = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled', 'position', 'threshold'],\n methods: ['complete']\n})], IonInfiniteScroll);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonInfiniteScroll, [{\n type: Component,\n args: [{\n selector: 'ion-infinite-scroll',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled', 'position', 'threshold']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonInfiniteScrollContent = class IonInfiniteScrollContent {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonInfiniteScrollContent.ɵfac = function IonInfiniteScrollContent_Factory(t) {\n return new (t || IonInfiniteScrollContent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonInfiniteScrollContent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonInfiniteScrollContent,\n selectors: [[\"ion-infinite-scroll-content\"]],\n inputs: {\n loadingSpinner: \"loadingSpinner\",\n loadingText: \"loadingText\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonInfiniteScrollContent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonInfiniteScrollContent = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['loadingSpinner', 'loadingText']\n})], IonInfiniteScrollContent);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonInfiniteScrollContent, [{\n type: Component,\n args: [{\n selector: 'ion-infinite-scroll-content',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['loadingSpinner', 'loadingText']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonInput = class IonInput {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']);\n }\n\n};\n/** @nocollapse */\n\nIonInput.ɵfac = function IonInput_Factory(t) {\n return new (t || IonInput)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonInput.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonInput,\n selectors: [[\"ion-input\"]],\n inputs: {\n accept: \"accept\",\n autocapitalize: \"autocapitalize\",\n autocomplete: \"autocomplete\",\n autocorrect: \"autocorrect\",\n autofocus: \"autofocus\",\n clearInput: \"clearInput\",\n clearOnEdit: \"clearOnEdit\",\n color: \"color\",\n debounce: \"debounce\",\n disabled: \"disabled\",\n enterkeyhint: \"enterkeyhint\",\n inputmode: \"inputmode\",\n max: \"max\",\n maxlength: \"maxlength\",\n min: \"min\",\n minlength: \"minlength\",\n mode: \"mode\",\n multiple: \"multiple\",\n name: \"name\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n readonly: \"readonly\",\n required: \"required\",\n size: \"size\",\n spellcheck: \"spellcheck\",\n step: \"step\",\n type: \"type\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonInput_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonInput = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['accept', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearOnEdit', 'color', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'mode', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'type', 'value'],\n methods: ['setFocus', 'getInputElement']\n})], IonInput);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonInput, [{\n type: Component,\n args: [{\n selector: 'ion-input',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['accept', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearOnEdit', 'color', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'mode', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'type', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonItem = class IonItem {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonItem.ɵfac = function IonItem_Factory(t) {\n return new (t || IonItem)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonItem.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonItem,\n selectors: [[\"ion-item\"]],\n inputs: {\n button: \"button\",\n color: \"color\",\n counter: \"counter\",\n counterFormatter: \"counterFormatter\",\n detail: \"detail\",\n detailIcon: \"detailIcon\",\n disabled: \"disabled\",\n download: \"download\",\n fill: \"fill\",\n href: \"href\",\n lines: \"lines\",\n mode: \"mode\",\n rel: \"rel\",\n routerAnimation: \"routerAnimation\",\n routerDirection: \"routerDirection\",\n shape: \"shape\",\n target: \"target\",\n type: \"type\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonItem_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonItem = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['button', 'color', 'counter', 'counterFormatter', 'detail', 'detailIcon', 'disabled', 'download', 'fill', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'target', 'type']\n})], IonItem);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonItem, [{\n type: Component,\n args: [{\n selector: 'ion-item',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['button', 'color', 'counter', 'counterFormatter', 'detail', 'detailIcon', 'disabled', 'download', 'fill', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'target', 'type']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonItemDivider = class IonItemDivider {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonItemDivider.ɵfac = function IonItemDivider_Factory(t) {\n return new (t || IonItemDivider)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonItemDivider.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonItemDivider,\n selectors: [[\"ion-item-divider\"]],\n inputs: {\n color: \"color\",\n mode: \"mode\",\n sticky: \"sticky\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonItemDivider_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonItemDivider = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode', 'sticky']\n})], IonItemDivider);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonItemDivider, [{\n type: Component,\n args: [{\n selector: 'ion-item-divider',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode', 'sticky']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonItemGroup = class IonItemGroup {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonItemGroup.ɵfac = function IonItemGroup_Factory(t) {\n return new (t || IonItemGroup)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonItemGroup.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonItemGroup,\n selectors: [[\"ion-item-group\"]],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonItemGroup_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonItemGroup = __decorate([ProxyCmp({\n defineCustomElementFn: undefined\n})], IonItemGroup);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonItemGroup, [{\n type: Component,\n args: [{\n selector: 'ion-item-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonItemOption = class IonItemOption {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonItemOption.ɵfac = function IonItemOption_Factory(t) {\n return new (t || IonItemOption)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonItemOption.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonItemOption,\n selectors: [[\"ion-item-option\"]],\n inputs: {\n color: \"color\",\n disabled: \"disabled\",\n download: \"download\",\n expandable: \"expandable\",\n href: \"href\",\n mode: \"mode\",\n rel: \"rel\",\n target: \"target\",\n type: \"type\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonItemOption_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonItemOption = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type']\n})], IonItemOption);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonItemOption, [{\n type: Component,\n args: [{\n selector: 'ion-item-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonItemOptions = class IonItemOptions {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionSwipe']);\n }\n\n};\n/** @nocollapse */\n\nIonItemOptions.ɵfac = function IonItemOptions_Factory(t) {\n return new (t || IonItemOptions)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonItemOptions.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonItemOptions,\n selectors: [[\"ion-item-options\"]],\n inputs: {\n side: \"side\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonItemOptions_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonItemOptions = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['side']\n})], IonItemOptions);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonItemOptions, [{\n type: Component,\n args: [{\n selector: 'ion-item-options',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['side']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonItemSliding = class IonItemSliding {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionDrag']);\n }\n\n};\n/** @nocollapse */\n\nIonItemSliding.ɵfac = function IonItemSliding_Factory(t) {\n return new (t || IonItemSliding)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonItemSliding.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonItemSliding,\n selectors: [[\"ion-item-sliding\"]],\n inputs: {\n disabled: \"disabled\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonItemSliding_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonItemSliding = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled'],\n methods: ['getOpenAmount', 'getSlidingRatio', 'open', 'close', 'closeOpened']\n})], IonItemSliding);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonItemSliding, [{\n type: Component,\n args: [{\n selector: 'ion-item-sliding',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonLabel = class IonLabel {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonLabel.ɵfac = function IonLabel_Factory(t) {\n return new (t || IonLabel)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonLabel.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonLabel,\n selectors: [[\"ion-label\"]],\n inputs: {\n color: \"color\",\n mode: \"mode\",\n position: \"position\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonLabel_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonLabel = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode', 'position']\n})], IonLabel);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonLabel, [{\n type: Component,\n args: [{\n selector: 'ion-label',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode', 'position']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonList = class IonList {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonList.ɵfac = function IonList_Factory(t) {\n return new (t || IonList)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonList.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonList,\n selectors: [[\"ion-list\"]],\n inputs: {\n inset: \"inset\",\n lines: \"lines\",\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonList_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonList = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['inset', 'lines', 'mode'],\n methods: ['closeSlidingItems']\n})], IonList);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonList, [{\n type: Component,\n args: [{\n selector: 'ion-list',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['inset', 'lines', 'mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonListHeader = class IonListHeader {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonListHeader.ɵfac = function IonListHeader_Factory(t) {\n return new (t || IonListHeader)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonListHeader.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonListHeader,\n selectors: [[\"ion-list-header\"]],\n inputs: {\n color: \"color\",\n lines: \"lines\",\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonListHeader_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonListHeader = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'lines', 'mode']\n})], IonListHeader);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonListHeader, [{\n type: Component,\n args: [{\n selector: 'ion-list-header',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'lines', 'mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonMenu = class IonMenu {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionWillOpen', 'ionWillClose', 'ionDidOpen', 'ionDidClose']);\n }\n\n};\n/** @nocollapse */\n\nIonMenu.ɵfac = function IonMenu_Factory(t) {\n return new (t || IonMenu)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonMenu.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonMenu,\n selectors: [[\"ion-menu\"]],\n inputs: {\n contentId: \"contentId\",\n disabled: \"disabled\",\n maxEdgeStart: \"maxEdgeStart\",\n menuId: \"menuId\",\n side: \"side\",\n swipeGesture: \"swipeGesture\",\n type: \"type\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonMenu_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonMenu = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type'],\n methods: ['isOpen', 'isActive', 'open', 'close', 'toggle', 'setOpen']\n})], IonMenu);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonMenu, [{\n type: Component,\n args: [{\n selector: 'ion-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonMenuButton = class IonMenuButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonMenuButton.ɵfac = function IonMenuButton_Factory(t) {\n return new (t || IonMenuButton)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonMenuButton.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonMenuButton,\n selectors: [[\"ion-menu-button\"]],\n inputs: {\n autoHide: \"autoHide\",\n color: \"color\",\n disabled: \"disabled\",\n menu: \"menu\",\n mode: \"mode\",\n type: \"type\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonMenuButton_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonMenuButton = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['autoHide', 'color', 'disabled', 'menu', 'mode', 'type']\n})], IonMenuButton);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonMenuButton, [{\n type: Component,\n args: [{\n selector: 'ion-menu-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['autoHide', 'color', 'disabled', 'menu', 'mode', 'type']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonMenuToggle = class IonMenuToggle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonMenuToggle.ɵfac = function IonMenuToggle_Factory(t) {\n return new (t || IonMenuToggle)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonMenuToggle.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonMenuToggle,\n selectors: [[\"ion-menu-toggle\"]],\n inputs: {\n autoHide: \"autoHide\",\n menu: \"menu\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonMenuToggle_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonMenuToggle = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['autoHide', 'menu']\n})], IonMenuToggle);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonMenuToggle, [{\n type: Component,\n args: [{\n selector: 'ion-menu-toggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['autoHide', 'menu']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonNav = class IonNav {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionNavWillChange', 'ionNavDidChange']);\n }\n\n};\n/** @nocollapse */\n\nIonNav.ɵfac = function IonNav_Factory(t) {\n return new (t || IonNav)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonNav.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonNav,\n selectors: [[\"ion-nav\"]],\n inputs: {\n animated: \"animated\",\n animation: \"animation\",\n root: \"root\",\n rootParams: \"rootParams\",\n swipeGesture: \"swipeGesture\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonNav_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonNav = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture'],\n methods: ['push', 'insert', 'insertPages', 'pop', 'popTo', 'popToRoot', 'removeIndex', 'setRoot', 'setPages', 'getActive', 'getByIndex', 'canGoBack', 'getPrevious']\n})], IonNav);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonNav, [{\n type: Component,\n args: [{\n selector: 'ion-nav',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonNavLink = class IonNavLink {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonNavLink.ɵfac = function IonNavLink_Factory(t) {\n return new (t || IonNavLink)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonNavLink.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonNavLink,\n selectors: [[\"ion-nav-link\"]],\n inputs: {\n component: \"component\",\n componentProps: \"componentProps\",\n routerAnimation: \"routerAnimation\",\n routerDirection: \"routerDirection\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonNavLink_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonNavLink = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['component', 'componentProps', 'routerAnimation', 'routerDirection']\n})], IonNavLink);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonNavLink, [{\n type: Component,\n args: [{\n selector: 'ion-nav-link',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['component', 'componentProps', 'routerAnimation', 'routerDirection']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonNote = class IonNote {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonNote.ɵfac = function IonNote_Factory(t) {\n return new (t || IonNote)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonNote.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonNote,\n selectors: [[\"ion-note\"]],\n inputs: {\n color: \"color\",\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonNote_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonNote = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n})], IonNote);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonNote, [{\n type: Component,\n args: [{\n selector: 'ion-note',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonProgressBar = class IonProgressBar {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonProgressBar.ɵfac = function IonProgressBar_Factory(t) {\n return new (t || IonProgressBar)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonProgressBar.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonProgressBar,\n selectors: [[\"ion-progress-bar\"]],\n inputs: {\n buffer: \"buffer\",\n color: \"color\",\n mode: \"mode\",\n reversed: \"reversed\",\n type: \"type\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonProgressBar_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonProgressBar = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['buffer', 'color', 'mode', 'reversed', 'type', 'value']\n})], IonProgressBar);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonProgressBar, [{\n type: Component,\n args: [{\n selector: 'ion-progress-bar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['buffer', 'color', 'mode', 'reversed', 'type', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonRadio = class IonRadio {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);\n }\n\n};\n/** @nocollapse */\n\nIonRadio.ɵfac = function IonRadio_Factory(t) {\n return new (t || IonRadio)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonRadio.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonRadio,\n selectors: [[\"ion-radio\"]],\n inputs: {\n color: \"color\",\n disabled: \"disabled\",\n mode: \"mode\",\n name: \"name\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonRadio_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonRadio = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'disabled', 'mode', 'name', 'value']\n})], IonRadio);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonRadio, [{\n type: Component,\n args: [{\n selector: 'ion-radio',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'disabled', 'mode', 'name', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonRadioGroup = class IonRadioGroup {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange']);\n }\n\n};\n/** @nocollapse */\n\nIonRadioGroup.ɵfac = function IonRadioGroup_Factory(t) {\n return new (t || IonRadioGroup)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonRadioGroup.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonRadioGroup,\n selectors: [[\"ion-radio-group\"]],\n inputs: {\n allowEmptySelection: \"allowEmptySelection\",\n name: \"name\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonRadioGroup_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonRadioGroup = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['allowEmptySelection', 'name', 'value']\n})], IonRadioGroup);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonRadioGroup, [{\n type: Component,\n args: [{\n selector: 'ion-radio-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['allowEmptySelection', 'name', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonRange = class IonRange {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur', 'ionKnobMoveStart', 'ionKnobMoveEnd']);\n }\n\n};\n/** @nocollapse */\n\nIonRange.ɵfac = function IonRange_Factory(t) {\n return new (t || IonRange)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonRange.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonRange,\n selectors: [[\"ion-range\"]],\n inputs: {\n activeBarStart: \"activeBarStart\",\n color: \"color\",\n debounce: \"debounce\",\n disabled: \"disabled\",\n dualKnobs: \"dualKnobs\",\n max: \"max\",\n min: \"min\",\n mode: \"mode\",\n name: \"name\",\n pin: \"pin\",\n pinFormatter: \"pinFormatter\",\n snaps: \"snaps\",\n step: \"step\",\n ticks: \"ticks\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonRange_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonRange = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['activeBarStart', 'color', 'debounce', 'disabled', 'dualKnobs', 'max', 'min', 'mode', 'name', 'pin', 'pinFormatter', 'snaps', 'step', 'ticks', 'value']\n})], IonRange);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonRange, [{\n type: Component,\n args: [{\n selector: 'ion-range',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['activeBarStart', 'color', 'debounce', 'disabled', 'dualKnobs', 'max', 'min', 'mode', 'name', 'pin', 'pinFormatter', 'snaps', 'step', 'ticks', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonRefresher = class IonRefresher {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionRefresh', 'ionPull', 'ionStart']);\n }\n\n};\n/** @nocollapse */\n\nIonRefresher.ɵfac = function IonRefresher_Factory(t) {\n return new (t || IonRefresher)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonRefresher.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonRefresher,\n selectors: [[\"ion-refresher\"]],\n inputs: {\n closeDuration: \"closeDuration\",\n disabled: \"disabled\",\n pullFactor: \"pullFactor\",\n pullMax: \"pullMax\",\n pullMin: \"pullMin\",\n snapbackDuration: \"snapbackDuration\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonRefresher_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonRefresher = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['closeDuration', 'disabled', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration'],\n methods: ['complete', 'cancel', 'getProgress']\n})], IonRefresher);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonRefresher, [{\n type: Component,\n args: [{\n selector: 'ion-refresher',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['closeDuration', 'disabled', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonRefresherContent = class IonRefresherContent {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonRefresherContent.ɵfac = function IonRefresherContent_Factory(t) {\n return new (t || IonRefresherContent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonRefresherContent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonRefresherContent,\n selectors: [[\"ion-refresher-content\"]],\n inputs: {\n pullingIcon: \"pullingIcon\",\n pullingText: \"pullingText\",\n refreshingSpinner: \"refreshingSpinner\",\n refreshingText: \"refreshingText\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonRefresherContent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonRefresherContent = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText']\n})], IonRefresherContent);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonRefresherContent, [{\n type: Component,\n args: [{\n selector: 'ion-refresher-content',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonReorder = class IonReorder {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonReorder.ɵfac = function IonReorder_Factory(t) {\n return new (t || IonReorder)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonReorder.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonReorder,\n selectors: [[\"ion-reorder\"]],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonReorder_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonReorder = __decorate([ProxyCmp({\n defineCustomElementFn: undefined\n})], IonReorder);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonReorder, [{\n type: Component,\n args: [{\n selector: 'ion-reorder',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonReorderGroup = class IonReorderGroup {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionItemReorder']);\n }\n\n};\n/** @nocollapse */\n\nIonReorderGroup.ɵfac = function IonReorderGroup_Factory(t) {\n return new (t || IonReorderGroup)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonReorderGroup.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonReorderGroup,\n selectors: [[\"ion-reorder-group\"]],\n inputs: {\n disabled: \"disabled\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonReorderGroup_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonReorderGroup = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled'],\n methods: ['complete']\n})], IonReorderGroup);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonReorderGroup, [{\n type: Component,\n args: [{\n selector: 'ion-reorder-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonRippleEffect = class IonRippleEffect {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonRippleEffect.ɵfac = function IonRippleEffect_Factory(t) {\n return new (t || IonRippleEffect)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonRippleEffect.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonRippleEffect,\n selectors: [[\"ion-ripple-effect\"]],\n inputs: {\n type: \"type\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonRippleEffect_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonRippleEffect = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['type'],\n methods: ['addRipple']\n})], IonRippleEffect);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonRippleEffect, [{\n type: Component,\n args: [{\n selector: 'ion-ripple-effect',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['type']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonRow = class IonRow {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonRow.ɵfac = function IonRow_Factory(t) {\n return new (t || IonRow)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonRow.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonRow,\n selectors: [[\"ion-row\"]],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonRow_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonRow = __decorate([ProxyCmp({\n defineCustomElementFn: undefined\n})], IonRow);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonRow, [{\n type: Component,\n args: [{\n selector: 'ion-row',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonSearchbar = class IonSearchbar {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus']);\n }\n\n};\n/** @nocollapse */\n\nIonSearchbar.ɵfac = function IonSearchbar_Factory(t) {\n return new (t || IonSearchbar)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonSearchbar.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonSearchbar,\n selectors: [[\"ion-searchbar\"]],\n inputs: {\n animated: \"animated\",\n autocomplete: \"autocomplete\",\n autocorrect: \"autocorrect\",\n cancelButtonIcon: \"cancelButtonIcon\",\n cancelButtonText: \"cancelButtonText\",\n clearIcon: \"clearIcon\",\n color: \"color\",\n debounce: \"debounce\",\n disabled: \"disabled\",\n enterkeyhint: \"enterkeyhint\",\n inputmode: \"inputmode\",\n mode: \"mode\",\n placeholder: \"placeholder\",\n searchIcon: \"searchIcon\",\n showCancelButton: \"showCancelButton\",\n showClearButton: \"showClearButton\",\n spellcheck: \"spellcheck\",\n type: \"type\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonSearchbar_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonSearchbar = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['animated', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'mode', 'placeholder', 'searchIcon', 'showCancelButton', 'showClearButton', 'spellcheck', 'type', 'value'],\n methods: ['setFocus', 'getInputElement']\n})], IonSearchbar);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonSearchbar, [{\n type: Component,\n args: [{\n selector: 'ion-searchbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['animated', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'mode', 'placeholder', 'searchIcon', 'showCancelButton', 'showClearButton', 'spellcheck', 'type', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonSegment = class IonSegment {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange']);\n }\n\n};\n/** @nocollapse */\n\nIonSegment.ɵfac = function IonSegment_Factory(t) {\n return new (t || IonSegment)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonSegment.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonSegment,\n selectors: [[\"ion-segment\"]],\n inputs: {\n color: \"color\",\n disabled: \"disabled\",\n mode: \"mode\",\n scrollable: \"scrollable\",\n selectOnFocus: \"selectOnFocus\",\n swipeGesture: \"swipeGesture\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonSegment_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonSegment = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'disabled', 'mode', 'scrollable', 'selectOnFocus', 'swipeGesture', 'value']\n})], IonSegment);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonSegment, [{\n type: Component,\n args: [{\n selector: 'ion-segment',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'disabled', 'mode', 'scrollable', 'selectOnFocus', 'swipeGesture', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonSegmentButton = class IonSegmentButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonSegmentButton.ɵfac = function IonSegmentButton_Factory(t) {\n return new (t || IonSegmentButton)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonSegmentButton.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonSegmentButton,\n selectors: [[\"ion-segment-button\"]],\n inputs: {\n disabled: \"disabled\",\n layout: \"layout\",\n mode: \"mode\",\n type: \"type\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonSegmentButton_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonSegmentButton = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled', 'layout', 'mode', 'type', 'value']\n})], IonSegmentButton);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonSegmentButton, [{\n type: Component,\n args: [{\n selector: 'ion-segment-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled', 'layout', 'mode', 'type', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonSelect = class IonSelect {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionCancel', 'ionDismiss', 'ionFocus', 'ionBlur']);\n }\n\n};\n/** @nocollapse */\n\nIonSelect.ɵfac = function IonSelect_Factory(t) {\n return new (t || IonSelect)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonSelect.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonSelect,\n selectors: [[\"ion-select\"]],\n inputs: {\n cancelText: \"cancelText\",\n compareWith: \"compareWith\",\n disabled: \"disabled\",\n interface: \"interface\",\n interfaceOptions: \"interfaceOptions\",\n mode: \"mode\",\n multiple: \"multiple\",\n name: \"name\",\n okText: \"okText\",\n placeholder: \"placeholder\",\n selectedText: \"selectedText\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonSelect_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonSelect = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['cancelText', 'compareWith', 'disabled', 'interface', 'interfaceOptions', 'mode', 'multiple', 'name', 'okText', 'placeholder', 'selectedText', 'value'],\n methods: ['open']\n})], IonSelect);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonSelect, [{\n type: Component,\n args: [{\n selector: 'ion-select',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['cancelText', 'compareWith', 'disabled', 'interface', 'interfaceOptions', 'mode', 'multiple', 'name', 'okText', 'placeholder', 'selectedText', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonSelectOption = class IonSelectOption {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonSelectOption.ɵfac = function IonSelectOption_Factory(t) {\n return new (t || IonSelectOption)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonSelectOption.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonSelectOption,\n selectors: [[\"ion-select-option\"]],\n inputs: {\n disabled: \"disabled\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonSelectOption_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonSelectOption = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled', 'value']\n})], IonSelectOption);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonSelectOption, [{\n type: Component,\n args: [{\n selector: 'ion-select-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonSkeletonText = class IonSkeletonText {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonSkeletonText.ɵfac = function IonSkeletonText_Factory(t) {\n return new (t || IonSkeletonText)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonSkeletonText.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonSkeletonText,\n selectors: [[\"ion-skeleton-text\"]],\n inputs: {\n animated: \"animated\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonSkeletonText_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonSkeletonText = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['animated']\n})], IonSkeletonText);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonSkeletonText, [{\n type: Component,\n args: [{\n selector: 'ion-skeleton-text',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['animated']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonSlide = class IonSlide {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonSlide.ɵfac = function IonSlide_Factory(t) {\n return new (t || IonSlide)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonSlide.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonSlide,\n selectors: [[\"ion-slide\"]],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonSlide_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonSlide = __decorate([ProxyCmp({\n defineCustomElementFn: undefined\n})], IonSlide);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonSlide, [{\n type: Component,\n args: [{\n selector: 'ion-slide',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonSlides = class IonSlides {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionSlidesDidLoad', 'ionSlideTap', 'ionSlideDoubleTap', 'ionSlideWillChange', 'ionSlideDidChange', 'ionSlideNextStart', 'ionSlidePrevStart', 'ionSlideNextEnd', 'ionSlidePrevEnd', 'ionSlideTransitionStart', 'ionSlideTransitionEnd', 'ionSlideDrag', 'ionSlideReachStart', 'ionSlideReachEnd', 'ionSlideTouchStart', 'ionSlideTouchEnd']);\n }\n\n};\n/** @nocollapse */\n\nIonSlides.ɵfac = function IonSlides_Factory(t) {\n return new (t || IonSlides)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonSlides.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonSlides,\n selectors: [[\"ion-slides\"]],\n inputs: {\n mode: \"mode\",\n options: \"options\",\n pager: \"pager\",\n scrollbar: \"scrollbar\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonSlides_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonSlides = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['mode', 'options', 'pager', 'scrollbar'],\n methods: ['update', 'updateAutoHeight', 'slideTo', 'slideNext', 'slidePrev', 'getActiveIndex', 'getPreviousIndex', 'length', 'isEnd', 'isBeginning', 'startAutoplay', 'stopAutoplay', 'lockSwipeToNext', 'lockSwipeToPrev', 'lockSwipes', 'getSwiper']\n})], IonSlides);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonSlides, [{\n type: Component,\n args: [{\n selector: 'ion-slides',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['mode', 'options', 'pager', 'scrollbar']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonSpinner = class IonSpinner {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonSpinner.ɵfac = function IonSpinner_Factory(t) {\n return new (t || IonSpinner)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonSpinner.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonSpinner,\n selectors: [[\"ion-spinner\"]],\n inputs: {\n color: \"color\",\n duration: \"duration\",\n name: \"name\",\n paused: \"paused\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonSpinner_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonSpinner = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'duration', 'name', 'paused']\n})], IonSpinner);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonSpinner, [{\n type: Component,\n args: [{\n selector: 'ion-spinner',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'duration', 'name', 'paused']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonSplitPane = class IonSplitPane {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionSplitPaneVisible']);\n }\n\n};\n/** @nocollapse */\n\nIonSplitPane.ɵfac = function IonSplitPane_Factory(t) {\n return new (t || IonSplitPane)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonSplitPane.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonSplitPane,\n selectors: [[\"ion-split-pane\"]],\n inputs: {\n contentId: \"contentId\",\n disabled: \"disabled\",\n when: \"when\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonSplitPane_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonSplitPane = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['contentId', 'disabled', 'when']\n})], IonSplitPane);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonSplitPane, [{\n type: Component,\n args: [{\n selector: 'ion-split-pane',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['contentId', 'disabled', 'when']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonTabBar = class IonTabBar {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonTabBar.ɵfac = function IonTabBar_Factory(t) {\n return new (t || IonTabBar)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonTabBar.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonTabBar,\n selectors: [[\"ion-tab-bar\"]],\n inputs: {\n color: \"color\",\n mode: \"mode\",\n selectedTab: \"selectedTab\",\n translucent: \"translucent\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonTabBar_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonTabBar = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode', 'selectedTab', 'translucent']\n})], IonTabBar);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonTabBar, [{\n type: Component,\n args: [{\n selector: 'ion-tab-bar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode', 'selectedTab', 'translucent']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonTabButton = class IonTabButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonTabButton.ɵfac = function IonTabButton_Factory(t) {\n return new (t || IonTabButton)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonTabButton.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonTabButton,\n selectors: [[\"ion-tab-button\"]],\n inputs: {\n disabled: \"disabled\",\n download: \"download\",\n href: \"href\",\n layout: \"layout\",\n mode: \"mode\",\n rel: \"rel\",\n selected: \"selected\",\n tab: \"tab\",\n target: \"target\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonTabButton_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonTabButton = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target']\n})], IonTabButton);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonTabButton, [{\n type: Component,\n args: [{\n selector: 'ion-tab-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonText = class IonText {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonText.ɵfac = function IonText_Factory(t) {\n return new (t || IonText)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonText.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonText,\n selectors: [[\"ion-text\"]],\n inputs: {\n color: \"color\",\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonText_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonText = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n})], IonText);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonText, [{\n type: Component,\n args: [{\n selector: 'ion-text',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonTextarea = class IonTextarea {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionBlur', 'ionFocus']);\n }\n\n};\n/** @nocollapse */\n\nIonTextarea.ɵfac = function IonTextarea_Factory(t) {\n return new (t || IonTextarea)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonTextarea.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonTextarea,\n selectors: [[\"ion-textarea\"]],\n inputs: {\n autoGrow: \"autoGrow\",\n autocapitalize: \"autocapitalize\",\n autofocus: \"autofocus\",\n clearOnEdit: \"clearOnEdit\",\n color: \"color\",\n cols: \"cols\",\n debounce: \"debounce\",\n disabled: \"disabled\",\n enterkeyhint: \"enterkeyhint\",\n inputmode: \"inputmode\",\n maxlength: \"maxlength\",\n minlength: \"minlength\",\n mode: \"mode\",\n name: \"name\",\n placeholder: \"placeholder\",\n readonly: \"readonly\",\n required: \"required\",\n rows: \"rows\",\n spellcheck: \"spellcheck\",\n value: \"value\",\n wrap: \"wrap\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonTextarea_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonTextarea = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'readonly', 'required', 'rows', 'spellcheck', 'value', 'wrap'],\n methods: ['setFocus', 'getInputElement']\n})], IonTextarea);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonTextarea, [{\n type: Component,\n args: [{\n selector: 'ion-textarea',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'readonly', 'required', 'rows', 'spellcheck', 'value', 'wrap']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonThumbnail = class IonThumbnail {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonThumbnail.ɵfac = function IonThumbnail_Factory(t) {\n return new (t || IonThumbnail)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonThumbnail.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonThumbnail,\n selectors: [[\"ion-thumbnail\"]],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonThumbnail_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonThumbnail = __decorate([ProxyCmp({\n defineCustomElementFn: undefined\n})], IonThumbnail);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonThumbnail, [{\n type: Component,\n args: [{\n selector: 'ion-thumbnail',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonTitle = class IonTitle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonTitle.ɵfac = function IonTitle_Factory(t) {\n return new (t || IonTitle)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonTitle.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonTitle,\n selectors: [[\"ion-title\"]],\n inputs: {\n color: \"color\",\n size: \"size\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonTitle_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonTitle = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'size']\n})], IonTitle);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonTitle, [{\n type: Component,\n args: [{\n selector: 'ion-title',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'size']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonToggle = class IonToggle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);\n }\n\n};\n/** @nocollapse */\n\nIonToggle.ɵfac = function IonToggle_Factory(t) {\n return new (t || IonToggle)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonToggle.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonToggle,\n selectors: [[\"ion-toggle\"]],\n inputs: {\n checked: \"checked\",\n color: \"color\",\n disabled: \"disabled\",\n enableOnOffLabels: \"enableOnOffLabels\",\n mode: \"mode\",\n name: \"name\",\n value: \"value\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonToggle_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonToggle = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['checked', 'color', 'disabled', 'enableOnOffLabels', 'mode', 'name', 'value']\n})], IonToggle);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonToggle, [{\n type: Component,\n args: [{\n selector: 'ion-toggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['checked', 'color', 'disabled', 'enableOnOffLabels', 'mode', 'name', 'value']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nlet IonToolbar = class IonToolbar {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n\n};\n/** @nocollapse */\n\nIonToolbar.ɵfac = function IonToolbar_Factory(t) {\n return new (t || IonToolbar)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonToolbar.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonToolbar,\n selectors: [[\"ion-toolbar\"]],\n inputs: {\n color: \"color\",\n mode: \"mode\"\n },\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonToolbar_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonToolbar = __decorate([ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n})], IonToolbar);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonToolbar, [{\n type: Component,\n args: [{\n selector: 'ion-toolbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n/**\n * @description\n * NavParams are an object that exists on a page and can contain data for that particular view.\n * Similar to how data was pass to a view in V1 with `$stateParams`, NavParams offer a much more flexible\n * option with a simple `get` method.\n *\n * @usage\n * ```ts\n * import { NavParams } from '@ionic/angular';\n *\n * export class MyClass{\n *\n * constructor(navParams: NavParams){\n * // userParams is an object we have in our nav-parameters\n * navParams.get('userParams');\n * }\n *\n * }\n * ```\n */\n\n\nclass NavParams {\n constructor(data = {}) {\n this.data = data;\n }\n /**\n * Get the value of a nav-parameter for the current view\n *\n * ```ts\n * import { NavParams } from 'ionic-angular';\n *\n * export class MyClass{\n * constructor(public navParams: NavParams){\n * // userParams is an object we have in our nav-parameters\n * this.navParams.get('userParams');\n * }\n * }\n * ```\n *\n * @param param Which param you want to look up\n */\n\n\n get(param) {\n return this.data[param];\n }\n\n}\n\nclass AngularDelegate {\n constructor(zone, appRef) {\n this.zone = zone;\n this.appRef = appRef;\n }\n\n create(resolverOrInjector, injector, location) {\n return new AngularFrameworkDelegate(resolverOrInjector, injector, location, this.appRef, this.zone);\n }\n\n}\n/** @nocollapse */\n\n\nAngularDelegate.ɵfac = function AngularDelegate_Factory(t) {\n return new (t || AngularDelegate)(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i0.ApplicationRef));\n};\n/** @nocollapse */\n\n\nAngularDelegate.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AngularDelegate,\n factory: AngularDelegate.ɵfac\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AngularDelegate, [{\n type: Injectable\n }], function () {\n return [{\n type: i0.NgZone\n }, {\n type: i0.ApplicationRef\n }];\n }, null);\n})();\n\nclass AngularFrameworkDelegate {\n constructor(resolverOrInjector, injector, location, appRef, zone) {\n this.resolverOrInjector = resolverOrInjector;\n this.injector = injector;\n this.location = location;\n this.appRef = appRef;\n this.zone = zone;\n this.elRefMap = new WeakMap();\n this.elEventsMap = new WeakMap();\n }\n\n attachViewToDom(container, component, params, cssClasses) {\n return this.zone.run(() => {\n return new Promise(resolve => {\n const el = attachView(this.zone, this.resolverOrInjector, this.injector, this.location, this.appRef, this.elRefMap, this.elEventsMap, container, component, params, cssClasses);\n resolve(el);\n });\n });\n }\n\n removeViewFromDom(_container, component) {\n return this.zone.run(() => {\n return new Promise(resolve => {\n const componentRef = this.elRefMap.get(component);\n\n if (componentRef) {\n componentRef.destroy();\n this.elRefMap.delete(component);\n const unbindEvents = this.elEventsMap.get(component);\n\n if (unbindEvents) {\n unbindEvents();\n this.elEventsMap.delete(component);\n }\n }\n\n resolve();\n });\n });\n }\n\n}\n\nconst attachView = (zone, resolverOrInjector, injector, location, appRef, elRefMap, elEventsMap, container, component, params, cssClasses) => {\n let componentRef;\n const childInjector = Injector.create({\n providers: getProviders(params),\n parent: injector\n });\n\n if (resolverOrInjector && isComponentFactoryResolver(resolverOrInjector)) {\n // Angular 13 and lower\n const factory = resolverOrInjector.resolveComponentFactory(component);\n componentRef = location ? location.createComponent(factory, location.length, childInjector) : factory.create(childInjector);\n } else if (location) {\n // Angular 14\n const environmentInjector = resolverOrInjector;\n componentRef = location.createComponent(component, {\n index: location.indexOf,\n injector: childInjector,\n environmentInjector\n });\n } else {\n return null;\n }\n\n const instance = componentRef.instance;\n const hostElement = componentRef.location.nativeElement;\n\n if (params) {\n Object.assign(instance, params);\n }\n\n if (cssClasses) {\n for (const clazz of cssClasses) {\n hostElement.classList.add(clazz);\n }\n }\n\n const unbindEvents = bindLifecycleEvents(zone, instance, hostElement);\n container.appendChild(hostElement);\n\n if (!location) {\n appRef.attachView(componentRef.hostView);\n }\n\n componentRef.changeDetectorRef.reattach();\n elRefMap.set(hostElement, componentRef);\n elEventsMap.set(hostElement, unbindEvents);\n return hostElement;\n};\n\nconst LIFECYCLES = [LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_UNLOAD];\n\nconst bindLifecycleEvents = (zone, instance, element) => {\n return zone.run(() => {\n const unregisters = LIFECYCLES.filter(eventName => typeof instance[eventName] === 'function').map(eventName => {\n const handler = ev => instance[eventName](ev.detail);\n\n element.addEventListener(eventName, handler);\n return () => element.removeEventListener(eventName, handler);\n });\n return () => unregisters.forEach(fn => fn());\n });\n};\n\nconst NavParamsToken = new InjectionToken('NavParamsToken');\n\nconst getProviders = params => {\n return [{\n provide: NavParamsToken,\n useValue: params\n }, {\n provide: NavParams,\n useFactory: provideNavParamsInjectable,\n deps: [NavParamsToken]\n }];\n};\n\nconst provideNavParamsInjectable = params => {\n return new NavParams(params);\n};\n\nconst insertView = (views, view, direction) => {\n if (direction === 'root') {\n return setRoot(views, view);\n } else if (direction === 'forward') {\n return setForward(views, view);\n } else {\n return setBack(views, view);\n }\n};\n\nconst setRoot = (views, view) => {\n views = views.filter(v => v.stackId !== view.stackId);\n views.push(view);\n return views;\n};\n\nconst setForward = (views, view) => {\n const index = views.indexOf(view);\n\n if (index >= 0) {\n views = views.filter(v => v.stackId !== view.stackId || v.id <= view.id);\n } else {\n views.push(view);\n }\n\n return views;\n};\n\nconst setBack = (views, view) => {\n const index = views.indexOf(view);\n\n if (index >= 0) {\n return views.filter(v => v.stackId !== view.stackId || v.id <= view.id);\n } else {\n return setRoot(views, view);\n }\n};\n\nconst getUrl = (router, activatedRoute) => {\n const urlTree = router.createUrlTree(['.'], {\n relativeTo: activatedRoute\n });\n return router.serializeUrl(urlTree);\n};\n\nconst isTabSwitch = (enteringView, leavingView) => {\n if (!leavingView) {\n return true;\n }\n\n return enteringView.stackId !== leavingView.stackId;\n};\n\nconst computeStackId = (prefixUrl, url) => {\n if (!prefixUrl) {\n return undefined;\n }\n\n const segments = toSegments(url);\n\n for (let i = 0; i < segments.length; i++) {\n if (i >= prefixUrl.length) {\n return segments[i];\n }\n\n if (segments[i] !== prefixUrl[i]) {\n return undefined;\n }\n }\n\n return undefined;\n};\n\nconst toSegments = path => {\n return path.split('/').map(s => s.trim()).filter(s => s !== '');\n};\n\nconst destroyView = view => {\n if (view) {\n // TODO lifecycle event\n view.ref.destroy();\n view.unlistenEvents();\n }\n};\n\nclass StackController {\n constructor(tabsPrefix, containerEl, router, navCtrl, zone, location) {\n this.containerEl = containerEl;\n this.router = router;\n this.navCtrl = navCtrl;\n this.zone = zone;\n this.location = location;\n this.views = [];\n this.skipTransition = false;\n this.nextId = 0;\n this.tabsPrefix = tabsPrefix !== undefined ? toSegments(tabsPrefix) : undefined;\n }\n\n createView(ref, activatedRoute) {\n var _a;\n\n const url = getUrl(this.router, activatedRoute);\n const element = (_a = ref === null || ref === void 0 ? void 0 : ref.location) === null || _a === void 0 ? void 0 : _a.nativeElement;\n const unlistenEvents = bindLifecycleEvents(this.zone, ref.instance, element);\n return {\n id: this.nextId++,\n stackId: computeStackId(this.tabsPrefix, url),\n unlistenEvents,\n element,\n ref,\n url\n };\n }\n\n getExistingView(activatedRoute) {\n const activatedUrlKey = getUrl(this.router, activatedRoute);\n const view = this.views.find(vw => vw.url === activatedUrlKey);\n\n if (view) {\n view.ref.changeDetectorRef.reattach();\n }\n\n return view;\n }\n\n setActive(enteringView) {\n var _a, _b;\n\n const consumeResult = this.navCtrl.consumeTransition();\n let {\n direction,\n animation,\n animationBuilder\n } = consumeResult;\n const leavingView = this.activeView;\n const tabSwitch = isTabSwitch(enteringView, leavingView);\n\n if (tabSwitch) {\n direction = 'back';\n animation = undefined;\n }\n\n const viewsSnapshot = this.views.slice();\n let currentNavigation;\n const router = this.router; // Angular >= 7.2.0\n\n if (router.getCurrentNavigation) {\n currentNavigation = router.getCurrentNavigation(); // Angular < 7.2.0\n } else if ((_a = router.navigations) === null || _a === void 0 ? void 0 : _a.value) {\n currentNavigation = router.navigations.value;\n }\n /**\n * If the navigation action\n * sets `replaceUrl: true`\n * then we need to make sure\n * we remove the last item\n * from our views stack\n */\n\n\n if ((_b = currentNavigation === null || currentNavigation === void 0 ? void 0 : currentNavigation.extras) === null || _b === void 0 ? void 0 : _b.replaceUrl) {\n if (this.views.length > 0) {\n this.views.splice(-1, 1);\n }\n }\n\n const reused = this.views.includes(enteringView);\n const views = this.insertView(enteringView, direction); // Trigger change detection before transition starts\n // This will call ngOnInit() the first time too, just after the view\n // was attached to the dom, but BEFORE the transition starts\n\n if (!reused) {\n enteringView.ref.changeDetectorRef.detectChanges();\n }\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\n\n const customAnimation = enteringView.animationBuilder;\n\n if (animationBuilder === undefined && direction === 'back' && !tabSwitch && customAnimation !== undefined) {\n animationBuilder = customAnimation;\n }\n /**\n * Save any custom animation so that navigating\n * back will use this custom animation by default.\n */\n\n\n if (leavingView) {\n leavingView.animationBuilder = animationBuilder;\n } // Wait until previous transitions finish\n\n\n return this.zone.runOutsideAngular(() => {\n return this.wait(() => {\n // disconnect leaving page from change detection to\n // reduce jank during the page transition\n if (leavingView) {\n leavingView.ref.changeDetectorRef.detach();\n } // In case the enteringView is the same as the leavingPage we need to reattach()\n\n\n enteringView.ref.changeDetectorRef.reattach();\n return this.transition(enteringView, leavingView, animation, this.canGoBack(1), false, animationBuilder).then(() => cleanupAsync(enteringView, views, viewsSnapshot, this.location, this.zone)).then(() => ({\n enteringView,\n direction,\n animation,\n tabSwitch\n }));\n });\n });\n }\n\n canGoBack(deep, stackId = this.getActiveStackId()) {\n return this.getStack(stackId).length > deep;\n }\n\n pop(deep, stackId = this.getActiveStackId()) {\n return this.zone.run(() => {\n var _a, _b;\n\n const views = this.getStack(stackId);\n\n if (views.length <= deep) {\n return Promise.resolve(false);\n }\n\n const view = views[views.length - deep - 1];\n let url = view.url;\n const viewSavedData = view.savedData;\n\n if (viewSavedData) {\n const primaryOutlet = viewSavedData.get('primary');\n\n if ((_b = (_a = primaryOutlet === null || primaryOutlet === void 0 ? void 0 : primaryOutlet.route) === null || _a === void 0 ? void 0 : _a._routerState) === null || _b === void 0 ? void 0 : _b.snapshot.url) {\n url = primaryOutlet.route._routerState.snapshot.url;\n }\n }\n\n const {\n animationBuilder\n } = this.navCtrl.consumeTransition();\n return this.navCtrl.navigateBack(url, Object.assign(Object.assign({}, view.savedExtras), {\n animation: animationBuilder\n })).then(() => true);\n });\n }\n\n startBackTransition() {\n const leavingView = this.activeView;\n\n if (leavingView) {\n const views = this.getStack(leavingView.stackId);\n const enteringView = views[views.length - 2];\n const customAnimation = enteringView.animationBuilder;\n return this.wait(() => {\n return this.transition(enteringView, // entering view\n leavingView, // leaving view\n 'back', this.canGoBack(2), true, customAnimation);\n });\n }\n\n return Promise.resolve();\n }\n\n endBackTransition(shouldComplete) {\n if (shouldComplete) {\n this.skipTransition = true;\n this.pop(1);\n } else if (this.activeView) {\n cleanup(this.activeView, this.views, this.views, this.location, this.zone);\n }\n }\n\n getLastUrl(stackId) {\n const views = this.getStack(stackId);\n return views.length > 0 ? views[views.length - 1] : undefined;\n }\n /**\n * @internal\n */\n\n\n getRootUrl(stackId) {\n const views = this.getStack(stackId);\n return views.length > 0 ? views[0] : undefined;\n }\n\n getActiveStackId() {\n return this.activeView ? this.activeView.stackId : undefined;\n }\n\n hasRunningTask() {\n return this.runningTask !== undefined;\n }\n\n destroy() {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.containerEl = undefined;\n this.views.forEach(destroyView);\n this.activeView = undefined;\n this.views = [];\n }\n\n getStack(stackId) {\n return this.views.filter(v => v.stackId === stackId);\n }\n\n insertView(enteringView, direction) {\n this.activeView = enteringView;\n this.views = insertView(this.views, enteringView, direction);\n return this.views.slice();\n }\n\n transition(enteringView, leavingView, direction, showGoBack, progressAnimation, animationBuilder) {\n if (this.skipTransition) {\n this.skipTransition = false;\n return Promise.resolve(false);\n }\n\n if (leavingView === enteringView) {\n return Promise.resolve(false);\n }\n\n const enteringEl = enteringView ? enteringView.element : undefined;\n const leavingEl = leavingView ? leavingView.element : undefined;\n const containerEl = this.containerEl;\n\n if (enteringEl && enteringEl !== leavingEl) {\n enteringEl.classList.add('ion-page');\n enteringEl.classList.add('ion-page-invisible');\n\n if (enteringEl.parentElement !== containerEl) {\n containerEl.appendChild(enteringEl);\n }\n\n if (containerEl.commit) {\n return containerEl.commit(enteringEl, leavingEl, {\n deepWait: true,\n duration: direction === undefined ? 0 : undefined,\n direction,\n showGoBack,\n progressAnimation,\n animationBuilder\n });\n }\n }\n\n return Promise.resolve(false);\n }\n\n wait(task) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.runningTask !== undefined) {\n yield this.runningTask;\n this.runningTask = undefined;\n }\n\n const promise = this.runningTask = task();\n promise.finally(() => this.runningTask = undefined);\n return promise;\n });\n }\n\n}\n\nconst cleanupAsync = (activeRoute, views, viewsSnapshot, location, zone) => {\n if (typeof requestAnimationFrame === 'function') {\n return new Promise(resolve => {\n requestAnimationFrame(() => {\n cleanup(activeRoute, views, viewsSnapshot, location, zone);\n resolve();\n });\n });\n }\n\n return Promise.resolve();\n};\n\nconst cleanup = (activeRoute, views, viewsSnapshot, location, zone) => {\n /**\n * Re-enter the Angular zone when destroying page components. This will allow\n * lifecycle events (`ngOnDestroy`) to be run inside the Angular zone.\n */\n zone.run(() => viewsSnapshot.filter(view => !views.includes(view)).forEach(destroyView));\n views.forEach(view => {\n /**\n * In the event that a user navigated multiple\n * times in rapid succession, we want to make sure\n * we don't pre-emptively detach a view while\n * it is in mid-transition.\n *\n * In this instance we also do not care about query\n * params or fragments as it will be the same view regardless\n */\n const locationWithoutParams = location.path().split('?')[0];\n const locationWithoutFragment = locationWithoutParams.split('#')[0];\n\n if (view !== activeRoute && view.url !== locationWithoutFragment) {\n const element = view.element;\n element.setAttribute('aria-hidden', 'true');\n element.classList.add('ion-page-hidden');\n view.ref.changeDetectorRef.detach();\n }\n });\n};\n\nclass Config {\n get(key, fallback) {\n const c = getConfig();\n\n if (c) {\n return c.get(key, fallback);\n }\n\n return null;\n }\n\n getBoolean(key, fallback) {\n const c = getConfig();\n\n if (c) {\n return c.getBoolean(key, fallback);\n }\n\n return false;\n }\n\n getNumber(key, fallback) {\n const c = getConfig();\n\n if (c) {\n return c.getNumber(key, fallback);\n }\n\n return 0;\n }\n\n}\n/** @nocollapse */\n\n\nConfig.ɵfac = function Config_Factory(t) {\n return new (t || Config)();\n};\n/** @nocollapse */\n\n\nConfig.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: Config,\n factory: Config.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(Config, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], null, null);\n})();\n\nconst ConfigToken = new InjectionToken('USERCONFIG');\n\nconst getConfig = () => {\n if (typeof window !== 'undefined') {\n const Ionic = window.Ionic;\n\n if (Ionic === null || Ionic === void 0 ? void 0 : Ionic.config) {\n return Ionic.config;\n }\n }\n\n return null;\n};\n\nclass Platform {\n constructor(doc, zone) {\n this.doc = doc;\n /**\n * @hidden\n */\n\n this.backButton = new Subject();\n /**\n * The keyboardDidShow event emits when the\n * on-screen keyboard is presented.\n */\n\n this.keyboardDidShow = new Subject();\n /**\n * The keyboardDidHide event emits when the\n * on-screen keyboard is hidden.\n */\n\n this.keyboardDidHide = new Subject();\n /**\n * The pause event emits when the native platform puts the application\n * into the background, typically when the user switches to a different\n * application. This event would emit when a Cordova app is put into\n * the background, however, it would not fire on a standard web browser.\n */\n\n this.pause = new Subject();\n /**\n * The resume event emits when the native platform pulls the application\n * out from the background. This event would emit when a Cordova app comes\n * out from the background, however, it would not fire on a standard web browser.\n */\n\n this.resume = new Subject();\n /**\n * The resize event emits when the browser window has changed dimensions. This\n * could be from a browser window being physically resized, or from a device\n * changing orientation.\n */\n\n this.resize = new Subject();\n zone.run(() => {\n var _a;\n\n this.win = doc.defaultView;\n\n this.backButton.subscribeWithPriority = function (priority, callback) {\n return this.subscribe(ev => {\n return ev.register(priority, processNextHandler => zone.run(() => callback(processNextHandler)));\n });\n };\n\n proxyEvent(this.pause, doc, 'pause');\n proxyEvent(this.resume, doc, 'resume');\n proxyEvent(this.backButton, doc, 'ionBackButton');\n proxyEvent(this.resize, this.win, 'resize');\n proxyEvent(this.keyboardDidShow, this.win, 'ionKeyboardDidShow');\n proxyEvent(this.keyboardDidHide, this.win, 'ionKeyboardDidHide');\n let readyResolve;\n this._readyPromise = new Promise(res => {\n readyResolve = res;\n });\n\n if ((_a = this.win) === null || _a === void 0 ? void 0 : _a['cordova']) {\n doc.addEventListener('deviceready', () => {\n readyResolve('cordova');\n }, {\n once: true\n });\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n readyResolve('dom');\n }\n });\n }\n /**\n * @returns returns true/false based on platform.\n * @description\n * Depending on the platform the user is on, `is(platformName)` will\n * return `true` or `false`. Note that the same app can return `true`\n * for more than one platform name. For example, an app running from\n * an iPad would return `true` for the platform names: `mobile`,\n * `ios`, `ipad`, and `tablet`. Additionally, if the app was running\n * from Cordova then `cordova` would be true, and if it was running\n * from a web browser on the iPad then `mobileweb` would be `true`.\n *\n * ```\n * import { Platform } from 'ionic-angular';\n *\n * @Component({...})\n * export MyPage {\n * constructor(public platform: Platform) {\n * if (this.platform.is('ios')) {\n * // This will only print when on iOS\n * console.log('I am an iOS device!');\n * }\n * }\n * }\n * ```\n *\n * | Platform Name | Description |\n * |-----------------|------------------------------------|\n * | android | on a device running Android. |\n * | capacitor | on a device running Capacitor. |\n * | cordova | on a device running Cordova. |\n * | ios | on a device running iOS. |\n * | ipad | on an iPad device. |\n * | iphone | on an iPhone device. |\n * | phablet | on a phablet device. |\n * | tablet | on a tablet device. |\n * | electron | in Electron on a desktop device. |\n * | pwa | as a PWA app. |\n * | mobile | on a mobile device. |\n * | mobileweb | on a mobile device in a browser. |\n * | desktop | on a desktop device. |\n * | hybrid | is a cordova or capacitor app. |\n *\n */\n\n\n is(platformName) {\n return isPlatform(this.win, platformName);\n }\n /**\n * @returns the array of platforms\n * @description\n * Depending on what device you are on, `platforms` can return multiple values.\n * Each possible value is a hierarchy of platforms. For example, on an iPhone,\n * it would return `mobile`, `ios`, and `iphone`.\n *\n * ```\n * import { Platform } from 'ionic-angular';\n *\n * @Component({...})\n * export MyPage {\n * constructor(public platform: Platform) {\n * // This will print an array of the current platforms\n * console.log(this.platform.platforms());\n * }\n * }\n * ```\n */\n\n\n platforms() {\n return getPlatforms(this.win);\n }\n /**\n * Returns a promise when the platform is ready and native functionality\n * can be called. If the app is running from within a web browser, then\n * the promise will resolve when the DOM is ready. When the app is running\n * from an application engine such as Cordova, then the promise will\n * resolve when Cordova triggers the `deviceready` event.\n *\n * The resolved value is the `readySource`, which states which platform\n * ready was used. For example, when Cordova is ready, the resolved ready\n * source is `cordova`. The default ready source value will be `dom`. The\n * `readySource` is useful if different logic should run depending on the\n * platform the app is running from. For example, only Cordova can execute\n * the status bar plugin, so the web should not run status bar plugin logic.\n *\n * ```\n * import { Component } from '@angular/core';\n * import { Platform } from 'ionic-angular';\n *\n * @Component({...})\n * export MyApp {\n * constructor(public platform: Platform) {\n * this.platform.ready().then((readySource) => {\n * console.log('Platform ready from', readySource);\n * // Platform now ready, execute any required native code\n * });\n * }\n * }\n * ```\n */\n\n\n ready() {\n return this._readyPromise;\n }\n /**\n * Returns if this app is using right-to-left language direction or not.\n * We recommend the app's `index.html` file already has the correct `dir`\n * attribute value set, such as `<html dir=\"ltr\">` or `<html dir=\"rtl\">`.\n * [W3C: Structural markup and right-to-left text in HTML](http://www.w3.org/International/questions/qa-html-dir)\n */\n\n\n get isRTL() {\n return this.doc.dir === 'rtl';\n }\n /**\n * Get the query string parameter\n */\n\n\n getQueryParam(key) {\n return readQueryParam(this.win.location.href, key);\n }\n /**\n * Returns `true` if the app is in landscape mode.\n */\n\n\n isLandscape() {\n return !this.isPortrait();\n }\n /**\n * Returns `true` if the app is in portrait mode.\n */\n\n\n isPortrait() {\n var _a, _b;\n\n return (_b = (_a = this.win).matchMedia) === null || _b === void 0 ? void 0 : _b.call(_a, '(orientation: portrait)').matches;\n }\n\n testUserAgent(expression) {\n const nav = this.win.navigator;\n return !!((nav === null || nav === void 0 ? void 0 : nav.userAgent) && nav.userAgent.indexOf(expression) >= 0);\n }\n /**\n * Get the current url.\n */\n\n\n url() {\n return this.win.location.href;\n }\n /**\n * Gets the width of the platform's viewport using `window.innerWidth`.\n */\n\n\n width() {\n return this.win.innerWidth;\n }\n /**\n * Gets the height of the platform's viewport using `window.innerHeight`.\n */\n\n\n height() {\n return this.win.innerHeight;\n }\n\n}\n/** @nocollapse */\n\n\nPlatform.ɵfac = function Platform_Factory(t) {\n return new (t || Platform)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nPlatform.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: Platform,\n factory: Platform.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(Platform, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () {\n return [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i0.NgZone\n }];\n }, null);\n})();\n\nconst readQueryParam = (url, key) => {\n key = key.replace(/[[\\]\\\\]/g, '\\\\$&');\n const regex = new RegExp('[\\\\?&]' + key + '=([^&#]*)');\n const results = regex.exec(url);\n return results ? decodeURIComponent(results[1].replace(/\\+/g, ' ')) : null;\n};\n\nconst proxyEvent = (emitter, el, eventName) => {\n if (el) {\n el.addEventListener(eventName, ev => {\n // ?? cordova might emit \"null\" events\n emitter.next(ev != null ? ev.detail : undefined);\n });\n }\n};\n\nclass NavController {\n constructor(platform, location, serializer, router) {\n this.location = location;\n this.serializer = serializer;\n this.router = router;\n this.direction = DEFAULT_DIRECTION;\n this.animated = DEFAULT_ANIMATED;\n this.guessDirection = 'forward';\n this.lastNavId = -1; // Subscribe to router events to detect direction\n\n if (router) {\n router.events.subscribe(ev => {\n if (ev instanceof NavigationStart) {\n const id = ev.restoredState ? ev.restoredState.navigationId : ev.id;\n this.guessDirection = id < this.lastNavId ? 'back' : 'forward';\n this.guessAnimation = !ev.restoredState ? this.guessDirection : undefined;\n this.lastNavId = this.guessDirection === 'forward' ? ev.id : id;\n }\n });\n } // Subscribe to backButton events\n\n\n platform.backButton.subscribeWithPriority(0, processNextHandler => {\n this.pop();\n processNextHandler();\n });\n }\n /**\n * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,\n * it's equivalent to calling `this.router.navigateByUrl()`, but it's explicit about the **direction** of the transition.\n *\n * Going **forward** means that a new page is going to be pushed to the stack of the outlet (ion-router-outlet),\n * and that it will show a \"forward\" animation by default.\n *\n * Navigating forward can also be triggered in a declarative manner by using the `[routerDirection]` directive:\n *\n * ```html\n * <a routerLink=\"/path/to/page\" routerDirection=\"forward\">Link</a>\n * ```\n */\n\n\n navigateForward(url, options = {}) {\n this.setDirection('forward', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\n }\n /**\n * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,\n * it's equivalent to calling:\n *\n * ```ts\n * this.navController.setDirection('back');\n * this.router.navigateByUrl(path);\n * ```\n *\n * Going **back** means that all the pages in the stack until the navigated page is found will be popped,\n * and that it will show a \"back\" animation by default.\n *\n * Navigating back can also be triggered in a declarative manner by using the `[routerDirection]` directive:\n *\n * ```html\n * <a routerLink=\"/path/to/page\" routerDirection=\"back\">Link</a>\n * ```\n */\n\n\n navigateBack(url, options = {}) {\n this.setDirection('back', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\n }\n /**\n * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,\n * it's equivalent to calling:\n *\n * ```ts\n * this.navController.setDirection('root');\n * this.router.navigateByUrl(path);\n * ```\n *\n * Going **root** means that all existing pages in the stack will be removed,\n * and the navigated page will become the single page in the stack.\n *\n * Navigating root can also be triggered in a declarative manner by using the `[routerDirection]` directive:\n *\n * ```html\n * <a routerLink=\"/path/to/page\" routerDirection=\"root\">Link</a>\n * ```\n */\n\n\n navigateRoot(url, options = {}) {\n this.setDirection('root', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\n }\n /**\n * Same as [Location](https://angular.io/api/common/Location)'s back() method.\n * It will use the standard `window.history.back()` under the hood, but featuring a `back` animation\n * by default.\n */\n\n\n back(options = {\n animated: true,\n animationDirection: 'back'\n }) {\n this.setDirection('back', options.animated, options.animationDirection, options.animation);\n return this.location.back();\n }\n /**\n * This methods goes back in the context of Ionic's stack navigation.\n *\n * It recursively finds the top active `ion-router-outlet` and calls `pop()`.\n * This is the recommended way to go back when you are using `ion-router-outlet`.\n */\n\n\n pop() {\n return __awaiter(this, void 0, void 0, function* () {\n let outlet = this.topOutlet;\n\n while (outlet) {\n if (yield outlet.pop()) {\n break;\n } else {\n outlet = outlet.parentOutlet;\n }\n }\n });\n }\n /**\n * This methods specifies the direction of the next navigation performed by the Angular router.\n *\n * `setDirection()` does not trigger any transition, it just sets some flags to be consumed by `ion-router-outlet`.\n *\n * It's recommended to use `navigateForward()`, `navigateBack()` and `navigateRoot()` instead of `setDirection()`.\n */\n\n\n setDirection(direction, animated, animationDirection, animationBuilder) {\n this.direction = direction;\n this.animated = getAnimation(direction, animated, animationDirection);\n this.animationBuilder = animationBuilder;\n }\n /**\n * @internal\n */\n\n\n setTopOutlet(outlet) {\n this.topOutlet = outlet;\n }\n /**\n * @internal\n */\n\n\n consumeTransition() {\n let direction = 'root';\n let animation;\n const animationBuilder = this.animationBuilder;\n\n if (this.direction === 'auto') {\n direction = this.guessDirection;\n animation = this.guessAnimation;\n } else {\n animation = this.animated;\n direction = this.direction;\n }\n\n this.direction = DEFAULT_DIRECTION;\n this.animated = DEFAULT_ANIMATED;\n this.animationBuilder = undefined;\n return {\n direction,\n animation,\n animationBuilder\n };\n }\n\n navigate(url, options) {\n if (Array.isArray(url)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.router.navigate(url, options);\n } else {\n /**\n * navigateByUrl ignores any properties that\n * would change the url, so things like queryParams\n * would be ignored unless we create a url tree\n * More Info: https://github.com/angular/angular/issues/18798\n */\n const urlTree = this.serializer.parse(url.toString());\n\n if (options.queryParams !== undefined) {\n urlTree.queryParams = Object.assign({}, options.queryParams);\n }\n\n if (options.fragment !== undefined) {\n urlTree.fragment = options.fragment;\n }\n /**\n * `navigateByUrl` will still apply `NavigationExtras` properties\n * that do not modify the url, such as `replaceUrl` which is why\n * `options` is passed in here.\n */\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n\n return this.router.navigateByUrl(urlTree, options);\n }\n }\n\n}\n/** @nocollapse */\n\n\nNavController.ɵfac = function NavController_Factory(t) {\n return new (t || NavController)(i0.ɵɵinject(Platform), i0.ɵɵinject(i1.Location), i0.ɵɵinject(i3.UrlSerializer), i0.ɵɵinject(i3.Router, 8));\n};\n/** @nocollapse */\n\n\nNavController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NavController,\n factory: NavController.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NavController, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () {\n return [{\n type: Platform\n }, {\n type: i1.Location\n }, {\n type: i3.UrlSerializer\n }, {\n type: i3.Router,\n decorators: [{\n type: Optional\n }]\n }];\n }, null);\n})();\n\nconst getAnimation = (direction, animated, animationDirection) => {\n if (animated === false) {\n return undefined;\n }\n\n if (animationDirection !== undefined) {\n return animationDirection;\n }\n\n if (direction === 'forward' || direction === 'back') {\n return direction;\n } else if (direction === 'root' && animated === true) {\n return 'forward';\n }\n\n return undefined;\n};\n\nconst DEFAULT_DIRECTION = 'auto';\nconst DEFAULT_ANIMATED = undefined;\n/**\n * An `Injector` that's part of the environment injector hierarchy, which exists outside of the\n * component tree.\n *\n * @developerPreview\n */\n\nclass EnvironmentInjector {} // eslint-disable-next-line @angular-eslint/directive-class-suffix\n\n\nclass IonRouterOutlet {\n constructor(parentContexts, location, name, tabs, config, navCtrl, environmentInjector, componentFactoryResolver, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet) {\n this.parentContexts = parentContexts;\n this.location = location;\n this.config = config;\n this.navCtrl = navCtrl;\n this.environmentInjector = environmentInjector;\n this.componentFactoryResolver = componentFactoryResolver;\n this.parentOutlet = parentOutlet;\n this.activated = null;\n this.activatedView = null;\n this._activatedRoute = null; // Maintain map of activated route proxies for each component instance\n\n this.proxyMap = new WeakMap(); // Keep the latest activated route in a subject for the proxy routes to switch map to\n\n this.currentActivatedRoute$ = new BehaviorSubject(null);\n this.stackEvents = new EventEmitter(); // eslint-disable-next-line @angular-eslint/no-output-rename\n\n this.activateEvents = new EventEmitter(); // eslint-disable-next-line @angular-eslint/no-output-rename\n\n this.deactivateEvents = new EventEmitter();\n this.nativeEl = elementRef.nativeElement;\n this.name = name || PRIMARY_OUTLET;\n this.tabsPrefix = tabs === 'true' ? getUrl(router, activatedRoute) : undefined;\n this.stackCtrl = new StackController(this.tabsPrefix, this.nativeEl, router, navCtrl, zone, commonLocation);\n parentContexts.onChildOutletCreated(this.name, this);\n }\n\n set animation(animation) {\n this.nativeEl.animation = animation;\n }\n\n set animated(animated) {\n this.nativeEl.animated = animated;\n }\n\n set swipeGesture(swipe) {\n this._swipeGesture = swipe;\n this.nativeEl.swipeHandler = swipe ? {\n canStart: () => this.stackCtrl.canGoBack(1) && !this.stackCtrl.hasRunningTask(),\n onStart: () => this.stackCtrl.startBackTransition(),\n onEnd: shouldContinue => this.stackCtrl.endBackTransition(shouldContinue)\n } : undefined;\n }\n\n ngOnDestroy() {\n this.stackCtrl.destroy();\n }\n\n getContext() {\n return this.parentContexts.getContext(this.name);\n }\n\n ngOnInit() {\n if (!this.activated) {\n // If the outlet was not instantiated at the time the route got activated we need to populate\n // the outlet when it is initialized (ie inside a NgIf)\n const context = this.getContext();\n\n if (context === null || context === void 0 ? void 0 : context.route) {\n this.activateWith(context.route, context.resolver || null);\n }\n }\n\n new Promise(resolve => componentOnReady(this.nativeEl, resolve)).then(() => {\n if (this._swipeGesture === undefined) {\n this.swipeGesture = this.config.getBoolean('swipeBackEnabled', this.nativeEl.mode === 'ios');\n }\n });\n }\n\n get isActivated() {\n return !!this.activated;\n }\n\n get component() {\n if (!this.activated) {\n throw new Error('Outlet is not activated');\n }\n\n return this.activated.instance;\n }\n\n get activatedRoute() {\n if (!this.activated) {\n throw new Error('Outlet is not activated');\n }\n\n return this._activatedRoute;\n }\n\n get activatedRouteData() {\n if (this._activatedRoute) {\n return this._activatedRoute.snapshot.data;\n }\n\n return {};\n }\n /**\n * Called when the `RouteReuseStrategy` instructs to detach the subtree\n */\n\n\n detach() {\n throw new Error('incompatible reuse strategy');\n }\n /**\n * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n\n attach(_ref, _activatedRoute) {\n throw new Error('incompatible reuse strategy');\n }\n\n deactivate() {\n if (this.activated) {\n if (this.activatedView) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const context = this.getContext();\n this.activatedView.savedData = new Map(context.children['contexts']);\n /**\n * Angular v11.2.10 introduced a change\n * where this route context is cleared out when\n * a router-outlet is deactivated, However,\n * we need this route information in order to\n * return a user back to the correct tab when\n * leaving and then going back to the tab context.\n */\n\n const primaryOutlet = this.activatedView.savedData.get('primary');\n\n if (primaryOutlet && context.route) {\n primaryOutlet.route = Object.assign({}, context.route);\n }\n /**\n * Ensure we are saving the NavigationExtras\n * data otherwise it will be lost\n */\n\n\n this.activatedView.savedExtras = {};\n\n if (context.route) {\n const contextSnapshot = context.route.snapshot;\n this.activatedView.savedExtras.queryParams = contextSnapshot.queryParams;\n this.activatedView.savedExtras.fragment = contextSnapshot.fragment;\n }\n }\n\n const c = this.component;\n this.activatedView = null;\n this.activated = null;\n this._activatedRoute = null;\n this.deactivateEvents.emit(c);\n }\n }\n\n activateWith(activatedRoute, resolverOrInjector) {\n if (this.isActivated) {\n throw new Error('Cannot activate an already activated outlet');\n }\n\n this._activatedRoute = activatedRoute;\n let cmpRef;\n let enteringView = this.stackCtrl.getExistingView(activatedRoute);\n\n if (enteringView) {\n cmpRef = this.activated = enteringView.ref;\n const saved = enteringView.savedData;\n\n if (saved) {\n // self-restore\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const context = this.getContext();\n context.children['contexts'] = saved;\n } // Updated activated route proxy for this component\n\n\n this.updateActivatedRouteProxy(cmpRef.instance, activatedRoute);\n } else {\n const snapshot = activatedRoute._futureSnapshot; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n const component = snapshot.routeConfig.component;\n /**\n * Angular 14 introduces a new `loadComponent` property to the route config,\n * that assigns the component to load to the `component` property of\n * the route snapshot. We can check for the presence of this property\n * to determine if the route is using standalone components.\n *\n * TODO: FW-1631: Remove this check when supporting standalone components\n */\n\n if (component == null && snapshot.component) {\n console.warn('[Ionic Warning]: Standalone components are not currently supported with ion-router-outlet. You can track this feature request at https://github.com/ionic-team/ionic-framework/issues/25404');\n return;\n }\n\n const childContexts = this.parentContexts.getOrCreateContext(this.name).children; // We create an activated route proxy object that will maintain future updates for this component\n // over its lifecycle in the stack.\n\n const component$ = new BehaviorSubject(null);\n const activatedRouteProxy = this.createActivatedRouteProxy(component$, activatedRoute);\n const injector = new OutletInjector(activatedRouteProxy, childContexts, this.location.injector);\n /**\n * The resolver is not always provided and is required in Angular 12.\n * Fallback to the class-level provider when the resolver is not set.\n */\n\n resolverOrInjector = resolverOrInjector || this.componentFactoryResolver;\n\n if (resolverOrInjector && isComponentFactoryResolver(resolverOrInjector)) {\n // Backwards compatibility for Angular 13 and lower\n const factory = resolverOrInjector.resolveComponentFactory(component);\n cmpRef = this.activated = this.location.createComponent(factory, this.location.length, injector);\n } else {\n /**\n * Angular 14 and higher.\n *\n * TODO: FW-1641: Migrate once Angular 13 support is dropped.\n *\n * When we drop < Angular 14, we can replace the following code with:\n * ```ts\n const environmentInjector = resolverOrInjector ?? this.environmentInjector;\n cmpRef = this.activated = location.createComponent(component, {\n index: location.length,\n injector,\n environmentInjector,\n });\n * ```\n * where `this.environmentInjector` is a provider of `EnvironmentInjector` from @angular/core.\n */\n const environmentInjector = resolverOrInjector !== null && resolverOrInjector !== void 0 ? resolverOrInjector : this.environmentInjector;\n cmpRef = this.activated = this.location.createComponent(component, {\n index: this.location.length,\n injector,\n environmentInjector\n });\n } // Once the component is created we can push it to our local subject supplied to the proxy\n\n\n component$.next(cmpRef.instance); // Calling `markForCheck` to make sure we will run the change detection when the\n // `RouterOutlet` is inside a `ChangeDetectionStrategy.OnPush` component.\n\n enteringView = this.stackCtrl.createView(this.activated, activatedRoute); // Store references to the proxy by component\n\n this.proxyMap.set(cmpRef.instance, activatedRouteProxy);\n this.currentActivatedRoute$.next({\n component: cmpRef.instance,\n activatedRoute\n });\n }\n\n this.activatedView = enteringView;\n this.stackCtrl.setActive(enteringView).then(data => {\n this.navCtrl.setTopOutlet(this);\n this.activateEvents.emit(cmpRef.instance);\n this.stackEvents.emit(data);\n });\n }\n /**\n * Returns `true` if there are pages in the stack to go back.\n */\n\n\n canGoBack(deep = 1, stackId) {\n return this.stackCtrl.canGoBack(deep, stackId);\n }\n /**\n * Resolves to `true` if it the outlet was able to sucessfully pop the last N pages.\n */\n\n\n pop(deep = 1, stackId) {\n return this.stackCtrl.pop(deep, stackId);\n }\n /**\n * Returns the URL of the active page of each stack.\n */\n\n\n getLastUrl(stackId) {\n const active = this.stackCtrl.getLastUrl(stackId);\n return active ? active.url : undefined;\n }\n /**\n * Returns the RouteView of the active page of each stack.\n * @internal\n */\n\n\n getLastRouteView(stackId) {\n return this.stackCtrl.getLastUrl(stackId);\n }\n /**\n * Returns the root view in the tab stack.\n * @internal\n */\n\n\n getRootView(stackId) {\n return this.stackCtrl.getRootUrl(stackId);\n }\n /**\n * Returns the active stack ID. In the context of ion-tabs, it means the active tab.\n */\n\n\n getActiveStackId() {\n return this.stackCtrl.getActiveStackId();\n }\n /**\n * Since the activated route can change over the life time of a component in an ion router outlet, we create\n * a proxy so that we can update the values over time as a user navigates back to components already in the stack.\n */\n\n\n createActivatedRouteProxy(component$, activatedRoute) {\n const proxy = new ActivatedRoute();\n proxy._futureSnapshot = activatedRoute._futureSnapshot;\n proxy._routerState = activatedRoute._routerState;\n proxy.snapshot = activatedRoute.snapshot;\n proxy.outlet = activatedRoute.outlet;\n proxy.component = activatedRoute.component; // Setup wrappers for the observables so consumers don't have to worry about switching to new observables as the state updates\n\n proxy._paramMap = this.proxyObservable(component$, 'paramMap');\n proxy._queryParamMap = this.proxyObservable(component$, 'queryParamMap');\n proxy.url = this.proxyObservable(component$, 'url');\n proxy.params = this.proxyObservable(component$, 'params');\n proxy.queryParams = this.proxyObservable(component$, 'queryParams');\n proxy.fragment = this.proxyObservable(component$, 'fragment');\n proxy.data = this.proxyObservable(component$, 'data');\n return proxy;\n }\n /**\n * Create a wrapped observable that will switch to the latest activated route matched by the given component\n */\n\n\n proxyObservable(component$, path) {\n return component$.pipe( // First wait until the component instance is pushed\n filter(component => !!component), switchMap(component => this.currentActivatedRoute$.pipe(filter(current => current !== null && current.component === component), switchMap(current => current && current.activatedRoute[path]), distinctUntilChanged())));\n }\n /**\n * Updates the activated route proxy for the given component to the new incoming router state\n */\n\n\n updateActivatedRouteProxy(component, activatedRoute) {\n const proxy = this.proxyMap.get(component);\n\n if (!proxy) {\n throw new Error(`Could not find activated route proxy for view`);\n }\n\n proxy._futureSnapshot = activatedRoute._futureSnapshot;\n proxy._routerState = activatedRoute._routerState;\n proxy.snapshot = activatedRoute.snapshot;\n proxy.outlet = activatedRoute.outlet;\n proxy.component = activatedRoute.component;\n this.currentActivatedRoute$.next({\n component,\n activatedRoute\n });\n }\n\n}\n/** @nocollapse */\n\n\nIonRouterOutlet.ɵfac = function IonRouterOutlet_Factory(t) {\n return new (t || IonRouterOutlet)(i0.ɵɵdirectiveInject(i3.ChildrenOutletContexts), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵinjectAttribute('name'), i0.ɵɵinjectAttribute('tabs'), i0.ɵɵdirectiveInject(Config), i0.ɵɵdirectiveInject(NavController), i0.ɵɵdirectiveInject(EnvironmentInjector, 8), i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver, 8), i0.ɵɵdirectiveInject(i1.Location), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i3.ActivatedRoute), i0.ɵɵdirectiveInject(IonRouterOutlet, 12));\n};\n/** @nocollapse */\n\n\nIonRouterOutlet.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: IonRouterOutlet,\n selectors: [[\"ion-router-outlet\"]],\n inputs: {\n animated: \"animated\",\n animation: \"animation\",\n swipeGesture: \"swipeGesture\"\n },\n outputs: {\n stackEvents: \"stackEvents\",\n activateEvents: \"activate\",\n deactivateEvents: \"deactivate\"\n },\n exportAs: [\"outlet\"]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonRouterOutlet, [{\n type: Directive,\n args: [{\n selector: 'ion-router-outlet',\n exportAs: 'outlet',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['animated', 'animation', 'swipeGesture']\n }]\n }], function () {\n return [{\n type: i3.ChildrenOutletContexts\n }, {\n type: i0.ViewContainerRef\n }, {\n type: undefined,\n decorators: [{\n type: Attribute,\n args: ['name']\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Attribute,\n args: ['tabs']\n }]\n }, {\n type: Config\n }, {\n type: NavController\n }, {\n type: EnvironmentInjector,\n decorators: [{\n type: Optional\n }]\n }, {\n type: i0.ComponentFactoryResolver,\n decorators: [{\n type: Optional\n }]\n }, {\n type: i1.Location\n }, {\n type: i0.ElementRef\n }, {\n type: i3.Router\n }, {\n type: i0.NgZone\n }, {\n type: i3.ActivatedRoute\n }, {\n type: IonRouterOutlet,\n decorators: [{\n type: SkipSelf\n }, {\n type: Optional\n }]\n }];\n }, {\n stackEvents: [{\n type: Output\n }],\n activateEvents: [{\n type: Output,\n args: ['activate']\n }],\n deactivateEvents: [{\n type: Output,\n args: ['deactivate']\n }]\n });\n})();\n\nclass OutletInjector {\n constructor(route, childContexts, parent) {\n this.route = route;\n this.childContexts = childContexts;\n this.parent = parent;\n }\n\n get(token, notFoundValue) {\n if (token === ActivatedRoute) {\n return this.route;\n }\n\n if (token === ChildrenOutletContexts) {\n return this.childContexts;\n }\n\n return this.parent.get(token, notFoundValue);\n }\n\n} // eslint-disable-next-line @angular-eslint/component-class-suffix\n\n\nclass IonTabs {\n constructor(navCtrl) {\n this.navCtrl = navCtrl;\n this.ionTabsWillChange = new EventEmitter();\n this.ionTabsDidChange = new EventEmitter();\n }\n /**\n * @internal\n */\n\n\n onPageSelected(detail) {\n const stackId = detail.enteringView.stackId;\n\n if (detail.tabSwitch && stackId !== undefined) {\n this.ionTabsWillChange.emit({\n tab: stackId\n });\n\n if (this.tabBar) {\n this.tabBar.selectedTab = stackId;\n }\n\n this.ionTabsDidChange.emit({\n tab: stackId\n });\n }\n }\n /**\n * When a tab button is clicked, there are several scenarios:\n * 1. If the selected tab is currently active (the tab button has been clicked\n * again), then it should go to the root view for that tab.\n *\n * a. Get the saved root view from the router outlet. If the saved root view\n * matches the tabRootUrl, set the route view to this view including the\n * navigation extras.\n * b. If the saved root view from the router outlet does\n * not match, navigate to the tabRootUrl. No navigation extras are\n * included.\n *\n * 2. If the current tab tab is not currently selected, get the last route\n * view from the router outlet.\n *\n * a. If the last route view exists, navigate to that view including any\n * navigation extras\n * b. If the last route view doesn't exist, then navigate\n * to the default tabRootUrl\n */\n\n\n select(tabOrEvent) {\n const isTabString = typeof tabOrEvent === 'string';\n const tab = isTabString ? tabOrEvent : tabOrEvent.detail.tab;\n const alreadySelected = this.outlet.getActiveStackId() === tab;\n const tabRootUrl = `${this.outlet.tabsPrefix}/${tab}`;\n /**\n * If this is a nested tab, prevent the event\n * from bubbling otherwise the outer tabs\n * will respond to this event too, causing\n * the app to get directed to the wrong place.\n */\n\n if (!isTabString) {\n tabOrEvent.stopPropagation();\n }\n\n if (alreadySelected) {\n const activeStackId = this.outlet.getActiveStackId();\n const activeView = this.outlet.getLastRouteView(activeStackId); // If on root tab, do not navigate to root tab again\n\n if ((activeView === null || activeView === void 0 ? void 0 : activeView.url) === tabRootUrl) {\n return;\n }\n\n const rootView = this.outlet.getRootView(tab);\n const navigationExtras = rootView && tabRootUrl === rootView.url && rootView.savedExtras;\n return this.navCtrl.navigateRoot(tabRootUrl, Object.assign(Object.assign({}, navigationExtras), {\n animated: true,\n animationDirection: 'back'\n }));\n } else {\n const lastRoute = this.outlet.getLastRouteView(tab);\n /**\n * If there is a lastRoute, goto that, otherwise goto the fallback url of the\n * selected tab\n */\n\n const url = (lastRoute === null || lastRoute === void 0 ? void 0 : lastRoute.url) || tabRootUrl;\n const navigationExtras = lastRoute === null || lastRoute === void 0 ? void 0 : lastRoute.savedExtras;\n return this.navCtrl.navigateRoot(url, Object.assign(Object.assign({}, navigationExtras), {\n animated: true,\n animationDirection: 'back'\n }));\n }\n }\n\n getSelected() {\n return this.outlet.getActiveStackId();\n }\n\n}\n/** @nocollapse */\n\n\nIonTabs.ɵfac = function IonTabs_Factory(t) {\n return new (t || IonTabs)(i0.ɵɵdirectiveInject(NavController));\n};\n/** @nocollapse */\n\n\nIonTabs.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonTabs,\n selectors: [[\"ion-tabs\"]],\n contentQueries: function IonTabs_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, IonTabBar, 5);\n }\n\n if (rf & 2) {\n let _t;\n\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabBar = _t.first);\n }\n },\n viewQuery: function IonTabs_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c1, 5, IonRouterOutlet);\n }\n\n if (rf & 2) {\n let _t;\n\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.outlet = _t.first);\n }\n },\n hostBindings: function IonTabs_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"ionTabButtonClick\", function IonTabs_ionTabButtonClick_HostBindingHandler($event) {\n return ctx.select($event);\n });\n }\n },\n outputs: {\n ionTabsWillChange: \"ionTabsWillChange\",\n ionTabsDidChange: \"ionTabsDidChange\"\n },\n ngContentSelectors: _c3,\n decls: 5,\n vars: 0,\n consts: [[1, \"tabs-inner\"], [\"tabs\", \"true\", 3, \"stackEvents\"], [\"outlet\", \"\"]],\n template: function IonTabs_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c2);\n i0.ɵɵprojection(0);\n i0.ɵɵelementStart(1, \"div\", 0)(2, \"ion-router-outlet\", 1, 2);\n i0.ɵɵlistener(\"stackEvents\", function IonTabs_Template_ion_router_outlet_stackEvents_2_listener($event) {\n return ctx.onPageSelected($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵprojection(4, 1);\n }\n },\n dependencies: [IonRouterOutlet],\n styles: [\"[_nghost-%COMP%] {\\n display: flex;\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n\\n flex-direction: column;\\n\\n width: 100%;\\n height: 100%;\\n\\n contain: layout size style;\\n z-index: $z-index-page-container;\\n }\\n .tabs-inner[_ngcontent-%COMP%] {\\n position: relative;\\n\\n flex: 1;\\n\\n contain: layout size style;\\n }\"]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonTabs, [{\n type: Component,\n args: [{\n selector: 'ion-tabs',\n template: ` <ng-content select=\"[slot=top]\"></ng-content>\n <div class=\"tabs-inner\">\n <ion-router-outlet #outlet tabs=\"true\" (stackEvents)=\"onPageSelected($event)\"></ion-router-outlet>\n </div>\n <ng-content></ng-content>`,\n styles: [`\n :host {\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n flex-direction: column;\n\n width: 100%;\n height: 100%;\n\n contain: layout size style;\n z-index: $z-index-page-container;\n }\n .tabs-inner {\n position: relative;\n\n flex: 1;\n\n contain: layout size style;\n }\n `]\n }]\n }], function () {\n return [{\n type: NavController\n }];\n }, {\n outlet: [{\n type: ViewChild,\n args: ['outlet', {\n read: IonRouterOutlet,\n static: false\n }]\n }],\n tabBar: [{\n type: ContentChild,\n args: [IonTabBar, {\n static: false\n }]\n }],\n ionTabsWillChange: [{\n type: Output\n }],\n ionTabsDidChange: [{\n type: Output\n }],\n select: [{\n type: HostListener,\n args: ['ionTabButtonClick', ['$event']]\n }]\n });\n})();\n\nclass IonBackButtonDelegateDirective {\n constructor(routerOutlet, navCtrl, config) {\n this.routerOutlet = routerOutlet;\n this.navCtrl = navCtrl;\n this.config = config;\n }\n /**\n * @internal\n */\n\n\n onClick(ev) {\n var _a;\n\n const defaultHref = this.defaultHref || this.config.get('backButtonDefaultHref');\n\n if ((_a = this.routerOutlet) === null || _a === void 0 ? void 0 : _a.canGoBack()) {\n this.navCtrl.setDirection('back', undefined, undefined, this.routerAnimation);\n this.routerOutlet.pop();\n ev.preventDefault();\n } else if (defaultHref != null) {\n this.navCtrl.navigateBack(defaultHref, {\n animation: this.routerAnimation\n });\n ev.preventDefault();\n }\n }\n\n}\n/** @nocollapse */\n\n\nIonBackButtonDelegateDirective.ɵfac = function IonBackButtonDelegateDirective_Factory(t) {\n return new (t || IonBackButtonDelegateDirective)(i0.ɵɵdirectiveInject(IonRouterOutlet, 8), i0.ɵɵdirectiveInject(NavController), i0.ɵɵdirectiveInject(Config));\n};\n/** @nocollapse */\n\n\nIonBackButtonDelegateDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: IonBackButtonDelegateDirective,\n selectors: [[\"ion-back-button\"]],\n hostBindings: function IonBackButtonDelegateDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function IonBackButtonDelegateDirective_click_HostBindingHandler($event) {\n return ctx.onClick($event);\n });\n }\n },\n inputs: {\n defaultHref: \"defaultHref\",\n routerAnimation: \"routerAnimation\"\n }\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonBackButtonDelegateDirective, [{\n type: Directive,\n args: [{\n selector: 'ion-back-button'\n }]\n }], function () {\n return [{\n type: IonRouterOutlet,\n decorators: [{\n type: Optional\n }]\n }, {\n type: NavController\n }, {\n type: Config\n }];\n }, {\n defaultHref: [{\n type: Input\n }],\n routerAnimation: [{\n type: Input\n }],\n onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }]\n });\n})();\n\nlet NavDelegate = class NavDelegate {\n constructor(ref, resolver, injector, angularDelegate, location) {\n this.el = ref.nativeElement;\n ref.nativeElement.delegate = angularDelegate.create(resolver, injector, location);\n proxyOutputs(this, this.el, ['ionNavDidChange', 'ionNavWillChange']);\n }\n\n};\n/** @nocollapse */\n\nNavDelegate.ɵfac = function NavDelegate_Factory(t) {\n return new (t || NavDelegate)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(AngularDelegate), i0.ɵɵdirectiveInject(i0.ViewContainerRef));\n};\n/** @nocollapse */\n\n\nNavDelegate.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NavDelegate,\n selectors: [[\"ion-nav\"]]\n});\nNavDelegate = __decorate([ProxyCmp({\n inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture'],\n methods: ['push', 'insert', 'insertPages', 'pop', 'popTo', 'popToRoot', 'removeIndex', 'setRoot', 'setPages', 'getActive', 'getByIndex', 'canGoBack', 'getPrevious']\n})], NavDelegate);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NavDelegate, [{\n type: Directive,\n args: [{\n selector: 'ion-nav'\n }]\n }], function () {\n return [{\n type: i0.ElementRef\n }, {\n type: i0.ComponentFactoryResolver\n }, {\n type: i0.Injector\n }, {\n type: AngularDelegate\n }, {\n type: i0.ViewContainerRef\n }];\n }, null);\n})();\n/**\n * Adds support for Ionic routing directions and animations to the base Angular router link directive.\n *\n * When the router link is clicked, the directive will assign the direction and\n * animation so that the routing integration will transition correctly.\n */\n\n\nclass RouterLinkDelegateDirective {\n constructor(locationStrategy, navCtrl, elementRef, router, routerLink) {\n this.locationStrategy = locationStrategy;\n this.navCtrl = navCtrl;\n this.elementRef = elementRef;\n this.router = router;\n this.routerLink = routerLink;\n this.routerDirection = 'forward';\n }\n\n ngOnInit() {\n this.updateTargetUrlAndHref();\n }\n\n ngOnChanges() {\n this.updateTargetUrlAndHref();\n }\n\n updateTargetUrlAndHref() {\n var _a;\n\n if ((_a = this.routerLink) === null || _a === void 0 ? void 0 : _a.urlTree) {\n const href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLink.urlTree));\n this.elementRef.nativeElement.href = href;\n }\n }\n /**\n * @internal\n */\n\n\n onClick(ev) {\n this.navCtrl.setDirection(this.routerDirection, undefined, undefined, this.routerAnimation);\n /**\n * This prevents the browser from\n * performing a page reload when pressing\n * an Ionic component with routerLink.\n * The page reload interferes with routing\n * and causes ion-back-button to disappear\n * since the local history is wiped on reload.\n */\n\n ev.preventDefault();\n }\n\n}\n/** @nocollapse */\n\n\nRouterLinkDelegateDirective.ɵfac = function RouterLinkDelegateDirective_Factory(t) {\n return new (t || RouterLinkDelegateDirective)(i0.ɵɵdirectiveInject(i1.LocationStrategy), i0.ɵɵdirectiveInject(NavController), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i3.RouterLink, 8));\n};\n/** @nocollapse */\n\n\nRouterLinkDelegateDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: RouterLinkDelegateDirective,\n selectors: [[\"\", \"routerLink\", \"\", 5, \"a\", 5, \"area\"]],\n hostBindings: function RouterLinkDelegateDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function RouterLinkDelegateDirective_click_HostBindingHandler($event) {\n return ctx.onClick($event);\n });\n }\n },\n inputs: {\n routerDirection: \"routerDirection\",\n routerAnimation: \"routerAnimation\"\n },\n features: [i0.ɵɵNgOnChangesFeature]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(RouterLinkDelegateDirective, [{\n type: Directive,\n args: [{\n selector: ':not(a):not(area)[routerLink]'\n }]\n }], function () {\n return [{\n type: i1.LocationStrategy\n }, {\n type: NavController\n }, {\n type: i0.ElementRef\n }, {\n type: i3.Router\n }, {\n type: i3.RouterLink,\n decorators: [{\n type: Optional\n }]\n }];\n }, {\n routerDirection: [{\n type: Input\n }],\n routerAnimation: [{\n type: Input\n }],\n onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }]\n });\n})();\n\nclass RouterLinkWithHrefDelegateDirective {\n constructor(locationStrategy, navCtrl, elementRef, router, routerLink) {\n this.locationStrategy = locationStrategy;\n this.navCtrl = navCtrl;\n this.elementRef = elementRef;\n this.router = router;\n this.routerLink = routerLink;\n this.routerDirection = 'forward';\n }\n\n ngOnInit() {\n this.updateTargetUrlAndHref();\n }\n\n ngOnChanges() {\n this.updateTargetUrlAndHref();\n }\n\n updateTargetUrlAndHref() {\n var _a;\n\n if ((_a = this.routerLink) === null || _a === void 0 ? void 0 : _a.urlTree) {\n const href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLink.urlTree));\n this.elementRef.nativeElement.href = href;\n }\n }\n /**\n * @internal\n */\n\n\n onClick() {\n this.navCtrl.setDirection(this.routerDirection, undefined, undefined, this.routerAnimation);\n }\n\n}\n/** @nocollapse */\n\n\nRouterLinkWithHrefDelegateDirective.ɵfac = function RouterLinkWithHrefDelegateDirective_Factory(t) {\n return new (t || RouterLinkWithHrefDelegateDirective)(i0.ɵɵdirectiveInject(i1.LocationStrategy), i0.ɵɵdirectiveInject(NavController), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i3.RouterLink, 8));\n};\n/** @nocollapse */\n\n\nRouterLinkWithHrefDelegateDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: RouterLinkWithHrefDelegateDirective,\n selectors: [[\"a\", \"routerLink\", \"\"], [\"area\", \"routerLink\", \"\"]],\n hostBindings: function RouterLinkWithHrefDelegateDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function RouterLinkWithHrefDelegateDirective_click_HostBindingHandler() {\n return ctx.onClick();\n });\n }\n },\n inputs: {\n routerDirection: \"routerDirection\",\n routerAnimation: \"routerAnimation\"\n },\n features: [i0.ɵɵNgOnChangesFeature]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(RouterLinkWithHrefDelegateDirective, [{\n type: Directive,\n args: [{\n selector: 'a[routerLink],area[routerLink]'\n }]\n }], function () {\n return [{\n type: i1.LocationStrategy\n }, {\n type: NavController\n }, {\n type: i0.ElementRef\n }, {\n type: i3.Router\n }, {\n type: i3.RouterLink,\n decorators: [{\n type: Optional\n }]\n }];\n }, {\n routerDirection: [{\n type: Input\n }],\n routerAnimation: [{\n type: Input\n }],\n onClick: [{\n type: HostListener,\n args: ['click']\n }]\n });\n})();\n/**\n * @hidden\n */\n\n\nclass VirtualFooter {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n\n}\n/** @nocollapse */\n\n\nVirtualFooter.ɵfac = function VirtualFooter_Factory(t) {\n return new (t || VirtualFooter)(i0.ɵɵdirectiveInject(i0.TemplateRef));\n};\n/** @nocollapse */\n\n\nVirtualFooter.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: VirtualFooter,\n selectors: [[\"\", \"virtualFooter\", \"\"]]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(VirtualFooter, [{\n type: Directive,\n args: [{\n selector: '[virtualFooter]'\n }]\n }], function () {\n return [{\n type: i0.TemplateRef\n }];\n }, null);\n})();\n/**\n * @hidden\n */\n\n\nclass VirtualHeader {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n\n}\n/** @nocollapse */\n\n\nVirtualHeader.ɵfac = function VirtualHeader_Factory(t) {\n return new (t || VirtualHeader)(i0.ɵɵdirectiveInject(i0.TemplateRef));\n};\n/** @nocollapse */\n\n\nVirtualHeader.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: VirtualHeader,\n selectors: [[\"\", \"virtualHeader\", \"\"]]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(VirtualHeader, [{\n type: Directive,\n args: [{\n selector: '[virtualHeader]'\n }]\n }], function () {\n return [{\n type: i0.TemplateRef\n }];\n }, null);\n})();\n/**\n * @hidden\n */\n\n\nclass VirtualItem {\n constructor(templateRef, viewContainer) {\n this.templateRef = templateRef;\n this.viewContainer = viewContainer;\n }\n\n}\n/** @nocollapse */\n\n\nVirtualItem.ɵfac = function VirtualItem_Factory(t) {\n return new (t || VirtualItem)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef));\n};\n/** @nocollapse */\n\n\nVirtualItem.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: VirtualItem,\n selectors: [[\"\", \"virtualItem\", \"\"]]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(VirtualItem, [{\n type: Directive,\n args: [{\n selector: '[virtualItem]'\n }]\n }], function () {\n return [{\n type: i0.TemplateRef\n }, {\n type: i0.ViewContainerRef\n }];\n }, null);\n})();\n\nlet IonVirtualScroll = class IonVirtualScroll {\n constructor(z, iterableDiffers, elementRef) {\n this.z = z;\n this.iterableDiffers = iterableDiffers;\n this.refMap = new WeakMap();\n this.el = elementRef.nativeElement;\n this.el.nodeRender = this.nodeRender.bind(this);\n }\n\n ngOnChanges(changes) {\n if (this.trackBy && 'items' in changes) {\n // React on virtualScroll changes only once all inputs have been initialized\n const value = changes['items'].currentValue;\n\n if (this.differ === undefined && value != null) {\n try {\n this.differ = this.iterableDiffers.find(value).create(this.trackBy);\n } catch (e) {\n throw new Error(`Cannot find a differ supporting object '${value}'. VirtualScroll only supports binding to Iterables such as Arrays.`);\n }\n }\n }\n }\n\n ngDoCheck() {\n // and if there actually are changes\n const changes = this.differ !== undefined && this.items ? this.differ.diff(this.items) : null;\n\n if (changes === null) {\n return;\n } // TODO: optimize\n\n\n this.checkRange(0);\n }\n\n nodeRender(el, cell, index) {\n return this.z.run(() => {\n let node;\n\n if (!el) {\n node = this.itmTmp.viewContainer.createEmbeddedView(this.getComponent(cell.type), {\n $implicit: cell.value,\n index\n }, index);\n el = getElement(node);\n this.refMap.set(el, node);\n } else {\n node = this.refMap.get(el);\n const ctx = node.context;\n ctx.$implicit = cell.value;\n ctx.index = cell.index;\n } // run sync change detections\n\n\n node.detectChanges();\n return el;\n });\n }\n\n getComponent(type) {\n switch (type) {\n case 'item':\n return this.itmTmp.templateRef;\n\n case 'header':\n return this.hdrTmp.templateRef;\n\n case 'footer':\n return this.ftrTmp.templateRef;\n\n default:\n throw new Error('template for virtual item was not provided');\n }\n }\n\n};\n/** @nocollapse */\n\nIonVirtualScroll.ɵfac = function IonVirtualScroll_Factory(t) {\n return new (t || IonVirtualScroll)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.IterableDiffers), i0.ɵɵdirectiveInject(i0.ElementRef));\n};\n/** @nocollapse */\n\n\nIonVirtualScroll.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonVirtualScroll,\n selectors: [[\"ion-virtual-scroll\"]],\n contentQueries: function IonVirtualScroll_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, VirtualItem, 5);\n i0.ɵɵcontentQuery(dirIndex, VirtualHeader, 5);\n i0.ɵɵcontentQuery(dirIndex, VirtualFooter, 5);\n }\n\n if (rf & 2) {\n let _t;\n\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itmTmp = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.hdrTmp = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.ftrTmp = _t.first);\n }\n },\n inputs: {\n approxItemHeight: \"approxItemHeight\",\n approxHeaderHeight: \"approxHeaderHeight\",\n approxFooterHeight: \"approxFooterHeight\",\n headerFn: \"headerFn\",\n footerFn: \"footerFn\",\n items: \"items\",\n itemHeight: \"itemHeight\",\n headerHeight: \"headerHeight\",\n footerHeight: \"footerHeight\",\n trackBy: \"trackBy\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function IonVirtualScroll_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n});\nIonVirtualScroll = __decorate([ProxyCmp({\n inputs: ['approxItemHeight', 'approxHeaderHeight', 'approxFooterHeight', 'headerFn', 'footerFn', 'items', 'itemHeight', 'headerHeight', 'footerHeight'],\n methods: ['checkEnd', 'checkRange', 'positionForItem']\n})], IonVirtualScroll);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonVirtualScroll, [{\n type: Component,\n args: [{\n selector: 'ion-virtual-scroll',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['approxItemHeight', 'approxHeaderHeight', 'approxFooterHeight', 'headerFn', 'footerFn', 'items', 'itemHeight', 'headerHeight', 'footerHeight', 'trackBy']\n }]\n }], function () {\n return [{\n type: i0.NgZone\n }, {\n type: i0.IterableDiffers\n }, {\n type: i0.ElementRef\n }];\n }, {\n itmTmp: [{\n type: ContentChild,\n args: [VirtualItem, {\n static: false\n }]\n }],\n hdrTmp: [{\n type: ContentChild,\n args: [VirtualHeader, {\n static: false\n }]\n }],\n ftrTmp: [{\n type: ContentChild,\n args: [VirtualFooter, {\n static: false\n }]\n }]\n });\n})();\n\nconst getElement = view => {\n const rootNodes = view.rootNodes;\n\n for (let i = 0; i < rootNodes.length; i++) {\n if (rootNodes[i].nodeType === 1) {\n return rootNodes[i];\n }\n }\n\n throw new Error('virtual element was not created');\n};\n\nlet IonModal = class IonModal {\n constructor(c, r, z) {\n this.z = z;\n this.isCmpOpen = false;\n this.el = r.nativeElement;\n this.el.addEventListener('willPresent', () => {\n this.isCmpOpen = true;\n c.detectChanges();\n });\n this.el.addEventListener('didDismiss', () => {\n this.isCmpOpen = false;\n c.detectChanges();\n });\n proxyOutputs(this, this.el, ['ionModalDidPresent', 'ionModalWillPresent', 'ionModalWillDismiss', 'ionModalDidDismiss', 'ionBreakpointDidChange', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);\n }\n\n};\n/** @nocollapse */\n\nIonModal.ɵfac = function IonModal_Factory(t) {\n return new (t || IonModal)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonModal.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonModal,\n selectors: [[\"ion-modal\"]],\n contentQueries: function IonModal_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);\n }\n\n if (rf & 2) {\n let _t;\n\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);\n }\n },\n inputs: {\n animated: \"animated\",\n keepContentsMounted: \"keepContentsMounted\",\n backdropBreakpoint: \"backdropBreakpoint\",\n backdropDismiss: \"backdropDismiss\",\n breakpoints: \"breakpoints\",\n canDismiss: \"canDismiss\",\n cssClass: \"cssClass\",\n enterAnimation: \"enterAnimation\",\n event: \"event\",\n handle: \"handle\",\n handleBehavior: \"handleBehavior\",\n initialBreakpoint: \"initialBreakpoint\",\n isOpen: \"isOpen\",\n keyboardClose: \"keyboardClose\",\n leaveAnimation: \"leaveAnimation\",\n mode: \"mode\",\n presentingElement: \"presentingElement\",\n showBackdrop: \"showBackdrop\",\n swipeToClose: \"swipeToClose\",\n translucent: \"translucent\",\n trigger: \"trigger\"\n },\n decls: 1,\n vars: 1,\n consts: [[\"class\", \"ion-page\", 4, \"ngIf\"], [1, \"ion-page\"], [3, \"ngTemplateOutlet\"]],\n template: function IonModal_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, IonModal_div_0_Template, 2, 1, \"div\", 0);\n }\n\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.isCmpOpen || ctx.keepContentsMounted);\n }\n },\n dependencies: [i1.NgIf, i1.NgTemplateOutlet],\n encapsulation: 2,\n changeDetection: 0\n});\nIonModal = __decorate([ProxyCmp({\n inputs: ['animated', 'keepContentsMounted', 'backdropBreakpoint', 'backdropDismiss', 'breakpoints', 'canDismiss', 'cssClass', 'enterAnimation', 'event', 'handle', 'handleBehavior', 'initialBreakpoint', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'presentingElement', 'showBackdrop', 'swipeToClose', 'translucent', 'trigger'],\n methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss', 'setCurrentBreakpoint', 'getCurrentBreakpoint']\n})], IonModal);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonModal, [{\n type: Component,\n args: [{\n selector: 'ion-modal',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<div class=\"ion-page\" *ngIf=\"isCmpOpen || keepContentsMounted\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>`,\n inputs: ['animated', 'keepContentsMounted', 'backdropBreakpoint', 'backdropDismiss', 'breakpoints', 'canDismiss', 'cssClass', 'enterAnimation', 'event', 'handle', 'handleBehavior', 'initialBreakpoint', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'presentingElement', 'showBackdrop', 'swipeToClose', 'translucent', 'trigger']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, {\n template: [{\n type: ContentChild,\n args: [TemplateRef, {\n static: false\n }]\n }]\n });\n})();\n\nlet IonPopover = class IonPopover {\n constructor(c, r, z) {\n this.z = z;\n this.isCmpOpen = false;\n this.el = r.nativeElement;\n this.el.addEventListener('willPresent', () => {\n this.isCmpOpen = true;\n c.detectChanges();\n });\n this.el.addEventListener('didDismiss', () => {\n this.isCmpOpen = false;\n c.detectChanges();\n });\n proxyOutputs(this, this.el, ['ionPopoverDidPresent', 'ionPopoverWillPresent', 'ionPopoverWillDismiss', 'ionPopoverDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);\n }\n\n};\n/** @nocollapse */\n\nIonPopover.ɵfac = function IonPopover_Factory(t) {\n return new (t || IonPopover)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nIonPopover.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: IonPopover,\n selectors: [[\"ion-popover\"]],\n contentQueries: function IonPopover_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);\n }\n\n if (rf & 2) {\n let _t;\n\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);\n }\n },\n inputs: {\n alignment: \"alignment\",\n animated: \"animated\",\n arrow: \"arrow\",\n keepContentsMounted: \"keepContentsMounted\",\n backdropDismiss: \"backdropDismiss\",\n cssClass: \"cssClass\",\n dismissOnSelect: \"dismissOnSelect\",\n enterAnimation: \"enterAnimation\",\n event: \"event\",\n isOpen: \"isOpen\",\n keyboardClose: \"keyboardClose\",\n leaveAnimation: \"leaveAnimation\",\n mode: \"mode\",\n showBackdrop: \"showBackdrop\",\n translucent: \"translucent\",\n trigger: \"trigger\",\n triggerAction: \"triggerAction\",\n reference: \"reference\",\n size: \"size\",\n side: \"side\"\n },\n decls: 1,\n vars: 1,\n consts: [[3, \"ngTemplateOutlet\", 4, \"ngIf\"], [3, \"ngTemplateOutlet\"]],\n template: function IonPopover_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, IonPopover_ng_container_0_Template, 1, 1, \"ng-container\", 0);\n }\n\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.isCmpOpen || ctx.keepContentsMounted);\n }\n },\n dependencies: [i1.NgIf, i1.NgTemplateOutlet],\n encapsulation: 2,\n changeDetection: 0\n});\nIonPopover = __decorate([ProxyCmp({\n inputs: ['alignment', 'animated', 'arrow', 'keepContentsMounted', 'backdropDismiss', 'cssClass', 'dismissOnSelect', 'enterAnimation', 'event', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'translucent', 'trigger', 'triggerAction', 'reference', 'size', 'side'],\n methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss']\n})], IonPopover);\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonPopover, [{\n type: Component,\n args: [{\n selector: 'ion-popover',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-container [ngTemplateOutlet]=\"template\" *ngIf=\"isCmpOpen || keepContentsMounted\"></ng-container>`,\n inputs: ['alignment', 'animated', 'arrow', 'keepContentsMounted', 'backdropDismiss', 'cssClass', 'dismissOnSelect', 'enterAnimation', 'event', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'translucent', 'trigger', 'triggerAction', 'reference', 'size', 'side']\n }]\n }], function () {\n return [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }];\n }, {\n template: [{\n type: ContentChild,\n args: [TemplateRef, {\n static: false\n }]\n }]\n });\n})();\n\nclass OverlayBaseController {\n constructor(ctrl) {\n this.ctrl = ctrl;\n }\n /**\n * Creates a new overlay\n */\n\n\n create(opts) {\n // TODO: next major release opts is not optional\n return this.ctrl.create(opts || {});\n }\n /**\n * When `id` is not provided, it dismisses the top overlay.\n */\n\n\n dismiss(data, role, id) {\n return this.ctrl.dismiss(data, role, id);\n }\n /**\n * Returns the top overlay.\n */\n\n\n getTop() {\n return this.ctrl.getTop();\n }\n\n}\n\nclass ActionSheetController extends OverlayBaseController {\n constructor() {\n super(actionSheetController);\n }\n\n}\n/** @nocollapse */\n\n\nActionSheetController.ɵfac = function ActionSheetController_Factory(t) {\n return new (t || ActionSheetController)();\n};\n/** @nocollapse */\n\n\nActionSheetController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ActionSheetController,\n factory: ActionSheetController.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ActionSheetController, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () {\n return [];\n }, null);\n})();\n\nclass AlertController extends OverlayBaseController {\n constructor() {\n super(alertController);\n }\n\n}\n/** @nocollapse */\n\n\nAlertController.ɵfac = function AlertController_Factory(t) {\n return new (t || AlertController)();\n};\n/** @nocollapse */\n\n\nAlertController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AlertController,\n factory: AlertController.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AlertController, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () {\n return [];\n }, null);\n})();\n\nclass LoadingController extends OverlayBaseController {\n constructor() {\n super(loadingController);\n }\n\n}\n/** @nocollapse */\n\n\nLoadingController.ɵfac = function LoadingController_Factory(t) {\n return new (t || LoadingController)();\n};\n/** @nocollapse */\n\n\nLoadingController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: LoadingController,\n factory: LoadingController.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LoadingController, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () {\n return [];\n }, null);\n})();\n\nclass MenuController {\n /**\n * Programmatically open the Menu.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return returns a promise when the menu is fully opened\n */\n open(menuId) {\n return menuController.open(menuId);\n }\n /**\n * Programmatically close the Menu. If no `menuId` is given as the first\n * argument then it'll close any menu which is open. If a `menuId`\n * is given then it'll close that exact menu.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return returns a promise when the menu is fully closed\n */\n\n\n close(menuId) {\n return menuController.close(menuId);\n }\n /**\n * Toggle the menu. If it's closed, it will open, and if opened, it\n * will close.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return returns a promise when the menu has been toggled\n */\n\n\n toggle(menuId) {\n return menuController.toggle(menuId);\n }\n /**\n * Used to enable or disable a menu. For example, there could be multiple\n * left menus, but only one of them should be able to be opened at the same\n * time. If there are multiple menus on the same side, then enabling one menu\n * will also automatically disable all the others that are on the same side.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns the instance of the menu, which is useful for chaining.\n */\n\n\n enable(shouldEnable, menuId) {\n return menuController.enable(shouldEnable, menuId);\n }\n /**\n * Used to enable or disable the ability to swipe open the menu.\n * @param shouldEnable True if it should be swipe-able, false if not.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns the instance of the menu, which is useful for chaining.\n */\n\n\n swipeGesture(shouldEnable, menuId) {\n return menuController.swipeGesture(shouldEnable, menuId);\n }\n /**\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns true if the specified menu is currently open, otherwise false.\n * If the menuId is not specified, it returns true if ANY menu is currenly open.\n */\n\n\n isOpen(menuId) {\n return menuController.isOpen(menuId);\n }\n /**\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns true if the menu is currently enabled, otherwise false.\n */\n\n\n isEnabled(menuId) {\n return menuController.isEnabled(menuId);\n }\n /**\n * Used to get a menu instance. If a `menuId` is not provided then it'll\n * return the first menu found. If a `menuId` is `left` or `right`, then\n * it'll return the enabled menu on that side. Otherwise, if a `menuId` is\n * provided, then it'll try to find the menu using the menu's `id`\n * property. If a menu is not found then it'll return `null`.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns the instance of the menu if found, otherwise `null`.\n */\n\n\n get(menuId) {\n return menuController.get(menuId);\n }\n /**\n * @return Returns the instance of the menu already opened, otherwise `null`.\n */\n\n\n getOpen() {\n return menuController.getOpen();\n }\n /**\n * @return Returns an array of all menu instances.\n */\n\n\n getMenus() {\n return menuController.getMenus();\n }\n\n}\n/** @nocollapse */\n\n\nMenuController.ɵfac = function MenuController_Factory(t) {\n return new (t || MenuController)();\n};\n/** @nocollapse */\n\n\nMenuController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: MenuController,\n factory: MenuController.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(MenuController, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], null, null);\n})();\n\nclass PickerController extends OverlayBaseController {\n constructor() {\n super(pickerController);\n }\n\n}\n/** @nocollapse */\n\n\nPickerController.ɵfac = function PickerController_Factory(t) {\n return new (t || PickerController)();\n};\n/** @nocollapse */\n\n\nPickerController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PickerController,\n factory: PickerController.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(PickerController, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () {\n return [];\n }, null);\n})();\n\nclass ModalController extends OverlayBaseController {\n constructor(angularDelegate, resolver, injector, // TODO: FW-1641: Migrate to Angular's version once Angular 13 is dropped\n environmentInjector) {\n super(modalController);\n this.angularDelegate = angularDelegate;\n this.resolver = resolver;\n this.injector = injector;\n this.environmentInjector = environmentInjector;\n }\n\n create(opts) {\n var _a;\n\n return super.create(Object.assign(Object.assign({}, opts), {\n delegate: this.angularDelegate.create((_a = this.resolver) !== null && _a !== void 0 ? _a : this.environmentInjector, this.injector)\n }));\n }\n\n}\n/** @nocollapse */\n\n\nModalController.ɵfac = function ModalController_Factory(t) {\n return new (t || ModalController)(i0.ɵɵinject(AngularDelegate), i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(EnvironmentInjector, 8));\n};\n/** @nocollapse */\n\n\nModalController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ModalController,\n factory: ModalController.ɵfac\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ModalController, [{\n type: Injectable\n }], function () {\n return [{\n type: AngularDelegate\n }, {\n type: i0.ComponentFactoryResolver\n }, {\n type: i0.Injector\n }, {\n type: EnvironmentInjector,\n decorators: [{\n type: Optional\n }]\n }];\n }, null);\n})();\n\nclass PopoverController extends OverlayBaseController {\n constructor(angularDelegate, resolver, injector, // TODO: FW-1641: Migrate to Angular's version once Angular 13 is dropped\n environmentInjector) {\n super(popoverController);\n this.angularDelegate = angularDelegate;\n this.resolver = resolver;\n this.injector = injector;\n this.environmentInjector = environmentInjector;\n }\n\n create(opts) {\n var _a;\n\n return super.create(Object.assign(Object.assign({}, opts), {\n delegate: this.angularDelegate.create((_a = this.resolver) !== null && _a !== void 0 ? _a : this.environmentInjector, this.injector)\n }));\n }\n\n}\n/** @nocollapse */\n\n\nPopoverController.ɵfac = function PopoverController_Factory(t) {\n return new (t || PopoverController)(i0.ɵɵinject(AngularDelegate), i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(EnvironmentInjector, 8));\n};\n/** @nocollapse */\n\n\nPopoverController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PopoverController,\n factory: PopoverController.ɵfac\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(PopoverController, [{\n type: Injectable\n }], function () {\n return [{\n type: AngularDelegate\n }, {\n type: i0.ComponentFactoryResolver\n }, {\n type: i0.Injector\n }, {\n type: EnvironmentInjector,\n decorators: [{\n type: Optional\n }]\n }];\n }, null);\n})();\n\nclass ToastController extends OverlayBaseController {\n constructor() {\n super(toastController);\n }\n\n}\n/** @nocollapse */\n\n\nToastController.ɵfac = function ToastController_Factory(t) {\n return new (t || ToastController)();\n};\n/** @nocollapse */\n\n\nToastController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ToastController,\n factory: ToastController.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ToastController, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () {\n return [];\n }, null);\n})();\n\nclass DomController {\n /**\n * Schedules a task to run during the READ phase of the next frame.\n * This task should only read the DOM, but never modify it.\n */\n read(cb) {\n getQueue().read(cb);\n }\n /**\n * Schedules a task to run during the WRITE phase of the next frame.\n * This task should write the DOM, but never READ it.\n */\n\n\n write(cb) {\n getQueue().write(cb);\n }\n\n}\n/** @nocollapse */\n\n\nDomController.ɵfac = function DomController_Factory(t) {\n return new (t || DomController)();\n};\n/** @nocollapse */\n\n\nDomController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: DomController,\n factory: DomController.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(DomController, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], null, null);\n})();\n\nconst getQueue = () => {\n const win = typeof window !== 'undefined' ? window : null;\n\n if (win != null) {\n const Ionic = win.Ionic;\n\n if (Ionic === null || Ionic === void 0 ? void 0 : Ionic.queue) {\n return Ionic.queue;\n }\n\n return {\n read: cb => win.requestAnimationFrame(cb),\n write: cb => win.requestAnimationFrame(cb)\n };\n }\n\n return {\n read: cb => cb(),\n write: cb => cb()\n };\n};\n\nclass AnimationController {\n /**\n * Create a new animation\n */\n create(animationId) {\n return createAnimation(animationId);\n }\n /**\n * EXPERIMENTAL\n *\n * Given a progression and a cubic bezier function,\n * this utility returns the time value(s) at which the\n * cubic bezier reaches the given time progression.\n *\n * If the cubic bezier never reaches the progression\n * the result will be an empty array.\n *\n * This is most useful for switching between easing curves\n * when doing a gesture animation (i.e. going from linear easing\n * during a drag, to another easing when `progressEnd` is called)\n */\n\n\n easingTime(p0, p1, p2, p3, progression) {\n return getTimeGivenProgression(p0, p1, p2, p3, progression);\n }\n\n}\n/** @nocollapse */\n\n\nAnimationController.ɵfac = function AnimationController_Factory(t) {\n return new (t || AnimationController)();\n};\n/** @nocollapse */\n\n\nAnimationController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AnimationController,\n factory: AnimationController.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AnimationController, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], null, null);\n})();\n\nclass GestureController {\n constructor(zone) {\n this.zone = zone;\n }\n /**\n * Create a new gesture\n */\n\n\n create(opts, runInsideAngularZone = false) {\n if (runInsideAngularZone) {\n Object.getOwnPropertyNames(opts).forEach(key => {\n if (typeof opts[key] === 'function') {\n const fn = opts[key];\n\n opts[key] = (...props) => this.zone.run(() => fn(...props));\n }\n });\n }\n\n return createGesture(opts);\n }\n\n}\n/** @nocollapse */\n\n\nGestureController.ɵfac = function GestureController_Factory(t) {\n return new (t || GestureController)(i0.ɵɵinject(i0.NgZone));\n};\n/** @nocollapse */\n\n\nGestureController.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: GestureController,\n factory: GestureController.ɵfac,\n providedIn: 'root'\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GestureController, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () {\n return [{\n type: i0.NgZone\n }];\n }, null);\n})();\n\nclass IonicRouteStrategy {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n shouldDetach(_route) {\n return false;\n } // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n\n shouldAttach(_route) {\n return false;\n }\n\n store( // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _route, // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _detachedTree) {\n return;\n } // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n\n retrieve(_route) {\n return null;\n }\n\n shouldReuseRoute(future, curr) {\n if (future.routeConfig !== curr.routeConfig) {\n return false;\n } // checking router params\n\n\n const futureParams = future.params;\n const currentParams = curr.params;\n const keysA = Object.keys(futureParams);\n const keysB = Object.keys(currentParams);\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n for (const key of keysA) {\n if (currentParams[key] !== futureParams[key]) {\n return false;\n }\n }\n\n return true;\n }\n\n}\n/**\n * https://ionicframework.com/docs/api/router-outlet#life-cycle-hooks\n */\n\n\nconst appInitialize = (config, doc, zone) => {\n return () => {\n const win = doc.defaultView;\n\n if (win && typeof window !== 'undefined') {\n setupConfig(Object.assign(Object.assign({}, config), {\n _zoneGate: h => zone.run(h)\n }));\n const aelFn = '__zone_symbol__addEventListener' in doc.body ? '__zone_symbol__addEventListener' : 'addEventListener';\n return applyPolyfills().then(() => {\n return defineCustomElements(win, {\n exclude: ['ion-tabs', 'ion-tab'],\n syncQueue: true,\n raf,\n jmp: h => zone.runOutsideAngular(h),\n\n ael(elm, eventName, cb, opts) {\n elm[aelFn](eventName, cb, opts);\n },\n\n rel(elm, eventName, cb, opts) {\n elm.removeEventListener(eventName, cb, opts);\n }\n\n });\n });\n }\n };\n};\n\nconst DIRECTIVES = [IonAccordion, IonAccordionGroup, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonMenu, IonMenuButton, IonMenuToggle, IonNav, IonNavLink, IonNote, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTabBar, IonTabButton, IonText, IonTextarea, IonThumbnail, IonTitle, IonToggle, IonToolbar];\nconst DECLARATIONS = [// generated proxies\n...DIRECTIVES, // manual proxies\nIonModal, IonPopover, // ngModel accessors\nBooleanValueAccessorDirective, NumericValueAccessorDirective, RadioValueAccessorDirective, SelectValueAccessorDirective, TextValueAccessorDirective, // navigation\nIonTabs, IonRouterOutlet, IonBackButtonDelegateDirective, NavDelegate, RouterLinkDelegateDirective, RouterLinkWithHrefDelegateDirective, // virtual scroll\nVirtualFooter, VirtualHeader, VirtualItem, IonVirtualScroll];\n\nclass IonicModule {\n static forRoot(config) {\n return {\n ngModule: IonicModule,\n providers: [{\n provide: ConfigToken,\n useValue: config\n }, {\n provide: APP_INITIALIZER,\n useFactory: appInitialize,\n multi: true,\n deps: [ConfigToken, DOCUMENT, NgZone]\n }]\n };\n }\n\n}\n/** @nocollapse */\n\n\nIonicModule.ɵfac = function IonicModule_Factory(t) {\n return new (t || IonicModule)();\n};\n/** @nocollapse */\n\n\nIonicModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: IonicModule,\n declarations: [IonAccordion, IonAccordionGroup, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonMenu, IonMenuButton, IonMenuToggle, IonNav, IonNavLink, IonNote, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTabBar, IonTabButton, IonText, IonTextarea, IonThumbnail, IonTitle, IonToggle, IonToolbar, // manual proxies\n IonModal, IonPopover, // ngModel accessors\n BooleanValueAccessorDirective, NumericValueAccessorDirective, RadioValueAccessorDirective, SelectValueAccessorDirective, TextValueAccessorDirective, // navigation\n IonTabs, IonRouterOutlet, IonBackButtonDelegateDirective, NavDelegate, RouterLinkDelegateDirective, RouterLinkWithHrefDelegateDirective, // virtual scroll\n VirtualFooter, VirtualHeader, VirtualItem, IonVirtualScroll],\n imports: [CommonModule],\n exports: [IonAccordion, IonAccordionGroup, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonMenu, IonMenuButton, IonMenuToggle, IonNav, IonNavLink, IonNote, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTabBar, IonTabButton, IonText, IonTextarea, IonThumbnail, IonTitle, IonToggle, IonToolbar, // manual proxies\n IonModal, IonPopover, // ngModel accessors\n BooleanValueAccessorDirective, NumericValueAccessorDirective, RadioValueAccessorDirective, SelectValueAccessorDirective, TextValueAccessorDirective, // navigation\n IonTabs, IonRouterOutlet, IonBackButtonDelegateDirective, NavDelegate, RouterLinkDelegateDirective, RouterLinkWithHrefDelegateDirective, // virtual scroll\n VirtualFooter, VirtualHeader, VirtualItem, IonVirtualScroll]\n});\n/** @nocollapse */\n\nIonicModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [AngularDelegate, ModalController, PopoverController],\n imports: [[CommonModule]]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IonicModule, [{\n type: NgModule,\n args: [{\n declarations: DECLARATIONS,\n exports: DECLARATIONS,\n providers: [AngularDelegate, ModalController, PopoverController],\n imports: [CommonModule]\n }]\n }], null, null);\n})(); // DIRECTIVES\n\n/**\n * Generated bundle index. Do not edit.\n */\n\n\nexport { ActionSheetController, AlertController, AngularDelegate, AnimationController, BooleanValueAccessorDirective as BooleanValueAccessor, Config, DomController, GestureController, IonAccordion, IonAccordionGroup, IonApp, IonAvatar, IonBackButton, IonBackButtonDelegateDirective as IonBackButtonDelegate, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNavLink, IonNote, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTabBar, IonTabButton, IonTabs, IonText, IonTextarea, IonThumbnail, IonTitle, IonToggle, IonToolbar, IonVirtualScroll, IonicModule, IonicRouteStrategy, LoadingController, MenuController, ModalController, NavController, NavDelegate, NavParams, NumericValueAccessorDirective as NumericValueAccessor, PickerController, Platform, PopoverController, RadioValueAccessorDirective as RadioValueAccessor, RouterLinkDelegateDirective as RouterLinkDelegate, RouterLinkWithHrefDelegateDirective as RouterLinkWithHrefDelegate, SelectValueAccessorDirective as SelectValueAccessor, TextValueAccessorDirective as TextValueAccessor, ToastController, VirtualFooter, VirtualHeader, VirtualItem };","map":{"version":3,"names":["i0","Directive","HostListener","Component","ChangeDetectionStrategy","Injectable","Injector","InjectionToken","Inject","Optional","EventEmitter","Attribute","SkipSelf","Output","ViewChild","ContentChild","Input","TemplateRef","APP_INITIALIZER","NgZone","NgModule","NgControl","NG_VALUE_ACCESSOR","__decorate","__awaiter","fromEvent","Subject","BehaviorSubject","i3","NavigationStart","PRIMARY_OUTLET","ActivatedRoute","ChildrenOutletContexts","LIFECYCLE_WILL_ENTER","LIFECYCLE_DID_ENTER","LIFECYCLE_WILL_LEAVE","LIFECYCLE_DID_LEAVE","LIFECYCLE_WILL_UNLOAD","isPlatform","getPlatforms","componentOnReady","actionSheetController","alertController","loadingController","menuController","pickerController","modalController","popoverController","toastController","createAnimation","getTimeGivenProgression","createGesture","setupConfig","IonicSafeString","IonicSlides","IonicSwiper","iosTransitionAnimation","mdTransitionAnimation","filter","switchMap","distinctUntilChanged","i1","DOCUMENT","CommonModule","applyPolyfills","defineCustomElements","raf","h","__zone_symbol__requestAnimationFrame","requestAnimationFrame","setTimeout","isComponentFactoryResolver","item","resolveComponentFactory","ValueAccessor","constructor","injector","el","onChange","onTouched","writeValue","value","nativeElement","lastValue","setIonicClasses","handleChangeEvent","_handleBlurEvent","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","disabled","ngOnDestroy","statusChanges","unsubscribe","ngAfterViewInit","ngControl","get","_a","subscribe","formControl","control","methodsToPatch","forEach","method","oldFn","bind","params","ɵfac","ElementRef","ɵdir","type","args","element","input","hasValue","toString","length","classes","getClasses","setClasses","closest","classList","i","startsWith","push","substring","remove","add","search","BooleanValueAccessorDirective","checked","_handleIonChange","provide","useExisting","multi","selector","providers","NumericValueAccessorDirective","parseFloat","RadioValueAccessorDirective","_handleIonSelect","SelectValueAccessorDirective","_handleChangeEvent","TextValueAccessorDirective","_handleInputEvent","proxyInputs","Cmp","inputs","Prototype","prototype","Object","defineProperty","set","val","z","runOutsideAngular","proxyMethods","methods","methodName","arguments","apply","proxyOutputs","instance","events","eventName","defineCustomElement","tagName","customElement","undefined","customElements","define","ProxyCmp","opts","decorator","cls","defineCustomElementFn","IonAccordion","c","r","detach","ChangeDetectorRef","ɵcmp","changeDetection","OnPush","template","IonAccordionGroup","IonApp","IonAvatar","IonBackButton","IonBackdrop","IonBadge","IonBreadcrumb","IonBreadcrumbs","IonButton","IonButtons","IonCard","IonCardContent","IonCardHeader","IonCardSubtitle","IonCardTitle","IonCheckbox","IonChip","IonCol","IonContent","IonDatetime","IonDatetimeButton","IonFab","IonFabButton","IonFabList","IonFooter","IonGrid","IonHeader","IonIcon","IonImg","IonInfiniteScroll","IonInfiniteScrollContent","IonInput","IonItem","IonItemDivider","IonItemGroup","IonItemOption","IonItemOptions","IonItemSliding","IonLabel","IonList","IonListHeader","IonMenu","IonMenuButton","IonMenuToggle","IonNav","IonNavLink","IonNote","IonProgressBar","IonRadio","IonRadioGroup","IonRange","IonRefresher","IonRefresherContent","IonReorder","IonReorderGroup","IonRippleEffect","IonRow","IonSearchbar","IonSegment","IonSegmentButton","IonSelect","IonSelectOption","IonSkeletonText","IonSlide","IonSlides","IonSpinner","IonSplitPane","IonTabBar","IonTabButton","IonText","IonTextarea","IonThumbnail","IonTitle","IonToggle","IonToolbar","NavParams","data","param","AngularDelegate","zone","appRef","create","resolverOrInjector","location","AngularFrameworkDelegate","ApplicationRef","ɵprov","elRefMap","WeakMap","elEventsMap","attachViewToDom","container","component","cssClasses","run","Promise","resolve","attachView","removeViewFromDom","_container","componentRef","destroy","delete","unbindEvents","childInjector","getProviders","parent","factory","createComponent","environmentInjector","index","indexOf","hostElement","assign","clazz","bindLifecycleEvents","appendChild","hostView","changeDetectorRef","reattach","LIFECYCLES","unregisters","map","handler","ev","detail","addEventListener","removeEventListener","NavParamsToken","useValue","useFactory","provideNavParamsInjectable","deps","insertView","views","view","direction","setRoot","setForward","setBack","v","stackId","id","getUrl","router","activatedRoute","urlTree","createUrlTree","relativeTo","serializeUrl","isTabSwitch","enteringView","leavingView","computeStackId","prefixUrl","url","segments","toSegments","path","split","s","trim","destroyView","ref","unlistenEvents","StackController","tabsPrefix","containerEl","navCtrl","skipTransition","nextId","createView","getExistingView","activatedUrlKey","find","vw","setActive","_b","consumeResult","consumeTransition","animation","animationBuilder","activeView","tabSwitch","viewsSnapshot","slice","currentNavigation","getCurrentNavigation","navigations","extras","replaceUrl","splice","reused","includes","detectChanges","customAnimation","wait","transition","canGoBack","then","cleanupAsync","deep","getActiveStackId","getStack","pop","viewSavedData","savedData","primaryOutlet","route","_routerState","snapshot","navigateBack","savedExtras","startBackTransition","endBackTransition","shouldComplete","cleanup","getLastUrl","getRootUrl","hasRunningTask","runningTask","showGoBack","progressAnimation","enteringEl","leavingEl","parentElement","commit","deepWait","duration","task","promise","finally","activeRoute","locationWithoutParams","locationWithoutFragment","setAttribute","Config","key","fallback","getConfig","getBoolean","getNumber","providedIn","ConfigToken","window","Ionic","config","Platform","doc","backButton","keyboardDidShow","keyboardDidHide","pause","resume","resize","win","defaultView","subscribeWithPriority","priority","callback","register","processNextHandler","proxyEvent","readyResolve","_readyPromise","res","once","is","platformName","platforms","ready","isRTL","dir","getQueryParam","readQueryParam","href","isLandscape","isPortrait","matchMedia","call","matches","testUserAgent","expression","nav","navigator","userAgent","width","innerWidth","height","innerHeight","decorators","replace","regex","RegExp","results","exec","decodeURIComponent","emitter","next","NavController","platform","serializer","DEFAULT_DIRECTION","animated","DEFAULT_ANIMATED","guessDirection","lastNavId","restoredState","navigationId","guessAnimation","navigateForward","options","setDirection","animationDirection","navigate","navigateRoot","back","outlet","topOutlet","parentOutlet","getAnimation","setTopOutlet","Array","isArray","parse","queryParams","fragment","navigateByUrl","Location","UrlSerializer","Router","EnvironmentInjector","IonRouterOutlet","parentContexts","name","tabs","componentFactoryResolver","commonLocation","elementRef","activated","activatedView","_activatedRoute","proxyMap","currentActivatedRoute$","stackEvents","activateEvents","deactivateEvents","nativeEl","stackCtrl","onChildOutletCreated","swipeGesture","swipe","_swipeGesture","swipeHandler","canStart","onStart","onEnd","shouldContinue","getContext","ngOnInit","context","activateWith","resolver","mode","isActivated","Error","activatedRouteData","attach","_ref","deactivate","Map","children","contextSnapshot","emit","cmpRef","saved","updateActivatedRouteProxy","_futureSnapshot","routeConfig","console","warn","childContexts","getOrCreateContext","component$","activatedRouteProxy","createActivatedRouteProxy","OutletInjector","active","getLastRouteView","getRootView","proxy","_paramMap","proxyObservable","_queryParamMap","pipe","current","ViewContainerRef","ComponentFactoryResolver","exportAs","token","notFoundValue","IonTabs","ionTabsWillChange","ionTabsDidChange","onPageSelected","tab","tabBar","selectedTab","select","tabOrEvent","isTabString","alreadySelected","tabRootUrl","stopPropagation","activeStackId","rootView","navigationExtras","lastRoute","getSelected","styles","read","static","IonBackButtonDelegateDirective","routerOutlet","onClick","defaultHref","routerAnimation","preventDefault","NavDelegate","angularDelegate","delegate","RouterLinkDelegateDirective","locationStrategy","routerLink","routerDirection","updateTargetUrlAndHref","ngOnChanges","prepareExternalUrl","LocationStrategy","RouterLink","RouterLinkWithHrefDelegateDirective","VirtualFooter","templateRef","VirtualHeader","VirtualItem","viewContainer","IonVirtualScroll","iterableDiffers","refMap","nodeRender","changes","trackBy","currentValue","differ","e","ngDoCheck","items","diff","checkRange","cell","node","itmTmp","createEmbeddedView","getComponent","$implicit","getElement","ctx","hdrTmp","ftrTmp","IterableDiffers","rootNodes","nodeType","IonModal","isCmpOpen","NgIf","NgTemplateOutlet","IonPopover","OverlayBaseController","ctrl","dismiss","role","getTop","ActionSheetController","AlertController","LoadingController","MenuController","open","menuId","close","toggle","enable","shouldEnable","isOpen","isEnabled","getOpen","getMenus","PickerController","ModalController","PopoverController","ToastController","DomController","cb","getQueue","write","queue","AnimationController","animationId","easingTime","p0","p1","p2","p3","progression","GestureController","runInsideAngularZone","getOwnPropertyNames","props","IonicRouteStrategy","shouldDetach","_route","shouldAttach","store","_detachedTree","retrieve","shouldReuseRoute","future","curr","futureParams","currentParams","keysA","keys","keysB","appInitialize","_zoneGate","aelFn","body","exclude","syncQueue","jmp","ael","elm","rel","DIRECTIVES","DECLARATIONS","IonicModule","forRoot","ngModule","ɵmod","ɵinj","declarations","exports","imports","BooleanValueAccessor","IonBackButtonDelegate","NumericValueAccessor","RadioValueAccessor","RouterLinkDelegate","RouterLinkWithHrefDelegate","SelectValueAccessor","TextValueAccessor"],"sources":["D:/MobileDev/WRB/WrenchBoard2023a/node_modules/@ionic/angular/fesm2015/ionic-angular.js"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Directive, HostListener, Component, ChangeDetectionStrategy, Injectable, Injector, InjectionToken, Inject, Optional, EventEmitter, Attribute, SkipSelf, Output, ViewChild, ContentChild, Input, TemplateRef, APP_INITIALIZER, NgZone, NgModule } from '@angular/core';\nimport { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { __decorate, __awaiter } from 'tslib';\nimport { fromEvent, Subject, BehaviorSubject } from 'rxjs';\nimport * as i3 from '@angular/router';\nimport { NavigationStart, PRIMARY_OUTLET, ActivatedRoute, ChildrenOutletContexts } from '@angular/router';\nimport { LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_UNLOAD, isPlatform, getPlatforms, componentOnReady, actionSheetController, alertController, loadingController, menuController, pickerController, modalController, popoverController, toastController, createAnimation, getTimeGivenProgression, createGesture, setupConfig } from '@ionic/core';\nexport { IonicSafeString, IonicSlides, IonicSwiper, createAnimation, createGesture, getPlatforms, getTimeGivenProgression, iosTransitionAnimation, isPlatform, mdTransitionAnimation } from '@ionic/core';\nimport { filter, switchMap, distinctUntilChanged } from 'rxjs/operators';\nimport * as i1 from '@angular/common';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { applyPolyfills, defineCustomElements } from '@ionic/core/loader';\n\nconst raf = (h) => {\n if (typeof __zone_symbol__requestAnimationFrame === 'function') {\n return __zone_symbol__requestAnimationFrame(h);\n }\n if (typeof requestAnimationFrame === 'function') {\n return requestAnimationFrame(h);\n }\n return setTimeout(h);\n};\nconst isComponentFactoryResolver = (item) => {\n return !!item.resolveComponentFactory;\n};\n\nclass ValueAccessor {\n constructor(injector, el) {\n this.injector = injector;\n this.el = el;\n this.onChange = () => {\n /**/\n };\n this.onTouched = () => {\n /**/\n };\n }\n writeValue(value) {\n /**\n * TODO for Ionic 6:\n * Change `value == null ? '' : value;`\n * to `value`. This was a fix for IE9, but IE9\n * is no longer supported; however, this change\n * is potentially a breaking change\n */\n this.el.nativeElement.value = this.lastValue = value == null ? '' : value;\n setIonicClasses(this.el);\n }\n handleChangeEvent(el, value) {\n if (el === this.el.nativeElement) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n setIonicClasses(this.el);\n }\n }\n _handleBlurEvent(el) {\n if (el === this.el.nativeElement) {\n this.onTouched();\n setIonicClasses(this.el);\n }\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this.el.nativeElement.disabled = isDisabled;\n }\n ngOnDestroy() {\n if (this.statusChanges) {\n this.statusChanges.unsubscribe();\n }\n }\n ngAfterViewInit() {\n let ngControl;\n try {\n ngControl = this.injector.get(NgControl);\n }\n catch (_a) {\n /* No FormControl or ngModel binding */\n }\n if (!ngControl) {\n return;\n }\n // Listen for changes in validity, disabled, or pending states\n if (ngControl.statusChanges) {\n this.statusChanges = ngControl.statusChanges.subscribe(() => setIonicClasses(this.el));\n }\n /**\n * TODO Remove this in favor of https://github.com/angular/angular/issues/10887\n * whenever it is implemented. Currently, Ionic's form status classes\n * do not react to changes when developers manually call\n * Angular form control methods such as markAsTouched.\n * This results in Ionic's form status classes being out\n * of sync with the ng form status classes.\n * This patches the methods to manually sync\n * the classes until this feature is implemented in Angular.\n */\n const formControl = ngControl.control;\n if (formControl) {\n const methodsToPatch = ['markAsTouched', 'markAllAsTouched', 'markAsUntouched', 'markAsDirty', 'markAsPristine'];\n methodsToPatch.forEach((method) => {\n if (typeof formControl[method] !== 'undefined') {\n const oldFn = formControl[method].bind(formControl);\n formControl[method] = (...params) => {\n oldFn(...params);\n setIonicClasses(this.el);\n };\n }\n });\n }\n }\n}\n/** @nocollapse */ ValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ValueAccessor, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ ValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: ValueAccessor, host: { listeners: { \"ionBlur\": \"_handleBlurEvent($event.target)\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ValueAccessor, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleBlurEvent: [{\n type: HostListener,\n args: ['ionBlur', ['$event.target']]\n }] } });\nconst setIonicClasses = (element) => {\n raf(() => {\n const input = element.nativeElement;\n const hasValue = input.value != null && input.value.toString().length > 0;\n const classes = getClasses(input);\n setClasses(input, classes);\n const item = input.closest('ion-item');\n if (item) {\n if (hasValue) {\n setClasses(item, [...classes, 'item-has-value']);\n }\n else {\n setClasses(item, classes);\n }\n }\n });\n};\nconst getClasses = (element) => {\n const classList = element.classList;\n const classes = [];\n for (let i = 0; i < classList.length; i++) {\n const item = classList.item(i);\n if (item !== null && startsWith(item, 'ng-')) {\n classes.push(`ion-${item.substring(3)}`);\n }\n }\n return classes;\n};\nconst setClasses = (element, classes) => {\n const classList = element.classList;\n classList.remove('ion-valid', 'ion-invalid', 'ion-touched', 'ion-untouched', 'ion-dirty', 'ion-pristine');\n classList.add(...classes);\n};\nconst startsWith = (input, search) => {\n return input.substring(0, search.length) === search;\n};\n\nclass BooleanValueAccessorDirective extends ValueAccessor {\n constructor(injector, el) {\n super(injector, el);\n }\n writeValue(value) {\n this.el.nativeElement.checked = this.lastValue = value == null ? false : value;\n setIonicClasses(this.el);\n }\n _handleIonChange(el) {\n this.handleChangeEvent(el, el.checked);\n }\n}\n/** @nocollapse */ BooleanValueAccessorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: BooleanValueAccessorDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ BooleanValueAccessorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: BooleanValueAccessorDirective, selector: \"ion-checkbox,ion-toggle\", host: { listeners: { \"ionChange\": \"_handleIonChange($event.target)\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: BooleanValueAccessorDirective,\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: BooleanValueAccessorDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'ion-checkbox,ion-toggle',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: BooleanValueAccessorDirective,\n multi: true,\n },\n ],\n }]\n }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleIonChange: [{\n type: HostListener,\n args: ['ionChange', ['$event.target']]\n }] } });\n\nclass NumericValueAccessorDirective extends ValueAccessor {\n constructor(injector, el) {\n super(injector, el);\n }\n _handleIonChange(el) {\n this.handleChangeEvent(el, el.value);\n }\n registerOnChange(fn) {\n super.registerOnChange((value) => {\n fn(value === '' ? null : parseFloat(value));\n });\n }\n}\n/** @nocollapse */ NumericValueAccessorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: NumericValueAccessorDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ NumericValueAccessorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: NumericValueAccessorDirective, selector: \"ion-input[type=number]\", host: { listeners: { \"ionChange\": \"_handleIonChange($event.target)\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NumericValueAccessorDirective,\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: NumericValueAccessorDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'ion-input[type=number]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NumericValueAccessorDirective,\n multi: true,\n },\n ],\n }]\n }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleIonChange: [{\n type: HostListener,\n args: ['ionChange', ['$event.target']]\n }] } });\n\nclass RadioValueAccessorDirective extends ValueAccessor {\n constructor(injector, el) {\n super(injector, el);\n }\n _handleIonSelect(el) {\n this.handleChangeEvent(el, el.checked);\n }\n}\n/** @nocollapse */ RadioValueAccessorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: RadioValueAccessorDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ RadioValueAccessorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: RadioValueAccessorDirective, selector: \"ion-radio\", host: { listeners: { \"ionSelect\": \"_handleIonSelect($event.target)\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioValueAccessorDirective,\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: RadioValueAccessorDirective, decorators: [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'ion-radio',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioValueAccessorDirective,\n multi: true,\n },\n ],\n }]\n }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleIonSelect: [{\n type: HostListener,\n args: ['ionSelect', ['$event.target']]\n }] } });\n\nclass SelectValueAccessorDirective extends ValueAccessor {\n constructor(injector, el) {\n super(injector, el);\n }\n _handleChangeEvent(el) {\n this.handleChangeEvent(el, el.value);\n }\n}\n/** @nocollapse */ SelectValueAccessorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: SelectValueAccessorDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ SelectValueAccessorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: SelectValueAccessorDirective, selector: \"ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime\", host: { listeners: { \"ionChange\": \"_handleChangeEvent($event.target)\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectValueAccessorDirective,\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: SelectValueAccessorDirective, decorators: [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectValueAccessorDirective,\n multi: true,\n },\n ],\n }]\n }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleChangeEvent: [{\n type: HostListener,\n args: ['ionChange', ['$event.target']]\n }] } });\n\nclass TextValueAccessorDirective extends ValueAccessor {\n constructor(injector, el) {\n super(injector, el);\n }\n _handleInputEvent(el) {\n this.handleChangeEvent(el, el.value);\n }\n}\n/** @nocollapse */ TextValueAccessorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: TextValueAccessorDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ TextValueAccessorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: TextValueAccessorDirective, selector: \"ion-input:not([type=number]),ion-textarea,ion-searchbar\", host: { listeners: { \"ionChange\": \"_handleInputEvent($event.target)\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextValueAccessorDirective,\n multi: true,\n },\n ], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: TextValueAccessorDirective, decorators: [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'ion-input:not([type=number]),ion-textarea,ion-searchbar',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextValueAccessorDirective,\n multi: true,\n },\n ],\n }]\n }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { _handleInputEvent: [{\n type: HostListener,\n args: ['ionChange', ['$event.target']]\n }] } });\n\n/* eslint-disable */\nconst proxyInputs = (Cmp, inputs) => {\n const Prototype = Cmp.prototype;\n inputs.forEach(item => {\n Object.defineProperty(Prototype, item, {\n get() {\n return this.el[item];\n },\n set(val) {\n this.z.runOutsideAngular(() => (this.el[item] = val));\n }\n });\n });\n};\nconst proxyMethods = (Cmp, methods) => {\n const Prototype = Cmp.prototype;\n methods.forEach(methodName => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));\n };\n });\n};\nconst proxyOutputs = (instance, el, events) => {\n events.forEach(eventName => instance[eventName] = fromEvent(el, eventName));\n};\nconst defineCustomElement = (tagName, customElement) => {\n if (customElement !== undefined &&\n typeof customElements !== 'undefined' &&\n !customElements.get(tagName)) {\n customElements.define(tagName, customElement);\n }\n};\n// tslint:disable-next-line: only-arrow-functions\nfunction ProxyCmp(opts) {\n const decorator = function (cls) {\n const { defineCustomElementFn, inputs, methods } = opts;\n if (defineCustomElementFn !== undefined) {\n defineCustomElementFn();\n }\n if (inputs) {\n proxyInputs(cls, inputs);\n }\n if (methods) {\n proxyMethods(cls, methods);\n }\n return cls;\n };\n return decorator;\n}\n\nlet IonAccordion = class IonAccordion {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonAccordion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonAccordion.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonAccordion, selector: \"ion-accordion\", inputs: { disabled: \"disabled\", mode: \"mode\", readonly: \"readonly\", toggleIcon: \"toggleIcon\", toggleIconSlot: \"toggleIconSlot\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonAccordion = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled', 'mode', 'readonly', 'toggleIcon', 'toggleIconSlot', 'value']\n })\n], IonAccordion);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonAccordion, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-accordion',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled', 'mode', 'readonly', 'toggleIcon', 'toggleIconSlot', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonAccordionGroup = class IonAccordionGroup {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange']);\n }\n};\n/** @nocollapse */ IonAccordionGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonAccordionGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonAccordionGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonAccordionGroup, selector: \"ion-accordion-group\", inputs: { animated: \"animated\", disabled: \"disabled\", expand: \"expand\", mode: \"mode\", multiple: \"multiple\", readonly: \"readonly\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonAccordionGroup = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['animated', 'disabled', 'expand', 'mode', 'multiple', 'readonly', 'value']\n })\n], IonAccordionGroup);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonAccordionGroup, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-accordion-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['animated', 'disabled', 'expand', 'mode', 'multiple', 'readonly', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonApp = class IonApp {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonApp.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonApp, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonApp.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonApp, selector: \"ion-app\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonApp = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined\n })\n], IonApp);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonApp, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-app',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonAvatar = class IonAvatar {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonAvatar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonAvatar, selector: \"ion-avatar\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonAvatar = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined\n })\n], IonAvatar);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonAvatar, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-avatar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonBackButton = class IonBackButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonBackButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBackButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonBackButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonBackButton, selector: \"ion-back-button\", inputs: { color: \"color\", defaultHref: \"defaultHref\", disabled: \"disabled\", icon: \"icon\", mode: \"mode\", routerAnimation: \"routerAnimation\", text: \"text\", type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonBackButton = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'routerAnimation', 'text', 'type']\n })\n], IonBackButton);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBackButton, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-back-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'routerAnimation', 'text', 'type']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonBackdrop = class IonBackdrop {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionBackdropTap']);\n }\n};\n/** @nocollapse */ IonBackdrop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBackdrop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonBackdrop.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonBackdrop, selector: \"ion-backdrop\", inputs: { stopPropagation: \"stopPropagation\", tappable: \"tappable\", visible: \"visible\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonBackdrop = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['stopPropagation', 'tappable', 'visible']\n })\n], IonBackdrop);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBackdrop, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-backdrop',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['stopPropagation', 'tappable', 'visible']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonBadge = class IonBadge {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonBadge.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonBadge.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonBadge, selector: \"ion-badge\", inputs: { color: \"color\", mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonBadge = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n })\n], IonBadge);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBadge, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-badge',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonBreadcrumb = class IonBreadcrumb {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);\n }\n};\n/** @nocollapse */ IonBreadcrumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonBreadcrumb.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonBreadcrumb, selector: \"ion-breadcrumb\", inputs: { active: \"active\", color: \"color\", disabled: \"disabled\", download: \"download\", href: \"href\", mode: \"mode\", rel: \"rel\", routerAnimation: \"routerAnimation\", routerDirection: \"routerDirection\", separator: \"separator\", target: \"target\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonBreadcrumb = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['active', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'separator', 'target']\n })\n], IonBreadcrumb);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBreadcrumb, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-breadcrumb',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['active', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'separator', 'target']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonBreadcrumbs = class IonBreadcrumbs {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionCollapsedClick']);\n }\n};\n/** @nocollapse */ IonBreadcrumbs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBreadcrumbs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonBreadcrumbs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonBreadcrumbs, selector: \"ion-breadcrumbs\", inputs: { color: \"color\", itemsAfterCollapse: \"itemsAfterCollapse\", itemsBeforeCollapse: \"itemsBeforeCollapse\", maxItems: \"maxItems\", mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonBreadcrumbs = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'itemsAfterCollapse', 'itemsBeforeCollapse', 'maxItems', 'mode']\n })\n], IonBreadcrumbs);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBreadcrumbs, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-breadcrumbs',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'itemsAfterCollapse', 'itemsBeforeCollapse', 'maxItems', 'mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonButton = class IonButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);\n }\n};\n/** @nocollapse */ IonButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonButton, selector: \"ion-button\", inputs: { buttonType: \"buttonType\", color: \"color\", disabled: \"disabled\", download: \"download\", expand: \"expand\", fill: \"fill\", href: \"href\", mode: \"mode\", rel: \"rel\", routerAnimation: \"routerAnimation\", routerDirection: \"routerDirection\", shape: \"shape\", size: \"size\", strong: \"strong\", target: \"target\", type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonButton = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type']\n })\n], IonButton);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonButton, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonButtons = class IonButtons {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonButtons.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonButtons, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonButtons.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonButtons, selector: \"ion-buttons\", inputs: { collapse: \"collapse\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonButtons = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['collapse']\n })\n], IonButtons);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonButtons, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-buttons',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['collapse']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonCard = class IonCard {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonCard, selector: \"ion-card\", inputs: { button: \"button\", color: \"color\", disabled: \"disabled\", download: \"download\", href: \"href\", mode: \"mode\", rel: \"rel\", routerAnimation: \"routerAnimation\", routerDirection: \"routerDirection\", target: \"target\", type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonCard = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type']\n })\n], IonCard);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCard, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-card',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonCardContent = class IonCardContent {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonCardContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCardContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonCardContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonCardContent, selector: \"ion-card-content\", inputs: { mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonCardContent = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['mode']\n })\n], IonCardContent);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCardContent, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-card-content',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonCardHeader = class IonCardHeader {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonCardHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCardHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonCardHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonCardHeader, selector: \"ion-card-header\", inputs: { color: \"color\", mode: \"mode\", translucent: \"translucent\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonCardHeader = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode', 'translucent']\n })\n], IonCardHeader);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCardHeader, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-card-header',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode', 'translucent']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonCardSubtitle = class IonCardSubtitle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonCardSubtitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCardSubtitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonCardSubtitle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonCardSubtitle, selector: \"ion-card-subtitle\", inputs: { color: \"color\", mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonCardSubtitle = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n })\n], IonCardSubtitle);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCardSubtitle, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-card-subtitle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonCardTitle = class IonCardTitle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonCardTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCardTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonCardTitle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonCardTitle, selector: \"ion-card-title\", inputs: { color: \"color\", mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonCardTitle = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n })\n], IonCardTitle);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCardTitle, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-card-title',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonCheckbox = class IonCheckbox {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);\n }\n};\n/** @nocollapse */ IonCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonCheckbox, selector: \"ion-checkbox\", inputs: { checked: \"checked\", color: \"color\", disabled: \"disabled\", indeterminate: \"indeterminate\", mode: \"mode\", name: \"name\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonCheckbox = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['checked', 'color', 'disabled', 'indeterminate', 'mode', 'name', 'value']\n })\n], IonCheckbox);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCheckbox, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-checkbox',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['checked', 'color', 'disabled', 'indeterminate', 'mode', 'name', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonChip = class IonChip {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonChip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonChip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonChip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonChip, selector: \"ion-chip\", inputs: { color: \"color\", disabled: \"disabled\", mode: \"mode\", outline: \"outline\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonChip = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'disabled', 'mode', 'outline']\n })\n], IonChip);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonChip, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-chip',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'disabled', 'mode', 'outline']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonCol = class IonCol {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonCol.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCol, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonCol.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonCol, selector: \"ion-col\", inputs: { offset: \"offset\", offsetLg: \"offsetLg\", offsetMd: \"offsetMd\", offsetSm: \"offsetSm\", offsetXl: \"offsetXl\", offsetXs: \"offsetXs\", pull: \"pull\", pullLg: \"pullLg\", pullMd: \"pullMd\", pullSm: \"pullSm\", pullXl: \"pullXl\", pullXs: \"pullXs\", push: \"push\", pushLg: \"pushLg\", pushMd: \"pushMd\", pushSm: \"pushSm\", pushXl: \"pushXl\", pushXs: \"pushXs\", size: \"size\", sizeLg: \"sizeLg\", sizeMd: \"sizeMd\", sizeSm: \"sizeSm\", sizeXl: \"sizeXl\", sizeXs: \"sizeXs\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonCol = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs']\n })\n], IonCol);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonCol, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-col',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonContent = class IonContent {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionScrollStart', 'ionScroll', 'ionScrollEnd']);\n }\n};\n/** @nocollapse */ IonContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonContent, selector: \"ion-content\", inputs: { color: \"color\", forceOverscroll: \"forceOverscroll\", fullscreen: \"fullscreen\", scrollEvents: \"scrollEvents\", scrollX: \"scrollX\", scrollY: \"scrollY\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonContent = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY'],\n methods: ['getScrollElement', 'scrollToTop', 'scrollToBottom', 'scrollByPoint', 'scrollToPoint']\n })\n], IonContent);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonContent, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-content',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonDatetime = class IonDatetime {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']);\n }\n};\n/** @nocollapse */ IonDatetime.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonDatetime, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonDatetime.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonDatetime, selector: \"ion-datetime\", inputs: { cancelText: \"cancelText\", clearText: \"clearText\", color: \"color\", dayValues: \"dayValues\", disabled: \"disabled\", doneText: \"doneText\", firstDayOfWeek: \"firstDayOfWeek\", hourCycle: \"hourCycle\", hourValues: \"hourValues\", isDateEnabled: \"isDateEnabled\", locale: \"locale\", max: \"max\", min: \"min\", minuteValues: \"minuteValues\", mode: \"mode\", monthValues: \"monthValues\", multiple: \"multiple\", name: \"name\", preferWheel: \"preferWheel\", presentation: \"presentation\", readonly: \"readonly\", showClearButton: \"showClearButton\", showDefaultButtons: \"showDefaultButtons\", showDefaultTimeLabel: \"showDefaultTimeLabel\", showDefaultTitle: \"showDefaultTitle\", size: \"size\", value: \"value\", yearValues: \"yearValues\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonDatetime = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['cancelText', 'clearText', 'color', 'dayValues', 'disabled', 'doneText', 'firstDayOfWeek', 'hourCycle', 'hourValues', 'isDateEnabled', 'locale', 'max', 'min', 'minuteValues', 'mode', 'monthValues', 'multiple', 'name', 'preferWheel', 'presentation', 'readonly', 'showClearButton', 'showDefaultButtons', 'showDefaultTimeLabel', 'showDefaultTitle', 'size', 'value', 'yearValues'],\n methods: ['confirm', 'reset', 'cancel']\n })\n], IonDatetime);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonDatetime, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-datetime',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['cancelText', 'clearText', 'color', 'dayValues', 'disabled', 'doneText', 'firstDayOfWeek', 'hourCycle', 'hourValues', 'isDateEnabled', 'locale', 'max', 'min', 'minuteValues', 'mode', 'monthValues', 'multiple', 'name', 'preferWheel', 'presentation', 'readonly', 'showClearButton', 'showDefaultButtons', 'showDefaultTimeLabel', 'showDefaultTitle', 'size', 'value', 'yearValues']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonDatetimeButton = class IonDatetimeButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonDatetimeButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonDatetimeButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonDatetimeButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonDatetimeButton, selector: \"ion-datetime-button\", inputs: { color: \"color\", datetime: \"datetime\", disabled: \"disabled\", mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonDatetimeButton = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'datetime', 'disabled', 'mode']\n })\n], IonDatetimeButton);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonDatetimeButton, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-datetime-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'datetime', 'disabled', 'mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonFab = class IonFab {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonFab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonFab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonFab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonFab, selector: \"ion-fab\", inputs: { activated: \"activated\", edge: \"edge\", horizontal: \"horizontal\", vertical: \"vertical\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonFab = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['activated', 'edge', 'horizontal', 'vertical'],\n methods: ['close']\n })\n], IonFab);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonFab, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-fab',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['activated', 'edge', 'horizontal', 'vertical']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonFabButton = class IonFabButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);\n }\n};\n/** @nocollapse */ IonFabButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonFabButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonFabButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonFabButton, selector: \"ion-fab-button\", inputs: { activated: \"activated\", closeIcon: \"closeIcon\", color: \"color\", disabled: \"disabled\", download: \"download\", href: \"href\", mode: \"mode\", rel: \"rel\", routerAnimation: \"routerAnimation\", routerDirection: \"routerDirection\", show: \"show\", size: \"size\", target: \"target\", translucent: \"translucent\", type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonFabButton = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['activated', 'closeIcon', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type']\n })\n], IonFabButton);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonFabButton, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-fab-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['activated', 'closeIcon', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonFabList = class IonFabList {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonFabList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonFabList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonFabList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonFabList, selector: \"ion-fab-list\", inputs: { activated: \"activated\", side: \"side\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonFabList = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['activated', 'side']\n })\n], IonFabList);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonFabList, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-fab-list',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['activated', 'side']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonFooter = class IonFooter {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonFooter, selector: \"ion-footer\", inputs: { collapse: \"collapse\", mode: \"mode\", translucent: \"translucent\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonFooter = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['collapse', 'mode', 'translucent']\n })\n], IonFooter);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonFooter, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-footer',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['collapse', 'mode', 'translucent']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonGrid = class IonGrid {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonGrid, selector: \"ion-grid\", inputs: { fixed: \"fixed\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonGrid = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['fixed']\n })\n], IonGrid);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonGrid, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-grid',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['fixed']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonHeader = class IonHeader {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonHeader, selector: \"ion-header\", inputs: { collapse: \"collapse\", mode: \"mode\", translucent: \"translucent\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonHeader = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['collapse', 'mode', 'translucent']\n })\n], IonHeader);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonHeader, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-header',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['collapse', 'mode', 'translucent']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonIcon = class IonIcon {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonIcon, selector: \"ion-icon\", inputs: { color: \"color\", flipRtl: \"flipRtl\", icon: \"icon\", ios: \"ios\", lazy: \"lazy\", md: \"md\", mode: \"mode\", name: \"name\", sanitize: \"sanitize\", size: \"size\", src: \"src\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonIcon = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src']\n })\n], IonIcon);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonIcon, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-icon',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonImg = class IonImg {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionImgWillLoad', 'ionImgDidLoad', 'ionError']);\n }\n};\n/** @nocollapse */ IonImg.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonImg, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonImg.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonImg, selector: \"ion-img\", inputs: { alt: \"alt\", src: \"src\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonImg = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['alt', 'src']\n })\n], IonImg);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonImg, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-img',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['alt', 'src']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonInfiniteScroll = class IonInfiniteScroll {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionInfinite']);\n }\n};\n/** @nocollapse */ IonInfiniteScroll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonInfiniteScroll, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonInfiniteScroll.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonInfiniteScroll, selector: \"ion-infinite-scroll\", inputs: { disabled: \"disabled\", position: \"position\", threshold: \"threshold\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonInfiniteScroll = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled', 'position', 'threshold'],\n methods: ['complete']\n })\n], IonInfiniteScroll);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonInfiniteScroll, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-infinite-scroll',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled', 'position', 'threshold']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonInfiniteScrollContent = class IonInfiniteScrollContent {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonInfiniteScrollContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonInfiniteScrollContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonInfiniteScrollContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonInfiniteScrollContent, selector: \"ion-infinite-scroll-content\", inputs: { loadingSpinner: \"loadingSpinner\", loadingText: \"loadingText\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonInfiniteScrollContent = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['loadingSpinner', 'loadingText']\n })\n], IonInfiniteScrollContent);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonInfiniteScrollContent, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-infinite-scroll-content',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['loadingSpinner', 'loadingText']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonInput = class IonInput {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']);\n }\n};\n/** @nocollapse */ IonInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonInput, selector: \"ion-input\", inputs: { accept: \"accept\", autocapitalize: \"autocapitalize\", autocomplete: \"autocomplete\", autocorrect: \"autocorrect\", autofocus: \"autofocus\", clearInput: \"clearInput\", clearOnEdit: \"clearOnEdit\", color: \"color\", debounce: \"debounce\", disabled: \"disabled\", enterkeyhint: \"enterkeyhint\", inputmode: \"inputmode\", max: \"max\", maxlength: \"maxlength\", min: \"min\", minlength: \"minlength\", mode: \"mode\", multiple: \"multiple\", name: \"name\", pattern: \"pattern\", placeholder: \"placeholder\", readonly: \"readonly\", required: \"required\", size: \"size\", spellcheck: \"spellcheck\", step: \"step\", type: \"type\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonInput = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['accept', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearOnEdit', 'color', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'mode', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'type', 'value'],\n methods: ['setFocus', 'getInputElement']\n })\n], IonInput);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonInput, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-input',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['accept', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearOnEdit', 'color', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'mode', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'type', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonItem = class IonItem {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonItem, selector: \"ion-item\", inputs: { button: \"button\", color: \"color\", counter: \"counter\", counterFormatter: \"counterFormatter\", detail: \"detail\", detailIcon: \"detailIcon\", disabled: \"disabled\", download: \"download\", fill: \"fill\", href: \"href\", lines: \"lines\", mode: \"mode\", rel: \"rel\", routerAnimation: \"routerAnimation\", routerDirection: \"routerDirection\", shape: \"shape\", target: \"target\", type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonItem = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['button', 'color', 'counter', 'counterFormatter', 'detail', 'detailIcon', 'disabled', 'download', 'fill', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'target', 'type']\n })\n], IonItem);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItem, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-item',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['button', 'color', 'counter', 'counterFormatter', 'detail', 'detailIcon', 'disabled', 'download', 'fill', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'target', 'type']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonItemDivider = class IonItemDivider {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonItemDivider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItemDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonItemDivider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonItemDivider, selector: \"ion-item-divider\", inputs: { color: \"color\", mode: \"mode\", sticky: \"sticky\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonItemDivider = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode', 'sticky']\n })\n], IonItemDivider);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItemDivider, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-item-divider',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode', 'sticky']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonItemGroup = class IonItemGroup {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonItemGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItemGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonItemGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonItemGroup, selector: \"ion-item-group\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonItemGroup = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined\n })\n], IonItemGroup);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItemGroup, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-item-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonItemOption = class IonItemOption {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonItemOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItemOption, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonItemOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonItemOption, selector: \"ion-item-option\", inputs: { color: \"color\", disabled: \"disabled\", download: \"download\", expandable: \"expandable\", href: \"href\", mode: \"mode\", rel: \"rel\", target: \"target\", type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonItemOption = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type']\n })\n], IonItemOption);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItemOption, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-item-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonItemOptions = class IonItemOptions {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionSwipe']);\n }\n};\n/** @nocollapse */ IonItemOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItemOptions, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonItemOptions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonItemOptions, selector: \"ion-item-options\", inputs: { side: \"side\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonItemOptions = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['side']\n })\n], IonItemOptions);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItemOptions, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-item-options',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['side']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonItemSliding = class IonItemSliding {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionDrag']);\n }\n};\n/** @nocollapse */ IonItemSliding.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItemSliding, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonItemSliding.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonItemSliding, selector: \"ion-item-sliding\", inputs: { disabled: \"disabled\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonItemSliding = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled'],\n methods: ['getOpenAmount', 'getSlidingRatio', 'open', 'close', 'closeOpened']\n })\n], IonItemSliding);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonItemSliding, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-item-sliding',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonLabel = class IonLabel {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonLabel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonLabel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonLabel, selector: \"ion-label\", inputs: { color: \"color\", mode: \"mode\", position: \"position\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonLabel = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode', 'position']\n })\n], IonLabel);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonLabel, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-label',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode', 'position']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonList = class IonList {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonList, selector: \"ion-list\", inputs: { inset: \"inset\", lines: \"lines\", mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonList = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['inset', 'lines', 'mode'],\n methods: ['closeSlidingItems']\n })\n], IonList);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonList, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-list',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['inset', 'lines', 'mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonListHeader = class IonListHeader {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonListHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonListHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonListHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonListHeader, selector: \"ion-list-header\", inputs: { color: \"color\", lines: \"lines\", mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonListHeader = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'lines', 'mode']\n })\n], IonListHeader);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonListHeader, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-list-header',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'lines', 'mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonMenu = class IonMenu {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionWillOpen', 'ionWillClose', 'ionDidOpen', 'ionDidClose']);\n }\n};\n/** @nocollapse */ IonMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonMenu.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonMenu, selector: \"ion-menu\", inputs: { contentId: \"contentId\", disabled: \"disabled\", maxEdgeStart: \"maxEdgeStart\", menuId: \"menuId\", side: \"side\", swipeGesture: \"swipeGesture\", type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonMenu = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type'],\n methods: ['isOpen', 'isActive', 'open', 'close', 'toggle', 'setOpen']\n })\n], IonMenu);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonMenu, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonMenuButton = class IonMenuButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonMenuButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonMenuButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonMenuButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonMenuButton, selector: \"ion-menu-button\", inputs: { autoHide: \"autoHide\", color: \"color\", disabled: \"disabled\", menu: \"menu\", mode: \"mode\", type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonMenuButton = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['autoHide', 'color', 'disabled', 'menu', 'mode', 'type']\n })\n], IonMenuButton);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonMenuButton, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-menu-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['autoHide', 'color', 'disabled', 'menu', 'mode', 'type']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonMenuToggle = class IonMenuToggle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonMenuToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonMenuToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonMenuToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonMenuToggle, selector: \"ion-menu-toggle\", inputs: { autoHide: \"autoHide\", menu: \"menu\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonMenuToggle = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['autoHide', 'menu']\n })\n], IonMenuToggle);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonMenuToggle, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-menu-toggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['autoHide', 'menu']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonNav = class IonNav {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionNavWillChange', 'ionNavDidChange']);\n }\n};\n/** @nocollapse */ IonNav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonNav, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonNav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonNav, selector: \"ion-nav\", inputs: { animated: \"animated\", animation: \"animation\", root: \"root\", rootParams: \"rootParams\", swipeGesture: \"swipeGesture\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonNav = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture'],\n methods: ['push', 'insert', 'insertPages', 'pop', 'popTo', 'popToRoot', 'removeIndex', 'setRoot', 'setPages', 'getActive', 'getByIndex', 'canGoBack', 'getPrevious']\n })\n], IonNav);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonNav, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-nav',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonNavLink = class IonNavLink {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonNavLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonNavLink, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonNavLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonNavLink, selector: \"ion-nav-link\", inputs: { component: \"component\", componentProps: \"componentProps\", routerAnimation: \"routerAnimation\", routerDirection: \"routerDirection\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonNavLink = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['component', 'componentProps', 'routerAnimation', 'routerDirection']\n })\n], IonNavLink);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonNavLink, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-nav-link',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['component', 'componentProps', 'routerAnimation', 'routerDirection']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonNote = class IonNote {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonNote.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonNote, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonNote.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonNote, selector: \"ion-note\", inputs: { color: \"color\", mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonNote = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n })\n], IonNote);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonNote, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-note',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonProgressBar = class IonProgressBar {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonProgressBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonProgressBar, selector: \"ion-progress-bar\", inputs: { buffer: \"buffer\", color: \"color\", mode: \"mode\", reversed: \"reversed\", type: \"type\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonProgressBar = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['buffer', 'color', 'mode', 'reversed', 'type', 'value']\n })\n], IonProgressBar);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonProgressBar, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-progress-bar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['buffer', 'color', 'mode', 'reversed', 'type', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonRadio = class IonRadio {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);\n }\n};\n/** @nocollapse */ IonRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonRadio, selector: \"ion-radio\", inputs: { color: \"color\", disabled: \"disabled\", mode: \"mode\", name: \"name\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonRadio = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'disabled', 'mode', 'name', 'value']\n })\n], IonRadio);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRadio, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-radio',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'disabled', 'mode', 'name', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonRadioGroup = class IonRadioGroup {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange']);\n }\n};\n/** @nocollapse */ IonRadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRadioGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonRadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonRadioGroup, selector: \"ion-radio-group\", inputs: { allowEmptySelection: \"allowEmptySelection\", name: \"name\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonRadioGroup = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['allowEmptySelection', 'name', 'value']\n })\n], IonRadioGroup);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRadioGroup, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-radio-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['allowEmptySelection', 'name', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonRange = class IonRange {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur', 'ionKnobMoveStart', 'ionKnobMoveEnd']);\n }\n};\n/** @nocollapse */ IonRange.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRange, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonRange, selector: \"ion-range\", inputs: { activeBarStart: \"activeBarStart\", color: \"color\", debounce: \"debounce\", disabled: \"disabled\", dualKnobs: \"dualKnobs\", max: \"max\", min: \"min\", mode: \"mode\", name: \"name\", pin: \"pin\", pinFormatter: \"pinFormatter\", snaps: \"snaps\", step: \"step\", ticks: \"ticks\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonRange = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['activeBarStart', 'color', 'debounce', 'disabled', 'dualKnobs', 'max', 'min', 'mode', 'name', 'pin', 'pinFormatter', 'snaps', 'step', 'ticks', 'value']\n })\n], IonRange);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRange, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-range',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['activeBarStart', 'color', 'debounce', 'disabled', 'dualKnobs', 'max', 'min', 'mode', 'name', 'pin', 'pinFormatter', 'snaps', 'step', 'ticks', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonRefresher = class IonRefresher {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionRefresh', 'ionPull', 'ionStart']);\n }\n};\n/** @nocollapse */ IonRefresher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRefresher, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonRefresher.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonRefresher, selector: \"ion-refresher\", inputs: { closeDuration: \"closeDuration\", disabled: \"disabled\", pullFactor: \"pullFactor\", pullMax: \"pullMax\", pullMin: \"pullMin\", snapbackDuration: \"snapbackDuration\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonRefresher = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['closeDuration', 'disabled', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration'],\n methods: ['complete', 'cancel', 'getProgress']\n })\n], IonRefresher);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRefresher, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-refresher',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['closeDuration', 'disabled', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonRefresherContent = class IonRefresherContent {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonRefresherContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRefresherContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonRefresherContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonRefresherContent, selector: \"ion-refresher-content\", inputs: { pullingIcon: \"pullingIcon\", pullingText: \"pullingText\", refreshingSpinner: \"refreshingSpinner\", refreshingText: \"refreshingText\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonRefresherContent = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText']\n })\n], IonRefresherContent);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRefresherContent, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-refresher-content',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonReorder = class IonReorder {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonReorder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonReorder, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonReorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonReorder, selector: \"ion-reorder\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonReorder = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined\n })\n], IonReorder);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonReorder, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-reorder',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonReorderGroup = class IonReorderGroup {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionItemReorder']);\n }\n};\n/** @nocollapse */ IonReorderGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonReorderGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonReorderGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonReorderGroup, selector: \"ion-reorder-group\", inputs: { disabled: \"disabled\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonReorderGroup = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled'],\n methods: ['complete']\n })\n], IonReorderGroup);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonReorderGroup, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-reorder-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonRippleEffect = class IonRippleEffect {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonRippleEffect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRippleEffect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonRippleEffect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonRippleEffect, selector: \"ion-ripple-effect\", inputs: { type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonRippleEffect = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['type'],\n methods: ['addRipple']\n })\n], IonRippleEffect);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRippleEffect, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-ripple-effect',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['type']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonRow = class IonRow {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonRow, selector: \"ion-row\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonRow = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined\n })\n], IonRow);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRow, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-row',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonSearchbar = class IonSearchbar {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus']);\n }\n};\n/** @nocollapse */ IonSearchbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSearchbar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonSearchbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonSearchbar, selector: \"ion-searchbar\", inputs: { animated: \"animated\", autocomplete: \"autocomplete\", autocorrect: \"autocorrect\", cancelButtonIcon: \"cancelButtonIcon\", cancelButtonText: \"cancelButtonText\", clearIcon: \"clearIcon\", color: \"color\", debounce: \"debounce\", disabled: \"disabled\", enterkeyhint: \"enterkeyhint\", inputmode: \"inputmode\", mode: \"mode\", placeholder: \"placeholder\", searchIcon: \"searchIcon\", showCancelButton: \"showCancelButton\", showClearButton: \"showClearButton\", spellcheck: \"spellcheck\", type: \"type\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonSearchbar = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['animated', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'mode', 'placeholder', 'searchIcon', 'showCancelButton', 'showClearButton', 'spellcheck', 'type', 'value'],\n methods: ['setFocus', 'getInputElement']\n })\n], IonSearchbar);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSearchbar, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-searchbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['animated', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'mode', 'placeholder', 'searchIcon', 'showCancelButton', 'showClearButton', 'spellcheck', 'type', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonSegment = class IonSegment {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange']);\n }\n};\n/** @nocollapse */ IonSegment.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSegment, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonSegment.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonSegment, selector: \"ion-segment\", inputs: { color: \"color\", disabled: \"disabled\", mode: \"mode\", scrollable: \"scrollable\", selectOnFocus: \"selectOnFocus\", swipeGesture: \"swipeGesture\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonSegment = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'disabled', 'mode', 'scrollable', 'selectOnFocus', 'swipeGesture', 'value']\n })\n], IonSegment);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSegment, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-segment',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'disabled', 'mode', 'scrollable', 'selectOnFocus', 'swipeGesture', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonSegmentButton = class IonSegmentButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonSegmentButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSegmentButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonSegmentButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonSegmentButton, selector: \"ion-segment-button\", inputs: { disabled: \"disabled\", layout: \"layout\", mode: \"mode\", type: \"type\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonSegmentButton = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled', 'layout', 'mode', 'type', 'value']\n })\n], IonSegmentButton);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSegmentButton, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-segment-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled', 'layout', 'mode', 'type', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonSelect = class IonSelect {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionCancel', 'ionDismiss', 'ionFocus', 'ionBlur']);\n }\n};\n/** @nocollapse */ IonSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonSelect, selector: \"ion-select\", inputs: { cancelText: \"cancelText\", compareWith: \"compareWith\", disabled: \"disabled\", interface: \"interface\", interfaceOptions: \"interfaceOptions\", mode: \"mode\", multiple: \"multiple\", name: \"name\", okText: \"okText\", placeholder: \"placeholder\", selectedText: \"selectedText\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonSelect = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['cancelText', 'compareWith', 'disabled', 'interface', 'interfaceOptions', 'mode', 'multiple', 'name', 'okText', 'placeholder', 'selectedText', 'value'],\n methods: ['open']\n })\n], IonSelect);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSelect, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-select',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['cancelText', 'compareWith', 'disabled', 'interface', 'interfaceOptions', 'mode', 'multiple', 'name', 'okText', 'placeholder', 'selectedText', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonSelectOption = class IonSelectOption {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonSelectOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSelectOption, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonSelectOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonSelectOption, selector: \"ion-select-option\", inputs: { disabled: \"disabled\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonSelectOption = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled', 'value']\n })\n], IonSelectOption);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSelectOption, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-select-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonSkeletonText = class IonSkeletonText {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonSkeletonText.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSkeletonText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonSkeletonText.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonSkeletonText, selector: \"ion-skeleton-text\", inputs: { animated: \"animated\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonSkeletonText = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['animated']\n })\n], IonSkeletonText);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSkeletonText, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-skeleton-text',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['animated']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonSlide = class IonSlide {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonSlide.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSlide, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonSlide.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonSlide, selector: \"ion-slide\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonSlide = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined\n })\n], IonSlide);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSlide, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-slide',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonSlides = class IonSlides {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionSlidesDidLoad', 'ionSlideTap', 'ionSlideDoubleTap', 'ionSlideWillChange', 'ionSlideDidChange', 'ionSlideNextStart', 'ionSlidePrevStart', 'ionSlideNextEnd', 'ionSlidePrevEnd', 'ionSlideTransitionStart', 'ionSlideTransitionEnd', 'ionSlideDrag', 'ionSlideReachStart', 'ionSlideReachEnd', 'ionSlideTouchStart', 'ionSlideTouchEnd']);\n }\n};\n/** @nocollapse */ IonSlides.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSlides, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonSlides.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonSlides, selector: \"ion-slides\", inputs: { mode: \"mode\", options: \"options\", pager: \"pager\", scrollbar: \"scrollbar\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonSlides = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['mode', 'options', 'pager', 'scrollbar'],\n methods: ['update', 'updateAutoHeight', 'slideTo', 'slideNext', 'slidePrev', 'getActiveIndex', 'getPreviousIndex', 'length', 'isEnd', 'isBeginning', 'startAutoplay', 'stopAutoplay', 'lockSwipeToNext', 'lockSwipeToPrev', 'lockSwipes', 'getSwiper']\n })\n], IonSlides);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSlides, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-slides',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['mode', 'options', 'pager', 'scrollbar']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonSpinner = class IonSpinner {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSpinner, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonSpinner, selector: \"ion-spinner\", inputs: { color: \"color\", duration: \"duration\", name: \"name\", paused: \"paused\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonSpinner = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'duration', 'name', 'paused']\n })\n], IonSpinner);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSpinner, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-spinner',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'duration', 'name', 'paused']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonSplitPane = class IonSplitPane {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionSplitPaneVisible']);\n }\n};\n/** @nocollapse */ IonSplitPane.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSplitPane, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonSplitPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonSplitPane, selector: \"ion-split-pane\", inputs: { contentId: \"contentId\", disabled: \"disabled\", when: \"when\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonSplitPane = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['contentId', 'disabled', 'when']\n })\n], IonSplitPane);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonSplitPane, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-split-pane',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['contentId', 'disabled', 'when']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonTabBar = class IonTabBar {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonTabBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonTabBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonTabBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonTabBar, selector: \"ion-tab-bar\", inputs: { color: \"color\", mode: \"mode\", selectedTab: \"selectedTab\", translucent: \"translucent\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonTabBar = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode', 'selectedTab', 'translucent']\n })\n], IonTabBar);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonTabBar, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-tab-bar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode', 'selectedTab', 'translucent']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonTabButton = class IonTabButton {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonTabButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonTabButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonTabButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonTabButton, selector: \"ion-tab-button\", inputs: { disabled: \"disabled\", download: \"download\", href: \"href\", layout: \"layout\", mode: \"mode\", rel: \"rel\", selected: \"selected\", tab: \"tab\", target: \"target\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonTabButton = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target']\n })\n], IonTabButton);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonTabButton, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-tab-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonText = class IonText {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonText.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonText.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonText, selector: \"ion-text\", inputs: { color: \"color\", mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonText = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n })\n], IonText);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonText, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-text',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonTextarea = class IonTextarea {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionBlur', 'ionFocus']);\n }\n};\n/** @nocollapse */ IonTextarea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonTextarea, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonTextarea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonTextarea, selector: \"ion-textarea\", inputs: { autoGrow: \"autoGrow\", autocapitalize: \"autocapitalize\", autofocus: \"autofocus\", clearOnEdit: \"clearOnEdit\", color: \"color\", cols: \"cols\", debounce: \"debounce\", disabled: \"disabled\", enterkeyhint: \"enterkeyhint\", inputmode: \"inputmode\", maxlength: \"maxlength\", minlength: \"minlength\", mode: \"mode\", name: \"name\", placeholder: \"placeholder\", readonly: \"readonly\", required: \"required\", rows: \"rows\", spellcheck: \"spellcheck\", value: \"value\", wrap: \"wrap\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonTextarea = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'readonly', 'required', 'rows', 'spellcheck', 'value', 'wrap'],\n methods: ['setFocus', 'getInputElement']\n })\n], IonTextarea);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonTextarea, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-textarea',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'readonly', 'required', 'rows', 'spellcheck', 'value', 'wrap']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonThumbnail = class IonThumbnail {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonThumbnail.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonThumbnail, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonThumbnail.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonThumbnail, selector: \"ion-thumbnail\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonThumbnail = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined\n })\n], IonThumbnail);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonThumbnail, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-thumbnail',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>'\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonTitle = class IonTitle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonTitle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonTitle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonTitle, selector: \"ion-title\", inputs: { color: \"color\", size: \"size\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonTitle = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'size']\n })\n], IonTitle);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonTitle, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-title',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'size']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonToggle = class IonToggle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);\n }\n};\n/** @nocollapse */ IonToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonToggle, selector: \"ion-toggle\", inputs: { checked: \"checked\", color: \"color\", disabled: \"disabled\", enableOnOffLabels: \"enableOnOffLabels\", mode: \"mode\", name: \"name\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonToggle = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['checked', 'color', 'disabled', 'enableOnOffLabels', 'mode', 'name', 'value']\n })\n], IonToggle);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonToggle, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-toggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['checked', 'color', 'disabled', 'enableOnOffLabels', 'mode', 'name', 'value']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\nlet IonToolbar = class IonToolbar {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n};\n/** @nocollapse */ IonToolbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonToolbar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonToolbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonToolbar, selector: \"ion-toolbar\", inputs: { color: \"color\", mode: \"mode\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonToolbar = __decorate([\n ProxyCmp({\n defineCustomElementFn: undefined,\n inputs: ['color', 'mode']\n })\n], IonToolbar);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonToolbar, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-toolbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n inputs: ['color', 'mode']\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });\n\n/**\n * @description\n * NavParams are an object that exists on a page and can contain data for that particular view.\n * Similar to how data was pass to a view in V1 with `$stateParams`, NavParams offer a much more flexible\n * option with a simple `get` method.\n *\n * @usage\n * ```ts\n * import { NavParams } from '@ionic/angular';\n *\n * export class MyClass{\n *\n * constructor(navParams: NavParams){\n * // userParams is an object we have in our nav-parameters\n * navParams.get('userParams');\n * }\n *\n * }\n * ```\n */\nclass NavParams {\n constructor(data = {}) {\n this.data = data;\n }\n /**\n * Get the value of a nav-parameter for the current view\n *\n * ```ts\n * import { NavParams } from 'ionic-angular';\n *\n * export class MyClass{\n * constructor(public navParams: NavParams){\n * // userParams is an object we have in our nav-parameters\n * this.navParams.get('userParams');\n * }\n * }\n * ```\n *\n * @param param Which param you want to look up\n */\n get(param) {\n return this.data[param];\n }\n}\n\nclass AngularDelegate {\n constructor(zone, appRef) {\n this.zone = zone;\n this.appRef = appRef;\n }\n create(resolverOrInjector, injector, location) {\n return new AngularFrameworkDelegate(resolverOrInjector, injector, location, this.appRef, this.zone);\n }\n}\n/** @nocollapse */ AngularDelegate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: AngularDelegate, deps: [{ token: i0.NgZone }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ AngularDelegate.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: AngularDelegate });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: AngularDelegate, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ApplicationRef }]; } });\nclass AngularFrameworkDelegate {\n constructor(resolverOrInjector, injector, location, appRef, zone) {\n this.resolverOrInjector = resolverOrInjector;\n this.injector = injector;\n this.location = location;\n this.appRef = appRef;\n this.zone = zone;\n this.elRefMap = new WeakMap();\n this.elEventsMap = new WeakMap();\n }\n attachViewToDom(container, component, params, cssClasses) {\n return this.zone.run(() => {\n return new Promise((resolve) => {\n const el = attachView(this.zone, this.resolverOrInjector, this.injector, this.location, this.appRef, this.elRefMap, this.elEventsMap, container, component, params, cssClasses);\n resolve(el);\n });\n });\n }\n removeViewFromDom(_container, component) {\n return this.zone.run(() => {\n return new Promise((resolve) => {\n const componentRef = this.elRefMap.get(component);\n if (componentRef) {\n componentRef.destroy();\n this.elRefMap.delete(component);\n const unbindEvents = this.elEventsMap.get(component);\n if (unbindEvents) {\n unbindEvents();\n this.elEventsMap.delete(component);\n }\n }\n resolve();\n });\n });\n }\n}\nconst attachView = (zone, resolverOrInjector, injector, location, appRef, elRefMap, elEventsMap, container, component, params, cssClasses) => {\n let componentRef;\n const childInjector = Injector.create({\n providers: getProviders(params),\n parent: injector,\n });\n if (resolverOrInjector && isComponentFactoryResolver(resolverOrInjector)) {\n // Angular 13 and lower\n const factory = resolverOrInjector.resolveComponentFactory(component);\n componentRef = location\n ? location.createComponent(factory, location.length, childInjector)\n : factory.create(childInjector);\n }\n else if (location) {\n // Angular 14\n const environmentInjector = resolverOrInjector;\n componentRef = location.createComponent(component, {\n index: location.indexOf,\n injector: childInjector,\n environmentInjector,\n });\n }\n else {\n return null;\n }\n const instance = componentRef.instance;\n const hostElement = componentRef.location.nativeElement;\n if (params) {\n Object.assign(instance, params);\n }\n if (cssClasses) {\n for (const clazz of cssClasses) {\n hostElement.classList.add(clazz);\n }\n }\n const unbindEvents = bindLifecycleEvents(zone, instance, hostElement);\n container.appendChild(hostElement);\n if (!location) {\n appRef.attachView(componentRef.hostView);\n }\n componentRef.changeDetectorRef.reattach();\n elRefMap.set(hostElement, componentRef);\n elEventsMap.set(hostElement, unbindEvents);\n return hostElement;\n};\nconst LIFECYCLES = [\n LIFECYCLE_WILL_ENTER,\n LIFECYCLE_DID_ENTER,\n LIFECYCLE_WILL_LEAVE,\n LIFECYCLE_DID_LEAVE,\n LIFECYCLE_WILL_UNLOAD,\n];\nconst bindLifecycleEvents = (zone, instance, element) => {\n return zone.run(() => {\n const unregisters = LIFECYCLES.filter((eventName) => typeof instance[eventName] === 'function').map((eventName) => {\n const handler = (ev) => instance[eventName](ev.detail);\n element.addEventListener(eventName, handler);\n return () => element.removeEventListener(eventName, handler);\n });\n return () => unregisters.forEach((fn) => fn());\n });\n};\nconst NavParamsToken = new InjectionToken('NavParamsToken');\nconst getProviders = (params) => {\n return [\n {\n provide: NavParamsToken,\n useValue: params,\n },\n {\n provide: NavParams,\n useFactory: provideNavParamsInjectable,\n deps: [NavParamsToken],\n },\n ];\n};\nconst provideNavParamsInjectable = (params) => {\n return new NavParams(params);\n};\n\nconst insertView = (views, view, direction) => {\n if (direction === 'root') {\n return setRoot(views, view);\n }\n else if (direction === 'forward') {\n return setForward(views, view);\n }\n else {\n return setBack(views, view);\n }\n};\nconst setRoot = (views, view) => {\n views = views.filter((v) => v.stackId !== view.stackId);\n views.push(view);\n return views;\n};\nconst setForward = (views, view) => {\n const index = views.indexOf(view);\n if (index >= 0) {\n views = views.filter((v) => v.stackId !== view.stackId || v.id <= view.id);\n }\n else {\n views.push(view);\n }\n return views;\n};\nconst setBack = (views, view) => {\n const index = views.indexOf(view);\n if (index >= 0) {\n return views.filter((v) => v.stackId !== view.stackId || v.id <= view.id);\n }\n else {\n return setRoot(views, view);\n }\n};\nconst getUrl = (router, activatedRoute) => {\n const urlTree = router.createUrlTree(['.'], { relativeTo: activatedRoute });\n return router.serializeUrl(urlTree);\n};\nconst isTabSwitch = (enteringView, leavingView) => {\n if (!leavingView) {\n return true;\n }\n return enteringView.stackId !== leavingView.stackId;\n};\nconst computeStackId = (prefixUrl, url) => {\n if (!prefixUrl) {\n return undefined;\n }\n const segments = toSegments(url);\n for (let i = 0; i < segments.length; i++) {\n if (i >= prefixUrl.length) {\n return segments[i];\n }\n if (segments[i] !== prefixUrl[i]) {\n return undefined;\n }\n }\n return undefined;\n};\nconst toSegments = (path) => {\n return path\n .split('/')\n .map((s) => s.trim())\n .filter((s) => s !== '');\n};\nconst destroyView = (view) => {\n if (view) {\n // TODO lifecycle event\n view.ref.destroy();\n view.unlistenEvents();\n }\n};\n\nclass StackController {\n constructor(tabsPrefix, containerEl, router, navCtrl, zone, location) {\n this.containerEl = containerEl;\n this.router = router;\n this.navCtrl = navCtrl;\n this.zone = zone;\n this.location = location;\n this.views = [];\n this.skipTransition = false;\n this.nextId = 0;\n this.tabsPrefix = tabsPrefix !== undefined ? toSegments(tabsPrefix) : undefined;\n }\n createView(ref, activatedRoute) {\n var _a;\n const url = getUrl(this.router, activatedRoute);\n const element = (_a = ref === null || ref === void 0 ? void 0 : ref.location) === null || _a === void 0 ? void 0 : _a.nativeElement;\n const unlistenEvents = bindLifecycleEvents(this.zone, ref.instance, element);\n return {\n id: this.nextId++,\n stackId: computeStackId(this.tabsPrefix, url),\n unlistenEvents,\n element,\n ref,\n url,\n };\n }\n getExistingView(activatedRoute) {\n const activatedUrlKey = getUrl(this.router, activatedRoute);\n const view = this.views.find((vw) => vw.url === activatedUrlKey);\n if (view) {\n view.ref.changeDetectorRef.reattach();\n }\n return view;\n }\n setActive(enteringView) {\n var _a, _b;\n const consumeResult = this.navCtrl.consumeTransition();\n let { direction, animation, animationBuilder } = consumeResult;\n const leavingView = this.activeView;\n const tabSwitch = isTabSwitch(enteringView, leavingView);\n if (tabSwitch) {\n direction = 'back';\n animation = undefined;\n }\n const viewsSnapshot = this.views.slice();\n let currentNavigation;\n const router = this.router;\n // Angular >= 7.2.0\n if (router.getCurrentNavigation) {\n currentNavigation = router.getCurrentNavigation();\n // Angular < 7.2.0\n }\n else if ((_a = router.navigations) === null || _a === void 0 ? void 0 : _a.value) {\n currentNavigation = router.navigations.value;\n }\n /**\n * If the navigation action\n * sets `replaceUrl: true`\n * then we need to make sure\n * we remove the last item\n * from our views stack\n */\n if ((_b = currentNavigation === null || currentNavigation === void 0 ? void 0 : currentNavigation.extras) === null || _b === void 0 ? void 0 : _b.replaceUrl) {\n if (this.views.length > 0) {\n this.views.splice(-1, 1);\n }\n }\n const reused = this.views.includes(enteringView);\n const views = this.insertView(enteringView, direction);\n // Trigger change detection before transition starts\n // This will call ngOnInit() the first time too, just after the view\n // was attached to the dom, but BEFORE the transition starts\n if (!reused) {\n enteringView.ref.changeDetectorRef.detectChanges();\n }\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 = enteringView.animationBuilder;\n if (animationBuilder === undefined && direction === 'back' && !tabSwitch && customAnimation !== undefined) {\n animationBuilder = customAnimation;\n }\n /**\n * Save any custom animation so that navigating\n * back will use this custom animation by default.\n */\n if (leavingView) {\n leavingView.animationBuilder = animationBuilder;\n }\n // Wait until previous transitions finish\n return this.zone.runOutsideAngular(() => {\n return this.wait(() => {\n // disconnect leaving page from change detection to\n // reduce jank during the page transition\n if (leavingView) {\n leavingView.ref.changeDetectorRef.detach();\n }\n // In case the enteringView is the same as the leavingPage we need to reattach()\n enteringView.ref.changeDetectorRef.reattach();\n return this.transition(enteringView, leavingView, animation, this.canGoBack(1), false, animationBuilder)\n .then(() => cleanupAsync(enteringView, views, viewsSnapshot, this.location, this.zone))\n .then(() => ({\n enteringView,\n direction,\n animation,\n tabSwitch,\n }));\n });\n });\n }\n canGoBack(deep, stackId = this.getActiveStackId()) {\n return this.getStack(stackId).length > deep;\n }\n pop(deep, stackId = this.getActiveStackId()) {\n return this.zone.run(() => {\n var _a, _b;\n const views = this.getStack(stackId);\n if (views.length <= deep) {\n return Promise.resolve(false);\n }\n const view = views[views.length - deep - 1];\n let url = view.url;\n const viewSavedData = view.savedData;\n if (viewSavedData) {\n const primaryOutlet = viewSavedData.get('primary');\n if ((_b = (_a = primaryOutlet === null || primaryOutlet === void 0 ? void 0 : primaryOutlet.route) === null || _a === void 0 ? void 0 : _a._routerState) === null || _b === void 0 ? void 0 : _b.snapshot.url) {\n url = primaryOutlet.route._routerState.snapshot.url;\n }\n }\n const { animationBuilder } = this.navCtrl.consumeTransition();\n return this.navCtrl.navigateBack(url, Object.assign(Object.assign({}, view.savedExtras), { animation: animationBuilder })).then(() => true);\n });\n }\n startBackTransition() {\n const leavingView = this.activeView;\n if (leavingView) {\n const views = this.getStack(leavingView.stackId);\n const enteringView = views[views.length - 2];\n const customAnimation = enteringView.animationBuilder;\n return this.wait(() => {\n return this.transition(enteringView, // entering view\n leavingView, // leaving view\n 'back', this.canGoBack(2), true, customAnimation);\n });\n }\n return Promise.resolve();\n }\n endBackTransition(shouldComplete) {\n if (shouldComplete) {\n this.skipTransition = true;\n this.pop(1);\n }\n else if (this.activeView) {\n cleanup(this.activeView, this.views, this.views, this.location, this.zone);\n }\n }\n getLastUrl(stackId) {\n const views = this.getStack(stackId);\n return views.length > 0 ? views[views.length - 1] : undefined;\n }\n /**\n * @internal\n */\n getRootUrl(stackId) {\n const views = this.getStack(stackId);\n return views.length > 0 ? views[0] : undefined;\n }\n getActiveStackId() {\n return this.activeView ? this.activeView.stackId : undefined;\n }\n hasRunningTask() {\n return this.runningTask !== undefined;\n }\n destroy() {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.containerEl = undefined;\n this.views.forEach(destroyView);\n this.activeView = undefined;\n this.views = [];\n }\n getStack(stackId) {\n return this.views.filter((v) => v.stackId === stackId);\n }\n insertView(enteringView, direction) {\n this.activeView = enteringView;\n this.views = insertView(this.views, enteringView, direction);\n return this.views.slice();\n }\n transition(enteringView, leavingView, direction, showGoBack, progressAnimation, animationBuilder) {\n if (this.skipTransition) {\n this.skipTransition = false;\n return Promise.resolve(false);\n }\n if (leavingView === enteringView) {\n return Promise.resolve(false);\n }\n const enteringEl = enteringView ? enteringView.element : undefined;\n const leavingEl = leavingView ? leavingView.element : undefined;\n const containerEl = this.containerEl;\n if (enteringEl && enteringEl !== leavingEl) {\n enteringEl.classList.add('ion-page');\n enteringEl.classList.add('ion-page-invisible');\n if (enteringEl.parentElement !== containerEl) {\n containerEl.appendChild(enteringEl);\n }\n if (containerEl.commit) {\n return containerEl.commit(enteringEl, leavingEl, {\n deepWait: true,\n duration: direction === undefined ? 0 : undefined,\n direction,\n showGoBack,\n progressAnimation,\n animationBuilder,\n });\n }\n }\n return Promise.resolve(false);\n }\n wait(task) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.runningTask !== undefined) {\n yield this.runningTask;\n this.runningTask = undefined;\n }\n const promise = (this.runningTask = task());\n promise.finally(() => (this.runningTask = undefined));\n return promise;\n });\n }\n}\nconst cleanupAsync = (activeRoute, views, viewsSnapshot, location, zone) => {\n if (typeof requestAnimationFrame === 'function') {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n cleanup(activeRoute, views, viewsSnapshot, location, zone);\n resolve();\n });\n });\n }\n return Promise.resolve();\n};\nconst cleanup = (activeRoute, views, viewsSnapshot, location, zone) => {\n /**\n * Re-enter the Angular zone when destroying page components. This will allow\n * lifecycle events (`ngOnDestroy`) to be run inside the Angular zone.\n */\n zone.run(() => viewsSnapshot.filter((view) => !views.includes(view)).forEach(destroyView));\n views.forEach((view) => {\n /**\n * In the event that a user navigated multiple\n * times in rapid succession, we want to make sure\n * we don't pre-emptively detach a view while\n * it is in mid-transition.\n *\n * In this instance we also do not care about query\n * params or fragments as it will be the same view regardless\n */\n const locationWithoutParams = location.path().split('?')[0];\n const locationWithoutFragment = locationWithoutParams.split('#')[0];\n if (view !== activeRoute && view.url !== locationWithoutFragment) {\n const element = view.element;\n element.setAttribute('aria-hidden', 'true');\n element.classList.add('ion-page-hidden');\n view.ref.changeDetectorRef.detach();\n }\n });\n};\n\nclass Config {\n get(key, fallback) {\n const c = getConfig();\n if (c) {\n return c.get(key, fallback);\n }\n return null;\n }\n getBoolean(key, fallback) {\n const c = getConfig();\n if (c) {\n return c.getBoolean(key, fallback);\n }\n return false;\n }\n getNumber(key, fallback) {\n const c = getConfig();\n if (c) {\n return c.getNumber(key, fallback);\n }\n return 0;\n }\n}\n/** @nocollapse */ Config.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: Config, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ Config.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: Config, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: Config, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\nconst ConfigToken = new InjectionToken('USERCONFIG');\nconst getConfig = () => {\n if (typeof window !== 'undefined') {\n const Ionic = window.Ionic;\n if (Ionic === null || Ionic === void 0 ? void 0 : Ionic.config) {\n return Ionic.config;\n }\n }\n return null;\n};\n\nclass Platform {\n constructor(doc, zone) {\n this.doc = doc;\n /**\n * @hidden\n */\n this.backButton = new Subject();\n /**\n * The keyboardDidShow event emits when the\n * on-screen keyboard is presented.\n */\n this.keyboardDidShow = new Subject();\n /**\n * The keyboardDidHide event emits when the\n * on-screen keyboard is hidden.\n */\n this.keyboardDidHide = new Subject();\n /**\n * The pause event emits when the native platform puts the application\n * into the background, typically when the user switches to a different\n * application. This event would emit when a Cordova app is put into\n * the background, however, it would not fire on a standard web browser.\n */\n this.pause = new Subject();\n /**\n * The resume event emits when the native platform pulls the application\n * out from the background. This event would emit when a Cordova app comes\n * out from the background, however, it would not fire on a standard web browser.\n */\n this.resume = new Subject();\n /**\n * The resize event emits when the browser window has changed dimensions. This\n * could be from a browser window being physically resized, or from a device\n * changing orientation.\n */\n this.resize = new Subject();\n zone.run(() => {\n var _a;\n this.win = doc.defaultView;\n this.backButton.subscribeWithPriority = function (priority, callback) {\n return this.subscribe((ev) => {\n return ev.register(priority, (processNextHandler) => zone.run(() => callback(processNextHandler)));\n });\n };\n proxyEvent(this.pause, doc, 'pause');\n proxyEvent(this.resume, doc, 'resume');\n proxyEvent(this.backButton, doc, 'ionBackButton');\n proxyEvent(this.resize, this.win, 'resize');\n proxyEvent(this.keyboardDidShow, this.win, 'ionKeyboardDidShow');\n proxyEvent(this.keyboardDidHide, this.win, 'ionKeyboardDidHide');\n let readyResolve;\n this._readyPromise = new Promise((res) => {\n readyResolve = res;\n });\n if ((_a = this.win) === null || _a === void 0 ? void 0 : _a['cordova']) {\n doc.addEventListener('deviceready', () => {\n readyResolve('cordova');\n }, { once: true });\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n readyResolve('dom');\n }\n });\n }\n /**\n * @returns returns true/false based on platform.\n * @description\n * Depending on the platform the user is on, `is(platformName)` will\n * return `true` or `false`. Note that the same app can return `true`\n * for more than one platform name. For example, an app running from\n * an iPad would return `true` for the platform names: `mobile`,\n * `ios`, `ipad`, and `tablet`. Additionally, if the app was running\n * from Cordova then `cordova` would be true, and if it was running\n * from a web browser on the iPad then `mobileweb` would be `true`.\n *\n * ```\n * import { Platform } from 'ionic-angular';\n *\n * @Component({...})\n * export MyPage {\n * constructor(public platform: Platform) {\n * if (this.platform.is('ios')) {\n * // This will only print when on iOS\n * console.log('I am an iOS device!');\n * }\n * }\n * }\n * ```\n *\n * | Platform Name | Description |\n * |-----------------|------------------------------------|\n * | android | on a device running Android. |\n * | capacitor | on a device running Capacitor. |\n * | cordova | on a device running Cordova. |\n * | ios | on a device running iOS. |\n * | ipad | on an iPad device. |\n * | iphone | on an iPhone device. |\n * | phablet | on a phablet device. |\n * | tablet | on a tablet device. |\n * | electron | in Electron on a desktop device. |\n * | pwa | as a PWA app. |\n * | mobile | on a mobile device. |\n * | mobileweb | on a mobile device in a browser. |\n * | desktop | on a desktop device. |\n * | hybrid | is a cordova or capacitor app. |\n *\n */\n is(platformName) {\n return isPlatform(this.win, platformName);\n }\n /**\n * @returns the array of platforms\n * @description\n * Depending on what device you are on, `platforms` can return multiple values.\n * Each possible value is a hierarchy of platforms. For example, on an iPhone,\n * it would return `mobile`, `ios`, and `iphone`.\n *\n * ```\n * import { Platform } from 'ionic-angular';\n *\n * @Component({...})\n * export MyPage {\n * constructor(public platform: Platform) {\n * // This will print an array of the current platforms\n * console.log(this.platform.platforms());\n * }\n * }\n * ```\n */\n platforms() {\n return getPlatforms(this.win);\n }\n /**\n * Returns a promise when the platform is ready and native functionality\n * can be called. If the app is running from within a web browser, then\n * the promise will resolve when the DOM is ready. When the app is running\n * from an application engine such as Cordova, then the promise will\n * resolve when Cordova triggers the `deviceready` event.\n *\n * The resolved value is the `readySource`, which states which platform\n * ready was used. For example, when Cordova is ready, the resolved ready\n * source is `cordova`. The default ready source value will be `dom`. The\n * `readySource` is useful if different logic should run depending on the\n * platform the app is running from. For example, only Cordova can execute\n * the status bar plugin, so the web should not run status bar plugin logic.\n *\n * ```\n * import { Component } from '@angular/core';\n * import { Platform } from 'ionic-angular';\n *\n * @Component({...})\n * export MyApp {\n * constructor(public platform: Platform) {\n * this.platform.ready().then((readySource) => {\n * console.log('Platform ready from', readySource);\n * // Platform now ready, execute any required native code\n * });\n * }\n * }\n * ```\n */\n ready() {\n return this._readyPromise;\n }\n /**\n * Returns if this app is using right-to-left language direction or not.\n * We recommend the app's `index.html` file already has the correct `dir`\n * attribute value set, such as `<html dir=\"ltr\">` or `<html dir=\"rtl\">`.\n * [W3C: Structural markup and right-to-left text in HTML](http://www.w3.org/International/questions/qa-html-dir)\n */\n get isRTL() {\n return this.doc.dir === 'rtl';\n }\n /**\n * Get the query string parameter\n */\n getQueryParam(key) {\n return readQueryParam(this.win.location.href, key);\n }\n /**\n * Returns `true` if the app is in landscape mode.\n */\n isLandscape() {\n return !this.isPortrait();\n }\n /**\n * Returns `true` if the app is in portrait mode.\n */\n isPortrait() {\n var _a, _b;\n return (_b = (_a = this.win).matchMedia) === null || _b === void 0 ? void 0 : _b.call(_a, '(orientation: portrait)').matches;\n }\n testUserAgent(expression) {\n const nav = this.win.navigator;\n return !!((nav === null || nav === void 0 ? void 0 : nav.userAgent) && nav.userAgent.indexOf(expression) >= 0);\n }\n /**\n * Get the current url.\n */\n url() {\n return this.win.location.href;\n }\n /**\n * Gets the width of the platform's viewport using `window.innerWidth`.\n */\n width() {\n return this.win.innerWidth;\n }\n /**\n * Gets the height of the platform's viewport using `window.innerHeight`.\n */\n height() {\n return this.win.innerHeight;\n }\n}\n/** @nocollapse */ Platform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: Platform, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ Platform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: Platform, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: Platform, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.NgZone }]; } });\nconst readQueryParam = (url, key) => {\n key = key.replace(/[[\\]\\\\]/g, '\\\\$&');\n const regex = new RegExp('[\\\\?&]' + key + '=([^&#]*)');\n const results = regex.exec(url);\n return results ? decodeURIComponent(results[1].replace(/\\+/g, ' ')) : null;\n};\nconst proxyEvent = (emitter, el, eventName) => {\n if (el) {\n el.addEventListener(eventName, (ev) => {\n // ?? cordova might emit \"null\" events\n emitter.next(ev != null ? ev.detail : undefined);\n });\n }\n};\n\nclass NavController {\n constructor(platform, location, serializer, router) {\n this.location = location;\n this.serializer = serializer;\n this.router = router;\n this.direction = DEFAULT_DIRECTION;\n this.animated = DEFAULT_ANIMATED;\n this.guessDirection = 'forward';\n this.lastNavId = -1;\n // Subscribe to router events to detect direction\n if (router) {\n router.events.subscribe((ev) => {\n if (ev instanceof NavigationStart) {\n const id = ev.restoredState ? ev.restoredState.navigationId : ev.id;\n this.guessDirection = id < this.lastNavId ? 'back' : 'forward';\n this.guessAnimation = !ev.restoredState ? this.guessDirection : undefined;\n this.lastNavId = this.guessDirection === 'forward' ? ev.id : id;\n }\n });\n }\n // Subscribe to backButton events\n platform.backButton.subscribeWithPriority(0, (processNextHandler) => {\n this.pop();\n processNextHandler();\n });\n }\n /**\n * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,\n * it's equivalent to calling `this.router.navigateByUrl()`, but it's explicit about the **direction** of the transition.\n *\n * Going **forward** means that a new page is going to be pushed to the stack of the outlet (ion-router-outlet),\n * and that it will show a \"forward\" animation by default.\n *\n * Navigating forward can also be triggered in a declarative manner by using the `[routerDirection]` directive:\n *\n * ```html\n * <a routerLink=\"/path/to/page\" routerDirection=\"forward\">Link</a>\n * ```\n */\n navigateForward(url, options = {}) {\n this.setDirection('forward', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\n }\n /**\n * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,\n * it's equivalent to calling:\n *\n * ```ts\n * this.navController.setDirection('back');\n * this.router.navigateByUrl(path);\n * ```\n *\n * Going **back** means that all the pages in the stack until the navigated page is found will be popped,\n * and that it will show a \"back\" animation by default.\n *\n * Navigating back can also be triggered in a declarative manner by using the `[routerDirection]` directive:\n *\n * ```html\n * <a routerLink=\"/path/to/page\" routerDirection=\"back\">Link</a>\n * ```\n */\n navigateBack(url, options = {}) {\n this.setDirection('back', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\n }\n /**\n * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,\n * it's equivalent to calling:\n *\n * ```ts\n * this.navController.setDirection('root');\n * this.router.navigateByUrl(path);\n * ```\n *\n * Going **root** means that all existing pages in the stack will be removed,\n * and the navigated page will become the single page in the stack.\n *\n * Navigating root can also be triggered in a declarative manner by using the `[routerDirection]` directive:\n *\n * ```html\n * <a routerLink=\"/path/to/page\" routerDirection=\"root\">Link</a>\n * ```\n */\n navigateRoot(url, options = {}) {\n this.setDirection('root', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\n }\n /**\n * Same as [Location](https://angular.io/api/common/Location)'s back() method.\n * It will use the standard `window.history.back()` under the hood, but featuring a `back` animation\n * by default.\n */\n back(options = { animated: true, animationDirection: 'back' }) {\n this.setDirection('back', options.animated, options.animationDirection, options.animation);\n return this.location.back();\n }\n /**\n * This methods goes back in the context of Ionic's stack navigation.\n *\n * It recursively finds the top active `ion-router-outlet` and calls `pop()`.\n * This is the recommended way to go back when you are using `ion-router-outlet`.\n */\n pop() {\n return __awaiter(this, void 0, void 0, function* () {\n let outlet = this.topOutlet;\n while (outlet) {\n if (yield outlet.pop()) {\n break;\n }\n else {\n outlet = outlet.parentOutlet;\n }\n }\n });\n }\n /**\n * This methods specifies the direction of the next navigation performed by the Angular router.\n *\n * `setDirection()` does not trigger any transition, it just sets some flags to be consumed by `ion-router-outlet`.\n *\n * It's recommended to use `navigateForward()`, `navigateBack()` and `navigateRoot()` instead of `setDirection()`.\n */\n setDirection(direction, animated, animationDirection, animationBuilder) {\n this.direction = direction;\n this.animated = getAnimation(direction, animated, animationDirection);\n this.animationBuilder = animationBuilder;\n }\n /**\n * @internal\n */\n setTopOutlet(outlet) {\n this.topOutlet = outlet;\n }\n /**\n * @internal\n */\n consumeTransition() {\n let direction = 'root';\n let animation;\n const animationBuilder = this.animationBuilder;\n if (this.direction === 'auto') {\n direction = this.guessDirection;\n animation = this.guessAnimation;\n }\n else {\n animation = this.animated;\n direction = this.direction;\n }\n this.direction = DEFAULT_DIRECTION;\n this.animated = DEFAULT_ANIMATED;\n this.animationBuilder = undefined;\n return {\n direction,\n animation,\n animationBuilder,\n };\n }\n navigate(url, options) {\n if (Array.isArray(url)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.router.navigate(url, options);\n }\n else {\n /**\n * navigateByUrl ignores any properties that\n * would change the url, so things like queryParams\n * would be ignored unless we create a url tree\n * More Info: https://github.com/angular/angular/issues/18798\n */\n const urlTree = this.serializer.parse(url.toString());\n if (options.queryParams !== undefined) {\n urlTree.queryParams = Object.assign({}, options.queryParams);\n }\n if (options.fragment !== undefined) {\n urlTree.fragment = options.fragment;\n }\n /**\n * `navigateByUrl` will still apply `NavigationExtras` properties\n * that do not modify the url, such as `replaceUrl` which is why\n * `options` is passed in here.\n */\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.router.navigateByUrl(urlTree, options);\n }\n }\n}\n/** @nocollapse */ NavController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: NavController, deps: [{ token: Platform }, { token: i1.Location }, { token: i3.UrlSerializer }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ NavController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: NavController, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: NavController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return [{ type: Platform }, { type: i1.Location }, { type: i3.UrlSerializer }, { type: i3.Router, decorators: [{\n type: Optional\n }] }]; } });\nconst getAnimation = (direction, animated, animationDirection) => {\n if (animated === false) {\n return undefined;\n }\n if (animationDirection !== undefined) {\n return animationDirection;\n }\n if (direction === 'forward' || direction === 'back') {\n return direction;\n }\n else if (direction === 'root' && animated === true) {\n return 'forward';\n }\n return undefined;\n};\nconst DEFAULT_DIRECTION = 'auto';\nconst DEFAULT_ANIMATED = undefined;\n\n/**\n * An `Injector` that's part of the environment injector hierarchy, which exists outside of the\n * component tree.\n *\n * @developerPreview\n */\nclass EnvironmentInjector {\n}\n\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nclass IonRouterOutlet {\n constructor(parentContexts, location, name, tabs, config, navCtrl, environmentInjector, componentFactoryResolver, commonLocation, elementRef, router, zone, activatedRoute, parentOutlet) {\n this.parentContexts = parentContexts;\n this.location = location;\n this.config = config;\n this.navCtrl = navCtrl;\n this.environmentInjector = environmentInjector;\n this.componentFactoryResolver = componentFactoryResolver;\n this.parentOutlet = parentOutlet;\n this.activated = null;\n this.activatedView = null;\n this._activatedRoute = null;\n // Maintain map of activated route proxies for each component instance\n this.proxyMap = new WeakMap();\n // Keep the latest activated route in a subject for the proxy routes to switch map to\n this.currentActivatedRoute$ = new BehaviorSubject(null);\n this.stackEvents = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-rename\n this.activateEvents = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-rename\n this.deactivateEvents = new EventEmitter();\n this.nativeEl = elementRef.nativeElement;\n this.name = name || PRIMARY_OUTLET;\n this.tabsPrefix = tabs === 'true' ? getUrl(router, activatedRoute) : undefined;\n this.stackCtrl = new StackController(this.tabsPrefix, this.nativeEl, router, navCtrl, zone, commonLocation);\n parentContexts.onChildOutletCreated(this.name, this);\n }\n set animation(animation) {\n this.nativeEl.animation = animation;\n }\n set animated(animated) {\n this.nativeEl.animated = animated;\n }\n set swipeGesture(swipe) {\n this._swipeGesture = swipe;\n this.nativeEl.swipeHandler = swipe\n ? {\n canStart: () => this.stackCtrl.canGoBack(1) && !this.stackCtrl.hasRunningTask(),\n onStart: () => this.stackCtrl.startBackTransition(),\n onEnd: (shouldContinue) => this.stackCtrl.endBackTransition(shouldContinue),\n }\n : undefined;\n }\n ngOnDestroy() {\n this.stackCtrl.destroy();\n }\n getContext() {\n return this.parentContexts.getContext(this.name);\n }\n ngOnInit() {\n if (!this.activated) {\n // If the outlet was not instantiated at the time the route got activated we need to populate\n // the outlet when it is initialized (ie inside a NgIf)\n const context = this.getContext();\n if (context === null || context === void 0 ? void 0 : context.route) {\n this.activateWith(context.route, context.resolver || null);\n }\n }\n new Promise((resolve) => componentOnReady(this.nativeEl, resolve)).then(() => {\n if (this._swipeGesture === undefined) {\n this.swipeGesture = this.config.getBoolean('swipeBackEnabled', this.nativeEl.mode === 'ios');\n }\n });\n }\n get isActivated() {\n return !!this.activated;\n }\n get component() {\n if (!this.activated) {\n throw new Error('Outlet is not activated');\n }\n return this.activated.instance;\n }\n get activatedRoute() {\n if (!this.activated) {\n throw new Error('Outlet is not activated');\n }\n return this._activatedRoute;\n }\n get activatedRouteData() {\n if (this._activatedRoute) {\n return this._activatedRoute.snapshot.data;\n }\n return {};\n }\n /**\n * Called when the `RouteReuseStrategy` instructs to detach the subtree\n */\n detach() {\n throw new Error('incompatible reuse strategy');\n }\n /**\n * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n attach(_ref, _activatedRoute) {\n throw new Error('incompatible reuse strategy');\n }\n deactivate() {\n if (this.activated) {\n if (this.activatedView) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const context = this.getContext();\n this.activatedView.savedData = new Map(context.children['contexts']);\n /**\n * Angular v11.2.10 introduced a change\n * where this route context is cleared out when\n * a router-outlet is deactivated, However,\n * we need this route information in order to\n * return a user back to the correct tab when\n * leaving and then going back to the tab context.\n */\n const primaryOutlet = this.activatedView.savedData.get('primary');\n if (primaryOutlet && context.route) {\n primaryOutlet.route = Object.assign({}, context.route);\n }\n /**\n * Ensure we are saving the NavigationExtras\n * data otherwise it will be lost\n */\n this.activatedView.savedExtras = {};\n if (context.route) {\n const contextSnapshot = context.route.snapshot;\n this.activatedView.savedExtras.queryParams = contextSnapshot.queryParams;\n this.activatedView.savedExtras.fragment = contextSnapshot.fragment;\n }\n }\n const c = this.component;\n this.activatedView = null;\n this.activated = null;\n this._activatedRoute = null;\n this.deactivateEvents.emit(c);\n }\n }\n activateWith(activatedRoute, resolverOrInjector) {\n if (this.isActivated) {\n throw new Error('Cannot activate an already activated outlet');\n }\n this._activatedRoute = activatedRoute;\n let cmpRef;\n let enteringView = this.stackCtrl.getExistingView(activatedRoute);\n if (enteringView) {\n cmpRef = this.activated = enteringView.ref;\n const saved = enteringView.savedData;\n if (saved) {\n // self-restore\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const context = this.getContext();\n context.children['contexts'] = saved;\n }\n // Updated activated route proxy for this component\n this.updateActivatedRouteProxy(cmpRef.instance, activatedRoute);\n }\n else {\n const snapshot = activatedRoute._futureSnapshot;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const component = snapshot.routeConfig.component;\n /**\n * Angular 14 introduces a new `loadComponent` property to the route config,\n * that assigns the component to load to the `component` property of\n * the route snapshot. We can check for the presence of this property\n * to determine if the route is using standalone components.\n *\n * TODO: FW-1631: Remove this check when supporting standalone components\n */\n if (component == null && snapshot.component) {\n console.warn('[Ionic Warning]: Standalone components are not currently supported with ion-router-outlet. You can track this feature request at https://github.com/ionic-team/ionic-framework/issues/25404');\n return;\n }\n const childContexts = this.parentContexts.getOrCreateContext(this.name).children;\n // We create an activated route proxy object that will maintain future updates for this component\n // over its lifecycle in the stack.\n const component$ = new BehaviorSubject(null);\n const activatedRouteProxy = this.createActivatedRouteProxy(component$, activatedRoute);\n const injector = new OutletInjector(activatedRouteProxy, childContexts, this.location.injector);\n /**\n * The resolver is not always provided and is required in Angular 12.\n * Fallback to the class-level provider when the resolver is not set.\n */\n resolverOrInjector = resolverOrInjector || this.componentFactoryResolver;\n if (resolverOrInjector && isComponentFactoryResolver(resolverOrInjector)) {\n // Backwards compatibility for Angular 13 and lower\n const factory = resolverOrInjector.resolveComponentFactory(component);\n cmpRef = this.activated = this.location.createComponent(factory, this.location.length, injector);\n }\n else {\n /**\n * Angular 14 and higher.\n *\n * TODO: FW-1641: Migrate once Angular 13 support is dropped.\n *\n * When we drop < Angular 14, we can replace the following code with:\n * ```ts\n const environmentInjector = resolverOrInjector ?? this.environmentInjector;\n cmpRef = this.activated = location.createComponent(component, {\n index: location.length,\n injector,\n environmentInjector,\n });\n * ```\n * where `this.environmentInjector` is a provider of `EnvironmentInjector` from @angular/core.\n */\n const environmentInjector = resolverOrInjector !== null && resolverOrInjector !== void 0 ? resolverOrInjector : this.environmentInjector;\n cmpRef = this.activated = this.location.createComponent(component, {\n index: this.location.length,\n injector,\n environmentInjector,\n });\n }\n // Once the component is created we can push it to our local subject supplied to the proxy\n component$.next(cmpRef.instance);\n // Calling `markForCheck` to make sure we will run the change detection when the\n // `RouterOutlet` is inside a `ChangeDetectionStrategy.OnPush` component.\n enteringView = this.stackCtrl.createView(this.activated, activatedRoute);\n // Store references to the proxy by component\n this.proxyMap.set(cmpRef.instance, activatedRouteProxy);\n this.currentActivatedRoute$.next({ component: cmpRef.instance, activatedRoute });\n }\n this.activatedView = enteringView;\n this.stackCtrl.setActive(enteringView).then((data) => {\n this.navCtrl.setTopOutlet(this);\n this.activateEvents.emit(cmpRef.instance);\n this.stackEvents.emit(data);\n });\n }\n /**\n * Returns `true` if there are pages in the stack to go back.\n */\n canGoBack(deep = 1, stackId) {\n return this.stackCtrl.canGoBack(deep, stackId);\n }\n /**\n * Resolves to `true` if it the outlet was able to sucessfully pop the last N pages.\n */\n pop(deep = 1, stackId) {\n return this.stackCtrl.pop(deep, stackId);\n }\n /**\n * Returns the URL of the active page of each stack.\n */\n getLastUrl(stackId) {\n const active = this.stackCtrl.getLastUrl(stackId);\n return active ? active.url : undefined;\n }\n /**\n * Returns the RouteView of the active page of each stack.\n * @internal\n */\n getLastRouteView(stackId) {\n return this.stackCtrl.getLastUrl(stackId);\n }\n /**\n * Returns the root view in the tab stack.\n * @internal\n */\n getRootView(stackId) {\n return this.stackCtrl.getRootUrl(stackId);\n }\n /**\n * Returns the active stack ID. In the context of ion-tabs, it means the active tab.\n */\n getActiveStackId() {\n return this.stackCtrl.getActiveStackId();\n }\n /**\n * Since the activated route can change over the life time of a component in an ion router outlet, we create\n * a proxy so that we can update the values over time as a user navigates back to components already in the stack.\n */\n createActivatedRouteProxy(component$, activatedRoute) {\n const proxy = new ActivatedRoute();\n proxy._futureSnapshot = activatedRoute._futureSnapshot;\n proxy._routerState = activatedRoute._routerState;\n proxy.snapshot = activatedRoute.snapshot;\n proxy.outlet = activatedRoute.outlet;\n proxy.component = activatedRoute.component;\n // Setup wrappers for the observables so consumers don't have to worry about switching to new observables as the state updates\n proxy._paramMap = this.proxyObservable(component$, 'paramMap');\n proxy._queryParamMap = this.proxyObservable(component$, 'queryParamMap');\n proxy.url = this.proxyObservable(component$, 'url');\n proxy.params = this.proxyObservable(component$, 'params');\n proxy.queryParams = this.proxyObservable(component$, 'queryParams');\n proxy.fragment = this.proxyObservable(component$, 'fragment');\n proxy.data = this.proxyObservable(component$, 'data');\n return proxy;\n }\n /**\n * Create a wrapped observable that will switch to the latest activated route matched by the given component\n */\n proxyObservable(component$, path) {\n return component$.pipe(\n // First wait until the component instance is pushed\n filter((component) => !!component), switchMap((component) => this.currentActivatedRoute$.pipe(filter((current) => current !== null && current.component === component), switchMap((current) => current && current.activatedRoute[path]), distinctUntilChanged())));\n }\n /**\n * Updates the activated route proxy for the given component to the new incoming router state\n */\n updateActivatedRouteProxy(component, activatedRoute) {\n const proxy = this.proxyMap.get(component);\n if (!proxy) {\n throw new Error(`Could not find activated route proxy for view`);\n }\n proxy._futureSnapshot = activatedRoute._futureSnapshot;\n proxy._routerState = activatedRoute._routerState;\n proxy.snapshot = activatedRoute.snapshot;\n proxy.outlet = activatedRoute.outlet;\n proxy.component = activatedRoute.component;\n this.currentActivatedRoute$.next({ component, activatedRoute });\n }\n}\n/** @nocollapse */ IonRouterOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRouterOutlet, deps: [{ token: i3.ChildrenOutletContexts }, { token: i0.ViewContainerRef }, { token: 'name', attribute: true }, { token: 'tabs', attribute: true, optional: true }, { token: Config }, { token: NavController }, { token: EnvironmentInjector, optional: true }, { token: i0.ComponentFactoryResolver, optional: true }, { token: i1.Location }, { token: i0.ElementRef }, { token: i3.Router }, { token: i0.NgZone }, { token: i3.ActivatedRoute }, { token: IonRouterOutlet, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ IonRouterOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonRouterOutlet, selector: \"ion-router-outlet\", inputs: { animated: \"animated\", animation: \"animation\", swipeGesture: \"swipeGesture\" }, outputs: { stackEvents: \"stackEvents\", activateEvents: \"activate\", deactivateEvents: \"deactivate\" }, exportAs: [\"outlet\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonRouterOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: 'ion-router-outlet',\n exportAs: 'outlet',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['animated', 'animation', 'swipeGesture'],\n }]\n }], ctorParameters: function () { return [{ type: i3.ChildrenOutletContexts }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['name']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Attribute,\n args: ['tabs']\n }] }, { type: Config }, { type: NavController }, { type: EnvironmentInjector, decorators: [{\n type: Optional\n }] }, { type: i0.ComponentFactoryResolver, decorators: [{\n type: Optional\n }] }, { type: i1.Location }, { type: i0.ElementRef }, { type: i3.Router }, { type: i0.NgZone }, { type: i3.ActivatedRoute }, { type: IonRouterOutlet, decorators: [{\n type: SkipSelf\n }, {\n type: Optional\n }] }]; }, propDecorators: { stackEvents: [{\n type: Output\n }], activateEvents: [{\n type: Output,\n args: ['activate']\n }], deactivateEvents: [{\n type: Output,\n args: ['deactivate']\n }] } });\nclass OutletInjector {\n constructor(route, childContexts, parent) {\n this.route = route;\n this.childContexts = childContexts;\n this.parent = parent;\n }\n get(token, notFoundValue) {\n if (token === ActivatedRoute) {\n return this.route;\n }\n if (token === ChildrenOutletContexts) {\n return this.childContexts;\n }\n return this.parent.get(token, notFoundValue);\n }\n}\n\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass IonTabs {\n constructor(navCtrl) {\n this.navCtrl = navCtrl;\n this.ionTabsWillChange = new EventEmitter();\n this.ionTabsDidChange = new EventEmitter();\n }\n /**\n * @internal\n */\n onPageSelected(detail) {\n const stackId = detail.enteringView.stackId;\n if (detail.tabSwitch && stackId !== undefined) {\n this.ionTabsWillChange.emit({ tab: stackId });\n if (this.tabBar) {\n this.tabBar.selectedTab = stackId;\n }\n this.ionTabsDidChange.emit({ tab: stackId });\n }\n }\n /**\n * When a tab button is clicked, there are several scenarios:\n * 1. If the selected tab is currently active (the tab button has been clicked\n * again), then it should go to the root view for that tab.\n *\n * a. Get the saved root view from the router outlet. If the saved root view\n * matches the tabRootUrl, set the route view to this view including the\n * navigation extras.\n * b. If the saved root view from the router outlet does\n * not match, navigate to the tabRootUrl. No navigation extras are\n * included.\n *\n * 2. If the current tab tab is not currently selected, get the last route\n * view from the router outlet.\n *\n * a. If the last route view exists, navigate to that view including any\n * navigation extras\n * b. If the last route view doesn't exist, then navigate\n * to the default tabRootUrl\n */\n select(tabOrEvent) {\n const isTabString = typeof tabOrEvent === 'string';\n const tab = isTabString ? tabOrEvent : tabOrEvent.detail.tab;\n const alreadySelected = this.outlet.getActiveStackId() === tab;\n const tabRootUrl = `${this.outlet.tabsPrefix}/${tab}`;\n /**\n * If this is a nested tab, prevent the event\n * from bubbling otherwise the outer tabs\n * will respond to this event too, causing\n * the app to get directed to the wrong place.\n */\n if (!isTabString) {\n tabOrEvent.stopPropagation();\n }\n if (alreadySelected) {\n const activeStackId = this.outlet.getActiveStackId();\n const activeView = this.outlet.getLastRouteView(activeStackId);\n // If on root tab, do not navigate to root tab again\n if ((activeView === null || activeView === void 0 ? void 0 : activeView.url) === tabRootUrl) {\n return;\n }\n const rootView = this.outlet.getRootView(tab);\n const navigationExtras = rootView && tabRootUrl === rootView.url && rootView.savedExtras;\n return this.navCtrl.navigateRoot(tabRootUrl, Object.assign(Object.assign({}, navigationExtras), { animated: true, animationDirection: 'back' }));\n }\n else {\n const lastRoute = this.outlet.getLastRouteView(tab);\n /**\n * If there is a lastRoute, goto that, otherwise goto the fallback url of the\n * selected tab\n */\n const url = (lastRoute === null || lastRoute === void 0 ? void 0 : lastRoute.url) || tabRootUrl;\n const navigationExtras = lastRoute === null || lastRoute === void 0 ? void 0 : lastRoute.savedExtras;\n return this.navCtrl.navigateRoot(url, Object.assign(Object.assign({}, navigationExtras), { animated: true, animationDirection: 'back' }));\n }\n }\n getSelected() {\n return this.outlet.getActiveStackId();\n }\n}\n/** @nocollapse */ IonTabs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonTabs, deps: [{ token: NavController }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonTabs, selector: \"ion-tabs\", outputs: { ionTabsWillChange: \"ionTabsWillChange\", ionTabsDidChange: \"ionTabsDidChange\" }, host: { listeners: { \"ionTabButtonClick\": \"select($event)\" } }, queries: [{ propertyName: \"tabBar\", first: true, predicate: IonTabBar, descendants: true }], viewQueries: [{ propertyName: \"outlet\", first: true, predicate: [\"outlet\"], descendants: true, read: IonRouterOutlet }], ngImport: i0, template: ` <ng-content select=\"[slot=top]\"></ng-content>\n <div class=\"tabs-inner\">\n <ion-router-outlet #outlet tabs=\"true\" (stackEvents)=\"onPageSelected($event)\"></ion-router-outlet>\n </div>\n <ng-content></ng-content>`, isInline: true, styles: [\"\\n :host {\\n display: flex;\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n\\n flex-direction: column;\\n\\n width: 100%;\\n height: 100%;\\n\\n contain: layout size style;\\n z-index: $z-index-page-container;\\n }\\n .tabs-inner {\\n position: relative;\\n\\n flex: 1;\\n\\n contain: layout size style;\\n }\\n \"], directives: [{ type: IonRouterOutlet, selector: \"ion-router-outlet\", inputs: [\"animated\", \"animation\", \"swipeGesture\"], outputs: [\"stackEvents\", \"activate\", \"deactivate\"], exportAs: [\"outlet\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonTabs, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-tabs',\n template: ` <ng-content select=\"[slot=top]\"></ng-content>\n <div class=\"tabs-inner\">\n <ion-router-outlet #outlet tabs=\"true\" (stackEvents)=\"onPageSelected($event)\"></ion-router-outlet>\n </div>\n <ng-content></ng-content>`,\n styles: [\n `\n :host {\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n flex-direction: column;\n\n width: 100%;\n height: 100%;\n\n contain: layout size style;\n z-index: $z-index-page-container;\n }\n .tabs-inner {\n position: relative;\n\n flex: 1;\n\n contain: layout size style;\n }\n `,\n ],\n }]\n }], ctorParameters: function () { return [{ type: NavController }]; }, propDecorators: { outlet: [{\n type: ViewChild,\n args: ['outlet', { read: IonRouterOutlet, static: false }]\n }], tabBar: [{\n type: ContentChild,\n args: [IonTabBar, { static: false }]\n }], ionTabsWillChange: [{\n type: Output\n }], ionTabsDidChange: [{\n type: Output\n }], select: [{\n type: HostListener,\n args: ['ionTabButtonClick', ['$event']]\n }] } });\n\nclass IonBackButtonDelegateDirective {\n constructor(routerOutlet, navCtrl, config) {\n this.routerOutlet = routerOutlet;\n this.navCtrl = navCtrl;\n this.config = config;\n }\n /**\n * @internal\n */\n onClick(ev) {\n var _a;\n const defaultHref = this.defaultHref || this.config.get('backButtonDefaultHref');\n if ((_a = this.routerOutlet) === null || _a === void 0 ? void 0 : _a.canGoBack()) {\n this.navCtrl.setDirection('back', undefined, undefined, this.routerAnimation);\n this.routerOutlet.pop();\n ev.preventDefault();\n }\n else if (defaultHref != null) {\n this.navCtrl.navigateBack(defaultHref, { animation: this.routerAnimation });\n ev.preventDefault();\n }\n }\n}\n/** @nocollapse */ IonBackButtonDelegateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBackButtonDelegateDirective, deps: [{ token: IonRouterOutlet, optional: true }, { token: NavController }, { token: Config }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ IonBackButtonDelegateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonBackButtonDelegateDirective, selector: \"ion-back-button\", inputs: { defaultHref: \"defaultHref\", routerAnimation: \"routerAnimation\" }, host: { listeners: { \"click\": \"onClick($event)\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonBackButtonDelegateDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'ion-back-button',\n }]\n }], ctorParameters: function () { return [{ type: IonRouterOutlet, decorators: [{\n type: Optional\n }] }, { type: NavController }, { type: Config }]; }, propDecorators: { defaultHref: [{\n type: Input\n }], routerAnimation: [{\n type: Input\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }] } });\n\nlet NavDelegate = class NavDelegate {\n constructor(ref, resolver, injector, angularDelegate, location) {\n this.el = ref.nativeElement;\n ref.nativeElement.delegate = angularDelegate.create(resolver, injector, location);\n proxyOutputs(this, this.el, ['ionNavDidChange', 'ionNavWillChange']);\n }\n};\n/** @nocollapse */ NavDelegate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: NavDelegate, deps: [{ token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: AngularDelegate }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ NavDelegate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: NavDelegate, selector: \"ion-nav\", ngImport: i0 });\nNavDelegate = __decorate([\n ProxyCmp({\n inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture'],\n methods: [\n 'push',\n 'insert',\n 'insertPages',\n 'pop',\n 'popTo',\n 'popToRoot',\n 'removeIndex',\n 'setRoot',\n 'setPages',\n 'getActive',\n 'getByIndex',\n 'canGoBack',\n 'getPrevious',\n ],\n })\n], NavDelegate);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: NavDelegate, decorators: [{\n type: Directive,\n args: [{\n selector: 'ion-nav',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: AngularDelegate }, { type: i0.ViewContainerRef }]; } });\n\n/**\n * Adds support for Ionic routing directions and animations to the base Angular router link directive.\n *\n * When the router link is clicked, the directive will assign the direction and\n * animation so that the routing integration will transition correctly.\n */\nclass RouterLinkDelegateDirective {\n constructor(locationStrategy, navCtrl, elementRef, router, routerLink) {\n this.locationStrategy = locationStrategy;\n this.navCtrl = navCtrl;\n this.elementRef = elementRef;\n this.router = router;\n this.routerLink = routerLink;\n this.routerDirection = 'forward';\n }\n ngOnInit() {\n this.updateTargetUrlAndHref();\n }\n ngOnChanges() {\n this.updateTargetUrlAndHref();\n }\n updateTargetUrlAndHref() {\n var _a;\n if ((_a = this.routerLink) === null || _a === void 0 ? void 0 : _a.urlTree) {\n const href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLink.urlTree));\n this.elementRef.nativeElement.href = href;\n }\n }\n /**\n * @internal\n */\n onClick(ev) {\n this.navCtrl.setDirection(this.routerDirection, undefined, undefined, this.routerAnimation);\n /**\n * This prevents the browser from\n * performing a page reload when pressing\n * an Ionic component with routerLink.\n * The page reload interferes with routing\n * and causes ion-back-button to disappear\n * since the local history is wiped on reload.\n */\n ev.preventDefault();\n }\n}\n/** @nocollapse */ RouterLinkDelegateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: RouterLinkDelegateDirective, deps: [{ token: i1.LocationStrategy }, { token: NavController }, { token: i0.ElementRef }, { token: i3.Router }, { token: i3.RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ RouterLinkDelegateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: RouterLinkDelegateDirective, selector: \":not(a):not(area)[routerLink]\", inputs: { routerDirection: \"routerDirection\", routerAnimation: \"routerAnimation\" }, host: { listeners: { \"click\": \"onClick($event)\" } }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: RouterLinkDelegateDirective, decorators: [{\n type: Directive,\n args: [{\n selector: ':not(a):not(area)[routerLink]',\n }]\n }], ctorParameters: function () { return [{ type: i1.LocationStrategy }, { type: NavController }, { type: i0.ElementRef }, { type: i3.Router }, { type: i3.RouterLink, decorators: [{\n type: Optional\n }] }]; }, propDecorators: { routerDirection: [{\n type: Input\n }], routerAnimation: [{\n type: Input\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }] } });\nclass RouterLinkWithHrefDelegateDirective {\n constructor(locationStrategy, navCtrl, elementRef, router, routerLink) {\n this.locationStrategy = locationStrategy;\n this.navCtrl = navCtrl;\n this.elementRef = elementRef;\n this.router = router;\n this.routerLink = routerLink;\n this.routerDirection = 'forward';\n }\n ngOnInit() {\n this.updateTargetUrlAndHref();\n }\n ngOnChanges() {\n this.updateTargetUrlAndHref();\n }\n updateTargetUrlAndHref() {\n var _a;\n if ((_a = this.routerLink) === null || _a === void 0 ? void 0 : _a.urlTree) {\n const href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLink.urlTree));\n this.elementRef.nativeElement.href = href;\n }\n }\n /**\n * @internal\n */\n onClick() {\n this.navCtrl.setDirection(this.routerDirection, undefined, undefined, this.routerAnimation);\n }\n}\n/** @nocollapse */ RouterLinkWithHrefDelegateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: RouterLinkWithHrefDelegateDirective, deps: [{ token: i1.LocationStrategy }, { token: NavController }, { token: i0.ElementRef }, { token: i3.Router }, { token: i3.RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ RouterLinkWithHrefDelegateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: RouterLinkWithHrefDelegateDirective, selector: \"a[routerLink],area[routerLink]\", inputs: { routerDirection: \"routerDirection\", routerAnimation: \"routerAnimation\" }, host: { listeners: { \"click\": \"onClick()\" } }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: RouterLinkWithHrefDelegateDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'a[routerLink],area[routerLink]',\n }]\n }], ctorParameters: function () { return [{ type: i1.LocationStrategy }, { type: NavController }, { type: i0.ElementRef }, { type: i3.Router }, { type: i3.RouterLink, decorators: [{\n type: Optional\n }] }]; }, propDecorators: { routerDirection: [{\n type: Input\n }], routerAnimation: [{\n type: Input\n }], onClick: [{\n type: HostListener,\n args: ['click']\n }] } });\n\n/**\n * @hidden\n */\nclass VirtualFooter {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n}\n/** @nocollapse */ VirtualFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: VirtualFooter, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ VirtualFooter.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: VirtualFooter, selector: \"[virtualFooter]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: VirtualFooter, decorators: [{\n type: Directive,\n args: [{ selector: '[virtualFooter]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\n/**\n * @hidden\n */\nclass VirtualHeader {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n}\n/** @nocollapse */ VirtualHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: VirtualHeader, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ VirtualHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: VirtualHeader, selector: \"[virtualHeader]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: VirtualHeader, decorators: [{\n type: Directive,\n args: [{ selector: '[virtualHeader]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\n/**\n * @hidden\n */\nclass VirtualItem {\n constructor(templateRef, viewContainer) {\n this.templateRef = templateRef;\n this.viewContainer = viewContainer;\n }\n}\n/** @nocollapse */ VirtualItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: VirtualItem, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\n/** @nocollapse */ VirtualItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"12.2.10\", type: VirtualItem, selector: \"[virtualItem]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: VirtualItem, decorators: [{\n type: Directive,\n args: [{ selector: '[virtualItem]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });\n\nlet IonVirtualScroll = class IonVirtualScroll {\n constructor(z, iterableDiffers, elementRef) {\n this.z = z;\n this.iterableDiffers = iterableDiffers;\n this.refMap = new WeakMap();\n this.el = elementRef.nativeElement;\n this.el.nodeRender = this.nodeRender.bind(this);\n }\n ngOnChanges(changes) {\n if (this.trackBy && 'items' in changes) {\n // React on virtualScroll changes only once all inputs have been initialized\n const value = changes['items'].currentValue;\n if (this.differ === undefined && value != null) {\n try {\n this.differ = this.iterableDiffers.find(value).create(this.trackBy);\n }\n catch (e) {\n throw new Error(`Cannot find a differ supporting object '${value}'. VirtualScroll only supports binding to Iterables such as Arrays.`);\n }\n }\n }\n }\n ngDoCheck() {\n // and if there actually are changes\n const changes = this.differ !== undefined && this.items ? this.differ.diff(this.items) : null;\n if (changes === null) {\n return;\n }\n // TODO: optimize\n this.checkRange(0);\n }\n nodeRender(el, cell, index) {\n return this.z.run(() => {\n let node;\n if (!el) {\n node = this.itmTmp.viewContainer.createEmbeddedView(this.getComponent(cell.type), { $implicit: cell.value, index }, index);\n el = getElement(node);\n this.refMap.set(el, node);\n }\n else {\n node = this.refMap.get(el);\n const ctx = node.context;\n ctx.$implicit = cell.value;\n ctx.index = cell.index;\n }\n // run sync change detections\n node.detectChanges();\n return el;\n });\n }\n getComponent(type) {\n switch (type) {\n case 'item': return this.itmTmp.templateRef;\n case 'header': return this.hdrTmp.templateRef;\n case 'footer': return this.ftrTmp.templateRef;\n default: throw new Error('template for virtual item was not provided');\n }\n }\n};\n/** @nocollapse */ IonVirtualScroll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonVirtualScroll, deps: [{ token: i0.NgZone }, { token: i0.IterableDiffers }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonVirtualScroll.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonVirtualScroll, selector: \"ion-virtual-scroll\", inputs: { approxItemHeight: \"approxItemHeight\", approxHeaderHeight: \"approxHeaderHeight\", approxFooterHeight: \"approxFooterHeight\", headerFn: \"headerFn\", footerFn: \"footerFn\", items: \"items\", itemHeight: \"itemHeight\", headerHeight: \"headerHeight\", footerHeight: \"footerHeight\", trackBy: \"trackBy\" }, queries: [{ propertyName: \"itmTmp\", first: true, predicate: VirtualItem, descendants: true }, { propertyName: \"hdrTmp\", first: true, predicate: VirtualHeader, descendants: true }, { propertyName: \"ftrTmp\", first: true, predicate: VirtualFooter, descendants: true }], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonVirtualScroll = __decorate([\n ProxyCmp({\n inputs: ['approxItemHeight', 'approxHeaderHeight', 'approxFooterHeight', 'headerFn', 'footerFn', 'items', 'itemHeight', 'headerHeight', 'footerHeight'],\n methods: ['checkEnd', 'checkRange', 'positionForItem']\n })\n], IonVirtualScroll);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonVirtualScroll, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-virtual-scroll',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: [\n 'approxItemHeight',\n 'approxHeaderHeight',\n 'approxFooterHeight',\n 'headerFn',\n 'footerFn',\n 'items',\n 'itemHeight',\n 'headerHeight',\n 'footerHeight',\n 'trackBy'\n ]\n }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.IterableDiffers }, { type: i0.ElementRef }]; }, propDecorators: { itmTmp: [{\n type: ContentChild,\n args: [VirtualItem, { static: false }]\n }], hdrTmp: [{\n type: ContentChild,\n args: [VirtualHeader, { static: false }]\n }], ftrTmp: [{\n type: ContentChild,\n args: [VirtualFooter, { static: false }]\n }] } });\nconst getElement = (view) => {\n const rootNodes = view.rootNodes;\n for (let i = 0; i < rootNodes.length; i++) {\n if (rootNodes[i].nodeType === 1) {\n return rootNodes[i];\n }\n }\n throw new Error('virtual element was not created');\n};\n\nlet IonModal = class IonModal {\n constructor(c, r, z) {\n this.z = z;\n this.isCmpOpen = false;\n this.el = r.nativeElement;\n this.el.addEventListener('willPresent', () => {\n this.isCmpOpen = true;\n c.detectChanges();\n });\n this.el.addEventListener('didDismiss', () => {\n this.isCmpOpen = false;\n c.detectChanges();\n });\n proxyOutputs(this, this.el, [\n 'ionModalDidPresent',\n 'ionModalWillPresent',\n 'ionModalWillDismiss',\n 'ionModalDidDismiss',\n 'ionBreakpointDidChange',\n 'didPresent',\n 'willPresent',\n 'willDismiss',\n 'didDismiss',\n ]);\n }\n};\n/** @nocollapse */ IonModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonModal, selector: \"ion-modal\", inputs: { animated: \"animated\", keepContentsMounted: \"keepContentsMounted\", backdropBreakpoint: \"backdropBreakpoint\", backdropDismiss: \"backdropDismiss\", breakpoints: \"breakpoints\", canDismiss: \"canDismiss\", cssClass: \"cssClass\", enterAnimation: \"enterAnimation\", event: \"event\", handle: \"handle\", handleBehavior: \"handleBehavior\", initialBreakpoint: \"initialBreakpoint\", isOpen: \"isOpen\", keyboardClose: \"keyboardClose\", leaveAnimation: \"leaveAnimation\", mode: \"mode\", presentingElement: \"presentingElement\", showBackdrop: \"showBackdrop\", swipeToClose: \"swipeToClose\", translucent: \"translucent\", trigger: \"trigger\" }, queries: [{ propertyName: \"template\", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: `<div class=\"ion-page\" *ngIf=\"isCmpOpen || keepContentsMounted\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>`, isInline: true, directives: [{ type: i1.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonModal = __decorate([\n ProxyCmp({\n inputs: [\n 'animated',\n 'keepContentsMounted',\n 'backdropBreakpoint',\n 'backdropDismiss',\n 'breakpoints',\n 'canDismiss',\n 'cssClass',\n 'enterAnimation',\n 'event',\n 'handle',\n 'handleBehavior',\n 'initialBreakpoint',\n 'isOpen',\n 'keyboardClose',\n 'leaveAnimation',\n 'mode',\n 'presentingElement',\n 'showBackdrop',\n 'swipeToClose',\n 'translucent',\n 'trigger',\n ],\n methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss', 'setCurrentBreakpoint', 'getCurrentBreakpoint'],\n })\n], IonModal);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonModal, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-modal',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<div class=\"ion-page\" *ngIf=\"isCmpOpen || keepContentsMounted\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>`,\n inputs: [\n 'animated',\n 'keepContentsMounted',\n 'backdropBreakpoint',\n 'backdropDismiss',\n 'breakpoints',\n 'canDismiss',\n 'cssClass',\n 'enterAnimation',\n 'event',\n 'handle',\n 'handleBehavior',\n 'initialBreakpoint',\n 'isOpen',\n 'keyboardClose',\n 'leaveAnimation',\n 'mode',\n 'presentingElement',\n 'showBackdrop',\n 'swipeToClose',\n 'translucent',\n 'trigger',\n ],\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { template: [{\n type: ContentChild,\n args: [TemplateRef, { static: false }]\n }] } });\n\nlet IonPopover = class IonPopover {\n constructor(c, r, z) {\n this.z = z;\n this.isCmpOpen = false;\n this.el = r.nativeElement;\n this.el.addEventListener('willPresent', () => {\n this.isCmpOpen = true;\n c.detectChanges();\n });\n this.el.addEventListener('didDismiss', () => {\n this.isCmpOpen = false;\n c.detectChanges();\n });\n proxyOutputs(this, this.el, [\n 'ionPopoverDidPresent',\n 'ionPopoverWillPresent',\n 'ionPopoverWillDismiss',\n 'ionPopoverDidDismiss',\n 'didPresent',\n 'willPresent',\n 'willDismiss',\n 'didDismiss',\n ]);\n }\n};\n/** @nocollapse */ IonPopover.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonPopover, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\n/** @nocollapse */ IonPopover.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.10\", type: IonPopover, selector: \"ion-popover\", inputs: { alignment: \"alignment\", animated: \"animated\", arrow: \"arrow\", keepContentsMounted: \"keepContentsMounted\", backdropDismiss: \"backdropDismiss\", cssClass: \"cssClass\", dismissOnSelect: \"dismissOnSelect\", enterAnimation: \"enterAnimation\", event: \"event\", isOpen: \"isOpen\", keyboardClose: \"keyboardClose\", leaveAnimation: \"leaveAnimation\", mode: \"mode\", showBackdrop: \"showBackdrop\", translucent: \"translucent\", trigger: \"trigger\", triggerAction: \"triggerAction\", reference: \"reference\", size: \"size\", side: \"side\" }, queries: [{ propertyName: \"template\", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: `<ng-container [ngTemplateOutlet]=\"template\" *ngIf=\"isCmpOpen || keepContentsMounted\"></ng-container>`, isInline: true, directives: [{ type: i1.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\nIonPopover = __decorate([\n ProxyCmp({\n inputs: [\n 'alignment',\n 'animated',\n 'arrow',\n 'keepContentsMounted',\n 'backdropDismiss',\n 'cssClass',\n 'dismissOnSelect',\n 'enterAnimation',\n 'event',\n 'isOpen',\n 'keyboardClose',\n 'leaveAnimation',\n 'mode',\n 'showBackdrop',\n 'translucent',\n 'trigger',\n 'triggerAction',\n 'reference',\n 'size',\n 'side',\n ],\n methods: ['present', 'dismiss', 'onDidDismiss', 'onWillDismiss'],\n })\n], IonPopover);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonPopover, decorators: [{\n type: Component,\n args: [{\n selector: 'ion-popover',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-container [ngTemplateOutlet]=\"template\" *ngIf=\"isCmpOpen || keepContentsMounted\"></ng-container>`,\n inputs: [\n 'alignment',\n 'animated',\n 'arrow',\n 'keepContentsMounted',\n 'backdropDismiss',\n 'cssClass',\n 'dismissOnSelect',\n 'enterAnimation',\n 'event',\n 'isOpen',\n 'keyboardClose',\n 'leaveAnimation',\n 'mode',\n 'showBackdrop',\n 'translucent',\n 'trigger',\n 'triggerAction',\n 'reference',\n 'size',\n 'side',\n ],\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { template: [{\n type: ContentChild,\n args: [TemplateRef, { static: false }]\n }] } });\n\nclass OverlayBaseController {\n constructor(ctrl) {\n this.ctrl = ctrl;\n }\n /**\n * Creates a new overlay\n */\n create(opts) {\n // TODO: next major release opts is not optional\n return this.ctrl.create((opts || {}));\n }\n /**\n * When `id` is not provided, it dismisses the top overlay.\n */\n dismiss(data, role, id) {\n return this.ctrl.dismiss(data, role, id);\n }\n /**\n * Returns the top overlay.\n */\n getTop() {\n return this.ctrl.getTop();\n }\n}\n\nclass ActionSheetController extends OverlayBaseController {\n constructor() {\n super(actionSheetController);\n }\n}\n/** @nocollapse */ ActionSheetController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ActionSheetController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ ActionSheetController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ActionSheetController, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ActionSheetController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return []; } });\n\nclass AlertController extends OverlayBaseController {\n constructor() {\n super(alertController);\n }\n}\n/** @nocollapse */ AlertController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: AlertController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ AlertController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: AlertController, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: AlertController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return []; } });\n\nclass LoadingController extends OverlayBaseController {\n constructor() {\n super(loadingController);\n }\n}\n/** @nocollapse */ LoadingController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: LoadingController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ LoadingController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: LoadingController, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: LoadingController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return []; } });\n\nclass MenuController {\n /**\n * Programmatically open the Menu.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return returns a promise when the menu is fully opened\n */\n open(menuId) {\n return menuController.open(menuId);\n }\n /**\n * Programmatically close the Menu. If no `menuId` is given as the first\n * argument then it'll close any menu which is open. If a `menuId`\n * is given then it'll close that exact menu.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return returns a promise when the menu is fully closed\n */\n close(menuId) {\n return menuController.close(menuId);\n }\n /**\n * Toggle the menu. If it's closed, it will open, and if opened, it\n * will close.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return returns a promise when the menu has been toggled\n */\n toggle(menuId) {\n return menuController.toggle(menuId);\n }\n /**\n * Used to enable or disable a menu. For example, there could be multiple\n * left menus, but only one of them should be able to be opened at the same\n * time. If there are multiple menus on the same side, then enabling one menu\n * will also automatically disable all the others that are on the same side.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns the instance of the menu, which is useful for chaining.\n */\n enable(shouldEnable, menuId) {\n return menuController.enable(shouldEnable, menuId);\n }\n /**\n * Used to enable or disable the ability to swipe open the menu.\n * @param shouldEnable True if it should be swipe-able, false if not.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns the instance of the menu, which is useful for chaining.\n */\n swipeGesture(shouldEnable, menuId) {\n return menuController.swipeGesture(shouldEnable, menuId);\n }\n /**\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns true if the specified menu is currently open, otherwise false.\n * If the menuId is not specified, it returns true if ANY menu is currenly open.\n */\n isOpen(menuId) {\n return menuController.isOpen(menuId);\n }\n /**\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns true if the menu is currently enabled, otherwise false.\n */\n isEnabled(menuId) {\n return menuController.isEnabled(menuId);\n }\n /**\n * Used to get a menu instance. If a `menuId` is not provided then it'll\n * return the first menu found. If a `menuId` is `left` or `right`, then\n * it'll return the enabled menu on that side. Otherwise, if a `menuId` is\n * provided, then it'll try to find the menu using the menu's `id`\n * property. If a menu is not found then it'll return `null`.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns the instance of the menu if found, otherwise `null`.\n */\n get(menuId) {\n return menuController.get(menuId);\n }\n /**\n * @return Returns the instance of the menu already opened, otherwise `null`.\n */\n getOpen() {\n return menuController.getOpen();\n }\n /**\n * @return Returns an array of all menu instances.\n */\n getMenus() {\n return menuController.getMenus();\n }\n}\n/** @nocollapse */ MenuController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: MenuController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ MenuController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: MenuController, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: MenuController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n\nclass PickerController extends OverlayBaseController {\n constructor() {\n super(pickerController);\n }\n}\n/** @nocollapse */ PickerController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: PickerController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ PickerController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: PickerController, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: PickerController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return []; } });\n\nclass ModalController extends OverlayBaseController {\n constructor(angularDelegate, resolver, injector, \n // TODO: FW-1641: Migrate to Angular's version once Angular 13 is dropped\n environmentInjector) {\n super(modalController);\n this.angularDelegate = angularDelegate;\n this.resolver = resolver;\n this.injector = injector;\n this.environmentInjector = environmentInjector;\n }\n create(opts) {\n var _a;\n return super.create(Object.assign(Object.assign({}, opts), { delegate: this.angularDelegate.create((_a = this.resolver) !== null && _a !== void 0 ? _a : this.environmentInjector, this.injector) }));\n }\n}\n/** @nocollapse */ ModalController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ModalController, deps: [{ token: AngularDelegate }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: EnvironmentInjector, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ ModalController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ModalController });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ModalController, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: AngularDelegate }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: EnvironmentInjector, decorators: [{\n type: Optional\n }] }]; } });\n\nclass PopoverController extends OverlayBaseController {\n constructor(angularDelegate, resolver, injector, \n // TODO: FW-1641: Migrate to Angular's version once Angular 13 is dropped\n environmentInjector) {\n super(popoverController);\n this.angularDelegate = angularDelegate;\n this.resolver = resolver;\n this.injector = injector;\n this.environmentInjector = environmentInjector;\n }\n create(opts) {\n var _a;\n return super.create(Object.assign(Object.assign({}, opts), { delegate: this.angularDelegate.create((_a = this.resolver) !== null && _a !== void 0 ? _a : this.environmentInjector, this.injector) }));\n }\n}\n/** @nocollapse */ PopoverController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: PopoverController, deps: [{ token: AngularDelegate }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: EnvironmentInjector, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ PopoverController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: PopoverController });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: PopoverController, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: AngularDelegate }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: EnvironmentInjector, decorators: [{\n type: Optional\n }] }]; } });\n\nclass ToastController extends OverlayBaseController {\n constructor() {\n super(toastController);\n }\n}\n/** @nocollapse */ ToastController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ToastController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ ToastController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ToastController, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: ToastController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return []; } });\n\nclass DomController {\n /**\n * Schedules a task to run during the READ phase of the next frame.\n * This task should only read the DOM, but never modify it.\n */\n read(cb) {\n getQueue().read(cb);\n }\n /**\n * Schedules a task to run during the WRITE phase of the next frame.\n * This task should write the DOM, but never READ it.\n */\n write(cb) {\n getQueue().write(cb);\n }\n}\n/** @nocollapse */ DomController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: DomController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ DomController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: DomController, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: DomController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\nconst getQueue = () => {\n const win = typeof window !== 'undefined' ? window : null;\n if (win != null) {\n const Ionic = win.Ionic;\n if (Ionic === null || Ionic === void 0 ? void 0 : Ionic.queue) {\n return Ionic.queue;\n }\n return {\n read: (cb) => win.requestAnimationFrame(cb),\n write: (cb) => win.requestAnimationFrame(cb),\n };\n }\n return {\n read: (cb) => cb(),\n write: (cb) => cb(),\n };\n};\n\nclass AnimationController {\n /**\n * Create a new animation\n */\n create(animationId) {\n return createAnimation(animationId);\n }\n /**\n * EXPERIMENTAL\n *\n * Given a progression and a cubic bezier function,\n * this utility returns the time value(s) at which the\n * cubic bezier reaches the given time progression.\n *\n * If the cubic bezier never reaches the progression\n * the result will be an empty array.\n *\n * This is most useful for switching between easing curves\n * when doing a gesture animation (i.e. going from linear easing\n * during a drag, to another easing when `progressEnd` is called)\n */\n easingTime(p0, p1, p2, p3, progression) {\n return getTimeGivenProgression(p0, p1, p2, p3, progression);\n }\n}\n/** @nocollapse */ AnimationController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: AnimationController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ AnimationController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: AnimationController, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: AnimationController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n\nclass GestureController {\n constructor(zone) {\n this.zone = zone;\n }\n /**\n * Create a new gesture\n */\n create(opts, runInsideAngularZone = false) {\n if (runInsideAngularZone) {\n Object.getOwnPropertyNames(opts).forEach((key) => {\n if (typeof opts[key] === 'function') {\n const fn = opts[key];\n opts[key] = (...props) => this.zone.run(() => fn(...props));\n }\n });\n }\n return createGesture(opts);\n }\n}\n/** @nocollapse */ GestureController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: GestureController, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\n/** @nocollapse */ GestureController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: GestureController, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: GestureController, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });\n\nclass IonicRouteStrategy {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n shouldDetach(_route) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n shouldAttach(_route) {\n return false;\n }\n store(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _route, \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _detachedTree) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retrieve(_route) {\n return null;\n }\n shouldReuseRoute(future, curr) {\n if (future.routeConfig !== curr.routeConfig) {\n return false;\n }\n // checking router params\n const futureParams = future.params;\n const currentParams = curr.params;\n const keysA = Object.keys(futureParams);\n const keysB = Object.keys(currentParams);\n if (keysA.length !== keysB.length) {\n return false;\n }\n // Test for A's keys different from B.\n for (const key of keysA) {\n if (currentParams[key] !== futureParams[key]) {\n return false;\n }\n }\n return true;\n }\n}\n\n/**\n * https://ionicframework.com/docs/api/router-outlet#life-cycle-hooks\n */\n\nconst appInitialize = (config, doc, zone) => {\n return () => {\n const win = doc.defaultView;\n if (win && typeof window !== 'undefined') {\n setupConfig(Object.assign(Object.assign({}, config), { _zoneGate: (h) => zone.run(h) }));\n const aelFn = '__zone_symbol__addEventListener' in doc.body ? '__zone_symbol__addEventListener' : 'addEventListener';\n return applyPolyfills().then(() => {\n return defineCustomElements(win, {\n exclude: ['ion-tabs', 'ion-tab'],\n syncQueue: true,\n raf,\n jmp: (h) => zone.runOutsideAngular(h),\n ael(elm, eventName, cb, opts) {\n elm[aelFn](eventName, cb, opts);\n },\n rel(elm, eventName, cb, opts) {\n elm.removeEventListener(eventName, cb, opts);\n },\n });\n });\n }\n };\n};\n\nconst DIRECTIVES = [\n IonAccordion,\n IonAccordionGroup,\n IonApp,\n IonAvatar,\n IonBackButton,\n IonBackdrop,\n IonBadge,\n IonBreadcrumb,\n IonBreadcrumbs,\n IonButton,\n IonButtons,\n IonCard,\n IonCardContent,\n IonCardHeader,\n IonCardSubtitle,\n IonCardTitle,\n IonCheckbox,\n IonChip,\n IonCol,\n IonContent,\n IonDatetime,\n IonDatetimeButton,\n IonFab,\n IonFabButton,\n IonFabList,\n IonFooter,\n IonGrid,\n IonHeader,\n IonIcon,\n IonImg,\n IonInfiniteScroll,\n IonInfiniteScrollContent,\n IonInput,\n IonItem,\n IonItemDivider,\n IonItemGroup,\n IonItemOption,\n IonItemOptions,\n IonItemSliding,\n IonLabel,\n IonList,\n IonListHeader,\n IonMenu,\n IonMenuButton,\n IonMenuToggle,\n IonNav,\n IonNavLink,\n IonNote,\n IonProgressBar,\n IonRadio,\n IonRadioGroup,\n IonRange,\n IonRefresher,\n IonRefresherContent,\n IonReorder,\n IonReorderGroup,\n IonRippleEffect,\n IonRow,\n IonSearchbar,\n IonSegment,\n IonSegmentButton,\n IonSelect,\n IonSelectOption,\n IonSkeletonText,\n IonSlide,\n IonSlides,\n IonSpinner,\n IonSplitPane,\n IonTabBar,\n IonTabButton,\n IonText,\n IonTextarea,\n IonThumbnail,\n IonTitle,\n IonToggle,\n IonToolbar\n];\n\nconst DECLARATIONS = [\n // generated proxies\n ...DIRECTIVES,\n // manual proxies\n IonModal,\n IonPopover,\n // ngModel accessors\n BooleanValueAccessorDirective,\n NumericValueAccessorDirective,\n RadioValueAccessorDirective,\n SelectValueAccessorDirective,\n TextValueAccessorDirective,\n // navigation\n IonTabs,\n IonRouterOutlet,\n IonBackButtonDelegateDirective,\n NavDelegate,\n RouterLinkDelegateDirective,\n RouterLinkWithHrefDelegateDirective,\n // virtual scroll\n VirtualFooter,\n VirtualHeader,\n VirtualItem,\n IonVirtualScroll,\n];\nclass IonicModule {\n static forRoot(config) {\n return {\n ngModule: IonicModule,\n providers: [\n {\n provide: ConfigToken,\n useValue: config,\n },\n {\n provide: APP_INITIALIZER,\n useFactory: appInitialize,\n multi: true,\n deps: [ConfigToken, DOCUMENT, NgZone],\n },\n ],\n };\n }\n}\n/** @nocollapse */ IonicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n/** @nocollapse */ IonicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonicModule, declarations: [IonAccordion, IonAccordionGroup, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonMenu, IonMenuButton, IonMenuToggle, IonNav, IonNavLink, IonNote, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTabBar, IonTabButton, IonText, IonTextarea, IonThumbnail, IonTitle, IonToggle, IonToolbar, \n // manual proxies\n IonModal,\n IonPopover,\n // ngModel accessors\n BooleanValueAccessorDirective,\n NumericValueAccessorDirective,\n RadioValueAccessorDirective,\n SelectValueAccessorDirective,\n TextValueAccessorDirective,\n // navigation\n IonTabs,\n IonRouterOutlet,\n IonBackButtonDelegateDirective,\n NavDelegate,\n RouterLinkDelegateDirective,\n RouterLinkWithHrefDelegateDirective,\n // virtual scroll\n VirtualFooter,\n VirtualHeader,\n VirtualItem,\n IonVirtualScroll], imports: [CommonModule], exports: [IonAccordion, IonAccordionGroup, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonMenu, IonMenuButton, IonMenuToggle, IonNav, IonNavLink, IonNote, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTabBar, IonTabButton, IonText, IonTextarea, IonThumbnail, IonTitle, IonToggle, IonToolbar, \n // manual proxies\n IonModal,\n IonPopover,\n // ngModel accessors\n BooleanValueAccessorDirective,\n NumericValueAccessorDirective,\n RadioValueAccessorDirective,\n SelectValueAccessorDirective,\n TextValueAccessorDirective,\n // navigation\n IonTabs,\n IonRouterOutlet,\n IonBackButtonDelegateDirective,\n NavDelegate,\n RouterLinkDelegateDirective,\n RouterLinkWithHrefDelegateDirective,\n // virtual scroll\n VirtualFooter,\n VirtualHeader,\n VirtualItem,\n IonVirtualScroll] });\n/** @nocollapse */ IonicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonicModule, providers: [AngularDelegate, ModalController, PopoverController], imports: [[CommonModule]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.10\", ngImport: i0, type: IonicModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: DECLARATIONS,\n exports: DECLARATIONS,\n providers: [AngularDelegate, ModalController, PopoverController],\n imports: [CommonModule],\n }]\n }] });\n\n// DIRECTIVES\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ActionSheetController, AlertController, AngularDelegate, AnimationController, BooleanValueAccessorDirective as BooleanValueAccessor, Config, DomController, GestureController, IonAccordion, IonAccordionGroup, IonApp, IonAvatar, IonBackButton, IonBackButtonDelegateDirective as IonBackButtonDelegate, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNavLink, IonNote, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTabBar, IonTabButton, IonTabs, IonText, IonTextarea, IonThumbnail, IonTitle, IonToggle, IonToolbar, IonVirtualScroll, IonicModule, IonicRouteStrategy, LoadingController, MenuController, ModalController, NavController, NavDelegate, NavParams, NumericValueAccessorDirective as NumericValueAccessor, PickerController, Platform, PopoverController, RadioValueAccessorDirective as RadioValueAccessor, RouterLinkDelegateDirective as RouterLinkDelegate, RouterLinkWithHrefDelegateDirective as RouterLinkWithHrefDelegate, SelectValueAccessorDirective as SelectValueAccessor, TextValueAccessorDirective as TextValueAccessor, ToastController, VirtualFooter, VirtualHeader, VirtualItem };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}