@ionic/core 8.8.4-dev.11776246162.138c2737 → 8.8.4-dev.11776357045.1da75baf

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 (129) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-datetime.js +1 -1
  5. package/components/ion-loading.js +1 -1
  6. package/components/ion-menu.js +1 -1
  7. package/components/ion-modal.js +1 -1
  8. package/components/ion-picker-legacy.js +1 -1
  9. package/components/ion-popover.js +1 -1
  10. package/components/ion-range.js +1 -1
  11. package/components/ion-select-modal.js +1 -1
  12. package/components/ion-select-popover.js +1 -1
  13. package/components/ion-select.js +1 -1
  14. package/components/ion-tab-bar.js +1 -1
  15. package/components/ion-toast.js +1 -1
  16. package/components/p-B6czg-mf.js +4 -0
  17. package/components/p-BGHaEUgp.js +4 -0
  18. package/components/{p-CEUppJkx.js → p-BR9Yxas9.js} +1 -1
  19. package/components/p-Ch9P0ikq.js +4 -0
  20. package/components/p-GytrfCp8.js +4 -0
  21. package/components/p-ZeIAjDcZ.js +4 -0
  22. package/components/{p-B36-MWK0.js → p-iwGbwewM.js} +1 -1
  23. package/css/ionic/bundle.ionic.css +1 -1
  24. package/css/ionic/bundle.ionic.css.map +1 -1
  25. package/css/ionic/core.ionic.css +1 -1
  26. package/css/ionic/core.ionic.css.map +1 -1
  27. package/dist/cjs/index.cjs.js +1 -1
  28. package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -29
  29. package/dist/cjs/ion-alert.cjs.entry.js +4 -29
  30. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -28
  31. package/dist/cjs/ion-loading.cjs.entry.js +4 -29
  32. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-modal.cjs.entry.js +79 -176
  34. package/dist/cjs/ion-popover.cjs.entry.js +4 -90
  35. package/dist/cjs/ion-range.cjs.entry.js +8 -5
  36. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  37. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  38. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-toast.cjs.entry.js +4 -32
  40. package/dist/cjs/{overlays-BbhewSIQ.js → overlays-Dhoy6v_5.js} +4 -4
  41. package/dist/collection/components/action-sheet/action-sheet.js +4 -5
  42. package/dist/collection/components/alert/alert.js +3 -4
  43. package/dist/collection/components/loading/loading.js +3 -4
  44. package/dist/collection/components/modal/gestures/sheet.js +9 -71
  45. package/dist/collection/components/modal/modal.ionic.css +1 -1
  46. package/dist/collection/components/modal/modal.js +5 -6
  47. package/dist/collection/components/picker-legacy/picker.js +3 -4
  48. package/dist/collection/components/popover/popover.js +3 -4
  49. package/dist/collection/components/range/range.ionic.css +14 -10
  50. package/dist/collection/components/range/range.js +7 -4
  51. package/dist/collection/components/tab-bar/tab-bar.ionic.css +9 -0
  52. package/dist/collection/components/toast/toast.js +3 -4
  53. package/dist/collection/utils/overlays.js +5 -5
  54. package/dist/docs.json +1 -1
  55. package/dist/esm/index.js +1 -1
  56. package/dist/esm/ion-action-sheet.entry.js +5 -29
  57. package/dist/esm/ion-alert.entry.js +4 -29
  58. package/dist/esm/ion-datetime_3.entry.js +4 -28
  59. package/dist/esm/ion-loading.entry.js +4 -29
  60. package/dist/esm/ion-menu_3.entry.js +1 -1
  61. package/dist/esm/ion-modal.entry.js +80 -177
  62. package/dist/esm/ion-popover.entry.js +4 -90
  63. package/dist/esm/ion-range.entry.js +8 -5
  64. package/dist/esm/ion-select-modal.entry.js +1 -1
  65. package/dist/esm/ion-select_3.entry.js +1 -1
  66. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  67. package/dist/esm/ion-toast.entry.js +4 -32
  68. package/dist/esm/{overlays-VA-4NWjf.js → overlays-CvFHfO3y.js} +5 -5
  69. package/dist/ionic/index.esm.js +1 -1
  70. package/dist/ionic/ionic.esm.js +1 -1
  71. package/dist/ionic/{p-bae3ebe5.entry.js → p-2095969c.entry.js} +1 -1
  72. package/dist/ionic/p-3884bfa4.entry.js +4 -0
  73. package/dist/ionic/p-4b0f5ffd.entry.js +4 -0
  74. package/dist/ionic/p-57aeb097.entry.js +4 -0
  75. package/{components/p-CSexRbnt.js → dist/ionic/p-6be2b2d3.entry.js} +1 -1
  76. package/dist/ionic/p-6bffc700.entry.js +4 -0
  77. package/dist/ionic/{p-ba9f8cbb.entry.js → p-9acd3fd3.entry.js} +1 -1
  78. package/dist/ionic/p-BYtS2rae.js +4 -0
  79. package/dist/ionic/{p-0cb50208.entry.js → p-a283aa4d.entry.js} +1 -1
  80. package/dist/ionic/p-d954cd19.entry.js +4 -0
  81. package/dist/ionic/{p-1efe83c8.entry.js → p-db4f4eaf.entry.js} +1 -1
  82. package/dist/ionic/p-e9d6ce67.entry.js +4 -0
  83. package/dist/ionic/p-ef0c281a.entry.js +4 -0
  84. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  85. package/dist/types/utils/overlays.d.ts +1 -1
  86. package/hydrate/index.js +110 -416
  87. package/hydrate/index.mjs +110 -416
  88. package/package.json +1 -1
  89. package/components/p-BDPU2685.js +0 -4
  90. package/components/p-BrNzoF1U.js +0 -4
  91. package/components/p-DNdBtsfu.js +0 -4
  92. package/components/p-Njik5v4C.js +0 -4
  93. package/dist/collection/components/action-sheet/animations/ionic.enter.js +0 -27
  94. package/dist/collection/components/action-sheet/animations/ionic.leave.js +0 -21
  95. package/dist/collection/components/alert/animations/ionic.enter.js +0 -28
  96. package/dist/collection/components/alert/animations/ionic.leave.js +0 -19
  97. package/dist/collection/components/loading/animations/ionic.enter.js +0 -28
  98. package/dist/collection/components/loading/animations/ionic.leave.js +0 -22
  99. package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
  100. package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
  101. package/dist/collection/components/picker-legacy/animations/ionic.enter.js +0 -27
  102. package/dist/collection/components/picker-legacy/animations/ionic.leave.js +0 -23
  103. package/dist/collection/components/popover/animations/ionic.enter.js +0 -91
  104. package/dist/collection/components/popover/animations/ionic.leave.js +0 -29
  105. package/dist/collection/components/toast/animations/ionic.enter.js +0 -33
  106. package/dist/collection/components/toast/animations/ionic.leave.js +0 -16
  107. package/dist/ionic/p-07b129d5.entry.js +0 -4
  108. package/dist/ionic/p-27edb91a.entry.js +0 -4
  109. package/dist/ionic/p-3d4c8528.entry.js +0 -4
  110. package/dist/ionic/p-6992d9d6.entry.js +0 -4
  111. package/dist/ionic/p-9dd4276b.entry.js +0 -4
  112. package/dist/ionic/p-BExfzy0B.js +0 -4
  113. package/dist/ionic/p-a3d794ba.entry.js +0 -4
  114. package/dist/ionic/p-cdfbe4cc.entry.js +0 -4
  115. package/dist/ionic/p-fa701753.entry.js +0 -4
  116. package/dist/types/components/action-sheet/animations/ionic.enter.d.ts +0 -5
  117. package/dist/types/components/action-sheet/animations/ionic.leave.d.ts +0 -5
  118. package/dist/types/components/alert/animations/ionic.enter.d.ts +0 -5
  119. package/dist/types/components/alert/animations/ionic.leave.d.ts +0 -5
  120. package/dist/types/components/loading/animations/ionic.enter.d.ts +0 -5
  121. package/dist/types/components/loading/animations/ionic.leave.d.ts +0 -5
  122. package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
  123. package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
  124. package/dist/types/components/picker-legacy/animations/ionic.enter.d.ts +0 -5
  125. package/dist/types/components/picker-legacy/animations/ionic.leave.d.ts +0 -5
  126. package/dist/types/components/popover/animations/ionic.enter.d.ts +0 -5
  127. package/dist/types/components/popover/animations/ionic.leave.d.ts +0 -5
  128. package/dist/types/components/toast/animations/ionic.enter.d.ts +0 -6
  129. package/dist/types/components/toast/animations/ionic.leave.d.ts +0 -5
package/hydrate/index.js CHANGED
@@ -8576,7 +8576,7 @@ const setRootAriaHidden = (hidden = false) => {
8576
8576
  viewContainer.removeAttribute('aria-hidden');
8577
8577
  }
8578
8578
  };
8579
- const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, opts) => {
8579
+ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
8580
8580
  var _a, _b;
8581
8581
  if (overlay.presented) {
8582
8582
  return;
@@ -8624,11 +8624,11 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, ionic
8624
8624
  document.body.classList.add(BACKDROP_NO_SCROLL);
8625
8625
  }
8626
8626
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
8627
- const theme = getIonTheme(overlay);
8628
8627
  const mode = getIonMode$1(overlay);
8629
- const selectedAnimation = mode === 'ios' ? iosEnterAnimation : theme === 'ionic' ? ionicEnterAnimation : mdEnterAnimation;
8630
8628
  // get the user's animation fn if one was provided
8631
- const animationBuilder = overlay.enterAnimation ? overlay.enterAnimation : config.get(name, selectedAnimation);
8629
+ const animationBuilder = overlay.enterAnimation
8630
+ ? overlay.enterAnimation
8631
+ : config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);
8632
8632
  const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
