@ionic/core 7.4.0 → 7.4.1-dev.11694783260.13da477f

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 (65) hide show
  1. package/components/overlays.js +19 -2
  2. package/dist/cjs/index.cjs.js +1 -1
  3. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  4. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  5. package/dist/cjs/ion-datetime_3.cjs.entry.js +2 -2
  6. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  7. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  8. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  9. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  10. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  11. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  12. package/dist/cjs/{overlays-c78a0148.js → overlays-5ec9419b.js} +21 -4
  13. package/dist/collection/utils/overlays.js +19 -2
  14. package/dist/docs.json +1 -1
  15. package/dist/esm/index.js +1 -1
  16. package/dist/esm/ion-action-sheet.entry.js +1 -1
  17. package/dist/esm/ion-alert.entry.js +1 -1
  18. package/dist/esm/ion-datetime_3.entry.js +2 -2
  19. package/dist/esm/ion-loading.entry.js +2 -2
  20. package/dist/esm/ion-menu_3.entry.js +1 -1
  21. package/dist/esm/ion-modal.entry.js +1 -1
  22. package/dist/esm/ion-popover.entry.js +2 -2
  23. package/dist/esm/ion-select_3.entry.js +1 -1
  24. package/dist/esm/ion-toast.entry.js +2 -2
  25. package/dist/esm/{overlays-4565894b.js → overlays-99dddd1a.js} +19 -2
  26. package/dist/esm-es5/index.js +1 -1
  27. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  28. package/dist/esm-es5/ion-alert.entry.js +1 -1
  29. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  30. package/dist/esm-es5/ion-loading.entry.js +1 -1
  31. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  32. package/dist/esm-es5/ion-modal.entry.js +1 -1
  33. package/dist/esm-es5/ion-popover.entry.js +1 -1
  34. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  35. package/dist/esm-es5/ion-toast.entry.js +1 -1
  36. package/dist/esm-es5/overlays-99dddd1a.js +4 -0
  37. package/dist/ionic/index.esm.js +1 -1
  38. package/dist/ionic/ionic.esm.js +1 -1
  39. package/dist/ionic/{p-95188051.system.entry.js → p-0145346f.system.entry.js} +1 -1
  40. package/dist/ionic/{p-28d8b87b.entry.js → p-11dda9d2.entry.js} +1 -1
  41. package/dist/ionic/{p-49f2eaa6.entry.js → p-3af21be1.entry.js} +1 -1
  42. package/dist/ionic/{p-a037b6d5.system.entry.js → p-3d9eb4d8.system.entry.js} +1 -1
  43. package/dist/ionic/{p-ab051966.entry.js → p-4a0beed4.entry.js} +1 -1
  44. package/dist/ionic/{p-5a9dc764.system.entry.js → p-5ff498c5.system.entry.js} +1 -1
  45. package/dist/ionic/p-6121347a.js +4 -0
  46. package/dist/ionic/{p-264b5dd9.system.entry.js → p-66488ac4.system.entry.js} +1 -1
  47. package/dist/ionic/{p-d8d30fd1.system.entry.js → p-745d5ccf.system.entry.js} +1 -1
  48. package/dist/ionic/{p-6ccffb74.system.entry.js → p-76eb5214.system.entry.js} +1 -1
  49. package/dist/ionic/{p-c005eb67.system.entry.js → p-83966577.system.entry.js} +1 -1
  50. package/dist/ionic/{p-cd002251.entry.js → p-8761adac.entry.js} +1 -1
  51. package/dist/ionic/{p-11d0977d.entry.js → p-8e72b66b.entry.js} +1 -1
  52. package/dist/ionic/{p-9fccec52.system.js → p-a6dcd80e.system.js} +1 -1
  53. package/dist/ionic/{p-83459b99.entry.js → p-b10fca60.entry.js} +1 -1
  54. package/dist/ionic/{p-9eced28c.entry.js → p-b4f73fa4.entry.js} +1 -1
  55. package/dist/ionic/{p-23ddd787.system.entry.js → p-c528cdee.system.entry.js} +1 -1
  56. package/dist/ionic/p-c68a8814.system.js +1 -1
  57. package/dist/ionic/{p-072f99fd.entry.js → p-daf7b373.entry.js} +1 -1
  58. package/dist/ionic/p-df89f48b.system.js +4 -0
  59. package/dist/ionic/{p-e239ab05.system.entry.js → p-fa700c09.system.entry.js} +1 -1
  60. package/dist/ionic/{p-52edd6b0.entry.js → p-ffe9cbe5.entry.js} +1 -1
  61. package/hydrate/index.js +18 -2
  62. package/package.json +1 -1
  63. package/dist/esm-es5/overlays-4565894b.js +0 -4
  64. package/dist/ionic/p-56495958.js +0 -4
  65. package/dist/ionic/p-bfee11b2.system.js +0 -4
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { d as doc } from './index5.js';
4
5
  import { b as getIonMode, c as config } from './ionic-global.js';
