UNPKG

256 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. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 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) : new P(function (resolve) { resolve(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 __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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","\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 { ElementRef, HostListener } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport { raf } from '../../util/util';\n\nexport class ValueAccessor implements ControlValueAccessor {\n\n private onChange: (value: any) => void = () => {/**/};\n private onTouched: () => void = () => {/**/};\n protected lastValue: any;\n\n constructor(protected el: ElementRef) {}\n\n writeValue(value: any) {\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\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 } 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(el: ElementRef) {\n super(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 } 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(el: ElementRef) {\n super(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 } 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(el: ElementRef) {\n super(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 } 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(el: ElementRef) {\n super(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 } 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(el: ElementRef) {\n super(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, Platforms, getPlatforms, isPlatform } from '@ionic/core';\nimport { Subject, Subscription } from 'rxjs';\n\nexport interface BackButtonEmitter extends Subject<BackButtonEventDetail> {\n subscribeWithPriority(priority: number, callback: () => 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 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 ev.register(priority, () => zone.run(callback))\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\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 { 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 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 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, () => this.pop());\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);\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);\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);\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);\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') {\n this.direction = direction;\n this.animated = getAnimation(direction, animated, animationDirection);\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\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\n return {\n direction,\n animation\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","/* 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\n// tslint:disable-next-line: only-arrow-functions\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","/* tslint:disable */\n/* auto-generated angular directive proxies */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone } from '@angular/core';\nimport { ProxyCmp, proxyOutputs } from './proxies-utils';\n\nimport { Components } from '@ionic/core';\n\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}\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}\n\nexport declare interface IonBackButton extends Components.IonBackButton {}\n@ProxyCmp({inputs: ['color', 'defaultHref', 'disabled', 'icon', 'mode', 'text', 'type']})\n@Component({ selector: 'ion-back-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['color', 'defaultHref', 'disabled', 'icon', 'mode', '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}\n\nexport declare interface IonBackdrop extends Components.IonBackdrop {}\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}\n\nexport declare interface IonBadge extends Components.IonBadge {}\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}\n\nexport declare interface IonButton extends Components.IonButton {}\n@ProxyCmp({inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'href', 'mode', 'rel', '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', '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}\n\nexport declare interface IonButtons extends Components.IonButtons {}\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}\n\nexport declare interface IonCard extends Components.IonCard {}\n@ProxyCmp({inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerDirection', 'target', 'type']})\n@Component({ selector: 'ion-card', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', '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}\n\nexport declare interface IonCardContent extends Components.IonCardContent {}\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}\n\nexport declare interface IonCardHeader extends Components.IonCardHeader {}\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}\n\nexport declare interface IonCardSubtitle extends Components.IonCardSubtitle {}\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}\n\nexport declare interface IonCardTitle extends Components.IonCardTitle {}\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}\n\nexport declare interface IonCheckbox extends Components.IonCheckbox {}\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}\n\nexport declare interface IonChip extends Components.IonChip {}\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}\n\nexport declare interface IonCol extends Components.IonCol {}\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}\n\nexport declare interface IonContent extends Components.IonContent {}\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}\n\nexport declare interface IonDatetime extends Components.IonDatetime {}\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}\n\nexport declare interface IonFab extends Components.IonFab {}\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}\n\nexport declare interface IonFabButton extends Components.IonFabButton {}\n@ProxyCmp({inputs: ['activated', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type']})\n@Component({ selector: 'ion-fab-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['activated', 'color', 'disabled', 'download', 'href', 'mode', 'rel', '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}\n\nexport declare interface IonFabList extends Components.IonFabList {}\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}\n\nexport declare interface IonFooter extends Components.IonFooter {}\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}\n\nexport declare interface IonGrid extends Components.IonGrid {}\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}\n\nexport declare interface IonHeader extends Components.IonHeader {}\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}\n\nexport declare interface IonIcon extends Components.IonIcon {}\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}\n\nexport declare interface IonImg extends Components.IonImg {}\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}\n\nexport declare interface IonInfiniteScroll extends Components.IonInfiniteScroll {}\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}\n\nexport declare interface IonInfiniteScrollContent extends Components.IonInfiniteScrollContent {}\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}\n\nexport declare interface IonInput extends Components.IonInput {}\n@ProxyCmp({inputs: ['accept', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearOnEdit', 'color', 'debounce', 'disabled', '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', '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}\n\nexport declare interface IonItem extends Components.IonItem {}\n@ProxyCmp({inputs: ['button', 'color', 'detail', 'detailIcon', 'disabled', 'download', 'href', 'lines', 'mode', 'rel', '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', '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}\n\nexport declare interface IonItemDivider extends Components.IonItemDivider {}\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}\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}\n\nexport declare interface IonItemOption extends Components.IonItemOption {}\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}\n\nexport declare interface IonItemOptions extends Components.IonItemOptions {}\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}\n\nexport declare interface IonItemSliding extends Components.IonItemSliding {}\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}\n\nexport declare interface IonLabel extends Components.IonLabel {}\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}\n\nexport declare interface IonList extends Components.IonList {}\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}\n\nexport declare interface IonListHeader extends Components.IonListHeader {}\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}\n\nexport declare interface IonMenu extends Components.IonMenu {}\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}\n\nexport declare interface IonMenuButton extends Components.IonMenuButton {}\n@ProxyCmp({inputs: ['autoHide', 'color', 'disabled', 'menu', 'type']})\n@Component({ selector: 'ion-menu-button', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['autoHide', 'color', 'disabled', 'menu', '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}\n\nexport declare interface IonMenuToggle extends Components.IonMenuToggle {}\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}\n\nexport declare interface IonNav extends Components.IonNav {}\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}\n\nexport declare interface IonNavLink extends Components.IonNavLink {}\n@ProxyCmp({inputs: ['component', 'componentProps', 'routerDirection']})\n@Component({ selector: 'ion-nav-link', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', inputs: ['component', 'componentProps', '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}\n\nexport declare interface IonNote extends Components.IonNote {}\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}\n\nexport declare interface IonProgressBar extends Components.IonProgressBar {}\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}\n\nexport declare interface IonRadio extends Components.IonRadio {}\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}\n\nexport declare interface IonRadioGroup extends Components.IonRadioGroup {}\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}\n\nexport declare interface IonRange extends Components.IonRange {}\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}\n\nexport declare interface IonRefresher extends Components.IonRefresher {}\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}\n\nexport declare interface IonRefresherContent extends Components.IonRefresherContent {}\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}\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}\n\nexport declare interface IonReorderGroup extends Components.IonReorderGroup {}\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}\n\nexport declare interface IonRippleEffect extends Components.IonRippleEffect {}\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}\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}\n\nexport declare interface IonSearchbar extends Components.IonSearchbar {}\n@ProxyCmp({inputs: ['animated', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', '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', '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}\n\nexport declare interface IonSegment extends Components.IonSegment {}\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}\n\nexport declare interface IonSegmentButton extends Components.IonSegmentButton {}\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}\n\nexport declare interface IonSelect extends Components.IonSelect {}\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}\n\nexport declare interface IonSelectOption extends Components.IonSelectOption {}\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}\n\nexport declare interface IonSkeletonText extends Components.IonSkeletonText {}\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}\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}\n\nexport declare interface IonSlides extends Components.IonSlides {}\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}\n\nexport declare interface IonSpinner extends Components.IonSpinner {}\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}\n\nexport declare interface IonSplitPane extends Components.IonSplitPane {}\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}\n\nexport declare interface IonTabBar extends Components.IonTabBar {}\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}\n\nexport declare interface IonTabButton extends Components.IonTabButton {}\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}\n\nexport declare interface IonText extends Components.IonText {}\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}\n\nexport declare interface IonTextarea extends Components.IonTextarea {}\n@ProxyCmp({inputs: ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'debounce', 'disabled', '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', '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}\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}\n\nexport declare interface IonTitle extends Components.IonTitle {}\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}\n\nexport declare interface IonToggle extends Components.IonToggle {}\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}\n\nexport declare interface IonToolbar extends Components.IonToolbar {}\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 { 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}\n","import { Location } from '@angular/common';\nimport { ComponentRef, NgZone } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { 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 let { direction, animation } = this.navCtrl.consumeTransition();\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 // 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)\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\n return this.navCtrl.navigateBack(url, view.savedExtras).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 return this.wait(() => {\n return this.transition(\n enteringView, // entering view\n leavingView, // leaving view\n 'back',\n this.canGoBack(2),\n true\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 ) {\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 });\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 { 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', 'swipeGesture']\n})\nexport class IonRouterOutlet implements OnDestroy, OnInit {\n nativeEl: HTMLIonRouterOutletElement;\n\n private activated: ComponentRef<any> | null = null;\n private 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 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 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';\n\nimport { NavController } from '../../providers/nav-controller';\n\nimport { IonRouterOutlet } from './ion-router-outlet';\n\n@Directive({\n selector: 'ion-back-button',\n inputs: ['defaultHref'],\n})\nexport class IonBackButtonDelegate {\n\n defaultHref: string | undefined | null;\n\n constructor(\n @Optional() private routerOutlet: IonRouterOutlet,\n private navCtrl: NavController\n ) {}\n\n /**\n * @internal\n */\n @HostListener('click', ['$event'])\n onClick(ev: Event) {\n if (this.routerOutlet && this.routerOutlet.canGoBack()) {\n this.routerOutlet.pop();\n ev.preventDefault();\n } else if (this.defaultHref != null) {\n this.navCtrl.navigateBack(this.defaultHref);\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 { RouterDirection } from '@ionic/core';\nimport { Subscription } from 'rxjs';\n\nimport { NavController } from '../../providers/nav-controller';\n\n@Directive({\n selector: '[routerLink]',\n inputs: ['routerDirection']\n})\nexport class RouterLinkDelegate {\n\n private subscription?: Subscription;\n\n routerDirection: RouterDirection = 'forward';\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);\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 } from '@angular/core';\nimport { Gesture, GestureConfig, createGesture } from '@ionic/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GestureController {\n /**\n * Create a new gesture\n */\n create(opts: GestureConfig): Gesture {\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":["tslib_1.__decorate","HostListener","tslib_1.__extends","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","Injector","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