@ionic/core 8.8.1-dev.11774384072.1e807ca8 → 8.8.1-dev.11775249812.1228163e

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 (91) 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-radio.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-toast.js +1 -1
  15. package/components/p-1KVKSLu5.js +4 -0
  16. package/components/p-BVnB3eEn.js +4 -0
  17. package/components/p-CH0NYjKq.js +4 -0
  18. package/components/p-Cq8cQ0NL.js +4 -0
  19. package/components/p-DHsZWn1l.js +4 -0
  20. package/components/{p-CEmYm-1e.js → p-DX_o4sU9.js} +1 -1
  21. package/components/{p-BSB38Tek.js → p-DbISMmiI.js} +1 -1
  22. package/components/{p-Dfrz4Vqg.js → p-haeunEub.js} +1 -1
  23. package/dist/cjs/index.cjs.js +1 -1
  24. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -8
  25. package/dist/cjs/ion-alert.cjs.entry.js +3 -7
  26. package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -7
  27. package/dist/cjs/ion-loading.cjs.entry.js +3 -7
  28. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  29. package/dist/cjs/ion-modal.cjs.entry.js +5 -9
  30. package/dist/cjs/ion-popover.cjs.entry.js +3 -7
  31. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  32. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  34. package/dist/cjs/ion-toast.cjs.entry.js +1 -1
  35. package/dist/cjs/ionic.cjs.js +1 -1
  36. package/dist/cjs/loader.cjs.js +1 -1
  37. package/dist/cjs/{overlays-MjvhwPt2.js → overlays-C2jiBSNQ.js} +0 -24
  38. package/dist/collection/components/action-sheet/action-sheet.js +4 -8
  39. package/dist/collection/components/alert/alert.js +3 -7
  40. package/dist/collection/components/loading/loading.js +3 -7
  41. package/dist/collection/components/modal/modal.js +5 -9
  42. package/dist/collection/components/picker-legacy/picker.js +3 -7
  43. package/dist/collection/components/popover/popover.js +3 -7
  44. package/dist/collection/components/radio/radio.js +4 -4
  45. package/dist/collection/utils/overlays.js +0 -23
  46. package/dist/docs.json +2 -2
  47. package/dist/esm/index.js +1 -1
  48. package/dist/esm/ion-action-sheet.entry.js +4 -8
  49. package/dist/esm/ion-alert.entry.js +3 -7
  50. package/dist/esm/ion-datetime_3.entry.js +3 -7
  51. package/dist/esm/ion-loading.entry.js +3 -7
  52. package/dist/esm/ion-menu_3.entry.js +1 -1
  53. package/dist/esm/ion-modal.entry.js +5 -9
  54. package/dist/esm/ion-popover.entry.js +3 -7
  55. package/dist/esm/ion-radio_2.entry.js +3 -3
  56. package/dist/esm/ion-select-modal.entry.js +1 -1
  57. package/dist/esm/ion-select_3.entry.js +1 -1
  58. package/dist/esm/ion-toast.entry.js +1 -1
  59. package/dist/esm/ionic.js +1 -1
  60. package/dist/esm/loader.js +1 -1
  61. package/dist/esm/{overlays-CCsdmuZR.js → overlays-F8GHPo-e.js} +1 -24
  62. package/dist/ionic/index.esm.js +1 -1
  63. package/dist/ionic/ionic.esm.js +1 -1
  64. package/dist/ionic/p-16b65553.entry.js +4 -0
  65. package/dist/ionic/p-1b02923f.entry.js +4 -0
  66. package/dist/ionic/p-23fac490.entry.js +4 -0
  67. package/dist/ionic/{p-e2e9d04e.entry.js → p-4dd5e8e0.entry.js} +1 -1
  68. package/dist/ionic/p-51c11c47.entry.js +4 -0
  69. package/dist/ionic/{p-c1854ee5.entry.js → p-7620be24.entry.js} +1 -1
  70. package/dist/ionic/p-7ca71c83.entry.js +4 -0
  71. package/dist/ionic/p-DTPR1Wpn.js +4 -0
  72. package/dist/ionic/p-aa47f46e.entry.js +4 -0
  73. package/dist/ionic/{p-9eac4eb1.entry.js → p-abca709f.entry.js} +1 -1
  74. package/dist/ionic/{p-f5506e4e.entry.js → p-e6c5f060.entry.js} +1 -1
  75. package/dist/ionic/{p-cfeb806a.entry.js → p-f69a5f71.entry.js} +1 -1
  76. package/dist/types/utils/overlays.d.ts +0 -10
  77. package/hydrate/index.js +20 -67
  78. package/hydrate/index.mjs +20 -67
  79. package/package.json +2 -2
  80. package/components/p-0npDmDEs.js +0 -4
  81. package/components/p-7hlGym-0.js +0 -4
  82. package/components/p-BO_M4HrR.js +0 -4
  83. package/components/p-C5gHGV8-.js +0 -4
  84. package/components/p-CWnwVrC4.js +0 -4
  85. package/dist/ionic/p-50b13f63.entry.js +0 -4
  86. package/dist/ionic/p-53399c0b.entry.js +0 -4
  87. package/dist/ionic/p-80bea9dd.entry.js +0 -4
  88. package/dist/ionic/p-Bx-dQ-64.js +0 -4
  89. package/dist/ionic/p-b30c0226.entry.js +0 -4
  90. package/dist/ionic/p-c7f46ed5.entry.js +0 -4
  91. package/dist/ionic/p-f83088b5.entry.js +0 -4
package/hydrate/index.js CHANGED
@@ -8088,29 +8088,6 @@ const setRootAriaHidden = (hidden = false) => {
8088
8088
  viewContainer.removeAttribute('aria-hidden');
8089
8089
  }
8090
8090
  };
8091
- /**
8092
- * Cleans up root `aria-hidden` and `backdrop-no-scroll` when
8093
- * an overlay is removed from the DOM without going through
8094
- * the `dismiss()` flow (e.g., when a framework unmounts the
8095
- * overlay during a route change).
8096
- *
8097
- * Should be called from an overlay's `disconnectedCallback`
8098
- * when the overlay was still presented at the time of removal.
8099
- */
8100
- const cleanupRootFocusTrapAccessibility = () => {
8101
- if (typeof document === 'undefined') {
8102
- return;
8103
- }
8104
- const remainingOverlays = getPresentedOverlays(document);
8105
- const hasRemainingLocking = remainingOverlays.some((o) => {
8106
- const el = o;
8107
- return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
8108
- });
8109
- if (!hasRemainingLocking) {
8110
- setRootAriaHidden(false);
8111
- document.body.classList.remove(BACKDROP_NO_SCROLL);
8112
- }
8113
- };
8114
8091
  const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
