@ionic/core 7.4.1-dev.11694783260.13da477f → 7.4.1-dev.11695086793.1e3a3640

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 (71) hide show
  1. package/components/ion-menu.js +2 -2
  2. package/components/overlays.js +2 -19
  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 +2 -2
  7. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  8. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  9. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  10. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  11. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  12. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  13. package/dist/cjs/{overlays-5ec9419b.js → overlays-c78a0148.js} +4 -21
  14. package/dist/collection/components/menu/menu.ios.css +20 -12
  15. package/dist/collection/components/menu/menu.md.css +20 -12
  16. package/dist/collection/components/menu/test/safe-area/menu.e2e.js +87 -0
  17. package/dist/collection/utils/overlays.js +2 -19
  18. package/dist/docs.json +1 -1
  19. package/dist/esm/index.js +1 -1
  20. package/dist/esm/ion-action-sheet.entry.js +1 -1
  21. package/dist/esm/ion-alert.entry.js +1 -1
  22. package/dist/esm/ion-datetime_3.entry.js +2 -2
  23. package/dist/esm/ion-loading.entry.js +2 -2
  24. package/dist/esm/ion-menu_3.entry.js +3 -3
  25. package/dist/esm/ion-modal.entry.js +1 -1
  26. package/dist/esm/ion-popover.entry.js +2 -2
  27. package/dist/esm/ion-select_3.entry.js +1 -1
  28. package/dist/esm/ion-toast.entry.js +2 -2
  29. package/dist/esm/{overlays-99dddd1a.js → overlays-4565894b.js} +2 -19
  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_3.entry.js +1 -1
  39. package/dist/esm-es5/ion-toast.entry.js +1 -1
  40. package/dist/esm-es5/overlays-4565894b.js +4 -0
  41. package/dist/ionic/index.esm.js +1 -1
  42. package/dist/ionic/ionic.esm.js +1 -1
  43. package/dist/ionic/{p-daf7b373.entry.js → p-072f99fd.entry.js} +1 -1
  44. package/dist/ionic/{p-8e72b66b.entry.js → p-11d0977d.entry.js} +1 -1
  45. package/dist/ionic/{p-66488ac4.system.entry.js → p-264b5dd9.system.entry.js} +1 -1
  46. package/dist/ionic/{p-11dda9d2.entry.js → p-28d8b87b.entry.js} +1 -1
  47. package/dist/ionic/{p-3af21be1.entry.js → p-49f2eaa6.entry.js} +1 -1
  48. package/dist/ionic/{p-ffe9cbe5.entry.js → p-52edd6b0.entry.js} +1 -1
  49. package/dist/ionic/p-56495958.js +4 -0
  50. package/dist/ionic/{p-5ff498c5.system.entry.js → p-5a9dc764.system.entry.js} +1 -1
  51. package/dist/ionic/{p-76eb5214.system.entry.js → p-6ccffb74.system.entry.js} +1 -1
  52. package/dist/ionic/{p-0145346f.system.entry.js → p-95188051.system.entry.js} +1 -1
  53. package/dist/ionic/{p-b4f73fa4.entry.js → p-9eced28c.entry.js} +1 -1
  54. package/dist/ionic/{p-a6dcd80e.system.js → p-9fccec52.system.js} +1 -1
  55. package/dist/ionic/{p-3d9eb4d8.system.entry.js → p-a037b6d5.system.entry.js} +1 -1
  56. package/dist/ionic/{p-4a0beed4.entry.js → p-ab051966.entry.js} +1 -1
  57. package/dist/ionic/p-bfee11b2.system.js +4 -0
  58. package/dist/ionic/{p-83966577.system.entry.js → p-c005eb67.system.entry.js} +1 -1
  59. package/dist/ionic/p-c68a8814.system.js +1 -1
  60. package/dist/ionic/{p-8761adac.entry.js → p-cd002251.entry.js} +1 -1
  61. package/dist/ionic/p-d74363db.entry.js +4 -0
  62. package/dist/ionic/{p-745d5ccf.system.entry.js → p-d8d30fd1.system.entry.js} +1 -1
  63. package/dist/ionic/{p-fa700c09.system.entry.js → p-e239ab05.system.entry.js} +1 -1
  64. package/dist/ionic/p-ff0615d9.system.entry.js +4 -0
  65. package/hydrate/index.js +4 -20
  66. package/package.json +3 -3
  67. package/dist/esm-es5/overlays-99dddd1a.js +0 -4
  68. package/dist/ionic/p-6121347a.js +0 -4
  69. package/dist/ionic/p-b10fca60.entry.js +0 -4
  70. package/dist/ionic/p-c528cdee.system.entry.js +0 -4
  71. package/dist/ionic/p-df89f48b.system.js +0 -4
