@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.
- package/components/item.js +3 -12
- package/components/overlays.js +29 -3
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/ion-alert.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +1 -1
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-toast.cjs.entry.js +1 -1
- package/dist/cjs/{overlays-853fbc2a.js → overlays-fb7ca451.js} +29 -3
- package/dist/collection/components/item/item.js +3 -12
- package/dist/collection/utils/overlays.js +29 -3
- package/dist/collection/utils/test/overlays/overlays.e2e.js +33 -0
- package/dist/docs.json +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +1 -1
- package/dist/esm/ion-alert.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +1 -1
- package/dist/esm/ion-item_8.entry.js +2 -2
- package/dist/esm/ion-loading.entry.js +1 -1
- package/dist/esm/ion-menu_3.entry.js +1 -1
- package/dist/esm/ion-modal.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +1 -1
- package/dist/esm/ion-toast.entry.js +1 -1
- package/dist/esm/{overlays-f628ea0d.js → overlays-04a9a43f.js} +29 -3
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/{overlays-f628ea0d.js → overlays-04a9a43f.js} +1 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-379dc0d8.entry.js → p-05d560ec.entry.js} +1 -1
- package/dist/ionic/p-0b34d3a7.system.js +1 -1
- package/dist/ionic/{p-02228941.system.entry.js → p-0e23c289.system.entry.js} +1 -1
- package/dist/ionic/{p-6b5ddd6f.system.entry.js → p-18beebdf.system.entry.js} +1 -1
- package/dist/ionic/{p-3996f9d5.system.entry.js → p-1924f2e0.system.entry.js} +2 -2
- package/dist/ionic/{p-03ef11fd.system.entry.js → p-2e1f014a.system.entry.js} +1 -1
- package/dist/ionic/{p-a06dd73e.entry.js → p-5b40d967.entry.js} +1 -1
- package/dist/ionic/{p-36129d85.entry.js → p-64761c90.entry.js} +1 -1
- package/dist/ionic/{p-a9de90a5.entry.js → p-91cb3f9a.entry.js} +1 -1
- package/dist/ionic/{p-7b260ba5.entry.js → p-94ff532b.entry.js} +1 -1
- package/dist/ionic/{p-e49bc381.system.entry.js → p-a022b684.system.entry.js} +1 -1
- package/dist/ionic/{p-80c7dd10.entry.js → p-a6e465f5.entry.js} +1 -1
- package/dist/ionic/{p-a726c887.entry.js → p-a8a56449.entry.js} +1 -1
- package/dist/ionic/{p-6c03fe3f.system.entry.js → p-aaaa615c.system.entry.js} +1 -1
- package/dist/ionic/{p-779fb2ab.system.entry.js → p-b7efc743.system.entry.js} +1 -1
- package/dist/ionic/{p-7b71daed.system.entry.js → p-ba97a133.system.entry.js} +1 -1
- package/dist/ionic/{p-9e986623.entry.js → p-bd4787eb.entry.js} +1 -1
- package/dist/ionic/{p-c05246a7.entry.js → p-c771a6ef.entry.js} +1 -1
- package/dist/ionic/{p-1cc2ce69.system.entry.js → p-caeefe16.system.entry.js} +1 -1
- package/dist/ionic/{p-c98011a7.entry.js → p-d39ab63d.entry.js} +1 -1
- package/dist/ionic/{p-b964aaa3.system.js → p-d4cadd34.system.js} +1 -1
- package/dist/ionic/{p-554cdfa6.js → p-dbcba5a2.js} +1 -1
- package/dist/ionic/{p-c2895673.system.js → p-e9f9388e.system.js} +1 -1
- package/dist/ionic/{p-d51bf7d0.system.entry.js → p-edcada2b.system.entry.js} +1 -1
- package/hydrate/index.js +31 -5
- package/package.json +2 -2
package/components/item.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { proxyCustomElement, HTMLElement, forceUpdate,
|
|
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: '
|
|
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: '
|
|
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; }
|
package/components/overlays.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
-
|
|
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;
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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-
|
|
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: '
|
|
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: '
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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 {
|
|
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: '
|
|
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: '
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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: '
|
|
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: '
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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';
|