8115
8092
  var _a, _b;
8116
8093
  if (overlay.presented) {
@@ -9733,10 +9710,6 @@ class ActionSheet {
9733
9710
  this.gesture = undefined;
9734
9711
  }
9735
9712
  this.triggerController.removeClickListener();
9736
- // Clean up aria-hidden if removed without dismiss() being called
9737
- if (this.presented) {
9738
- cleanupRootFocusTrapAccessibility();
9739
- }
9740
9713
  }
9741
9714
  componentWillLoad() {
9742
9715
  var _a;
@@ -9840,12 +9813,12 @@ class ActionSheet {
9840
9813
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
9841
9814
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
9842
9815
  const headerID = `action-sheet-${overlayIndex}-header`;
9843
- return (hAsync(Host, Object.assign({ key: 'fc8e6c837c7e16d78348a3109f5dc992f111784a', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
9816
+ return (hAsync(Host, Object.assign({ key: '173fcff5b1da7c33c267de4667591c946b8c8d03', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
9844
9817
  zIndex: `${20000 + this.overlayIndex}`,
9845
- }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: 'e558804050a8ba80dcca73308bbcb4b31687ba70', tappable: this.backdropDismiss }), hAsync("div", { key: '6697622f6a62a460eac489afc5cd504eda002140', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '4c05e7a9a20953faaa8ea0eab739b9b400895137', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '43bbc9b7217570cfc62789b4987e61a6e51a1c5f', class: "action-sheet-container" }, hAsync("div", { key: '5f9b36b5396043997d7b74e29ad3738b2af8821e', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: '3306e90dace90046d226b1eb95b06af11eebba5e', id: headerID, class: {
9818
+ }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '521ede659f747864f6c974e09016436eceb7158c', tappable: this.backdropDismiss }), hAsync("div", { key: '7a7946fc434bc444f16a70638f5e948c69d33fcd', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'bcff39a580489dbafa255842e57aa8602c6d0f18', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '84bba13ce14261f0f0daa3f9c77648c9e7f36e0e', class: "action-sheet-container" }, hAsync("div", { key: 'd9c8ac404fd6719a7adf8cb36549f67616f9a0c4', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: '180433a8ad03ef5c54728a1a8f34715b6921d658', id: headerID, class: {
9846
9819
  'action-sheet-title': true,
9847
9820
  'action-sheet-has-sub-title': this.subHeader !== undefined,
9848
- } }, header, this.subHeader && hAsync("div", { key: 'ee8e87e627e8eb6afdb1f4c3f0ef34c29a2b69c6', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'cb568ea8502afd8d913c0d0107db4fc98b5e50c6', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'd11ca6898fa308f494f2183ffc45bbcf971c14cb' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: 'b18e80930fdd0515d3647846729d392971c7c511', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '4e0a3fdcedaa480329080a8597df29746c14fd06', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: 'fd2be8895b57b74bc83ee54a5d738472ad5fdb00' })))))), hAsync("div", { key: 'b08dba5d658f9a5a64d76dc7eb8aba720c9333c3', tabindex: "0", "aria-hidden": "true" })));
9821
+ } }, header, this.subHeader && hAsync("div", { key: '7138e79e61b1a8f42bc5a9175c57fa2f15d7ec5a', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'b617c722f5b8028d73ed34b69310f312c65f34a7', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'd0dd876fc48815df3710413c201c0b445a8e16c0' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: 'e7b960157cc6fc5fe92a12090b2be55e8ae072e4', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '05498ffc60cab911dbff0ecbc6168dea59ada9a5', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: '3d401346cea301be4ca03671f7370f6f4b0b6bde' })))))), hAsync("div", { key: '971f3c5fcc07f36c28eb469a47ec0290c692e139', tabindex: "0", "aria-hidden": "true" })));
9849
9822
  }
9850
9823
  get el() { return getElement(this); }