@@ -11,9 +11,9 @@ import { o as getOverlay } from './overlays.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global.js';
12
12
  import { d as defineCustomElement$2 } from './backdrop.js';
13
13
 
14
- 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}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:env(safe-area-inset-left);--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){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
14
+ 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}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}: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) .menu-inner:dir(rtl){--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}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}: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) .menu-inner:dir(rtl){--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){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
15
15
 
16
- const menuMdCss = ":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}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:env(safe-area-inset-left);--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){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
16
+ const menuMdCss = ":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}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}: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) .menu-inner:dir(rtl){--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}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}: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) .menu-inner:dir(rtl){--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){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
17
17
 
18
18
  const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
19
19
  const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';
@@ -1,7 +1,6 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { d as doc } from './index5.js';
5
4
  import { b as getIonMode, c as config } from './ionic-global.js';
6
5
  import { C as CoreDelegate } from './framework-delegate.js';
7
6
  import { OVERLAY_BACK_BUTTON_PRIORITY } from './hardware-back-button.js';
@@ -323,16 +322,6 @@ const getOverlays = (doc, selector) => {
323
322
  }
324
323
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
325
324
  };
326
- /**
327
- * Returns a list of all presented overlays.
328
- * Inline overlays can exist in the DOM but not be presented,
329
- * so there are times when we want to exclude those.
330
- * @param doc The document to find the element within.
331
- * @param overlayTag The selector for the overlay, defaults to Ionic overlay components.
332
- */
333
- const getPresentedOverlays = (doc, overlayTag) => {
334
- return getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
335
- };
336
325
  /**
337
326
  * Returns an overlay element
338
327
  * @param doc The document to find the element within.
@@ -341,7 +330,7 @@ const getPresentedOverlays = (doc, overlayTag) => {
341
330
  * @returns The overlay element or `undefined` if no overlay element is found.
342
331
  */
343
332
  const getOverlay = (doc, overlayTag, id) => {
344
- const overlays = getPresentedOverlays(doc, overlayTag);
333
+ const overlays = getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
345
334
  return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
346
335
  };
347
336
  /**
@@ -447,13 +436,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
447
436
  if (!overlay.presented) {
448
437
  return false;
449
438
  }
450
- /**
451
- * If this is the last visible overlay then
452
- * we want to re-add the root to the accessibility tree.
453
- */
454
- if (doc !== undefined && getPresentedOverlays(doc).length === 1) {
455
- setRootAriaHidden(false);
456
- }
439
+ setRootAriaHidden(false);
457
440
  overlay.presented = false;
