UNPKG

271 kBSource Map (JSON)View Raw
1{"version":3,"file":"ionic-angular.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","ng://@ionic/angular/util/util.ts","ng://@ionic/angular/directives/control-value-accessors/value-accessor.ts","ng://@ionic/angular/directives/control-value-accessors/boolean-value-accessor.ts","ng://@ionic/angular/directives/control-value-accessors/numeric-value-accesssor.ts","ng://@ionic/angular/directives/control-value-accessors/radio-value-accessor.ts","ng://@ionic/angular/directives/control-value-accessors/select-value-accessor.ts","ng://@ionic/angular/directives/control-value-accessors/text-value-accessor.ts","ng://@ionic/angular/providers/platform.ts","ng://@ionic/angular/providers/nav-controller.ts","ng://@ionic/angular/directives/proxies-utils.ts","ng://@ionic/angular/directives/proxies.ts","ng://@ionic/angular/providers/config.ts","ng://@ionic/angular/directives/navigation/nav-params.ts","ng://@ionic/angular/providers/angular-delegate.ts","ng://@ionic/angular/directives/navigation/stack-utils.ts","ng://@ionic/angular/directives/navigation/stack-controller.ts","ng://@ionic/angular/directives/navigation/ion-router-outlet.ts","ng://@ionic/angular/directives/navigation/ion-tabs.ts","ng://@ionic/angular/directives/navigation/ion-back-button.ts","ng://@ionic/angular/directives/navigation/nav-delegate.ts","ng://@ionic/angular/directives/navigation/router-link-delegate.ts","ng://@ionic/angular/directives/virtual-scroll/virtual-footer.ts","ng://@ionic/angular/directives/virtual-scroll/virtual-header.ts","ng://@ionic/angular/directives/virtual-scroll/virtual-item.ts","ng://@ionic/angular/directives/virtual-scroll/virtual-scroll.ts","ng://@ionic/angular/util/overlay.ts","ng://@ionic/angular/providers/action-sheet-controller.ts","ng://@ionic/angular/providers/alert-controller.ts","ng://@ionic/angular/providers/loading-controller.ts","ng://@ionic/angular/providers/menu-controller.ts","ng://@ionic/angular/providers/picker-controller.ts","ng://@ionic/angular/providers/modal-controller.ts","ng://@ionic/angular/providers/popover-controller.ts","ng://@ionic/angular/providers/toast-controller.ts","ng://@ionic/angular/providers/dom-controller.ts","ng://@ionic/angular/providers/animation-controller.ts","ng://@ionic/angular/providers/gesture-controller.ts","ng://@ionic/angular/util/ionic-router-reuse-strategy.ts","ng://@ionic/angular/app-initialize.ts","ng://@ionic/angular/ionic-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\ndeclare const __zone_symbol__requestAnimationFrame: any;\ndeclare const requestAnimationFrame: any;\n\nexport const raf = (h: any) => {\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};\n","import { AfterViewInit, ElementRef, HostListener, Injector, OnDestroy, Type } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { raf } from '../../util/util';\n\nexport class ValueAccessor implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\n private onChange: (value: any) => void = () => {/**/};\n private onTouched: () => void = () => {/**/};\n protected lastValue: any;\n private statusChanges?: Subscription;\n\n constructor(protected injector: Injector, protected el: ElementRef) {}\n\n writeValue(value: any) {\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: HTMLElement, value: any) {\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\n @HostListener('ionBlur', ['$event.target'])\n _handleBlurEvent(el: any) {\n if (el === this.el.nativeElement) {\n this.onTouched();\n setIonicClasses(this.el);\n }\n }\n\n registerOnChange(fn: (value: any) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\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 try {\n ngControl = this.injector.get<NgControl>(NgControl as Type<NgControl>);\n } catch { /* No FormControl or ngModel binding */ }\n\n if (!ngControl) { 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 /**\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 (formControl[method]) {\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\nexport const setIonicClasses = (element: ElementRef) => {\n raf(() => {\n const input = element.nativeElement as HTMLElement;\n const classes = getClasses(input);\n setClasses(input, classes);\n\n const item = input.closest('ion-item');\n if (item) {\n setClasses(item, classes);\n }\n });\n};\n\nconst getClasses = (element: HTMLElement) => {\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.substr(3)}`);\n }\n }\n return classes;\n};\n\nconst setClasses = (element: HTMLElement, classes: string[]) => {\n const classList = element.classList;\n [\n 'ion-valid',\n 'ion-invalid',\n 'ion-touched',\n 'ion-untouched',\n 'ion-dirty',\n 'ion-pristine'\n ].forEach(c => classList.remove(c));\n\n classes.forEach(c => classList.add(c));\n};\n\nconst startsWith = (input: string, search: string): boolean => {\n return input.substr(0, search.length) === search;\n};\n","import { Directive, ElementRef, HostListener, Injector } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor, setIonicClasses } from './value-accessor';\n\n@Directive({\n /* tslint:disable-next-line:directive-selector */\n selector: 'ion-checkbox,ion-toggle',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: BooleanValueAccessor,\n multi: true\n }\n ]\n})\nexport class BooleanValueAccessor extends ValueAccessor {\n\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el);\n }\n\n writeValue(value: any) {\n this.el.nativeElement.checked = this.lastValue = value == null ? false : value;\n setIonicClasses(this.el);\n }\n\n @HostListener('ionChange', ['$event.target'])\n _handleIonChange(el: any) {\n this.handleChangeEvent(el, el.checked);\n }\n}\n","import { Directive, ElementRef, HostListener, Injector } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from './value-accessor';\n\n@Directive({\n /* tslint:disable-next-line:directive-selector */\n selector: 'ion-input[type=number]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NumericValueAccessor,\n multi: true\n }\n ]\n})\nexport class NumericValueAccessor extends ValueAccessor {\n\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el);\n }\n\n @HostListener('ionChange', ['$event.target'])\n _handleIonChange(el: any) {\n this.handleChangeEvent(el, el.value);\n }\n\n registerOnChange(fn: (_: number | null) => void) {\n super.registerOnChange(value => {\n fn(value === '' ? null : parseFloat(value));\n });\n }\n}\n","import { Directive, ElementRef, HostListener, Injector } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from './value-accessor';\n\n@Directive({\n /* tslint:disable-next-line:directive-selector */\n selector: 'ion-radio',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioValueAccessor,\n multi: true\n }\n ]\n})\nexport class RadioValueAccessor extends ValueAccessor {\n\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el);\n }\n\n @HostListener('ionSelect', ['$event.target'])\n _handleIonSelect(el: any) {\n this.handleChangeEvent(el, el.checked);\n }\n}\n","import { Directive, ElementRef, HostListener, Injector } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from './value-accessor';\n\n@Directive({\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: SelectValueAccessor,\n multi: true\n }\n ]\n})\nexport class SelectValueAccessor extends ValueAccessor {\n\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el);\n }\n\n @HostListener('ionChange', ['$event.target'])\n _handleChangeEvent(el: any) {\n this.handleChangeEvent(el, el.value);\n }\n}\n","import { Directive, ElementRef, HostListener, Injector } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from './value-accessor';\n\n@Directive({\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: TextValueAccessor,\n multi: true\n }\n ]\n})\nexport class TextValueAccessor extends ValueAccessor {\n\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el);\n }\n\n @HostListener('ionChange', ['$event.target'])\n _handleInputEvent(el: any) {\n this.handleChangeEvent(el, el.value);\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, NgZone } from '@angular/core';\nimport { BackButtonEventDetail, KeyboardEventDetail, Platforms, getPlatforms, isPlatform } from '@ionic/core';\nimport { Subject, Subscription } from 'rxjs';\n\nexport interface BackButtonEmitter extends Subject<BackButtonEventDetail> {\n subscribeWithPriority(priority: number, callback: (processNextHandler: () => void) => Promise<any> | void): Subscription;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Platform {\n\n private _readyPromise: Promise<string>;\n private win: any;\n\n /**\n * @hidden\n */\n backButton: BackButtonEmitter = new Subject<BackButtonEventDetail>() as any;\n\n /**\n * The keyboardDidShow event emits when the\n * on-screen keyboard is presented.\n */\n keyboardDidShow = new Subject<KeyboardEventDetail>() as any;\n\n /**\n * The keyboardDidHide event emits when the\n * on-screen keyboard is hidden.\n */\n keyboardDidHide = new Subject<void>();\n\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 pause = new Subject<void>();\n\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 resume = new Subject<void>();\n\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 resize = new Subject<void>();\n\n constructor(@Inject(DOCUMENT) private doc: any, zone: NgZone) {\n zone.run(() => {\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\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\n let readyResolve: (value: string) => void;\n this._readyPromise = new Promise(res => { readyResolve = res; });\n if (this.win && this.win['cordova']) {\n doc.addEventListener('deviceready', () => {\n readyResolve('cordova');\n }, { once: true });\n } else {\n readyResolve!('dom');\n }\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 * | 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: Platforms): boolean {\n return isPlatform(this.win, platformName);\n }\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(): string[] {\n return getPlatforms(this.win);\n }\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(): Promise<string> {\n return this._readyPromise;\n }\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(): boolean {\n return this.doc.dir === 'rtl';\n }\n\n /**\n * Get the query string parameter\n */\n getQueryParam(key: string): string | null {\n return readQueryParam(this.win.location.href, key);\n }\n\n /**\n * Returns `true` if the app is in landscape mode.\n */\n isLandscape(): boolean {\n return !this.isPortrait();\n }\n\n /**\n * Returns `true` if the app is in portait mode.\n */\n isPortrait(): boolean {\n return this.win.matchMedia && this.win.matchMedia('(orientation: portrait)').matches;\n }\n\n testUserAgent(expression: string): boolean {\n const nav = this.win.navigator;\n return !!(nav && nav.userAgent && nav.userAgent.indexOf(expression) >= 0);\n }\n\n /**\n * Get the current url.\n */\n url() {\n return this.win.location.href;\n }\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 /**\n * Gets the height of the platform's viewport using `window.innerHeight`.\n */\n height(): number {\n return this.win.innerHeight;\n }\n}\n\nconst readQueryParam = (url: string, key: string) => {\n key = key.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\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 = <T>(emitter: Subject<T>, el: EventTarget, eventName: string) => {\n if ((el as any)) {\n el.addEventListener(eventName, (ev: Event | undefined | null) => {\n // ?? cordova might emit \"null\" events\n emitter.next(ev != null ? (ev as any).detail as T : undefined);\n });\n }\n};\n","import { Location } from '@angular/common';\nimport { Injectable, Optional } from '@angular/core';\nimport { NavigationExtras, NavigationStart, Router, UrlSerializer, UrlTree } from '@angular/router';\nimport { AnimationBuilder, NavDirection, RouterDirection } from '@ionic/core';\n\nimport { IonRouterOutlet } from '../directives/navigation/ion-router-outlet';\n\nimport { Platform } from './platform';\n\nexport interface AnimationOptions {\n animated?: boolean;\n animation?: AnimationBuilder;\n animationDirection?: 'forward' | 'back';\n}\n\nexport interface NavigationOptions extends NavigationExtras, AnimationOptions {}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavController {\n\n private topOutlet?: IonRouterOutlet;\n private direction: 'forward' | 'back' | 'root' | 'auto' = DEFAULT_DIRECTION;\n private animated?: NavDirection = DEFAULT_ANIMATED;\n private animationBuilder?: AnimationBuilder;\n private guessDirection: RouterDirection = 'forward';\n private guessAnimation?: NavDirection;\n private lastNavId = -1;\n\n constructor(\n platform: Platform,\n private location: Location,\n private serializer: UrlSerializer,\n @Optional() private router?: Router,\n ) {\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\n // Subscribe to backButton events\n platform.backButton.subscribeWithPriority(0, processNextHandler => {\n this.pop();\n processNextHandler();\n });\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: string | UrlTree | any[], options: NavigationOptions = {}): Promise<boolean> {\n this.setDirection('forward', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\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:\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: string | UrlTree | any[], options: NavigationOptions = {}): Promise<boolean> {\n this.setDirection('back', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\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:\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: string | UrlTree | any[], options: NavigationOptions = {}): Promise<boolean> {\n this.setDirection('root', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\n }\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: AnimationOptions = { animated: true, animationDirection: 'back' }) {\n this.setDirection('back', options.animated, options.animationDirection, options.animation);\n return this.location.back();\n }\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 async pop() {\n let outlet = this.topOutlet;\n\n while (outlet) {\n if (await 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 setDirection(direction: RouterDirection, animated?: boolean, animationDirection?: 'forward' | 'back', animationBuilder?: AnimationBuilder) {\n this.direction = direction;\n this.animated = getAnimation(direction, animated, animationDirection);\n this.animationBuilder = animationBuilder;\n }\n\n /**\n * @internal\n */\n setTopOutlet(outlet: IonRouterOutlet) {\n this.topOutlet = outlet;\n }\n\n /**\n * @internal\n */\n consumeTransition() {\n let direction: RouterDirection = 'root';\n let animation: NavDirection | undefined;\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 this.direction = DEFAULT_DIRECTION;\n this.animated = DEFAULT_ANIMATED;\n this.animationBuilder = undefined;\n\n return {\n direction,\n animation,\n animationBuilder\n };\n }\n\n private navigate(url: string | UrlTree | any[], options: NavigationOptions) {\n if (Array.isArray(url)) {\n return this.router!.navigate(url, options);\n } else {\n\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 = { ...options.queryParams };\n }\n\n if (options.fragment !== undefined) {\n urlTree.fragment = options.fragment;\n }\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 return this.router!.navigateByUrl(urlTree, options);\n }\n }\n}\n\nconst getAnimation = (direction: RouterDirection, animated: boolean | undefined, animationDirection: 'forward' | 'back' | undefined): NavDirection | undefined => {\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 } else if (direction === 'root' && animated === true) {\n return 'forward';\n }\n return undefined;\n};\n\nconst DEFAULT_DIRECTION = 'auto';\nconst DEFAULT_ANIMATED = undefined;\n","/* eslint-disable */\n/* tslint:disable */\nimport { fromEvent } from 'rxjs';\n\nexport const proxyInputs = (Cmp: any, inputs: string[]) => {\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: any) {\n this.z.runOutsideAngular(() => (this.el[item] = val));\n }\n });\n });\n};\n\nexport const proxyMethods = (Cmp: any, methods: string[]) => {\n const Prototype = Cmp.prototype;\n methods.forEach(methodName => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() =>\n this.el[methodName].apply(this.el, args)\n );\n };\n });\n};\n\nexport const proxyOutputs = (instance: any, el: any, events: string[]) => {\n events.forEach(eventName => instance[eventName] = fromEvent(el, eventName));\n}\n\nexport function ProxyCmp(opts: { inputs?: any; methods?: any }) {\n const decorator = function(cls: any){\n if (opts.inputs) {\n proxyInputs(cls, opts.inputs);\n }\n if (opts.methods) {\n proxyMethods(cls, opts.methods);\n }\n return cls;\n };\n return decorator;\n}\n","/* eslint-disable */\n/* tslint:disable */\n/* auto-generated angular directive proxies */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone } from \"@angular/core\";\nimport { ProxyCmp, proxyOutputs } from \"./proxies-utils\";\nimport { Components } from \"@ionic/core\";\nexport declare interface IonApp extends Components.IonApp {\n}\n@Component({ selector: \"ion-app\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\" })\nexport class IonApp {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonAvatar extends Components.IonAvatar {\n}\n@Component({ selector: \"ion-avatar\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\" })\nexport class IonAvatar {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonBackButton extends Components.IonBackButton {\n}\n@ProxyCmp({ inputs: [\"color\", \"defaultHref\", \"disabled\", \"icon\", \"mode\", \"routerAnimation\", \"text\", \"type\"] })\n@Component({ selector: \"ion-back-button\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"defaultHref\", \"disabled\", \"icon\", \"mode\", \"routerAnimation\", \"text\", \"type\"] })\nexport class IonBackButton {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonBackdrop extends Components.IonBackdrop {\n}\n@ProxyCmp({ inputs: [\"stopPropagation\", \"tappable\", \"visible\"] })\n@Component({ selector: \"ion-backdrop\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"stopPropagation\", \"tappable\", \"visible\"] })\nexport class IonBackdrop {\n ionBackdropTap!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionBackdropTap\"]);\n }\n}\nexport declare interface IonBadge extends Components.IonBadge {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\"] })\n@Component({ selector: \"ion-badge\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\"] })\nexport class IonBadge {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonButton extends Components.IonButton {\n}\n@ProxyCmp({ inputs: [\"buttonType\", \"color\", \"disabled\", \"download\", \"expand\", \"fill\", \"href\", \"mode\", \"rel\", \"routerAnimation\", \"routerDirection\", \"shape\", \"size\", \"strong\", \"target\", \"type\"] })\n@Component({ selector: \"ion-button\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"buttonType\", \"color\", \"disabled\", \"download\", \"expand\", \"fill\", \"href\", \"mode\", \"rel\", \"routerAnimation\", \"routerDirection\", \"shape\", \"size\", \"strong\", \"target\", \"type\"] })\nexport class IonButton {\n ionFocus!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionFocus\", \"ionBlur\"]);\n }\n}\nexport declare interface IonButtons extends Components.IonButtons {\n}\n@ProxyCmp({ inputs: [\"collapse\"] })\n@Component({ selector: \"ion-buttons\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"collapse\"] })\nexport class IonButtons {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonCard extends Components.IonCard {\n}\n@ProxyCmp({ inputs: [\"button\", \"color\", \"disabled\", \"download\", \"href\", \"mode\", \"rel\", \"routerAnimation\", \"routerDirection\", \"target\", \"type\"] })\n@Component({ selector: \"ion-card\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"button\", \"color\", \"disabled\", \"download\", \"href\", \"mode\", \"rel\", \"routerAnimation\", \"routerDirection\", \"target\", \"type\"] })\nexport class IonCard {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonCardContent extends Components.IonCardContent {\n}\n@ProxyCmp({ inputs: [\"mode\"] })\n@Component({ selector: \"ion-card-content\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"mode\"] })\nexport class IonCardContent {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonCardHeader extends Components.IonCardHeader {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\", \"translucent\"] })\n@Component({ selector: \"ion-card-header\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\", \"translucent\"] })\nexport class IonCardHeader {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonCardSubtitle extends Components.IonCardSubtitle {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\"] })\n@Component({ selector: \"ion-card-subtitle\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\"] })\nexport class IonCardSubtitle {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonCardTitle extends Components.IonCardTitle {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\"] })\n@Component({ selector: \"ion-card-title\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\"] })\nexport class IonCardTitle {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonCheckbox extends Components.IonCheckbox {\n}\n@ProxyCmp({ inputs: [\"checked\", \"color\", \"disabled\", \"indeterminate\", \"mode\", \"name\", \"value\"] })\n@Component({ selector: \"ion-checkbox\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"checked\", \"color\", \"disabled\", \"indeterminate\", \"mode\", \"name\", \"value\"] })\nexport class IonCheckbox {\n ionChange!: EventEmitter<CustomEvent>;\n ionFocus!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionChange\", \"ionFocus\", \"ionBlur\"]);\n }\n}\nexport declare interface IonChip extends Components.IonChip {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\", \"outline\"] })\n@Component({ selector: \"ion-chip\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\", \"outline\"] })\nexport class IonChip {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonCol extends Components.IonCol {\n}\n@ProxyCmp({ 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@Component({ selector: \"ion-col\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", 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\"] })\nexport class IonCol {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonContent extends Components.IonContent {\n}\n@ProxyCmp({ inputs: [\"color\", \"forceOverscroll\", \"fullscreen\", \"scrollEvents\", \"scrollX\", \"scrollY\"], \"methods\": [\"getScrollElement\", \"scrollToTop\", \"scrollToBottom\", \"scrollByPoint\", \"scrollToPoint\"] })\n@Component({ selector: \"ion-content\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"forceOverscroll\", \"fullscreen\", \"scrollEvents\", \"scrollX\", \"scrollY\"] })\nexport class IonContent {\n ionScrollStart!: EventEmitter<CustomEvent>;\n ionScroll!: EventEmitter<CustomEvent>;\n ionScrollEnd!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionScrollStart\", \"ionScroll\", \"ionScrollEnd\"]);\n }\n}\nexport declare interface IonDatetime extends Components.IonDatetime {\n}\n@ProxyCmp({ inputs: [\"cancelText\", \"dayNames\", \"dayShortNames\", \"dayValues\", \"disabled\", \"displayFormat\", \"displayTimezone\", \"doneText\", \"hourValues\", \"max\", \"min\", \"minuteValues\", \"mode\", \"monthNames\", \"monthShortNames\", \"monthValues\", \"name\", \"pickerFormat\", \"pickerOptions\", \"placeholder\", \"readonly\", \"value\", \"yearValues\"], \"methods\": [\"open\"] })\n@Component({ selector: \"ion-datetime\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"cancelText\", \"dayNames\", \"dayShortNames\", \"dayValues\", \"disabled\", \"displayFormat\", \"displayTimezone\", \"doneText\", \"hourValues\", \"max\", \"min\", \"minuteValues\", \"mode\", \"monthNames\", \"monthShortNames\", \"monthValues\", \"name\", \"pickerFormat\", \"pickerOptions\", \"placeholder\", \"readonly\", \"value\", \"yearValues\"] })\nexport class IonDatetime {\n ionCancel!: EventEmitter<CustomEvent>;\n ionChange!: EventEmitter<CustomEvent>;\n ionFocus!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionCancel\", \"ionChange\", \"ionFocus\", \"ionBlur\"]);\n }\n}\nexport declare interface IonFab extends Components.IonFab {\n}\n@ProxyCmp({ inputs: [\"activated\", \"edge\", \"horizontal\", \"vertical\"], \"methods\": [\"close\"] })\n@Component({ selector: \"ion-fab\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"activated\", \"edge\", \"horizontal\", \"vertical\"] })\nexport class IonFab {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonFabButton extends Components.IonFabButton {\n}\n@ProxyCmp({ inputs: [\"activated\", \"closeIcon\", \"color\", \"disabled\", \"download\", \"href\", \"mode\", \"rel\", \"routerAnimation\", \"routerDirection\", \"show\", \"size\", \"target\", \"translucent\", \"type\"] })\n@Component({ selector: \"ion-fab-button\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"activated\", \"closeIcon\", \"color\", \"disabled\", \"download\", \"href\", \"mode\", \"rel\", \"routerAnimation\", \"routerDirection\", \"show\", \"size\", \"target\", \"translucent\", \"type\"] })\nexport class IonFabButton {\n ionFocus!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionFocus\", \"ionBlur\"]);\n }\n}\nexport declare interface IonFabList extends Components.IonFabList {\n}\n@ProxyCmp({ inputs: [\"activated\", \"side\"] })\n@Component({ selector: \"ion-fab-list\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"activated\", \"side\"] })\nexport class IonFabList {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonFooter extends Components.IonFooter {\n}\n@ProxyCmp({ inputs: [\"mode\", \"translucent\"] })\n@Component({ selector: \"ion-footer\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"mode\", \"translucent\"] })\nexport class IonFooter {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonGrid extends Components.IonGrid {\n}\n@ProxyCmp({ inputs: [\"fixed\"] })\n@Component({ selector: \"ion-grid\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"fixed\"] })\nexport class IonGrid {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonHeader extends Components.IonHeader {\n}\n@ProxyCmp({ inputs: [\"collapse\", \"mode\", \"translucent\"] })\n@Component({ selector: \"ion-header\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"collapse\", \"mode\", \"translucent\"] })\nexport class IonHeader {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonIcon extends Components.IonIcon {\n}\n@ProxyCmp({ inputs: [\"ariaLabel\", \"color\", \"flipRtl\", \"icon\", \"ios\", \"lazy\", \"md\", \"mode\", \"name\", \"size\", \"src\"] })\n@Component({ selector: \"ion-icon\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"ariaLabel\", \"color\", \"flipRtl\", \"icon\", \"ios\", \"lazy\", \"md\", \"mode\", \"name\", \"size\", \"src\"] })\nexport class IonIcon {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonImg extends Components.IonImg {\n}\n@ProxyCmp({ inputs: [\"alt\", \"src\"] })\n@Component({ selector: \"ion-img\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"alt\", \"src\"] })\nexport class IonImg {\n ionImgWillLoad!: EventEmitter<CustomEvent>;\n ionImgDidLoad!: EventEmitter<CustomEvent>;\n ionError!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionImgWillLoad\", \"ionImgDidLoad\", \"ionError\"]);\n }\n}\nexport declare interface IonInfiniteScroll extends Components.IonInfiniteScroll {\n}\n@ProxyCmp({ inputs: [\"disabled\", \"position\", \"threshold\"], \"methods\": [\"complete\"] })\n@Component({ selector: \"ion-infinite-scroll\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"disabled\", \"position\", \"threshold\"] })\nexport class IonInfiniteScroll {\n ionInfinite!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionInfinite\"]);\n }\n}\nexport declare interface IonInfiniteScrollContent extends Components.IonInfiniteScrollContent {\n}\n@ProxyCmp({ inputs: [\"loadingSpinner\", \"loadingText\"] })\n@Component({ selector: \"ion-infinite-scroll-content\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"loadingSpinner\", \"loadingText\"] })\nexport class IonInfiniteScrollContent {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonInput extends Components.IonInput {\n}\n@ProxyCmp({ 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\"], \"methods\": [\"setFocus\", \"getInputElement\"] })\n@Component({ selector: \"ion-input\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", 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\"] })\nexport class IonInput {\n ionInput!: EventEmitter<CustomEvent>;\n ionChange!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n ionFocus!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionInput\", \"ionChange\", \"ionBlur\", \"ionFocus\"]);\n }\n}\nexport declare interface IonItem extends Components.IonItem {\n}\n@ProxyCmp({ inputs: [\"button\", \"color\", \"detail\", \"detailIcon\", \"disabled\", \"download\", \"href\", \"lines\", \"mode\", \"rel\", \"routerAnimation\", \"routerDirection\", \"target\", \"type\"] })\n@Component({ selector: \"ion-item\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"button\", \"color\", \"detail\", \"detailIcon\", \"disabled\", \"download\", \"href\", \"lines\", \"mode\", \"rel\", \"routerAnimation\", \"routerDirection\", \"target\", \"type\"] })\nexport class IonItem {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonItemDivider extends Components.IonItemDivider {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\", \"sticky\"] })\n@Component({ selector: \"ion-item-divider\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\", \"sticky\"] })\nexport class IonItemDivider {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonItemGroup extends Components.IonItemGroup {\n}\n@Component({ selector: \"ion-item-group\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\" })\nexport class IonItemGroup {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonItemOption extends Components.IonItemOption {\n}\n@ProxyCmp({ inputs: [\"color\", \"disabled\", \"download\", \"expandable\", \"href\", \"mode\", \"rel\", \"target\", \"type\"] })\n@Component({ selector: \"ion-item-option\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"disabled\", \"download\", \"expandable\", \"href\", \"mode\", \"rel\", \"target\", \"type\"] })\nexport class IonItemOption {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonItemOptions extends Components.IonItemOptions {\n}\n@ProxyCmp({ inputs: [\"side\"] })\n@Component({ selector: \"ion-item-options\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"side\"] })\nexport class IonItemOptions {\n ionSwipe!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionSwipe\"]);\n }\n}\nexport declare interface IonItemSliding extends Components.IonItemSliding {\n}\n@ProxyCmp({ inputs: [\"disabled\"], \"methods\": [\"getOpenAmount\", \"getSlidingRatio\", \"open\", \"close\", \"closeOpened\"] })\n@Component({ selector: \"ion-item-sliding\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"disabled\"] })\nexport class IonItemSliding {\n ionDrag!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionDrag\"]);\n }\n}\nexport declare interface IonLabel extends Components.IonLabel {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\", \"position\"] })\n@Component({ selector: \"ion-label\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\", \"position\"] })\nexport class IonLabel {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonList extends Components.IonList {\n}\n@ProxyCmp({ inputs: [\"inset\", \"lines\", \"mode\"], \"methods\": [\"closeSlidingItems\"] })\n@Component({ selector: \"ion-list\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"inset\", \"lines\", \"mode\"] })\nexport class IonList {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonListHeader extends Components.IonListHeader {\n}\n@ProxyCmp({ inputs: [\"color\", \"lines\", \"mode\"] })\n@Component({ selector: \"ion-list-header\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"lines\", \"mode\"] })\nexport class IonListHeader {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonMenu extends Components.IonMenu {\n}\n@ProxyCmp({ inputs: [\"contentId\", \"disabled\", \"maxEdgeStart\", \"menuId\", \"side\", \"swipeGesture\", \"type\"], \"methods\": [\"isOpen\", \"isActive\", \"open\", \"close\", \"toggle\", \"setOpen\"] })\n@Component({ selector: \"ion-menu\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"contentId\", \"disabled\", \"maxEdgeStart\", \"menuId\", \"side\", \"swipeGesture\", \"type\"] })\nexport class IonMenu {\n ionWillOpen!: EventEmitter<CustomEvent>;\n ionWillClose!: EventEmitter<CustomEvent>;\n ionDidOpen!: EventEmitter<CustomEvent>;\n ionDidClose!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionWillOpen\", \"ionWillClose\", \"ionDidOpen\", \"ionDidClose\"]);\n }\n}\nexport declare interface IonMenuButton extends Components.IonMenuButton {\n}\n@ProxyCmp({ inputs: [\"autoHide\", \"color\", \"disabled\", \"menu\", \"mode\", \"type\"] })\n@Component({ selector: \"ion-menu-button\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"autoHide\", \"color\", \"disabled\", \"menu\", \"mode\", \"type\"] })\nexport class IonMenuButton {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonMenuToggle extends Components.IonMenuToggle {\n}\n@ProxyCmp({ inputs: [\"autoHide\", \"menu\"] })\n@Component({ selector: \"ion-menu-toggle\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"autoHide\", \"menu\"] })\nexport class IonMenuToggle {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonNav extends Components.IonNav {\n}\n@ProxyCmp({ inputs: [\"animated\", \"animation\", \"root\", \"rootParams\", \"swipeGesture\"], \"methods\": [\"push\", \"insert\", \"insertPages\", \"pop\", \"popTo\", \"popToRoot\", \"removeIndex\", \"setRoot\", \"setPages\", \"getActive\", \"getByIndex\", \"canGoBack\", \"getPrevious\"] })\n@Component({ selector: \"ion-nav\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"animated\", \"animation\", \"root\", \"rootParams\", \"swipeGesture\"] })\nexport class IonNav {\n ionNavWillChange!: EventEmitter<CustomEvent>;\n ionNavDidChange!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionNavWillChange\", \"ionNavDidChange\"]);\n }\n}\nexport declare interface IonNavLink extends Components.IonNavLink {\n}\n@ProxyCmp({ inputs: [\"component\", \"componentProps\", \"routerAnimation\", \"routerDirection\"] })\n@Component({ selector: \"ion-nav-link\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"component\", \"componentProps\", \"routerAnimation\", \"routerDirection\"] })\nexport class IonNavLink {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonNote extends Components.IonNote {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\"] })\n@Component({ selector: \"ion-note\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\"] })\nexport class IonNote {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonProgressBar extends Components.IonProgressBar {\n}\n@ProxyCmp({ inputs: [\"buffer\", \"color\", \"mode\", \"reversed\", \"type\", \"value\"] })\n@Component({ selector: \"ion-progress-bar\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"buffer\", \"color\", \"mode\", \"reversed\", \"type\", \"value\"] })\nexport class IonProgressBar {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonRadio extends Components.IonRadio {\n}\n@ProxyCmp({ inputs: [\"color\", \"disabled\", \"mode\", \"name\", \"value\"] })\n@Component({ selector: \"ion-radio\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"disabled\", \"mode\", \"name\", \"value\"] })\nexport class IonRadio {\n ionFocus!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionFocus\", \"ionBlur\"]);\n }\n}\nexport declare interface IonRadioGroup extends Components.IonRadioGroup {\n}\n@ProxyCmp({ inputs: [\"allowEmptySelection\", \"name\", \"value\"] })\n@Component({ selector: \"ion-radio-group\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"allowEmptySelection\", \"name\", \"value\"] })\nexport class IonRadioGroup {\n ionChange!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionChange\"]);\n }\n}\nexport declare interface IonRange extends Components.IonRange {\n}\n@ProxyCmp({ inputs: [\"color\", \"debounce\", \"disabled\", \"dualKnobs\", \"max\", \"min\", \"mode\", \"name\", \"pin\", \"snaps\", \"step\", \"ticks\", \"value\"] })\n@Component({ selector: \"ion-range\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"debounce\", \"disabled\", \"dualKnobs\", \"max\", \"min\", \"mode\", \"name\", \"pin\", \"snaps\", \"step\", \"ticks\", \"value\"] })\nexport class IonRange {\n ionChange!: EventEmitter<CustomEvent>;\n ionFocus!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionChange\", \"ionFocus\", \"ionBlur\"]);\n }\n}\nexport declare interface IonRefresher extends Components.IonRefresher {\n}\n@ProxyCmp({ inputs: [\"closeDuration\", \"disabled\", \"pullFactor\", \"pullMax\", \"pullMin\", \"snapbackDuration\"], \"methods\": [\"complete\", \"cancel\", \"getProgress\"] })\n@Component({ selector: \"ion-refresher\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"closeDuration\", \"disabled\", \"pullFactor\", \"pullMax\", \"pullMin\", \"snapbackDuration\"] })\nexport class IonRefresher {\n ionRefresh!: EventEmitter<CustomEvent>;\n ionPull!: EventEmitter<CustomEvent>;\n ionStart!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionRefresh\", \"ionPull\", \"ionStart\"]);\n }\n}\nexport declare interface IonRefresherContent extends Components.IonRefresherContent {\n}\n@ProxyCmp({ inputs: [\"pullingIcon\", \"pullingText\", \"refreshingSpinner\", \"refreshingText\"] })\n@Component({ selector: \"ion-refresher-content\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"pullingIcon\", \"pullingText\", \"refreshingSpinner\", \"refreshingText\"] })\nexport class IonRefresherContent {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonReorder extends Components.IonReorder {\n}\n@Component({ selector: \"ion-reorder\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\" })\nexport class IonReorder {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonReorderGroup extends Components.IonReorderGroup {\n}\n@ProxyCmp({ inputs: [\"disabled\"], \"methods\": [\"complete\"] })\n@Component({ selector: \"ion-reorder-group\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"disabled\"] })\nexport class IonReorderGroup {\n ionItemReorder!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionItemReorder\"]);\n }\n}\nexport declare interface IonRippleEffect extends Components.IonRippleEffect {\n}\n@ProxyCmp({ inputs: [\"type\"], \"methods\": [\"addRipple\"] })\n@Component({ selector: \"ion-ripple-effect\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"type\"] })\nexport class IonRippleEffect {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonRow extends Components.IonRow {\n}\n@Component({ selector: \"ion-row\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\" })\nexport class IonRow {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonSearchbar extends Components.IonSearchbar {\n}\n@ProxyCmp({ inputs: [\"animated\", \"autocomplete\", \"autocorrect\", \"cancelButtonIcon\", \"cancelButtonText\", \"clearIcon\", \"color\", \"debounce\", \"disabled\", \"enterkeyhint\", \"inputmode\", \"mode\", \"placeholder\", \"searchIcon\", \"showCancelButton\", \"spellcheck\", \"type\", \"value\"], \"methods\": [\"setFocus\", \"getInputElement\"] })\n@Component({ selector: \"ion-searchbar\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"animated\", \"autocomplete\", \"autocorrect\", \"cancelButtonIcon\", \"cancelButtonText\", \"clearIcon\", \"color\", \"debounce\", \"disabled\", \"enterkeyhint\", \"inputmode\", \"mode\", \"placeholder\", \"searchIcon\", \"showCancelButton\", \"spellcheck\", \"type\", \"value\"] })\nexport class IonSearchbar {\n ionInput!: EventEmitter<CustomEvent>;\n ionChange!: EventEmitter<CustomEvent>;\n ionCancel!: EventEmitter<CustomEvent>;\n ionClear!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n ionFocus!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionInput\", \"ionChange\", \"ionCancel\", \"ionClear\", \"ionBlur\", \"ionFocus\"]);\n }\n}\nexport declare interface IonSegment extends Components.IonSegment {\n}\n@ProxyCmp({ inputs: [\"color\", \"disabled\", \"mode\", \"scrollable\", \"value\"] })\n@Component({ selector: \"ion-segment\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"disabled\", \"mode\", \"scrollable\", \"value\"] })\nexport class IonSegment {\n ionChange!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionChange\"]);\n }\n}\nexport declare interface IonSegmentButton extends Components.IonSegmentButton {\n}\n@ProxyCmp({ inputs: [\"disabled\", \"layout\", \"mode\", \"type\", \"value\"] })\n@Component({ selector: \"ion-segment-button\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"disabled\", \"layout\", \"mode\", \"type\", \"value\"] })\nexport class IonSegmentButton {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonSelect extends Components.IonSelect {\n}\n@ProxyCmp({ inputs: [\"cancelText\", \"compareWith\", \"disabled\", \"interface\", \"interfaceOptions\", \"mode\", \"multiple\", \"name\", \"okText\", \"placeholder\", \"selectedText\", \"value\"], \"methods\": [\"open\"] })\n@Component({ selector: \"ion-select\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"cancelText\", \"compareWith\", \"disabled\", \"interface\", \"interfaceOptions\", \"mode\", \"multiple\", \"name\", \"okText\", \"placeholder\", \"selectedText\", \"value\"] })\nexport class IonSelect {\n ionChange!: EventEmitter<CustomEvent>;\n ionCancel!: EventEmitter<CustomEvent>;\n ionFocus!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionChange\", \"ionCancel\", \"ionFocus\", \"ionBlur\"]);\n }\n}\nexport declare interface IonSelectOption extends Components.IonSelectOption {\n}\n@ProxyCmp({ inputs: [\"disabled\", \"value\"] })\n@Component({ selector: \"ion-select-option\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"disabled\", \"value\"] })\nexport class IonSelectOption {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonSkeletonText extends Components.IonSkeletonText {\n}\n@ProxyCmp({ inputs: [\"animated\"] })\n@Component({ selector: \"ion-skeleton-text\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"animated\"] })\nexport class IonSkeletonText {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonSlide extends Components.IonSlide {\n}\n@Component({ selector: \"ion-slide\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\" })\nexport class IonSlide {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonSlides extends Components.IonSlides {\n}\n@ProxyCmp({ inputs: [\"mode\", \"options\", \"pager\", \"scrollbar\"], \"methods\": [\"update\", \"updateAutoHeight\", \"slideTo\", \"slideNext\", \"slidePrev\", \"getActiveIndex\", \"getPreviousIndex\", \"length\", \"isEnd\", \"isBeginning\", \"startAutoplay\", \"stopAutoplay\", \"lockSwipeToNext\", \"lockSwipeToPrev\", \"lockSwipes\", \"getSwiper\"] })\n@Component({ selector: \"ion-slides\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"mode\", \"options\", \"pager\", \"scrollbar\"] })\nexport class IonSlides {\n ionSlidesDidLoad!: EventEmitter<CustomEvent>;\n ionSlideTap!: EventEmitter<CustomEvent>;\n ionSlideDoubleTap!: EventEmitter<CustomEvent>;\n ionSlideWillChange!: EventEmitter<CustomEvent>;\n ionSlideDidChange!: EventEmitter<CustomEvent>;\n ionSlideNextStart!: EventEmitter<CustomEvent>;\n ionSlidePrevStart!: EventEmitter<CustomEvent>;\n ionSlideNextEnd!: EventEmitter<CustomEvent>;\n ionSlidePrevEnd!: EventEmitter<CustomEvent>;\n ionSlideTransitionStart!: EventEmitter<CustomEvent>;\n ionSlideTransitionEnd!: EventEmitter<CustomEvent>;\n ionSlideDrag!: EventEmitter<CustomEvent>;\n ionSlideReachStart!: EventEmitter<CustomEvent>;\n ionSlideReachEnd!: EventEmitter<CustomEvent>;\n ionSlideTouchStart!: EventEmitter<CustomEvent>;\n ionSlideTouchEnd!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\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}\nexport declare interface IonSpinner extends Components.IonSpinner {\n}\n@ProxyCmp({ inputs: [\"color\", \"duration\", \"name\", \"paused\"] })\n@Component({ selector: \"ion-spinner\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"duration\", \"name\", \"paused\"] })\nexport class IonSpinner {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonSplitPane extends Components.IonSplitPane {\n}\n@ProxyCmp({ inputs: [\"contentId\", \"disabled\", \"when\"] })\n@Component({ selector: \"ion-split-pane\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"contentId\", \"disabled\", \"when\"] })\nexport class IonSplitPane {\n ionSplitPaneVisible!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionSplitPaneVisible\"]);\n }\n}\nexport declare interface IonTabBar extends Components.IonTabBar {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\", \"selectedTab\", \"translucent\"] })\n@Component({ selector: \"ion-tab-bar\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\", \"selectedTab\", \"translucent\"] })\nexport class IonTabBar {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonTabButton extends Components.IonTabButton {\n}\n@ProxyCmp({ inputs: [\"disabled\", \"download\", \"href\", \"layout\", \"mode\", \"rel\", \"selected\", \"tab\", \"target\"] })\n@Component({ selector: \"ion-tab-button\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"disabled\", \"download\", \"href\", \"layout\", \"mode\", \"rel\", \"selected\", \"tab\", \"target\"] })\nexport class IonTabButton {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonText extends Components.IonText {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\"] })\n@Component({ selector: \"ion-text\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\"] })\nexport class IonText {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonTextarea extends Components.IonTextarea {\n}\n@ProxyCmp({ inputs: [\"autoGrow\", \"autocapitalize\", \"autofocus\", \"clearOnEdit\", \"color\", \"cols\", \"debounce\", \"disabled\", \"enterkeyhint\", \"inputmode\", \"maxlength\", \"minlength\", \"mode\", \"name\", \"placeholder\", \"readonly\", \"required\", \"rows\", \"spellcheck\", \"value\", \"wrap\"], \"methods\": [\"setFocus\", \"getInputElement\"] })\n@Component({ selector: \"ion-textarea\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"autoGrow\", \"autocapitalize\", \"autofocus\", \"clearOnEdit\", \"color\", \"cols\", \"debounce\", \"disabled\", \"enterkeyhint\", \"inputmode\", \"maxlength\", \"minlength\", \"mode\", \"name\", \"placeholder\", \"readonly\", \"required\", \"rows\", \"spellcheck\", \"value\", \"wrap\"] })\nexport class IonTextarea {\n ionChange!: EventEmitter<CustomEvent>;\n ionInput!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n ionFocus!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionChange\", \"ionInput\", \"ionBlur\", \"ionFocus\"]);\n }\n}\nexport declare interface IonThumbnail extends Components.IonThumbnail {\n}\n@Component({ selector: \"ion-thumbnail\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\" })\nexport class IonThumbnail {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonTitle extends Components.IonTitle {\n}\n@ProxyCmp({ inputs: [\"color\", \"size\"] })\n@Component({ selector: \"ion-title\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"size\"] })\nexport class IonTitle {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\nexport declare interface IonToggle extends Components.IonToggle {\n}\n@ProxyCmp({ inputs: [\"checked\", \"color\", \"disabled\", \"mode\", \"name\", \"value\"] })\n@Component({ selector: \"ion-toggle\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"checked\", \"color\", \"disabled\", \"mode\", \"name\", \"value\"] })\nexport class IonToggle {\n ionChange!: EventEmitter<CustomEvent>;\n ionFocus!: EventEmitter<CustomEvent>;\n ionBlur!: EventEmitter<CustomEvent>;\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, [\"ionChange\", \"ionFocus\", \"ionBlur\"]);\n }\n}\nexport declare interface IonToolbar extends Components.IonToolbar {\n}\n@ProxyCmp({ inputs: [\"color\", \"mode\"] })\n@Component({ selector: \"ion-toolbar\", changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ng-content></ng-content>\", inputs: [\"color\", \"mode\"] })\nexport class IonToolbar {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n","import { Injectable, InjectionToken } from '@angular/core';\nimport { Config as CoreConfig, IonicConfig } from '@ionic/core';\n\nimport { IonicWindow } from '../types/interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Config {\n\n get(key: keyof IonicConfig, fallback?: any): any {\n const c = getConfig();\n if (c) {\n return c.get(key, fallback);\n }\n return null;\n }\n\n getBoolean(key: keyof IonicConfig, fallback?: boolean): boolean {\n const c = getConfig();\n if (c) {\n return c.getBoolean(key, fallback);\n }\n return false;\n }\n\n getNumber(key: keyof IonicConfig, fallback?: number): number {\n const c = getConfig();\n if (c) {\n return c.getNumber(key, fallback);\n }\n return 0;\n }\n\n set(key: keyof IonicConfig, value?: any) {\n console.warn(`[DEPRECATION][Config]: The Config.set() method is deprecated and will be removed in Ionic Framework 6.0. Please see https://ionicframework.com/docs/angular/config for alternatives.`);\n const c = getConfig();\n if (c) {\n c.set(key, value);\n }\n }\n}\n\nexport const ConfigToken = new InjectionToken<any>('USERCONFIG');\n\nconst getConfig = (): CoreConfig | null => {\n if (typeof (window as any) !== 'undefined') {\n const Ionic = (window as any as IonicWindow).Ionic;\n if (Ionic && Ionic.config) {\n return Ionic.config;\n }\n }\n return 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 */\nexport class NavParams {\n\n constructor(public data: {[key: string]: any} = {}) {}\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<T = any>(param: string): T {\n return this.data[param];\n }\n}\n","import { ApplicationRef, ComponentFactoryResolver, Injectable, InjectionToken, Injector, NgZone, ViewContainerRef } from '@angular/core';\nimport { FrameworkDelegate, LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_WILL_UNLOAD } from '@ionic/core';\n\nimport { NavParams } from '../directives/navigation/nav-params';\n\n@Injectable()\nexport class AngularDelegate {\n\n constructor(\n private zone: NgZone,\n private appRef: ApplicationRef\n ) {}\n\n create(\n resolver: ComponentFactoryResolver,\n injector: Injector,\n location?: ViewContainerRef,\n ) {\n return new AngularFrameworkDelegate(resolver, injector, location, this.appRef, this.zone);\n }\n}\n\nexport class AngularFrameworkDelegate implements FrameworkDelegate {\n\n private elRefMap = new WeakMap<HTMLElement, any>();\n private elEventsMap = new WeakMap<HTMLElement, () => void>();\n\n constructor(\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n private location: ViewContainerRef | undefined,\n private appRef: ApplicationRef,\n private zone: NgZone,\n ) {}\n\n attachViewToDom(container: any, component: any, params?: any, cssClasses?: string[]): Promise<any> {\n return this.zone.run(() => {\n return new Promise(resolve => {\n const el = attachView(\n this.zone, this.resolver, this.injector, this.location, this.appRef,\n this.elRefMap, this.elEventsMap,\n container, component, params, cssClasses\n );\n resolve(el);\n });\n });\n }\n\n removeViewFromDom(_container: any, component: any): Promise<void> {\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}\n\nexport const attachView = (\n zone: NgZone,\n resolver: ComponentFactoryResolver,\n injector: Injector,\n location: ViewContainerRef | undefined,\n appRef: ApplicationRef,\n elRefMap: WeakMap<HTMLElement, any>,\n elEventsMap: WeakMap<HTMLElement, () => void>,\n container: any, component: any, params: any, cssClasses: string[] | undefined\n) => {\n const factory = resolver.resolveComponentFactory(component);\n const childInjector = Injector.create({\n providers: getProviders(params),\n parent: injector\n });\n const componentRef = (location)\n ? location.createComponent(factory, location.length, childInjector)\n : factory.create(childInjector);\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\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};\n\nconst LIFECYCLES = [\n LIFECYCLE_WILL_ENTER,\n LIFECYCLE_DID_ENTER,\n LIFECYCLE_WILL_LEAVE,\n LIFECYCLE_DID_LEAVE,\n LIFECYCLE_WILL_UNLOAD\n];\n\nexport const bindLifecycleEvents = (zone: NgZone, instance: any, element: HTMLElement) => {\n return zone.run(() => {\n const unregisters = LIFECYCLES\n .filter(eventName => typeof instance[eventName] === 'function')\n .map(eventName => {\n const handler = (ev: any) => instance[eventName](ev.detail);\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<any>('NavParamsToken');\n\nconst getProviders = (params: {[key: string]: any}) => {\n return [\n {\n provide: NavParamsToken, useValue: params\n },\n {\n provide: NavParams, useFactory: provideNavParamsInjectable, deps: [NavParamsToken]\n }\n ];\n};\n\nconst provideNavParamsInjectable = (params: {[key: string]: any}) => {\n return new NavParams(params);\n};\n","import { ComponentRef } from '@angular/core';\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\nimport { AnimationBuilder, NavDirection, RouterDirection } from '@ionic/core';\n\nexport const insertView = (views: RouteView[], view: RouteView, direction: RouterDirection) => {\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: RouteView[], view: RouteView) => {\n views = views.filter(v => v.stackId !== view.stackId);\n views.push(view);\n return views;\n};\n\nconst setForward = (views: RouteView[], view: RouteView) => {\n const index = views.indexOf(view);\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 return views;\n};\n\nconst setBack = (views: RouteView[], view: RouteView) => {\n const index = views.indexOf(view);\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\nexport const getUrl = (router: Router, activatedRoute: ActivatedRoute) => {\n const urlTree = router.createUrlTree(['.'], { relativeTo: activatedRoute });\n return router.serializeUrl(urlTree);\n};\n\nexport const isTabSwitch = (enteringView: RouteView, leavingView: RouteView | undefined) => {\n if (!leavingView) {\n return true;\n }\n return enteringView.stackId !== leavingView.stackId;\n};\n\nexport const computeStackId = (prefixUrl: string[] | undefined, url: string) => {\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};\n\nexport const toSegments = (path: string) => {\n return path\n .split('/')\n .map(s => s.trim())\n .filter(s => s !== '');\n};\n\nexport const destroyView = (view: RouteView | undefined) => {\n if (view) {\n // TODO lifecycle event\n view.ref.destroy();\n view.unlistenEvents();\n }\n};\n\nexport interface StackEvent {\n enteringView: RouteView;\n direction: RouterDirection;\n animation: NavDirection | undefined;\n tabSwitch: boolean;\n}\n\nexport interface RouteView {\n id: number;\n url: string;\n stackId: string | undefined;\n element: HTMLElement;\n ref: ComponentRef<any>;\n savedData?: any;\n savedExtras?: NavigationExtras;\n unlistenEvents: () => void;\n animationBuilder?: AnimationBuilder;\n}\n","import { Location } from '@angular/common';\nimport { ComponentRef, NgZone } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AnimationBuilder, RouterDirection } from '@ionic/core';\n\nimport { bindLifecycleEvents } from '../../providers/angular-delegate';\nimport { NavController } from '../../providers/nav-controller';\n\nimport { RouteView, StackEvent, computeStackId, destroyView, getUrl, insertView, isTabSwitch, toSegments } from './stack-utils';\n\nexport class StackController {\n\n private views: RouteView[] = [];\n private runningTask?: Promise<any>;\n private skipTransition = false;\n private tabsPrefix: string[] | undefined;\n private activeView: RouteView | undefined;\n private nextId = 0;\n\n constructor(\n tabsPrefix: string | undefined,\n private containerEl: HTMLIonRouterOutletElement,\n private router: Router,\n private navCtrl: NavController,\n private zone: NgZone,\n private location: Location\n ) {\n this.tabsPrefix = tabsPrefix !== undefined ? toSegments(tabsPrefix) : undefined;\n }\n\n createView(ref: ComponentRef<any>, activatedRoute: ActivatedRoute): RouteView {\n const url = getUrl(this.router, activatedRoute);\n const element = (ref && ref.location && ref.location.nativeElement) as HTMLElement;\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: ActivatedRoute): RouteView | undefined {\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\n setActive(enteringView: RouteView): Promise<StackEvent> {\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\n const viewsSnapshot = this.views.slice();\n\n let currentNavigation;\n\n const router = (this.router as any);\n\n // Angular >= 7.2.0\n if (router.getCurrentNavigation) {\n currentNavigation = router.getCurrentNavigation();\n\n // Angular < 7.2.0\n } else if (\n router.navigations &&\n router.navigations.value\n ) {\n currentNavigation = router.navigations.value;\n }\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 (\n currentNavigation &&\n currentNavigation.extras &&\n currentNavigation.extras.replaceUrl\n ) {\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);\n\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 /**\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 (\n animationBuilder === undefined &&\n direction === 'back' &&\n !tabSwitch &&\n customAnimation !== undefined\n ) {\n animationBuilder = customAnimation;\n }\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\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\n return this.transition(enteringView, leavingView, animation, this.canGoBack(1), false, animationBuilder)\n .then(() => cleanupAsync(enteringView, views, viewsSnapshot, this.location))\n .then(() => ({\n enteringView,\n direction,\n animation,\n tabSwitch\n }));\n });\n });\n }\n\n canGoBack(deep: number, stackId = this.getActiveStackId()): boolean {\n return this.getStack(stackId).length > deep;\n }\n\n pop(deep: number, stackId = this.getActiveStackId()) {\n return this.zone.run(() => {\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\n const viewSavedData = view.savedData;\n if (viewSavedData) {\n const primaryOutlet = viewSavedData.get('primary');\n if (\n primaryOutlet &&\n primaryOutlet.route &&\n primaryOutlet.route._routerState &&\n primaryOutlet.route._routerState.snapshot &&\n primaryOutlet.route._routerState.snapshot.url\n ) {\n url = primaryOutlet.route._routerState.snapshot.url;\n }\n }\n const { animationBuilder } = this.navCtrl.consumeTransition();\n return this.navCtrl.navigateBack(url, { ...view.savedExtras, animation: animationBuilder }).then(() => true);\n });\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\n return this.wait(() => {\n return this.transition(\n enteringView, // entering view\n leavingView, // leaving view\n 'back',\n this.canGoBack(2),\n true,\n customAnimation\n );\n });\n }\n return Promise.resolve();\n }\n\n endBackTransition(shouldComplete: boolean) {\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);\n }\n }\n\n getLastUrl(stackId?: string) {\n const views = this.getStack(stackId);\n return views.length > 0 ? views[views.length - 1] : undefined;\n }\n\n /**\n * @internal\n */\n getRootUrl(stackId?: string) {\n const views = this.getStack(stackId);\n return views.length > 0 ? views[0] : undefined;\n }\n\n getActiveStackId(): string | undefined {\n return this.activeView ? this.activeView.stackId : undefined;\n }\n\n destroy() {\n this.containerEl = undefined!;\n this.views.forEach(destroyView);\n this.activeView = undefined;\n this.views = [];\n }\n\n private getStack(stackId: string | undefined) {\n return this.views.filter(v => v.stackId === stackId);\n }\n\n private insertView(enteringView: RouteView, direction: RouterDirection) {\n this.activeView = enteringView;\n this.views = insertView(this.views, enteringView, direction);\n return this.views.slice();\n }\n\n private transition(\n enteringView: RouteView | undefined,\n leavingView: RouteView | undefined,\n direction: 'forward' | 'back' | undefined,\n showGoBack: boolean,\n progressAnimation: boolean,\n animationBuilder?: AnimationBuilder\n ) {\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\n if ((containerEl as any).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\n private async wait<T>(task: () => Promise<T>): Promise<T> {\n if (this.runningTask !== undefined) {\n await this.runningTask;\n this.runningTask = undefined;\n }\n const promise = this.runningTask = task();\n return promise;\n }\n}\n\nconst cleanupAsync = (activeRoute: RouteView, views: RouteView[], viewsSnapshot: RouteView[], location: Location) => {\n if (typeof (requestAnimationFrame as any) === 'function') {\n return new Promise<any>(resolve => {\n requestAnimationFrame(() => {\n cleanup(activeRoute, views, viewsSnapshot, location);\n resolve();\n });\n });\n }\n return Promise.resolve();\n};\n\nconst cleanup = (activeRoute: RouteView, views: RouteView[], viewsSnapshot: RouteView[], location: Location) => {\n viewsSnapshot\n .filter(view => !views.includes(view))\n .forEach(destroyView);\n\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","import { Location } from '@angular/common';\nimport { Attribute, ComponentFactoryResolver, ComponentRef, Directive, ElementRef, EventEmitter, Injector, NgZone, OnDestroy, OnInit, Optional, Output, SkipSelf, ViewContainerRef } from '@angular/core';\nimport { ActivatedRoute, ChildrenOutletContexts, OutletContext, PRIMARY_OUTLET, Router } from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, switchMap } from 'rxjs/operators';\n\nimport { AnimationBuilder } from '../../';\nimport { Config } from '../../providers/config';\nimport { NavController } from '../../providers/nav-controller';\n\nimport { StackController } from './stack-controller';\nimport { RouteView, getUrl } from './stack-utils';\n\n@Directive({\n selector: 'ion-router-outlet',\n exportAs: 'outlet',\n inputs: ['animated', 'animation', 'swipeGesture']\n})\nexport class IonRouterOutlet implements OnDestroy, OnInit {\n nativeEl: HTMLIonRouterOutletElement;\n\n private activated: ComponentRef<any> | null = null;\n activatedView: RouteView | null = null;\n\n private _activatedRoute: ActivatedRoute | null = null;\n private _swipeGesture?: boolean;\n private name: string;\n private stackCtrl: StackController;\n\n // Maintain map of activated route proxies for each component instance\n private proxyMap = new WeakMap<any, ActivatedRoute>();\n\n // Keep the latest activated route in a subject for the proxy routes to switch map to\n private currentActivatedRoute$ = new BehaviorSubject<{ component: any; activatedRoute: ActivatedRoute } | null>(null);\n\n tabsPrefix: string | undefined;\n\n @Output() stackEvents = new EventEmitter<any>();\n @Output('activate') activateEvents = new EventEmitter<any>();\n @Output('deactivate') deactivateEvents = new EventEmitter<any>();\n\n set animation(animation: AnimationBuilder) {\n this.nativeEl.animation = animation;\n }\n\n set animated(animated: boolean) {\n this.nativeEl.animated = animated;\n }\n\n set swipeGesture(swipe: boolean) {\n this._swipeGesture = swipe;\n\n this.nativeEl.swipeHandler = swipe ? {\n canStart: () => this.stackCtrl.canGoBack(1),\n onStart: () => this.stackCtrl.startBackTransition(),\n onEnd: shouldContinue => this.stackCtrl.endBackTransition(shouldContinue)\n } : undefined;\n }\n\n constructor(\n private parentContexts: ChildrenOutletContexts,\n private location: ViewContainerRef,\n private resolver: ComponentFactoryResolver,\n @Attribute('name') name: string,\n @Optional() @Attribute('tabs') tabs: string,\n private config: Config,\n private navCtrl: NavController,\n commonLocation: Location,\n elementRef: ElementRef,\n router: Router,\n zone: NgZone,\n activatedRoute: ActivatedRoute,\n @SkipSelf() @Optional() readonly parentOutlet?: IonRouterOutlet\n ) {\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 as any);\n }\n\n ngOnDestroy(): void {\n this.stackCtrl.destroy();\n }\n\n getContext(): OutletContext | null {\n return this.parentContexts.getContext(this.name);\n }\n\n ngOnInit(): void {\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 && context.route) {\n this.activateWith(context.route, context.resolver || null);\n }\n }\n if ((this.nativeEl as any).componentOnReady) {\n this.nativeEl.componentOnReady().then(() => {\n if (this._swipeGesture === undefined) {\n this.swipeGesture = this.config.getBoolean('swipeBackEnabled', (this.nativeEl as any).mode === 'ios');\n }\n });\n }\n }\n\n get isActivated(): boolean {\n return !!this.activated;\n }\n\n get component(): object {\n if (!this.activated) {\n throw new Error('Outlet is not activated');\n }\n return this.activated.instance;\n }\n\n get activatedRoute(): ActivatedRoute {\n if (!this.activated) {\n throw new Error('Outlet is not activated');\n }\n return this._activatedRoute as ActivatedRoute;\n }\n\n get activatedRouteData(): any {\n if (this._activatedRoute) {\n return this._activatedRoute.snapshot.data;\n }\n return {};\n }\n\n /**\n * Called when the `RouteReuseStrategy` instructs to detach the subtree\n */\n detach(): ComponentRef<any> {\n throw new Error('incompatible reuse strategy');\n }\n\n /**\n * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree\n */\n attach(_ref: ComponentRef<any>, _activatedRoute: ActivatedRoute) {\n throw new Error('incompatible reuse strategy');\n }\n\n deactivate(): void {\n if (this.activated) {\n if (this.activatedView) {\n this.activatedView.savedData = new Map(this.getContext()!.children['contexts']);\n\n /**\n * Ensure we are saving the NavigationExtras\n * data otherwise it will be lost\n */\n this.activatedView.savedExtras = {};\n const context = this.getContext()!;\n\n if (context.route) {\n const contextSnapshot = context.route.snapshot;\n\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\n activateWith(activatedRoute: ActivatedRoute, resolver: ComponentFactoryResolver | null) {\n if (this.isActivated) {\n throw new Error('Cannot activate an already activated outlet');\n }\n this._activatedRoute = activatedRoute;\n\n let cmpRef: any;\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 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 } else {\n const snapshot = (activatedRoute as any)._futureSnapshot;\n const component = snapshot.routeConfig!.component as any;\n resolver = resolver || this.resolver;\n\n const factory = resolver.resolveComponentFactory(component);\n const childContexts = this.parentContexts.getOrCreateContext(this.name).children;\n\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<any>(null);\n const activatedRouteProxy = this.createActivatedRouteProxy(component$, activatedRoute);\n\n const injector = new OutletInjector(activatedRouteProxy, childContexts, this.location.injector);\n cmpRef = this.activated = this.location.createComponent(factory, this.location.length, injector);\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\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\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\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 /**\n * Returns `true` if there are pages in the stack to go back.\n */\n canGoBack(deep = 1, stackId?: string): boolean {\n return this.stackCtrl.canGoBack(deep, stackId);\n }\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?: string): Promise<boolean> {\n return this.stackCtrl.pop(deep, stackId);\n }\n\n /**\n * Returns the URL of the active page of each stack.\n */\n getLastUrl(stackId?: string): string | undefined {\n const active = this.stackCtrl.getLastUrl(stackId);\n return active ? active.url : undefined;\n }\n\n /**\n * Returns the RouteView of the active page of each stack.\n * @internal\n */\n getLastRouteView(stackId?: string): RouteView | undefined {\n return this.stackCtrl.getLastUrl(stackId);\n }\n\n /**\n * Returns the root view in the tab stack.\n * @internal\n */\n getRootView(stackId?: string): RouteView | undefined {\n return this.stackCtrl.getRootUrl(stackId);\n }\n\n /**\n * Returns the active stack ID. In the context of ion-tabs, it means the active tab.\n */\n getActiveStackId(): string | undefined {\n return this.stackCtrl.getActiveStackId();\n }\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 private createActivatedRouteProxy(component$: Observable<any>, activatedRoute: ActivatedRoute): ActivatedRoute {\n const proxy: any = new ActivatedRoute();\n\n proxy._futureSnapshot = (activatedRoute as any)._futureSnapshot;\n proxy._routerState = (activatedRoute as any)._routerState;\n proxy.snapshot = activatedRoute.snapshot;\n proxy.outlet = activatedRoute.outlet;\n proxy.component = activatedRoute.component;\n\n // Setup wrappers for the observables so consumers don't have to worry about switching to new observables as the state updates\n (proxy as any)._paramMap = this.proxyObservable(component$, 'paramMap');\n (proxy as any)._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\n return proxy as ActivatedRoute;\n }\n\n /**\n * Create a wrapped observable that will switch to the latest activated route matched by the given component\n */\n private proxyObservable(component$: Observable<any>, path: string): Observable<any> {\n return component$.pipe(\n // First wait until the component instance is pushed\n filter(component => !!component),\n switchMap(component =>\n this.currentActivatedRoute$.pipe(\n filter(current => current !== null && current.component === component),\n switchMap(current => current && (current.activatedRoute as any)[path]),\n distinctUntilChanged()\n )\n )\n );\n }\n\n /**\n * Updates the activated route proxy for the given component to the new incoming router state\n */\n private updateActivatedRouteProxy(component: any, activatedRoute: ActivatedRoute): void {\n const proxy = this.proxyMap.get(component);\n if (!proxy) {\n throw new Error(`Could not find activated route proxy for view`);\n }\n\n (proxy as any)._futureSnapshot = (activatedRoute as any)._futureSnapshot;\n (proxy as any)._routerState = (activatedRoute as any)._routerState;\n proxy.snapshot = activatedRoute.snapshot;\n proxy.outlet = activatedRoute.outlet;\n proxy.component = activatedRoute.component;\n\n this.currentActivatedRoute$.next({ component, activatedRoute });\n }\n}\n\nclass OutletInjector implements Injector {\n constructor(\n private route: ActivatedRoute,\n private childContexts: ChildrenOutletContexts,\n private parent: Injector\n ) { }\n\n get(token: any, notFoundValue?: any): any {\n if (token === ActivatedRoute) {\n return this.route;\n }\n\n if (token === ChildrenOutletContexts) {\n return this.childContexts;\n }\n\n // tslint:disable-next-line\n return this.parent.get(token, notFoundValue);\n }\n}\n","import { Component, ContentChild, EventEmitter, HostListener, Output, ViewChild } from '@angular/core';\n\nimport { NavController } from '../../providers/nav-controller';\nimport { IonTabBar } from '../proxies';\n\nimport { IonRouterOutlet } from './ion-router-outlet';\nimport { StackEvent } from './stack-utils';\n\n@Component({\n selector: 'ion-tabs',\n template: `\n <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})\nexport class IonTabs {\n\n @ViewChild('outlet', { read: IonRouterOutlet, static: false }) outlet: IonRouterOutlet;\n @ContentChild(IonTabBar, { static: false }) tabBar: IonTabBar | undefined;\n\n @Output() ionTabsWillChange = new EventEmitter<{ tab: string }>();\n @Output() ionTabsDidChange = new EventEmitter<{ tab: string }>();\n\n constructor(\n private navCtrl: NavController,\n ) { }\n\n /**\n * @internal\n */\n onPageSelected(detail: StackEvent) {\n const stackId = detail.enteringView.stackId;\n if (detail.tabSwitch && stackId !== undefined) {\n if (this.tabBar) {\n this.tabBar.selectedTab = stackId;\n }\n this.ionTabsWillChange.emit({ tab: stackId });\n this.ionTabsDidChange.emit({ 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 @HostListener('ionTabButtonClick', ['$event.detail.tab'])\n select(tab: string) {\n const alreadySelected = this.outlet.getActiveStackId() === tab;\n const tabRootUrl = `${this.outlet.tabsPrefix}/${tab}`;\n if (alreadySelected) {\n const activeStackId = this.outlet.getActiveStackId();\n const activeView = this.outlet.getLastRouteView(activeStackId);\n\n // If on root tab, do not navigate to root tab again\n if (activeView.url === tabRootUrl) { return; }\n\n const rootView = this.outlet.getRootView(tab);\n const navigationExtras = rootView && tabRootUrl === rootView.url && rootView.savedExtras;\n return this.navCtrl.navigateRoot(tabRootUrl, {\n ...(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 const url = lastRoute && lastRoute.url || tabRootUrl;\n const navigationExtras = lastRoute && lastRoute.savedExtras;\n\n return this.navCtrl.navigateRoot(url, {\n ...(navigationExtras),\n animated: true,\n animationDirection: 'back',\n });\n }\n }\n\n getSelected(): string | undefined {\n return this.outlet.getActiveStackId();\n }\n}\n","import { Directive, HostListener, Optional } from '@angular/core';\nimport { AnimationBuilder } from '@ionic/core';\n\nimport { Config } from '../../providers/config';\nimport { NavController } from '../../providers/nav-controller';\n\nimport { IonRouterOutlet } from './ion-router-outlet';\n\n@Directive({\n selector: 'ion-back-button',\n inputs: ['defaultHref', 'routerAnimation'],\n})\nexport class IonBackButtonDelegate {\n\n defaultHref: string | undefined | null;\n routerAnimation?: AnimationBuilder;\n\n constructor(\n @Optional() private routerOutlet: IonRouterOutlet,\n private navCtrl: NavController,\n private config: Config\n ) {}\n\n /**\n * @internal\n */\n @HostListener('click', ['$event'])\n onClick(ev: Event) {\n const defaultHref = this.defaultHref || this.config.get('backButtonDefaultHref');\n\n if (this.routerOutlet && this.routerOutlet.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, { animation: this.routerAnimation });\n ev.preventDefault();\n }\n }\n}\n","import { ComponentFactoryResolver, Directive, ElementRef, Injector, ViewContainerRef } from '@angular/core';\n\nimport { AngularDelegate } from '../../providers/angular-delegate';\nimport { ProxyCmp, proxyOutputs } from '../proxies-utils';\n\n@ProxyCmp({\n inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture'],\n methods: ['push', 'insert', 'insertPages', 'pop', 'popTo', 'popToRoot', 'removeIndex', 'setRoot', 'setPages', 'getActive', 'getByIndex', 'canGoBack', 'getPrevious']\n})\n@Directive({\n selector: 'ion-nav'\n})\nexport class NavDelegate {\n protected el: HTMLElement;\n constructor(\n ref: ElementRef,\n resolver: ComponentFactoryResolver,\n injector: Injector,\n angularDelegate: AngularDelegate,\n location: ViewContainerRef\n ) {\n this.el = ref.nativeElement;\n ref.nativeElement.delegate = angularDelegate.create(resolver, injector, location);\n proxyOutputs(this, this.el, ['ionNavDidChange' , 'ionNavWillChange' ]);\n }\n}\n","import { LocationStrategy } from '@angular/common';\nimport { Directive, ElementRef, HostListener, Optional } from '@angular/core';\nimport { Router, RouterLink } from '@angular/router';\nimport { AnimationBuilder, RouterDirection } from '@ionic/core';\nimport { Subscription } from 'rxjs';\n\nimport { NavController } from '../../providers/nav-controller';\n\n@Directive({\n selector: '[routerLink]',\n inputs: ['routerDirection', 'routerAnimation']\n})\nexport class RouterLinkDelegate {\n\n private subscription?: Subscription;\n\n routerDirection: RouterDirection = 'forward';\n routerAnimation?: AnimationBuilder;\n\n constructor(\n private locationStrategy: LocationStrategy,\n private navCtrl: NavController,\n private elementRef: ElementRef,\n private router: Router,\n @Optional() private routerLink?: RouterLink,\n ) { }\n\n ngOnInit() {\n this.updateTargetUrlAndHref();\n }\n\n ngOnChanges(): any {\n this.updateTargetUrlAndHref();\n }\n\n ngOnDestroy(): any {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n private updateTargetUrlAndHref() {\n if (this.routerLink) {\n const href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLink.urlTree));\n this.elementRef.nativeElement.href = href;\n }\n }\n\n /**\n * @internal\n */\n @HostListener('click', ['$event'])\n onClick(ev: UIEvent) {\n this.navCtrl.setDirection(this.routerDirection, undefined, undefined, this.routerAnimation);\n ev.preventDefault();\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\nimport { VirtualContext } from './virtual-utils';\n\n/**\n * @hidden\n */\n@Directive({ selector: '[virtualFooter]' })\nexport class VirtualFooter {\n constructor(public templateRef: TemplateRef<VirtualContext>) {}\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\nimport { VirtualContext } from './virtual-utils';\n\n/**\n * @hidden\n */\n@Directive({ selector: '[virtualHeader]' })\nexport class VirtualHeader {\n constructor(public templateRef: TemplateRef<VirtualContext>) {}\n}\n","import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { VirtualContext } from './virtual-utils';\n\n/**\n * @hidden\n */\n@Directive({ selector: '[virtualItem]' })\nexport class VirtualItem {\n constructor(public templateRef: TemplateRef<VirtualContext>, public viewContainer: ViewContainerRef) {}\n}\n","import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EmbeddedViewRef, IterableDiffer, IterableDiffers, NgZone, SimpleChanges, TrackByFunction } from '@angular/core';\nimport { Cell, CellType, FooterHeightFn, HeaderFn, HeaderHeightFn, ItemHeightFn } from '@ionic/core';\n\nimport { ProxyCmp } from '../proxies-utils';\n\nimport { VirtualFooter } from './virtual-footer';\nimport { VirtualHeader } from './virtual-header';\nimport { VirtualItem } from './virtual-item';\nimport { VirtualContext } from './virtual-utils';\n\nexport declare interface IonVirtualScroll {\n /**\n * It is important to provide this\n * if virtual item height will be significantly larger than the default\n * The approximate height of each virtual item template's cell.\n * This dimension is used to help determine how many cells should\n * be created when initialized, and to help calculate the height of\n * the scrollable area. This height value can only use `px` units.\n * Note that the actual rendered size of each cell comes from the\n * app's CSS, whereas this approximation is used to help calculate\n * initial dimensions before the item has been rendered.\n */\n approxItemHeight: number;\n\n /**\n * The approximate height of each header template's cell.\n * This dimension is used to help determine how many cells should\n * be created when initialized, and to help calculate the height of\n * the scrollable area. This height value can only use `px` units.\n * Note that the actual rendered size of each cell comes from the\n * app's CSS, whereas this approximation is used to help calculate\n * initial dimensions before the item has been rendered.\n */\n approxHeaderHeight: number;\n\n /**\n * The approximate width of each footer template's cell.\n * This dimension is used to help determine how many cells should\n * be created when initialized, and to help calculate the height of\n * the scrollable area. This height value can only use `px` units.\n * Note that the actual rendered size of each cell comes from the\n * app's CSS, whereas this approximation is used to help calculate\n * initial dimensions before the item has been rendered.\n */\n approxFooterHeight: number;\n\n /**\n * Section headers and the data used within its given\n * template can be dynamically created by passing a function to `headerFn`.\n * For example, a large list of contacts usually has dividers between each\n * letter in the alphabet. App's can provide their own custom `headerFn`\n * which is called with each record within the dataset. The logic within\n * the header function can decide if the header template should be used,\n * and what data to give to the header template. The function must return\n * `null` if a header cell shouldn't be created.\n */\n headerFn?: HeaderFn;\n\n /**\n * Section footers and the data used within its given\n * template can be dynamically created by passing a function to `footerFn`.\n * The logic within the footer function can decide if the footer template\n * should be used, and what data to give to the footer template. The function\n * must return `null` if a footer cell shouldn't be created.\n */\n footerFn?: HeaderFn;\n\n /**\n * The data that builds the templates within the virtual scroll.\n * It's important to note that when this data has changed, then the\n * entire virtual scroll is reset, which is an expensive operation and\n * should be avoided if possible.\n */\n items?: any[];\n\n /**\n * An optional function that maps each item within their height.\n * When this function is provided, heavy optimizations and fast path can be taked by\n * `ion-virtual-scroll` leading to massive performance improvements.\n *\n * This function allows to skip all DOM reads, which can be Doing so leads\n * to massive performance\n */\n itemHeight?: ItemHeightFn;\n\n /**\n * An optional function that maps each item header within their height.\n */\n headerHeight?: HeaderHeightFn;\n\n /**\n * An optional function that maps each item footer within their height.\n */\n footerHeight?: FooterHeightFn;\n\n /**\n * Same as `ngForTrackBy` which can be used on `ngFor`.\n */\n trackBy: TrackByFunction<any>;\n\n /**\n * This method marks the tail the items array as dirty, so they can be re-rendered. It's equivalent to calling: ```js * virtualScroll.checkRange(lastItemLen, items.length - lastItemLen); * ```\n */\n 'checkEnd': () => void;\n /**\n * This method marks a subset of items as dirty, so they can be re-rendered. Items should be marked as dirty any time the content or their style changes. The subset of items to be updated can are specifing by an offset and a length.\n */\n 'checkRange': (offset: number, len?: number) => void;\n /**\n * Returns the position of the virtual item at the given index.\n */\n 'positionForItem': (index: number) => Promise<number>;\n}\n\n@ProxyCmp({\n inputs: ['approxItemHeight', 'approxHeaderHeight', 'approxFooterHeight', 'headerFn', 'footerFn', 'items', 'itemHeight', 'headerHeight', 'footerHeight'],\n methods: ['checkEnd', 'checkRange', 'positionForItem']\n})\n@Component({\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})\nexport class IonVirtualScroll {\n\n private differ?: IterableDiffer<any>;\n private el: HTMLIonVirtualScrollElement;\n private refMap = new WeakMap<HTMLElement, EmbeddedViewRef<VirtualContext>>();\n\n @ContentChild(VirtualItem, { static: false }) itmTmp!: VirtualItem;\n @ContentChild(VirtualHeader, { static: false }) hdrTmp!: VirtualHeader;\n @ContentChild(VirtualFooter, { static: false }) ftrTmp!: VirtualFooter;\n\n constructor(\n private z: NgZone,\n private iterableDiffers: IterableDiffers,\n elementRef: ElementRef,\n ) {\n this.el = elementRef.nativeElement as HTMLIonVirtualScrollElement;\n this.el.nodeRender = this.nodeRender.bind(this);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\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 } catch (e) {\n throw new Error(\n `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 if (changes === null) {\n return;\n }\n // TODO: optimize\n this.checkRange(0);\n }\n\n private nodeRender(el: HTMLElement | null, cell: Cell, index: number): HTMLElement {\n return this.z.run(() => {\n let node: EmbeddedViewRef<VirtualContext>;\n if (!el) {\n node = this.itmTmp.viewContainer.createEmbeddedView(\n this.getComponent(cell.type),\n { $implicit: cell.value, index },\n index\n );\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 }\n // run sync change detections\n node.detectChanges();\n return el;\n });\n }\n\n private getComponent(type: CellType) {\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 }\n throw new Error('template for virtual item was not provided');\n }\n}\n\nconst getElement = (view: EmbeddedViewRef<VirtualContext>): HTMLElement => {\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","\ninterface ControllerShape<Opts, HTMLElm> {\n create(options: Opts): Promise<HTMLElm>;\n dismiss(data?: any, role?: string, id?: string): Promise<boolean>;\n getTop(): Promise<HTMLElm | undefined>;\n}\n\nexport class OverlayBaseController<Opts, Overlay> implements ControllerShape<Opts, Overlay> {\n constructor(private ctrl: ControllerShape<Opts, Overlay>) {}\n\n /**\n * Creates a new overlay\n */\n create(opts?: Opts) {\n // TODO: next major release opts is not optional\n return this.ctrl.create((opts || {}) as any);\n }\n\n /**\n * When `id` is not provided, it dismisses the top overlay.\n */\n dismiss(data?: any, role?: string, id?: string) {\n return this.ctrl.dismiss(data, role, id);\n }\n\n /**\n * Returns the top overlay.\n */\n getTop() {\n return this.ctrl.getTop();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActionSheetOptions, actionSheetController } from '@ionic/core';\n\nimport { OverlayBaseController } from '../util/overlay';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ActionSheetController extends OverlayBaseController<ActionSheetOptions, HTMLIonActionSheetElement> {\n constructor() {\n super(actionSheetController);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AlertOptions, alertController } from '@ionic/core';\n\nimport { OverlayBaseController } from '../util/overlay';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AlertController extends OverlayBaseController<AlertOptions, HTMLIonAlertElement> {\n constructor() {\n super(alertController);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { LoadingOptions, loadingController } from '@ionic/core';\n\nimport { OverlayBaseController } from '../util/overlay';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingController extends OverlayBaseController<LoadingOptions, HTMLIonLoadingElement> {\n constructor() {\n super(loadingController);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { menuController } from '@ionic/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MenuController {\n\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?: string) {\n return menuController.open(menuId);\n }\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?: string) {\n return menuController.close(menuId);\n }\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?: string) {\n return menuController.toggle(menuId);\n }\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: boolean, menuId?: string) {\n return menuController.enable(shouldEnable, menuId);\n }\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: boolean, menuId?: string) {\n return menuController.swipeGesture(shouldEnable, menuId);\n }\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?: string) {\n return menuController.isOpen(menuId);\n }\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?: string) {\n return menuController.isEnabled(menuId);\n }\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?: string) {\n return menuController.get(menuId);\n }\n\n /**\n * @return Returns the instance of the menu already opened, otherwise `null`.\n */\n getOpen() {\n return menuController.getOpen();\n }\n\n /**\n * @return Returns an array of all menu instances.\n */\n getMenus() {\n return menuController.getMenus();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PickerOptions, pickerController } from '@ionic/core';\n\nimport { OverlayBaseController } from '../util/overlay';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PickerController extends OverlayBaseController<PickerOptions, HTMLIonPickerElement> {\n constructor() {\n super(pickerController);\n }\n}\n","import { ComponentFactoryResolver, Injectable, Injector } from '@angular/core';\nimport { ModalOptions, modalController } from '@ionic/core';\n\nimport { OverlayBaseController } from '../util/overlay';\n\nimport { AngularDelegate } from './angular-delegate';\n\n@Injectable()\nexport class ModalController extends OverlayBaseController<ModalOptions, HTMLIonModalElement> {\n\n constructor(\n private angularDelegate: AngularDelegate,\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n ) {\n super(modalController);\n }\n\n create(opts: ModalOptions): Promise<HTMLIonModalElement> {\n return super.create({\n ...opts,\n delegate: this.angularDelegate.create(this.resolver, this.injector)\n });\n }\n}\n","import { ComponentFactoryResolver, Injectable, Injector } from '@angular/core';\nimport { PopoverOptions, popoverController } from '@ionic/core';\n\nimport { OverlayBaseController } from '../util/overlay';\n\nimport { AngularDelegate } from './angular-delegate';\n\n@Injectable()\nexport class PopoverController extends OverlayBaseController<PopoverOptions, HTMLIonPopoverElement> {\n\n constructor(\n private angularDelegate: AngularDelegate,\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n ) {\n super(popoverController);\n }\n\n create(opts: PopoverOptions): Promise<HTMLIonPopoverElement> {\n return super.create({\n ...opts,\n delegate: this.angularDelegate.create(this.resolver, this.injector)\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ToastOptions, toastController } from '@ionic/core';\n\nimport { OverlayBaseController } from '../util/overlay';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastController extends OverlayBaseController<ToastOptions, HTMLIonToastElement> {\n constructor() {\n super(toastController);\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DomController {\n\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: RafCallback) {\n getQueue().read(cb);\n }\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: RafCallback) {\n getQueue().write(cb);\n }\n}\n\nconst getQueue = () => {\n const win = typeof (window as any) !== 'undefined' ? window : null as any;\n\n if (win != null) {\n const Ionic = win.Ionic;\n if (Ionic && Ionic.queue) {\n return Ionic.queue;\n }\n\n return {\n read: (cb: any) => win.requestAnimationFrame(cb),\n write: (cb: any) => win.requestAnimationFrame(cb)\n };\n }\n\n return {\n read: (cb: any) => cb(),\n write: (cb: any) => cb()\n };\n};\n\nexport type RafCallback = (timeStamp?: number) => void;\n","import { Injectable } from '@angular/core';\nimport { Animation, createAnimation, getTimeGivenProgression } from '@ionic/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AnimationController {\n /**\n * Create a new animation\n */\n create(animationId?: string): Animation {\n return createAnimation(animationId);\n }\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: number[], p1: number[], p2: number[], p3: number[], progression: number): number[] {\n return getTimeGivenProgression(p0, p1, p2, p3, progression);\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Gesture, GestureConfig, createGesture } from '@ionic/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GestureController {\n constructor(private zone: NgZone) {}\n /**\n * Create a new gesture\n */\n create(opts: GestureConfig, runInsideAngularZone = false): Gesture {\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\n return createGesture(opts);\n }\n}\n","import { ActivatedRouteSnapshot, DetachedRouteHandle, RouteReuseStrategy } from '@angular/router';\n\nexport class IonicRouteStrategy implements RouteReuseStrategy {\n\n shouldDetach(_route: ActivatedRouteSnapshot): boolean {\n return false;\n }\n\n shouldAttach(_route: ActivatedRouteSnapshot): boolean {\n return false;\n }\n\n store(_route: ActivatedRouteSnapshot, _detachedTree: DetachedRouteHandle): void {\n return;\n }\n\n retrieve(_route: ActivatedRouteSnapshot): DetachedRouteHandle | null {\n return null;\n }\n\n shouldReuseRoute(\n future: ActivatedRouteSnapshot,\n curr: ActivatedRouteSnapshot\n ): boolean {\n if (future.routeConfig !== curr.routeConfig) {\n return false;\n }\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\n if (keysA.length !== keysB.length) {\n return false;\n }\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","import { NgZone } from '@angular/core';\nimport { applyPolyfills, defineCustomElements } from '@ionic/core/loader';\n\nimport { Config } from './providers/config';\nimport { IonicWindow } from './types/interfaces';\nimport { raf } from './util/util';\n\nlet didInitialize = false;\n\nexport const appInitialize = (config: Config, doc: Document, zone: NgZone) => {\n return (): any => {\n const win: IonicWindow | undefined = doc.defaultView as any;\n if (win && typeof (window as any) !== 'undefined') {\n if (didInitialize) {\n console.warn('Ionic Angular was already initialized. Make sure IonicModule.forRoot() is just called once.');\n }\n didInitialize = true;\n const Ionic = win.Ionic = win.Ionic || {};\n\n Ionic.config = {\n ...config,\n _zoneGate: (h: any) => zone.run(h)\n };\n\n const aelFn = '__zone_symbol__addEventListener' in (doc.body as any)\n ? '__zone_symbol__addEventListener'\n : 'addEventListener';\n\n return applyPolyfills().then(() => {\n return defineCustomElements(win, {\n exclude: ['ion-tabs', 'ion-tab'],\n syncQueue: true,\n raf,\n jmp: (h: any) => zone.runOutsideAngular(h),\n ael(elm, eventName, cb, opts) {\n (elm as any)[aelFn](eventName, cb, opts);\n },\n rel(elm, eventName, cb, opts) {\n elm.removeEventListener(eventName, cb, opts);\n }\n });\n });\n }\n };\n};\n","import { CommonModule, DOCUMENT } from '@angular/common';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule, NgZone } from '@angular/core';\nimport { IonicConfig } from '@ionic/core';\n\nimport { appInitialize } from './app-initialize';\nimport { BooleanValueAccessor } from './directives/control-value-accessors/boolean-value-accessor';\nimport { NumericValueAccessor } from './directives/control-value-accessors/numeric-value-accesssor';\nimport { RadioValueAccessor } from './directives/control-value-accessors/radio-value-accessor';\nimport { SelectValueAccessor } from './directives/control-value-accessors/select-value-accessor';\nimport { TextValueAccessor } from './directives/control-value-accessors/text-value-accessor';\nimport { IonBackButtonDelegate } from './directives/navigation/ion-back-button';\nimport { IonRouterOutlet } from './directives/navigation/ion-router-outlet';\nimport { IonTabs } from './directives/navigation/ion-tabs';\nimport { NavDelegate } from './directives/navigation/nav-delegate';\nimport { RouterLinkDelegate } from './directives/navigation/router-link-delegate';\nimport { IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, 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 } from './directives/proxies';\nimport { VirtualFooter } from './directives/virtual-scroll/virtual-footer';\nimport { VirtualHeader } from './directives/virtual-scroll/virtual-header';\nimport { VirtualItem } from './directives/virtual-scroll/virtual-item';\nimport { IonVirtualScroll } from './directives/virtual-scroll/virtual-scroll';\nimport { AngularDelegate } from './providers/angular-delegate';\nimport { ConfigToken } from './providers/config';\nimport { ModalController } from './providers/modal-controller';\nimport { PopoverController } from './providers/popover-controller';\n\nconst DECLARATIONS = [\n // proxies\n IonApp,\n IonAvatar,\n IonBackButton,\n IonBackdrop,\n IonBadge,\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 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 IonToggle,\n IonToolbar,\n IonTitle,\n\n IonTabs,\n\n // ngModel accessors\n BooleanValueAccessor,\n NumericValueAccessor,\n RadioValueAccessor,\n SelectValueAccessor,\n TextValueAccessor,\n\n // navigation\n IonRouterOutlet,\n IonBackButtonDelegate,\n NavDelegate,\n RouterLinkDelegate,\n\n // virtual scroll\n VirtualFooter,\n VirtualHeader,\n VirtualItem,\n IonVirtualScroll\n];\n\n@NgModule({\n declarations: DECLARATIONS,\n exports: DECLARATIONS,\n providers: [AngularDelegate, ModalController, PopoverController],\n imports: [CommonModule]\n})\nexport class IonicModule {\n static forRoot(config?: IonicConfig): ModuleWithProviders<IonicModule> {\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: [\n ConfigToken,\n DOCUMENT,\n NgZone\n ]\n }\n ]\n };\n }\n}\n"],"names":["NgControl","tslib_1.__decorate","HostListener","tslib_1.__extends","Injector","ElementRef","Directive","NG_VALUE_ACCESSOR","Subject","isPlatform","getPlatforms","Inject","DOCUMENT","NgZone","Injectable","tslib_1.__param","router","NavigationStart","Location","UrlSerializer","Router","Optional","fromEvent","ChangeDetectorRef","Component","ChangeDetectionStrategy","InjectionToken","ApplicationRef","tslib_1.__values","LIFECYCLE_WILL_ENTER","LIFECYCLE_DID_ENTER","LIFECYCLE_WILL_LEAVE","LIFECYCLE_DID_LEAVE","LIFECYCLE_WILL_UNLOAD","BehaviorSubject","EventEmitter","PRIMARY_OUTLET","ActivatedRoute","filter","switchMap","distinctUntilChanged","ChildrenOutletContexts","ViewContainerRef","ComponentFactoryResolver","Attribute","SkipSelf","Output","ViewChild","ContentChild","LocationStrategy","RouterLink","TemplateRef","IterableDiffers","actionSheetController","alertController","loadingController","menuController","pickerController","modalController","popoverController","toastController","createAnimation","getTimeGivenProgression","createGesture","applyPolyfills","defineCustomElements","APP_INITIALIZER","NgModule","CommonModule"],"mappings":"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"}
\No newline at end of file