5
6
  import { C as CoreDelegate } from './framework-delegate.js';
6
7
  import { OVERLAY_BACK_BUTTON_PRIORITY } from './hardware-back-button.js';
@@ -322,6 +323,16 @@ const getOverlays = (doc, selector) => {
322
323
  }
323
324
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
324
325
  };
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
+ };
325
336
  /**
326
337
  * Returns an overlay element
327
338
  * @param doc The document to find the element within.
@@ -330,7 +341,7 @@ const getOverlays = (doc, selector) => {
330
341
  * @returns The overlay element or `undefined` if no overlay element is found.
331
342
  */
332
343
  const getOverlay = (doc, overlayTag, id) => {
333
- const overlays = getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
344
+ const overlays = getPresentedOverlays(doc, overlayTag);
334
345
  return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
335
346
  };
336
347
  /**
@@ -436,7 +447,13 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
436
447
  if (!overlay.presented) {
437
448
  return false;
438
449
  }
439
- setRootAriaHidden(false);
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
+ }
440
457
  overlay.presented = false;
441
458
  try {
442
459
  // 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-c78a0148.js');
18
+ const overlays = require('./overlays-5ec9419b.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-c78a0148.js');
12
+ const overlays = require('./overlays-5ec9419b.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-c78a0148.js');
13
+ const overlays = require('./overlays-5ec9419b.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-c78a0148.js');
18
+ const overlays = require('./overlays-5ec9419b.js');
19
19
  const animation = require('./animation-2bb33618.js');
20
20
  const haptic = require('./haptic-c5f6b4d5.js');
21
+ require('./index-306a7476.js');
21
22
  require('./framework-delegate-c0873a6f.js');
22
23
  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-c78a0148.js');
12
+ const overlays = require('./overlays-5ec9419b.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');
16
17
  require('./framework-delegate-c0873a6f.js');
17
18
  require('./hardware-back-button-b67c8e75.js');
18
19
  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-c78a0148.js');
14
+ const overlays = require('./overlays-5ec9419b.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');
@@ -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-c78a0148.js');
15
+ const overlays = require('./overlays-5ec9419b.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-c78a0148.js');
13
+ const overlays = require('./overlays-5ec9419b.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('./hardware-back-button-b67c8e75.js');
19
18
  require('./index-306a7476.js');
19
+ require('./hardware-back-button-b67c8e75.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-c78a0148.js');
13
+ const overlays = require('./overlays-5ec9419b.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-c78a0148.js');
13
+ const overlays = require('./overlays-5ec9419b.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');
17
18
  require('./framework-delegate-c0873a6f.js');
18
19
  require('./hardware-back-button-b67c8e75.js');
19
- require('./index-306a7476.js');
20
20
 
21
21
  /**
22
22
  * iOS Toast Enter Animation
@@ -3,11 +3,12 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
+ const index = require('./index-306a7476.js');
6
7
  const ionicGlobal = require('./ionic-global-6d5d27b5.js');
7
8
  const frameworkDelegate = require('./framework-delegate-c0873a6f.js');
8
9
  const hardwareBackButton = require('./hardware-back-button-b67c8e75.js');
9
10
  const helpers = require('./helpers-ea4ccbcb.js');
10
- const index = require('./index-cc7dfb7c.js');
11
+ const index$1 = require('./index-cc7dfb7c.js');
11
12
 
12
13
  let lastOverlayIndex = 0;
13
14
  let lastId = 0;
@@ -324,6 +325,16 @@ const getOverlays = (doc, selector) => {
324
325
  }
325
326
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
326
327
  };
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
+ };
327
338
  /**
328
339
  * Returns an overlay element
329
340
  * @param doc The document to find the element within.
@@ -332,7 +343,7 @@ const getOverlays = (doc, selector) => {
332
343
  * @returns The overlay element or `undefined` if no overlay element is found.
333
344
  */
