@ionic/core 8.4.1-nightly.20241127 → 8.4.1

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 (72) hide show
  1. package/components/ion-menu.js +30 -3
  2. package/components/overlays.js +6 -5
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  5. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  6. package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
  7. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  8. package/dist/cjs/ion-menu_3.cjs.entry.js +31 -4
  9. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  10. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  11. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  12. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  13. package/dist/cjs/ion-toast.cjs.entry.js +1 -1
  14. package/dist/cjs/{overlays-a6b4fa63.js → overlays-aa669eb8.js} +6 -5
  15. package/dist/collection/components/menu/menu.js +30 -2
  16. package/dist/collection/utils/overlays.js +6 -5
  17. package/dist/docs.json +1 -1
  18. package/dist/esm/index.js +1 -1
  19. package/dist/esm/ion-action-sheet.entry.js +1 -1
  20. package/dist/esm/ion-alert.entry.js +1 -1
  21. package/dist/esm/ion-datetime_3.entry.js +1 -1
  22. package/dist/esm/ion-loading.entry.js +1 -1
  23. package/dist/esm/ion-menu_3.entry.js +31 -4
  24. package/dist/esm/ion-modal.entry.js +1 -1
  25. package/dist/esm/ion-popover.entry.js +1 -1
  26. package/dist/esm/ion-select-modal.entry.js +1 -1
  27. package/dist/esm/ion-select_3.entry.js +1 -1
  28. package/dist/esm/ion-toast.entry.js +1 -1
  29. package/dist/esm/{overlays-dcc93658.js → overlays-e7b9d6d9.js} +6 -5
  30. package/dist/esm-es5/index.js +1 -1
  31. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  32. package/dist/esm-es5/ion-alert.entry.js +1 -1
  33. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  34. package/dist/esm-es5/ion-loading.entry.js +1 -1
  35. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  36. package/dist/esm-es5/ion-modal.entry.js +1 -1
  37. package/dist/esm-es5/ion-popover.entry.js +1 -1
  38. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  39. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  40. package/dist/esm-es5/ion-toast.entry.js +1 -1
  41. package/dist/ionic/index.esm.js +1 -1
  42. package/dist/ionic/ionic.esm.js +1 -1
  43. package/dist/ionic/{p-cd8bd2e1.system.entry.js → p-1046866e.system.entry.js} +1 -1
  44. package/dist/ionic/p-12a722b8.system.entry.js +4 -0
  45. package/dist/ionic/{p-3974e3c3.system.entry.js → p-14e159ea.system.entry.js} +1 -1
  46. package/dist/ionic/{p-ed19d108.system.entry.js → p-1fe02220.system.entry.js} +1 -1
  47. package/dist/ionic/{p-0ce9d0a6.entry.js → p-2b9b78c7.entry.js} +1 -1
  48. package/dist/ionic/{p-7e3faa44.system.entry.js → p-2bd0ae94.system.entry.js} +2 -2
  49. package/dist/ionic/p-322c5fb4.system.js +1 -1
  50. package/dist/ionic/p-508d024a.entry.js +4 -0
  51. package/dist/ionic/{p-63ad99b8.system.entry.js → p-626fd66d.system.entry.js} +1 -1
  52. package/dist/ionic/{p-c7c0c9d2.system.entry.js → p-6499df44.system.entry.js} +1 -1
  53. package/dist/ionic/{p-73747722.entry.js → p-6b280620.entry.js} +1 -1
  54. package/dist/ionic/{p-9318ed44.entry.js → p-8b8be2fd.entry.js} +1 -1
  55. package/dist/ionic/{p-de5ed31e.entry.js → p-942b5e13.entry.js} +1 -1
  56. package/dist/ionic/{p-33fa7400.entry.js → p-982315a6.entry.js} +1 -1
  57. package/dist/ionic/{p-a56f691f.entry.js → p-9e33104d.entry.js} +1 -1
  58. package/dist/ionic/{p-5dcd3d43.entry.js → p-a43467d8.entry.js} +1 -1
  59. package/dist/ionic/{p-0cccca18.system.entry.js → p-b2272f51.system.entry.js} +1 -1
  60. package/dist/ionic/{p-3c186721.entry.js → p-b79ba17c.entry.js} +1 -1
  61. package/dist/ionic/{p-a696e441.system.js → p-c449820c.system.js} +1 -1
  62. package/dist/ionic/{p-3b13af78.system.entry.js → p-e4f69534.system.entry.js} +1 -1
  63. package/dist/ionic/{p-20e70007.system.entry.js → p-e85d901b.system.entry.js} +1 -1
  64. package/dist/ionic/{p-5e074501.entry.js → p-fec61c32.entry.js} +1 -1
  65. package/hydrate/index.js +35 -7
  66. package/hydrate/index.mjs +35 -7
  67. package/package.json +1 -1
  68. package/dist/ionic/p-33df3f1f.entry.js +0 -4
  69. package/dist/ionic/p-475d32bd.system.entry.js +0 -4
  70. /package/dist/esm-es5/{overlays-dcc93658.js → overlays-e7b9d6d9.js} +0 -0
  71. /package/dist/ionic/{p-5e01fc7f.system.js → p-0aa833fb.system.js} +0 -0
  72. /package/dist/ionic/{p-96573065.js → p-e6635685.js} +0 -0