458
441
  try {
459
442
  // Overlay contents should not be clickable during dismiss
@@ -15,7 +15,7 @@ const ionicGlobal = require('./ionic-global-6d5d27b5.js');
15
15
  const helpers = require('./helpers-ea4ccbcb.js');
16
16
  const config = require('./config-d5882735.js');
17
17
  const index$2 = require('./index-e6416850.js');
18
- const overlays = require('./overlays-5ec9419b.js');
18
+ const overlays = require('./overlays-c78a0148.js');
19
19
  require('./index-306a7476.js');
20
20
  require('./index-184fdd62.js');
21
21
  require('./gesture-controller-b46721be.js');
@@ -9,7 +9,7 @@ const index = require('./index-184fdd62.js');
9
9
  const buttonActive = require('./button-active-0ff8e82c.js');
10
10
  const helpers = require('./helpers-ea4ccbcb.js');
11
11
  const lockController = require('./lock-controller-4ae2eb59.js');
12
- const overlays = require('./overlays-5ec9419b.js');
12
+ const overlays = require('./overlays-c78a0148.js');
13
13
  const theme = require('./theme-fbc56b3b.js');
14
14
  const ionicGlobal = require('./ionic-global-6d5d27b5.js');
15
15
  const animation = require('./animation-2bb33618.js');
@@ -10,7 +10,7 @@ const config = require('./config-d5882735.js');
10
10
  const buttonActive = require('./button-active-0ff8e82c.js');
11
11
  const helpers = require('./helpers-ea4ccbcb.js');
12
12
  const lockController = require('./lock-controller-4ae2eb59.js');
13
- const overlays = require('./overlays-5ec9419b.js');
13
+ const overlays = require('./overlays-c78a0148.js');
14
14
  const theme = require('./theme-fbc56b3b.js');
15
15
  const ionicGlobal = require('./ionic-global-6d5d27b5.js');
16
16
  const animation = require('./animation-2bb33618.js');
@@ -15,12 +15,12 @@ const index$2 = require('./index-d8d1fc0b.js');
15
15
  const ionicGlobal = require('./ionic-global-6d5d27b5.js');
16
16
  const data = require('./data-db832785.js');
17
17
  const lockController = require('./lock-controller-4ae2eb59.js');
18
- const overlays = require('./overlays-5ec9419b.js');
18
+ const overlays = require('./overlays-c78a0148.js');
19
19
  const animation = require('./animation-2bb33618.js');
20
20
  const haptic = require('./haptic-c5f6b4d5.js');
21
- require('./index-306a7476.js');
22
21
  require('./framework-delegate-c0873a6f.js');
23
22
  require('./hardware-back-button-b67c8e75.js');
23
+ require('./index-306a7476.js');
24
24
  require('./capacitor-2ffba62a.js');
25
25
 
26
26
  const isYearDisabled = (refYear, minParts, maxParts) => {
@@ -9,14 +9,14 @@ const index = require('./index-184fdd62.js');
9
9
  const config = require('./config-d5882735.js');
10
10
  const helpers = require('./helpers-ea4ccbcb.js');
11
11
  const lockController = require('./lock-controller-4ae2eb59.js');
12
- const overlays = require('./overlays-5ec9419b.js');
12
+ const overlays = require('./overlays-c78a0148.js');
13
13
  const theme = require('./theme-fbc56b3b.js');
14
14
  const ionicGlobal = require('./ionic-global-6d5d27b5.js');
15
15
  const animation = require('./animation-2bb33618.js');
16
- require('./index-306a7476.js');
17
16
  require('./framework-delegate-c0873a6f.js');
18
17
  require('./hardware-back-button-b67c8e75.js');
19
18
  require('./index-cc7dfb7c.js');
19
+ require('./index-306a7476.js');
20
20
 
21
21
  /**
22
22
  * iOS Loading Enter Animation
@@ -11,7 +11,7 @@ const index$2 = require('./index-306a7476.js');
11
11
  const gestureController = require('./gesture-controller-b46721be.js');
12
12
  const helpers = require('./helpers-ea4ccbcb.js');
13
13
  const index$1 = require('./index-e6416850.js');
14
- const overlays = require('./overlays-5ec9419b.js');
14
+ const overlays = require('./overlays-c78a0148.js');
15
15
  const ionicGlobal = require('./ionic-global-6d5d27b5.js');
16
16
  const theme = require('./theme-fbc56b3b.js');
17
17
  const index$3 = require('./index-d8d1fc0b.js');
@@ -20,9 +20,9 @@ require('./animation-2bb33618.js');
20
20
  require('./framework-delegate-c0873a6f.js');
21
21
  require('./index-cc7dfb7c.js');
22
22
 
23
- 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}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:env(safe-area-inset-left);--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){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
23
+ 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}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}: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) .menu-inner:dir(rtl){--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}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}: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) .menu-inner:dir(rtl){--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){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
24
24
 
25
- const menuMdCss = ":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}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:env(safe-area-inset-left);--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){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
25
+ const menuMdCss = ":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}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}: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) .menu-inner:dir(rtl){--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}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}: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) .menu-inner:dir(rtl){--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){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
26
26
 
27
27
  const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
28
28
  const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';
@@ -12,7 +12,7 @@ const helpers = require('./helpers-ea4ccbcb.js');
12
12
  const lockController = require('./lock-controller-4ae2eb59.js');
13
13
  const index$4 = require('./index-cc7dfb7c.js');
14
14
  const capacitor = require('./capacitor-2ffba62a.js');
15
- const overlays = require('./overlays-5ec9419b.js');
15
+ const overlays = require('./overlays-c78a0148.js');
16
16
  const theme = require('./theme-fbc56b3b.js');
17
17
  const index$5 = require('./index-be8a2ab9.js');
18
18
  const ionicGlobal = require('./ionic-global-6d5d27b5.js');
@@ -10,13 +10,13 @@ const frameworkDelegate = require('./framework-delegate-c0873a6f.js');
10
10
  const helpers = require('./helpers-ea4ccbcb.js');
11
11
  const lockController = require('./lock-controller-4ae2eb59.js');
12
12
  const index$1 = require('./index-cc7dfb7c.js');
13
- const overlays = require('./overlays-5ec9419b.js');
13
+ const overlays = require('./overlays-c78a0148.js');
14
14
  const ionicGlobal = require('./ionic-global-6d5d27b5.js');
15
15
  const theme = require('./theme-fbc56b3b.js');
16
16
  const index$2 = require('./index-be8a2ab9.js');
17
17
  const animation = require('./animation-2bb33618.js');
18
- require('./index-306a7476.js');
19
18
  require('./hardware-back-button-b67c8e75.js');
19
+ require('./index-306a7476.js');
20
20
 
21
21
  /**
22
22
  * Returns the dimensions of the popover
@@ -10,7 +10,7 @@ const formController = require('./form-controller-5e223b54.js');
10
10
  const notchController = require('./notch-controller-f4f6af5d.js');
11
11
  const helpers = require('./helpers-ea4ccbcb.js');
12
12
  const index$1 = require('./index-cc7dfb7c.js');
13
- const overlays = require('./overlays-5ec9419b.js');
13
+ const overlays = require('./overlays-c78a0148.js');
14
14
  const dir = require('./dir-f1e0ca26.js');
15
15
  const theme = require('./theme-fbc56b3b.js');
16
16
  const watchOptions = require('./watch-options-f3f77e54.js');
@@ -10,13 +10,13 @@ const config = require('./config-d5882735.js');
10
10
  const helpers = require('./helpers-ea4ccbcb.js');
11
11
  const lockController = require('./lock-controller-4ae2eb59.js');
12
12
  const index$1 = require('./index-cc7dfb7c.js');
13
- const overlays = require('./overlays-5ec9419b.js');
13
+ const overlays = require('./overlays-c78a0148.js');
14
14
  const theme = require('./theme-fbc56b3b.js');
15
15
  const ionicGlobal = require('./ionic-global-6d5d27b5.js');
16
16
  const animation = require('./animation-2bb33618.js');
17
- require('./index-306a7476.js');
18
17
  require('./framework-delegate-c0873a6f.js');
19
18
  require('./hardware-back-button-b67c8e75.js');
19
+ require('./index-306a7476.js');
20
20
 
21
21
  /**
22
22
  * iOS Toast Enter Animation
@@ -3,12 +3,11 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-306a7476.js');
7
6
  const ionicGlobal = require('./ionic-global-6d5d27b5.js');
8
7
  const frameworkDelegate = require('./framework-delegate-c0873a6f.js');
9
8
  const hardwareBackButton = require('./hardware-back-button-b67c8e75.js');
10
9
  const helpers = require('./helpers-ea4ccbcb.js');
11
- const index$1 = require('./index-cc7dfb7c.js');
10
+ const index = require('./index-cc7dfb7c.js');
12
11
 
13
12
  let lastOverlayIndex = 0;
14
13
  let lastId = 0;
@@ -325,16 +324,6 @@ const getOverlays = (doc, selector) => {
325
324
  }
326
325
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
327
326
  };
328
- /**
329
- * Returns a list of all presented overlays.
330
- * Inline overlays can exist in the DOM but not be presented,
331
- * so there are times when we want to exclude those.
332
- * @param doc The document to find the element within.
333
- * @param overlayTag The selector for the overlay, defaults to Ionic overlay components.
334
- */
335
- const getPresentedOverlays = (doc, overlayTag) => {
336
- return getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
337
- };
338
327
  /**
339
328
  * Returns an overlay element
340
329
  * @param doc The document to find the element within.
@@ -343,7 +332,7 @@ const getPresentedOverlays = (doc, overlayTag) => {
343
332
  * @returns The overlay element or `undefined` if no overlay element is found.
344
333
  */
345
334
  const getOverlay = (doc, overlayTag, id) => {
346
- const overlays = getPresentedOverlays(doc, overlayTag);
335
+ const overlays = getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
347
336
  return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
348
337
  };
349
338
  /**
@@ -449,13 +438,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
449
438
  if (!overlay.presented) {
450
439
  return false;
451
440
  }
452
- /**
453
- * If this is the last visible overlay then
454
- * we want to re-add the root to the accessibility tree.
455
- */
456
- if (index.doc !== undefined && getPresentedOverlays(index.doc).length === 1) {
457
- setRootAriaHidden(false);
458
- }
441
+ setRootAriaHidden(false);
459
442
  overlay.presented = false;
460
443
  try {
461
444
  // Overlay contents should not be clickable during dismiss
@@ -667,7 +650,7 @@ const createTriggerController = () => {
667
650
  removeClickListener();
668
651
  const triggerEl = trigger !== undefined ? document.getElementById(trigger) : null;
669
652
  if (!triggerEl) {
670
- index$1.printIonWarning(`A trigger element with the ID "${trigger}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`, el);
653
+ index.printIonWarning(`A trigger element with the ID "${trigger}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`, el);
671
654
  return;
672
655
  }
673
656
  const configureTriggerInteraction = (targetEl, overlayEl) => {
@@ -97,12 +97,14 @@
97
97
  * Otherwise, the content will have less space on both sides.
98
98
  *
99
99
  * RTL:
100
- * The right side of the menu touches the screen edge. The safe area padding has
101
- * already been set in the core styles, so there's no need to set it again.
100
+ * The right side of the menu touches the screen edge.
101
+ * The right side needs to revert back to the default value that was set in the core styles, so we unset it here.
102
+ * This would keep the variable consistent with the core styles.
103
+ * Additionally, it would continue to allow users to override the variable if they choose to.
102
104
  * The left side of the menu is not touching the screen edge. Padding is not
103
105
  * applied to the left side of the menu. A value of 0 is set.
104
106
  */
105
- --ion-safe-area-right: env(safe-area-inset-right);
107
+ --ion-safe-area-right: unset;
106
108
  --ion-safe-area-left: 0px;
107
109
  }
108
110
 
@@ -115,12 +117,14 @@
115
117
  * Otherwise, the content will have less space on both sides.
116
118
  *
117
119
  * RTL:
118
- * The right side of the menu touches the screen edge. The safe area padding has
119
- * already been set in the core styles, so there's no need to set it again.
120
+ * The right side of the menu touches the screen edge.
121
+ * The right side needs to revert back to the default value that was set in the core styles, so we unset it here.
122
+ * This would keep the variable consistent with the core styles.
123
+ * Additionally, it would continue to allow users to override the variable if they choose to.
120
124
  * The left side of the menu is not touching the screen edge. Padding is not
121
125
  * applied to the left side of the menu. A value of 0 is set.
122
126
  */
123
- --ion-safe-area-right: env(safe-area-inset-right);
127
+ --ion-safe-area-right: unset;
124
128
  --ion-safe-area-left: 0px;
125
129
  }
126
130
  }
@@ -176,12 +180,14 @@
176
180
  * Otherwise, the content will have less space on both sides.
177
181
  *
178
182
  * RTL:
179
- * The left side of the menu touches the screen edge. The safe area padding has
180
- * already been set in the core styles, so there's no need to set it again.
183
+ * The left side of the menu touches the screen edge.
184
+ * The left side needs to revert back to the default value that was set in the core styles, so we unset it here.
185
+ * This would keep the variable consistent with the core styles.
186
+ * Additionally, it would continue to allow users to override the variable if they choose to.
181
187
  * The right side of the menu is not touching the screen edge. Padding is not
182
188
  * applied to the right side of the menu. A value of 0 is set.
183
189
  */
184
- --ion-safe-area-left: env(safe-area-inset-left);
190
+ --ion-safe-area-left: unset;
185
191
  --ion-safe-area-right: 0px;
186
192
  }
187
193
 
@@ -194,12 +200,14 @@
194
200
  * Otherwise, the content will have less space on both sides.
195
201
  *
196
202
  * RTL:
197
- * The left side of the menu touches the screen edge. The safe area padding has
198
- * already been set in the core styles, so there's no need to set it again.
203
+ * The left side of the menu touches the screen edge.
204
+ * The left side needs to revert back to the default value that was set in the core styles, so we unset it here.
205
+ * This would keep the variable consistent with the core styles.
206
+ * Additionally, it would continue to allow users to override the variable if they choose to.
199
207
  * The right side of the menu is not touching the screen edge. Padding is not
200
208
  * applied to the right side of the menu. A value of 0 is set.
201
209
  */
202
- --ion-safe-area-left: env(safe-area-inset-left);
210
+ --ion-safe-area-left: unset;
203
211
  --ion-safe-area-right: 0px;
204
212
  }
