@ionic/core 9.0.7-dev.11791381676.118a7a15 → 9.0.7-dev.11791478996.1b854592

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.
Files changed (51) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-datetime.js +1 -1
  3. package/components/ion-modal.js +1 -1
  4. package/components/ion-nav.js +1 -1
  5. package/components/ion-popover.js +1 -1
  6. package/components/ion-router-outlet.js +1 -1
  7. package/components/ion-select.js +1 -1
  8. package/components/p-Bd8hg9FK.js +4 -0
  9. package/components/{p-BG2lMobd.js → p-CJdQ1u7W.js} +1 -1
  10. package/components/{p-D64Tyi-z.js → p-CQKWzUsE.js} +1 -1
  11. package/components/{p-Dvyv9SMk.js → p-D0nwlsl_.js} +1 -1
  12. package/components/p-DfDIY2oP.js +4 -0
  13. package/dist/cjs/{index-DUiuw_fH.js → index-DCfr5hz-.js} +14 -2
  14. package/dist/cjs/index.cjs.js +3 -3
  15. package/dist/cjs/ion-app_8.cjs.entry.js +31 -3
  16. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  17. package/dist/cjs/ion-nav_2.cjs.entry.js +24 -2
  18. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  19. package/dist/cjs/{ios.transition-D85_rHf5.js → ios.transition-Ca6XODo9.js} +1 -1
  20. package/dist/cjs/{md.transition-Ce9X1WXr.js → md.transition-D8SfNYEp.js} +1 -1
  21. package/dist/collection/components/nav/nav.js +24 -2
  22. package/dist/collection/components/router-outlet/router-outlet.js +31 -3
  23. package/dist/collection/utils/transition/index.js +11 -0
  24. package/dist/docs.json +1 -1
  25. package/dist/esm/{index-BBASprVu.js → index-z9vdZN7I.js} +14 -3
  26. package/dist/esm/index.js +3 -3
  27. package/dist/esm/ion-app_8.entry.js +31 -3
  28. package/dist/esm/ion-modal.entry.js +1 -1
  29. package/dist/esm/ion-nav_2.entry.js +24 -2
  30. package/dist/esm/ion-popover.entry.js +1 -1
  31. package/dist/esm/{ios.transition-B8netzsb.js → ios.transition-BkUGiDUz.js} +1 -1
  32. package/dist/esm/{md.transition-DNCSSiXk.js → md.transition-B6hlrWjR.js} +1 -1
  33. package/dist/ionic/index.esm.js +1 -1
  34. package/dist/ionic/ionic.esm.js +1 -1
  35. package/dist/ionic/p-52a16f94.entry.js +4 -0
  36. package/dist/ionic/{p-Bppj2PE0.js → p-BZTgGzGK.js} +1 -1
  37. package/dist/ionic/{p-Bnc1L7Rk.js → p-CgcGX08t.js} +1 -1
  38. package/dist/ionic/p-Dk4Mdaru.js +4 -0
  39. package/dist/ionic/{p-f6fcd4f8.entry.js → p-c97e4c00.entry.js} +1 -1
  40. package/dist/ionic/{p-2124fd4f.entry.js → p-d2406889.entry.js} +1 -1
  41. package/dist/ionic/{p-af56702e.entry.js → p-f2116a54.entry.js} +1 -1
  42. package/dist/types/components/nav/nav.d.ts +1 -0
  43. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -0
  44. package/dist/types/utils/transition/index.d.ts +6 -0
  45. package/hydrate/index.js +64 -3
  46. package/hydrate/index.mjs +64 -3
  47. package/package.json +1 -1
  48. package/components/p-C7r5Gja6.js +0 -4
  49. package/components/p-Uk13YgEc.js +0 -4
  50. package/dist/ionic/p-DQXtveHv.js +0 -4
  51. package/dist/ionic/p-fcb04fb5.entry.js +0 -4
package/hydrate/index.mjs CHANGED
@@ -25305,6 +25305,17 @@ const setPageHidden = (el, hidden) => {
25305
25305
  el.classList.remove('ion-page-hidden');
25306
25306
  }
25307
25307
  };