@@ -8,8 +8,8 @@ import { G as GESTURE_CONTROLLER } from './gesture-controller.js';
8
8
  import { shouldUseCloseWatcher } from './hardware-back-button.js';
9
9
  import { m as isEndSide, i as inheritAriaAttributes, n as assert, k as clamp } from './helpers.js';
10
10
  import { m as menuController } from './index4.js';
11
+ import { c as config, b as getIonMode, a as isPlatform } from './ionic-global.js';
11
12
  import { h as hostContext } from './theme.js';
12
- import { c as config, b as getIonMode } from './ionic-global.js';
13
13
  import { d as defineCustomElement$2 } from './backdrop.js';
14
14
 
15
15
  const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
@@ -463,6 +463,22 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
463
463
  }
464
464
  beforeAnimation(shouldOpen, role) {
465
465
  assert(!this.isAnimating, '_before() should not be called while animating');
466
+ /**
467
+ * When the menu is presented on an Android device, TalkBack's focus rings
468
+ * may appear in the wrong position due to the transition (specifically
469
+ * `transform` styles). This occurs because the focus rings are initially
470
+ * displayed at the starting position of the elements before the transition
471
+ * begins. This workaround ensures the focus rings do not appear in the
472
+ * incorrect location.
473
+ *
474
+ * If this solution is applied to iOS devices, then it leads to a bug where
475
+ * the overlays cannot be accessed by screen readers. This is due to
476
+ * VoiceOver not being able to update the accessibility tree when the
477
+ * `aria-hidden` is removed.
478
+ */
479
+ if (isPlatform('android')) {
480
+ this.el.setAttribute('aria-hidden', 'true');
481
+ }
466
482
  // this places the menu into the correct location before it animates in
467
483
  // this css class doesn't actually kick off any animations
468
484
  this.el.classList.add(SHOW_MENU);
@@ -515,6 +531,16 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
515
531
  this.blocker.unblock();
516
532
  }