205
213
  }
@@ -97,12 +97,14 @@
97
97
  * Otherwise, the content will have less space on both sides.
98
98
  *
99
99
  * RTL:
100
- * The right side of the menu touches the screen edge. The safe area padding has
101
- * already been set in the core styles, so there's no need to set it again.
100
+ * The right side of the menu touches the screen edge.
101
+ * The right side needs to revert back to the default value that was set in the core styles, so we unset it here.
102
+ * This would keep the variable consistent with the core styles.
103
+ * Additionally, it would continue to allow users to override the variable if they choose to.
102
104
  * The left side of the menu is not touching the screen edge. Padding is not
103
105
  * applied to the left side of the menu. A value of 0 is set.
104
106
  */
105
- --ion-safe-area-right: env(safe-area-inset-right);
107
+ --ion-safe-area-right: unset;
106
108
  --ion-safe-area-left: 0px;
107
109
  }
108
110
 
@@ -115,12 +117,14 @@
115
117
  * Otherwise, the content will have less space on both sides.
116
118
  *
117
119
  * RTL:
118
- * The right side of the menu touches the screen edge. The safe area padding has
119
- * already been set in the core styles, so there's no need to set it again.
120
+ * The right side of the menu touches the screen edge.
121
+ * The right side needs to revert back to the default value that was set in the core styles, so we unset it here.
122
+ * This would keep the variable consistent with the core styles.
123
+ * Additionally, it would continue to allow users to override the variable if they choose to.
120
124
  * The left side of the menu is not touching the screen edge. Padding is not