9851
9824
  static get watchers() { return {
@@ -10351,10 +10324,6 @@ class Alert {
10351
10324
  this.gesture.destroy();
10352
10325
  this.gesture = undefined;
10353
10326
  }
10354
- // Clean up aria-hidden if removed without dismiss() being called
10355
- if (this.presented) {
10356
- cleanupRootFocusTrapAccessibility();
10357
- }
10358
10327
  }
10359
10328
  componentDidLoad() {
10360
10329
  /**
@@ -10586,9 +10555,9 @@ class Alert {
10586
10555
  * If neither are defined, do not set aria-labelledby.
10587
10556
  */
10588
10557
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
10589
- return (hAsync(Host, { key: '51ccec282f165dbaa02d7ee0c6413b870abae1d5', tabindex: "-1", style: {
10558
+ return (hAsync(Host, { key: '6025440b9cd369d4fac89e7e4296c84a10a0b8e0', tabindex: "-1", style: {
10590
10559
  zIndex: `${20000 + overlayIndex}`,
10591
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '555fb7a0048d1ada0182925ca460956e65f43322', tappable: this.backdropDismiss }), hAsync("div", { key: 'bce7b1466f5d3c2615a7478ec8903f9567c9b101', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: '8b0e8793070fee6cb3a69f0fc9b828b07672d0f9', 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: 'f9c99afdd4389421e9eaabaa7e2f9c17e2cb88f4', class: "alert-head" }, header && (hAsync("h2", { key: '7aa37fe49189d714e7d4bc786d9895ab8191f25c', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '1c32cbb4d615672b669bfacff35079791a0ab50a', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: 'fc7285499cee4cef323085e501d974d423102e94', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'b69334b5643b2592053bc408a9ab3b623e2d2b9d', tabindex: "0", "aria-hidden": "true" })));
10560
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '3cd5ca8b99cb95b11dd22ab41a820d841142896f', tappable: this.backdropDismiss }), hAsync("div", { key: '4cc62ae6e21424057d22aeef1e8fc77011e77cd5', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: '364057a69f25aa88904df17bdcf7e5bf714e7830', 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: '78694e3c0db2d408df3899fb1a90859bcc8d14cc', class: "alert-head" }, header && (hAsync("h2", { key: 'ec88ff3e4e1ea871b5975133fdcf4cac38b05e0f', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '9b09bc8bb68af255ef8b7d22587acc946148e544', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '99abe815f75d2df7f1b77c0df9f3436724fea76f', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'a43d0c22c0e46b1ef911f92ffeb253d7911b85f7', tabindex: "0", "aria-hidden": "true" })));
10592
10561
  }
10593
10562
  get el() { return getElement(this); }
10594
10563
  static get watchers() { return {
@@ -21640,10 +21609,6 @@ class Loading {
21640
21609
  }
21641
21610
  disconnectedCallback() {
21642
21611
  this.triggerController.removeClickListener();
21643
- // Clean up aria-hidden if removed without dismiss() being called
21644
- if (this.presented) {
21645
- cleanupRootFocusTrapAccessibility();
21646
- }
21647
21612
  }
21648
21613
  /**
21649
21614
  * Present the loading overlay after it has been created.
@@ -21709,9 +21674,9 @@ class Loading {
21709
21674
  * Otherwise, don't set aria-labelledby.
21710
21675
  */
21711
21676
  const ariaLabelledBy = message !== undefined ? msgId : null;
21712
- return (hAsync(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
21677
+ return (hAsync(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
21713
21678
  zIndex: `${40000 + this.overlayIndex}`,
21714
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, hAsync("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
21679
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, hAsync("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
21715
21680
  }
21716
21681
  get el() { return getElement(this); }
21717
21682
  static get watchers() { return {
@@ -25428,10 +25393,6 @@ class Modal {
25428
25393
  // Also called in dismiss() — intentional dual cleanup covers both
25429
25394
  // dismiss-then-remove and direct DOM removal without dismiss.
25430
25395
  this.cleanupSafeAreaOverrides();
25431
- // Clean up aria-hidden if removed without dismiss() being called
25432
- if (this.presented) {
25433
- cleanupRootFocusTrapAccessibility();
25434
- }
25435
25396
  }
25436
25397
  componentWillLoad() {
25437
25398
  var _a;
@@ -26280,20 +26241,20 @@ class Modal {
26280
26241
  const isCardModal = presentingElement !== undefined && mode === 'ios';
26281
26242
  const isHandleCycle = handleBehavior === 'cycle';
26282
26243
  const isSheetModalWithHandle = isSheetModal && showHandle;
26283
- return (hAsync(Host, Object.assign({ key: 'e6df0917ac03a8d6bf67cc9bebf075d2b804ba22', "no-router": true,
26244
+ return (hAsync(Host, Object.assign({ key: '1a53e8f87532abccc169ca4b24973a39c5f9ba16', "no-router": true,
26284
26245
  // Allow the modal to be navigable when the handle is focusable
26285
26246
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
26286
26247
  zIndex: `${20000 + this.overlayIndex}`,
26287
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`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: '710ed1cbb6ae9c1a1fa7ae774fd44aa3bbee8381', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'c9051fcd099e9b73e17f015dea6e16fbd73e4df4', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '21e42d40099a569d95a4e04aa6d314c7d45c6192',
26248
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`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: 'fa8e0a436c0d458331402e1850f87af3dc97b582', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'f00de6027d3c8b5bc93db3b0f7a50a87628d40bb', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'ae5e33bd6c58e541edb2edbca92420ea02dd5175',
26288
26249
  /*
26289
26250
  role and aria-modal must be used on the
26290
26251
  same element. They must also be set inside the
26291
26252
  shadow DOM otherwise ion-button will not be highlighted
26292
26253
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
26293
26254
  */
26294
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'b48a6c32c9a7ebe5e070e8d9f3510d55d4bd1f9f', class: "modal-handle",
26255
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '141cdd8f8522331f4b764e2a4d79ec6596b1eb3a', class: "modal-handle",
26295
26256
  // Prevents the handle from receiving keyboard focus when it does not cycle
26296
- 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: '2a20160f66629c14e3414bbe01e5ee89101d02be', onSlotchange: this.onSlotChange }))));
26257
+ 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: '7de20298b61abee67a16d275c9ebd9a25ce7dd26', onSlotchange: this.onSlotChange }))));
26297
26258
  }
26298
26259
  get el() { return getElement(this); }
26299
26260
  static get watchers() { return {
@@ -27997,10 +27958,6 @@ class Picker {
27997
27958
  }
27998
27959
  disconnectedCallback() {
27999
27960
  this.triggerController.removeClickListener();
28000
- // Clean up aria-hidden if removed without dismiss() being called
28001
- if (this.presented) {
28002
- cleanupRootFocusTrapAccessibility();
28003
- }
28004
27961
  }
28005
27962
  componentWillLoad() {
28006
27963
  var _a;
@@ -28119,11 +28076,11 @@ class Picker {
28119
28076
  render() {
28120
28077
  const { htmlAttributes } = this;
28121
28078
  const mode = getIonMode$1(this);
28122
- return (hAsync(Host, Object.assign({ key: '4d6531bfff4eb466f897cf2227d51783604ff439', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
28079
+ return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
28123
28080
  zIndex: `${20000 + this.overlayIndex}`,
28124
28081
  }, class: Object.assign({ [mode]: true,
28125
28082
  // Used internally for styling
28126
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '754a80de29087f7e793b232c4276fc1f6b1c937f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '9fcffb91109d6082ed338cd37a997254e5ea5bce', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'de066bda70a9cb831fc88493873d7ebf879122d0', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '03a502e2e1aa38abd582ecfca60da8b7d1045701', 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: 'f9e4d9eff3c2df866f15eed63f715a51c912eac6', class: "picker-columns" }, hAsync("div", { key: '78656d3265f9d4c82387f942c896a9d67c1fcedf', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: '1afd96cfa38fa9f52f61a867f2aa116a9ef3bedb', class: "picker-below-highlight" }))), hAsync("div", { key: '4d533e132d70f6ab32c461e3e4f6f9dfbe6bab15', tabindex: "0", "aria-hidden": "true" })));
28083
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', 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: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, hAsync("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), hAsync("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
28127
28084
  }
28128
28085
  get el() { return getElement(this); }
28129
28086
  static get watchers() { return {
@@ -30551,10 +30508,6 @@ class Popover {
30551
30508
  this.headerResizeObserver.disconnect();
30552
30509
  this.headerResizeObserver = undefined;
30553
30510
  }
30554
- // Clean up aria-hidden if removed without dismiss() being called
30555
- if (this.presented) {
30556
- cleanupRootFocusTrapAccessibility();
30557
- }
30558
30511
  }
30559
30512
  componentWillLoad() {
30560
30513
  var _a, _b;
@@ -30793,9 +30746,9 @@ class Popover {
30793
30746
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
30794
30747
  const desktop = isPlatform('desktop');
30795
30748
  const enableArrow = arrow && !parentPopover;
30796
- return (hAsync(Host, Object.assign({ key: 'afc292b6b4eeb571c1cd832bc7ac03e0fea3dc28', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
30749
+ return (hAsync(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
30797
30750
  zIndex: `${20000 + this.overlayIndex}`,
30798
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: 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: '301a33645918c7feb807a6fe857e462b83291c40', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'f66123d36601ce61af3bce3c68c73002fe3a6d73', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '39c92c94d01748d499f2db2513ecf022be2577dd', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '827552221533f7b5676e6e313cd7517275ea76d7', class: "popover-content", part: "content" }, hAsync("slot", { key: 'f874b8dfb78bfbc02e3bcad104819bf8d181d42f' })))));
30751
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: 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: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, hAsync("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
30799
30752
  }
30800
30753
  get el() { return getElement(this); }
30801
30754
  static get watchers() { return {
@@ -31091,7 +31044,7 @@ class Radio {
31091
31044
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
31092
31045
  const mode = getIonMode$1(this);
31093
31046
  const inItem = hostContext('ion-item', el);
31094
- return (hAsync(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
31047
+ return (hAsync(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
31095
31048
  [mode]: true,
31096
31049
  'in-item': inItem,
31097
31050
  'radio-checked': checked,
@@ -31102,10 +31055,10 @@ class Radio {
31102
31055
  // Focus and active styling should not apply when the radio is in an item
31103
31056
  'ion-activatable': !inItem,
31104
31057
  'ion-focusable': !inItem,
31105
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, hAsync("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
31058
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, hAsync("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
31106
31059
  'label-text-wrapper': true,
31107
31060
  'label-text-wrapper-hidden': !hasLabel,
31108
- }, part: "label" }, hAsync("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), hAsync("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
31061
+ }, part: "label" }, hAsync("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), hAsync("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
31109
31062
  }
31110
31063
  get el() { return getElement(this); }
31111
31064
  static get watchers() { return {
@@ -31124,7 +31077,7 @@ class Radio {
31124
31077
  "color": [513],
31125
31078
  "name": [1],
31126
31079
  "disabled": [4],
31127
- "value": [8],
31080
+ "value": [520],
31128
31081
  "labelPlacement": [1, "label-placement"],
31129
31082
  "justify": [1],
31130
31083
  "alignment": [1],
@@ -31135,7 +31088,7 @@ class Radio {
31135
31088
  },
31136
31089
  "$listeners$": undefined,
31137
31090
  "$lazyBundleId$": "-",
31138
- "$attrsToReflect$": [["color", "color"]]
31091
+ "$attrsToReflect$": [["color", "color"], ["value", "value"]]
31139
31092
  }; }
31140
31093
  }
31141
31094
  let radioButtonIds = 0;
package/hydrate/index.mjs CHANGED
@@ -8086,29 +8086,6 @@ const setRootAriaHidden = (hidden = false) => {
8086
8086
  viewContainer.removeAttribute('aria-hidden');
8087
8087
  }
8088
8088
  };
8089
- /**
8090
- * Cleans up root `aria-hidden` and `backdrop-no-scroll` when
8091
- * an overlay is removed from the DOM without going through
8092
- * the `dismiss()` flow (e.g., when a framework unmounts the
8093
- * overlay during a route change).
8094
- *
8095
- * Should be called from an overlay's `disconnectedCallback`
8096
- * when the overlay was still presented at the time of removal.
8097
- */
8098
- const cleanupRootFocusTrapAccessibility = () => {
8099
- if (typeof document === 'undefined') {
8100
- return;
8101
- }
8102
- const remainingOverlays = getPresentedOverlays(document);
8103
- const hasRemainingLocking = remainingOverlays.some((o) => {
8104
- const el = o;
8105
- return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
8106
- });
8107
- if (!hasRemainingLocking) {
8108
- setRootAriaHidden(false);
8109
- document.body.classList.remove(BACKDROP_NO_SCROLL);
8110
- }
8111
- };
8112
8089
  const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
8113
8090
  var _a, _b;
8114
8091
  if (overlay.presented) {
@@ -9731,10 +9708,6 @@ class ActionSheet {
9731
9708
  this.gesture = undefined;
9732
9709
  }
9733
9710
  this.triggerController.removeClickListener();
9734
- // Clean up aria-hidden if removed without dismiss() being called
9735
- if (this.presented) {
9736
- cleanupRootFocusTrapAccessibility();
9737
- }
9738
9711
  }
9739
9712
  componentWillLoad() {
9740
9713
  var _a;
@@ -9838,12 +9811,12 @@ class ActionSheet {
9838
9811
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
9839
9812
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
9840
9813
  const headerID = `action-sheet-${overlayIndex}-header`;
9841
- return (hAsync(Host, Object.assign({ key: 'fc8e6c837c7e16d78348a3109f5dc992f111784a', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
9814
+ return (hAsync(Host, Object.assign({ key: '173fcff5b1da7c33c267de4667591c946b8c8d03', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
9842
9815
  zIndex: `${20000 + this.overlayIndex}`,
9843
- }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: 'e558804050a8ba80dcca73308bbcb4b31687ba70', tappable: this.backdropDismiss }), hAsync("div", { key: '6697622f6a62a460eac489afc5cd504eda002140', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '4c05e7a9a20953faaa8ea0eab739b9b400895137', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '43bbc9b7217570cfc62789b4987e61a6e51a1c5f', class: "action-sheet-container" }, hAsync("div", { key: '5f9b36b5396043997d7b74e29ad3738b2af8821e', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: '3306e90dace90046d226b1eb95b06af11eebba5e', id: headerID, class: {
9816
+ }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '521ede659f747864f6c974e09016436eceb7158c', tappable: this.backdropDismiss }), hAsync("div", { key: '7a7946fc434bc444f16a70638f5e948c69d33fcd', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'bcff39a580489dbafa255842e57aa8602c6d0f18', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '84bba13ce14261f0f0daa3f9c77648c9e7f36e0e', class: "action-sheet-container" }, hAsync("div", { key: 'd9c8ac404fd6719a7adf8cb36549f67616f9a0c4', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: '180433a8ad03ef5c54728a1a8f34715b6921d658', id: headerID, class: {
9844
9817
  'action-sheet-title': true,
9845
9818
  'action-sheet-has-sub-title': this.subHeader !== undefined,
9846
- } }, header, this.subHeader && hAsync("div", { key: 'ee8e87e627e8eb6afdb1f4c3f0ef34c29a2b69c6', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'cb568ea8502afd8d913c0d0107db4fc98b5e50c6', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'd11ca6898fa308f494f2183ffc45bbcf971c14cb' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: 'b18e80930fdd0515d3647846729d392971c7c511', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '4e0a3fdcedaa480329080a8597df29746c14fd06', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: 'fd2be8895b57b74bc83ee54a5d738472ad5fdb00' })))))), hAsync("div", { key: 'b08dba5d658f9a5a64d76dc7eb8aba720c9333c3', tabindex: "0", "aria-hidden": "true" })));
9819
+ } }, header, this.subHeader && hAsync("div", { key: '7138e79e61b1a8f42bc5a9175c57fa2f15d7ec5a', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'b617c722f5b8028d73ed34b69310f312c65f34a7', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'd0dd876fc48815df3710413c201c0b445a8e16c0' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: 'e7b960157cc6fc5fe92a12090b2be55e8ae072e4', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '05498ffc60cab911dbff0ecbc6168dea59ada9a5', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: '3d401346cea301be4ca03671f7370f6f4b0b6bde' })))))), hAsync("div", { key: '971f3c5fcc07f36c28eb469a47ec0290c692e139', tabindex: "0", "aria-hidden": "true" })));
9847
9820
  }
9848
9821
  get el() { return getElement(this); }
9849
9822
  static get watchers() { return {
@@ -10349,10 +10322,6 @@ class Alert {
10349
10322
  this.gesture.destroy();
10350
10323
  this.gesture = undefined;
10351
10324
  }
10352
- // Clean up aria-hidden if removed without dismiss() being called
10353
- if (this.presented) {
10354
- cleanupRootFocusTrapAccessibility();
10355
- }
10356
10325
  }
10357
10326
  componentDidLoad() {
10358
10327
  /**
@@ -10584,9 +10553,9 @@ class Alert {
10584
10553
  * If neither are defined, do not set aria-labelledby.
10585
10554
  */
10586
10555
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
10587
- return (hAsync(Host, { key: '51ccec282f165dbaa02d7ee0c6413b870abae1d5', tabindex: "-1", style: {
10556
+ return (hAsync(Host, { key: '6025440b9cd369d4fac89e7e4296c84a10a0b8e0', tabindex: "-1", style: {
10588
10557
  zIndex: `${20000 + overlayIndex}`,
10589
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '555fb7a0048d1ada0182925ca460956e65f43322', tappable: this.backdropDismiss }), hAsync("div", { key: 'bce7b1466f5d3c2615a7478ec8903f9567c9b101', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: '8b0e8793070fee6cb3a69f0fc9b828b07672d0f9', 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: 'f9c99afdd4389421e9eaabaa7e2f9c17e2cb88f4', class: "alert-head" }, header && (hAsync("h2", { key: '7aa37fe49189d714e7d4bc786d9895ab8191f25c', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '1c32cbb4d615672b669bfacff35079791a0ab50a', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: 'fc7285499cee4cef323085e501d974d423102e94', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'b69334b5643b2592053bc408a9ab3b623e2d2b9d', tabindex: "0", "aria-hidden": "true" })));
10558
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '3cd5ca8b99cb95b11dd22ab41a820d841142896f', tappable: this.backdropDismiss }), hAsync("div", { key: '4cc62ae6e21424057d22aeef1e8fc77011e77cd5', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: '364057a69f25aa88904df17bdcf7e5bf714e7830', 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: '78694e3c0db2d408df3899fb1a90859bcc8d14cc', class: "alert-head" }, header && (hAsync("h2", { key: 'ec88ff3e4e1ea871b5975133fdcf4cac38b05e0f', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '9b09bc8bb68af255ef8b7d22587acc946148e544', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '99abe815f75d2df7f1b77c0df9f3436724fea76f', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'a43d0c22c0e46b1ef911f92ffeb253d7911b85f7', tabindex: "0", "aria-hidden": "true" })));
10590
10559
  }
10591
10560
  get el() { return getElement(this); }
10592
10561
  static get watchers() { return {
@@ -21638,10 +21607,6 @@ class Loading {
21638
21607
  }
21639
21608
  disconnectedCallback() {
21640
21609
  this.triggerController.removeClickListener();
21641
- // Clean up aria-hidden if removed without dismiss() being called
21642
- if (this.presented) {
21643
- cleanupRootFocusTrapAccessibility();
21644
- }
21645
21610
  }
21646
21611
  /**
21647
21612
  * Present the loading overlay after it has been created.
@@ -21707,9 +21672,9 @@ class Loading {
21707
21672
  * Otherwise, don't set aria-labelledby.
21708
21673
  */
21709
21674
  const ariaLabelledBy = message !== undefined ? msgId : null;
21710
- return (hAsync(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
21675
+ return (hAsync(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
21711
21676
  zIndex: `${40000 + this.overlayIndex}`,
21712
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, hAsync("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
21677
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, hAsync("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
21713
21678
  }
21714
21679
  get el() { return getElement(this); }
21715
21680
  static get watchers() { return {
@@ -25426,10 +25391,6 @@ class Modal {
25426
25391
  // Also called in dismiss() — intentional dual cleanup covers both
25427
25392
  // dismiss-then-remove and direct DOM removal without dismiss.
25428
25393
  this.cleanupSafeAreaOverrides();
25429
- // Clean up aria-hidden if removed without dismiss() being called
25430
- if (this.presented) {
25431
- cleanupRootFocusTrapAccessibility();
25432
- }
25433
25394
  }
25434
25395
  componentWillLoad() {
25435
25396
  var _a;
@@ -26278,20 +26239,20 @@ class Modal {
26278
26239
  const isCardModal = presentingElement !== undefined && mode === 'ios';
26279
26240
  const isHandleCycle = handleBehavior === 'cycle';
26280
26241
  const isSheetModalWithHandle = isSheetModal && showHandle;
26281
- return (hAsync(Host, Object.assign({ key: 'e6df0917ac03a8d6bf67cc9bebf075d2b804ba22', "no-router": true,
26242
+ return (hAsync(Host, Object.assign({ key: '1a53e8f87532abccc169ca4b24973a39c5f9ba16', "no-router": true,
26282
26243
  // Allow the modal to be navigable when the handle is focusable
26283
26244
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
26284
26245
  zIndex: `${20000 + this.overlayIndex}`,
26285
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`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: '710ed1cbb6ae9c1a1fa7ae774fd44aa3bbee8381', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'c9051fcd099e9b73e17f015dea6e16fbd73e4df4', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '21e42d40099a569d95a4e04aa6d314c7d45c6192',
26246
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`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: 'fa8e0a436c0d458331402e1850f87af3dc97b582', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'f00de6027d3c8b5bc93db3b0f7a50a87628d40bb', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'ae5e33bd6c58e541edb2edbca92420ea02dd5175',
26286
26247
  /*
26287
26248
  role and aria-modal must be used on the
26288
26249
  same element. They must also be set inside the
26289
26250
  shadow DOM otherwise ion-button will not be highlighted
26290
26251
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
26291
26252
  */
26292
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'b48a6c32c9a7ebe5e070e8d9f3510d55d4bd1f9f', class: "modal-handle",
26253
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '141cdd8f8522331f4b764e2a4d79ec6596b1eb3a', class: "modal-handle",
26293
26254
  // Prevents the handle from receiving keyboard focus when it does not cycle
26294
- 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: '2a20160f66629c14e3414bbe01e5ee89101d02be', onSlotchange: this.onSlotChange }))));
26255
+ 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: '7de20298b61abee67a16d275c9ebd9a25ce7dd26', onSlotchange: this.onSlotChange }))));
26295
26256
  }
26296
26257
  get el() { return getElement(this); }
26297
26258
  static get watchers() { return {
@@ -27995,10 +27956,6 @@ class Picker {
27995
27956
  }
27996
27957
  disconnectedCallback() {
27997
27958
  this.triggerController.removeClickListener();
27998
- // Clean up aria-hidden if removed without dismiss() being called
27999
- if (this.presented) {
28000
- cleanupRootFocusTrapAccessibility();
28001
- }
28002
27959
  }
28003
27960
  componentWillLoad() {
28004
27961
  var _a;
@@ -28117,11 +28074,11 @@ class Picker {
28117
28074
  render() {
28118
28075
  const { htmlAttributes } = this;
28119
28076
  const mode = getIonMode$1(this);
28120
- return (hAsync(Host, Object.assign({ key: '4d6531bfff4eb466f897cf2227d51783604ff439', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
28077
+ return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
28121
28078
  zIndex: `${20000 + this.overlayIndex}`,
28122
28079
  }, class: Object.assign({ [mode]: true,
28123
28080
  // Used internally for styling
28124
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '754a80de29087f7e793b232c4276fc1f6b1c937f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '9fcffb91109d6082ed338cd37a997254e5ea5bce', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'de066bda70a9cb831fc88493873d7ebf879122d0', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '03a502e2e1aa38abd582ecfca60da8b7d1045701', 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: 'f9e4d9eff3c2df866f15eed63f715a51c912eac6', class: "picker-columns" }, hAsync("div", { key: '78656d3265f9d4c82387f942c896a9d67c1fcedf', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: '1afd96cfa38fa9f52f61a867f2aa116a9ef3bedb', class: "picker-below-highlight" }))), hAsync("div", { key: '4d533e132d70f6ab32c461e3e4f6f9dfbe6bab15', tabindex: "0", "aria-hidden": "true" })));
28081
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', 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: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, hAsync("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), hAsync("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
28125
28082
  }
28126
28083
  get el() { return getElement(this); }
28127
28084
  static get watchers() { return {
@@ -30549,10 +30506,6 @@ class Popover {
30549
30506
  this.headerResizeObserver.disconnect();
30550
30507
  this.headerResizeObserver = undefined;
30551
30508
  }
30552
- // Clean up aria-hidden if removed without dismiss() being called
30553
- if (this.presented) {
30554
- cleanupRootFocusTrapAccessibility();
30555
- }
30556
30509
  }
30557
30510
  componentWillLoad() {
30558
30511
  var _a, _b;
@@ -30791,9 +30744,9 @@ class Popover {
30791
30744
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
30792
30745
  const desktop = isPlatform('desktop');
30793
30746
  const enableArrow = arrow && !parentPopover;
30794
- return (hAsync(Host, Object.assign({ key: 'afc292b6b4eeb571c1cd832bc7ac03e0fea3dc28', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
30747
+ return (hAsync(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
30795
30748
  zIndex: `${20000 + this.overlayIndex}`,
30796
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: 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: '301a33645918c7feb807a6fe857e462b83291c40', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'f66123d36601ce61af3bce3c68c73002fe3a6d73', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '39c92c94d01748d499f2db2513ecf022be2577dd', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '827552221533f7b5676e6e313cd7517275ea76d7', class: "popover-content", part: "content" }, hAsync("slot", { key: 'f874b8dfb78bfbc02e3bcad104819bf8d181d42f' })))));
30749
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: 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: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, hAsync("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
30797
30750
  }
30798
30751
  get el() { return getElement(this); }
30799
30752
  static get watchers() { return {
@@ -31089,7 +31042,7 @@ class Radio {
31089
31042
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
31090
31043
  const mode = getIonMode$1(this);
31091
31044
  const inItem = hostContext('ion-item', el);
31092
- return (hAsync(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
31045
+ return (hAsync(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
31093
31046
  [mode]: true,
31094
31047
  'in-item': inItem,
31095
31048
  'radio-checked': checked,
@@ -31100,10 +31053,10 @@ class Radio {
31100
31053
  // Focus and active styling should not apply when the radio is in an item
31101
31054
  'ion-activatable': !inItem,
31102
31055
  'ion-focusable': !inItem,
31103
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, hAsync("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
31056
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, hAsync("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
31104
31057
  'label-text-wrapper': true,
31105
31058
  'label-text-wrapper-hidden': !hasLabel,
31106
- }, part: "label" }, hAsync("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), hAsync("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
31059
+ }, part: "label" }, hAsync("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), hAsync("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
31107
31060
  }
31108
31061
  get el() { return getElement(this); }
31109
31062
  static get watchers() { return {
@@ -31122,7 +31075,7 @@ class Radio {
31122
31075
  "color": [513],
31123
31076
  "name": [1],
31124
31077
  "disabled": [4],
31125
- "value": [8],
31078
+ "value": [520],
31126
31079
  "labelPlacement": [1, "label-placement"],
31127
31080
  "justify": [1],
31128
31081
  "alignment": [1],
@@ -31133,7 +31086,7 @@ class Radio {
31133
31086
  },
31134
31087
  "$listeners$": undefined,
31135
31088
  "$lazyBundleId$": "-",
31136
- "$attrsToReflect$": [["color", "color"]]
31089
+ "$attrsToReflect$": [["color", "color"], ["value", "value"]]
31137
31090
  }; }
31138
31091
  }
31139
31092
  let radioButtonIds = 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "8.8.1-dev.11774384072.1e807ca8",
3
+ "version": "8.8.1-dev.11775249812.1228163e",
4
4
  "description": "Base components for Ionic",
5
5
  "engines": {
6
6
  "node": ">= 16"
@@ -50,7 +50,7 @@
50
50
  "@rollup/plugin-node-resolve": "^8.4.0",
51
51
  "@rollup/plugin-virtual": "^2.0.3",
52
52
  "@stencil/angular-output-target": "^0.10.0",
53
- "@stencil/react-output-target": "0.5.3",
53
+ "@stencil/react-output-target": "1.4.2",
54
54
  "@stencil/sass": "^3.0.9",
55
55
  "@stencil/vue-output-target": "0.10.8",
56
56
  "@types/jest": "^29.5.6",
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{p as t,H as o,e,k as i,h as n,d as a,t as s}from"./p-BJoMtgfR.js";import{c as r}from"./p-C4jPsTQa.js";import{r as c}from"./p-DgbT0exM.js";import{c as d}from"./p-B-hirT0v.js";import{d as h,e as l,B as b,i as u,f as p,g,h as m,s as f,j as v,k,n as x}from"./p-7hlGym-0.js";import{g as y}from"./p-DiVJyqlX.js";import{b as w}from"./p-CDfQnFrd.js";import{c as z}from"./p-Csw8xuz4.js";import{d as j}from"./p-CoA-aqGF.js";import{d as C}from"./p-YLXPWgVj.js";import{d as D}from"./p-fpbh6w3f.js";const A=t=>{const o=z(),e=z(),i=z();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(100%)","translateY(0%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([e,i])},O=t=>{const o=z(),e=z(),i=z();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(0%)","translateY(100%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([e,i])},I=t=>{const o=z(),e=z(),i=z();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(100%)","translateY(0%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([e,i])},B=t=>{const o=z(),e=z(),i=z();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(0%)","translateY(100%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([e,i])},E=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.didPresent=e(this,"ionActionSheetDidPresent",7),this.willPresent=e(this,"ionActionSheetWillPresent",7),this.willDismiss=e(this,"ionActionSheetWillDismiss",7),this.didDismiss=e(this,"ionActionSheetDidDismiss",7),this.didPresentShorthand=e(this,"didPresent",7),this.willPresentShorthand=e(this,"willPresent",7),this.willDismissShorthand=e(this,"willDismiss",7),this.didDismissShorthand=e(this,"didDismiss",7),this.delegateController=h(this),this.lockController=d(),this.triggerController=l(),this.hasRadioButtons=!1,this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.buttons=[],this.backdropDismiss=!0,this.translucent=!1,this.animated=!0,this.isOpen=!1,this.onBackdropTap=()=>{this.dismiss(void 0,b)},this.dispatchCancelHandler=t=>{if(u(t.detail.role)){const t=this.getButtons().find((t=>"cancel"===t.role));this.callButtonHandler(t)}}}buttonsChanged(){const t=this.getRadioButtons();if(this.hasRadioButtons=t.length>0,this.hasRadioButtons){const o=t.find((t=>{var o;return"true"===(null===(o=t.htmlAttributes)||void 0===o?void 0:o["aria-checked"])}));if(o){const t=this.getButtons().indexOf(o);this.activeRadioId=this.getButtonId(o,t)}}}onIsOpenChange(t,o){!0===t&&!1===o?this.present():!1===t&&!0===o&&this.dismiss()}triggerChanged(){const{trigger:t,el:o,triggerController:e}=this;t&&e.addClickListener(o,t)}async present(){const t=await this.lockController.lock();await this.delegateController.attachViewToDom(),await p(this,"actionSheetEnter",A,I),t()}async dismiss(t,o){const e=await this.lockController.lock(),i=await g(this,t,o,"actionSheetLeave",O,B);return i&&this.delegateController.removeViewFromDom(),e(),i}onDidDismiss(){return m(this.el,"ionActionSheetDidDismiss")}onWillDismiss(){return m(this.el,"ionActionSheetWillDismiss")}async buttonClick(t){const o=t.role;return u(o)?this.dismiss(t.data,o):await this.callButtonHandler(t)?this.dismiss(t.data,t.role):Promise.resolve()}async callButtonHandler(t){return!t||!1!==await f(t.handler)}getButtons(){return this.buttons.map((t=>"string"==typeof t?{text:t}:t))}getRadioButtons(){return this.getButtons().filter((t=>{var o;const e=null===(o=t.htmlAttributes)||void 0===o?void 0:o.role;return"radio"===e&&!u(e)}))}selectRadioButton(t){const o=this.getButtonId(t);this.activeRadioId=o}getButtonId(t,o){if(t.id)return t.id;const e=this.getButtons(),i=void 0!==o?o:e.indexOf(t);return`action-sheet-button-${this.overlayIndex}-${i}`}onKeydown(t){if(!this.hasRadioButtons||!this.presented)return;const o=t.target;if(!this.el.contains(o)||!o.classList.contains("action-sheet-button")||"radio"!==o.getAttribute("role"))return;const e=Array.from(this.el.querySelectorAll('.action-sheet-button[role="radio"]')).filter((t=>!t.disabled)),i=e.findIndex((t=>t.id===o.id));if(-1===i)return;const n=this.getButtons(),a=this.getRadioButtons(),s=new Map;let r;if(a.forEach((t=>{const o=n.indexOf(t),e=this.getButtonId(t,o);s.set(e,t)})),["ArrowDown","ArrowRight"].includes(t.key))t.preventDefault(),t.stopPropagation(),r=i===e.length-1?e[0]:e[i+1];else if(["ArrowUp","ArrowLeft"].includes(t.key))t.preventDefault(),t.stopPropagation(),r=0===i?e[e.length-1]:e[i-1];else if(" "===t.key||"Enter"===t.key){t.preventDefault(),t.stopPropagation();const e=s.get(o.id);return void(e&&(this.selectRadioButton(e),this.buttonClick(e)))}if(r){const t=s.get(r.id);t&&(this.selectRadioButton(t),r.focus())}}connectedCallback(){v(this.el),this.triggerChanged()}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0),this.triggerController.removeClickListener(),this.presented&&k()}componentWillLoad(){var t;(null===(t=this.htmlAttributes)||void 0===t?void 0:t.id)||x(this.el),this.buttonsChanged()}componentDidLoad(){const{groupEl:t,wrapperEl:o}=this;!this.gesture&&"ios"===w(this)&&o&&t&&i((()=>{t.scrollHeight>t.clientHeight||(this.gesture=r(o,(t=>t.classList.contains("action-sheet-button"))),this.gesture.enable(!0))})),!0===this.isOpen&&c((()=>this.present())),this.triggerChanged()}renderActionSheetButtons(t){const o=w(this),{activeRadioId:e}=this;return t.map(((t,i)=>{var a;const s="radio"===(null===(a=t.htmlAttributes)||void 0===a?void 0:a.role),r=this.getButtonId(t,i),c=this.getRadioButtons(),d=s&&r===e;let h;h=s?d||!e&&s&&t===c[0]?0:-1:void 0;const l=Object.assign({},t.htmlAttributes);return s&&(l["aria-checked"]=d?"true":"false"),n("button",Object.assign({},l,{role:s?"radio":void 0,type:"button",id:r,class:Object.assign(Object.assign({},S(t)),{"action-sheet-selected":d}),onClick:()=>{s&&this.selectRadioButton(t),this.buttonClick(t)},disabled:t.disabled,tabIndex:h}),n("span",{class:"action-sheet-button-inner"},t.icon&&n("ion-icon",{icon:t.icon,"aria-hidden":"true",lazy:!1,class:"action-sheet-icon"}),t.text),"md"===o&&n("ion-ripple-effect",null))}))}render(){const{header:t,htmlAttributes:o,overlayIndex:e,hasRadioButtons:i}=this,s=w(this),r=this.getButtons(),c=r.find((t=>"cancel"===t.role)),d=r.filter((t=>"cancel"!==t.role)),h=`action-sheet-${e}-header`;return n(a,Object.assign({key:"fc8e6c837c7e16d78348a3109f5dc992f111784a",role:"dialog","aria-modal":"true","aria-labelledby":void 0!==t?h:null,tabindex:"-1"},o,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({[s]:!0},y(this.cssClass)),{"overlay-hidden":!0,"action-sheet-translucent":this.translucent}),onIonActionSheetWillDismiss:this.dispatchCancelHandler,onIonBackdropTap:this.onBackdropTap}),n("ion-backdrop",{key:"e558804050a8ba80dcca73308bbcb4b31687ba70",tappable:this.backdropDismiss}),n("div",{key:"6697622f6a62a460eac489afc5cd504eda002140",tabindex:"0","aria-hidden":"true"}),n("div",{key:"4c05e7a9a20953faaa8ea0eab739b9b400895137",class:"action-sheet-wrapper ion-overlay-wrapper",ref:t=>this.wrapperEl=t},n("div",{key:"43bbc9b7217570cfc62789b4987e61a6e51a1c5f",class:"action-sheet-container"},n("div",{key:"5f9b36b5396043997d7b74e29ad3738b2af8821e",class:"action-sheet-group",ref:t=>this.groupEl=t,role:i?"radiogroup":void 0},void 0!==t&&n("div",{key:"3306e90dace90046d226b1eb95b06af11eebba5e",id:h,class:{"action-sheet-title":!0,"action-sheet-has-sub-title":void 0!==this.subHeader}},t,this.subHeader&&n("div",{key:"ee8e87e627e8eb6afdb1f4c3f0ef34c29a2b69c6",class:"action-sheet-sub-title"},this.subHeader)),this.renderActionSheetButtons(d)),c&&n("div",{key:"cb568ea8502afd8d913c0d0107db4fc98b5e50c6",class:"action-sheet-group action-sheet-group-cancel"},n("button",Object.assign({key:"d11ca6898fa308f494f2183ffc45bbcf971c14cb"},c.htmlAttributes,{type:"button",class:S(c),onClick:()=>this.buttonClick(c)}),n("span",{key:"b18e80930fdd0515d3647846729d392971c7c511",class:"action-sheet-button-inner"},c.icon&&n("ion-icon",{key:"4e0a3fdcedaa480329080a8597df29746c14fd06",icon:c.icon,"aria-hidden":"true",lazy:!1,class:"action-sheet-icon"}),c.text),"md"===s&&n("ion-ripple-effect",{key:"fd2be8895b57b74bc83ee54a5d738472ad5fdb00"}))))),n("div",{key:"b08dba5d658f9a5a64d76dc7eb8aba720c9333c3",tabindex:"0","aria-hidden":"true"}))}get el(){return this}static get watchers(){return{buttons:[{buttonsChanged:0}],isOpen:[{onIsOpenChange:0}],trigger:[{triggerChanged:0}]}}static get style(){return{ios:'.sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color-step-150, var(--ion-background-color, #fff)));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #0054e9);--button-color-disabled:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--color:var(--ion-color-step-400, var(--ion-text-color-step-600, #999999));text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);padding-bottom:var(--ion-safe-area-bottom, 0);-webkit-box-sizing:content-box;box-sizing:content-box}.action-sheet-container.sc-ion-action-sheet-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-size:max(13px, 0.8125rem);font-weight:400;text-align:center}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:max(13px, 0.8125rem);font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:14px;padding-bottom:14px;min-height:56px;font-size:max(20px, 1.25rem);contain:content}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:max(28px, 1.75rem);pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #c5000f)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #c5000f)}}',md:'.sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--button-color-disabled:var(--button-color);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-wrapper.sc-ion-action-sheet-md{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:0}.action-sheet-title.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:1rem;text-align:start}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:0.875rem}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:var(--ion-safe-area-bottom)}.action-sheet-button.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;position:relative;min-height:52px;font-size:1rem;text-align:start;contain:content;overflow:hidden}.action-sheet-icon.sc-ion-action-sheet-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:1.5rem}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}'}}},[34,"ion-action-sheet",{overlayIndex:[2,"overlay-index"],delegate:[16],hasController:[4,"has-controller"],keyboardClose:[4,"keyboard-close"],enterAnimation:[16],leaveAnimation:[16],buttons:[16],cssClass:[1,"css-class"],backdropDismiss:[4,"backdrop-dismiss"],header:[1],subHeader:[1,"sub-header"],translucent:[4],animated:[4],htmlAttributes:[16],isOpen:[4,"is-open"],trigger:[1],activeRadioId:[32],present:[64],dismiss:[64],onDidDismiss:[64],onWillDismiss:[64]},[[0,"keydown","onKeydown"]],{buttons:[{buttonsChanged:0}],isOpen:[{onIsOpenChange:0}],trigger:[{triggerChanged:0}]}]),S=t=>Object.assign({"action-sheet-button":!0,"ion-activatable":!t.disabled,"ion-focusable":!t.disabled,[`action-sheet-${t.role}`]:void 0!==t.role},y(t.cssClass));function Y(){"undefined"!=typeof customElements&&["ion-action-sheet","ion-backdrop","ion-icon","ion-ripple-effect"].forEach((t=>{switch(t){case"ion-action-sheet":customElements.get(s(t))||customElements.define(s(t),E);break;case"ion-backdrop":customElements.get(s(t))||j();break;case"ion-icon":customElements.get(s(t))||C();break;case"ion-ripple-effect":customElements.get(s(t))||D()}}))}export{E as A,Y as d}