8633
8633
  if (completed) {
8634
8634
  overlay.didPresent.emit();
@@ -9791,30 +9791,6 @@ const createAnimation = (animationId) => {
9791
9791
  });
9792
9792
  };
9793
9793
 
9794
- /**
9795
- * MD Action Sheet Enter Animation
9796
- */
9797
- const ionicEnterAnimation$6 = (baseEl) => {
9798
- const baseAnimation = createAnimation();
9799
- const backdropAnimation = createAnimation();
9800
- const wrapperAnimation = createAnimation();
9801
- backdropAnimation
9802
- .addElement(baseEl.querySelector('ion-backdrop'))
9803
- .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
9804
- .beforeStyles({
9805
- 'pointer-events': 'none',
9806
- })
9807
- .afterClearStyles(['pointer-events']);
9808
- wrapperAnimation
9809
- .addElement(baseEl.querySelector('.action-sheet-wrapper'))
9810
- .fromTo('transform', 'translateY(100%)', 'translateY(0%)');
9811
- return baseAnimation
9812
- .addElement(baseEl)
9813
- .easing('cubic-bezier(.36,.66,.04,1)')
9814
- .duration(400)
9815
- .addAnimation([backdropAnimation, wrapperAnimation]);
9816
- };
9817
-
9818
9794
  /**
9819
9795
  * iOS Action Sheet Enter Animation
9820
9796
  */