121
125
  * applied to the left side of the menu. A value of 0 is set.
122
126
  */
123
- --ion-safe-area-right: env(safe-area-inset-right);
127
+ --ion-safe-area-right: unset;
124
128
  --ion-safe-area-left: 0px;
125
129
  }
126
130
  }
@@ -176,12 +180,14 @@
176
180
  * Otherwise, the content will have less space on both sides.
177
181
  *
178
182
  * RTL:
179
- * The left side of the menu touches the screen edge. The safe area padding has
180
- * already been set in the core styles, so there's no need to set it again.
183
+ * The left side of the menu touches the screen edge.
184
+ * The left side needs to revert back to the default value that was set in the core styles, so we unset it here.
185
+ * This would keep the variable consistent with the core styles.
186
+ * Additionally, it would continue to allow users to override the variable if they choose to.
181
187
  * The right side of the menu is not touching the screen edge. Padding is not
182
188
  * applied to the right side of the menu. A value of 0 is set.
183
189
  */
184
- --ion-safe-area-left: env(safe-area-inset-left);
190
+ --ion-safe-area-left: unset;
185
191
  --ion-safe-area-right: 0px;
186
192
  }
187
193
 
@@ -194,12 +200,14 @@
194
200
  * Otherwise, the content will have less space on both sides.