334
345
  const getOverlay = (doc, overlayTag, id) => {
335
- const overlays = getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
346
+ const overlays = getPresentedOverlays(doc, overlayTag);
336
347
  return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
337
348
  };
338
349
  /**
@@ -438,7 +449,13 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
438
449
  if (!overlay.presented) {
439
450
  return false;
440
451
  }
441
- setRootAriaHidden(false);
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
+ }
442
459
  overlay.presented = false;
443
460
  try {
444
461
  // Overlay contents should not be clickable during dismiss
@@ -650,7 +667,7 @@ const createTriggerController = () => {
650
667
  removeClickListener();
651
668
  const triggerEl = trigger !== undefined ? document.getElementById(trigger) : null;
652
669
  if (!triggerEl) {
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);
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);
654
671
  return;
655
672
  }
656
673
  const configureTriggerInteraction = (targetEl, overlayEl) => {
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { doc } from "./browser/index";
4
5
  import { config } from "../global/config";
5
6
  import { getIonMode } from "../global/ionic-global";
6
7
  import { CoreDelegate } from "./framework-delegate";
@@ -322,6 +323,16 @@ export const getOverlays = (doc, selector) => {
322
323
  }
323
324
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
324
325
  };
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
+ };
325
336
  /**
326
337
  * Returns an overlay element
327
338
  * @param doc The document to find the element within.
@@ -330,7 +341,7 @@ export const getOverlays = (doc, selector) => {
330
341
  * @returns The overlay element or `undefined` if no overlay element is found.
331
342
  */
332
343
  export const getOverlay = (doc, overlayTag, id) => {
333
- const overlays = getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
344
+ const overlays = getPresentedOverlays(doc, overlayTag);
334
345
  return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
335
346
  };