@@ -10001,7 +9977,7 @@ class ActionSheet {
10001
9977
  async present() {
10002
9978
  const unlock = await this.lockController.lock();
10003
9979
  await this.delegateController.attachViewToDom();
10004
- await present(this, 'actionSheetEnter', iosEnterAnimation$6, mdEnterAnimation$5, ionicEnterAnimation$6);
9980
+ await present(this, 'actionSheetEnter', iosEnterAnimation$6, mdEnterAnimation$5);
10005
9981
  unlock();
10006
9982
  }
10007
9983
  /**
@@ -10291,12 +10267,12 @@ class ActionSheet {
10291
10267
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
10292
10268
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
10293
10269
  const headerID = `action-sheet-${overlayIndex}-header`;
10294
- return (hAsync(Host, Object.assign({ key: '63748ba90fd423cfe64c312bdd7ba77a5de04628', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
10270
+ return (hAsync(Host, Object.assign({ key: '3ef5b086f7a4ac4f361de8dcff5255ed1d2bcbdf', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
10295
10271
  zIndex: `${20000 + this.overlayIndex}`,
10296
- }, class: Object.assign(Object.assign({ [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: 'f0d884af5e6e902d04ca21867c6a19b313029588', tappable: this.backdropDismiss }), hAsync("div", { key: 'd305d0bc1b2cb0b5a063df754a732987fb9a6d32', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'dc284fd35a3ebe3597ba6186b128dc69d7ca9211', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: 'c423ad8a99b7df740c54f3e7cecb48ba94d6d01a', class: "action-sheet-container" }, hAsync("div", { key: '21e02c20525b826c74a6d00a72c0c968e0590829', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: 'fb002f713de61470ab80ecafb577b46ff586764c', id: headerID, class: {
10272
+ }, class: Object.assign(Object.assign({ [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: 'd98bb285f8a09a4207f35f930da77548bcdf529a', tappable: this.backdropDismiss }), hAsync("div", { key: '6cd6aba45144244a51d76bfe0b606c3fb9a882ea', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'e6a007bcde062bd2ea7c094394aa0024ee595c9e', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '31948475a84d28488fd53e7fde16cb1deff14a2f', class: "action-sheet-container" }, hAsync("div", { key: '4f2bbc00d36792cf6e24c402f5396546653f1e00', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: '68bcafe38b49be0fe21e3e4820ee3f05f6abffad', id: headerID, class: {
10297
10273
  'action-sheet-title': true,
10298
10274
  'action-sheet-has-sub-title': this.subHeader !== undefined,
10299
- } }, header, this.subHeader && hAsync("div", { key: 'ad34552d92675e94d7215334a7abdb8901192a26', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'd2ac739b2f35ada0f03ae43f85b663bad7589c80', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'd4c6cd090a424f5765506d7944e928393e1aab5d' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: '3fdeb6dbe099ffb94eef84976cbff7bcb2db0402', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '6dc1c473bc4049031db724df33653854b10ef28d', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), theme === 'md' && hAsync("ion-ripple-effect", { key: 'c02a01ac8876b010e60a4b5994e84ca952e01d7d' })))))), hAsync("div", { key: 'a2e28deb36c4adc75fad2a5dbc8e81f1f87b6ffe', tabindex: "0", "aria-hidden": "true" })));
10275
+ } }, header, this.subHeader && hAsync("div", { key: 'd253c010d0bba4a38836b6319b2d8073e1a526b9', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'b30f50a64b425a992e26673bf072332d7c3b3409', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'e35087c05c7c8f04ca9aef322917f8172c0c4f8f' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: '1f7a50fac729e19d0ee12d54bc67e071ff7b3f08', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '452641544297efc017529b674235e269285c4100', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), theme === 'md' && hAsync("ion-ripple-effect", { key: '15795e15d27297e6e87f7fe39386bb8581993dfa' })))))), hAsync("div", { key: '301fef1a45d1c523221ec2312276dd3a62f3134d', tabindex: "0", "aria-hidden": "true" })));
10300
10276
  }
10301
10277
  get el() { return getElement(this); }
10302
10278
  static get watchers() { return {
@@ -10514,31 +10490,6 @@ class IonicSafeString {
10514
10490
  }
10515
10491
  }
10516
10492
 
10517
- /**
10518
- * Ionic Alert Enter Animation
10519
- */
10520
- const ionicEnterAnimation$5 = (baseEl) => {
10521
- const baseAnimation = createAnimation();
10522
- const backdropAnimation = createAnimation();
10523
- const wrapperAnimation = createAnimation();
10524
- backdropAnimation
10525
- .addElement(baseEl.querySelector('ion-backdrop'))
10526
- .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
10527
- .beforeStyles({
10528
- 'pointer-events': 'none',
10529
- })
10530
- .afterClearStyles(['pointer-events']);
10531
- wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([
10532
- { offset: 0, opacity: '0.01', transform: 'scale(0.9)' },
10533
- { offset: 1, opacity: '1', transform: 'scale(1)' },
10534
- ]);
10535
- return baseAnimation
10536
- .addElement(baseEl)
10537
- .easing('ease-in-out')
10538
- .duration(150)
10539
- .addAnimation([backdropAnimation, wrapperAnimation]);
10540
- };
10541
-
10542
10493
  /**
10543
10494
  * iOS Alert Enter Animation
10544
10495
  */
@@ -10867,7 +10818,7 @@ class Alert {
10867
10818
  async present() {
10868
10819
  const unlock = await this.lockController.lock();
10869
10820
  await this.delegateController.attachViewToDom();
10870
- await present(this, 'alertEnter', iosEnterAnimation$5, mdEnterAnimation$4, ionicEnterAnimation$5).then(() => {
10821
+ await present(this, 'alertEnter', iosEnterAnimation$5, mdEnterAnimation$4).then(() => {
10871
10822
  var _a, _b;
10872
10823
  /**
10873
10824
  * Check if alert has only one button and no inputs.
@@ -11062,9 +11013,9 @@ class Alert {
11062
11013
  * If neither are defined, do not set aria-labelledby.
11063
11014
  */
11064
11015
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
11065
- return (hAsync(Host, { key: '7800d04d1ecc07f7ec37f26b4f217880d9dcc857', tabindex: "-1", style: {
11016
+ return (hAsync(Host, { key: '53f8b0e1035ca965ba44f8e1314c59a227b08173', tabindex: "-1", style: {
11066
11017
  zIndex: `${20000 + overlayIndex}`,
11067
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '9084e82a03f3686a5fb894a0044eac4afc011504', tappable: this.backdropDismiss }), hAsync("div", { key: '7cb89e7d38b831b6bb91cdcb4ccc5d7967db7e3c', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: 'cbd469199a8740eabe0948fa32fab28f41988fa8', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), hAsync("div", { key: 'da0a9a21792906edd840a5070f90ca60f07f331d', class: "alert-head" }, header && (hAsync("h2", { key: '9141036580eed67d7e46c4c1c3c2ca149745ea07', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '4cb440d940debe61c2f9c6826dced794b755b11c', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '671bdc7f218653fc59ddf681c9fcbaaa5e2e2177', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'e84c40927d1d3e8748c9efb6a8c6ec77f70e8e38', tabindex: "0", "aria-hidden": "true" })));
11018
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '39499a198543709f538fa0328214d742754543ab', tappable: this.backdropDismiss }), hAsync("div", { key: '16417758e5ac05cfa049db5086c1ffde81fc6156', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: 'cc7dde0877f70be21019cd2e8e6c843815ec9682', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), hAsync("div", { key: '525d28d77b6467b441ff9d357049aec7565e6f6a', class: "alert-head" }, header && (hAsync("h2", { key: '974fc725163da00216c3c8b7b6c72c005628e0fc', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: 'eedf04dbe331917c7b1348f8020d959119cc9f0f', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '80dbbd75184a3857172eca25f30dee950c08709b', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '0d83a74b7ae595d0593edadfe6b812435534abea', tabindex: "0", "aria-hidden": "true" })));
11068
11019
  }
11069
11020
  get el() { return getElement(this); }
11070
11021
  static get watchers() { return {
@@ -22940,31 +22891,6 @@ class ListHeader {
22940
22891
  }; }
22941
22892
  }
22942
22893
 
22943
- /**
22944
- * Ionic Loading Enter Animation
22945
- */
22946
- const ionicEnterAnimation$4 = (baseEl) => {
22947
- const baseAnimation = createAnimation();
22948
- const backdropAnimation = createAnimation();
22949
- const wrapperAnimation = createAnimation();
22950
- backdropAnimation
22951
- .addElement(baseEl.querySelector('ion-backdrop'))
22952
- .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
22953
- .beforeStyles({
22954
- 'pointer-events': 'none',
22955
- })
22956
- .afterClearStyles(['pointer-events']);
22957
- wrapperAnimation.addElement(baseEl.querySelector('.loading-wrapper')).keyframes([
22958
- { offset: 0, opacity: 0.01, transform: 'scale(1.1)' },
22959
- { offset: 1, opacity: 1, transform: 'scale(1)' },
22960
- ]);
22961
- return baseAnimation
22962
- .addElement(baseEl)
22963
- .easing('ease-in-out')
22964
- .duration(200)
22965
- .addAnimation([backdropAnimation, wrapperAnimation]);
22966
- };
22967
-
22968
22894
  /**
22969
22895
  * iOS Loading Enter Animation
22970
22896
  */
@@ -23176,7 +23102,7 @@ class Loading {
23176
23102
  async present() {
23177
23103
  const unlock = await this.lockController.lock();
23178
23104
  await this.delegateController.attachViewToDom();
23179
- await present(this, 'loadingEnter', iosEnterAnimation$4, mdEnterAnimation$3, ionicEnterAnimation$4);
23105
+ await present(this, 'loadingEnter', iosEnterAnimation$4, mdEnterAnimation$3);
23180
23106
  if (this.duration > 0) {
23181
23107
  this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);
23182
23108
  }
@@ -23234,9 +23160,9 @@ class Loading {
23234
23160
  * Otherwise, don't set aria-labelledby.
23235
23161
  */
23236
23162
  const ariaLabelledBy = message !== undefined ? msgId : null;
23237
- return (hAsync(Host, Object.assign({ key: '89d1abcbc147e33c7bfc7bb3ef8f46ae82c12349', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
23163
+ return (hAsync(Host, Object.assign({ key: '0c475f8e28e680e28e09317557795fc56e0835d8', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
23238
23164
  zIndex: `${40000 + this.overlayIndex}`,
23239
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '1f30f752a8cd8d6310d22ed4f515f39f8c14c05d', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '5d5be9f63b62499231a605bcaa6ef83c1efaeee1', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '001f8cd91d32c13116309d6bf452acee3fb2e529', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '40ce912631c9d3faf60110214a040e496a86a5c8', class: "loading-spinner" }, hAsync("ion-spinner", { key: '7954e5bef56f42c0b80ca420091a2db10484dd74', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '86355f8e1eae0c428e63a69c4de1b1090bef2ebc', tabindex: "0", "aria-hidden": "true" })));
23165
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'd7e88feb6df8edbc326a84d07b294618f7ce6adc', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'f9622f45b2d9e913c325b228a1e6ed03cf2b98e8', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'f4dfdce70c4515878b247d0cc116b5cec2cf79a4', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '6d4475e00c444eb3d217813ae8cc1a02a97b969e', class: "loading-spinner" }, hAsync("ion-spinner", { key: 'd9ad8dd56ec7677c18d06936c1a1b21a0a6a87a8', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: 'bd3159e18f33ec25d3480d47ce33fa7dfd1f1460', tabindex: "0", "aria-hidden": "true" })));
23240
23166
  }
23241
23167
  get el() { return getElement(this); }
23242
23168
  static get watchers() { return {
@@ -25044,104 +24970,6 @@ const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
25044
24970
  StatusBar.setStyle({ style: defaultStyle });
25045
24971
  };
25046
24972
 
25047
- const createSheetEnterAnimation = (opts) => {
25048
- const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
25049
- /**
25050
- * If the backdropBreakpoint is undefined, then the backdrop
25051
- * should always fade in. If the backdropBreakpoint came before the
25052
- * current breakpoint, then the backdrop should be fading in.
25053
- */
25054
- const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
25055
- let initialBackdrop = '0';
25056
- if (staticBackdropOpacity) {
25057
- initialBackdrop = 'calc(var(--backdrop-opacity)';
25058
- }
25059
- else if (shouldShowBackdrop) {
25060
- initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
25061
- }
25062
- const backdropAnimation = createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
25063
- if (shouldShowBackdrop) {
25064
- backdropAnimation
25065
- .beforeStyles({
25066
- 'pointer-events': 'none',
25067
- })
25068
- .afterClearStyles(['pointer-events']);
25069
- }
25070
- const wrapperAnimation = createAnimation('wrapperAnimation').keyframes([
25071
- { offset: 0, opacity: 1, transform: 'translateY(100%)' },
25072
- { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
25073
- ]);
25074
- /**
25075
- * This allows the content to be scrollable at any breakpoint.
25076
- */
25077
- const contentAnimation = !expandToScroll
25078
- ? createAnimation('contentAnimation').keyframes([
25079
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
25080
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
25081
- ])
25082
- : undefined;
25083
- return { wrapperAnimation, backdropAnimation, contentAnimation };
25084
- };
25085
- const createSheetLeaveAnimation = (opts) => {
25086
- const { currentBreakpoint, backdropBreakpoint } = opts;
25087
- /**
25088
- * Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
25089
- * is defined, so we need to account for that offset by figuring out
25090
- * what the current backdrop value should be.
25091
- */
25092
- const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
25093
- const defaultBackdrop = [
25094
- { offset: 0, opacity: backdropValue },
25095
- { offset: 1, opacity: 0 },
25096
- ];
25097
- const customBackdrop = [
25098
- { offset: 0, opacity: backdropValue },
25099
- { offset: backdropBreakpoint, opacity: 0 },
25100
- { offset: 1, opacity: 0 },
25101
- ];
25102
- const backdropAnimation = createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
25103
- const wrapperAnimation = createAnimation('wrapperAnimation').keyframes([
25104
- { offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
25105
- { offset: 1, opacity: 1, transform: `translateY(100%)` },
25106
- ]);
25107
- return { wrapperAnimation, backdropAnimation };
25108
- };
25109
-
25110
- const createEnterAnimation$2 = () => {
25111
- const backdropAnimation = createAnimation()
25112
- .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
25113
- .beforeStyles({
25114
- 'pointer-events': 'none',
25115
- })
25116
- .afterClearStyles(['pointer-events']);
25117
- const wrapperAnimation = createAnimation().keyframes([
25118
- { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
25119
- { offset: 1, opacity: 1, transform: `translateY(0px)` },
25120
- ]);
25121
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
25122
- };
25123
- /**
25124
- * Ionic Modal Enter Animation
25125
- */
25126
- const ionicEnterAnimation$3 = (baseEl, opts) => {
25127
- const { currentBreakpoint, expandToScroll } = opts;
25128
- const root = getElementRoot(baseEl);
25129
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$2();
25130
- backdropAnimation.addElement(root.querySelector('ion-backdrop'));
25131
- wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
25132
- // The content animation is only added if scrolling is enabled for
25133
- // all the breakpoints.
25134
- !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
25135
- backdropAnimation.duration(300).easing('ease-out');
25136
- wrapperAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
25137
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
25138
- const baseAnimation = createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
25139
- if (contentAnimation) {
25140
- baseAnimation.addAnimation(contentAnimation);
25141
- }
25142
- return baseAnimation;
25143
- };
25144
-
25145
24973
  const handleCanDismiss = async (el, animation) => {
25146
24974
  /**
25147
24975
  * If canDismiss is not a function
@@ -25568,6 +25396,69 @@ const calculateProgress = (el, deltaY) => {
25568
25396
  return Math.max(0, Math.min(1, roundedProgress));
25569
25397
  };
25570
25398
 
25399
+ const createSheetEnterAnimation = (opts) => {
25400
+ const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
25401
+ /**
25402
+ * If the backdropBreakpoint is undefined, then the backdrop
25403
+ * should always fade in. If the backdropBreakpoint came before the
25404
+ * current breakpoint, then the backdrop should be fading in.
25405
+ */
25406
+ const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
25407
+ let initialBackdrop = '0';
25408
+ if (staticBackdropOpacity) {
25409
+ initialBackdrop = 'calc(var(--backdrop-opacity)';
25410
+ }
25411
+ else if (shouldShowBackdrop) {
25412
+ initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
25413
+ }
25414
+ const backdropAnimation = createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
25415
+ if (shouldShowBackdrop) {
25416
+ backdropAnimation
25417
+ .beforeStyles({
25418
+ 'pointer-events': 'none',
25419
+ })
25420
+ .afterClearStyles(['pointer-events']);
25421
+ }
25422
+ const wrapperAnimation = createAnimation('wrapperAnimation').keyframes([
25423
+ { offset: 0, opacity: 1, transform: 'translateY(100%)' },
25424
+ { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
25425
+ ]);
25426
+ /**
25427
+ * This allows the content to be scrollable at any breakpoint.
25428
+ */
25429
+ const contentAnimation = !expandToScroll
25430
+ ? createAnimation('contentAnimation').keyframes([
25431
+ { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
25432
+ { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
25433
+ ])
25434
+ : undefined;
25435
+ return { wrapperAnimation, backdropAnimation, contentAnimation };
25436
+ };
25437
+ const createSheetLeaveAnimation = (opts) => {
25438
+ const { currentBreakpoint, backdropBreakpoint } = opts;
25439
+ /**
25440
+ * Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
25441
+ * is defined, so we need to account for that offset by figuring out
25442
+ * what the current backdrop value should be.
25443
+ */
25444
+ const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
25445
+ const defaultBackdrop = [
25446
+ { offset: 0, opacity: backdropValue },
25447
+ { offset: 1, opacity: 0 },
25448
+ ];
25449
+ const customBackdrop = [
25450
+ { offset: 0, opacity: backdropValue },
25451
+ { offset: backdropBreakpoint, opacity: 0 },
25452
+ { offset: 1, opacity: 0 },
25453
+ ];
25454
+ const backdropAnimation = createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
25455
+ const wrapperAnimation = createAnimation('wrapperAnimation').keyframes([
25456
+ { offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
25457
+ { offset: 1, opacity: 1, transform: `translateY(100%)` },
25458
+ ]);
25459
+ return { wrapperAnimation, backdropAnimation };
25460
+ };
25461
+
25571
25462
  const createEnterAnimation$1 = () => {
25572
25463
  const backdropAnimation = createAnimation()
25573
25464
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
@@ -25958,16 +25849,16 @@ const mdLeaveAnimation$2 = (baseEl, opts) => {
25958
25849
  return baseAnimation;
25959
25850
  };
25960
25851
 
25961
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, isIonicTheme, onDragStart, onDragMove, onDragEnd) => {
25852
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, staticBackdropOpacity, onDragStart, onDragMove, onDragEnd) => {
25962
25853
  // Defaults for the sheet swipe animation
25963
25854
  const defaultBackdrop = [
25964
25855
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
25965
- { offset: 1, opacity: isIonicTheme ? 'var(--backdrop-opacity)' : 0.01 },
25856
+ { offset: 1, opacity: staticBackdropOpacity ? 'var(--backdrop-opacity)' : 0.01 },
25966
25857
  ];
25967
25858
  const customBackdrop = [
25968
25859
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
25969
- { offset: 1 - backdropBreakpoint, opacity: isIonicTheme ? 'var(--backdrop-opacity)' : 0 },
25970
- { offset: 1, opacity: isIonicTheme ? 'var(--backdrop-opacity)' : 0 },
25860
+ { offset: 1 - backdropBreakpoint, opacity: staticBackdropOpacity ? 'var(--backdrop-opacity)' : 0 },
25861
+ { offset: 1, opacity: staticBackdropOpacity ? 'var(--backdrop-opacity)' : 0 },
25971
25862
  ];
25972
25863
  const SheetDefaults = {
25973
25864
  WRAPPER_KEYFRAMES: [
@@ -26290,9 +26181,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
26290
26181
  : step;
26291
26182
  offset = clamp(0.0001, processedStep, maxStep);
26292
26183
  animation.progressStep(offset);
26293
- const snapBreakpoint = isIonicTheme
26294
- ? calculateIonicSnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
26295
- : calculateSnapBreakpoint(detail.deltaY);
26184
+ const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
26296
26185
  const eventDetail = {
26297
26186
  currentY: detail.currentY,
26298
26187
  deltaY: detail.deltaY,
@@ -26303,9 +26192,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
26303
26192
  onDragMove(eventDetail);
26304
26193
  };
26305
26194
  const onEnd = (detail) => {
26306
- const snapBreakpoint = isIonicTheme
26307
- ? calculateIonicSnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
26308
- : calculateSnapBreakpoint(detail.deltaY);
26195
+ const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
26309
26196
  const eventDetail = {
26310
26197
  currentY: detail.currentY,
26311
26198
  deltaY: detail.deltaY,
@@ -26352,14 +26239,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
26352
26239
  */
26353
26240
  const shouldPreventDismiss = canDismiss && breakpoint === 0;
26354
26241
  const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
26355
- /**
26356
- * Detect snap-back behavior: when the snap target is the same as the current breakpoint,
26357
- * the user released before crossing the threshold to a new breakpoint.
26358
- * Apply different timing and easing for snap-back vs. snap-to-new.
26359
- */
26360
- const isSnapBack = snapToBreakpoint === currentBreakpoint;
26361
- const duration = isIonicTheme ? (isSnapBack ? 300 : 400) : 500;
26362
- const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
26363
26242
  const shouldRemainOpen = snapToBreakpoint !== 0;
26364
26243
  currentBreakpoint = 0;
26365
26244
  /**
@@ -26374,13 +26253,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
26374
26253
  backdropAnimation.keyframes([
26375
26254
  {
26376
26255
  offset: 0,
26377
- opacity: isIonicTheme
26256
+ opacity: staticBackdropOpacity
26378
26257
  ? 'var(--backdrop-opacity)'
26379
26258
  : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
26380
26259
  },
26381
26260
  {
26382
26261
  offset: 1,
26383
- opacity: isIonicTheme
26262
+ opacity: staticBackdropOpacity
26384
26263
  ? 'var(--backdrop-opacity)'
26385
26264
  : `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
26386
26265
  },
@@ -26400,12 +26279,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
26400
26279
  }
26401
26280
  animation.progressStep(0);
26402
26281
  }
26403
- /**
26404
- * Apply the appropriate easing curve for this snap behavior.
26405
- */
26406
- if (isIonicTheme) {
26407
- animation.easing(easing);
26408
- }
26409
26282
  /**
26410
26283
  * Gesture should remain disabled until the
26411
26284
  * snapping animation completes.
@@ -26495,7 +26368,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
26495
26368
  * be added every time onEnd runs.
26496
26369
  */
26497
26370
  }, { oneTimeCallback: true })
26498
- .progressEnd(1, 0, animated ? duration : 0);
26371
+ .progressEnd(1, 0, animated ? 500 : 0);
26499
26372
  });
26500
26373
  };
26501
26374
  /**
@@ -26526,50 +26399,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
26526
26399
  });
26527
26400
  return snapBreakpoint;
26528
26401
  };
26529
- /**
26530
- * Calculates the Ionic-specific snap breakpoint using velocity-based logic.
26531
- * This provides a more intuitive and responsive sheet behavior for the Ionic theme.
26532
- *
26533
- * Rules:
26534
- * 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
26535
- * 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
26536
- * 3. If dragged 40% below current snap point without fast upward flick, dismisses
26537
- * 4. Otherwise, falls back to position-based snap (closest breakpoint)
26538
- *
26539
- * @param deltaY The change in Y position since gesture started
26540
- * @param velocityY The velocity in pixels per millisecond
26541
- * @param currentY The current Y position of the gesture
26542
- * @returns The snap breakpoint value
26543
- */
26544
- const calculateIonicSnapBreakpoint = (deltaY, velocityY, currentY) => {
26545
- // Convert velocity from px/ms to px/s for easier threshold comparison
26546
- const velocityYPerSecond = velocityY * 1000;
26547
- // Calculate current progress (0 = fully closed, 1 = fully expanded)
26548
- const currentProgress = calculateProgress(currentY);
26549
- // Rule 1: Fast downward flick always dismisses
26550
- if (velocityYPerSecond > 500) {
26551
- return minBreakpoint;
26552
- }
26553
- // Rule 2: Fast upward flick moves to next breakpoint above
26554
- if (velocityYPerSecond < -400) {
26555
- // Find next breakpoint above current position
26556
- const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
26557
- // If no breakpoint above, stay at max breakpoint
26558
- return nextBreakpoint !== null && nextBreakpoint !== void 0 ? nextBreakpoint : maxBreakpoint;
26559
- }
26560
- // Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
26561
- if (minBreakpoint === 0 && currentBreakpoint > 0) {
26562
- // Calculate how far we've moved below the current snap point
26563
- const distanceBelowSnap = currentBreakpoint - currentProgress;
26564
- const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
26565
- // If dragged more than 40% below and not flicking up, dismiss
26566
- if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
26567
- return 0;
26568
- }
26569
- }
26570
- // Rule 4: Fallback to position-based snap (existing logic)
26571
- return calculateSnapBreakpoint(deltaY);
26572
- };
26573
26402
  /**
26574
26403
  * Calculates the progress of the swipe gesture.
26575
26404
  *
@@ -26818,7 +26647,7 @@ const clearSafeAreaOverrides = (hostEl) => {
26818
26647
  hostEl.style.removeProperty('--ion-safe-area-right');
26819
26648
  };
26820
26649
 
26821
- const modalIonicCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--box-shadow:var(--token-elevation-3, 0px 2px 7px 0px rgba(0, 0, 0, 0.05), 0px 6px 32px 0px rgba(0, 0, 0, 0.16));--backdrop-opacity:0.7;color:var(--token-text-default, var(--token-primitives-neutral-1200, #242424))}:host(.modal-round){--border-radius:var(--token-border-radius-1000, var(--token-scale-1000, 40px))}:host(.modal-soft){--border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}:host(.modal-rectangular){--border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}:host(.select-modal.modal-default){--max-height:45%;--max-width:calc(100% - (var(--token-space-400, var(--token-scale-400, 16px)) * 2));--min-height:340px}.modal-handle{right:0px;left:0px;top:var(--token-space-300, var(--token-scale-300, 12px));border-radius:var(--token-border-radius-100, var(--token-scale-100, 4px));width:var(--token-scale-1100, 44px);height:var(--token-scale-100, 4px);background-color:var(--token-primitives-neutral-300, #e0e0e0)}.modal-handle::before{-webkit-padding-start:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-start:var(--token-space-100, var(--token-scale-100, 4px));-webkit-padding-end:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-end:var(--token-space-100, var(--token-scale-100, 4px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + var(--token-scale-250, 10px)))}`;
26650
+ const modalIonicCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--box-shadow:var(--token-elevation-3, 0px 2px 7px 0px rgba(0, 0, 0, 0.05), 0px 6px 32px 0px rgba(0, 0, 0, 0.16));--backdrop-opacity:1;color:var(--token-text-default, var(--token-primitives-neutral-1200, #242424))}:host(.modal-round){--border-radius:var(--token-border-radius-1000, var(--token-scale-1000, 40px))}:host(.modal-soft){--border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}:host(.modal-rectangular){--border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}:host(.select-modal.modal-default){--max-height:45%;--max-width:calc(100% - (var(--token-space-400, var(--token-scale-400, 16px)) * 2));--min-height:340px}.modal-handle{right:0px;left:0px;top:var(--token-space-300, var(--token-scale-300, 12px));border-radius:var(--token-border-radius-100, var(--token-scale-100, 4px));width:var(--token-scale-1100, 44px);height:var(--token-scale-100, 4px);background-color:var(--token-primitives-neutral-300, #e0e0e0)}.modal-handle::before{-webkit-padding-start:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-start:var(--token-space-100, var(--token-scale-100, 4px));-webkit-padding-end:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-end:var(--token-space-100, var(--token-scale-100, 4px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + var(--token-scale-250, 10px)))}`;
26822
26651
 
26823
26652
  const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
26824
26653
 
@@ -27269,7 +27098,7 @@ class Modal {
27269
27098
  this.statusBarStyle = await StatusBar.getStyle();
27270
27099
  setCardStatusBarDark();
27271
27100
  }
27272
- await present(this, 'modalEnter', iosEnterAnimation$3, mdEnterAnimation$2, ionicEnterAnimation$3, {
27101
+ await present(this, 'modalEnter', iosEnterAnimation$3, mdEnterAnimation$2, {
27273
27102
  presentingEl: presentingElement,
27274
27103
  currentBreakpoint: this.initialBreakpoint,
27275
27104
  backdropBreakpoint: this.backdropBreakpoint,
@@ -27956,20 +27785,20 @@ class Modal {
27956
27785
  const isHandleCycle = handleBehavior === 'cycle';
27957
27786
  const shape = this.getShape();
27958
27787
  const isSheetModalWithHandle = isSheetModal && showHandle;
27959
- return (hAsync(Host, Object.assign({ key: '3011c8f49c1ccb6c20c01db35b59fe4f6e22ec01', "no-router": true,
27788
+ return (hAsync(Host, Object.assign({ key: '4b323edb66d28260c34b31fd2af8f4ae53a7ef90', "no-router": true,
27960
27789
  // Allow the modal to be navigable when the handle is focusable
27961
27790
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
27962
27791
  zIndex: `${20000 + this.overlayIndex}`,
27963
- }, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: 'ab99fb4ff1b335b06d5676890012dfe3cd1a1a01', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && hAsync("div", { key: '95d4c79c4455c6a5ae6d581fa9dfaabdbee8c567', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '2d7d2406cdb986c69ef52708d33eca67d8a877f8',
27792
+ }, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '6059e348dc3d020f995577dde1b7949bdb2c0f2f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && hAsync("div", { key: '5a08a99dfc3de51ac7516fc76fdba3672f84db71', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'a7a841a5b2f740fbf576b82b82782aa235b701ee',
27964
27793
  /*
27965
27794
  role and aria-modal must be used on the
27966
27795
  same element. They must also be set inside the
27967
27796
  shadow DOM otherwise ion-button will not be highlighted
27968
27797
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
27969
27798
  */
27970
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'ccec8bfc314763bd6dd868b69fbfdc085f5957c9', class: "modal-handle",
27799
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'ca5567e9ab3e9e80b41314d396106faf2da09ffe', class: "modal-handle",
27971
27800
  // Prevents the handle from receiving keyboard focus when it does not cycle
27972
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '38469e3447b46983783627d697e12cadcef614fa', onSlotchange: this.onSlotChange }))));
27801
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: 'da5471ea4292166798d3f949e79e7b3e55a0e83f', onSlotchange: this.onSlotChange }))));
27973
27802
  }
27974
27803
  get el() { return getElement(this); }
27975
27804
  static get watchers() { return {
@@ -29557,30 +29386,6 @@ let Picker$1 = class Picker {
29557
29386
  }; }
29558
29387
  };
29559
29388
 
29560
- /**
29561
- * Ionic Picker Enter Animation
29562
- */
29563
- const ionicEnterAnimation$2 = (baseEl) => {
29564
- const baseAnimation = createAnimation();
29565
- const backdropAnimation = createAnimation();
29566
- const wrapperAnimation = createAnimation();
29567
- backdropAnimation
29568
- .addElement(baseEl.querySelector('ion-backdrop'))
29569
- .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
29570
- .beforeStyles({
29571
- 'pointer-events': 'none',
29572
- })
29573
- .afterClearStyles(['pointer-events']);
29574
- wrapperAnimation
29575
- .addElement(baseEl.querySelector('.picker-wrapper'))
29576
- .fromTo('transform', 'translateY(100%)', 'translateY(0%)');
29577
- return baseAnimation
29578
- .addElement(baseEl)
29579
- .easing('cubic-bezier(.36,.66,.04,1)')
29580
- .duration(400)
29581
- .addAnimation([backdropAnimation, wrapperAnimation]);
29582
- };
29583
-
29584
29389
  /**
29585
29390
  * iOS Picker Enter Animation
29586
29391
  */
@@ -29751,7 +29556,7 @@ class Picker {
29751
29556
  async present() {
29752
29557
  const unlock = await this.lockController.lock();
29753
29558
  await this.delegateController.attachViewToDom();
29754
- await present(this, 'pickerEnter', iosEnterAnimation$2, iosEnterAnimation$2, ionicEnterAnimation$2, undefined);
29559
+ await present(this, 'pickerEnter', iosEnterAnimation$2, iosEnterAnimation$2, undefined);
29755
29560
  if (this.duration > 0) {
29756
29561
  this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
29757
29562
  }
@@ -29836,11 +29641,11 @@ class Picker {
29836
29641
  render() {
29837
29642
  const { htmlAttributes } = this;
29838
29643
  const theme = getIonTheme(this);
29839
- return (hAsync(Host, Object.assign({ key: '8db0e1a6cb7697efcc5d5a4a80f3dc3435760c1d', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
29644
+ return (hAsync(Host, Object.assign({ key: 'efcc823fad9cb37c1379bef4f4b84c6461f3a3a6', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
29840
29645
  zIndex: `${20000 + this.overlayIndex}`,
29841
29646
  }, class: Object.assign({ [theme]: true,
29842
29647
  // Used internally for styling
29843
- [`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: 'c32c446147dff1e8b53fcf6885bdaa504d134d06', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '87c9eeeed6869569b0da65d720289f14f76d0cba', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '17a1250e5ce1dc176a39d7480587c56aa11f0247', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '4d4043aae3373d2f271e8e1320ba72f726eb2338', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '954edc5d83380d04025ec8029194ad0f9c6778ff', class: "picker-columns" }, hAsync("div", { key: 'f3c7f7bbb784b8076eebe984e7dd057d78c9824f', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: '63dcf6a252024984cb3eaca133805343b324fdb1', class: "picker-below-highlight" }))), hAsync("div", { key: 'e07eb1a59edf5d94fc487114c2d8b923fd768696', tabindex: "0", "aria-hidden": "true" })));
29648
+ [`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '3f44bf34e039210ae149c590c393ee9f7fb85da0', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'c2a51a89c525b1a22cbc8583cd30f41c3c356d4f', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '23837ffe309d0aad9b8ea09d7ac94d21040ef0d7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '91ba7e553d570768142715ded4bcc27fceedbce4', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '22661cafeb555f1435ec1e0a122404a48136095b', class: "picker-columns" }, hAsync("div", { key: '5f3db32468b8c60f63c70d81a27b18cce6f2e259', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: '1bae6b170125b1671a480506ba73636b42b65909', class: "picker-below-highlight" }))), hAsync("div", { key: '91beb94ce537122fbd6cd0c2bd3c00f908d0fefe', tabindex: "0", "aria-hidden": "true" })));
29844
29649
  }
29845
29650
  get el() { return getElement(this); }
29846
29651
  static get watchers() { return {
@@ -31793,92 +31598,6 @@ const shouldShowArrow = (side, didAdjustBounds = false, ev, trigger) => {
31793
31598
  return true;
31794
31599
  };
31795
31600
 
31796
- const POPOVER_MD_BODY_PADDING$1 = 12;
31797
- /**
31798
- * Ionic Popover Enter Animation
31799
- */
31800
- // TODO(FW-2832): types
31801
- const ionicEnterAnimation$1 = (baseEl, opts) => {
31802
- var _a;
31803
- const { event: ev, size, trigger, reference, side, align } = opts;
31804
- const doc = baseEl.ownerDocument;
31805
- const isRTL = doc.dir === 'rtl';
31806
- const bodyWidth = doc.defaultView.innerWidth;
31807
- const bodyHeight = doc.defaultView.innerHeight;
31808
- const root = getElementRoot(baseEl);
31809
- const contentEl = root.querySelector('.popover-content');
31810
- const referenceSizeEl = trigger || ((_a = ev === null || ev === void 0 ? void 0 : ev.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) || (ev === null || ev === void 0 ? void 0 : ev.target);
31811
- const { contentWidth, contentHeight } = getPopoverDimensions(size, contentEl, referenceSizeEl);
31812
- const defaultPosition = {
31813
- top: bodyHeight / 2 - contentHeight / 2,
31814
- left: bodyWidth / 2 - contentWidth / 2,
31815
- originX: isRTL ? 'right' : 'left',
31816
- originY: 'top',
31817
- };
31818
- const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev);
31819
- const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING$1;
31820
- // MD mode now applies safe-area insets (previously passed 0, ignoring all safe areas).
31821
- // This is needed for Android edge-to-edge (API 36+) where system bars overlap content.
31822
- const safeArea = size === 'cover' ? { top: 0, bottom: 0, left: 0, right: 0 } : getSafeAreaInsets(doc);
31823
- const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, checkSafeAreaTop, checkSafeAreaBottom, addPopoverBottomClass, } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeArea, results.originX, results.originY, results.referenceCoordinates);
31824
- const safeAreaLeftCalc = ' + var(--ion-safe-area-left, 0px)';
31825
- const safeAreaRightCalc = ' - var(--ion-safe-area-right, 0px)';
31826
- let leftValue = `${left}px`;
31827
- if (checkSafeAreaLeft) {
31828
- leftValue = `${left}px${safeAreaLeftCalc}`;
31829
- }
31830
- if (checkSafeAreaRight) {
31831
- leftValue = `${left}px${safeAreaRightCalc}`;
31832
- }
31833
- let topValue = `${top}px`;
31834
- if (checkSafeAreaTop) {
31835
- topValue = `${top}px + var(--ion-safe-area-top, 0px)`;
31836
- }
31837
- const baseAnimation = createAnimation();
31838
- const backdropAnimation = createAnimation();
31839
- const wrapperAnimation = createAnimation();
31840
- const contentAnimation = createAnimation();
31841
- const viewportAnimation = createAnimation();
31842
- backdropAnimation
31843
- .addElement(root.querySelector('ion-backdrop'))
31844
- .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
31845
- .beforeStyles({
31846
- 'pointer-events': 'none',
31847
- })
31848
- .afterClearStyles(['pointer-events']);
31849
- wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).duration(150).fromTo('opacity', 0.01, 1);
31850
- contentAnimation
31851
- .addElement(contentEl)
31852
- .beforeStyles({
31853
- top: `calc(${topValue} + var(--offset-y, 0px))`,
31854
- left: `calc(${leftValue} + var(--offset-x, 0px))`,
31855
- 'transform-origin': `${originY} ${originX}`,
31856
- })
31857
- .beforeAddWrite(() => {
31858
- if (bottom !== undefined) {
31859
- let bottomValue = `${bottom}px`;
31860
- if (checkSafeAreaBottom) {
31861
- bottomValue = `${bottom}px + var(--ion-safe-area-bottom, 0px)`;
31862
- }
31863
- contentEl.style.setProperty('bottom', `calc(${bottomValue})`);
31864
- }
31865
- })
31866
- .fromTo('transform', 'scale(0.8)', 'scale(1)');
31867
- viewportAnimation.addElement(root.querySelector('.popover-viewport')).fromTo('opacity', 0.01, 1);
31868
- return baseAnimation
31869
- .easing('cubic-bezier(0.36,0.66,0.04,1)')
31870
- .duration(300)
31871
- .beforeAddWrite(() => {
31872
- if (size === 'cover') {
31873
- baseEl.style.setProperty('--width', `${contentWidth}px`);
31874
- }
31875
- if (addPopoverBottomClass) {
31876
- baseEl.classList.add('popover-bottom');
31877
- }
31878
- })
31879
- .addAnimation([backdropAnimation, wrapperAnimation, contentAnimation, viewportAnimation]);
31880
- };
31881
-
31882
31601
  const POPOVER_IOS_BODY_PADDING = 5;
31883
31602
  /**
31884
31603
  * Minimum edge margin for iOS popovers ensures visual spacing from screen
@@ -32494,7 +32213,7 @@ class Popover {
32494
32213
  else if (!this.keepContentsMounted) {
32495
32214
  await waitForMount();
32496
32215
  }
32497
- await present(this, 'popoverEnter', iosEnterAnimation$1, mdEnterAnimation$1, ionicEnterAnimation$1, {
32216
+ await present(this, 'popoverEnter', iosEnterAnimation$1, mdEnterAnimation$1, {
32498
32217
  event: event || this.event,
32499
32218
  size: this.size,
32500
32219
  trigger: this.triggerEl,
@@ -32603,9 +32322,9 @@ class Popover {
32603
32322
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
32604
32323
  const desktop = isPlatform('desktop');
32605
32324
  const enableArrow = arrow && !parentPopover;
32606
- return (hAsync(Host, Object.assign({ key: '398b4c72cfea89fb743d427e3c2b48507649aff1', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
32325
+ return (hAsync(Host, Object.assign({ key: 'cc70f9b037b16ea78b999916106a1062ceb74cb6', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
32607
32326
  zIndex: `${20000 + this.overlayIndex}`,
32608
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '6baec0b33665557c55425ffad9c6b31741c25651', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '6ce3a61164f478560cc45c618fc5b7f62b491ecd', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: 'a36815fc0417a10fb350429909a79cb4025baf3a', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: 'cec3436cdb2cb6fa839c37abb3cb6daf7de453de', class: "popover-content", part: "content" }, hAsync("slot", { key: '5405fb03bab017acd7fa09d00cfe1b7cfbdfae92' })))));
32327
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: 'e641e7ee28cbd54911ec3f8c0bfd9d7e3f2e85cd', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '750494585c3524b27e42d79f02e729f3eff9e660', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '2e49b4ad1287e31a3cdbfebc91120405a998dc95', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '306586776e74acab787b2a96433553005bca580d', class: "popover-content", part: "content" }, hAsync("slot", { key: '0273c0975cd7dc37db5cfa0b91d418867a77c4d8' })))));
32609
32328
  }
32610
32329
  get el() { return getElement(this); }
32611
32330
  static get watchers() { return {
@@ -33282,7 +33001,7 @@ function roundToMaxDecimalPlaces(n, ...references) {
33282
33001
  return Number(n.toFixed(maxPlaces));
33283
33002
  }
33284
33003
 
33285
- const rangeIonicCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:current-color(base);color:current-color(contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}.range-knob-handle{inset-inline-start:0}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}.range-bar-container{inset-inline-start:0}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host{--knob-border-radius:var(--token-border-radius-full, 999px);--knob-background:var(--token-bg-input-default, var(--token-primitives-base-white, #ffffff));--knob-box-shadow:none;--knob-size:var(--token-scale-600, 24px);--knob-handle-size:var(--token-scale-1100, 44px);--bar-height:var(--token-scale-200, 8px);--bar-background:var(--token-bg-neutral-subtle-default, var(--token-primitives-neutral-200, #eae9e9));--bar-background-active:var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));--bar-border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px));--height:var(--token-scale-1100, 44px);font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-regular, 400);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none;z-index:var(--token-z-index-100, 100)}:host(.range-item-start-adjustment){-webkit-padding-start:var(--token-space-600, var(--token-scale-600, 24px));padding-inline-start:var(--token-space-600, var(--token-scale-600, 24px))}:host(.range-item-end-adjustment){-webkit-padding-end:var(--token-space-600, var(--token-scale-600, 24px));padding-inline-end:var(--token-space-600, var(--token-scale-600, 24px))}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted(ion-icon[slot]){font-size:var(--token-font-size-600, 1.5rem)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-end:var(--token-space-400, var(--token-scale-400, 16px));margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-start:var(--token-space-400, var(--token-scale-400, 16px));-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted([slot=label]){max-width:var(--token-scale-5000, 200px)}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--token-scale-600, 24px))}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:calc(var(--token-space-200, var(--token-scale-200, 8px)) + var(--token-font-size-300, 0.75rem))}.range-bar.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar.range-bar-active.has-ticks{border-radius:0;-webkit-margin-start:calc(-1 * var(--token-scale-100, 4px) * 0.5);margin-inline-start:calc(-1 * var(--token-scale-100, 4px) * 0.5);-webkit-margin-end:calc(-1 * var(--token-scale-100, 4px) * 0.5);margin-inline-end:calc(-1 * var(--token-scale-100, 4px) * 0.5)}.range-tick{-webkit-margin-start:calc(var(--token-scale-100, 4px) * -0.5);margin-inline-start:calc(var(--token-scale-100, 4px) * -0.5);border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px));position:absolute;top:calc(var(--height) * 0.5 - var(--token-scale-300, 12px) * 0.5);width:var(--token-scale-100, 4px);height:var(--token-scale-300, 12px);background:var(--token-primitives-neutral-100, #f3f3f3);pointer-events:none}.range-tick-active{background:var(--bar-background-active)}.range-pin{padding-bottom:var(--token-space-100, var(--token-scale-100, 4px));min-width:var(--token-scale-700, 28px);-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);background:transparent;color:var(--token-text-default, var(--token-primitives-neutral-1200, #242424));font-size:var(--token-font-size-300, 0.75rem);text-align:center}.range-knob{border-width:var(--token-border-size-025, var(--token-scale-025, 1px));border-style:var(--token-border-style-solid, solid);border-color:var(--token-border-primary, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef))));-webkit-box-sizing:border-box;box-sizing:border-box}:host(.range-disabled){--bar-background:var(--token-bg-neutral-subtle-default, var(--token-primitives-neutral-200, #eae9e9))}:host(.range-disabled) .range-knob{border-color:var(--token-border-input-default, var(--token-primitives-neutral-600, #8c8c8c));background:var(--token-bg-input-disabled, var(--token-primitives-neutral-100, #f3f3f3))}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-end:var(--token-space-400, var(--token-scale-400, 16px));margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-start:var(--token-space-400, var(--token-scale-400, 16px));-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-end:var(--token-space-400, var(--token-scale-400, 16px));margin-top:0;margin-bottom:0}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:var(--token-space-400, var(--token-scale-400, 16px));max-width:133.3333333333%}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:var(--token-space-250, var(--token-scale-250, 10px));margin-bottom:var(--token-space-400, var(--token-scale-400, 16px))}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:var(--token-space-0, var(--token-scale-0, 0px))}.range-knob-handle.ion-focused .range-knob{outline-offset:var(--token-border-size-050, var(--token-scale-050, 2px));outline:var(--token-border-size-050, var(--token-scale-050, 2px)) var(--token-border-style-solid, solid) var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7))}.range-knob-handle.ion-activated .range-knob,.range-knob-handle.range-knob-pressed .range-knob{background:var(--token-bg-input-press, var(--token-primitives-neutral-200, #eae9e9))}`;
33004
+ const rangeIonicCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:current-color(base);color:current-color(contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}.range-knob-handle{inset-inline-start:0}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}.range-bar-container{inset-inline-start:0}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host{--knob-border-radius:var(--token-border-radius-full, 999px);--knob-background:var(--token-bg-input-default, var(--token-primitives-base-white, #ffffff));--knob-box-shadow:none;--knob-size:var(--token-scale-600, 24px);--knob-handle-size:var(--token-scale-1100, 44px);--bar-height:var(--token-scale-200, 8px);--bar-background:var(--token-bg-neutral-subtle-default, var(--token-primitives-neutral-200, #eae9e9));--bar-background-active:var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));--bar-border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px));--height:var(--token-scale-1100, 44px);font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-regular, 400);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none;z-index:var(--token-z-index-100, 100)}:host(.range-item-start-adjustment){-webkit-padding-start:var(--token-space-600, var(--token-scale-600, 24px));padding-inline-start:var(--token-space-600, var(--token-scale-600, 24px))}:host(.range-item-end-adjustment){-webkit-padding-end:var(--token-space-600, var(--token-scale-600, 24px));padding-inline-end:var(--token-space-600, var(--token-scale-600, 24px))}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted(ion-icon[slot]){font-size:var(--token-font-size-600, 1.5rem)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-end:var(--token-space-400, var(--token-scale-400, 16px));margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-start:var(--token-space-400, var(--token-scale-400, 16px));-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted([slot=label]){max-width:var(--token-scale-5000, 200px)}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--token-scale-600, 24px))}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:calc(var(--token-space-200, var(--token-scale-200, 8px)) + var(--token-font-size-300, 0.75rem))}.range-bar.has-ticks{border-radius:0}.range-bar.range-bar-active.has-ticks{-webkit-margin-start:calc(-1 * var(--token-scale-100, 4px) * 0.5);margin-inline-start:calc(-1 * var(--token-scale-100, 4px) * 0.5);-webkit-margin-end:calc(-1 * var(--token-scale-100, 4px) * 0.5);margin-inline-end:calc(-1 * var(--token-scale-100, 4px) * 0.5)}.range-bar.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-tick{-webkit-margin-start:calc(var(--token-scale-100, 4px) * -0.5);margin-inline-start:calc(var(--token-scale-100, 4px) * -0.5);border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px));position:absolute;top:calc(var(--height) * 0.5 - var(--token-scale-400, 16px) * 0.5);width:var(--token-scale-050, 2px);height:var(--token-scale-400, 16px);background:var(--bar-background);pointer-events:none}.range-tick-active{background:var(--bar-background-active)}.range-pin{padding-bottom:var(--token-space-100, var(--token-scale-100, 4px));min-width:var(--token-scale-700, 28px);-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);background:transparent;color:var(--token-text-default, var(--token-primitives-neutral-1200, #242424));font-size:var(--token-font-size-300, 0.75rem);text-align:center}.range-knob{border-width:var(--token-border-size-025, var(--token-scale-025, 1px));border-style:var(--token-border-style-solid, solid);border-color:var(--token-border-primary, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef))));-webkit-box-sizing:border-box;box-sizing:border-box}:host(.range-disabled){--bar-background:var(--token-bg-neutral-subtle-default, var(--token-primitives-neutral-200, #eae9e9))}:host(.range-disabled) .range-knob{border-color:var(--token-border-input-default, var(--token-primitives-neutral-600, #8c8c8c));background:var(--token-bg-input-disabled, var(--token-primitives-neutral-100, #f3f3f3))}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-end:var(--token-space-400, var(--token-scale-400, 16px));margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-start:var(--token-space-400, var(--token-scale-400, 16px));-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-end:var(--token-space-400, var(--token-scale-400, 16px));margin-top:0;margin-bottom:0}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:var(--token-space-400, var(--token-scale-400, 16px));max-width:133.3333333333%}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:var(--token-space-250, var(--token-scale-250, 10px));margin-bottom:var(--token-space-400, var(--token-scale-400, 16px))}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:var(--token-space-0, var(--token-scale-0, 0px))}.range-knob-handle.ion-focused .range-knob{outline-offset:var(--token-border-size-050, var(--token-scale-050, 2px));outline:var(--token-border-size-050, var(--token-scale-050, 2px)) var(--token-border-style-solid, solid) var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7))}.range-knob-handle.ion-activated .range-knob,.range-knob-handle.range-knob-pressed .range-knob{background:var(--token-bg-input-press, var(--token-primitives-neutral-200, #eae9e9))}`;
33286
33005
 
33287
33006
  const rangeIosCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:current-color(base);color:current-color(contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}.range-knob-handle{inset-inline-start:0}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}.range-bar-container{inset-inline-start:0}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host{--knob-handle-size:calc(var(--knob-size) * 2);font-family:var(--ion-font-family, inherit);z-index:2}::slotted(ion-icon[slot]){font-size:24px}::slotted([slot=label]){max-width:200px}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0px 0.5px 4px rgba(0, 0, 0, 0.12), 0px 6px 13px rgba(0, 0, 0, 0.12);--knob-size:26px;--bar-height:4px;--bar-background:var(--ion-color-step-900, var(--ion-background-color-step-900, #e6e6e6));--bar-background-active:var(--ion-color-primary, #0054e9);--bar-border-radius:2px;--height:42px}:host(.range-item-start-adjustment){-webkit-padding-start:24px;padding-inline-start:24px}:host(.range-item-end-adjustment){-webkit-padding-end:24px;padding-inline-end:24px}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:calc(8px + 0.75rem)}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:calc(8px + 0.75rem)}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active.has-ticks{border-radius:0;-webkit-margin-start:-2px;margin-inline-start:-2px;-webkit-margin-end:-2px;margin-inline-end:-2px}.range-tick{-webkit-margin-start:-2px;margin-inline-start:-2px;border-radius:0;position:absolute;top:17px;width:4px;height:8px;background:var(--ion-color-step-900, var(--ion-background-color-step-900, #e6e6e6));pointer-events:none}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 100%, 0) scale(0.01);transform:translate3d(0, 100%, 0) scale(0.01);-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:0.75rem;text-align:center}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, calc(-100% + 11px), 0) scale(1);transform:translate3d(0, calc(-100% + 11px), 0) scale(1)}:host(.range-disabled){opacity:0.3}`;
33288
33007
 
@@ -33970,7 +33689,10 @@ class Range {
33970
33689
  } }, ticks.map((tick) => (hAsync("div", { style: tickStyle(tick), role: "presentation", class: {
33971
33690
  'range-tick': true,
33972
33691
  'range-tick-active': tick.active,
33973
- }, part: tick.active ? 'tick-active' : 'tick' }))), hAsync("div", { class: "range-bar-container" }, hAsync("div", { class: "range-bar", role: "presentation", part: "bar" }), hAsync("div", { class: {
33692
+ }, part: tick.active ? 'tick-active' : 'tick' }))), hAsync("div", { class: "range-bar-container" }, hAsync("div", { class: {
33693
+ 'range-bar': true,
33694
+ 'has-ticks': ticks.length > 0,
33695
+ }, role: "presentation", part: "bar" }), hAsync("div", { class: {
33974
33696
  'range-bar': true,
33975
33697
  'range-bar-active': true,
33976
33698
  'has-ticks': ticks.length > 0,
@@ -34048,7 +33770,7 @@ class Range {
34048
33770
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
34049
33771
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
34050
33772
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
34051
- return (hAsync(Host, { key: 'a6262069e7dcc01413f9ade5ad4972127c2dd523', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
33773
+ return (hAsync(Host, { key: '1b8ca217fa6965fc038fb4ca8f0bc9142b3893ad', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
34052
33774
  [theme]: true,
34053
33775
  'in-item': inItem,
34054
33776
  'range-disabled': disabled,
@@ -34062,10 +33784,10 @@ class Range {
34062
33784
  'range-item-end-adjustment': needsEndAdjustment,
34063
33785
  'range-value-min': valueAtMin,
34064
33786
  'range-value-max': valueAtMax,
34065
- }) }, hAsync("label", { key: 'e39421b320cc84f9f42840bd4d9d8d2bb241518f', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '818f6e03be2264327e5b31e4b129f6493b9268dd', class: {
33787
+ }) }, hAsync("label", { key: '98b02130c9bb5a9ba6557be28f1ac09be0d10806', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '570083103b51b335c805672918d69e997dc30e66', class: {
34066
33788
  'label-text-wrapper': true,
34067
33789
  'label-text-wrapper-hidden': !hasLabel,
34068
- }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '8eb7dd434857a6ffc4e65db43876c61f6fd88cc8', class: "native-wrapper" }, hAsync("slot", { key: 'bf0d3de82b50057f3e53001f66dc9da815b52ed3', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '46db83c94be79b8c4bf37eeab0531723a8f2b237', name: "end" })))));
33790
+ }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '1e3233a747d0adca6611234d0675ce049ef979cf', class: "native-wrapper" }, hAsync("slot", { key: '4f06a217592a98d889420468eb282ba8652ef1cc', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '4286279dbadf0e92bffbd5e98d5e36cba095be3c', name: "end" })))));
34069
33791
  }
34070
33792
  get el() { return getElement(this); }
34071
33793
  static get watchers() { return {
@@ -40189,7 +39911,7 @@ class Tab {
40189
39911
  }; }
40190
39912
  }
40191
39913
 
40192
- const tabBarIonicCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border-top:var(--border);background:var(--background);color:var(--color);text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host(.tab-bar-full){width:auto;contain:strict;padding-bottom:var(--ion-safe-area-bottom, 0);padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);}:host([slot=top].tab-bar-full){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0}:host{--background:var(--ion-tab-bar-background, var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff)));--background-activated:var(--ion-tab-bar-background-activated, var(--token-bg-select-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc))));--background-focused:var(--ion-tab-bar-background-focused, transparent);--border:var(--token-border-size-0, var(--token-scale-0, 0px)) var(--token-border-style-solid, solid) var(--ion-tab-bar-border-color, transparent);--color:var(--ion-tab-bar-color, var(--token-primitives-neutral-800, #626262));--color-selected:var(--ion-tab-bar-color-selected, var(--token-text-primary, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))));-ms-flex-pack:unset;justify-content:unset;max-width:100%;min-height:calc(var(--token-scale-1400, 56px) - var(--token-space-100, var(--token-scale-100, 4px)) * 2);gap:var(--token-space-300, var(--token-scale-300, 12px));-webkit-box-shadow:var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));box-shadow:var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));overflow:auto hidden;z-index:10}:host(.tab-bar-full){padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-bottom, 0));padding-right:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-right, 0));padding-left:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-left, 0));}:host([slot=top].tab-bar-full){padding-top:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-top, 0));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}:host(.tab-bar-compact){-webkit-padding-start:var(--token-space-400, var(--token-scale-400, 16px));padding-inline-start:var(--token-space-400, var(--token-scale-400, 16px));-webkit-padding-end:var(--token-space-400, var(--token-scale-400, 16px));padding-inline-end:var(--token-space-400, var(--token-scale-400, 16px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px));position:absolute;-ms-flex-item-align:center;align-self:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;contain:content}:host([slot=top].tab-bar-compact){top:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-top, 0))}:host([slot=bottom].tab-bar-compact){bottom:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-bottom, 0))}:host(.tab-bar-soft){border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}:host(.tab-bar-round){border-radius:var(--token-border-radius-full, 999px)}:host(.tab-bar-rectangular){border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}`;
39914
+ const tabBarIonicCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border-top:var(--border);background:var(--background);color:var(--color);text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host(.tab-bar-full){width:auto;contain:strict;padding-bottom:var(--ion-safe-area-bottom, 0);padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);}:host([slot=top].tab-bar-full){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0}:host{--background:var(--ion-tab-bar-background, var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff)));--background-activated:var(--ion-tab-bar-background-activated, var(--token-bg-select-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc))));--background-focused:var(--ion-tab-bar-background-focused, transparent);--border:var(--token-border-size-0, var(--token-scale-0, 0px)) var(--token-border-style-solid, solid) var(--ion-tab-bar-border-color, transparent);--color:var(--ion-tab-bar-color, var(--token-primitives-neutral-800, #626262));--color-selected:var(--ion-tab-bar-color-selected, var(--token-text-primary, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))));-ms-flex-pack:unset;justify-content:unset;max-width:100%;min-height:calc(var(--token-scale-1400, 56px) - var(--token-space-100, var(--token-scale-100, 4px)) * 2);gap:var(--token-space-300, var(--token-scale-300, 12px));-webkit-box-shadow:var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));box-shadow:var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));overflow:auto hidden;z-index:10}:host(.tab-bar-full){padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-bottom, 0));padding-right:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-right, 0));padding-left:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-left, 0));}:host([slot=top].tab-bar-full){padding-top:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-top, 0));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}:host(.tab-bar-compact){-webkit-padding-start:var(--token-space-400, var(--token-scale-400, 16px));padding-inline-start:var(--token-space-400, var(--token-scale-400, 16px));-webkit-padding-end:var(--token-space-400, var(--token-scale-400, 16px));padding-inline-end:var(--token-space-400, var(--token-scale-400, 16px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px));position:absolute;-ms-flex-item-align:center;align-self:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;contain:content}:host([slot=top].tab-bar-compact){top:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-top, 0))}:host([slot=bottom].tab-bar-compact){bottom:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-bottom, 0))}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(255, 255, 255, 0.6);-webkit-backdrop-filter:var(--tab-bar-backdrop-filter, blur(12px));backdrop-filter:var(--tab-bar-backdrop-filter, blur(12px))}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){--background:transparent}}:host(.tab-bar-soft){border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}:host(.tab-bar-round){border-radius:var(--token-border-radius-full, 999px)}:host(.tab-bar-rectangular){border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}`;
40193
39915
 
40194
39916
  const tabBarIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border-top:var(--border);background:var(--background);color:var(--color);text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host(.tab-bar-full){width:auto;contain:strict;padding-bottom:var(--ion-safe-area-bottom, 0);padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);}:host([slot=top].tab-bar-full){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0}:host{z-index:10}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host{--background:var(--ion-tab-bar-background, var(--ion-color-step-50, var(--ion-background-color-step-50, #f7f7f7)));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:0.55px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.2)))));--color:var(--ion-tab-bar-color, var(--ion-color-step-600, var(--ion-text-color-step-400, #666666)));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #0054e9));height:50px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(210%) blur(20px);backdrop-filter:saturate(210%) blur(20px)}:host(.ion-color.tab-bar-translucent){background:rgba(var(--ion-color-base-rgb), 0.8)}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.6)}}`;
40195
39917
 
@@ -41460,34 +41182,6 @@ const getOffsetForMiddlePosition = (toastHeight, wrapperHeight) => {
41460
41182
  return Math.floor(toastHeight / 2 - wrapperHeight / 2);
41461
41183
  };
41462
41184
 
41463
- /**
41464
- * Ionic Toast Enter Animation
41465
- */
41466
- const ionicEnterAnimation = (baseEl, opts) => {
41467
- const baseAnimation = createAnimation();
41468
- const wrapperAnimation = createAnimation();
41469
- const { position, top, bottom } = opts;
41470
- const root = getElementRoot(baseEl);
41471
- const wrapperEl = root.querySelector('.toast-wrapper');
41472
- wrapperAnimation.addElement(wrapperEl);
41473
- switch (position) {
41474
- case 'top':
41475
- wrapperEl.style.setProperty('transform', `translateY(${top})`);
41476
- wrapperAnimation.fromTo('opacity', 0.01, 1);
41477
- break;
41478
- case 'middle':
41479
- const topPosition = getOffsetForMiddlePosition(baseEl.clientHeight, wrapperEl.clientHeight);
41480
- wrapperEl.style.top = `${topPosition}px`;
41481
- wrapperAnimation.fromTo('opacity', 0.01, 1);
41482
- break;
41483
- default:
41484
- wrapperEl.style.setProperty('transform', `translateY(${bottom})`);
41485
- wrapperAnimation.fromTo('opacity', 0.01, 1);
41486
- break;
41487
- }
41488
- return baseAnimation.easing('cubic-bezier(.36,.66,.04,1)').duration(400).addAnimation(wrapperAnimation);
41489
- };
41490
-
41491
41185
  /**
41492
41186
  * iOS Toast Enter Animation
41493
41187
  */
@@ -42057,7 +41751,7 @@ class Toast {
42057
41751
  * in the dismiss animation.
42058
41752
  */
42059
41753
  this.lastPresentedPosition = animationPosition;
42060
- await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
41754
+ await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, {
42061
41755
  position,
42062
41756
  top: animationPosition.top,
42063
41757
  bottom: animationPosition.bottom,
@@ -42272,9 +41966,9 @@ class Toast {
42272
41966
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
42273
41967
  printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
42274
41968
  }
42275
- return (hAsync(Host, Object.assign({ key: 'e83590dd87745fc9579319513eb22c0db5d3e53f', tabindex: "-1" }, this.htmlAttributes, { style: {
41969
+ return (hAsync(Host, Object.assign({ key: '3507eaa18a5559a9052d34db180e176952dc466f', tabindex: "-1" }, this.htmlAttributes, { style: {
42276
41970
  zIndex: `${60000 + this.overlayIndex}`,
42277
- }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: 'b4c4d4565138cc76ffa9fd5cebc4e489b82cea55', class: wrapperClass, part: "wrapper" }, hAsync("div", { key: '14228286e4c4f6738b14816938e1edb75014f322', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '3403984f86018dedb3cc32b3bd5541a6d0db154f', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '0965413313935e3fe90ce0789d2d029af91f3124', class: "toast-content", part: "content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
41971
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '195eb90ccd82a13254e843b80be0f380325accb4', class: wrapperClass, part: "wrapper" }, hAsync("div", { key: 'd6072aa4a4848d72e68e04a7842d3f769f844ffc', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '02a1d72aaf401d27671906c8b84abd823def6da8', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '1f133c27927ad840f58ea2e9112719ef880bf9a5', class: "toast-content", part: "content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
42278
41972
  }
42279
41973
  get el() { return getElement(this); }
42280
41974
  static get watchers() { return {