@ionic/core 9.0.1-dev.11787949960.1e63841c → 9.0.1-dev.11788212611.154b1596

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/hydrate/index.mjs CHANGED
@@ -13507,6 +13507,7 @@ class Content {
13507
13507
  this.cTop = -1;
13508
13508
  this.cBottom = -1;
13509
13509
  this.isMainContent = true;
13510
+ this.sizeToContent = false;
13510
13511
  this.resizeTimeout = null;
13511
13512
  this.inheritedAttributes = {};
13512
13513
  this.tabsElement = null;
@@ -13603,6 +13604,7 @@ class Content {
13603
13604
  }
13604
13605
  // Re-observe on reattach, since componentDidLoad only fires once.
13605
13606
  this.setupFullscreenResizeObserver();
13607
+ this.setupSizeToContentObserver();
13606
13608
  }
13607
13609
  componentDidLoad() {
13608
13610
  // The custom elements build assigns fullscreen after connectedCallback.
@@ -13629,6 +13631,7 @@ class Content {
13629
13631
  this.resizeTimeout = null;
13630
13632
  }
13631
13633
  this.destroyFullscreenResizeObserver();
13634
+ this.destroySizeToContentObserver();
13632
13635
  }
13633
13636
  /**
13634
13637
  * Header and footer sizes can change after load without a window resize
@@ -13642,6 +13645,34 @@ class Content {
13642
13645
  return;
13643
13646
  }
13644
13647
  }
13648
+ /**
13649
+ * A modal's `--height` can be changed at runtime with no event to react to,
13650
+ * either by setting the property directly or by toggling a class that changes
13651
+ * which rule wins. Both of those mutate an attribute on the modal, so watch
13652
+ * for that and re-evaluate. Viewport driven changes are already covered by
13653
+ * the `resize` listener.
13654
+ */
13655
+ setupSizeToContentObserver() {
13656
+ {
13657
+ return;
13658
+ }
13659
+ }
13660
+ destroySizeToContentObserver() {
13661
+ if (this.sizeToContentObserver !== undefined) {
13662
+ this.sizeToContentObserver.disconnect();
13663
+ this.sizeToContentObserver = undefined;
13664
+ }
13665
+ }
13666
+ /**
13667
+ * Re-renders when the overlay is no longer sized the way the last render
13668
+ * assumed. Read in a `readTask` because resolving the custom property forces
13669
+ * a style recalculation.
13670
+ */
13671
+ updateSizeToContent() {
13672
+ readTask(() => {
13673
+ if (this.shouldSizeToContent() !== this.sizeToContent) ;
13674
+ });
13675
+ }
13645
13676
  destroyFullscreenResizeObserver() {
13646
13677
  if (this.fullscreenResizeObserver !== undefined) {
13647
13678
  this.fullscreenResizeObserver.disconnect();
@@ -13703,7 +13734,14 @@ class Content {
13703
13734
  return false;
13704
13735
  }
13705
13736
  const height = getComputedStyle(modal).getPropertyValue('--height').trim();
13706
- return CONTENT_SIZED_HEIGHTS.includes(height);
13737
+ /**
13738
+ * Compared as a suffix so a value carrying only a vendor prefix is still
13739
+ * recognized, such as the `-moz-fit-content` that Firefox needs before 94.
13740
+ *
13741
+ * TODO: replace with `CONTENT_SIZED_HEIGHTS.includes(height)` once the
13742
+ * oldest supported Firefox is 94 or higher.
13743
+ */
13744
+ return CONTENT_SIZED_HEIGHTS.some((value) => height.endsWith(value));
13707
13745
  }
13708
13746
  resize() {
13709
13747
  }
@@ -13884,21 +13922,21 @@ class Content {
13884
13922
  const forceOverscroll = this.shouldForceOverscroll();
13885
13923
  const transitionShadow = mode === 'ios';
13886
13924
  this.resize();
13887
- return (hAsync(Host, { key: 'd6ea57ec1f5def0bfd22f52ec5a5bbe6aa2f8e8e', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
13925
+ return (hAsync(Host, { key: '3985c7121dd5183fef892c2ab20935419bca3ad5', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
13888
13926
  [mode]: true,
13889
13927
  'content-fullscreen': this.fullscreen,
13890
- 'content-sizing': this.shouldSizeToContent(),
13928
+ 'content-sizing': (this.sizeToContent = this.shouldSizeToContent()),
13891
13929
  overscroll: forceOverscroll,
13892
13930
  [`content-${rtl}`]: true,
13893
13931
  }), style: {
13894
13932
  '--offset-top': `${this.cTop}px`,
13895
13933
  '--offset-bottom': `${this.cBottom}px`,
13896
- }, ...inheritedAttributes }, hAsync("div", { key: '3ea7145f051ac3870ffb2b0c1fd83c20ce42d431', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? hAsync("slot", { name: "fixed" }) : null, hAsync("div", { key: 'af112b5f681fd40417c82bee085263c85755dad5', class: {
13934
+ }, ...inheritedAttributes }, hAsync("div", { key: 'dcfd45fc6118836de36951b263c38fd4f2e002f9', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? hAsync("slot", { name: "fixed" }) : null, hAsync("div", { key: '948705ac47da2753e39775145472e55deee88aec', class: {
13897
13935
  'inner-scroll': true,
13898
13936
  'scroll-x': scrollX,
13899
13937
  'scroll-y': scrollY,
13900
13938
  overscroll: (scrollX || scrollY) && forceOverscroll,
13901
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '1b130c5713874fe457934359a1a1709a8cdb257a' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? hAsync("slot", { name: "fixed" }) : null));
13939
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: 'd7c7f83747d89751c20cd27923242af6953df5c4' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? hAsync("slot", { name: "fixed" }) : null));
13902
13940
  }
13903
13941
  get el() { return getElement(this); }
13904
13942
  static get watchers() { return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "9.0.1-dev.11787949960.1e63841c",
3
+ "version": "9.0.1-dev.11788212611.154b1596",
4
4
  "description": "Base components for Ionic",
5
5
  "engines": {
6
6
  "node": ">= 16"
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{p as t,H as o,e as i,k as s,i as e,h as n,d as r,t as l}from"./p-CpYeYl3u.js";import{i as a,k as c,c as h}from"./p-mXsQnyWB.js";import{b as d,a as f}from"./p-C8mPeq0D.js";import{i as p}from"./p-Dojwmvde.js";import{h as u,c as m}from"./p-byZM6qHV.js";const v=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.ionScrollStart=i(this,"ionScrollStart",7),this.ionScroll=i(this,"ionScroll",7),this.ionScrollEnd=i(this,"ionScrollEnd",7),this.watchDog=null,this.isScrolling=!1,this.lastScroll=0,this.queued=!1,this.cTop=-1,this.cBottom=-1,this.isMainContent=!0,this.resizeTimeout=null,this.inheritedAttributes={},this.tabsElement=null,this.detail={scrollTop:0,scrollLeft:0,type:"scroll",event:void 0,startX:0,startY:0,startTime:0,currentX:0,currentY:0,velocityX:0,velocityY:0,deltaX:0,deltaY:0,currentTime:0,data:void 0,isScrolling:!0},this.fullscreen=!1,this.fixedSlotPlacement="after",this.scrollX=!1,this.scrollY=!0,this.scrollEvents=!1}fullscreenChanged(){this.setupFullscreenResizeObserver()}componentWillLoad(){this.inheritedAttributes=a(this.el)}connectedCallback(){if(this.isMainContent=null===this.el.closest("ion-menu, ion-popover, ion-modal"),c(this.el)){const t=this.tabsElement=this.el.closest("ion-tabs");null!==t&&(this.tabsLoadCallback=()=>this.resize(),t.addEventListener("ionTabBarLoaded",this.tabsLoadCallback))}this.setupFullscreenResizeObserver()}componentDidLoad(){this.setupFullscreenResizeObserver()}disconnectedCallback(){if(this.onScrollEnd(),c(this.el)){const{tabsElement:t,tabsLoadCallback:o}=this;null!==t&&void 0!==o&&t.removeEventListener("ionTabBarLoaded",o),this.tabsElement=null,this.tabsLoadCallback=void 0}this.resizeTimeout&&(clearTimeout(this.resizeTimeout),this.resizeTimeout=null),this.destroyFullscreenResizeObserver()}setupFullscreenResizeObserver(){"undefined"!=typeof ResizeObserver&&(this.fullscreen&&!u("ion-popover",this.el)?void 0===this.fullscreenResizeObserver&&(this.fullscreenResizeObserver=new ResizeObserver((()=>{null!==this.el.offsetParent&&this.resize()})),this.fullscreenResizeObserver.observe(this.el)):this.destroyFullscreenResizeObserver())}destroyFullscreenResizeObserver(){void 0!==this.fullscreenResizeObserver&&(this.fullscreenResizeObserver.disconnect(),this.fullscreenResizeObserver=void 0)}onResize(){this.resizeTimeout&&(clearTimeout(this.resizeTimeout),this.resizeTimeout=null),this.resizeTimeout=setTimeout((()=>{null!==this.el.offsetParent&&this.resize()}),100)}shouldForceOverscroll(){const{forceOverscroll:t}=this,o=d(this);return void 0===t?"ios"===o&&f("ios"):t}shouldSizeToContent(){if(u("ion-popover",this.el))return!0;const t=this.el.closest("ion-modal");if(null===t)return!1;const o=getComputedStyle(t).getPropertyValue("--height").trim();return b.includes(o)}resize(){this.fullscreen?s((()=>this.readDimensions())):0===this.cTop&&0===this.cBottom||(this.cTop=this.cBottom=0,e(this))}async recalculateDimensions(){s((()=>this.readDimensions()))}readDimensions(){const t=g(this.el),o=Math.max(this.el.offsetTop,0),i=Math.max(t.offsetHeight-o-this.el.offsetHeight,0);(o!==this.cTop||i!==this.cBottom)&&(this.cTop=o,this.cBottom=i,e(this))}onScroll(t){const o=Date.now(),i=!this.isScrolling;this.lastScroll=o,i&&this.onScrollStart(),!this.queued&&this.scrollEvents&&(this.queued=!0,s((o=>{this.queued=!1,this.detail.event=t,x(this.detail,this.scrollEl,o,i),this.ionScroll.emit(this.detail)})))}async getScrollElement(){return this.scrollEl||await new Promise((t=>h(this.el,t))),Promise.resolve(this.scrollEl)}async getBackgroundElement(){return this.backgroundContentEl||await new Promise((t=>h(this.el,t))),Promise.resolve(this.backgroundContentEl)}scrollToTop(t=0){return this.scrollToPoint(void 0,0,t)}async scrollToBottom(t=0){const o=await this.getScrollElement();return this.scrollToPoint(void 0,o.scrollHeight-o.clientHeight,t)}async scrollByPoint(t,o,i){const s=await this.getScrollElement();return this.scrollToPoint(t+s.scrollLeft,o+s.scrollTop,i)}async scrollToPoint(t,o,i=0){const s=await this.getScrollElement();if(i<32)return null!=o&&(s.scrollTop=o),void(null!=t&&(s.scrollLeft=t));let e,n=0;const r=new Promise((t=>e=t)),l=s.scrollTop,a=s.scrollLeft,c=null!=o?o-l:0,h=null!=t?t-a:0,d=t=>{const o=Math.min(1,(t-n)/i)-1,r=Math.pow(o,3)+1;0!==c&&(s.scrollTop=Math.floor(r*c+l)),0!==h&&(s.scrollLeft=Math.floor(r*h+a)),r<1?requestAnimationFrame(d):e()};return requestAnimationFrame((t=>{n=t,d(t)})),r}onScrollStart(){this.isScrolling=!0,this.ionScrollStart.emit({isScrolling:!0}),this.watchDog&&clearInterval(this.watchDog),this.watchDog=setInterval((()=>{this.lastScroll<Date.now()-120&&this.onScrollEnd()}),100)}onScrollEnd(){this.watchDog&&clearInterval(this.watchDog),this.watchDog=null,this.isScrolling&&(this.isScrolling=!1,this.ionScrollEnd.emit({isScrolling:!1}))}render(){const{fixedSlotPlacement:t,inheritedAttributes:o,isMainContent:i,scrollX:s,scrollY:e,el:l}=this,a=p(l)?"rtl":"ltr",c=d(this),h=this.shouldForceOverscroll(),f="ios"===c;return this.resize(),n(r,{key:"d6ea57ec1f5def0bfd22f52ec5a5bbe6aa2f8e8e",role:i?"main":void 0,class:m(this.color,{[c]:!0,"content-fullscreen":this.fullscreen,"content-sizing":this.shouldSizeToContent(),overscroll:h,[`content-${a}`]:!0}),style:{"--offset-top":`${this.cTop}px`,"--offset-bottom":`${this.cBottom}px`},...o},n("div",{key:"3ea7145f051ac3870ffb2b0c1fd83c20ce42d431",ref:t=>this.backgroundContentEl=t,id:"background-content",part:"background"}),"before"===t?n("slot",{name:"fixed"}):null,n("div",{key:"af112b5f681fd40417c82bee085263c85755dad5",class:{"inner-scroll":!0,"scroll-x":s,"scroll-y":e,overscroll:(s||e)&&h},ref:t=>this.scrollEl=t,onScroll:this.scrollEvents?t=>this.onScroll(t):void 0,part:"scroll"},n("slot",{key:"1b130c5713874fe457934359a1a1709a8cdb257a"})),f?n("div",{class:"transition-effect"},n("div",{class:"transition-cover"}),n("div",{class:"transition-shadow"})):null,"after"===t?n("slot",{name:"fixed"}):null)}get el(){return this}static get watchers(){return{fullscreen:[{fullscreenChanged:0}]}}static get style(){return':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)}#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);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom) + var(--internal-content-safe-area-padding-bottom, 0px));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}.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;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:100%;height:100%;-webkit-box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03)}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}'}},[257,"ion-content",{color:[513],fullscreen:[4],fixedSlotPlacement:[1,"fixed-slot-placement"],forceOverscroll:[1028,"force-overscroll"],scrollX:[4,"scroll-x"],scrollY:[4,"scroll-y"],scrollEvents:[4,"scroll-events"],recalculateDimensions:[64],getScrollElement:[64],getBackgroundElement:[64],scrollToTop:[64],scrollToBottom:[64],scrollByPoint:[64],scrollToPoint:[64]},[[9,"resize","onResize"]],{fullscreen:[{fullscreenChanged:0}]}]),b=["auto","fit-content","min-content","max-content"],g=t=>{const o=t.closest("ion-tabs");if(o)return o;return t.closest("ion-app, ion-page, .ion-page, page-inner, .popover-content")||(t=>t.parentElement?t.parentElement:t.parentNode?.host?t.parentNode.host:null)(t)},x=(t,o,i,s)=>{const e=t.currentX,n=t.currentY,r=o.scrollLeft,l=o.scrollTop,a=i-t.currentTime;if(s&&(t.startTime=i,t.startX=r,t.startY=l,t.velocityX=t.velocityY=0),t.currentTime=i,t.currentX=t.scrollLeft=r,t.currentY=t.scrollTop=l,t.deltaX=r-t.startX,t.deltaY=l-t.startY,a>0&&a<100){const o=(l-n)/a;t.velocityX=(r-e)/a*.7+.3*t.velocityX,t.velocityY=.7*o+.3*t.velocityY}};function y(){"undefined"!=typeof customElements&&["ion-content"].forEach((t=>{"ion-content"===t&&(customElements.get(l(t))||customElements.define(l(t),v))}))}export{v as C,y as d}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as t,e as o,f as i,h as e,d as n,g as r,c as s,a,i as l,w as d,j as c}from"./p-h81G-QbJ.js";import{shouldUseCloseWatcher as h}from"./p-C2BY_4Wp.js";import{a as b,b as p}from"./p-CTBfxfjC.js";import{i as g,h as f,c as m,e as u,s as x}from"./p-06ZcwRF5.js";import{i as v}from"./p-Dojwmvde.js";import{h as w,c as k}from"./p-byZM6qHV.js";import{b as y,p as z,g as C}from"./p-BpG7jkT9.js";import{c as j}from"./p-BhamHSw3.js";import{g as S}from"./p-hHmYLOfE.js";import{a as T,d as B}from"./p-wdSUbx5C.js";import{c as Z}from"./p-B-hirT0v.js";import{t as L}from"./p-C10K-FJg.js";import"./p-ZjP4CjeZ.js";import"./p-BMPN55of.js";import"./p-CIGNaXM1.js";const $=class{constructor(o){t(this,o)}componentDidLoad(){this.rIC((async()=>{const t=b(window,"hybrid");if(o.getBoolean("_testing")||import("./p-KJ5pLPiN.js").then((t=>t.startTapClick(o))),o.getBoolean("statusTap",t)&&import("./p-w3KTiug9.js").then((t=>t.startStatusTap())),o.getBoolean("inputShims",E())){const t=b(window,"ios")?"ios":"android";import("./p-Cc-fFNy8.js").then((i=>i.startInputShims(o,t)))}const e=await import("./p-C2BY_4Wp.js"),n=t||h();o.getBoolean("hardwareBackButton",n)?e.startHardwareBackButton():(h()&&i("[ion-app] - experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used."),e.blockHardwareBackButton()),"undefined"!=typeof window&&import("./p-D5t_-oMk.js").then((t=>t.startKeyboardAssist(window))),import("./p-BmVRXR1y.js").then((t=>this.focusVisible=t.startFocusVisible()))}))}disconnectedCallback(){this.loadTimeout&&clearTimeout(this.loadTimeout)}async setFocus(t){this.focusVisible&&this.focusVisible.setFocus(t)}rIC(t){"requestIdleCallback"in window?window.requestIdleCallback(t):this.loadTimeout=setTimeout(t,32)}render(){const t=p(this);return e(n,{key:"77a7459d3e42b3715a5a7e1cf468e2ebc99e54bb",class:{[t]:!0,"ion-page":!0,"force-statusbar-padding":o.getBoolean("_forceStatusbarPadding")}})}get el(){return r(this)}},E=()=>!(!b(window,"ios")||!b(window,"mobile"))||!(!b(window,"android")||!b(window,"mobileweb"));$.style="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}";const _=class{constructor(o){t(this,o),this.collapse=!1}render(){const t=p(this);return e(n,{key:"58c1fc5eb867d0731c63549b1ccb3ec3bbbe6e1b",class:{[t]:!0,"buttons-collapse":this.collapse}},e("slot",{key:"0c8f95b9840c8fa0c4e50be84c5159620a3eb5c8"}))}};_.style={ios:".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-top:3px;--padding-bottom:3px;--padding-start:5px;--padding-end:5px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;min-height:32px}.sc-ion-buttons-ios-s .button-has-icon-only{--padding-top:0;--padding-bottom:0}.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);--background-activated: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;-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:1.41em;line-height:0.67}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-start:0.4em;margin-inline-start:0.4em;font-size:1.41em;line-height:0.67}.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:1.65em;line-height:0.67}",md:".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:3px;--padding-bottom:3px;--padding-start:8px;--padding-end:8px;--box-shadow:none;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;min-height:32px}.sc-ion-buttons-md-s .button-has-icon-only{--padding-top:0;--padding-bottom:0}.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:3rem;height:3rem}.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;-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:1.4em}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-margin-start:0.4em;margin-inline-start:0.4em;font-size:1.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}"};const M=class{constructor(o){t(this,o),this.ionScrollStart=s(this,"ionScrollStart",7),this.ionScroll=s(this,"ionScroll",7),this.ionScrollEnd=s(this,"ionScrollEnd",7),this.watchDog=null,this.isScrolling=!1,this.lastScroll=0,this.queued=!1,this.cTop=-1,this.cBottom=-1,this.isMainContent=!0,this.resizeTimeout=null,this.inheritedAttributes={},this.tabsElement=null,this.detail={scrollTop:0,scrollLeft:0,type:"scroll",event:void 0,startX:0,startY:0,startTime:0,currentX:0,currentY:0,velocityX:0,velocityY:0,deltaX:0,deltaY:0,currentTime:0,data:void 0,isScrolling:!0},this.fullscreen=!1,this.fixedSlotPlacement="after",this.scrollX=!1,this.scrollY=!0,this.scrollEvents=!1}fullscreenChanged(){this.setupFullscreenResizeObserver()}componentWillLoad(){this.inheritedAttributes=g(this.el)}connectedCallback(){if(this.isMainContent=null===this.el.closest("ion-menu, ion-popover, ion-modal"),f(this.el)){const t=this.tabsElement=this.el.closest("ion-tabs");null!==t&&(this.tabsLoadCallback=()=>this.resize(),t.addEventListener("ionTabBarLoaded",this.tabsLoadCallback))}this.setupFullscreenResizeObserver()}componentDidLoad(){this.setupFullscreenResizeObserver()}disconnectedCallback(){if(this.onScrollEnd(),f(this.el)){const{tabsElement:t,tabsLoadCallback:o}=this;null!==t&&void 0!==o&&t.removeEventListener("ionTabBarLoaded",o),this.tabsElement=null,this.tabsLoadCallback=void 0}this.resizeTimeout&&(clearTimeout(this.resizeTimeout),this.resizeTimeout=null),this.destroyFullscreenResizeObserver()}setupFullscreenResizeObserver(){"undefined"!=typeof ResizeObserver&&(this.fullscreen&&!w("ion-popover",this.el)?void 0===this.fullscreenResizeObserver&&(this.fullscreenResizeObserver=new ResizeObserver((()=>{null!==this.el.offsetParent&&this.resize()})),this.fullscreenResizeObserver.observe(this.el)):this.destroyFullscreenResizeObserver())}destroyFullscreenResizeObserver(){void 0!==this.fullscreenResizeObserver&&(this.fullscreenResizeObserver.disconnect(),this.fullscreenResizeObserver=void 0)}onResize(){this.resizeTimeout&&(clearTimeout(this.resizeTimeout),this.resizeTimeout=null),this.resizeTimeout=setTimeout((()=>{null!==this.el.offsetParent&&this.resize()}),100)}shouldForceOverscroll(){const{forceOverscroll:t}=this,o=p(this);return void 0===t?"ios"===o&&b("ios"):t}shouldSizeToContent(){if(w("ion-popover",this.el))return!0;const t=this.el.closest("ion-modal");if(null===t)return!1;const o=getComputedStyle(t).getPropertyValue("--height").trim();return D.includes(o)}resize(){this.fullscreen?a((()=>this.readDimensions())):0===this.cTop&&0===this.cBottom||(this.cTop=this.cBottom=0,l(this))}async recalculateDimensions(){a((()=>this.readDimensions()))}readDimensions(){const t=P(this.el),o=Math.max(this.el.offsetTop,0),i=Math.max(t.offsetHeight-o-this.el.offsetHeight,0);(o!==this.cTop||i!==this.cBottom)&&(this.cTop=o,this.cBottom=i,l(this))}onScroll(t){const o=Date.now(),i=!this.isScrolling;this.lastScroll=o,i&&this.onScrollStart(),!this.queued&&this.scrollEvents&&(this.queued=!0,a((o=>{this.queued=!1,this.detail.event=t,I(this.detail,this.scrollEl,o,i),this.ionScroll.emit(this.detail)})))}async getScrollElement(){return this.scrollEl||await new Promise((t=>m(this.el,t))),Promise.resolve(this.scrollEl)}async getBackgroundElement(){return this.backgroundContentEl||await new Promise((t=>m(this.el,t))),Promise.resolve(this.backgroundContentEl)}scrollToTop(t=0){return this.scrollToPoint(void 0,0,t)}async scrollToBottom(t=0){const o=await this.getScrollElement();return this.scrollToPoint(void 0,o.scrollHeight-o.clientHeight,t)}async scrollByPoint(t,o,i){const e=await this.getScrollElement();return this.scrollToPoint(t+e.scrollLeft,o+e.scrollTop,i)}async scrollToPoint(t,o,i=0){const e=await this.getScrollElement();if(i<32)return null!=o&&(e.scrollTop=o),void(null!=t&&(e.scrollLeft=t));let n,r=0;const s=new Promise((t=>n=t)),a=e.scrollTop,l=e.scrollLeft,d=null!=o?o-a:0,c=null!=t?t-l:0,h=t=>{const o=Math.min(1,(t-r)/i)-1,s=Math.pow(o,3)+1;0!==d&&(e.scrollTop=Math.floor(s*d+a)),0!==c&&(e.scrollLeft=Math.floor(s*c+l)),s<1?requestAnimationFrame(h):n()};return requestAnimationFrame((t=>{r=t,h(t)})),s}onScrollStart(){this.isScrolling=!0,this.ionScrollStart.emit({isScrolling:!0}),this.watchDog&&clearInterval(this.watchDog),this.watchDog=setInterval((()=>{this.lastScroll<Date.now()-120&&this.onScrollEnd()}),100)}onScrollEnd(){this.watchDog&&clearInterval(this.watchDog),this.watchDog=null,this.isScrolling&&(this.isScrolling=!1,this.ionScrollEnd.emit({isScrolling:!1}))}render(){const{fixedSlotPlacement:t,inheritedAttributes:o,isMainContent:i,scrollX:r,scrollY:s,el:a}=this,l=v(a)?"rtl":"ltr",d=p(this),c=this.shouldForceOverscroll(),h="ios"===d;return this.resize(),e(n,{key:"d6ea57ec1f5def0bfd22f52ec5a5bbe6aa2f8e8e",role:i?"main":void 0,class:k(this.color,{[d]:!0,"content-fullscreen":this.fullscreen,"content-sizing":this.shouldSizeToContent(),overscroll:c,[`content-${l}`]:!0}),style:{"--offset-top":`${this.cTop}px`,"--offset-bottom":`${this.cBottom}px`},...o},e("div",{key:"3ea7145f051ac3870ffb2b0c1fd83c20ce42d431",ref:t=>this.backgroundContentEl=t,id:"background-content",part:"background"}),"before"===t?e("slot",{name:"fixed"}):null,e("div",{key:"af112b5f681fd40417c82bee085263c85755dad5",class:{"inner-scroll":!0,"scroll-x":r,"scroll-y":s,overscroll:(r||s)&&c},ref:t=>this.scrollEl=t,onScroll:this.scrollEvents?t=>this.onScroll(t):void 0,part:"scroll"},e("slot",{key:"1b130c5713874fe457934359a1a1709a8cdb257a"})),h?e("div",{class:"transition-effect"},e("div",{class:"transition-cover"}),e("div",{class:"transition-shadow"})):null,"after"===t?e("slot",{name:"fixed"}):null)}get el(){return r(this)}static get watchers(){return{fullscreen:[{fullscreenChanged:0}]}}},D=["auto","fit-content","min-content","max-content"],P=t=>{const o=t.closest("ion-tabs");if(o)return o;return t.closest("ion-app, ion-page, .ion-page, page-inner, .popover-content")||(t=>t.parentElement?t.parentElement:t.parentNode?.host?t.parentNode.host:null)(t)},I=(t,o,i,e)=>{const n=t.currentX,r=t.currentY,s=o.scrollLeft,a=o.scrollTop,l=i-t.currentTime;if(e&&(t.startTime=i,t.startX=s,t.startY=a,t.velocityX=t.velocityY=0),t.currentTime=i,t.currentX=t.scrollLeft=s,t.currentY=t.scrollTop=a,t.deltaX=s-t.startX,t.deltaY=a-t.startY,l>0&&l<100){const o=(a-r)/l;t.velocityX=(s-n)/l*.7+.3*t.velocityX,t.velocityY=.7*o+.3*t.velocityY}};M.style=':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)}#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);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom) + var(--internal-content-safe-area-padding-bottom, 0px));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}.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;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:100%;height:100%;-webkit-box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03)}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}';const O=(t,o)=>{a((()=>{const i=u(0,1-(t.scrollTop-(t.scrollHeight-t.clientHeight-10))/10,1);d((()=>{o.style.setProperty("--opacity-scale",i.toString())}))}))},R=class{constructor(o){t(this,o),this.keyboardCtrl=null,this.keyboardCtrlPromise=null,this.keyboardVisible=!1,this.translucent=!1,this.checkCollapsibleFooter=()=>{if("ios"!==p(this))return;const{collapse:t}=this,o="fade"===t;if(this.destroyCollapsibleFooter(),o){const t=this.el.closest("ion-app,ion-page,.ion-page,page-inner"),o=t?y(t):null;if(!o)return void z(this.el);this.setupFadeFooter(o)}},this.setupFadeFooter=async t=>{const o=this.scrollEl=await C(t);this.contentScrollCallback=()=>{O(o,this.el)},o.addEventListener("scroll",this.contentScrollCallback),O(o,this.el)}}componentDidLoad(){this.checkCollapsibleFooter()}componentDidUpdate(){this.checkCollapsibleFooter()}async connectedCallback(){const t=j((async(t,o)=>{!1===t&&void 0!==o&&await o,this.keyboardVisible=t}));this.keyboardCtrlPromise=t;const o=await t;this.keyboardCtrlPromise===t?(this.keyboardCtrl=o,this.keyboardCtrlPromise=null):o.destroy()}disconnectedCallback(){this.keyboardCtrlPromise&&(this.keyboardCtrlPromise.then((t=>t.destroy())),this.keyboardCtrlPromise=null),this.keyboardCtrl&&(this.keyboardCtrl.destroy(),this.keyboardCtrl=null)}destroyCollapsibleFooter(){this.scrollEl&&this.contentScrollCallback&&(this.scrollEl.removeEventListener("scroll",this.contentScrollCallback),this.contentScrollCallback=void 0)}render(){const{translucent:t,collapse:o}=this,i=p(this),r=this.el.closest("ion-tabs"),s=r?.querySelector(":scope > ion-tab-bar");return e(n,{key:"71939c4bbaef5062532a99ee2e33574102a9abad",role:"contentinfo",class:{[i]:!0,[`footer-${i}`]:!0,"footer-translucent":t,[`footer-translucent-${i}`]:t,"footer-toolbar-padding":!(this.keyboardVisible||s&&"bottom"===s.slot),[`footer-collapse-${o}`]:void 0!==o}},"ios"===i&&t&&e("div",{key:"2fa14f61661c47c661cecd696176728d6eafa74f",class:"footer-background"}),e("slot",{key:"8e63696e7c528d5c38201e546bf08135290d0945"}))}get el(){return r(this)}};R.style={ios:"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer.footer-toolbar-padding 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}",md:"ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer.footer-toolbar-padding ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.footer-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}"};const W="none",A="banner",F=t=>{const o=document.querySelector(`${t}.ion-cloned-element`);if(null!==o)return o;const i=document.createElement(t);return i.classList.add("ion-cloned-element"),i.style.setProperty("display","none"),document.body.appendChild(i),i},H=t=>{if(!t)return;const o=t.querySelectorAll("ion-toolbar");return{el:t,toolbars:Array.from(o).map((t=>{const o=t.querySelector("ion-title");return{el:t,background:t.shadowRoot.querySelector(".toolbar-background"),ionTitleEl:o,innerTitleEl:o?o.shadowRoot.querySelector(".toolbar-title"):null,ionButtonsEl:Array.from(t.querySelectorAll("ion-buttons"))}}))}},X=(t,o)=>{"fade"!==t.collapse&&(void 0===o?t.style.removeProperty("--opacity-scale"):t.style.setProperty("--opacity-scale",o.toString()))},Y=(t,o=!0)=>{const i=t.el,e=t.toolbars.map((t=>t.ionTitleEl));o?(i.setAttribute("role",A),i.classList.remove("header-collapse-condense-inactive"),e.forEach((t=>{t&&t.removeAttribute("aria-hidden")}))):(i.setAttribute("role",W),i.classList.add("header-collapse-condense-inactive"),e.forEach((t=>{t&&t.setAttribute("aria-hidden","true")})))},G=(t,o,i)=>{a((()=>{const e=t.scrollTop,n=o.clientHeight,r=i?i.clientHeight:0;if(null!==i&&e<r)return o.style.setProperty("--opacity-scale","0"),void t.style.setProperty("clip-path",`inset(${n}px 0px 0px 0px)`);const s=u(0,(e-r)/10,1);d((()=>{t.style.removeProperty("clip-path"),o.style.setProperty("--opacity-scale",s.toString())}))}))},N=class{constructor(o){t(this,o),this.inheritedAttributes={},this.translucent=!1,this.setupFadeHeader=async(t,o)=>{const i=this.scrollEl=await C(t);this.contentScrollCallback=()=>{G(this.scrollEl,this.el,o)},i.addEventListener("scroll",this.contentScrollCallback),G(this.scrollEl,this.el,o)}}componentWillLoad(){this.inheritedAttributes=g(this.el)}componentDidLoad(){this.checkCollapsibleHeader()}componentDidUpdate(){this.checkCollapsibleHeader()}disconnectedCallback(){this.destroyCollapsibleHeader()}async checkCollapsibleHeader(){if("ios"!==p(this))return;const{collapse:t}=this,o="condense"===t,i="fade"===t;if(this.destroyCollapsibleHeader(),o){const t=this.el.closest("ion-app,ion-page,.ion-page,page-inner"),o=t?y(t):null;d((()=>{F("ion-title").size="large",F("ion-back-button")})),await this.setupCondenseHeader(o,t)}else if(i){const t=this.el.closest("ion-app,ion-page,.ion-page,page-inner"),o=t?y(t):null;if(!o)return void z(this.el);const i=o.querySelector('ion-header[collapse="condense"]');await this.setupFadeHeader(o,i)}}destroyCollapsibleHeader(){this.intersectionObserver&&(this.intersectionObserver.disconnect(),this.intersectionObserver=void 0),this.scrollEl&&this.contentScrollCallback&&(this.scrollEl.removeEventListener("scroll",this.contentScrollCallback),this.contentScrollCallback=void 0),this.collapsibleMainHeader&&(this.collapsibleMainHeader.classList.remove("header-collapse-main"),this.collapsibleMainHeader=void 0)}async setupCondenseHeader(t,o){if(!t||!o)return void z(this.el);if("undefined"==typeof IntersectionObserver)return;this.scrollEl=await C(t);const i=o.querySelectorAll("ion-header");if(this.collapsibleMainHeader=Array.from(i).find((t=>"condense"!==t.collapse)),!this.collapsibleMainHeader)return;const e=H(this.collapsibleMainHeader),n=H(this.el);e&&n&&(Y(e,!1),X(e.el,0),this.intersectionObserver=new IntersectionObserver((t=>{((t,o,i,e)=>{d((()=>{const n=e.scrollTop;((t,o,i)=>{if(!t[0].isIntersecting)return;const e=t[0].intersectionRatio>.9||i<=0?0:100*(1-t[0].intersectionRatio)/75;X(o.el,1===e?void 0:e)})(t,o,n);const r=t[0],s=r.intersectionRect,a=s.width*s.height,l=0===a&&0==r.rootBounds.width*r.rootBounds.height,d=Math.abs(s.left-r.boundingClientRect.left),c=Math.abs(s.right-r.boundingClientRect.right);l||a>0&&(d>=5||c>=5)||(r.isIntersecting?(Y(o,!1),Y(i)):(0===s.x&&0===s.y||0!==s.width&&0!==s.height)&&n>0&&(Y(o),Y(i,!1),X(o.el)))}))})(t,e,n,this.scrollEl)}),{root:t,threshold:[.25,.3,.4,.5,.6,.7,.8,.9,1]}),this.intersectionObserver.observe(n.toolbars[n.toolbars.length-1].el),this.contentScrollCallback=()=>{((t,o,i)=>{a((()=>{const e=u(1,1+-t.scrollTop/500,1.1);null===i.querySelector("ion-refresher.refresher-native")&&d((()=>{((t=[],o=1,i=!1)=>{t.forEach((t=>{const e=t.ionTitleEl,n=t.innerTitleEl;e&&"large"===e.size&&(n.style.transition=i?"all 0.2s ease-in-out":"",n.style.transform=`scale3d(${o}, ${o}, 1)`)}))})(o.toolbars,e)}))}))})(this.scrollEl,n,t)},this.scrollEl.addEventListener("scroll",this.contentScrollCallback),d((()=>{void 0!==this.collapsibleMainHeader&&this.collapsibleMainHeader.classList.add("header-collapse-main")})))}render(){const{translucent:t,inheritedAttributes:o}=this,i=p(this),r=this.collapse||"none",s="condense"===r,a=((t,o,i)=>t||o&&"md"===i?W:A)(w("ion-menu",this.el),s,i);return e(n,{key:"863c4568cd7b8c0ec55109f193bbbaed68a1346e",role:a,class:{[i]:!0,[`header-${i}`]:!0,"header-translucent":this.translucent,[`header-collapse-${r}`]:!0,[`header-translucent-${i}`]:this.translucent},...o},"ios"===i&&t&&e("div",{key:"25c3bdce328b0b35607d154c8b8374679313d881",class:"header-background"}),e("slot",{key:"b44fab0a9be7920b9650da26117c783e751e1702"}))}get el(){return r(this)}};N.style={ios:"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-fade.header-transitioning ion-toolbar{--background:transparent;--border-style:none}.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:0px;z-index:1}.header-collapse-condense ion-toolbar{z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{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 ion-toolbar,.header-collapse-condense-inactive.header-transitioning:not(.header-collapse-condense) ion-toolbar{--background:var(--ion-background-color, #fff)}.header-collapse-condense-inactive.header-transitioning:not(.header-collapse-condense) ion-toolbar{--border-style:none;--opacity-scale:1}.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}ion-header.header-ios:not(.header-collapse-main):has(~ion-content ion-header.header-ios[collapse=condense],~ion-content ion-header.header-ios.header-collapse-condense){opacity:0}",md:"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{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.header-md.header-collapse-condense{display:none}.header-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}"};const q=class{constructor(o){t(this,o),this.ionNavWillLoad=s(this,"ionNavWillLoad",7),this.ionNavWillChange=s(this,"ionNavWillChange",3),this.ionNavDidChange=s(this,"ionNavDidChange",3),this.lockController=Z(),this.gestureOrAnimationInProgress=!1,this.mode=p(this),this.animated=!0}swipeGestureChanged(){this.updateGestureEnabled()}swipeHandlerChanged(){this.updateGestureEnabled()}async connectedCallback(){const t=()=>{this.gestureOrAnimationInProgress=!0,this.swipeHandler&&this.swipeHandler.onStart()};this.gesture=(await import("./p-Q9w8L_Sw.js")).createSwipeBackGesture(this.el,(()=>!this.gestureOrAnimationInProgress&&!!this.swipeHandler&&this.swipeHandler.canStart()),(()=>t()),(t=>this.ani?.progressStep(t)),((t,o,i)=>{if(this.ani){this.ani.onFinish((()=>{this.gestureOrAnimationInProgress=!1,this.swipeHandler&&this.swipeHandler.onEnd(t)}),{oneTimeCallback:!0});let e=t?-.001:.001;t?e+=S([0,0],[.32,.72],[0,1],[1,1],o)[0]:(this.ani.easing("cubic-bezier(1, 0, 0.68, 0.28)"),e+=S([0,0],[1,0],[.68,.28],[1,1],o)[0]),this.ani.progressEnd(t?1:0,e,i)}else this.gestureOrAnimationInProgress=!1})),void 0===this.swipeGesture?this.swipeGesture=o.getBoolean("swipeBackEnabled","ios"===this.mode):this.updateGestureEnabled()}componentWillLoad(){this.ionNavWillLoad.emit()}updateGestureEnabled(){this.gesture&&this.gesture.enable(void 0!==this.swipeHandler&&!0===this.swipeGesture)}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}async commit(t,o,i){const e=await this.lockController.lock();let n=!1;try{n=await this.transition(t,o,i)}catch(t){c("[ion-router-outlet] - Exception in commit:",t)}return e(),n}async setRouteId(t,o,i,e){return{changed:await this.setRoot(t,o,{duration:"root"===i?0:void 0,direction:"back"===i?"back":"forward",animationBuilder:e}),element:this.activeEl}}async getRouteId(){const t=this.activeEl;return t?{id:t.tagName,element:t,params:this.activeParams}:void 0}async setRoot(t,o,i){if(this.activeComponent===t&&x(o,this.activeParams))return!1;const e=this.activeEl,n=await T(this.delegate,this.el,t,["ion-page","ion-page-invisible"],o);return this.activeComponent=t,this.activeEl=n,this.activeParams=o,await this.commit(n,e,i),await B(this.delegate,e),!0}async transition(t,i,e={}){if(i===t)return!1;this.ionNavWillChange.emit();const{el:n,mode:r}=this,s=this.animated&&o.getBoolean("animated",!0),a=e.animationBuilder||this.animation||o.get("navAnimation");return await L({mode:r,animated:s,enteringEl:t,leavingEl:i,baseEl:n,deepWait:f(n),progressCallback:e.progressAnimation?t=>{void 0===t||this.gestureOrAnimationInProgress?this.ani=t:(this.gestureOrAnimationInProgress=!0,t.onFinish((()=>{this.gestureOrAnimationInProgress=!1,this.swipeHandler&&this.swipeHandler.onEnd(!1)}),{oneTimeCallback:!0}),t.progressEnd(0,0,0))}:void 0,...e,animationBuilder:a}),this.ionNavDidChange.emit(),!0}render(){return e("slot",{key:"249e7d8a063c781db52fa535e42d648c7bf2909a"})}get el(){return r(this)}static get watchers(){return{swipeGesture:[{swipeGestureChanged:0}],swipeHandler:[{swipeHandlerChanged:0}]}}};q.style=":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}";const J=class{constructor(o){t(this,o),this.ionStyle=s(this,"ionStyle",7)}sizeChanged(){this.emitStyle()}connectedCallback(){this.emitStyle()}emitStyle(){const t=this.getSize();this.ionStyle.emit({[`title-${t}`]:!0})}getSize(){return void 0!==this.size?this.size:"default"}render(){const t=p(this),o=this.getSize();return e(n,{key:"c5f0b913ff0a22d9bf02da48a313a613c2ac8fe7",class:k(this.color,{[t]:!0,[`title-${o}`]:!0,"title-rtl":"rtl"===document.dir})},e("div",{key:"5253b9e39fb764bfe1e57370719139f8a83e9904",class:"toolbar-title"},e("slot",{key:"e38b1eccb0175c36f8cab211aee7ce4d61fc9035"})))}get el(){return r(this)}static get watchers(){return{size:[{sizeChanged:0}]}}};J.style={ios:":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{top:0;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end: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:min(1.0625rem, 20.4px);font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host{inset-inline-start:0}:host(.title-small){-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:min(0.8125rem, 23.4px);font-weight:normal}:host(.title-large){-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:2px;padding-bottom:4px;-webkit-transform-origin:left center;transform-origin:left center;position:static;-ms-flex-align:end;align-items:flex-end;min-width:100%;font-size:min(2.125rem, 61.2px);font-weight:700;text-align:start}: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);font-family:var(--ion-font-family)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit;width:auto}: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)}@supports selector(:dir(rtl)){:host(.title-large:dir(rtl)) .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}}",md:":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{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:0;padding-bottom:0;font-size:1.25rem;font-weight:500;letter-spacing:0.0125em}:host(.title-small){width:100%;height:100%;font-size:0.9375rem;font-weight:normal}"};const K=class{constructor(o){t(this,o),this.childrenStyles=new Map}componentWillLoad(){const t=Array.from(this.el.querySelectorAll("ion-buttons")),o=t.find((t=>"start"===t.slot));o&&o.classList.add("buttons-first-slot");const i=t.reverse(),e=i.find((t=>"end"===t.slot))||i.find((t=>"primary"===t.slot))||i.find((t=>"secondary"===t.slot));e&&e.classList.add("buttons-last-slot")}childrenStyle(t){t.stopPropagation();const o=t.target.tagName,i=t.detail,e={},n=this.childrenStyles.get(o)||{};let r=!1;Object.keys(i).forEach((t=>{const o=`toolbar-${t}`,s=i[t];s!==n[o]&&(r=!0),s&&(e[o]=!0)})),r&&(this.childrenStyles.set(o,e),l(this))}render(){const t=p(this),o={};return this.childrenStyles.forEach((t=>{Object.assign(o,t)})),e(n,{key:"c16803dc4eae9972ef19bf43aa74b94feb4fd4c1",class:{...o,...k(this.color,{[t]:!0,"in-toolbar":w("ion-toolbar",this.el)})}},e("div",{key:"20e3f85844c94b8399c245d2df125e6ab678d681",class:"toolbar-background",part:"background"}),e("div",{key:"12f09e324e8d9130b9d30c493106b500233fb016",class:"toolbar-container",part:"container"},e("slot",{key:"6da0fe99ee0c4d7c969712e2908a4e7e6be5ed2c",name:"start"}),e("slot",{key:"177c346d6dcabb7857d810cda7d25c6dde32e6e2",name:"secondary"}),e("div",{key:"8c921b415940c71bf4c1a2c5c6887f36ad1afd16",class:"toolbar-content",part:"content"},e("slot",{key:"1f2976b80d967bd51e86ed1357b363271d655df2"})),e("slot",{key:"0f7618044a7e8b0d9b715a8e208070f7ef2ee4c8",name:"primary"}),e("slot",{key:"125c393197e0660a3c2638dd4628c41ef7e05f19",name:"end"})))}get el(){return r(this)}};K.style={ios:":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;width:100%;padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end: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}.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, var(--ion-background-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, var(--ion-background-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}::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%}",md:":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;width:100%;padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end: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}.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, var(--ion-background-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(.buttons-first-slot){-webkit-margin-start:4px;margin-inline-start:4px}::slotted(.buttons-last-slot){-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}"};export{$ as ion_app,_ as ion_buttons,M as ion_content,R as ion_footer,N as ion_header,q as ion_router_outlet,J as ion_title,K as ion_toolbar}