517
533
  if (isOpen) {
534
+ /**
535
+ * When the menu is presented on an Android device, TalkBack's focus rings
536
+ * may appear in the wrong position due to the transition (specifically
537
+ * `transform` styles). The menu is hidden from screen readers during the
538
+ * transition to prevent this. Once the transition is complete, the menu
539
+ * is shown again.
540
+ */
541
+ if (isPlatform('android')) {
542
+ this.el.removeAttribute('aria-hidden');
543
+ }
518
544
  // emit open event
519
545
  this.ionDidOpen.emit();
520
546
  /**
@@ -530,6 +556,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
530
556
  document.addEventListener('focus', this.handleFocus, true);
531
557
  }
532
558
  else {
559
+ this.el.removeAttribute('aria-hidden');
533
560
  // remove css classes and unhide content from screen readers
534
561
  this.el.classList.remove(SHOW_MENU);
535
562
  /**
@@ -596,14 +623,14 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
596
623
  * the ionBackButton listener in the menu controller
597
624
  * will handle closing the menu when Escape is pressed.
598
625
  */
599
- return (h(Host, { key: '5aaea91873d0885b97304372223b2a6ed16ca28b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
626
+ return (h(Host, { key: 'da96fdb4c5ddf60e615cc4cdda7ccdb3fd7e089b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
600
627
  [mode]: true,
601
628
  [`menu-type-${type}`]: true,
602
629
  'menu-enabled': !disabled,
603
630
  [`menu-side-${side}`]: true,
604
631
  'menu-pane-visible': isPaneVisible,
605
632
  'split-pane-side': hostContext('ion-split-pane', el),
606
- } }, h("div", { key: '3ba822411ad11eff52c518fecf1b2a5b47e0b678', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: 'd28a78e98493b21d43ea8b19e96b21547adf1916' })), h("ion-backdrop", { key: '0468c15d111737f5cb646918dcfacedadf907a8f', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
633
+ } }, h("div", { key: '894e680fe227534711128c7aca980964ddb5a08a', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: 'e9f5934518dc0cceaeadf1f2820614595fec6bc9' })), h("ion-backdrop", { key: '7282077817657b1bb6c155f1404c0a519fece993', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
607
634
  }
608
635
  get el() { return this; }
609
636
  static get watchers() { return {
@@ -889,11 +889,12 @@ const createTriggerController = () => {
889
889
  * like TalkBack do not announce or interact with the content until the
890
890
  * animation is complete, avoiding confusion for users.
891
891
  *
892
- * If the overlay is being presented, it prevents focus rings from appearing
893
- * in incorrect positions due to the transition (specifically `transform`
894
- * styles), ensuring that when aria-hidden is removed, the focus rings are
895
- * correctly displayed in the final location of the elements. This only
896
- * applies to Android devices.
892
+ * When the overlay is presented on an Android device, TalkBack's focus rings
893
+ * may appear in the wrong position due to the transition (specifically
894
+ * `transform` styles). This occurs because the focus rings are initially
895
+ * displayed at the starting position of the elements before the transition
896
+ * begins. This workaround ensures the focus rings do not appear in the
897
+ * incorrect location.
897
898
  *
898
899
  * If this solution is applied to iOS devices, then it leads to a bug where
899
900
  * the overlays cannot be accessed by screen readers. This is due to
@@ -16,7 +16,7 @@ const helpers = require('./helpers-afaa9001.js');
16
16
  const config = require('./config-4f60b98a.js');
17
17
  const theme = require('./theme-d1c573d2.js');
18
18
  const index$2 = require('./index-8e789962.js');
19
- const overlays = require('./overlays-a6b4fa63.js');
19
+ const overlays = require('./overlays-aa669eb8.js');
20
20
  require('./index-c8d52405.js');
21
21
  require('./index-73f75efb.js');
22
22
  require('./index-5915f9b3.js');
@@ -9,7 +9,7 @@ const index = require('./index-73f75efb.js');
9
9
  const buttonActive = require('./button-active-3f2f60b4.js');
10
10
  const helpers = require('./helpers-afaa9001.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
- const overlays = require('./overlays-a6b4fa63.js');
12
+ const overlays = require('./overlays-aa669eb8.js');
13
13
  const theme = require('./theme-d1c573d2.js');
14
14
  const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
15
15
  const animation = require('./animation-b4fdf128.js');
@@ -10,7 +10,7 @@ const config = require('./config-4f60b98a.js');
10
10
  const buttonActive = require('./button-active-3f2f60b4.js');
11
11
  const helpers = require('./helpers-afaa9001.js');
12
12
  const lockController = require('./lock-controller-6585a42a.js');
13
- const overlays = require('./overlays-a6b4fa63.js');
13
+ const overlays = require('./overlays-aa669eb8.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
16
16
  const animation = require('./animation-b4fdf128.js');
@@ -15,7 +15,7 @@ const index$2 = require('./index-073c7cdc.js');
15
15
  const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
16
16
  const data = require('./data-21dc0f81.js');
17
17
  const lockController = require('./lock-controller-6585a42a.js');
18
- const overlays = require('./overlays-a6b4fa63.js');
18
+ const overlays = require('./overlays-aa669eb8.js');
19
19
  const animation = require('./animation-b4fdf128.js');
20
20
  const haptic = require('./haptic-f6b37aa3.js');
21
21
  require('./index-c8d52405.js');
@@ -9,7 +9,7 @@ const index = require('./index-73f75efb.js');
9
9
  const config = require('./config-4f60b98a.js');
10
10
  const helpers = require('./helpers-afaa9001.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
- const overlays = require('./overlays-a6b4fa63.js');
12
+ const overlays = require('./overlays-aa669eb8.js');
13
13
  const theme = require('./theme-d1c573d2.js');
14
14
  const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
15
15
  const animation = require('./animation-b4fdf128.js');
@@ -7,13 +7,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-73f75efb.js');
9
9
  const cubicBezier = require('./cubic-bezier-f2dccc53.js');
10
- const overlays = require('./overlays-a6b4fa63.js');
10
+ const overlays = require('./overlays-aa669eb8.js');
11
11
  const gestureController = require('./gesture-controller-9436f482.js');
12
12
  const hardwareBackButton = require('./hardware-back-button-9e8a2c4f.js');
13
13
  const helpers = require('./helpers-afaa9001.js');
14
14
  const index$1 = require('./index-8e789962.js');
15
- const theme = require('./theme-d1c573d2.js');
16
15
  const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
16
+ const theme = require('./theme-d1c573d2.js');
17
17
  const index$2 = require('./index-073c7cdc.js');
18
18
  require('./index-c8d52405.js');
19
19
  require('./framework-delegate-55f5683a.js');
@@ -466,6 +466,22 @@ const Menu = class {
466
466
  }
467
467
  beforeAnimation(shouldOpen, role) {
468
468
  helpers.assert(!this.isAnimating, '_before() should not be called while animating');
469
+ /**
470
+ * When the menu is presented on an Android device, TalkBack's focus rings
471
+ * may appear in the wrong position due to the transition (specifically
472
+ * `transform` styles). This occurs because the focus rings are initially
473
+ * displayed at the starting position of the elements before the transition
474
+ * begins. This workaround ensures the focus rings do not appear in the
475
+ * incorrect location.
476
+ *
477
+ * If this solution is applied to iOS devices, then it leads to a bug where
478
+ * the overlays cannot be accessed by screen readers. This is due to
479
+ * VoiceOver not being able to update the accessibility tree when the
480
+ * `aria-hidden` is removed.
481
+ */
482
+ if (ionicGlobal.isPlatform('android')) {
483
+ this.el.setAttribute('aria-hidden', 'true');
484
+ }
469
485
  // this places the menu into the correct location before it animates in
470
486
  // this css class doesn't actually kick off any animations
471
487
  this.el.classList.add(SHOW_MENU);
@@ -518,6 +534,16 @@ const Menu = class {
518
534
  this.blocker.unblock();
519
535
  }
520
536
  if (isOpen) {
537
+ /**
538
+ * When the menu is presented on an Android device, TalkBack's focus rings
539
+ * may appear in the wrong position due to the transition (specifically
540
+ * `transform` styles). The menu is hidden from screen readers during the
541
+ * transition to prevent this. Once the transition is complete, the menu
542
+ * is shown again.
543
+ */
544
+ if (ionicGlobal.isPlatform('android')) {
545
+ this.el.removeAttribute('aria-hidden');
546
+ }
521
547
  // emit open event
522
548
  this.ionDidOpen.emit();
523
549
  /**
@@ -533,6 +559,7 @@ const Menu = class {
533
559
  document.addEventListener('focus', this.handleFocus, true);
534
560
  }
535
561
  else {
562
+ this.el.removeAttribute('aria-hidden');
536
563
  // remove css classes and unhide content from screen readers
537
564
  this.el.classList.remove(SHOW_MENU);
538
565
  /**
@@ -599,14 +626,14 @@ const Menu = class {
599
626
  * the ionBackButton listener in the menu controller
600
627
  * will handle closing the menu when Escape is pressed.
601
628
  */
602
- return (index.h(index.Host, { key: '5aaea91873d0885b97304372223b2a6ed16ca28b', onKeyDown: hardwareBackButton.shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
629
+ return (index.h(index.Host, { key: 'da96fdb4c5ddf60e615cc4cdda7ccdb3fd7e089b', onKeyDown: hardwareBackButton.shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
603
630
  [mode]: true,
604
631
  [`menu-type-${type}`]: true,
605
632
  'menu-enabled': !disabled,
606
633
  [`menu-side-${side}`]: true,
607
634
  'menu-pane-visible': isPaneVisible,
608
635
  'split-pane-side': theme.hostContext('ion-split-pane', el),
609
- } }, index.h("div", { key: '3ba822411ad11eff52c518fecf1b2a5b47e0b678', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, index.h("slot", { key: 'd28a78e98493b21d43ea8b19e96b21547adf1916' })), index.h("ion-backdrop", { key: '0468c15d111737f5cb646918dcfacedadf907a8f', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
636
+ } }, index.h("div", { key: '894e680fe227534711128c7aca980964ddb5a08a', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, index.h("slot", { key: 'e9f5934518dc0cceaeadf1f2820614595fec6bc9' })), index.h("ion-backdrop", { key: '7282077817657b1bb6c155f1404c0a519fece993', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
610
637
  }
611
638
  get el() { return index.getElement(this); }
612
639
  static get watchers() { return {
@@ -12,7 +12,7 @@ const helpers = require('./helpers-afaa9001.js');
12
12
  const lockController = require('./lock-controller-6585a42a.js');
13
13
  const index$4 = require('./index-5915f9b3.js');
14
14
  const capacitor = require('./capacitor-c04564bf.js');
15
- const overlays = require('./overlays-a6b4fa63.js');
15
+ const overlays = require('./overlays-aa669eb8.js');
16
16
  const theme = require('./theme-d1c573d2.js');
17
17
  const index$5 = require('./index-f05acd21.js');
18
18
  const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-73f75efb.js');
9
- const overlays = require('./overlays-a6b4fa63.js');
9
+ const overlays = require('./overlays-aa669eb8.js');
10
10
  const frameworkDelegate = require('./framework-delegate-55f5683a.js');
11
11
  const helpers = require('./helpers-afaa9001.js');
12
12
  const lockController = require('./lock-controller-6585a42a.js');
@@ -7,7 +7,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-73f75efb.js');
9
9
  const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
10
- const overlays = require('./overlays-a6b4fa63.js');
10
+ const overlays = require('./overlays-aa669eb8.js');
11
11
  const theme = require('./theme-d1c573d2.js');
12
12
  require('./index-c8d52405.js');
13
13
  require('./helpers-afaa9001.js');
@@ -9,7 +9,7 @@ const index = require('./index-73f75efb.js');
9
9
  const notchController = require('./notch-controller-d69150f5.js');
10
10
  const compareWithUtils = require('./compare-with-utils-df1001d7.js');
11
11
  const helpers = require('./helpers-afaa9001.js');
12
- const overlays = require('./overlays-a6b4fa63.js');
12
+ const overlays = require('./overlays-aa669eb8.js');
13
13
  const dir = require('./dir-94c21456.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const watchOptions = require('./watch-options-f5f3e158.js');
@@ -10,7 +10,7 @@ const config = require('./config-4f60b98a.js');
10
10
  const helpers = require('./helpers-afaa9001.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
12
  const index$1 = require('./index-5915f9b3.js');
13
- const overlays = require('./overlays-a6b4fa63.js');
13
+ const overlays = require('./overlays-aa669eb8.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
16
16
  const animation = require('./animation-b4fdf128.js');
@@ -891,11 +891,12 @@ const createTriggerController = () => {
891
891
  * like TalkBack do not announce or interact with the content until the
892
892
  * animation is complete, avoiding confusion for users.
893
893
  *
894
- * If the overlay is being presented, it prevents focus rings from appearing
895
- * in incorrect positions due to the transition (specifically `transform`
896
- * styles), ensuring that when aria-hidden is removed, the focus rings are
897
- * correctly displayed in the final location of the elements. This only
898
- * applies to Android devices.
894
+ * When the overlay is presented on an Android device, TalkBack's focus rings
895
+ * may appear in the wrong position due to the transition (specifically
896
+ * `transform` styles). This occurs because the focus rings are initially
897
+ * displayed at the starting position of the elements before the transition
898
+ * begins. This workaround ensures the focus rings do not appear in the
899
+ * incorrect location.
899
900
  *
900
901
  * If this solution is applied to iOS devices, then it leads to a bug where
901
902
  * the overlays cannot be accessed by screen readers. This is due to
@@ -9,6 +9,7 @@ import { shouldUseCloseWatcher } from "../../utils/hardware-back-button";
9
9
  import { inheritAriaAttributes, assert, clamp, isEndSide as isEnd } from "../../utils/helpers";
10
10
  import { menuController } from "../../utils/menu-controller/index";
11
11
  import { BACKDROP, GESTURE, getPresentedOverlay } from "../../utils/overlays";
12
+ import { isPlatform } from "../../utils/platform";
12
13
  import { hostContext } from "../../utils/theme";
13
14
  import { config } from "../../global/config";
14
15
  import { getIonMode } from "../../global/ionic-global";
@@ -453,6 +454,22 @@ export class Menu {
453
454
  }
454
455
  beforeAnimation(shouldOpen, role) {
455
456
  assert(!this.isAnimating, '_before() should not be called while animating');
457
+ /**
458
+ * When the menu is presented on an Android device, TalkBack's focus rings
459
+ * may appear in the wrong position due to the transition (specifically
460
+ * `transform` styles). This occurs because the focus rings are initially
461
+ * displayed at the starting position of the elements before the transition
462
+ * begins. This workaround ensures the focus rings do not appear in the
463
+ * incorrect location.
464
+ *
465
+ * If this solution is applied to iOS devices, then it leads to a bug where
466
+ * the overlays cannot be accessed by screen readers. This is due to
467
+ * VoiceOver not being able to update the accessibility tree when the
468
+ * `aria-hidden` is removed.
469
+ */
470
+ if (isPlatform('android')) {
471
+ this.el.setAttribute('aria-hidden', 'true');
472
+ }
456
473
  // this places the menu into the correct location before it animates in
457
474
  // this css class doesn't actually kick off any animations
458
475
  this.el.classList.add(SHOW_MENU);
@@ -505,6 +522,16 @@ export class Menu {
505
522
  this.blocker.unblock();
506
523
  }
507
524
  if (isOpen) {
525
+ /**
526
+ * When the menu is presented on an Android device, TalkBack's focus rings
527
+ * may appear in the wrong position due to the transition (specifically
528
+ * `transform` styles). The menu is hidden from screen readers during the
529
+ * transition to prevent this. Once the transition is complete, the menu
530
+ * is shown again.
531
+ */
532
+ if (isPlatform('android')) {
533
+ this.el.removeAttribute('aria-hidden');
534
+ }
508
535
  // emit open event
509
536
  this.ionDidOpen.emit();
510
537
  /**
@@ -520,6 +547,7 @@ export class Menu {
520
547
  document.addEventListener('focus', this.handleFocus, true);
521
548
  }
522
549
  else {
550
+ this.el.removeAttribute('aria-hidden');
523
551
  // remove css classes and unhide content from screen readers
524
552
  this.el.classList.remove(SHOW_MENU);
525
553
  /**
@@ -586,14 +614,14 @@ export class Menu {
586
614
  * the ionBackButton listener in the menu controller
587
615
  * will handle closing the menu when Escape is pressed.
588
616
  */
589
- return (h(Host, { key: '5aaea91873d0885b97304372223b2a6ed16ca28b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
617
+ return (h(Host, { key: 'da96fdb4c5ddf60e615cc4cdda7ccdb3fd7e089b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
590
618
  [mode]: true,
591
619
  [`menu-type-${type}`]: true,
592
620
  'menu-enabled': !disabled,
593
621
  [`menu-side-${side}`]: true,
594
622
  'menu-pane-visible': isPaneVisible,
595
623
  'split-pane-side': hostContext('ion-split-pane', el),
596
- } }, h("div", { key: '3ba822411ad11eff52c518fecf1b2a5b47e0b678', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: 'd28a78e98493b21d43ea8b19e96b21547adf1916' })), h("ion-backdrop", { key: '0468c15d111737f5cb646918dcfacedadf907a8f', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
624
+ } }, h("div", { key: '894e680fe227534711128c7aca980964ddb5a08a', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: 'e9f5934518dc0cceaeadf1f2820614595fec6bc9' })), h("ion-backdrop", { key: '7282077817657b1bb6c155f1404c0a519fece993', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
597
625
  }
598
626
  static get is() { return "ion-menu"; }
599
627
  static get encapsulation() { return "shadow"; }
@@ -811,11 +811,12 @@ export const createTriggerController = () => {
811
811
  * like TalkBack do not announce or interact with the content until the
812
812
  * animation is complete, avoiding confusion for users.
813
813
  *
814
- * If the overlay is being presented, it prevents focus rings from appearing
815
- * in incorrect positions due to the transition (specifically `transform`
816
- * styles), ensuring that when aria-hidden is removed, the focus rings are
817
- * correctly displayed in the final location of the elements. This only
818
- * applies to Android devices.
814
+ * When the overlay is presented on an Android device, TalkBack's focus rings
815
+ * may appear in the wrong position due to the transition (specifically
816
+ * `transform` styles). This occurs because the focus rings are initially
817
+ * displayed at the starting position of the elements before the transition
818
+ * begins. This workaround ensures the focus rings do not appear in the
819
+ * incorrect location.
819
820
  *
820
821
  * If this solution is applied to iOS devices, then it leads to a bug where
821
822
  * the overlays cannot be accessed by screen readers. This is due to
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-11-27T06:09:40",
2
+ "timestamp": "2024-11-27T18:22:55",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.20.0",
package/dist/esm/index.js CHANGED
@@ -12,7 +12,7 @@ export { c as componentOnReady } from './helpers-da915de8.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
13
13
  export { o as openURL } from './theme-01f3f29c.js';
14
14
  export { m as menuController } from './index-24b48b06.js';
15
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-dcc93658.js';
15
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-e7b9d6d9.js';
16
16
  import './index-a5d50daf.js';
17
17
  import './index-28849c61.js';
18
18
  import './index-9b0d46f4.js';
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, e as readTask, h, f as Host, i
5
5
  import { c as createButtonActiveGesture } from './button-active-f6503382.js';
6
6
  import { r as raf } from './helpers-da915de8.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-dcc93658.js';
8
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-e7b9d6d9.js';
9
9
  import { g as getClassMap } from './theme-01f3f29c.js';
10
10
  import { b as getIonMode } from './ionic-global-c81d82ab.js';
11
11
  import { c as createAnimation } from './animation-eab5a4ca.js';
@@ -6,7 +6,7 @@ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './conf
6
6
  import { c as createButtonActiveGesture } from './button-active-f6503382.js';
7
7
  import { r as raf } from './helpers-da915de8.js';
8
8
  import { c as createLockController } from './lock-controller-316928be.js';
9
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-dcc93658.js';
9
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-e7b9d6d9.js';
10
10
  import { g as getClassMap } from './theme-01f3f29c.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global-c81d82ab.js';
12
12
  import { c as createAnimation } from './animation-eab5a4ca.js';
@@ -11,7 +11,7 @@ import { c as chevronBack, o as chevronForward, l as chevronDown, p as caretUpSh
11
11
  import { b as getIonMode } from './ionic-global-c81d82ab.js';
12
12
  import { g as generateDayAriaLabel, a as getDay, i as isBefore, b as isAfter, c as isSameDay, d as getPreviousMonth, e as getNextMonth, v as validateParts, f as getPartsFromCalendarDay, h as getNextYear, j as getPreviousYear, k as getEndOfWeek, l as getStartOfWeek, m as getPreviousDay, n as getNextDay, o as getPreviousWeek, p as getNextWeek, q as parseMinParts, r as parseMaxParts, s as parseDate, w as warnIfValueOutOfBounds, t as convertToArrayOfNumbers, u as convertDataToISO, x as getToday, y as getClosestValidDate, z as generateMonths, A as getNumDaysInMonth, B as getCombinedDateColumnData, C as getMonthColumnData, D as getDayColumnData, E as getYearColumnData, F as isMonthFirstLocale, G as getTimeColumnsData, H as isLocaleDayPeriodRTL, I as getDaysOfWeek, J as getMonthAndYear, K as getDaysOfMonth, L as getHourCycle, M as getLocalizedTime, N as getLocalizedDateTime, O as formatValue, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data-ae11fd43.js';
13
13
  import { c as createLockController } from './lock-controller-316928be.js';
14
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-dcc93658.js';
14
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-e7b9d6d9.js';
15
15
  import { c as createAnimation } from './animation-eab5a4ca.js';
16
16
  import { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-ac164e4c.js';
17
17
  import './index-a5d50daf.js';
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, h, f as Host, i as getElement
5
5
  import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-49c88215.js';
6
6
  import { r as raf } from './helpers-da915de8.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-dcc93658.js';
8
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-e7b9d6d9.js';
9
9
  import { g as getClassMap } from './theme-01f3f29c.js';
10
10
  import { c as config, b as getIonMode } from './ionic-global-c81d82ab.js';
11
11
  import { c as createAnimation } from './animation-eab5a4ca.js';
@@ -3,13 +3,13 @@
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, h, f as Host, i as getElement } from './index-28849c61.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
6
- import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-dcc93658.js';
6
+ import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-e7b9d6d9.js';
7
7
  import { G as GESTURE_CONTROLLER } from './gesture-controller-314a54f6.js';
8
8
  import { shouldUseCloseWatcher } from './hardware-back-button-06ef3c3e.js';
9
9
  import { n as isEndSide, i as inheritAriaAttributes, m as assert, j as clamp } from './helpers-da915de8.js';
10
10
  import { m as menuController } from './index-24b48b06.js';
11
+ import { c as config, b as getIonMode, a as isPlatform } from './ionic-global-c81d82ab.js';
11
12
  import { h as hostContext, c as createColorClasses } from './theme-01f3f29c.js';
12
- import { c as config, b as getIonMode } from './ionic-global-c81d82ab.js';
13
13
  import { u as menuOutline, v as menuSharp } from './index-e2cf2ceb.js';
14
14
  import './index-a5d50daf.js';
15
15
  import './framework-delegate-63d1a679.js';
@@ -462,6 +462,22 @@ const Menu = class {
462
462
  }
463
463
  beforeAnimation(shouldOpen, role) {
464
464
  assert(!this.isAnimating, '_before() should not be called while animating');
465
+ /**
466
+ * When the menu is presented on an Android device, TalkBack's focus rings
467
+ * may appear in the wrong position due to the transition (specifically
468
+ * `transform` styles). This occurs because the focus rings are initially
469
+ * displayed at the starting position of the elements before the transition
470
+ * begins. This workaround ensures the focus rings do not appear in the
471
+ * incorrect location.
472
+ *
473
+ * If this solution is applied to iOS devices, then it leads to a bug where
474
+ * the overlays cannot be accessed by screen readers. This is due to
475
+ * VoiceOver not being able to update the accessibility tree when the
476
+ * `aria-hidden` is removed.
477
+ */
478
+ if (isPlatform('android')) {
479
+ this.el.setAttribute('aria-hidden', 'true');
480
+ }
465
481
  // this places the menu into the correct location before it animates in
466
482
  // this css class doesn't actually kick off any animations
467
483
  this.el.classList.add(SHOW_MENU);
@@ -514,6 +530,16 @@ const Menu = class {
514
530
  this.blocker.unblock();
515
531
  }
516
532
  if (isOpen) {
533
+ /**
534
+ * When the menu is presented on an Android device, TalkBack's focus rings
535
+ * may appear in the wrong position due to the transition (specifically
536
+ * `transform` styles). The menu is hidden from screen readers during the
537
+ * transition to prevent this. Once the transition is complete, the menu
538
+ * is shown again.
539
+ */
540
+ if (isPlatform('android')) {
541
+ this.el.removeAttribute('aria-hidden');
542
+ }
517
543
  // emit open event
518
544
  this.ionDidOpen.emit();
519
545
  /**
@@ -529,6 +555,7 @@ const Menu = class {
529
555
  document.addEventListener('focus', this.handleFocus, true);
530
556
  }
531
557
  else {
558
+ this.el.removeAttribute('aria-hidden');
532
559
  // remove css classes and unhide content from screen readers
533
560
  this.el.classList.remove(SHOW_MENU);
534
561
  /**
@@ -595,14 +622,14 @@ const Menu = class {
595
622
  * the ionBackButton listener in the menu controller
596
623
  * will handle closing the menu when Escape is pressed.
597
624
  */
598
- return (h(Host, { key: '5aaea91873d0885b97304372223b2a6ed16ca28b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
625
+ return (h(Host, { key: 'da96fdb4c5ddf60e615cc4cdda7ccdb3fd7e089b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
599
626
  [mode]: true,
600
627
  [`menu-type-${type}`]: true,
601
628
  'menu-enabled': !disabled,
602
629
  [`menu-side-${side}`]: true,
603
630
  'menu-pane-visible': isPaneVisible,
604
631
  'split-pane-side': hostContext('ion-split-pane', el),
605
- } }, h("div", { key: '3ba822411ad11eff52c518fecf1b2a5b47e0b678', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: 'd28a78e98493b21d43ea8b19e96b21547adf1916' })), h("ion-backdrop", { key: '0468c15d111737f5cb646918dcfacedadf907a8f', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
632
+ } }, h("div", { key: '894e680fe227534711128c7aca980964ddb5a08a', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: 'e9f5934518dc0cceaeadf1f2820614595fec6bc9' })), h("ion-backdrop", { key: '7282077817657b1bb6c155f1404c0a519fece993', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
606
633
  }
607
634
  get el() { return getElement(this); }
608
635
  static get watchers() { return {
@@ -8,7 +8,7 @@ import { g as getElementRoot, j as clamp, r as raf, h as inheritAttributes, k as
8
8
  import { c as createLockController } from './lock-controller-316928be.js';
9
9
  import { p as printIonWarning } from './index-9b0d46f4.js';
10
10
  import { g as getCapacitor } from './capacitor-59395cbd.js';
11
- import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-dcc93658.js';
11
+ import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-e7b9d6d9.js';
12
12
  import { g as getClassMap } from './theme-01f3f29c.js';
13
13
  import { e as deepReady, w as waitForMount } from './index-3ad7f18b.js';
14
14
  import { b as getIonMode, c as config } from './ionic-global-c81d82ab.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, h, f as Host, i as getElement } from './index-28849c61.js';
5
- import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-dcc93658.js';
5
+ import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-e7b9d6d9.js';
6
6
  import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-63d1a679.js';
7
7
  import { r as raf, g as getElementRoot, a as addEventListener, k as hasLazyBuild } from './helpers-da915de8.js';
8
8
  import { c as createLockController } from './lock-controller-316928be.js';
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { r as registerInstance, h, j as forceUpdate, f as Host, i as getElement } from './index-28849c61.js';
5
5
  import { b as getIonMode } from './ionic-global-c81d82ab.js';
6
- import { s as safeCall } from './overlays-dcc93658.js';
6
+ import { s as safeCall } from './overlays-e7b9d6d9.js';
7
7
  import { g as getClassMap } from './theme-01f3f29c.js';
8
8
  import './index-a5d50daf.js';
9
9
  import './helpers-da915de8.js';
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, h, f as Host, i as getElement,
5
5
  import { c as createNotchController } from './notch-controller-55b09e11.js';
6
6
  import { i as isOptionSelected, c as compareOptions } from './compare-with-utils-a96ff2ea.js';
7
7
  import { h as inheritAttributes, f as focusVisibleElement, d as renderHiddenInput } from './helpers-da915de8.js';
8
- import { c as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-dcc93658.js';
8
+ import { c as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-e7b9d6d9.js';
9
9
  import { i as isRTL } from './dir-babeabeb.js';
10
10
  import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-01f3f29c.js';
11
11
  import { w as watchForOptions } from './watch-options-c2911ace.js';
@@ -6,7 +6,7 @@ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './conf
6
6
  import { g as getElementRoot, r as raf } from './helpers-da915de8.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
8
  import { p as printIonWarning } from './index-9b0d46f4.js';
9
- import { O as OVERLAY_GESTURE_PRIORITY, d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall, G as GESTURE } from './overlays-dcc93658.js';
9
+ import { O as OVERLAY_GESTURE_PRIORITY, d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall, G as GESTURE } from './overlays-e7b9d6d9.js';
10
10
  import { c as createColorClasses, g as getClassMap } from './theme-01f3f29c.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global-c81d82ab.js';
12
12
  import { c as createAnimation } from './animation-eab5a4ca.js';