25308
+ /**
25309
+ * Blocks clicks on `el` during a swipe to go back without animations,
25310
+ * so releasing the pointer doesn't click whatever is under it. Returns
25311
+ * a function that unblocks it after the release click.
25312
+ */
25313
+ const blockSwipeClicks = (el) => {
25314
+ el.style.setProperty('pointer-events', 'none');
25315
+ return () => {
25316
+ setTimeout(() => el.style.removeProperty('pointer-events'));
25317
+ };
25318
+ };
25308
25319
  const setZIndex = (enteringEl, leavingEl, direction) => {
25309
25320
  if (enteringEl !== undefined) {
25310
25321
  enteringEl.style.zIndex = direction === 'back' ? '99' : '101';
@@ -28655,6 +28666,12 @@ class Nav {
28655
28666
  this.gesture.destroy();
28656
28667
  this.gesture = undefined;
28657
28668
  }
28669
+ // Destroying the gesture skips onEnd, so end a deferred swipe here.
28670
+ if (this.unblockSwipeClicks) {
28671
+ this.unblockSwipeClicks();
28672
+ this.unblockSwipeClicks = undefined;
28673
+ this.gestureOrAnimationInProgress = false;
28674
+ }
28658
28675
  this.transInstr.length = 0;
28659
28676
  this.views.length = 0;
28660
28677
  this.destroyed = true;
@@ -29275,6 +29292,14 @@ class Nav {
29275
29292
  }
29276
29293
  onStart() {
29277
29294
  this.gestureOrAnimationInProgress = true;
29295
+ /**
29296
+ * Without animations there's nothing for the swipe to drive, so
29297
+ * wait until the gesture ends to decide whether to go back.
29298
+ */
29299
+ if (!(this.animated && config.getBoolean('animated', true))) {
29300
+ this.unblockSwipeClicks = blockSwipeClicks(this.el);
29301
+ return;
29302
+ }
29278
29303
  this.pop({ direction: 'back', progressAnimation: true });
29279
29304
  }
29280
29305
  onMove(stepValue) {
@@ -29308,10 +29333,18 @@ class Nav {
29308
29333
  }
29309
29334
  else {
29310
29335
  this.gestureOrAnimationInProgress = false;
29336
+ const { unblockSwipeClicks } = this;
29337
+ if (unblockSwipeClicks) {
29338
+ this.unblockSwipeClicks = undefined;
29339
+ if (shouldComplete) {
29340
+ this.pop({ direction: 'back' });
29341
+ }
29342
+ unblockSwipeClicks();
29343
+ }
29311
29344
  }
29312
29345
  }
29313
29346
  render() {
29314
- return hAsync("slot", { key: '1886154d3c2fa8511af4d641d269aaa4c0f45c05' });
29347
+ return hAsync("slot", { key: '0aea554c0cf00dd3829757ec74c3855eccf1e068' });
29315
29348
  }
29316
29349
  get el() { return getElement(this); }
29317
29350
  static get watchers() { return {
@@ -36802,6 +36835,14 @@ class RouterOutlet {
36802
36835
  async connectedCallback() {
36803
36836
  const onStart = () => {
36804
36837
  this.gestureOrAnimationInProgress = true;
36838
+ /**
36839
+ * Without animations there's nothing for the swipe to drive, so
36840
+ * wait until the gesture ends to decide whether to go back.
36841
+ */
36842
+ if (!(this.animated && config.getBoolean('animated', true))) {
36843
+ this.unblockSwipeClicks = blockSwipeClicks(this.el);
36844
+ return;
36845
+ }
36805
36846
  if (this.swipeHandler) {
36806
36847
  this.swipeHandler.onStart();
36807
36848
  }
@@ -36834,7 +36875,21 @@ class RouterOutlet {
36834
36875
  this.ani.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);
36835
36876
  }
36836
36877
  else {
36837
- this.gestureOrAnimationInProgress = false;
36878
+ const { swipeHandler, unblockSwipeClicks: unblock } = this;
36879
+ this.unblockSwipeClicks = undefined;
36880
+ // The stack can change during the swipe, so check that going back is still possible.
36881
+ if (unblock && shouldComplete && swipeHandler?.canStart()) {
36882
+ new Promise((resolve) => resolve(swipeHandler.onStart()))
36883
+ .then(() => swipeHandler.onEnd(true))
36884
+ .finally(() => {
36885
+ this.gestureOrAnimationInProgress = false;
36886
+ unblock();
36887
+ });
36888
+ }
36889
+ else {
36890
+ this.gestureOrAnimationInProgress = false;
36891
+ unblock?.();
36892
+ }
36838
36893
  }
36839
36894
  });
36840
36895
  if (this.swipeGesture === undefined) {
@@ -36857,6 +36912,12 @@ class RouterOutlet {
36857
36912
  this.gesture.destroy();
36858
36913
  this.gesture = undefined;
36859
36914
  }
36915
+ // Destroying the gesture skips onEnd, so end a deferred swipe here.
36916
+ if (this.unblockSwipeClicks) {
36917
+ this.unblockSwipeClicks();
36918
+ this.unblockSwipeClicks = undefined;
36919
+ this.gestureOrAnimationInProgress = false;
36920
+ }
36860
36921
  }
36861
36922
  /** @internal */
36862
36923
  async commit(enteringEl, leavingEl, opts) {
@@ -36968,7 +37029,7 @@ class RouterOutlet {
36968
37029
  return true;
36969
37030
  }
36970
37031
  render() {
36971
- return hAsync("slot", { key: '249e7d8a063c781db52fa535e42d648c7bf2909a' });
37032
+ return hAsync("slot", { key: '078cdc7a63b98570746409fc08c4af80f8d7da4d' });
36972
37033
  }
36973
37034
  get el() { return getElement(this); }
36974
37035
  static get watchers() { return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "9.0.7-dev.11791381676.118a7a15",
3
+ "version": "9.0.7-dev.11791478996.1b854592",
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{e as n,p as e,w as i,B as a}from"./p-Ct2aBEue.js";import{r as o}from"./p-B4IBdPVJ.js";const r="ionViewWillEnter",t="ionViewDidEnter",s="ionViewWillLeave",c="ionViewDidLeave",l="ionViewWillUnload",u=n=>{n.tabIndex=-1,n.focus()},d=n=>null!==n.offsetParent,p="ion-last-focus",f=e=>{if(n.get("focusManagerPriority",!1)){const n=document.activeElement;null!==n&&e?.contains(n)&&n.setAttribute(p,"true")}},w=i=>{const a=n.get("focusManagerPriority",!1);if(Array.isArray(a)&&!i.contains(document.activeElement)){const n=i.querySelector(`[${p}]`);if(n&&d(n))return void u(n);for(const n of a)switch(n){case"content":const a=i.querySelector('main, [role="main"]');if(a&&d(a))return void u(a);break;case"heading":const o=i.querySelector('h1, [role="heading"][aria-level="1"]');if(o&&d(o))return void u(o);break;case"banner":const r=i.querySelector('header, [role="banner"]');if(r&&d(r))return void u(r);break;default:e(`Unrecognized focus manager priority value ${n}`)}u(i)}},v=n=>new Promise(((e,a)=>{i((()=>{const i=$(n);m(n,i),g(n).then((i=>{i.animation&&i.animation.destroy(),b(n),e(i)}),(e=>{b(n),a(e)})).finally((()=>{W(i,!1)}))}))})),m=(n,e)=>{const i=n.enteringEl,a=n.leavingEl;f(a),U(i,a,n.direction),W(e,!0),n.showGoBack?i.classList.add("can-go-back"):i.classList.remove("can-go-back"),L(i,!1),i.style.setProperty("pointer-events","none"),a&&(L(a,!1),a.style.setProperty("pointer-events","none"))},g=async n=>{const e=await y(n);return e&&a.isBrowser?h(e,n):P(n)},b=n=>{const e=n.enteringEl,i=n.leavingEl;e.classList.remove("ion-page-invisible"),e.style.removeProperty("pointer-events"),void 0!==i&&(i.classList.remove("ion-page-invisible"),i.style.removeProperty("pointer-events")),w(e)},y=async n=>{if(n.leavingEl&&n.animated&&0!==n.duration)return n.animationBuilder?n.animationBuilder:"ios"===n.mode?(await import("./p-Dvyv9SMk.js")).iosTransitionAnimation:(await import("./p-Uk13YgEc.js")).mdTransitionAnimation},h=async(n,e)=>{await k(e,!0);const i=n(e.baseEl,e);j(e.enteringEl,e.leavingEl);const a=await E(i,e);return e.progressCallback&&e.progressCallback(void 0),a&&B(e.enteringEl,e.leavingEl),{hasCompleted:a,animation:i}},P=async e=>{const i=e.enteringEl,a=e.leavingEl,o=n.get("focusManagerPriority",!1);return await k(e,o),j(i,a),B(i,a),{hasCompleted:!0}},k=async(n,e)=>{(void 0!==n.deepWait?n.deepWait:e)&&await Promise.all([D(n.enteringEl),D(n.leavingEl)]),await V(n.viewIsReady,n.enteringEl)},V=async(n,e)=>{n&&await n(e)},E=(n,e)=>{const i=e.progressCallback,a=new Promise((e=>{n.onFinish((n=>e(1===n)))}));return i?(n.progressStart(!0),i(n)):n.play(),a},j=(n,e)=>{C(e,s),C(n,r)},B=(n,e)=>{C(n,t),C(e,c)},C=(n,e)=>{if(n){const i=new CustomEvent(e,{bubbles:!1,cancelable:!1});n.dispatchEvent(i)}},M=()=>new Promise((n=>o((()=>o((()=>n())))))),D=async n=>{const e=n;if(e){if(null!=e.componentOnReady){if(null!=await e.componentOnReady())return}else if(null!=e.__registerHost){const n=new Promise((n=>o(n)));return void await n}await Promise.all(Array.from(e.children).map(D))}},L=(n,e)=>{e?(n.setAttribute("aria-hidden","true"),n.classList.add("ion-page-hidden")):(n.hidden=!1,n.removeAttribute("aria-hidden"),n.classList.remove("ion-page-hidden"))},U=(n,e,i)=>{void 0!==n&&(n.style.zIndex="back"===i?"99":"101"),void 0!==e&&(e.style.zIndex="100")},W=(n,e)=>{if(!n)return;const i="header-transitioning";e?n.classList.add(i):n.classList.remove(i)},A=n=>{if(n.classList.contains("ion-page"))return n;return n.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs")||n},$=n=>{if("ios"!==n.mode)return null;const e="back"===n.direction?n.leavingEl:n.enteringEl;return e?e.querySelector("ion-header"):null};export{r as L,t as a,s as b,c,l as d,D as e,A as g,C as l,L as s,v as t,M as w}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{c as t}from"./p-ChsJlFCQ.js";import{g as r}from"./p-C7r5Gja6.js";const a=(a,o)=>{const i="40px",s="back"===o.direction,n=o.leavingEl,e=r(o.enteringEl),c=e.querySelector("ion-toolbar"),p=t();if(p.addElement(e).fill("both").beforeRemoveClass("ion-page-invisible"),s?p.duration((o.duration??0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)"):p.duration((o.duration??0)||280).easing("cubic-bezier(0.36,0.66,0.04,1)").fromTo("transform",`translateY(${i})`,"translateY(0px)").fromTo("opacity",.01,1),c){const r=t();r.addElement(c),p.addAnimation(r)}if(n&&s){p.duration((o.duration??0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)");const a=t();a.addElement(r(n)).onFinish((t=>{1===t&&a.elements.length>0&&a.elements[0].style.setProperty("display","none")})).fromTo("transform","translateY(0px)",`translateY(${i})`).fromTo("opacity",1,0),p.addAnimation(a)}return p};export{a as mdTransitionAnimation}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{i as n,a as e,w as i,B as a}from"./p-BpRUsN_W.js";import{r as o}from"./p-Co7eql8D.js";const r="ionViewWillEnter",t="ionViewDidEnter",s="ionViewWillLeave",c="ionViewDidLeave",l="ionViewWillUnload",u=n=>{n.tabIndex=-1,n.focus()},d=n=>null!==n.offsetParent,p="ion-last-focus",f=e=>{if(n.get("focusManagerPriority",!1)){const n=document.activeElement;null!==n&&e?.contains(n)&&n.setAttribute(p,"true")}},w=i=>{const a=n.get("focusManagerPriority",!1);if(Array.isArray(a)&&!i.contains(document.activeElement)){const n=i.querySelector(`[${p}]`);if(n&&d(n))return void u(n);for(const n of a)switch(n){case"content":const a=i.querySelector('main, [role="main"]');if(a&&d(a))return void u(a);break;case"heading":const o=i.querySelector('h1, [role="heading"][aria-level="1"]');if(o&&d(o))return void u(o);break;case"banner":const r=i.querySelector('header, [role="banner"]');if(r&&d(r))return void u(r);break;default:e(`Unrecognized focus manager priority value ${n}`)}u(i)}},v=n=>new Promise(((e,a)=>{i((()=>{const i=R(n);m(n,i),b(n).then((i=>{i.animation&&i.animation.destroy(),g(n),e(i)}),(e=>{g(n),a(e)})).finally((()=>{U(i,!1)}))}))})),m=(n,e)=>{const i=n.enteringEl,a=n.leavingEl;f(a),M(i,a,n.direction),U(e,!0),n.showGoBack?i.classList.add("can-go-back"):i.classList.remove("can-go-back"),D(i,!1),i.style.setProperty("pointer-events","none"),a&&(D(a,!1),a.style.setProperty("pointer-events","none"))},b=async n=>{const e=await h(n);return e&&a.isBrowser?y(e,n):P(n)},g=n=>{const e=n.enteringEl,i=n.leavingEl;e.classList.remove("ion-page-invisible"),e.style.removeProperty("pointer-events"),void 0!==i&&(i.classList.remove("ion-page-invisible"),i.style.removeProperty("pointer-events")),w(e)},h=async n=>{if(n.leavingEl&&n.animated&&0!==n.duration)return n.animationBuilder?n.animationBuilder:"ios"===n.mode?(await import("./p-Bnc1L7Rk.js")).iosTransitionAnimation:(await import("./p-Bppj2PE0.js")).mdTransitionAnimation},y=async(n,e)=>{await k(e,!0);const i=n(e.baseEl,e);B(e.enteringEl,e.leavingEl);const a=await V(i,e);return e.progressCallback&&e.progressCallback(void 0),a&&C(e.enteringEl,e.leavingEl),{hasCompleted:a,animation:i}},P=async e=>{const i=e.enteringEl,a=e.leavingEl,o=n.get("focusManagerPriority",!1);return await k(e,o),B(i,a),C(i,a),{hasCompleted:!0}},k=async(n,e)=>{(void 0!==n.deepWait?n.deepWait:e)&&await Promise.all([W(n.enteringEl),W(n.leavingEl)]),await j(n.viewIsReady,n.enteringEl)},j=async(n,e)=>{n&&await n(e)},V=(n,e)=>{const i=e.progressCallback,a=new Promise((e=>{n.onFinish((n=>e(1===n)))}));return i?(n.progressStart(!0),i(n)):n.play(),a},B=(n,e)=>{E(e,s),E(n,r)},C=(n,e)=>{E(n,t),E(e,c)},E=(n,e)=>{if(n){const i=new CustomEvent(e,{bubbles:!1,cancelable:!1});n.dispatchEvent(i)}},L=()=>new Promise((n=>o((()=>o((()=>n())))))),W=async n=>{const e=n;if(e){if(null!=e.componentOnReady){if(null!=await e.componentOnReady())return}else if(null!=e.__registerHost){const n=new Promise((n=>o(n)));return void await n}await Promise.all(Array.from(e.children).map(W))}},D=(n,e)=>{e?(n.setAttribute("aria-hidden","true"),n.classList.add("ion-page-hidden")):(n.hidden=!1,n.removeAttribute("aria-hidden"),n.classList.remove("ion-page-hidden"))},M=(n,e,i)=>{void 0!==n&&(n.style.zIndex="back"===i?"99":"101"),void 0!==e&&(e.style.zIndex="100")},U=(n,e)=>{if(!n)return;const i="header-transitioning";e?n.classList.add(i):n.classList.remove(i)},A=n=>{if(n.classList.contains("ion-page"))return n;return n.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs")||n},R=n=>{if("ios"!==n.mode)return null;const e="back"===n.direction?n.leavingEl:n.enteringEl;return e?e.querySelector("ion-header"):null};export{r as L,t as a,s as b,c,l as d,W as e,A as g,E as l,D as s,v as t,L as w}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as t,i as o,a as i,h as e,f as n,g as r,d as s,e as a,j as l,w as d,c}from"./p-BpRUsN_W.js";import{w as h,n as b}from"./p-C1WYZOZj.js";import{a as p,b as g}from"./p-SEecsUh7.js";import{i as u,h as m,c as f,e as x,v}from"./p-Co7eql8D.js";import{i as k}from"./p-Dojwmvde.js";import{h as w,c as y}from"./p-byZM6qHV.js";import{b as z,p as C,g as j}from"./p-CXs4J83x.js";import{c as B}from"./p-D926OmIX.js";import{g as S}from"./p-hHmYLOfE.js";import{a as T,d as Z}from"./p-nCAPr1Ah.js";import{c as E}from"./p-B-hirT0v.js";import{t as D}from"./p-DQXtveHv.js";import"./p-B_gJaBk0.js";import"./p-BY4FwwBp.js";import"./p-C2LaBx3E.js";const $=class{constructor(o){t(this,o)}componentDidLoad(){this.rIC((async()=>{const t=p(window,"hybrid");if(o.getBoolean("_testing")||import("./p-BdHBcCZF.js").then((t=>t.startTapClick(o))),o.getBoolean("statusTap",t)&&import("./p-BNXIurCt.js").then((t=>t.startStatusTap())),o.getBoolean("inputShims",L())){const t=p(window,"ios")?"ios":"android";import("./p-Bx5x5GJV.js").then((i=>i.startInputShims(o,t)))}const e=await import("./p-C1WYZOZj.js").then((function(t){return t.y})),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-DXXGkPA8.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=g(this);return e(n,{key:"77a7459d3e42b3715a5a7e1cf468e2ebc99e54bb",class:{[t]:!0,"ion-page":!0,"force-statusbar-padding":o.getBoolean("_forceStatusbarPadding")}})}get el(){return r(this)}},L=()=>!(!p(window,"ios")||!p(window,"mobile"))||!(!p(window,"android")||!p(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 O=class{constructor(o){t(this,o),this.collapse=!1}render(){const t=g(this);return e(n,{key:"58c1fc5eb867d0731c63549b1ccb3ec3bbbe6e1b",class:{[t]:!0,"buttons-collapse":this.collapse}},e("slot",{key:"0c8f95b9840c8fa0c4e50be84c5159620a3eb5c8"}))}};O.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 X=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.sizeToContent=!1,this.fullscreen=!1,this.fixedSlotPlacement="after",this.scrollX=!1,this.scrollY=!0,this.scrollEvents=!1}fullscreenChanged(){this.setupFullscreenResizeObserver()}componentWillLoad(){this.inheritedAttributes=u(this.el),this.sizeToContent=this.readSizeToContent()}connectedCallback(){if(this.isMainContent=null===this.el.closest("ion-menu, ion-popover, ion-modal"),m(this.el)){const t=this.tabsElement=this.el.closest("ion-tabs");null!==t&&(this.tabsLoadCallback=()=>this.resize(),t.addEventListener("ionTabBarLoaded",this.tabsLoadCallback))}this.setupFullscreenResizeObserver(),this.updateSizeToContent()}componentDidLoad(){this.setupFullscreenResizeObserver()}disconnectedCallback(){if(this.onScrollEnd(),m(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())}updateSizeToContent(){a((()=>{this.sizeToContent=this.readSizeToContent()}))}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=g(this);return void 0===t?"ios"===o&&p("ios"):t}readSizeToContent(){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");return"content"===b(o)}resize(){this.updateSizeToContent(),this.fullscreen?a((()=>this.readDimensions())):0===this.cTop&&0===this.cBottom||(this.cTop=this.cBottom=0,l(this))}async recalculateDimensions(){a((()=>this.readDimensions())),this.updateSizeToContent()}readDimensions(){const t=A(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,_(this.detail,this.scrollEl,o,i),this.ionScroll.emit(this.detail)})))}async getScrollElement(){return this.scrollEl||await new Promise((t=>f(this.el,t))),Promise.resolve(this.scrollEl)}async getBackgroundElement(){return this.backgroundContentEl||await new Promise((t=>f(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=k(a)?"rtl":"ltr",d=g(this),c=this.shouldForceOverscroll(),h="ios"===d;return this.resize(),e(n,{key:"e1013621096729354ef92915af52dd823e69fdff",role:i?"main":void 0,class:y(this.color,{[d]:!0,"content-fullscreen":this.fullscreen,"content-sizing":this.sizeToContent,overscroll:c,[`content-${l}`]:!0}),style:{"--offset-top":`${this.cTop}px`,"--offset-bottom":`${this.cBottom}px`},...o},e("div",{key:"3d8649b164d6324beaa1bc50e1d204ad06c2ec1a",ref:t=>this.backgroundContentEl=t,id:"background-content",part:"background"}),"before"===t?e("slot",{name:"fixed"}):null,e("div",{key:"dd2d3bed8690b4f5027a43f5ec60e7e7df18106d",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:"dc3d4584d9e9afd43699525a619b8e873078fbbf"})),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}]}}},A=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)},_=(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}};X.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 I=(t,o)=>{a((()=>{const i=x(0,1-(t.scrollTop-(t.scrollHeight-t.clientHeight-10))/10,1);d((()=>{o.style.setProperty("--opacity-scale",i.toString())}))}))},M=class{constructor(o){t(this,o),this.keyboardCtrl=null,this.keyboardCtrlPromise=null,this.keyboardVisible=!1,this.translucent=!1,this.checkCollapsibleFooter=()=>{if("ios"!==g(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?z(t):null;if(!o)return void C(this.el);this.setupFadeFooter(o)}},this.setupFadeFooter=async t=>{const o=this.scrollEl=await j(t);this.contentScrollCallback=()=>{I(o,this.el)},o.addEventListener("scroll",this.contentScrollCallback),I(o,this.el)}}componentDidLoad(){this.checkCollapsibleFooter()}componentDidUpdate(){this.checkCollapsibleFooter()}async connectedCallback(){const t=B((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=g(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)}};M.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 P="none",R="banner",W=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"))}}))}},F=(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",R),i.classList.remove("header-collapse-condense-inactive"),e.forEach((t=>{t&&t.removeAttribute("aria-hidden")}))):(i.setAttribute("role",P),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=x(0,(e-r)/10,1);d((()=>{t.style.removeProperty("clip-path"),o.style.setProperty("--opacity-scale",s.toString())}))}))},q=class{constructor(o){t(this,o),this.inheritedAttributes={},this.translucent=!1,this.setupFadeHeader=async(t,o)=>{const i=this.scrollEl=await j(t);this.contentScrollCallback=()=>{G(this.scrollEl,this.el,o)},i.addEventListener("scroll",this.contentScrollCallback),G(this.scrollEl,this.el,o)}}componentWillLoad(){this.inheritedAttributes=u(this.el)}componentDidLoad(){this.checkCollapsibleHeader()}componentDidUpdate(){this.checkCollapsibleHeader()}disconnectedCallback(){this.destroyCollapsibleHeader()}async checkCollapsibleHeader(){if("ios"!==g(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?z(t):null;d((()=>{W("ion-title").size="large",W("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?z(t):null;if(!o)return void C(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 C(this.el);if("undefined"==typeof IntersectionObserver)return;this.scrollEl=await j(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),F(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;F(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),F(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=x(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=g(this),r=this.collapse||"none",s="condense"===r,a=((t,o,i)=>t||o&&"md"===i?P:R)(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)}};q.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 N=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=E(),this.gestureOrAnimationInProgress=!1,this.mode=g(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-CngfKMRU.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&&v(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 Z(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 D({mode:r,animated:s,enteringEl:t,leavingEl:i,baseEl:n,deepWait:m(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}]}}};N.style=":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}";const U=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=g(this),o=this.getSize();return e(n,{key:"c5f0b913ff0a22d9bf02da48a313a613c2ac8fe7",class:y(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}]}}};U.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 J=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=g(this),o={};return this.childrenStyles.forEach((t=>{Object.assign(o,t)})),e(n,{key:"c16803dc4eae9972ef19bf43aa74b94feb4fd4c1",class:{...o,...y(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)}};J.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,O as ion_buttons,X as ion_content,M as ion_footer,q as ion_header,N as ion_router_outlet,U as ion_title,J as ion_toolbar}