336
347
  /**
@@ -436,7 +447,13 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
436
447
  if (!overlay.presented) {
437
448
  return false;
438
449
  }
439
- setRootAriaHidden(false);
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
+ }
440
457
  overlay.presented = false;
441
458
  try {
442
459
  // Overlay contents should not be clickable during dismiss
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2023-09-14T13:02:02",
2
+ "timestamp": "2023-09-15T13:09:49",
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-4565894b.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';
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-4565894b.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';
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';
@@ -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-b76ae4ec.js';
7
7
  import { r as raf } from './helpers-3379ba19.js';
8
8
  import { c as createLockController } from './lock-controller-e8c6c051.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-4565894b.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-99dddd1a.js';
10
10
  import { g as getClassMap } from './theme-17531cdf.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global-9080266a.js';
12
12
  import { c as createAnimation } from './animation-a1d9e088.js';
@@ -11,12 +11,12 @@ import { c as chevronBack, o as chevronForward, l as chevronDown, p as caretUpSh
11
11
  import { b as getIonMode } from './ionic-global-9080266a.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 getEndOfWeek, j as getStartOfWeek, k as getPreviousDay, l as getNextDay, m as getPreviousWeek, n as getNextWeek, p as parseMinParts, o as parseMaxParts, q as parseDate, w as warnIfValueOutOfBounds, r as convertToArrayOfNumbers, s as convertDataToISO, t as getToday, u as getClosestValidDate, x as getNumDaysInMonth, y as getCombinedDateColumnData, z as getMonthColumnData, A as getDayColumnData, B as getYearColumnData, C as isMonthFirstLocale, D as getTimeColumnsData, E as isLocaleDayPeriodRTL, F as getDaysOfWeek, G as getMonthAndYear, H as getDaysOfMonth, I as generateMonths, J as is24Hour, K as getLocalizedTime, L as getMonthAndDay, M as formatValue, N as getNextYear, O as getPreviousYear, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data-009dbf15.js';
13
13
  import { c as createLockController } from './lock-controller-e8c6c051.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-4565894b.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-99dddd1a.js';
15
15
  import { c as createAnimation } from './animation-a1d9e088.js';
16
16
  import { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-6447af60.js';
17
+ import './index-7a14ecec.js';
17
18
  import './framework-delegate-aa433dea.js';
18
19
  import './hardware-back-button-39299f84.js';
19
- import './index-7a14ecec.js';
20
20
  import './capacitor-b4979570.js';
21
21
 
22
22
  const isYearDisabled = (refYear, minParts, maxParts) => {
@@ -5,14 +5,14 @@ import { r as registerInstance, d as createEvent, h, H as Host, f as getElement
5
5
  import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-96c9ace3.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, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-4565894b.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-99dddd1a.js';
9
9
  import { g as getClassMap } from './theme-17531cdf.js';
10
10
  import { c as config, b as getIonMode } from './ionic-global-9080266a.js';
11
11
  import { c as createAnimation } from './animation-a1d9e088.js';
12
+ import './index-7a14ecec.js';
12
13
  import './framework-delegate-aa433dea.js';
13
14
  import './hardware-back-button-39299f84.js';
14
15
  import './index-595d62c9.js';
15
- import './index-7a14ecec.js';
16
16
 
17
17
  /**
18
18
  * iOS Loading Enter Animation
@@ -7,7 +7,7 @@ import { d as doc } from './index-7a14ecec.js';
7
7
  import { G as GESTURE_CONTROLLER } from './gesture-controller-0fa396c4.js';
8
8
  import { p as isEndSide, i as inheritAriaAttributes, o as assert, l as clamp } from './helpers-3379ba19.js';
9
9
  import { m as menuController } from './index-48f5e259.js';
10
- import { q as getOverlay } from './overlays-4565894b.js';
10
+ import { q as getOverlay } from './overlays-99dddd1a.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global-9080266a.js';
12
12
  import { c as createColorClasses, h as hostContext } from './theme-17531cdf.js';
13
13
  import { u as menuOutline, v as menuSharp } from './index-ecfc2c9f.js';
@@ -8,7 +8,7 @@ import { g as getElementRoot, l as clamp, r as raf, k as inheritAttributes, m as
8
8
  import { c as createLockController } from './lock-controller-e8c6c051.js';
9
9
  import { p as printIonWarning } from './index-595d62c9.js';
10
10
  import { g as getCapacitor } from './capacitor-b4979570.js';
11
- import { G as GESTURE, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as activeAnimations, g as dismiss, h as eventMethod } from './overlays-4565894b.js';
11
+ import { G as GESTURE, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as activeAnimations, g as dismiss, h as eventMethod } from './overlays-99dddd1a.js';
12
12
  import { g as getClassMap } from './theme-17531cdf.js';
13
13
  import { e as deepReady, w as waitForMount } from './index-01839411.js';
14
14
  import { b as getIonMode, c as config } from './ionic-global-9080266a.js';
@@ -6,13 +6,13 @@ import { C as CoreDelegate, a as attachComponent, d as detachComponent } from '.
6
6
  import { r as raf, g as getElementRoot, a as addEventListener, m as hasLazyBuild } from './helpers-3379ba19.js';
7
7
  import { c as createLockController } from './lock-controller-e8c6c051.js';
8
8
  import { p as printIonWarning } from './index-595d62c9.js';
9
- import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, o as focusFirstDescendant, g as dismiss, h as eventMethod } from './overlays-4565894b.js';
9
+ import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, o as focusFirstDescendant, g as dismiss, h as eventMethod } from './overlays-99dddd1a.js';
10
10
  import { b as getIonMode, a as isPlatform } from './ionic-global-9080266a.js';
11
11
  import { g as getClassMap } from './theme-17531cdf.js';
12
12
  import { e as deepReady, w as waitForMount } from './index-01839411.js';
13
13
  import { c as createAnimation } from './animation-a1d9e088.js';
14
- import './hardware-back-button-39299f84.js';
15
14
  import './index-7a14ecec.js';
15
+ import './hardware-back-button-39299f84.js';
16
16
 
17
17
  /**
18
18
  * Returns the dimensions of the popover
@@ -6,7 +6,7 @@ import { c as createLegacyFormController } from './form-controller-ed77647a.js';
6
6
  import { c as createNotchController } from './notch-controller-8c9c0e54.js';
7
7
  import { k as inheritAttributes, f as focusElement, h as findItemLabel, d as renderHiddenInput, e as getAriaLabel } from './helpers-3379ba19.js';
8
8
  import { p as printIonWarning } from './index-595d62c9.js';
9
- import { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-4565894b.js';
9
+ import { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-99dddd1a.js';
10
10
  import { i as isRTL } from './dir-912e3e13.js';
11
11
  import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-17531cdf.js';
12
12
  import { w as watchForOptions } from './watch-options-355a920a.js';
@@ -6,13 +6,13 @@ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './conf
6
6
  import { g as getElementRoot, r as raf } from './helpers-3379ba19.js';
7
7
  import { c as createLockController } from './lock-controller-e8c6c051.js';
8
8
  import { p as printIonWarning } from './index-595d62c9.js';
9
- import { 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 } from './overlays-4565894b.js';
9
+ import { 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 } from './overlays-99dddd1a.js';
10
10
  import { g as getClassMap, c as createColorClasses } from './theme-17531cdf.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global-9080266a.js';
12
12
  import { c as createAnimation } from './animation-a1d9e088.js';
13
+ import './index-7a14ecec.js';
13
14
  import './framework-delegate-aa433dea.js';
14
15
  import './hardware-back-button-39299f84.js';
15
- import './index-7a14ecec.js';
16
16
 
17
17
  /**
18
18
  * iOS Toast Enter Animation
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { d as doc } from './index-7a14ecec.js';
4
5
  import { b as getIonMode, c as config } from './ionic-global-9080266a.js';
5
6
  import { C as CoreDelegate } from './framework-delegate-aa433dea.js';
6
7
  import { OVERLAY_BACK_BUTTON_PRIORITY } from './hardware-back-button-39299f84.js';
@@ -322,6 +323,16 @@ const getOverlays = (doc, selector) => {
322
323
  }
323
324
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
324
325
  };
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
+ };
325
336
  /**
326
337
  * Returns an overlay element
327
338
  * @param doc The document to find the element within.
@@ -330,7 +341,7 @@ const getOverlays = (doc, selector) => {
330
341
  * @returns The overlay element or `undefined` if no overlay element is found.
331
342
  */