195
201
  *
196
202
  * RTL:
197
- * The left side of the menu touches the screen edge. The safe area padding has
198
- * already been set in the core styles, so there's no need to set it again.
203
+ * The left side of the menu touches the screen edge.
204
+ * The left side needs to revert back to the default value that was set in the core styles, so we unset it here.
205
+ * This would keep the variable consistent with the core styles.
206
+ * Additionally, it would continue to allow users to override the variable if they choose to.
199
207
  * The right side of the menu is not touching the screen edge. Padding is not
200
208
  * applied to the right side of the menu. A value of 0 is set.
201
209
  */
202
- --ion-safe-area-left: env(safe-area-inset-left);
210
+ --ion-safe-area-left: unset;
203
211
  --ion-safe-area-right: 0px;
204
212
  }
205
213
  }
@@ -0,0 +1,87 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ /**
7
+ * This behavior does not vary across modes.
8
+ */
9
+ configs({ modes: ['md'] }).forEach(({ title, config, screenshot }) => {
10
+ test.describe(title('menu: safe area'), () => {
11
+ test.beforeEach(async ({ page }) => {
12
+ await page.goto(`/src/components/menu/test/safe-area`, config);
13
+ });
14
+ test.describe('side: start', () => {
15
+ test('should render with safe area when notch is on the left', async ({ page }) => {
16
+ const ionDidOpen = await page.spyOnEvent('ionDidOpen');
17
+ await page.evaluate(() => {
18
+ const style = document.querySelector('style');
19
+ style.innerHTML = `
20
+ :root {
21
+ --ion-safe-area-left: 50px !important;
22
+ --ion-safe-area-right: 10px !important;
23
+ }
24
+ `;
25
+ });
26
+ await page.click('#open-start');
27
+ await ionDidOpen.next();
28
+ const startMenu = page.locator('[menu-id="start-menu"]');
29
+ await expect(startMenu).toHaveClass(/show-menu/);
30
+ await expect(page).toHaveScreenshot(screenshot(`menu-start-safe-area-left-notch`));
31
+ });
32
+ test('should render with safe area when notch is on the right', async ({ page }) => {
33
+ const ionDidOpen = await page.spyOnEvent('ionDidOpen');
34
+ await page.evaluate(() => {
35
+ const style = document.querySelector('style');
36
+ style.innerHTML = `
37
+ :root {
38
+ --ion-safe-area-left: 10px !important;
39
+ --ion-safe-area-right: 50px !important;
40
+ }
41
+ `;
42
+ });
43
+ await page.click('#open-start');
44
+ await ionDidOpen.next();
45
+ const startMenu = page.locator('[menu-id="start-menu"]');
46
+ await expect(startMenu).toHaveClass(/show-menu/);
47
+ await expect(page).toHaveScreenshot(screenshot(`menu-start-safe-area-right-notch`));
48
+ });
49
+ });
50
+ test.describe('side: end', () => {
51
+ test('should render with safe area when notch is on the left', async ({ page }) => {
52
+ const ionDidOpen = await page.spyOnEvent('ionDidOpen');
53
+ await page.evaluate(() => {
54
+ const style = document.querySelector('style');
55
+ style.innerHTML = `
56
+ :root {
57
+ --ion-safe-area-left: 50px !important;
58
+ --ion-safe-area-right: 10px !important;
59
+ }
60
+ `;
61
+ });
62
+ await page.click('#open-end');
63
+ await ionDidOpen.next();
64
+ const endMenu = page.locator('[menu-id="end-menu"]');
65
+ await expect(endMenu).toHaveClass(/show-menu/);
66
+ await expect(page).toHaveScreenshot(screenshot(`menu-end-safe-area-left-notch`));
67
+ });
68
+ test('should render with safe area when notch is on the right', async ({ page }) => {
69
+ const ionDidOpen = await page.spyOnEvent('ionDidOpen');
70
+ await page.evaluate(() => {
71
+ const style = document.querySelector('style');
72
+ style.innerHTML = `
73
+ :root {
74
+ --ion-safe-area-left: 10px !important;
75
+ --ion-safe-area-right: 50px !important;
76
+ }
77
+ `;
78
+ });
79
+ await page.click('#open-end');
80
+ await ionDidOpen.next();
81
+ const endMenu = page.locator('[menu-id="end-menu"]');
82
+ await expect(endMenu).toHaveClass(/show-menu/);
83
+ await expect(page).toHaveScreenshot(screenshot(`menu-end-safe-area-right-notch`));
84
+ });
85
+ });
86
+ });
87
+ });
@@ -1,7 +1,6 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { doc } from "./browser/index";
5
4
  import { config } from "../global/config";
