@ionic/core 7.7.2-nightly.20240213 → 7.7.2

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 (70) hide show
  1. package/components/item.js +3 -12
  2. package/components/overlays.js +29 -3
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  5. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  6. package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
  7. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  8. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  9. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  10. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  11. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  12. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  13. package/dist/cjs/ion-toast.cjs.entry.js +1 -1
  14. package/dist/cjs/{overlays-853fbc2a.js → overlays-fb7ca451.js} +29 -3
  15. package/dist/collection/components/item/item.js +3 -12
  16. package/dist/collection/utils/overlays.js +29 -3
  17. package/dist/collection/utils/test/overlays/overlays.e2e.js +33 -0
  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 +1 -1
  23. package/dist/esm/ion-item_8.entry.js +2 -2
  24. package/dist/esm/ion-loading.entry.js +1 -1
  25. package/dist/esm/ion-menu_3.entry.js +1 -1
  26. package/dist/esm/ion-modal.entry.js +1 -1
  27. package/dist/esm/ion-popover.entry.js +1 -1
  28. package/dist/esm/ion-select_3.entry.js +1 -1
  29. package/dist/esm/ion-toast.entry.js +1 -1
  30. package/dist/esm/{overlays-f628ea0d.js → overlays-04a9a43f.js} +29 -3
  31. package/dist/esm-es5/index.js +1 -1
  32. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  33. package/dist/esm-es5/ion-alert.entry.js +1 -1
  34. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  35. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  36. package/dist/esm-es5/ion-loading.entry.js +1 -1
  37. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  38. package/dist/esm-es5/ion-modal.entry.js +1 -1
  39. package/dist/esm-es5/ion-popover.entry.js +1 -1
  40. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  41. package/dist/esm-es5/ion-toast.entry.js +1 -1
  42. package/dist/esm-es5/{overlays-f628ea0d.js → overlays-04a9a43f.js} +1 -1
  43. package/dist/ionic/index.esm.js +1 -1
  44. package/dist/ionic/ionic.esm.js +1 -1
  45. package/dist/ionic/{p-379dc0d8.entry.js → p-05d560ec.entry.js} +1 -1
  46. package/dist/ionic/p-0b34d3a7.system.js +1 -1
  47. package/dist/ionic/{p-02228941.system.entry.js → p-0e23c289.system.entry.js} +1 -1
  48. package/dist/ionic/{p-6b5ddd6f.system.entry.js → p-18beebdf.system.entry.js} +1 -1
  49. package/dist/ionic/{p-3996f9d5.system.entry.js → p-1924f2e0.system.entry.js} +2 -2
  50. package/dist/ionic/{p-03ef11fd.system.entry.js → p-2e1f014a.system.entry.js} +1 -1
  51. package/dist/ionic/{p-a06dd73e.entry.js → p-5b40d967.entry.js} +1 -1
  52. package/dist/ionic/{p-36129d85.entry.js → p-64761c90.entry.js} +1 -1
  53. package/dist/ionic/{p-a9de90a5.entry.js → p-91cb3f9a.entry.js} +1 -1
  54. package/dist/ionic/{p-7b260ba5.entry.js → p-94ff532b.entry.js} +1 -1
  55. package/dist/ionic/{p-e49bc381.system.entry.js → p-a022b684.system.entry.js} +1 -1
  56. package/dist/ionic/{p-80c7dd10.entry.js → p-a6e465f5.entry.js} +1 -1
  57. package/dist/ionic/{p-a726c887.entry.js → p-a8a56449.entry.js} +1 -1
  58. package/dist/ionic/{p-6c03fe3f.system.entry.js → p-aaaa615c.system.entry.js} +1 -1
  59. package/dist/ionic/{p-779fb2ab.system.entry.js → p-b7efc743.system.entry.js} +1 -1
  60. package/dist/ionic/{p-7b71daed.system.entry.js → p-ba97a133.system.entry.js} +1 -1
  61. package/dist/ionic/{p-9e986623.entry.js → p-bd4787eb.entry.js} +1 -1
  62. package/dist/ionic/{p-c05246a7.entry.js → p-c771a6ef.entry.js} +1 -1
  63. package/dist/ionic/{p-1cc2ce69.system.entry.js → p-caeefe16.system.entry.js} +1 -1
  64. package/dist/ionic/{p-c98011a7.entry.js → p-d39ab63d.entry.js} +1 -1
  65. package/dist/ionic/{p-b964aaa3.system.js → p-d4cadd34.system.js} +1 -1
  66. package/dist/ionic/{p-554cdfa6.js → p-dbcba5a2.js} +1 -1
  67. package/dist/ionic/{p-c2895673.system.js → p-e9f9388e.system.js} +1 -1
  68. package/dist/ionic/{p-d51bf7d0.system.entry.js → p-edcada2b.system.entry.js} +1 -1
  69. package/hydrate/index.js +31 -5
  70. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { proxyCustomElement, HTMLElement, forceUpdate, Build, h, Host } from '@stencil/core/internal/client';
4
+ import { proxyCustomElement, HTMLElement, forceUpdate, h, Host } from '@stencil/core/internal/client';
5
5
  import { d as inheritAttributes, r as raf } from './helpers.js';
6
6
  import { p as printIonWarning, a as printIonError } from './index6.js';