332
343
  const getOverlay = (doc, overlayTag, id) => {
333
- const overlays = getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
344
+ const overlays = getPresentedOverlays(doc, overlayTag);
334
345
  return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
335
346
  };
336
347
  /**
@@ -436,7 +447,13 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
436
447
  if (!overlay.presented) {
437
448
  return false;
438
449
  }
439
- setRootAriaHidden(false);
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
+ }
440
457
  overlay.presented = false;
441
458
  try {
442
459
  // Overlay contents should not be clickable during dismiss
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- export{c as createAnimation}from"./animation-a1d9e088.js";export{a as LIFECYCLE_DID_ENTER,c as LIFECYCLE_DID_LEAVE,L as LIFECYCLE_WILL_ENTER,b as LIFECYCLE_WILL_LEAVE,d as LIFECYCLE_WILL_UNLOAD,g as getIonPageElement}from"./index-01839411.js";export{iosTransitionAnimation}from"./ios.transition-f43871cd.js";export{mdTransitionAnimation}from"./md.transition-12d21ad0.js";export{g as getTimeGivenProgression}from"./cubic-bezier-66542bc5.js";export{createGesture}from"./index-ff313b19.js";export{g as getPlatforms,i as initialize,a as isPlatform}from"./ionic-global-9080266a.js";export{c as componentOnReady}from"./helpers-3379ba19.js";export{I as IonicSafeString,g as getMode,s as setupConfig}from"./config-96c9ace3.js";export{m as menuController}from"./index-48f5e259.js";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";import"./index-7a14ecec.js";import"./index-adfb2000.js";import"./gesture-controller-0fa396c4.js";import"./hardware-back-button-39299f84.js";import"./framework-delegate-aa433dea.js";import"./index-595d62c9.js";var IonicSlides=function(e){var o=e.swiper,t=e.extendParams;var s={effect:undefined,direction:"horizontal",initialSlide:0,loop:false,parallax:false,slidesPerView:1,spaceBetween:0,speed:300,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:false,slidesOffsetBefore:0,slidesOffsetAfter:0,touchEventsTarget:"container",freeMode:false,freeModeMomentum:true,freeModeMomentumRatio:1,freeModeMomentumBounce:true,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:false,freeModeMinimumVelocity:.02,autoHeight:false,setWrapperSize:false,zoom:{maxRatio:3,minRatio:1,toggle:false},touchRatio:1,touchAngle:45,simulateTouch:true,touchStartPreventDefault:false,shortSwipes:true,longSwipes:true,longSwipesRatio:.5,longSwipesMs:300,followFinger:true,threshold:0,touchMoveStopPropagation:true,touchReleaseOnEdges:false,iOSEdgeSwipeDetection:false,iOSEdgeSwipeThreshold:20,resistance:true,resistanceRatio:.85,watchSlidesProgress:false,watchSlidesVisibility:false,preventClicks:true,preventClicksPropagation:true,slideToClickedSlide:false,loopAdditionalSlides:0,noSwiping:true,runCallbacksOnInit:true,coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:true},flipEffect:{slideShadows:true,limitRotation:true},cubeEffect:{slideShadows:true,shadow:true,shadowOffset:20,shadowScale:.94},fadeEffect:{crossFade:false},a11y:{prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide"}};if(o.pagination){s.pagination={type:"bullets",clickable:false,hideOnClick:false}}if(o.scrollbar){s.scrollbar={hide:true}}t(s)};export{IonicSlides};
4
+ export{c as createAnimation}from"./animation-a1d9e088.js";export{a as LIFECYCLE_DID_ENTER,c as LIFECYCLE_DID_LEAVE,L as LIFECYCLE_WILL_ENTER,b as LIFECYCLE_WILL_LEAVE,d as LIFECYCLE_WILL_UNLOAD,g as getIonPageElement}from"./index-01839411.js";export{iosTransitionAnimation}from"./ios.transition-f43871cd.js";export{mdTransitionAnimation}from"./md.transition-12d21ad0.js";export{g as getTimeGivenProgression}from"./cubic-bezier-66542bc5.js";export{createGesture}from"./index-ff313b19.js";export{g as getPlatforms,i as initialize,a as isPlatform}from"./ionic-global-9080266a.js";export{c as componentOnReady}from"./helpers-3379ba19.js";export{I as IonicSafeString,g as getMode,s as setupConfig}from"./config-96c9ace3.js";export{m as menuController}from"./index-48f5e259.js";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";import"./index-7a14ecec.js";import"./index-adfb2000.js";import"./gesture-controller-0fa396c4.js";import"./hardware-back-button-39299f84.js";import"./framework-delegate-aa433dea.js";import"./index-595d62c9.js";var IonicSlides=function(e){var o=e.swiper,t=e.extendParams;var s={effect:undefined,direction:"horizontal",initialSlide:0,loop:false,parallax:false,slidesPerView:1,spaceBetween:0,speed:300,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:false,slidesOffsetBefore:0,slidesOffsetAfter:0,touchEventsTarget:"container",freeMode:false,freeModeMomentum:true,freeModeMomentumRatio:1,freeModeMomentumBounce:true,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:false,freeModeMinimumVelocity:.02,autoHeight:false,setWrapperSize:false,zoom:{maxRatio:3,minRatio:1,toggle:false},touchRatio:1,touchAngle:45,simulateTouch:true,touchStartPreventDefault:false,shortSwipes:true,longSwipes:true,longSwipesRatio:.5,longSwipesMs:300,followFinger:true,threshold:0,touchMoveStopPropagation:true,touchReleaseOnEdges:false,iOSEdgeSwipeDetection:false,iOSEdgeSwipeThreshold:20,resistance:true,resistanceRatio:.85,watchSlidesProgress:false,watchSlidesVisibility:false,preventClicks:true,preventClicksPropagation:true,slideToClickedSlide:false,loopAdditionalSlides:0,noSwiping:true,runCallbacksOnInit:true,coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:true},flipEffect:{slideShadows:true,limitRotation:true},cubeEffect:{slideShadows:true,shadow:true,shadowOffset:20,shadowScale:.94},fadeEffect:{crossFade:false},a11y:{prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide"}};if(o.pagination){s.pagination={type:"bullets",clickable:false,hideOnClick:false}}if(o.scrollbar){s.scrollbar={hide:true}}t(s)};export{IonicSlides};