6
5
  import { getIonMode } from "../global/ionic-global";
7
6
  import { CoreDelegate } from "./framework-delegate";
@@ -323,16 +322,6 @@ export const getOverlays = (doc, selector) => {
323
322
  }
324
323
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
325
324
  };
326
- /**
327
- * Returns a list of all presented overlays.
328
- * Inline overlays can exist in the DOM but not be presented,
329
- * so there are times when we want to exclude those.
330
- * @param doc The document to find the element within.
331
- * @param overlayTag The selector for the overlay, defaults to Ionic overlay components.
332
- */
333
- const getPresentedOverlays = (doc, overlayTag) => {
334
- return getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
335
- };
336
325
  /**
337
326
  * Returns an overlay element
338
327
  * @param doc The document to find the element within.
@@ -341,7 +330,7 @@ const getPresentedOverlays = (doc, overlayTag) => {
341
330
  * @returns The overlay element or `undefined` if no overlay element is found.
342
331
  */
343
332
  export const getOverlay = (doc, overlayTag, id) => {
344
- const overlays = getPresentedOverlays(doc, overlayTag);
333
+ const overlays = getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
345
334
  return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
346
335
  };
347
336
  /**
@@ -447,13 +436,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
447
436
  if (!overlay.presented) {
448
437
  return false;
449
438
  }
450
- /**
451
- * If this is the last visible overlay then
452
- * we want to re-add the root to the accessibility tree.
453
- */
454
- if (doc !== undefined && getPresentedOverlays(doc).length === 1) {
455
- setRootAriaHidden(false);
456
- }
439
+ setRootAriaHidden(false);
457
440
  overlay.presented = false;
458
441
  try {
459
442
  // Overlay contents should not be clickable during dismiss
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2023-09-15T13:09:49",
2
+ "timestamp": "2023-09-19T01:29:05",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.2.1",
package/dist/esm/index.js CHANGED
@@ -11,7 +11,7 @@ export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-glo
11
11
  export { c as componentOnReady } from './helpers-3379ba19.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-96c9ace3.js';
13
13
  export { m as menuController } from './index-48f5e259.js';
14
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-99dddd1a.js';
14
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-4565894b.js';
15
15
  import './index-7a14ecec.js';
16
16
  import './index-adfb2000.js';
17
17
  import './gesture-controller-0fa396c4.js';
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, e as readTask, h, H as Host, f
5
5
  import { c as createButtonActiveGesture } from './button-active-b76ae4ec.js';
6
6
  import { r as raf } from './helpers-3379ba19.js';
7
7
  import { c as createLockController } from './lock-controller-e8c6c051.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-99dddd1a.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-4565894b.js';
9
9
  import { g as getClassMap } from './theme-17531cdf.js';
10
10
  import { b as getIonMode } from './ionic-global-9080266a.js';
11
11
  import { c as createAnimation } from './animation-a1d9e088.js';