7
7
  import { h as hostContext, c as createColorClasses, o as openURL } from './theme.js';
@@ -200,15 +200,6 @@ const Item = /*@__PURE__*/ proxyCustomElement(class Item extends HTMLElement {
200
200
  }
201
201
  }
202
202
  getFirstInteractive() {
203
- if (Build.isTesting) {
204
- /**
205
- * Pseudo selectors can't be tested in unit tests.
206
- * It will cause an error when running the tests.
207
- *
208
- * TODO: FW-5205 - Remove the build conditional when this is fixed in Stencil
209
- */
210
- return undefined;
211
- }
212
203
  const controls = this.el.querySelectorAll('ion-toggle:not([disabled]), ion-checkbox:not([disabled]), ion-radio:not([disabled]), ion-select:not([disabled])');
213
204
  return controls[0];
214
205
  }
@@ -265,7 +256,7 @@ const Item = /*@__PURE__*/ proxyCustomElement(class Item extends HTMLElement {
265
256
  const ariaDisabled = disabled || childStyles['item-interactive-disabled'] ? 'true' : null;
266
257
  const fillValue = fill || 'none';
267
258
  const inList = hostContext('ion-list', this.el) && !hostContext('ion-radio-group', this.el);
268
- return (h(Host, { key: '941d21ee0c46e9fbc566469708579f8871d19c73', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
259
+ return (h(Host, { key: '077c9ab04985292f79c30691151d2778a26285fb', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
269
260
  item: true,
270
261
  [mode]: true,
271
262
  'item-lines-default': lines === undefined,
@@ -279,7 +270,7 @@ const Item = /*@__PURE__*/ proxyCustomElement(class Item extends HTMLElement {
279
270
  'ion-activatable': canActivate,
280
271
  'ion-focusable': this.focusable,
281
272
  'item-rtl': document.dir === 'rtl',
282
- })), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: 'f0be78f964215caea21b54ffac6c2b2988967f7d' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '255e76ba8f6b5c2d75103dcd787908132f1a84a4', name: "start" }), h("div", { key: '1dee3e342b4fc1703500a545e90ad681582c1292', class: "item-inner" }, h("div", { key: '045c1cf4f03687f41147144c9c714ec426b81829', class: "input-wrapper" }, h("slot", { key: '4f1edcce6cc918e521bb98e70602dfee2b492428' })), h("slot", { key: '2dd468bc4bed5e5dab4372133bcbf4a472e417a3', name: "end" }), showDetail && (h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), h("div", { key: '116b9c332c6e28f0eb9cb513c36aa3ac5ada17d0', class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", null), h("div", { key: '0bd92b2e3039c34b5d01d9361941af360d68a335', class: "item-highlight" })), h("div", { key: '9287c851c10b8438c787b34a2bf6d76c87af3c15', class: "item-bottom" }, h("slot", { key: '7db1f90077bbc63f3adbf873e0b1721e131d8d8d', name: "error" }), h("slot", { key: '6e90f564af916893a6a9fe6fe30dee15655a554e', name: "helper" }), counterString && h("ion-note", { class: "item-counter" }, counterString))));
273
+ })), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: '08bb75c85d0584e9fb7f461e9e06b9b651ef3515' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '3f742b07c4a58eadedf675be4878a3e00070750e', name: "start" }), h("div", { key: '0160b8963434f3107856a2df2fb96f1abb4fdbfe', class: "item-inner" }, h("div", { key: '9439b21474443341f06a651d7c44aef90bd4c591', class: "input-wrapper" }, h("slot", { key: '8034e1337a6c950b7725bc9aa46d55de980827bf' })), h("slot", { key: '690de6d3dd3a238ab7a2d3dfea69daa6647e5134', name: "end" }), showDetail && (h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), h("div", { key: 'e96885084ca845656fd4d18902528ce7de207c86', class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", null), h("div", { key: '64e5323c380e05aa183e8dd7fbe560d084725f5e', class: "item-highlight" })), h("div", { key: '677132e6193981697f494b215ddc02407fdd96a5', class: "item-bottom" }, h("slot", { key: 'cda34a9208020bbb18ca5313e0bfbf270f024012', name: "error" }), h("slot", { key: 'c1b3541b11ece13309d0e28dd3a95c048dfab43f', name: "helper" }), counterString && h("ion-note", { class: "item-counter" }, counterString))));
283
274
  }
284
275
  static get delegatesFocus() { return true; }
285
276
  get el() { return this; }
@@ -439,7 +439,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
439
439
  * from returning focus as a result.
440
440
  */
441
441
  if (overlay.el.tagName !== 'ION-TOAST') {
442
- focusPreviousElementOnDismiss(overlay.el);
442
+ restoreElementFocus(overlay.el);
443
443
  }
444
444
  /**
445
445
  * If the focused element is already
@@ -469,7 +469,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
469
469
  * to where they were before they
470
470
  * opened the overlay.
471
471
  */
472
- const focusPreviousElementOnDismiss = async (overlayEl) => {
472
+ const restoreElementFocus = async (overlayEl) => {
473
473
  let previousElement = document.activeElement;
474
474
  if (!previousElement) {
475
475
  return;
@@ -480,7 +480,33 @@ const focusPreviousElementOnDismiss = async (overlayEl) => {
480
480
  previousElement = shadowRoot.querySelector(focusableQueryString) || previousElement;
481
481
  }
482
482
  await overlayEl.onDidDismiss();
483
- previousElement.focus();
483
+ /**
484
+ * After onDidDismiss, the overlay loses focus
485
+ * because it is removed from the document
486
+ *
487
+ * > An element will also lose focus [...]
488
+ * > if the element is removed from the document)
489
+ *
490
+ * https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event
491
+ *
492
+ * Additionally, `document.activeElement` returns:
493
+ *
494
+ * > The Element which currently has focus,
495
+ * > `<body>` or null if there is
496
+ * > no focused element.
497
+ *
498
+ * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement#value
499
+ *
500
+ * However, if the user has already focused
501
+ * an element sometime between onWillDismiss
502
+ * and onDidDismiss (for example, focusing a
503
+ * text box after tapping a button in an
504
+ * action sheet) then don't restore focus to
505
+ * previous element
506
+ */
507
+ if (document.activeElement === null || document.activeElement === document.body) {
508
+ previousElement.focus();
509
+ }
484
510
  };
485
511
  const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
486
512
  var _a, _b, _c;
@@ -16,7 +16,7 @@ const helpers = require('./helpers-2e1028fa.js');
16
16
  const config = require('./config-4f60b98a.js');
17
17
  const theme = require('./theme-d1c573d2.js');
18
18
  const index$2 = require('./index-a43f7a0f.js');
19
- const overlays = require('./overlays-853fbc2a.js');
19
+ const overlays = require('./overlays-fb7ca451.js');
20
20
  require('./index-c8d52405.js');
21
21
  require('./index-0ffe376d.js');
22
22
  require('./gesture-controller-c40c045a.js');
@@ -9,7 +9,7 @@ const index = require('./index-0ffe376d.js');
9
9
  const buttonActive = require('./button-active-2d6520ec.js');
10
10
  const helpers = require('./helpers-2e1028fa.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
- const overlays = require('./overlays-853fbc2a.js');
12
+ const overlays = require('./overlays-fb7ca451.js');
13
13
  const theme = require('./theme-d1c573d2.js');
14
14
  const ionicGlobal = require('./ionic-global-59a10130.js');
15
15
  const animation = require('./animation-fdab9de5.js');
@@ -10,7 +10,7 @@ const config = require('./config-4f60b98a.js');
10
10
  const buttonActive = require('./button-active-2d6520ec.js');
11
11
  const helpers = require('./helpers-2e1028fa.js');
12
12
  const lockController = require('./lock-controller-6585a42a.js');
13
- const overlays = require('./overlays-853fbc2a.js');
13
+ const overlays = require('./overlays-fb7ca451.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const ionicGlobal = require('./ionic-global-59a10130.js');
16
16
  const animation = require('./animation-fdab9de5.js');
@@ -15,7 +15,7 @@ const index$2 = require('./index-f52c6d38.js');
15
15
  const ionicGlobal = require('./ionic-global-59a10130.js');
16
16
  const data = require('./data-a5109f09.js');
17
17
  const lockController = require('./lock-controller-6585a42a.js');
18
- const overlays = require('./overlays-853fbc2a.js');
18
+ const overlays = require('./overlays-fb7ca451.js');
19
19
  const animation = require('./animation-fdab9de5.js');
20
20
  const haptic = require('./haptic-b882e0bb.js');
21
21
  require('./index-c8d52405.js');
@@ -255,7 +255,7 @@ const Item = class {
255
255
  const ariaDisabled = disabled || childStyles['item-interactive-disabled'] ? 'true' : null;
256
256
  const fillValue = fill || 'none';
257
257
  const inList = theme.hostContext('ion-list', this.el) && !theme.hostContext('ion-radio-group', this.el);
258
- return (index.h(index.Host, { key: '941d21ee0c46e9fbc566469708579f8871d19c73', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), theme.createColorClasses(this.color, {
258
+ return (index.h(index.Host, { key: '077c9ab04985292f79c30691151d2778a26285fb', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), theme.createColorClasses(this.color, {
259
259
  item: true,
260
260
  [mode]: true,
261
261
  'item-lines-default': lines === undefined,
@@ -269,7 +269,7 @@ const Item = class {
269
269
  'ion-activatable': canActivate,
270
270
  'ion-focusable': this.focusable,
271
271
  'item-rtl': document.dir === 'rtl',
272
- })), role: inList ? 'listitem' : null }, index.h(TagType, Object.assign({ key: 'f0be78f964215caea21b54ffac6c2b2988967f7d' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), index.h("slot", { key: '255e76ba8f6b5c2d75103dcd787908132f1a84a4', name: "start" }), index.h("div", { key: '1dee3e342b4fc1703500a545e90ad681582c1292', class: "item-inner" }, index.h("div", { key: '045c1cf4f03687f41147144c9c714ec426b81829', class: "input-wrapper" }, index.h("slot", { key: '4f1edcce6cc918e521bb98e70602dfee2b492428' })), index.h("slot", { key: '2dd468bc4bed5e5dab4372133bcbf4a472e417a3', name: "end" }), showDetail && (index.h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === index$1.chevronForward })), index.h("div", { key: '116b9c332c6e28f0eb9cb513c36aa3ac5ada17d0', class: "item-inner-highlight" })), canActivate && mode === 'md' && index.h("ion-ripple-effect", null), index.h("div", { key: '0bd92b2e3039c34b5d01d9361941af360d68a335', class: "item-highlight" })), index.h("div", { key: '9287c851c10b8438c787b34a2bf6d76c87af3c15', class: "item-bottom" }, index.h("slot", { key: '7db1f90077bbc63f3adbf873e0b1721e131d8d8d', name: "error" }), index.h("slot", { key: '6e90f564af916893a6a9fe6fe30dee15655a554e', name: "helper" }), counterString && index.h("ion-note", { class: "item-counter" }, counterString))));
272
+ })), role: inList ? 'listitem' : null }, index.h(TagType, Object.assign({ key: '08bb75c85d0584e9fb7f461e9e06b9b651ef3515' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), index.h("slot", { key: '3f742b07c4a58eadedf675be4878a3e00070750e', name: "start" }), index.h("div", { key: '0160b8963434f3107856a2df2fb96f1abb4fdbfe', class: "item-inner" }, index.h("div", { key: '9439b21474443341f06a651d7c44aef90bd4c591', class: "input-wrapper" }, index.h("slot", { key: '8034e1337a6c950b7725bc9aa46d55de980827bf' })), index.h("slot", { key: '690de6d3dd3a238ab7a2d3dfea69daa6647e5134', name: "end" }), showDetail && (index.h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === index$1.chevronForward })), index.h("div", { key: 'e96885084ca845656fd4d18902528ce7de207c86', class: "item-inner-highlight" })), canActivate && mode === 'md' && index.h("ion-ripple-effect", null), index.h("div", { key: '64e5323c380e05aa183e8dd7fbe560d084725f5e', class: "item-highlight" })), index.h("div", { key: '677132e6193981697f494b215ddc02407fdd96a5', class: "item-bottom" }, index.h("slot", { key: 'cda34a9208020bbb18ca5313e0bfbf270f024012', name: "error" }), index.h("slot", { key: 'c1b3541b11ece13309d0e28dd3a95c048dfab43f', name: "helper" }), counterString && index.h("ion-note", { class: "item-counter" }, counterString))));
273
273
  }
274
274
  static get delegatesFocus() { return true; }
275
275
  get el() { return index.getElement(this); }
@@ -9,7 +9,7 @@ const index = require('./index-0ffe376d.js');
9
9
  const config = require('./config-4f60b98a.js');
10
10
  const helpers = require('./helpers-2e1028fa.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
- const overlays = require('./overlays-853fbc2a.js');
12
+ const overlays = require('./overlays-fb7ca451.js');
13
13
  const theme = require('./theme-d1c573d2.js');
14
14
  const ionicGlobal = require('./ionic-global-59a10130.js');
15
15
  const animation = require('./animation-fdab9de5.js');
@@ -11,7 +11,7 @@ const gestureController = require('./gesture-controller-c40c045a.js');
11
11
  const hardwareBackButton = require('./hardware-back-button-2696acaf.js');
12
12
  const helpers = require('./helpers-2e1028fa.js');
13
13
  const index$1 = require('./index-a43f7a0f.js');
14
- const overlays = require('./overlays-853fbc2a.js');
14
+ const overlays = require('./overlays-fb7ca451.js');
15
15
  const ionicGlobal = require('./ionic-global-59a10130.js');
16
16
  const theme = require('./theme-d1c573d2.js');
17
17
  const index$2 = require('./index-f52c6d38.js');
@@ -12,7 +12,7 @@ const helpers = require('./helpers-2e1028fa.js');
12
12
  const lockController = require('./lock-controller-6585a42a.js');
13
13
  const index$4 = require('./index-5915f9b3.js');
14
14
  const capacitor = require('./capacitor-c04564bf.js');
15
- const overlays = require('./overlays-853fbc2a.js');
15
+ const overlays = require('./overlays-fb7ca451.js');
16
16
  const theme = require('./theme-d1c573d2.js');
17
17
  const index$5 = require('./index-c3580a90.js');
18
18
  const ionicGlobal = require('./ionic-global-59a10130.js');
@@ -10,7 +10,7 @@ const frameworkDelegate = require('./framework-delegate-a3e6d060.js');
10
10
  const helpers = require('./helpers-2e1028fa.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
12
  const index$1 = require('./index-5915f9b3.js');
13
- const overlays = require('./overlays-853fbc2a.js');
13
+ const overlays = require('./overlays-fb7ca451.js');
14
14
  const ionicGlobal = require('./ionic-global-59a10130.js');
15
15
  const theme = require('./theme-d1c573d2.js');
16
16
  const index$2 = require('./index-c3580a90.js');
@@ -11,7 +11,7 @@ const notchController = require('./notch-controller-db0127c4.js');
11
11
  const compareWithUtils = require('./compare-with-utils-df1001d7.js');
12
12
  const helpers = require('./helpers-2e1028fa.js');
13
13
  const index$1 = require('./index-5915f9b3.js');
14
- const overlays = require('./overlays-853fbc2a.js');
14
+ const overlays = require('./overlays-fb7ca451.js');
15
15
  const dir = require('./dir-94c21456.js');
16
16
  const theme = require('./theme-d1c573d2.js');
17
17
  const watchOptions = require('./watch-options-f5f3e158.js');
@@ -10,7 +10,7 @@ const config = require('./config-4f60b98a.js');
10
10
  const helpers = require('./helpers-2e1028fa.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
12
  const index$1 = require('./index-5915f9b3.js');
13
- const overlays = require('./overlays-853fbc2a.js');
13
+ const overlays = require('./overlays-fb7ca451.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const ionicGlobal = require('./ionic-global-59a10130.js');
16
16
  const animation = require('./animation-fdab9de5.js');
@@ -441,7 +441,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
441
441
  * from returning focus as a result.
442
442
  */
443
443
  if (overlay.el.tagName !== 'ION-TOAST') {
444
- focusPreviousElementOnDismiss(overlay.el);
444
+ restoreElementFocus(overlay.el);
445
445
  }
446
446
  /**
447
447
  * If the focused element is already
@@ -471,7 +471,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
471
471
  * to where they were before they
472
472
  * opened the overlay.
473
473
  */
474
- const focusPreviousElementOnDismiss = async (overlayEl) => {
474
+ const restoreElementFocus = async (overlayEl) => {
475
475
  let previousElement = document.activeElement;
476
476
  if (!previousElement) {
477
477
  return;
@@ -482,7 +482,33 @@ const focusPreviousElementOnDismiss = async (overlayEl) => {
482
482
  previousElement = shadowRoot.querySelector(focusableQueryString) || previousElement;
483
483
  }
484
484
  await overlayEl.onDidDismiss();
485
- previousElement.focus();
485
+ /**
486
+ * After onDidDismiss, the overlay loses focus
487
+ * because it is removed from the document
488
+ *
489
+ * > An element will also lose focus [...]
490
+ * > if the element is removed from the document)
491
+ *
492
+ * https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event
493
+ *
494
+ * Additionally, `document.activeElement` returns:
495
+ *
496
+ * > The Element which currently has focus,
497
+ * > `<body>` or null if there is
498
+ * > no focused element.
499
+ *
500
+ * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement#value
501
+ *
502
+ * However, if the user has already focused
503
+ * an element sometime between onWillDismiss
504
+ * and onDidDismiss (for example, focusing a
505
+ * text box after tapping a button in an
506
+ * action sheet) then don't restore focus to
507
+ * previous element
508
+ */
509
+ if (document.activeElement === null || document.activeElement === document.body) {
510
+ previousElement.focus();
511
+ }
486
512
  };
487
513
  const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
488
514
  var _a, _b, _c;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { Build, Host, forceUpdate, h } from "@stencil/core";
4
+ import { Host, forceUpdate, h } from "@stencil/core";
5
5
  import { inheritAttributes, raf } from "../../utils/helpers";
6
6
  import { printIonError, printIonWarning } from "../../utils/logging/index";
7
7
  import { createColorClasses, hostContext, openURL } from "../../utils/theme";
@@ -199,15 +199,6 @@ export class Item {
199
199
  }
200
200
  }
201
201
  getFirstInteractive() {
202
- if (Build.isTesting) {
203
- /**
204
- * Pseudo selectors can't be tested in unit tests.
205
- * It will cause an error when running the tests.
206
- *
207
- * TODO: FW-5205 - Remove the build conditional when this is fixed in Stencil
208
- */
209
- return undefined;
210
- }
211
202
  const controls = this.el.querySelectorAll('ion-toggle:not([disabled]), ion-checkbox:not([disabled]), ion-radio:not([disabled]), ion-select:not([disabled])');
212
203
  return controls[0];
213
204
  }
@@ -264,7 +255,7 @@ export class Item {
264
255
  const ariaDisabled = disabled || childStyles['item-interactive-disabled'] ? 'true' : null;
265
256
  const fillValue = fill || 'none';
266
257
  const inList = hostContext('ion-list', this.el) && !hostContext('ion-radio-group', this.el);
267
- return (h(Host, { key: '941d21ee0c46e9fbc566469708579f8871d19c73', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
258
+ return (h(Host, { key: '077c9ab04985292f79c30691151d2778a26285fb', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
268
259
  item: true,
269
260
  [mode]: true,
270
261
  'item-lines-default': lines === undefined,
@@ -278,7 +269,7 @@ export class Item {
278
269
  'ion-activatable': canActivate,
279
270
  'ion-focusable': this.focusable,
280
271
  'item-rtl': document.dir === 'rtl',
281
- })), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: 'f0be78f964215caea21b54ffac6c2b2988967f7d' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '255e76ba8f6b5c2d75103dcd787908132f1a84a4', name: "start" }), h("div", { key: '1dee3e342b4fc1703500a545e90ad681582c1292', class: "item-inner" }, h("div", { key: '045c1cf4f03687f41147144c9c714ec426b81829', class: "input-wrapper" }, h("slot", { key: '4f1edcce6cc918e521bb98e70602dfee2b492428' })), h("slot", { key: '2dd468bc4bed5e5dab4372133bcbf4a472e417a3', name: "end" }), showDetail && (h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), h("div", { key: '116b9c332c6e28f0eb9cb513c36aa3ac5ada17d0', class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", null), h("div", { key: '0bd92b2e3039c34b5d01d9361941af360d68a335', class: "item-highlight" })), h("div", { key: '9287c851c10b8438c787b34a2bf6d76c87af3c15', class: "item-bottom" }, h("slot", { key: '7db1f90077bbc63f3adbf873e0b1721e131d8d8d', name: "error" }), h("slot", { key: '6e90f564af916893a6a9fe6fe30dee15655a554e', name: "helper" }), counterString && h("ion-note", { class: "item-counter" }, counterString))));
272
+ })), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: '08bb75c85d0584e9fb7f461e9e06b9b651ef3515' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '3f742b07c4a58eadedf675be4878a3e00070750e', name: "start" }), h("div", { key: '0160b8963434f3107856a2df2fb96f1abb4fdbfe', class: "item-inner" }, h("div", { key: '9439b21474443341f06a651d7c44aef90bd4c591', class: "input-wrapper" }, h("slot", { key: '8034e1337a6c950b7725bc9aa46d55de980827bf' })), h("slot", { key: '690de6d3dd3a238ab7a2d3dfea69daa6647e5134', name: "end" }), showDetail && (h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), h("div", { key: 'e96885084ca845656fd4d18902528ce7de207c86', class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", null), h("div", { key: '64e5323c380e05aa183e8dd7fbe560d084725f5e', class: "item-highlight" })), h("div", { key: '677132e6193981697f494b215ddc02407fdd96a5', class: "item-bottom" }, h("slot", { key: 'cda34a9208020bbb18ca5313e0bfbf270f024012', name: "error" }), h("slot", { key: 'c1b3541b11ece13309d0e28dd3a95c048dfab43f', name: "helper" }), counterString && h("ion-note", { class: "item-counter" }, counterString))));
282
273
  }
283
274
  static get is() { return "ion-item"; }
284
275
  static get encapsulation() { return "shadow"; }
@@ -440,7 +440,7 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
440
440
  * from returning focus as a result.
441
441
  */
442
442
  if (overlay.el.tagName !== 'ION-TOAST') {
443
- focusPreviousElementOnDismiss(overlay.el);
443
+ restoreElementFocus(overlay.el);
444
444
  }
445
445
  /**
446
446
  * If the focused element is already
@@ -470,7 +470,7 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
470
470
  * to where they were before they
471
471
  * opened the overlay.
472
472
  */
473
- const focusPreviousElementOnDismiss = async (overlayEl) => {
473
+ const restoreElementFocus = async (overlayEl) => {
474
474
  let previousElement = document.activeElement;
475
475
  if (!previousElement) {
476
476
  return;
@@ -481,7 +481,33 @@ const focusPreviousElementOnDismiss = async (overlayEl) => {
481
481
  previousElement = shadowRoot.querySelector(focusableQueryString) || previousElement;
482
482
  }
483
483
  await overlayEl.onDidDismiss();
484
- previousElement.focus();
484
+ /**
485
+ * After onDidDismiss, the overlay loses focus
486
+ * because it is removed from the document
487
+ *
488
+ * > An element will also lose focus [...]
489
+ * > if the element is removed from the document)
490
+ *
491
+ * https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event
492
+ *
493
+ * Additionally, `document.activeElement` returns:
494
+ *
495
+ * > The Element which currently has focus,
496
+ * > `<body>` or null if there is
497
+ * > no focused element.
498
+ *
499
+ * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement#value
500
+ *
501
+ * However, if the user has already focused
502
+ * an element sometime between onWillDismiss
503
+ * and onDidDismiss (for example, focusing a
504
+ * text box after tapping a button in an
505
+ * action sheet) then don't restore focus to
506
+ * previous element
507
+ */
508
+ if (document.activeElement === null || document.activeElement === document.body) {
509
+ previousElement.focus();
510
+ }
485
511
  };
486
512
  export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
487
513
  var _a, _b, _c;
@@ -175,5 +175,38 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
175
175
  await modalInputOne.click();
176
176
  await expect(modalInputOne).toBeFocused();
177
177
  });
178
+ test('should not return focus to another element if focus already manually returned', async ({ page, skip, }, testInfo) => {
179
+ skip.browser('webkit', 'WebKit does not consider buttons to be focusable, so this test always passes since the input is the only focusable element.');
180
+ testInfo.annotations.push({
181
+ type: 'issue',
182
+ description: 'https://github.com/ionic-team/ionic-framework/issues/28849',
183
+ });
184
+ await page.setContent(`
185
+ <button id="open-action-sheet">open</button>
186
+ <ion-action-sheet trigger="open-action-sheet"></ion-action-sheet>
187
+ <input id="test-input" />
188
+
189
+ <script>
190
+ const actionSheet = document.querySelector('ion-action-sheet');
191
+
192
+ actionSheet.addEventListener('ionActionSheetWillDismiss', () => {
193
+ requestAnimationFrame(() => {
194
+ document.querySelector('#test-input').focus();
195
+ });
196
+ });
197
+ </script>
198
+ `, config);
199
+ const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent');
200
+ const actionSheet = page.locator('ion-action-sheet');
201
+ const input = page.locator('#test-input');
202
+ const trigger = page.locator('#open-action-sheet');
203
+ // present action sheet
204
+ await trigger.click();
205
+ await ionActionSheetDidPresent.next();
206
+ // dismiss action sheet
207
+ await actionSheet.evaluate((el) => el.dismiss());
208
+ // verify focus is in correct location
209
+ await expect(input).toBeFocused();
210
+ });
178
211
  });
179
212
  });
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-02-13T06:08:02",
2
+ "timestamp": "2024-02-14T14:22:22",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.12.2",
package/dist/esm/index.js CHANGED
@@ -12,7 +12,7 @@ export { c as componentOnReady } from './helpers-c0b9ca37.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
13
13
  export { o as openURL } from './theme-01f3f29c.js';
14
14
  export { m as menuController } from './index-47b2066d.js';
15
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-f628ea0d.js';
15
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-04a9a43f.js';
16
16
  import './index-a5d50daf.js';
17
17
  import './index-4c30cddd.js';
18
18
  import './gesture-controller-1bf57181.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-47ac8092.js';
6
6
  import { r as raf } from './helpers-c0b9ca37.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-f628ea0d.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-04a9a43f.js';
9
9
  import { g as getClassMap } from './theme-01f3f29c.js';
10
10
  import { b as getIonMode } from './ionic-global-ad9a1810.js';
11
11
  import { c as createAnimation } from './animation-60dbdd13.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-47ac8092.js';
7
7
  import { r as raf } from './helpers-c0b9ca37.js';
8
8
  import { c as createLockController } from './lock-controller-316928be.js';
9
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-f628ea0d.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-04a9a43f.js';
10
10
  import { g as getClassMap } from './theme-01f3f29c.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global-ad9a1810.js';
12
12
  import { c as createAnimation } from './animation-60dbdd13.js';
@@ -11,7 +11,7 @@ import { c as chevronBack, o as chevronForward, l as chevronDown, p as caretUpSh
11
11
  import { b as getIonMode } from './ionic-global-ad9a1810.js';
12
12
  import { g as generateDayAriaLabel, a as getDay, i as isBefore, b as isAfter, c as isSameDay, d as getPreviousMonth, e as getNextMonth, v as validateParts, f as getPartsFromCalendarDay, h as getNextYear, j as getPreviousYear, k as getEndOfWeek, l as getStartOfWeek, m as getPreviousDay, n as getNextDay, o as getPreviousWeek, p as getNextWeek, q as parseMinParts, r as parseMaxParts, s as parseDate, w as warnIfValueOutOfBounds, t as convertToArrayOfNumbers, u as convertDataToISO, x as getToday, y as getClosestValidDate, z as generateMonths, A as getNumDaysInMonth, B as getCombinedDateColumnData, C as getMonthColumnData, D as getDayColumnData, E as getYearColumnData, F as isMonthFirstLocale, G as getTimeColumnsData, H as isLocaleDayPeriodRTL, I as getDaysOfWeek, J as getMonthAndYear, K as getDaysOfMonth, L as getHourCycle, M as getLocalizedTime, N as getMonthAndDay, O as formatValue, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data-0f3ab200.js';
13
13
  import { c as createLockController } from './lock-controller-316928be.js';
14
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-f628ea0d.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-04a9a43f.js';
15
15
  import { c as createAnimation } from './animation-60dbdd13.js';
16
16
  import { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-554688a5.js';
17
17
  import './index-a5d50daf.js';
@@ -251,7 +251,7 @@ const Item = class {
251
251
  const ariaDisabled = disabled || childStyles['item-interactive-disabled'] ? 'true' : null;
252
252
  const fillValue = fill || 'none';
253
253
  const inList = hostContext('ion-list', this.el) && !hostContext('ion-radio-group', this.el);
254
- return (h(Host, { key: '941d21ee0c46e9fbc566469708579f8871d19c73', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
254
+ return (h(Host, { key: '077c9ab04985292f79c30691151d2778a26285fb', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
255
255
  item: true,
256
256
  [mode]: true,
257
257
  'item-lines-default': lines === undefined,
@@ -265,7 +265,7 @@ const Item = class {
265
265
  'ion-activatable': canActivate,
266
266
  'ion-focusable': this.focusable,
267
267
  'item-rtl': document.dir === 'rtl',
268
- })), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: 'f0be78f964215caea21b54ffac6c2b2988967f7d' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '255e76ba8f6b5c2d75103dcd787908132f1a84a4', name: "start" }), h("div", { key: '1dee3e342b4fc1703500a545e90ad681582c1292', class: "item-inner" }, h("div", { key: '045c1cf4f03687f41147144c9c714ec426b81829', class: "input-wrapper" }, h("slot", { key: '4f1edcce6cc918e521bb98e70602dfee2b492428' })), h("slot", { key: '2dd468bc4bed5e5dab4372133bcbf4a472e417a3', name: "end" }), showDetail && (h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), h("div", { key: '116b9c332c6e28f0eb9cb513c36aa3ac5ada17d0', class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", null), h("div", { key: '0bd92b2e3039c34b5d01d9361941af360d68a335', class: "item-highlight" })), h("div", { key: '9287c851c10b8438c787b34a2bf6d76c87af3c15', class: "item-bottom" }, h("slot", { key: '7db1f90077bbc63f3adbf873e0b1721e131d8d8d', name: "error" }), h("slot", { key: '6e90f564af916893a6a9fe6fe30dee15655a554e', name: "helper" }), counterString && h("ion-note", { class: "item-counter" }, counterString))));
268
+ })), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: '08bb75c85d0584e9fb7f461e9e06b9b651ef3515' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '3f742b07c4a58eadedf675be4878a3e00070750e', name: "start" }), h("div", { key: '0160b8963434f3107856a2df2fb96f1abb4fdbfe', class: "item-inner" }, h("div", { key: '9439b21474443341f06a651d7c44aef90bd4c591', class: "input-wrapper" }, h("slot", { key: '8034e1337a6c950b7725bc9aa46d55de980827bf' })), h("slot", { key: '690de6d3dd3a238ab7a2d3dfea69daa6647e5134', name: "end" }), showDetail && (h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), h("div", { key: 'e96885084ca845656fd4d18902528ce7de207c86', class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", null), h("div", { key: '64e5323c380e05aa183e8dd7fbe560d084725f5e', class: "item-highlight" })), h("div", { key: '677132e6193981697f494b215ddc02407fdd96a5', class: "item-bottom" }, h("slot", { key: 'cda34a9208020bbb18ca5313e0bfbf270f024012', name: "error" }), h("slot", { key: 'c1b3541b11ece13309d0e28dd3a95c048dfab43f', name: "helper" }), counterString && h("ion-note", { class: "item-counter" }, counterString))));
269
269
  }
270
270
  static get delegatesFocus() { return true; }
271
271
  get el() { return getElement(this); }
@@ -5,7 +5,7 @@ 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-49c88215.js';
6
6
  import { r as raf } from './helpers-c0b9ca37.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-f628ea0d.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-04a9a43f.js';
9
9
  import { g as getClassMap } from './theme-01f3f29c.js';
10
10
  import { c as config, b as getIonMode } from './ionic-global-ad9a1810.js';
11
11
  import { c as createAnimation } from './animation-60dbdd13.js';
@@ -7,7 +7,7 @@ import { G as GESTURE_CONTROLLER } from './gesture-controller-1bf57181.js';
7
7
  import { shoudUseCloseWatcher } from './hardware-back-button-b410a047.js';
8
8
  import { p as isEndSide, i as inheritAriaAttributes, o as assert, l as clamp } from './helpers-c0b9ca37.js';
9
9
  import { m as menuController } from './index-47b2066d.js';
10
- import { o as getPresentedOverlay } from './overlays-f628ea0d.js';
10
+ import { o as getPresentedOverlay } from './overlays-04a9a43f.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global-ad9a1810.js';
12
12
  import { c as createColorClasses, h as hostContext } from './theme-01f3f29c.js';
13
13
  import { u as menuOutline, v as menuSharp } from './index-f7dc70ba.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-316928be.js';
9
9
  import { p as printIonWarning } from './index-9b0d46f4.js';
10
10
  import { g as getCapacitor } from './capacitor-59395cbd.js';
11
- import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-f628ea0d.js';
11
+ import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-04a9a43f.js';
12
12
  import { g as getClassMap } from './theme-01f3f29c.js';
13
13
  import { e as deepReady, w as waitForMount } from './index-0b4beb69.js';
14
14
  import { b as getIonMode, c as config } from './ionic-global-ad9a1810.js';
@@ -6,7 +6,7 @@ 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-c0b9ca37.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
8
  import { p as printIonWarning } from './index-9b0d46f4.js';
9
- import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod } from './overlays-f628ea0d.js';
9
+ import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod } from './overlays-04a9a43f.js';
10
10
  import { b as getIonMode, a as isPlatform } from './ionic-global-ad9a1810.js';
11
11
  import { g as getClassMap } from './theme-01f3f29c.js';
12
12
  import { e as deepReady, w as waitForMount } from './index-0b4beb69.js';
@@ -7,7 +7,7 @@ import { c as createNotchController } from './notch-controller-15d281a4.js';
7
7
  import { i as isOptionSelected, c as compareOptions } from './compare-with-utils-a96ff2ea.js';
8
8
  import { k as inheritAttributes, f as focusElement, h as findItemLabel, d as renderHiddenInput, e as getAriaLabel } from './helpers-c0b9ca37.js';
9
9
  import { p as printIonWarning } from './index-9b0d46f4.js';
10
- import { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-f628ea0d.js';
10
+ import { c as popoverController, b as actionSheetController, a as alertController, s as safeCall } from './overlays-04a9a43f.js';
11
11
  import { i as isRTL } from './dir-babeabeb.js';
12
12
  import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-01f3f29c.js';
13
13
  import { w as watchForOptions } from './watch-options-c2911ace.js';
@@ -6,7 +6,7 @@ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './conf
6
6
  import { g as getElementRoot, r as raf } from './helpers-c0b9ca37.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
8
  import { p as printIonWarning } from './index-9b0d46f4.js';
9
- import { O as OVERLAY_GESTURE_PRIORITY, d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall, G as GESTURE } from './overlays-f628ea0d.js';
9
+ import { O as OVERLAY_GESTURE_PRIORITY, d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall, G as GESTURE } from './overlays-04a9a43f.js';
10
10
  import { g as getClassMap, c as createColorClasses } from './theme-01f3f29c.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global-ad9a1810.js';
12
12
  import { c as createAnimation } from './animation-60dbdd13.js';