Mini Shell

Direktori : /home/funerariamayer/www/app/
Upload File :
Current File : /home/funerariamayer/www/app/node_modules_ionic_core_dist_esm_ion-app_8_entry_js.js.map

{"version":3,"file":"node_modules_ionic_core_dist_esm_ion-app_8_entry_js.js","mappings":"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","sources":["./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as registerInstance, h, H as Host, i as getElement, e as createEvent, f as readTask, j as forceUpdate, c as writeTask } from './index-06cd27b1.js';\nimport { b as getIonMode, c as config, a as isPlatform } from './ionic-global-a049bcbf.js';\nimport { c as componentOnReady, d as clamp, i as inheritAttributes } from './helpers-eed79a2b.js';\nimport { c as createColorClasses, h as hostContext } from './theme-a24ff1ad.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-154a53a5.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-a922018c.js';\nimport { t as transition } from './index-c8ef55b5.js';\n\nconst appCss = \"html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}\";\n\nlet App = class {\n  constructor(hostRef) {\n    registerInstance(this, hostRef);\n  }\n  componentDidLoad() {\n    {\n      rIC(async () => {\n        const isHybrid = isPlatform(window, 'hybrid');\n        if (!config.getBoolean('_testing')) {\n          import('./tap-click-c0be8677.js').then(module => module.startTapClick(config));\n        }\n        if (config.getBoolean('statusTap', isHybrid)) {\n          import('./status-tap-4087b8c4.js').then(module => module.startStatusTap());\n        }\n        if (config.getBoolean('inputShims', needInputShims())) {\n          import('./input-shims-fef4a5fa.js').then(module => module.startInputShims(config));\n        }\n        const hardwareBackButtonModule = await import('./hardware-back-button-ace6a71b.js');\n        if (config.getBoolean('hardwareBackButton', isHybrid)) {\n          hardwareBackButtonModule.startHardwareBackButton();\n        }\n        else {\n          hardwareBackButtonModule.blockHardwareBackButton();\n        }\n        if (typeof window !== 'undefined') {\n          import('./keyboard-808e4e15.js').then(module => module.startKeyboardAssist(window));\n        }\n        import('./focus-visible-02bf7a99.js').then(module => this.focusVisible = module.startFocusVisible());\n      });\n    }\n  }\n  /**\n   * @internal\n   * Used to set focus on an element that uses `ion-focusable`.\n   * Do not use this if focusing the element as a result of a keyboard\n   * event as the focus utility should handle this for us. This method\n   * should be used when we want to programmatically focus an element as\n   * a result of another user action. (Ex: We focus the first element\n   * inside of a popover when the user presents it, but the popover is not always\n   * presented as a result of keyboard action.)\n   */\n  async setFocus(elements) {\n    if (this.focusVisible) {\n      this.focusVisible.setFocus(elements);\n    }\n  }\n  render() {\n    const mode = getIonMode(this);\n    return (h(Host, { class: {\n        [mode]: true,\n        'ion-page': true,\n        'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),\n      } }));\n  }\n  get el() { return getElement(this); }\n};\nconst needInputShims = () => {\n  return isPlatform(window, 'ios') && isPlatform(window, 'mobile');\n};\nconst rIC = (callback) => {\n  if ('requestIdleCallback' in window) {\n    window.requestIdleCallback(callback);\n  }\n  else {\n    setTimeout(callback, 32);\n  }\n};\nApp.style = appCss;\n\nconst buttonsIosCss = \".sc-ion-buttons-ios-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-start:5px;--padding-end:5px;margin-left:2px;margin-right:2px;height:32px;font-size:17px;font-weight:400}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:24px;line-height:0.67}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:28px;line-height:0.67}\";\n\nconst buttonsMdCss = \".sc-ion-buttons-md-h{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:1.4em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}\";\n\nlet Buttons = class {\n  constructor(hostRef) {\n    registerInstance(this, hostRef);\n    /**\n     * If true, buttons will disappear when its\n     * parent toolbar has fully collapsed if the toolbar\n     * is not the first toolbar. If the toolbar is the\n     * first toolbar, the buttons will be hidden and will\n     * only be shown once all toolbars have fully collapsed.\n     *\n     * Only applies in `ios` mode with `collapse` set to\n     * `true` on `ion-header`.\n     *\n     * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)\n     */\n    this.collapse = false;\n  }\n  render() {\n    const mode = getIonMode(this);\n    return (h(Host, { class: {\n        [mode]: true,\n        ['buttons-collapse']: this.collapse\n      } }));\n  }\n};\nButtons.style = {\n  ios: buttonsIosCss,\n  md: buttonsMdCss\n};\n\nconst contentCss = \":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:manipulation;touch-action:manipulation}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\\\"\\\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;left:-100%;width:100%;height:100vh;opacity:0;pointer-events:none}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}\";\n\nlet Content = class {\n  constructor(hostRef) {\n    registerInstance(this, hostRef);\n    this.ionScrollStart = createEvent(this, \"ionScrollStart\", 7);\n    this.ionScroll = createEvent(this, \"ionScroll\", 7);\n    this.ionScrollEnd = createEvent(this, \"ionScrollEnd\", 7);\n    this.isScrolling = false;\n    this.lastScroll = 0;\n    this.queued = false;\n    this.cTop = -1;\n    this.cBottom = -1;\n    this.isMainContent = true;\n    // Detail is used in a hot loop in the scroll event, by allocating it here\n    // V8 will be able to inline any read/write to it since it's a monomorphic class.\n    // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html\n    this.detail = {\n      scrollTop: 0,\n      scrollLeft: 0,\n      type: 'scroll',\n      event: undefined,\n      startX: 0,\n      startY: 0,\n      startTime: 0,\n      currentX: 0,\n      currentY: 0,\n      velocityX: 0,\n      velocityY: 0,\n      deltaX: 0,\n      deltaY: 0,\n      currentTime: 0,\n      data: undefined,\n      isScrolling: true,\n    };\n    /**\n     * If `true`, the content will scroll behind the headers\n     * and footers. This effect can easily be seen by setting the toolbar\n     * to transparent.\n     */\n    this.fullscreen = false;\n    /**\n     * If you want to enable the content scrolling in the X axis, set this property to `true`.\n     */\n    this.scrollX = false;\n    /**\n     * If you want to disable the content scrolling in the Y axis, set this property to `false`.\n     */\n    this.scrollY = true;\n    /**\n     * Because of performance reasons, ionScroll events are disabled by default, in order to enable them\n     * and start listening from (ionScroll), set this property to `true`.\n     */\n    this.scrollEvents = false;\n  }\n  connectedCallback() {\n    this.isMainContent = this.el.closest('ion-menu, ion-popover, ion-modal') === null;\n  }\n  disconnectedCallback() {\n    this.onScrollEnd();\n  }\n  onAppLoad() {\n    this.resize();\n  }\n  shouldForceOverscroll() {\n    const { forceOverscroll } = this;\n    const mode = getIonMode(this);\n    return forceOverscroll === undefined\n      ? mode === 'ios' && isPlatform('ios')\n      : forceOverscroll;\n  }\n  resize() {\n    if (this.fullscreen) {\n      readTask(() => this.readDimensions());\n    }\n    else if (this.cTop !== 0 || this.cBottom !== 0) {\n      this.cTop = this.cBottom = 0;\n      forceUpdate(this);\n    }\n  }\n  readDimensions() {\n    const page = getPageElement(this.el);\n    const top = Math.max(this.el.offsetTop, 0);\n    const bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0);\n    const dirty = top !== this.cTop || bottom !== this.cBottom;\n    if (dirty) {\n      this.cTop = top;\n      this.cBottom = bottom;\n      forceUpdate(this);\n    }\n  }\n  onScroll(ev) {\n    const timeStamp = Date.now();\n    const shouldStart = !this.isScrolling;\n    this.lastScroll = timeStamp;\n    if (shouldStart) {\n      this.onScrollStart();\n    }\n    if (!this.queued && this.scrollEvents) {\n      this.queued = true;\n      readTask(ts => {\n        this.queued = false;\n        this.detail.event = ev;\n        updateScrollDetail(this.detail, this.scrollEl, ts, shouldStart);\n        this.ionScroll.emit(this.detail);\n      });\n    }\n  }\n  /**\n   * Get the element where the actual scrolling takes place.\n   * This element can be used to subscribe to `scroll` events or manually modify\n   * `scrollTop`. However, it's recommended to use the API provided by `ion-content`:\n   *\n   * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events\n   * and `scrollToPoint()` to scroll the content into a certain point.\n   */\n  async getScrollElement() {\n    /**\n     * If this gets called in certain early lifecycle hooks (ex: Vue onMounted),\n     * scrollEl won't be defined yet with the custom elements build, so wait for it to load in.\n     */\n    if (!this.scrollEl) {\n      await new Promise(resolve => componentOnReady(this.el, resolve));\n    }\n    return Promise.resolve(this.scrollEl);\n  }\n  /**\n   * Scroll to the top of the component.\n   *\n   * @param duration The amount of time to take scrolling to the top. Defaults to `0`.\n   */\n  scrollToTop(duration = 0) {\n    return this.scrollToPoint(undefined, 0, duration);\n  }\n  /**\n   * Scroll to the bottom of the component.\n   *\n   * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.\n   */\n  async scrollToBottom(duration = 0) {\n    const scrollEl = await this.getScrollElement();\n    const y = scrollEl.scrollHeight - scrollEl.clientHeight;\n    return this.scrollToPoint(undefined, y, duration);\n  }\n  /**\n   * Scroll by a specified X/Y distance in the component.\n   *\n   * @param x The amount to scroll by on the horizontal axis.\n   * @param y The amount to scroll by on the vertical axis.\n   * @param duration The amount of time to take scrolling by that amount.\n   */\n  async scrollByPoint(x, y, duration) {\n    const scrollEl = await this.getScrollElement();\n    return this.scrollToPoint(x + scrollEl.scrollLeft, y + scrollEl.scrollTop, duration);\n  }\n  /**\n   * Scroll to a specified X/Y location in the component.\n   *\n   * @param x The point to scroll to on the horizontal axis.\n   * @param y The point to scroll to on the vertical axis.\n   * @param duration The amount of time to take scrolling to that point. Defaults to `0`.\n   */\n  async scrollToPoint(x, y, duration = 0) {\n    const el = await this.getScrollElement();\n    if (duration < 32) {\n      if (y != null) {\n        el.scrollTop = y;\n      }\n      if (x != null) {\n        el.scrollLeft = x;\n      }\n      return;\n    }\n    let resolve;\n    let startTime = 0;\n    const promise = new Promise(r => resolve = r);\n    const fromY = el.scrollTop;\n    const fromX = el.scrollLeft;\n    const deltaY = y != null ? y - fromY : 0;\n    const deltaX = x != null ? x - fromX : 0;\n    // scroll loop\n    const step = (timeStamp) => {\n      const linearTime = Math.min(1, ((timeStamp - startTime) / duration)) - 1;\n      const easedT = Math.pow(linearTime, 3) + 1;\n      if (deltaY !== 0) {\n        el.scrollTop = Math.floor((easedT * deltaY) + fromY);\n      }\n      if (deltaX !== 0) {\n        el.scrollLeft = Math.floor((easedT * deltaX) + fromX);\n      }\n      if (easedT < 1) {\n        // do not use DomController here\n        // must use nativeRaf in order to fire in the next frame\n        // TODO: remove as any\n        requestAnimationFrame(step);\n      }\n      else {\n        resolve();\n      }\n    };\n    // chill out for a frame first\n    requestAnimationFrame(ts => {\n      startTime = ts;\n      step(ts);\n    });\n    return promise;\n  }\n  onScrollStart() {\n    this.isScrolling = true;\n    this.ionScrollStart.emit({\n      isScrolling: true\n    });\n    if (this.watchDog) {\n      clearInterval(this.watchDog);\n    }\n    // watchdog\n    this.watchDog = setInterval(() => {\n      if (this.lastScroll < Date.now() - 120) {\n        this.onScrollEnd();\n      }\n    }, 100);\n  }\n  onScrollEnd() {\n    clearInterval(this.watchDog);\n    this.watchDog = null;\n    if (this.isScrolling) {\n      this.isScrolling = false;\n      this.ionScrollEnd.emit({\n        isScrolling: false\n      });\n    }\n  }\n  render() {\n    const { isMainContent, scrollX, scrollY } = this;\n    const mode = getIonMode(this);\n    const forceOverscroll = this.shouldForceOverscroll();\n    const transitionShadow = mode === 'ios';\n    const TagType = isMainContent ? 'main' : 'div';\n    this.resize();\n    return (h(Host, { class: createColorClasses(this.color, {\n        [mode]: true,\n        'content-sizing': hostContext('ion-popover', this.el),\n        'overscroll': forceOverscroll,\n      }), style: {\n        '--offset-top': `${this.cTop}px`,\n        '--offset-bottom': `${this.cBottom}px`,\n      } }, h(\"div\", { id: \"background-content\", part: \"background\" }), h(TagType, { class: {\n        'inner-scroll': true,\n        'scroll-x': scrollX,\n        'scroll-y': scrollY,\n        'overscroll': (scrollX || scrollY) && forceOverscroll\n      }, ref: (el) => this.scrollEl = el, onScroll: (this.scrollEvents) ? (ev) => this.onScroll(ev) : undefined, part: \"scroll\" }, h(\"slot\", null)), transitionShadow ? (h(\"div\", { class: \"transition-effect\" }, h(\"div\", { class: \"transition-cover\" }), h(\"div\", { class: \"transition-shadow\" }))) : null, h(\"slot\", { name: \"fixed\" })));\n  }\n  get el() { return getElement(this); }\n};\nconst getParentElement = (el) => {\n  if (el.parentElement) {\n    // normal element with a parent element\n    return el.parentElement;\n  }\n  if (el.parentNode && el.parentNode.host) {\n    // shadow dom's document fragment\n    return el.parentNode.host;\n  }\n  return null;\n};\nconst getPageElement = (el) => {\n  const tabs = el.closest('ion-tabs');\n  if (tabs) {\n    return tabs;\n  }\n  /**\n   * If we're in a popover, we need to use its wrapper so we can account for space\n   * between the popover and the edges of the screen. But if the popover contains\n   * its own page element, we should use that instead.\n   */\n  const page = el.closest('ion-app, ion-page, .ion-page, page-inner, .popover-content');\n  if (page) {\n    return page;\n  }\n  return getParentElement(el);\n};\n// ******** DOM READ ****************\nconst updateScrollDetail = (detail, el, timestamp, shouldStart) => {\n  const prevX = detail.currentX;\n  const prevY = detail.currentY;\n  const prevT = detail.currentTime;\n  const currentX = el.scrollLeft;\n  const currentY = el.scrollTop;\n  const timeDelta = timestamp - prevT;\n  if (shouldStart) {\n    // remember the start positions\n    detail.startTime = timestamp;\n    detail.startX = currentX;\n    detail.startY = currentY;\n    detail.velocityX = detail.velocityY = 0;\n  }\n  detail.currentTime = timestamp;\n  detail.currentX = detail.scrollLeft = currentX;\n  detail.currentY = detail.scrollTop = currentY;\n  detail.deltaX = currentX - detail.startX;\n  detail.deltaY = currentY - detail.startY;\n  if (timeDelta > 0 && timeDelta < 100) {\n    const velocityX = (currentX - prevX) / timeDelta;\n    const velocityY = (currentY - prevY) / timeDelta;\n    detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;\n    detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;\n  }\n};\nContent.style = contentCss;\n\nconst handleFooterFade = (scrollEl, baseEl) => {\n  readTask(() => {\n    const scrollTop = scrollEl.scrollTop;\n    const maxScroll = scrollEl.scrollHeight - scrollEl.clientHeight;\n    /**\n     * Toolbar background will fade\n     * out over fadeDuration in pixels.\n     */\n    const fadeDuration = 10;\n    /**\n     * Begin fading out maxScroll - 30px\n     * from the bottom of the content.\n     * Also determine how close we are\n     * to starting the fade. If we are\n     * before the starting point, the\n     * scale value will get clamped to 0.\n     * If we are after the maxScroll (rubber\n     * band scrolling), the scale value will\n     * get clamped to 1.\n     */\n    const fadeStart = maxScroll - fadeDuration;\n    const distanceToStart = scrollTop - fadeStart;\n    const scale = clamp(0, 1 - (distanceToStart / fadeDuration), 1);\n    writeTask(() => {\n      baseEl.style.setProperty('--opacity-scale', scale.toString());\n    });\n  });\n};\n\nconst footerIosCss = \"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-ios ion-toolbar:first-of-type{--border-width:0.55px 0 0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.footer-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.footer-translucent-ios ion-toolbar{--opacity:.8}}.footer-ios.ion-no-border ion-toolbar:first-of-type{--border-width:0}.footer-collapse-fade ion-toolbar{--opacity-scale:inherit}\";\n\nconst footerMdCss = \"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md::before{left:0;top:-2px;bottom:auto;background-position:left 0 top 0;position:absolute;width:100%;height:2px;background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==\\\");background-repeat:repeat-x;content:\\\"\\\"}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{left:unset;right:unset;right:0}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{background-position:right 0 top 0}.footer-md.ion-no-border::before{display:none}\";\n\nlet Footer = class {\n  constructor(hostRef) {\n    registerInstance(this, hostRef);\n    /**\n     * If `true`, the footer will be translucent.\n     * Only applies when the mode is `\"ios\"` and the device supports\n     * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n     *\n     * Note: In order to scroll content behind the footer, the `fullscreen`\n     * attribute needs to be set on the content.\n     */\n    this.translucent = false;\n    this.checkCollapsibleFooter = () => {\n      const mode = getIonMode(this);\n      if (mode !== 'ios') {\n        return;\n      }\n      const { collapse } = this;\n      const hasFade = collapse === 'fade';\n      this.destroyCollapsibleFooter();\n      if (hasFade) {\n        const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n        const contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;\n        this.setupFadeFooter(contentEl);\n      }\n    };\n    this.setupFadeFooter = async (contentEl) => {\n      if (!contentEl) {\n        console.error('ion-footer requires a content to collapse. Make sure there is an ion-content.');\n        return;\n      }\n      await new Promise(resolve => componentOnReady(contentEl, resolve));\n      const scrollEl = this.scrollEl = await contentEl.getScrollElement();\n      /**\n       * Handle fading of toolbars on scroll\n       */\n      this.contentScrollCallback = () => { handleFooterFade(scrollEl, this.el); };\n      scrollEl.addEventListener('scroll', this.contentScrollCallback);\n      handleFooterFade(scrollEl, this.el);\n    };\n  }\n  componentDidLoad() {\n    this.checkCollapsibleFooter();\n  }\n  componentDidUpdate() {\n    this.checkCollapsibleFooter();\n  }\n  destroyCollapsibleFooter() {\n    if (this.scrollEl && this.contentScrollCallback) {\n      this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);\n      this.contentScrollCallback = undefined;\n    }\n  }\n  render() {\n    const { translucent, collapse } = this;\n    const mode = getIonMode(this);\n    return (h(Host, { role: \"contentinfo\", class: {\n        [mode]: true,\n        // Used internally for styling\n        [`footer-${mode}`]: true,\n        [`footer-translucent`]: translucent,\n        [`footer-translucent-${mode}`]: translucent,\n        [`footer-collapse-${collapse}`]: collapse !== undefined,\n      } }, mode === 'ios' && translucent &&\n      h(\"div\", { class: \"footer-background\" }), h(\"slot\", null)));\n  }\n  get el() { return getElement(this); }\n};\nFooter.style = {\n  ios: footerIosCss,\n  md: footerMdCss\n};\n\nconst TRANSITION = 'all 0.2s ease-in-out';\nconst cloneElement = (tagName) => {\n  const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);\n  if (getCachedEl !== null) {\n    return getCachedEl;\n  }\n  const clonedEl = document.createElement(tagName);\n  clonedEl.classList.add('ion-cloned-element');\n  clonedEl.style.setProperty('display', 'none');\n  document.body.appendChild(clonedEl);\n  return clonedEl;\n};\nconst createHeaderIndex = (headerEl) => {\n  if (!headerEl) {\n    return;\n  }\n  const toolbars = headerEl.querySelectorAll('ion-toolbar');\n  return {\n    el: headerEl,\n    toolbars: Array.from(toolbars).map((toolbar) => {\n      const ionTitleEl = toolbar.querySelector('ion-title');\n      return {\n        el: toolbar,\n        background: toolbar.shadowRoot.querySelector('.toolbar-background'),\n        ionTitleEl,\n        innerTitleEl: (ionTitleEl) ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,\n        ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || []\n      };\n    }) || []\n  };\n};\nconst handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {\n  readTask(() => {\n    const scrollTop = scrollEl.scrollTop;\n    const scale = clamp(1, 1 + (-scrollTop / 500), 1.1);\n    // Native refresher should not cause titles to scale\n    const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');\n    if (nativeRefresher === null) {\n      writeTask(() => {\n        scaleLargeTitles(scrollHeaderIndex.toolbars, scale);\n      });\n    }\n  });\n};\nconst setToolbarBackgroundOpacity = (headerEl, opacity) => {\n  /**\n   * Fading in the backdrop opacity\n   * should happen after the large title\n   * has collapsed, so it is handled\n   * by handleHeaderFade()\n   */\n  if (headerEl.collapse === 'fade') {\n    return;\n  }\n  if (opacity === undefined) {\n    headerEl.style.removeProperty('--opacity-scale');\n  }\n  else {\n    headerEl.style.setProperty('--opacity-scale', opacity.toString());\n  }\n};\nconst handleToolbarBorderIntersection = (ev, mainHeaderIndex, scrollTop) => {\n  if (!ev[0].isIntersecting) {\n    return;\n  }\n  /**\n   * There is a bug in Safari where overflow scrolling on a non-body element\n   * does not always reset the scrollTop position to 0 when letting go. It will\n   * set to 1 once the rubber band effect has ended. This causes the background to\n   * appear slightly on certain app setups.\n   *\n   * Additionally, we check if user is rubber banding (scrolling is negative)\n   * as this can mean they are using pull to refresh. Once the refresher starts,\n   * the content is transformed which can cause the intersection observer to erroneously\n   * fire here as well.\n   */\n  const scale = (ev[0].intersectionRatio > 0.9 || scrollTop <= 0) ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;\n  setToolbarBackgroundOpacity(mainHeaderIndex.el, (scale === 1) ? undefined : scale);\n};\n/**\n * If toolbars are intersecting, hide the scrollable toolbar content\n * and show the primary toolbar content. If the toolbars are not intersecting,\n * hide the primary toolbar content and show the scrollable toolbar content\n */\nconst handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex, scrollEl) => {\n  writeTask(() => {\n    const scrollTop = scrollEl.scrollTop;\n    handleToolbarBorderIntersection(ev, mainHeaderIndex, scrollTop);\n    const event = ev[0];\n    const intersection = event.intersectionRect;\n    const intersectionArea = intersection.width * intersection.height;\n    const rootArea = event.rootBounds.width * event.rootBounds.height;\n    const isPageHidden = intersectionArea === 0 && rootArea === 0;\n    const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);\n    const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);\n    const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);\n    if (isPageHidden || isPageTransitioning) {\n      return;\n    }\n    if (event.isIntersecting) {\n      setHeaderActive(mainHeaderIndex, false);\n      setHeaderActive(scrollHeaderIndex);\n    }\n    else {\n      /**\n       * There is a bug with IntersectionObserver on Safari\n       * where `event.isIntersecting === false` when cancelling\n       * a swipe to go back gesture. Checking the intersection\n       * x, y, width, and height provides a workaround. This bug\n       * does not happen when using Safari + Web Animations,\n       * only Safari + CSS Animations.\n       */\n      const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);\n      if (hasValidIntersection && scrollTop > 0) {\n        setHeaderActive(mainHeaderIndex);\n        setHeaderActive(scrollHeaderIndex, false);\n        setToolbarBackgroundOpacity(mainHeaderIndex.el);\n      }\n    }\n  });\n};\nconst setHeaderActive = (headerIndex, active = true) => {\n  if (active) {\n    headerIndex.el.classList.remove('header-collapse-condense-inactive');\n  }\n  else {\n    headerIndex.el.classList.add('header-collapse-condense-inactive');\n  }\n};\nconst scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {\n  toolbars.forEach(toolbar => {\n    const ionTitle = toolbar.ionTitleEl;\n    const titleDiv = toolbar.innerTitleEl;\n    if (!ionTitle || ionTitle.size !== 'large') {\n      return;\n    }\n    titleDiv.style.transition = (transition) ? TRANSITION : '';\n    titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;\n  });\n};\nconst handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {\n  readTask(() => {\n    const scrollTop = scrollEl.scrollTop;\n    const baseElHeight = baseEl.clientHeight;\n    const fadeStart = (condenseHeader) ? condenseHeader.clientHeight : 0;\n    /**\n     * If we are using fade header with a condense\n     * header, then the toolbar backgrounds should\n     * not begin to fade in until the condense\n     * header has fully collapsed.\n     *\n     * Additionally, the main content should not\n     * overflow out of the container until the\n     * condense header has fully collapsed. When\n     * using just the condense header the content\n     * should overflow out of the container.\n     */\n    if ((condenseHeader !== null) && (scrollTop < fadeStart)) {\n      baseEl.style.setProperty('--opacity-scale', '0');\n      scrollEl.style.setProperty('clip-path', `inset(${baseElHeight}px 0px 0px 0px)`);\n      return;\n    }\n    const distanceToStart = scrollTop - fadeStart;\n    const fadeDuration = 10;\n    const scale = clamp(0, (distanceToStart / fadeDuration), 1);\n    writeTask(() => {\n      scrollEl.style.removeProperty('clip-path');\n      baseEl.style.setProperty('--opacity-scale', scale.toString());\n    });\n  });\n};\n\nconst headerIosCss = \"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}\";\n\nconst headerMdCss = \"ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\\\"\\\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}\";\n\nlet Header = class {\n  constructor(hostRef) {\n    registerInstance(this, hostRef);\n    this.inheritedAttributes = {};\n    /**\n     * If `true`, the header will be translucent.\n     * Only applies when the mode is `\"ios\"` and the device supports\n     * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n     *\n     * Note: In order to scroll content behind the header, the `fullscreen`\n     * attribute needs to be set on the content.\n     */\n    this.translucent = false;\n    this.setupFadeHeader = async (contentEl, condenseHeader) => {\n      if (!contentEl) {\n        console.error('ion-header requires a content to collapse. Make sure there is an ion-content.');\n        return;\n      }\n      await new Promise(resolve => componentOnReady(contentEl, resolve));\n      const scrollEl = this.scrollEl = await contentEl.getScrollElement();\n      /**\n       * Handle fading of toolbars on scroll\n       */\n      this.contentScrollCallback = () => { handleHeaderFade(this.scrollEl, this.el, condenseHeader); };\n      scrollEl.addEventListener('scroll', this.contentScrollCallback);\n      handleHeaderFade(this.scrollEl, this.el, condenseHeader);\n    };\n  }\n  componentWillLoad() {\n    this.inheritedAttributes = inheritAttributes(this.el, ['role']);\n  }\n  componentDidLoad() {\n    this.checkCollapsibleHeader();\n  }\n  componentDidUpdate() {\n    this.checkCollapsibleHeader();\n  }\n  disconnectedCallback() {\n    this.destroyCollapsibleHeader();\n  }\n  async checkCollapsibleHeader() {\n    const mode = getIonMode(this);\n    if (mode !== 'ios') {\n      return;\n    }\n    const { collapse } = this;\n    const hasCondense = collapse === 'condense';\n    const hasFade = collapse === 'fade';\n    this.destroyCollapsibleHeader();\n    if (hasCondense) {\n      const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n      const contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;\n      // Cloned elements are always needed in iOS transition\n      writeTask(() => {\n        const title = cloneElement('ion-title');\n        title.size = 'large';\n        cloneElement('ion-back-button');\n      });\n      await this.setupCondenseHeader(contentEl, pageEl);\n    }\n    else if (hasFade) {\n      const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n      const contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;\n      const condenseHeader = (contentEl) ? contentEl.querySelector('ion-header[collapse=\"condense\"]') : null;\n      await this.setupFadeHeader(contentEl, condenseHeader);\n    }\n  }\n  destroyCollapsibleHeader() {\n    if (this.intersectionObserver) {\n      this.intersectionObserver.disconnect();\n      this.intersectionObserver = undefined;\n    }\n    if (this.scrollEl && this.contentScrollCallback) {\n      this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);\n      this.contentScrollCallback = undefined;\n    }\n    if (this.collapsibleMainHeader) {\n      this.collapsibleMainHeader.classList.remove('header-collapse-main');\n      this.collapsibleMainHeader = undefined;\n    }\n  }\n  async setupCondenseHeader(contentEl, pageEl) {\n    if (!contentEl || !pageEl) {\n      console.error('ion-header requires a content to collapse, make sure there is an ion-content.');\n      return;\n    }\n    if (typeof IntersectionObserver === 'undefined') {\n      return;\n    }\n    await new Promise(resolve => componentOnReady(contentEl, resolve));\n    this.scrollEl = await contentEl.getScrollElement();\n    const headers = pageEl.querySelectorAll('ion-header');\n    this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');\n    if (!this.collapsibleMainHeader) {\n      return;\n    }\n    const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader);\n    const scrollHeaderIndex = createHeaderIndex(this.el);\n    if (!mainHeaderIndex || !scrollHeaderIndex) {\n      return;\n    }\n    setHeaderActive(mainHeaderIndex, false);\n    setToolbarBackgroundOpacity(mainHeaderIndex.el, 0);\n    /**\n     * Handle interaction between toolbar collapse and\n     * showing/hiding content in the primary ion-header\n     * as well as progressively showing/hiding the main header\n     * border as the top-most toolbar collapses or expands.\n     */\n    const toolbarIntersection = (ev) => { handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex, this.scrollEl); };\n    this.intersectionObserver = new IntersectionObserver(toolbarIntersection, { root: contentEl, threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] });\n    this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);\n    /**\n     * Handle scaling of large iOS titles and\n     * showing/hiding border on last toolbar\n     * in primary header\n     */\n    this.contentScrollCallback = () => { handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl); };\n    this.scrollEl.addEventListener('scroll', this.contentScrollCallback);\n    writeTask(() => {\n      if (this.collapsibleMainHeader !== undefined) {\n        this.collapsibleMainHeader.classList.add('header-collapse-main');\n      }\n    });\n  }\n  render() {\n    const { translucent, inheritedAttributes } = this;\n    const mode = getIonMode(this);\n    const collapse = this.collapse || 'none';\n    // banner role must be at top level, so remove role if inside a menu\n    const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';\n    return (h(Host, Object.assign({ role: roleType, class: {\n        [mode]: true,\n        // Used internally for styling\n        [`header-${mode}`]: true,\n        [`header-translucent`]: this.translucent,\n        [`header-collapse-${collapse}`]: true,\n        [`header-translucent-${mode}`]: this.translucent,\n      } }, inheritedAttributes), mode === 'ios' && translucent &&\n      h(\"div\", { class: \"header-background\" }), h(\"slot\", null)));\n  }\n  get el() { return getElement(this); }\n};\nHeader.style = {\n  ios: headerIosCss,\n  md: headerMdCss\n};\n\nconst routeOutletCss = \":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}\";\n\nlet RouterOutlet = class {\n  constructor(hostRef) {\n    registerInstance(this, hostRef);\n    this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n    this.ionNavWillChange = createEvent(this, \"ionNavWillChange\", 3);\n    this.ionNavDidChange = createEvent(this, \"ionNavDidChange\", 3);\n    this.gestureOrAnimationInProgress = false;\n    /**\n     * The mode determines which platform styles to use.\n     */\n    this.mode = getIonMode(this);\n    /**\n     * If `true`, the router-outlet should animate the transition of components.\n     */\n    this.animated = true;\n  }\n  swipeHandlerChanged() {\n    if (this.gesture) {\n      this.gesture.enable(this.swipeHandler !== undefined);\n    }\n  }\n  async connectedCallback() {\n    const onStart = () => {\n      this.gestureOrAnimationInProgress = true;\n      if (this.swipeHandler) {\n        this.swipeHandler.onStart();\n      }\n    };\n    this.gesture = (await import('./swipe-back-edc455e2.js')).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), step => this.ani && this.ani.progressStep(step), (shouldComplete, step, dur) => {\n      if (this.ani) {\n        this.ani.onFinish(() => {\n          this.gestureOrAnimationInProgress = false;\n          if (this.swipeHandler) {\n            this.swipeHandler.onEnd(shouldComplete);\n          }\n        }, { oneTimeCallback: true });\n        // Account for rounding errors in JS\n        let newStepValue = (shouldComplete) ? -0.001 : 0.001;\n        /**\n         * Animation will be reversed here, so need to\n         * reverse the easing curve as well\n         *\n         * Additionally, we need to account for the time relative\n         * to the new easing curve, as `stepValue` is going to be given\n         * in terms of a linear curve.\n         */\n        if (!shouldComplete) {\n          this.ani.easing('cubic-bezier(1, 0, 0.68, 0.28)');\n          newStepValue += getTimeGivenProgression([0, 0], [1, 0], [0.68, 0.28], [1, 1], step)[0];\n        }\n        else {\n          newStepValue += getTimeGivenProgression([0, 0], [0.32, 0.72], [0, 1], [1, 1], step)[0];\n        }\n        this.ani.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);\n      }\n      else {\n        this.gestureOrAnimationInProgress = false;\n      }\n    });\n    this.swipeHandlerChanged();\n  }\n  componentWillLoad() {\n    this.ionNavWillLoad.emit();\n  }\n  disconnectedCallback() {\n    if (this.gesture) {\n      this.gesture.destroy();\n      this.gesture = undefined;\n    }\n  }\n  /** @internal */\n  async commit(enteringEl, leavingEl, opts) {\n    const unlock = await this.lock();\n    let changed = false;\n    try {\n      changed = await this.transition(enteringEl, leavingEl, opts);\n    }\n    catch (e) {\n      console.error(e);\n    }\n    unlock();\n    return changed;\n  }\n  /** @internal */\n  async setRouteId(id, params, direction, animation) {\n    const changed = await this.setRoot(id, params, {\n      duration: direction === 'root' ? 0 : undefined,\n      direction: direction === 'back' ? 'back' : 'forward',\n      animationBuilder: animation\n    });\n    return {\n      changed,\n      element: this.activeEl\n    };\n  }\n  /** @internal */\n  async getRouteId() {\n    const active = this.activeEl;\n    return active ? {\n      id: active.tagName,\n      element: active,\n    } : undefined;\n  }\n  async setRoot(component, params, opts) {\n    if (this.activeComponent === component) {\n      return false;\n    }\n    // attach entering view to DOM\n    const leavingEl = this.activeEl;\n    const enteringEl = await attachComponent(this.delegate, this.el, component, ['ion-page', 'ion-page-invisible'], params);\n    this.activeComponent = component;\n    this.activeEl = enteringEl;\n    // commit animation\n    await this.commit(enteringEl, leavingEl, opts);\n    await detachComponent(this.delegate, leavingEl);\n    return true;\n  }\n  async transition(enteringEl, leavingEl, opts = {}) {\n    if (leavingEl === enteringEl) {\n      return false;\n    }\n    // emit nav will change event\n    this.ionNavWillChange.emit();\n    const { el, mode } = this;\n    const animated = this.animated && config.getBoolean('animated', true);\n    const animationBuilder = opts.animationBuilder || this.animation || config.get('navAnimation');\n    await transition(Object.assign(Object.assign({ mode,\n      animated,\n      enteringEl,\n      leavingEl, baseEl: el, progressCallback: (opts.progressAnimation\n        ? ani => {\n          /**\n           * Because this progress callback is called asynchronously\n           * it is possible for the gesture to start and end before\n           * the animation is ever set. In that scenario, we should\n           * immediately call progressEnd so that the transition promise\n           * resolves and the gesture does not get locked up.\n           */\n          if (ani !== undefined && !this.gestureOrAnimationInProgress) {\n            this.gestureOrAnimationInProgress = true;\n            ani.onFinish(() => {\n              this.gestureOrAnimationInProgress = false;\n              if (this.swipeHandler) {\n                this.swipeHandler.onEnd(false);\n              }\n            }, { oneTimeCallback: true });\n            /**\n             * Playing animation to beginning\n             * with a duration of 0 prevents\n             * any flickering when the animation\n             * is later cleaned up.\n             */\n            ani.progressEnd(0, 0, 0);\n          }\n          else {\n            this.ani = ani;\n          }\n        }\n        : undefined) }, opts), { animationBuilder }));\n    // emit nav changed event\n    this.ionNavDidChange.emit();\n    return true;\n  }\n  async lock() {\n    const p = this.waitPromise;\n    let resolve;\n    this.waitPromise = new Promise(r => resolve = r);\n    if (p !== undefined) {\n      await p;\n    }\n    return resolve;\n  }\n  render() {\n    return (h(\"slot\", null));\n  }\n  get el() { return getElement(this); }\n  static get watchers() { return {\n    \"swipeHandler\": [\"swipeHandlerChanged\"]\n  }; }\n};\nRouterOutlet.style = routeOutletCss;\n\nconst titleIosCss = \":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{left:0;top:0;padding-left:90px;padding-right:90px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:17px;font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px}}:host(.title-small){padding-left:9px;padding-right:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:13px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-small){padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}:host(.title-large){padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;-webkit-transform-origin:left center;transform-origin:left center;bottom:0;-ms-flex-align:end;align-items:flex-end;min-width:100%;padding-bottom:6px;font-size:34px;font-weight:700;text-align:start}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.title-large){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host(.title-large.title-rtl){-webkit-transform-origin:right center;transform-origin:right center}:host(.title-large.ion-cloned-element){--color:var(--ion-text-color, #000)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit}:host-context([dir=rtl]):host(.title-large) .toolbar-title,:host-context([dir=rtl]).title-large .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}\";\n\nconst titleMdCss = \":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{padding-left:20px;padding-right:20px;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;letter-spacing:0.0125em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host(.title-small){width:100%;height:100%;font-size:15px;font-weight:normal}\";\n\nlet ToolbarTitle = class {\n  constructor(hostRef) {\n    registerInstance(this, hostRef);\n    this.ionStyle = createEvent(this, \"ionStyle\", 7);\n  }\n  sizeChanged() {\n    this.emitStyle();\n  }\n  connectedCallback() {\n    this.emitStyle();\n  }\n  emitStyle() {\n    const size = this.getSize();\n    this.ionStyle.emit({\n      [`title-${size}`]: true\n    });\n  }\n  getSize() {\n    return (this.size !== undefined) ? this.size : 'default';\n  }\n  render() {\n    const mode = getIonMode(this);\n    const size = this.getSize();\n    return (h(Host, { class: createColorClasses(this.color, {\n        [mode]: true,\n        [`title-${size}`]: true,\n        'title-rtl': document.dir === 'rtl'\n      }) }, h(\"div\", { class: \"toolbar-title\" }, h(\"slot\", null))));\n  }\n  get el() { return getElement(this); }\n  static get watchers() { return {\n    \"size\": [\"sizeChanged\"]\n  }; }\n};\nToolbarTitle.style = {\n  ios: titleIosCss,\n  md: titleMdCss\n};\n\nconst toolbarIosCss = \":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, #f7f7f7));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:4;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:-ms-inline-flexbox;display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){-ms-flex-item-align:start;align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}:host(.toolbar-searchbar) ::slotted(ion-back-button){height:38px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:3;order:3}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{-ms-flex:1;flex:1;-ms-flex-order:8;order:8;min-width:100%}\";\n\nconst toolbarMdCss = \":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.toolbar-container{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}\";\n\nlet Toolbar = class {\n  constructor(hostRef) {\n    registerInstance(this, hostRef);\n    this.childrenStyles = new Map();\n  }\n  componentWillLoad() {\n    const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));\n    const firstButtons = buttons.find(button => {\n      return button.slot === 'start';\n    });\n    if (firstButtons) {\n      firstButtons.classList.add('buttons-first-slot');\n    }\n    const buttonsReversed = buttons.reverse();\n    const lastButtons = buttonsReversed.find(button => button.slot === 'end') ||\n      buttonsReversed.find(button => button.slot === 'primary') ||\n      buttonsReversed.find(button => button.slot === 'secondary');\n    if (lastButtons) {\n      lastButtons.classList.add('buttons-last-slot');\n    }\n  }\n  childrenStyle(ev) {\n    ev.stopPropagation();\n    const tagName = ev.target.tagName;\n    const updatedStyles = ev.detail;\n    const newStyles = {};\n    const childStyles = this.childrenStyles.get(tagName) || {};\n    let hasStyleChange = false;\n    Object.keys(updatedStyles).forEach(key => {\n      const childKey = `toolbar-${key}`;\n      const newValue = updatedStyles[key];\n      if (newValue !== childStyles[childKey]) {\n        hasStyleChange = true;\n      }\n      if (newValue) {\n        newStyles[childKey] = true;\n      }\n    });\n    if (hasStyleChange) {\n      this.childrenStyles.set(tagName, newStyles);\n      forceUpdate(this);\n    }\n  }\n  render() {\n    const mode = getIonMode(this);\n    const childStyles = {};\n    this.childrenStyles.forEach(value => {\n      Object.assign(childStyles, value);\n    });\n    return (h(Host, { class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {\n        [mode]: true,\n        'in-toolbar': hostContext('ion-toolbar', this.el),\n      })) }, h(\"div\", { class: \"toolbar-background\" }), h(\"div\", { class: \"toolbar-container\" }, h(\"slot\", { name: \"start\" }), h(\"slot\", { name: \"secondary\" }), h(\"div\", { class: \"toolbar-content\" }, h(\"slot\", null)), h(\"slot\", { name: \"primary\" }), h(\"slot\", { name: \"end\" }))));\n  }\n  get el() { return getElement(this); }\n};\nToolbar.style = {\n  ios: toolbarIosCss,\n  md: toolbarMdCss\n};\n\nexport { App as ion_app, Buttons as ion_buttons, Content as ion_content, Footer as ion_footer, Header as ion_header, RouterOutlet as ion_router_outlet, ToolbarTitle as ion_title, Toolbar as ion_toolbar };\n"],"names":["r","registerInstance","h","H","Host","i","getElement","e","createEvent","f","readTask","j","forceUpdate","c","writeTask","b","getIonMode","config","a","isPlatform","componentOnReady","d","clamp","inheritAttributes","createColorClasses","hostContext","g","getTimeGivenProgression","attachComponent","detachComponent","t","transition","appCss","App","constructor","hostRef","componentDidLoad","rIC","isHybrid","window","getBoolean","then","module","startTapClick","startStatusTap","needInputShims","startInputShims","hardwareBackButtonModule","startHardwareBackButton","blockHardwareBackButton","startKeyboardAssist","focusVisible","startFocusVisible","setFocus","elements","render","mode","class","el","callback","requestIdleCallback","setTimeout","style","buttonsIosCss","buttonsMdCss","Buttons","collapse","ios","md","contentCss","Content","ionScrollStart","ionScroll","ionScrollEnd","isScrolling","lastScroll","queued","cTop","cBottom","isMainContent","detail","scrollTop","scrollLeft","type","event","undefined","startX","startY","startTime","currentX","currentY","velocityX","velocityY","deltaX","deltaY","currentTime","data","fullscreen","scrollX","scrollY","scrollEvents","connectedCallback","closest","disconnectedCallback","onScrollEnd","onAppLoad","resize","shouldForceOverscroll","forceOverscroll","readDimensions","page","getPageElement","top","Math","max","offsetTop","bottom","offsetHeight","dirty","onScroll","ev","timeStamp","Date","now","shouldStart","onScrollStart","ts","updateScrollDetail","scrollEl","emit","getScrollElement","Promise","resolve","scrollToTop","duration","scrollToPoint","scrollToBottom","y","scrollHeight","clientHeight","scrollByPoint","x","promise","fromY","fromX","step","linearTime","min","easedT","pow","floor","requestAnimationFrame","watchDog","clearInterval","setInterval","transitionShadow","TagType","color","id","part","ref","name","getParentElement","parentElement","parentNode","host","tabs","timestamp","prevX","prevY","prevT","timeDelta","handleFooterFade","baseEl","maxScroll","fadeDuration","fadeStart","distanceToStart","scale","setProperty","toString","footerIosCss","footerMdCss","Footer","translucent","checkCollapsibleFooter","hasFade","destroyCollapsibleFooter","pageEl","contentEl","querySelector","setupFadeFooter","console","error","contentScrollCallback","addEventListener","componentDidUpdate","removeEventListener","role","TRANSITION","cloneElement","tagName","getCachedEl","document","clonedEl","createElement","classList","add","body","appendChild","createHeaderIndex","headerEl","toolbars","querySelectorAll","Array","from","map","toolbar","ionTitleEl","background","shadowRoot","innerTitleEl","ionButtonsEl","handleContentScroll","scrollHeaderIndex","nativeRefresher","scaleLargeTitles","setToolbarBackgroundOpacity","opacity","removeProperty","handleToolbarBorderIntersection","mainHeaderIndex","isIntersecting","intersectionRatio","handleToolbarIntersection","intersection","intersectionRect","intersectionArea","width","height","rootArea","rootBounds","isPageHidden","leftDiff","abs","left","boundingClientRect","rightDiff","right","isPageTransitioning","setHeaderActive","hasValidIntersection","headerIndex","active","remove","forEach","ionTitle","titleDiv","size","transform","handleHeaderFade","condenseHeader","baseElHeight","headerIosCss","headerMdCss","Header","inheritedAttributes","setupFadeHeader","componentWillLoad","checkCollapsibleHeader","destroyCollapsibleHeader","hasCondense","title","setupCondenseHeader","intersectionObserver","disconnect","collapsibleMainHeader","IntersectionObserver","headers","find","header","toolbarIntersection","root","threshold","observe","length","roleType","Object","assign","routeOutletCss","RouterOutlet","ionNavWillLoad","ionNavWillChange","ionNavDidChange","gestureOrAnimationInProgress","animated","swipeHandlerChanged","gesture","enable","swipeHandler","onStart","createSwipeBackGesture","canStart","ani","progressStep","shouldComplete","dur","onFinish","onEnd","oneTimeCallback","newStepValue","easing","progressEnd","destroy","commit","enteringEl","leavingEl","opts","unlock","lock","changed","setRouteId","params","direction","animation","setRoot","animationBuilder","element","activeEl","getRouteId","component","activeComponent","delegate","get","progressCallback","progressAnimation","p","waitPromise","watchers","titleIosCss","titleMdCss","ToolbarTitle","ionStyle","sizeChanged","emitStyle","getSize","dir","toolbarIosCss","toolbarMdCss","Toolbar","childrenStyles","Map","buttons","firstButtons","button","slot","buttonsReversed","reverse","lastButtons","childrenStyle","stopPropagation","target","updatedStyles","newStyles","childStyles","hasStyleChange","keys","key","childKey","newValue","set","value","ion_app","ion_buttons","ion_content","ion_footer","ion_header","ion_router_outlet","ion_title","ion_toolbar"],"sourceRoot":"webpack:///"}

Zerion Mini Shell 1.0