@ionic/core 8.4.1-dev.11731976952.18a7db47 → 8.4.1-dev.11732033492.170e160c
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/overlays.js +20 -22
- 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-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-modal.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-b1531451.js → overlays-56ca9a8a.js} +19 -21
- package/dist/collection/utils/overlays.js +20 -21
- 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-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-modal.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-ef6070b3.js → overlays-74d44899.js} +20 -22
- 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-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-modal.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-74d44899.js +4 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-8b3cd589.entry.js → p-03c7b27e.entry.js} +1 -1
- package/dist/ionic/p-061d4611.js +4 -0
- package/dist/ionic/{p-1f6abe84.system.entry.js → p-08ae4532.system.entry.js} +1 -1
- package/dist/ionic/{p-c9ab2251.system.entry.js → p-1d1121ac.system.entry.js} +1 -1
- package/dist/ionic/{p-a6ebe6f5.entry.js → p-1e3784b9.entry.js} +1 -1
- package/dist/ionic/{p-aa925864.entry.js → p-23745fed.entry.js} +1 -1
- package/dist/ionic/{p-42010fbb.system.entry.js → p-2ed40a5e.system.entry.js} +1 -1
- package/dist/ionic/p-322c5fb4.system.js +1 -1
- package/dist/ionic/{p-9ca09ab2.entry.js → p-36662b24.entry.js} +1 -1
- package/dist/ionic/{p-2afa24ce.system.entry.js → p-36e4ad92.system.entry.js} +1 -1
- package/dist/ionic/{p-020f9a49.entry.js → p-3cb0f90c.entry.js} +1 -1
- package/dist/ionic/p-3e5b5cf1.system.js +4 -0
- package/dist/ionic/{p-67c38e61.system.entry.js → p-43567c9d.system.entry.js} +1 -1
- package/dist/ionic/{p-ac6ceb9b.entry.js → p-500c02e3.entry.js} +1 -1
- package/dist/ionic/{p-4094c07a.system.entry.js → p-5a83c181.system.entry.js} +1 -1
- package/dist/ionic/{p-0c6bb7ff.system.entry.js → p-79bdcdd5.system.entry.js} +1 -1
- package/dist/ionic/{p-6ef37e24.system.entry.js → p-8b9b0e01.system.entry.js} +1 -1
- package/dist/ionic/{p-b52b7cd4.entry.js → p-a5d0bd7c.entry.js} +1 -1
- package/dist/ionic/{p-5cc1e6e5.system.entry.js → p-ddc18b30.system.entry.js} +1 -1
- package/dist/ionic/{p-5b4623a9.entry.js → p-ec288b34.entry.js} +1 -1
- package/dist/ionic/{p-7d04adce.entry.js → p-f912705b.entry.js} +1 -1
- package/dist/ionic/{p-adfe0316.entry.js → p-fa2cf74d.entry.js} +1 -1
- package/dist/ionic/{p-e77b72b0.system.js → p-fd31bb04.system.js} +1 -1
- package/dist/ionic/{p-2805175a.system.entry.js → p-ffbee4f6.system.entry.js} +1 -1
- package/hydrate/index.js +19 -21
- package/hydrate/index.mjs +19 -21
- package/package.json +1 -1
- package/dist/esm-es5/overlays-ef6070b3.js +0 -4
- package/dist/ionic/p-50cb9d03.js +0 -4
- package/dist/ionic/p-af507683.system.js +0 -4
package/components/overlays.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { d as doc } from './index5.js';
|
|
5
5
|
import { f as focusVisibleElement, c as componentOnReady, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers.js';
|
|
6
6
|
import { OVERLAY_BACK_BUTTON_PRIORITY, shouldUseCloseWatcher } from './hardware-back-button.js';
|
|
7
|
-
import { b as getIonMode, c as config } from './ionic-global.js';
|
|
7
|
+
import { b as getIonMode, c as config, a as isPlatform } from './ionic-global.js';
|
|
8
8
|
import { C as CoreDelegate } from './framework-delegate.js';
|
|
9
9
|
import { B as BACKDROP_NO_SCROLL } from './gesture-controller.js';
|
|
10
10
|
import { p as printIonWarning } from './index6.js';
|
|
@@ -512,6 +512,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
512
512
|
}
|
|
513
513
|
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
514
514
|
hideUnderlyingOverlaysFromScreenReaders(overlay.el);
|
|
515
|
+
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
515
516
|
overlay.presented = true;
|
|
516
517
|
overlay.willPresent.emit();
|
|
517
518
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
@@ -520,7 +521,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
520
521
|
const animationBuilder = overlay.enterAnimation
|
|
521
522
|
? overlay.enterAnimation
|
|
522
523
|
: config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);
|
|
523
|
-
// hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
524
524
|
const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
525
525
|
if (completed) {
|
|
526
526
|
overlay.didPresent.emit();
|
|
@@ -695,24 +695,14 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
|
|
|
695
695
|
if (!overlay.animated || !config.getBoolean('animated', true)) {
|
|
696
696
|
animation.duration(0);
|
|
697
697
|
}
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
baseEl.setAttribute('aria-hidden', 'true');
|
|
701
|
-
// add class 'test' to baseEl
|
|
702
|
-
baseEl.classList.add('test');
|
|
703
|
-
if (overlay.keyboardClose) {
|
|
698
|
+
if (overlay.keyboardClose) {
|
|
699
|
+
animation.beforeAddWrite(() => {
|
|
704
700
|
const activeElement = baseEl.ownerDocument.activeElement;
|
|
705
701
|
if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.matches('input,ion-input, ion-textarea')) {
|
|
706
702
|
activeElement.blur();
|
|
707
703
|
}
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
animation.afterAddWrite(() => {
|
|
711
|
-
baseEl.removeAttribute('aria-hidden');
|
|
712
|
-
// add test2 class to baseEl
|
|
713
|
-
baseEl.classList.add('test2');
|
|
714
|
-
console.log('afterAddWrite');
|
|
715
|
-
});
|
|
704
|
+
});
|
|
705
|
+
}
|
|
716
706
|
const activeAni = activeAnimations.get(overlay) || [];
|
|
717
707
|
activeAnimations.set(overlay, [...activeAni, animation]);
|
|
718
708
|
await animation.play();
|
|
@@ -896,18 +886,26 @@ const createTriggerController = () => {
|
|
|
896
886
|
* If the overlay is being presented, it prevents focus rings from appearing
|
|
897
887
|
* in incorrect positions due to the transition (specifically `transform`
|
|
898
888
|
* styles), ensuring that when aria-hidden is removed, the focus rings are
|
|
899
|
-
* correctly displayed in the final location of the elements.
|
|
889
|
+
* correctly displayed in the final location of the elements. This only
|
|
890
|
+
* applies to Android devices.
|
|
891
|
+
*
|
|
892
|
+
* If this solution is applied to iOS devices, then it leads to a bug where
|
|
893
|
+
* the overlays cannot be accessed by screen readers. This is due to
|
|
894
|
+
* VoiceOver not being able to update the accessibility tree when the
|
|
895
|
+
* `aria-hidden` is removed.
|
|
900
896
|
*
|
|
901
897
|
* @param overlay - The overlay that is being animated.
|
|
902
898
|
*/
|
|
903
899
|
const hideAnimatingOverlayFromScreenReaders = (overlay) => {
|
|
904
900
|
if (doc === undefined)
|
|
905
901
|
return;
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
902
|
+
if (isPlatform('android')) {
|
|
903
|
+
/**
|
|
904
|
+
* Once the animation is complete, this attribute will be removed.
|
|
905
|
+
* This is done at the end of the `present` method.
|
|
906
|
+
*/
|
|
907
|
+
overlay.setAttribute('aria-hidden', 'true');
|
|
908
|
+
}
|
|
911
909
|
};
|
|
912
910
|
/**
|
|
913
911
|
* Ensure that underlying overlays have aria-hidden if necessary so that screen readers
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -16,7 +16,7 @@ const helpers = require('./helpers-afaa9001.js');
|
|
|
16
16
|
const config = require('./config-4f60b98a.js');
|
|
17
17
|
const theme = require('./theme-d1c573d2.js');
|
|
18
18
|
const index$2 = require('./index-8e789962.js');
|
|
19
|
-
const overlays = require('./overlays-
|
|
19
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
20
20
|
require('./index-c8d52405.js');
|
|
21
21
|
require('./index-73f75efb.js');
|
|
22
22
|
require('./index-5915f9b3.js');
|
|
@@ -9,7 +9,7 @@ const index = require('./index-73f75efb.js');
|
|
|
9
9
|
const buttonActive = require('./button-active-3f2f60b4.js');
|
|
10
10
|
const helpers = require('./helpers-afaa9001.js');
|
|
11
11
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
12
|
-
const overlays = require('./overlays-
|
|
12
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
13
13
|
const theme = require('./theme-d1c573d2.js');
|
|
14
14
|
const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
|
|
15
15
|
const animation = require('./animation-b4fdf128.js');
|
|
@@ -10,7 +10,7 @@ const config = require('./config-4f60b98a.js');
|
|
|
10
10
|
const buttonActive = require('./button-active-3f2f60b4.js');
|
|
11
11
|
const helpers = require('./helpers-afaa9001.js');
|
|
12
12
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
13
|
-
const overlays = require('./overlays-
|
|
13
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
14
14
|
const theme = require('./theme-d1c573d2.js');
|
|
15
15
|
const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
|
|
16
16
|
const animation = require('./animation-b4fdf128.js');
|
|
@@ -15,7 +15,7 @@ const index$2 = require('./index-073c7cdc.js');
|
|
|
15
15
|
const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
|
|
16
16
|
const data = require('./data-21dc0f81.js');
|
|
17
17
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
18
|
-
const overlays = require('./overlays-
|
|
18
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
19
19
|
const animation = require('./animation-b4fdf128.js');
|
|
20
20
|
const haptic = require('./haptic-f6b37aa3.js');
|
|
21
21
|
require('./index-c8d52405.js');
|
|
@@ -9,7 +9,7 @@ const index = require('./index-73f75efb.js');
|
|
|
9
9
|
const config = require('./config-4f60b98a.js');
|
|
10
10
|
const helpers = require('./helpers-afaa9001.js');
|
|
11
11
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
12
|
-
const overlays = require('./overlays-
|
|
12
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
13
13
|
const theme = require('./theme-d1c573d2.js');
|
|
14
14
|
const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
|
|
15
15
|
const animation = require('./animation-b4fdf128.js');
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
7
7
|
|
|
8
8
|
const index = require('./index-73f75efb.js');
|
|
9
9
|
const cubicBezier = require('./cubic-bezier-f2dccc53.js');
|
|
10
|
-
const overlays = require('./overlays-
|
|
10
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
11
11
|
const gestureController = require('./gesture-controller-9436f482.js');
|
|
12
12
|
const hardwareBackButton = require('./hardware-back-button-9e8a2c4f.js');
|
|
13
13
|
const helpers = require('./helpers-afaa9001.js');
|
|
@@ -12,7 +12,7 @@ const helpers = require('./helpers-afaa9001.js');
|
|
|
12
12
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
13
13
|
const index$4 = require('./index-5915f9b3.js');
|
|
14
14
|
const capacitor = require('./capacitor-c04564bf.js');
|
|
15
|
-
const overlays = require('./overlays-
|
|
15
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
16
16
|
const theme = require('./theme-d1c573d2.js');
|
|
17
17
|
const index$5 = require('./index-f05acd21.js');
|
|
18
18
|
const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
const index = require('./index-73f75efb.js');
|
|
9
|
-
const overlays = require('./overlays-
|
|
9
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
10
10
|
const frameworkDelegate = require('./framework-delegate-55f5683a.js');
|
|
11
11
|
const helpers = require('./helpers-afaa9001.js');
|
|
12
12
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
7
7
|
|
|
8
8
|
const index = require('./index-73f75efb.js');
|
|
9
9
|
const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
|
|
10
|
-
const overlays = require('./overlays-
|
|
10
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
11
11
|
const theme = require('./theme-d1c573d2.js');
|
|
12
12
|
require('./index-c8d52405.js');
|
|
13
13
|
require('./helpers-afaa9001.js');
|
|
@@ -9,7 +9,7 @@ const index = require('./index-73f75efb.js');
|
|
|
9
9
|
const notchController = require('./notch-controller-d69150f5.js');
|
|
10
10
|
const compareWithUtils = require('./compare-with-utils-df1001d7.js');
|
|
11
11
|
const helpers = require('./helpers-afaa9001.js');
|
|
12
|
-
const overlays = require('./overlays-
|
|
12
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
13
13
|
const dir = require('./dir-94c21456.js');
|
|
14
14
|
const theme = require('./theme-d1c573d2.js');
|
|
15
15
|
const watchOptions = require('./watch-options-f5f3e158.js');
|
|
@@ -10,7 +10,7 @@ const config = require('./config-4f60b98a.js');
|
|
|
10
10
|
const helpers = require('./helpers-afaa9001.js');
|
|
11
11
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
12
12
|
const index$1 = require('./index-5915f9b3.js');
|
|
13
|
-
const overlays = require('./overlays-
|
|
13
|
+
const overlays = require('./overlays-56ca9a8a.js');
|
|
14
14
|
const theme = require('./theme-d1c573d2.js');
|
|
15
15
|
const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
|
|
16
16
|
const animation = require('./animation-b4fdf128.js');
|
|
@@ -514,6 +514,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
514
514
|
}
|
|
515
515
|
document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
|
|
516
516
|
hideUnderlyingOverlaysFromScreenReaders(overlay.el);
|
|
517
|
+
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
517
518
|
overlay.presented = true;
|
|
518
519
|
overlay.willPresent.emit();
|
|
519
520
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
@@ -522,7 +523,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
522
523
|
const animationBuilder = overlay.enterAnimation
|
|
523
524
|
? overlay.enterAnimation
|
|
524
525
|
: ionicGlobal.config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);
|
|
525
|
-
// hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
526
526
|
const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
527
527
|
if (completed) {
|
|
528
528
|
overlay.didPresent.emit();
|
|
@@ -697,24 +697,14 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
|
|
|
697
697
|
if (!overlay.animated || !ionicGlobal.config.getBoolean('animated', true)) {
|
|
698
698
|
animation.duration(0);
|
|
699
699
|
}
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
baseEl.setAttribute('aria-hidden', 'true');
|
|
703
|
-
// add class 'test' to baseEl
|
|
704
|
-
baseEl.classList.add('test');
|
|
705
|
-
if (overlay.keyboardClose) {
|
|
700
|
+
if (overlay.keyboardClose) {
|
|
701
|
+
animation.beforeAddWrite(() => {
|
|
706
702
|
const activeElement = baseEl.ownerDocument.activeElement;
|
|
707
703
|
if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.matches('input,ion-input, ion-textarea')) {
|
|
708
704
|
activeElement.blur();
|
|
709
705
|
}
|
|
710
|
-
}
|
|
711
|
-
}
|
|
712
|
-
animation.afterAddWrite(() => {
|
|
713
|
-
baseEl.removeAttribute('aria-hidden');
|
|
714
|
-
// add test2 class to baseEl
|
|
715
|
-
baseEl.classList.add('test2');
|
|
716
|
-
console.log('afterAddWrite');
|
|
717
|
-
});
|
|
706
|
+
});
|
|
707
|
+
}
|
|
718
708
|
const activeAni = activeAnimations.get(overlay) || [];
|
|
719
709
|
activeAnimations.set(overlay, [...activeAni, animation]);
|
|
720
710
|
await animation.play();
|
|
@@ -898,18 +888,26 @@ const createTriggerController = () => {
|
|
|
898
888
|
* If the overlay is being presented, it prevents focus rings from appearing
|
|
899
889
|
* in incorrect positions due to the transition (specifically `transform`
|
|
900
890
|
* styles), ensuring that when aria-hidden is removed, the focus rings are
|
|
901
|
-
* correctly displayed in the final location of the elements.
|
|
891
|
+
* correctly displayed in the final location of the elements. This only
|
|
892
|
+
* applies to Android devices.
|
|
893
|
+
*
|
|
894
|
+
* If this solution is applied to iOS devices, then it leads to a bug where
|
|
895
|
+
* the overlays cannot be accessed by screen readers. This is due to
|
|
896
|
+
* VoiceOver not being able to update the accessibility tree when the
|
|
897
|
+
* `aria-hidden` is removed.
|
|
902
898
|
*
|
|
903
899
|
* @param overlay - The overlay that is being animated.
|
|
904
900
|
*/
|
|
905
901
|
const hideAnimatingOverlayFromScreenReaders = (overlay) => {
|
|
906
902
|
if (index.doc === undefined)
|
|
907
903
|
return;
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
904
|
+
if (ionicGlobal.isPlatform('android')) {
|
|
905
|
+
/**
|
|
906
|
+
* Once the animation is complete, this attribute will be removed.
|
|
907
|
+
* This is done at the end of the `present` method.
|
|
908
|
+
*/
|
|
909
|
+
overlay.setAttribute('aria-hidden', 'true');
|
|
910
|
+
}
|
|
913
911
|
};
|
|
914
912
|
/**
|
|
915
913
|
* Ensure that underlying overlays have aria-hidden if necessary so that screen readers
|
|
@@ -11,6 +11,7 @@ import { BACKDROP_NO_SCROLL } from "./gesture/gesture-controller";
|
|
|
11
11
|
import { OVERLAY_BACK_BUTTON_PRIORITY } from "./hardware-back-button";
|
|
12
12
|
import { addEventListener, componentOnReady, focusVisibleElement, getElementRoot, removeEventListener, } from "./helpers";
|
|
13
13
|
import { printIonWarning } from "./logging";
|
|
14
|
+
import { isPlatform } from "./platform";
|
|
14
15
|
let lastOverlayIndex = 0;
|
|
15
16
|
let lastId = 0;
|
|
16
17
|
export const activeAnimations = new WeakMap();
|
|
@@ -439,6 +440,7 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
|
|
|
439
440
|
}
|
|
440
441
|
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
441
442
|
hideUnderlyingOverlaysFromScreenReaders(overlay.el);
|
|
443
|
+
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
442
444
|
overlay.presented = true;
|
|
443
445
|
overlay.willPresent.emit();
|
|
444
446
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
@@ -447,7 +449,6 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
|
|
|
447
449
|
const animationBuilder = overlay.enterAnimation
|
|
448
450
|
? overlay.enterAnimation
|
|
449
451
|
: config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);
|
|
450
|
-
// hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
451
452
|
const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
452
453
|
if (completed) {
|
|
453
454
|
overlay.didPresent.emit();
|
|
@@ -622,24 +623,14 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
|
|
|
622
623
|
if (!overlay.animated || !config.getBoolean('animated', true)) {
|
|
623
624
|
animation.duration(0);
|
|
624
625
|
}
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
baseEl.setAttribute('aria-hidden', 'true');
|
|
628
|
-
// add class 'test' to baseEl
|
|
629
|
-
baseEl.classList.add('test');
|
|
630
|
-
if (overlay.keyboardClose) {
|
|
626
|
+
if (overlay.keyboardClose) {
|
|
627
|
+
animation.beforeAddWrite(() => {
|
|
631
628
|
const activeElement = baseEl.ownerDocument.activeElement;
|
|
632
629
|
if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.matches('input,ion-input, ion-textarea')) {
|
|
633
630
|
activeElement.blur();
|
|
634
631
|
}
|
|
635
|
-
}
|
|
636
|
-
}
|
|
637
|
-
animation.afterAddWrite(() => {
|
|
638
|
-
baseEl.removeAttribute('aria-hidden');
|
|
639
|
-
// add test2 class to baseEl
|
|
640
|
-
baseEl.classList.add('test2');
|
|
641
|
-
console.log('afterAddWrite');
|
|
642
|
-
});
|
|
632
|
+
});
|
|
633
|
+
}
|
|
643
634
|
const activeAni = activeAnimations.get(overlay) || [];
|
|
644
635
|
activeAnimations.set(overlay, [...activeAni, animation]);
|
|
645
636
|
await animation.play();
|
|
@@ -823,18 +814,26 @@ export const createTriggerController = () => {
|
|
|
823
814
|
* If the overlay is being presented, it prevents focus rings from appearing
|
|
824
815
|
* in incorrect positions due to the transition (specifically `transform`
|
|
825
816
|
* styles), ensuring that when aria-hidden is removed, the focus rings are
|
|
826
|
-
* correctly displayed in the final location of the elements.
|
|
817
|
+
* correctly displayed in the final location of the elements. This only
|
|
818
|
+
* applies to Android devices.
|
|
819
|
+
*
|
|
820
|
+
* If this solution is applied to iOS devices, then it leads to a bug where
|
|
821
|
+
* the overlays cannot be accessed by screen readers. This is due to
|
|
822
|
+
* VoiceOver not being able to update the accessibility tree when the
|
|
823
|
+
* `aria-hidden` is removed.
|
|
827
824
|
*
|
|
828
825
|
* @param overlay - The overlay that is being animated.
|
|
829
826
|
*/
|
|
830
827
|
const hideAnimatingOverlayFromScreenReaders = (overlay) => {
|
|
831
828
|
if (doc === undefined)
|
|
832
829
|
return;
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
830
|
+
if (isPlatform('android')) {
|
|
831
|
+
/**
|
|
832
|
+
* Once the animation is complete, this attribute will be removed.
|
|
833
|
+
* This is done at the end of the `present` method.
|
|
834
|
+
*/
|
|
835
|
+
overlay.setAttribute('aria-hidden', 'true');
|
|
836
|
+
}
|
|
838
837
|
};
|
|
839
838
|
/**
|
|
840
839
|
* Ensure that underlying overlays have aria-hidden if necessary so that screen readers
|
package/dist/docs.json
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -12,7 +12,7 @@ export { c as componentOnReady } from './helpers-da915de8.js';
|
|
|
12
12
|
export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
|
|
13
13
|
export { o as openURL } from './theme-01f3f29c.js';
|
|
14
14
|
export { m as menuController } from './index-24b48b06.js';
|
|
15
|
-
export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-
|
|
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-74d44899.js';
|
|
16
16
|
import './index-a5d50daf.js';
|
|
17
17
|
import './index-28849c61.js';
|
|
18
18
|
import './index-9b0d46f4.js';
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, e as readTask, h, f as Host, i
|
|
|
5
5
|
import { c as createButtonActiveGesture } from './button-active-f6503382.js';
|
|
6
6
|
import { r as raf } from './helpers-da915de8.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
8
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-
|
|
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-74d44899.js';
|
|
9
9
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
10
10
|
import { b as getIonMode } from './ionic-global-c81d82ab.js';
|
|
11
11
|
import { c as createAnimation } from './animation-eab5a4ca.js';
|
|
@@ -6,7 +6,7 @@ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './conf
|
|
|
6
6
|
import { c as createButtonActiveGesture } from './button-active-f6503382.js';
|
|
7
7
|
import { r as raf } from './helpers-da915de8.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
9
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-
|
|
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-74d44899.js';
|
|
10
10
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
11
11
|
import { c as config, b as getIonMode } from './ionic-global-c81d82ab.js';
|
|
12
12
|
import { c as createAnimation } from './animation-eab5a4ca.js';
|
|
@@ -11,7 +11,7 @@ import { c as chevronBack, o as chevronForward, l as chevronDown, p as caretUpSh
|
|
|
11
11
|
import { b as getIonMode } from './ionic-global-c81d82ab.js';
|
|
12
12
|
import { g as generateDayAriaLabel, a as getDay, i as isBefore, b as isAfter, c as isSameDay, d as getPreviousMonth, e as getNextMonth, v as validateParts, f as getPartsFromCalendarDay, h as getNextYear, j as getPreviousYear, k as getEndOfWeek, l as getStartOfWeek, m as getPreviousDay, n as getNextDay, o as getPreviousWeek, p as getNextWeek, q as parseMinParts, r as parseMaxParts, s as parseDate, w as warnIfValueOutOfBounds, t as convertToArrayOfNumbers, u as convertDataToISO, x as getToday, y as getClosestValidDate, z as generateMonths, A as getNumDaysInMonth, B as getCombinedDateColumnData, C as getMonthColumnData, D as getDayColumnData, E as getYearColumnData, F as isMonthFirstLocale, G as getTimeColumnsData, H as isLocaleDayPeriodRTL, I as getDaysOfWeek, J as getMonthAndYear, K as getDaysOfMonth, L as getHourCycle, M as getLocalizedTime, N as getLocalizedDateTime, O as formatValue, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data-ae11fd43.js';
|
|
13
13
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
14
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-
|
|
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-74d44899.js';
|
|
15
15
|
import { c as createAnimation } from './animation-eab5a4ca.js';
|
|
16
16
|
import { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-ac164e4c.js';
|
|
17
17
|
import './index-a5d50daf.js';
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, h, f as Host, i as getElement
|
|
|
5
5
|
import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-49c88215.js';
|
|
6
6
|
import { r as raf } from './helpers-da915de8.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
8
|
-
import { d as createDelegateController, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-
|
|
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-74d44899.js';
|
|
9
9
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
10
10
|
import { c as config, b as getIonMode } from './ionic-global-c81d82ab.js';
|
|
11
11
|
import { c as createAnimation } from './animation-eab5a4ca.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, f as Host, i as getElement } from './index-28849c61.js';
|
|
5
5
|
import { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
|
|
6
|
-
import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-
|
|
6
|
+
import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-74d44899.js';
|
|
7
7
|
import { G as GESTURE_CONTROLLER } from './gesture-controller-314a54f6.js';
|
|
8
8
|
import { shouldUseCloseWatcher } from './hardware-back-button-06ef3c3e.js';
|
|
9
9
|
import { n as isEndSide, i as inheritAriaAttributes, m as assert, j as clamp } from './helpers-da915de8.js';
|
|
@@ -8,7 +8,7 @@ import { g as getElementRoot, j as clamp, r as raf, h as inheritAttributes, k as
|
|
|
8
8
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
9
9
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
10
10
|
import { g as getCapacitor } from './capacitor-59395cbd.js';
|
|
11
|
-
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-
|
|
11
|
+
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-74d44899.js';
|
|
12
12
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
13
13
|
import { e as deepReady, w as waitForMount } from './index-3ad7f18b.js';
|
|
14
14
|
import { b as getIonMode, c as config } from './ionic-global-c81d82ab.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, f as Host, i as getElement } from './index-28849c61.js';
|
|
5
|
-
import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-
|
|
5
|
+
import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-74d44899.js';
|
|
6
6
|
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-63d1a679.js';
|
|
7
7
|
import { r as raf, g as getElementRoot, a as addEventListener, k as hasLazyBuild } from './helpers-da915de8.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, h, j as forceUpdate, f as Host, i as getElement } from './index-28849c61.js';
|
|
5
5
|
import { b as getIonMode } from './ionic-global-c81d82ab.js';
|
|
6
|
-
import { s as safeCall } from './overlays-
|
|
6
|
+
import { s as safeCall } from './overlays-74d44899.js';
|
|
7
7
|
import { g as getClassMap } from './theme-01f3f29c.js';
|
|
8
8
|
import './index-a5d50daf.js';
|
|
9
9
|
import './helpers-da915de8.js';
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, h, f as Host, i as getElement,
|
|
|
5
5
|
import { c as createNotchController } from './notch-controller-55b09e11.js';
|
|
6
6
|
import { i as isOptionSelected, c as compareOptions } from './compare-with-utils-a96ff2ea.js';
|
|
7
7
|
import { h as inheritAttributes, f as focusVisibleElement, d as renderHiddenInput } from './helpers-da915de8.js';
|
|
8
|
-
import { c as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-
|
|
8
|
+
import { c as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-74d44899.js';
|
|
9
9
|
import { i as isRTL } from './dir-babeabeb.js';
|
|
10
10
|
import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-01f3f29c.js';
|
|
11
11
|
import { w as watchForOptions } from './watch-options-c2911ace.js';
|
|
@@ -6,7 +6,7 @@ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './conf
|
|
|
6
6
|
import { g as getElementRoot, r as raf } from './helpers-da915de8.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-316928be.js';
|
|
8
8
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
9
|
-
import { O as OVERLAY_GESTURE_PRIORITY, d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall, G as GESTURE } from './overlays-
|
|
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-74d44899.js';
|
|
10
10
|
import { c as createColorClasses, g as getClassMap } from './theme-01f3f29c.js';
|
|
11
11
|
import { c as config, b as getIonMode } from './ionic-global-c81d82ab.js';
|
|
12
12
|
import { c as createAnimation } from './animation-eab5a4ca.js';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { d as doc } from './index-a5d50daf.js';
|
|
5
5
|
import { f as focusVisibleElement, c as componentOnReady, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-da915de8.js';
|
|
6
6
|
import { OVERLAY_BACK_BUTTON_PRIORITY, shouldUseCloseWatcher } from './hardware-back-button-06ef3c3e.js';
|
|
7
|
-
import { b as getIonMode, c as config } from './ionic-global-c81d82ab.js';
|
|
7
|
+
import { b as getIonMode, c as config, a as isPlatform } from './ionic-global-c81d82ab.js';
|
|
8
8
|
import { C as CoreDelegate } from './framework-delegate-63d1a679.js';
|
|
9
9
|
import { B as BACKDROP_NO_SCROLL } from './gesture-controller-314a54f6.js';
|
|
10
10
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
@@ -512,6 +512,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
512
512
|
}
|
|
513
513
|
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
514
514
|
hideUnderlyingOverlaysFromScreenReaders(overlay.el);
|
|
515
|
+
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
515
516
|
overlay.presented = true;
|
|
516
517
|
overlay.willPresent.emit();
|
|
517
518
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
@@ -520,7 +521,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
520
521
|
const animationBuilder = overlay.enterAnimation
|
|
521
522
|
? overlay.enterAnimation
|
|
522
523
|
: config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);
|
|
523
|
-
// hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
524
524
|
const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
525
525
|
if (completed) {
|
|
526
526
|
overlay.didPresent.emit();
|
|
@@ -695,24 +695,14 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
|
|
|
695
695
|
if (!overlay.animated || !config.getBoolean('animated', true)) {
|
|
696
696
|
animation.duration(0);
|
|
697
697
|
}
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
baseEl.setAttribute('aria-hidden', 'true');
|
|
701
|
-
// add class 'test' to baseEl
|
|
702
|
-
baseEl.classList.add('test');
|
|
703
|
-
if (overlay.keyboardClose) {
|
|
698
|
+
if (overlay.keyboardClose) {
|
|
699
|
+
animation.beforeAddWrite(() => {
|
|
704
700
|
const activeElement = baseEl.ownerDocument.activeElement;
|
|
705
701
|
if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.matches('input,ion-input, ion-textarea')) {
|
|
706
702
|
activeElement.blur();
|
|
707
703
|
}
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
animation.afterAddWrite(() => {
|
|
711
|
-
baseEl.removeAttribute('aria-hidden');
|
|
712
|
-
// add test2 class to baseEl
|
|
713
|
-
baseEl.classList.add('test2');
|
|
714
|
-
console.log('afterAddWrite');
|
|
715
|
-
});
|
|
704
|
+
});
|
|
705
|
+
}
|
|
716
706
|
const activeAni = activeAnimations.get(overlay) || [];
|
|
717
707
|
activeAnimations.set(overlay, [...activeAni, animation]);
|
|
718
708
|
await animation.play();
|
|
@@ -896,18 +886,26 @@ const createTriggerController = () => {
|
|
|
896
886
|
* If the overlay is being presented, it prevents focus rings from appearing
|
|
897
887
|
* in incorrect positions due to the transition (specifically `transform`
|
|
898
888
|
* styles), ensuring that when aria-hidden is removed, the focus rings are
|
|
899
|
-
* correctly displayed in the final location of the elements.
|
|
889
|
+
* correctly displayed in the final location of the elements. This only
|
|
890
|
+
* applies to Android devices.
|
|
891
|
+
*
|
|
892
|
+
* If this solution is applied to iOS devices, then it leads to a bug where
|
|
893
|
+
* the overlays cannot be accessed by screen readers. This is due to
|
|
894
|
+
* VoiceOver not being able to update the accessibility tree when the
|
|
895
|
+
* `aria-hidden` is removed.
|
|
900
896
|
*
|
|
901
897
|
* @param overlay - The overlay that is being animated.
|
|
902
898
|
*/
|
|
903
899
|
const hideAnimatingOverlayFromScreenReaders = (overlay) => {
|
|
904
900
|
if (doc === undefined)
|
|
905
901
|
return;
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
902
|
+
if (isPlatform('android')) {
|
|
903
|
+
/**
|
|
904
|
+
* Once the animation is complete, this attribute will be removed.
|
|
905
|
+
* This is done at the end of the `present` method.
|
|
906
|
+
*/
|
|
907
|
+
overlay.setAttribute('aria-hidden', 'true');
|
|
908
|
+
}
|
|
911
909
|
};
|
|
912
910
|
/**
|
|
913
911
|
* Ensure that underlying overlays have aria-hidden if necessary so that screen readers
|
package/dist/esm-es5/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
export{c as createAnimation}from"./animation-eab5a4ca.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-3ad7f18b.js";export{iosTransitionAnimation}from"./ios.transition-4ee1a3af.js";export{mdTransitionAnimation}from"./md.transition-5106a0d2.js";export{g as getTimeGivenProgression}from"./cubic-bezier-fe2083dc.js";export{createGesture}from"./index-39782642.js";export{g as getPlatforms,i as initialize,a as isPlatform}from"./ionic-global-c81d82ab.js";export{c as componentOnReady}from"./helpers-da915de8.js";export{I as IonicSafeString,g as getMode,s as setupConfig}from"./config-49c88215.js";export{o as openURL}from"./theme-01f3f29c.js";export{m as menuController}from"./index-24b48b06.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-
|
|
4
|
+
export{c as createAnimation}from"./animation-eab5a4ca.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-3ad7f18b.js";export{iosTransitionAnimation}from"./ios.transition-4ee1a3af.js";export{mdTransitionAnimation}from"./md.transition-5106a0d2.js";export{g as getTimeGivenProgression}from"./cubic-bezier-fe2083dc.js";export{createGesture}from"./index-39782642.js";export{g as getPlatforms,i as initialize,a as isPlatform}from"./ionic-global-c81d82ab.js";export{c as componentOnReady}from"./helpers-da915de8.js";export{I as IonicSafeString,g as getMode,s as setupConfig}from"./config-49c88215.js";export{o as openURL}from"./theme-01f3f29c.js";export{m as menuController}from"./index-24b48b06.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-74d44899.js";import"./index-a5d50daf.js";import"./index-28849c61.js";import"./index-9b0d46f4.js";import"./gesture-controller-314a54f6.js";import"./hardware-back-button-06ef3c3e.js";import"./framework-delegate-63d1a679.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};
|