@ionic/core 8.8.11-dev.11781639886.140139f2 → 8.8.11-dev.11782911278.11f0315e
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/index.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/{p-nQi4oKcG.js → p-B8U2xbtx.js} +1 -1
- package/components/p-CHzfYZbv.js +4 -0
- package/components/{p-DDWp95gH.js → p-Ck2wcXbv.js} +1 -1
- package/components/p-D4h1H_hh.js +4 -0
- package/components/{p-C2lKgrXx.js → p-DEBD4LvH.js} +1 -1
- package/components/p-DH50pr9O.js +4 -0
- package/components/{p-BSEgsdFI.js → p-DhkITZ-y.js} +1 -1
- package/components/p-DmpBvltk.js +4 -0
- package/components/{p-5bE_Wz4Y.js → p-DpV-p5Xs.js} +1 -1
- package/components/{p-Cfx4M1Bn.js → p-Dz74mwlk.js} +1 -1
- package/components/{p-BLmJ0zRm.js → p-XJWMAP8m.js} +1 -1
- package/components/p-djQLE88P.js +4 -0
- package/components/{p-B60hm8Qv.js → p-r0aq7dpt.js} +1 -1
- package/components/{p-rCa2eL0j.js → p-wk2QqrAo.js} +1 -1
- package/dist/cjs/index.cjs.js +1 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -4
- package/dist/cjs/ion-alert.cjs.entry.js +7 -3
- package/dist/cjs/ion-app_8.cjs.entry.js +23 -9
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +1 -639
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +7 -3
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +21 -10
- package/dist/cjs/ion-popover.cjs.entry.js +7 -3
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +36 -5
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +3 -3
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{overlays-TbKsuC-K.js → overlays-DSmSrd_4.js} +26 -7
- package/dist/collection/collection-manifest.json +5 -9
- package/dist/collection/components/action-sheet/action-sheet.js +8 -4
- package/dist/collection/components/alert/alert.js +7 -3
- package/dist/collection/components/input/input.js +8 -8
- package/dist/collection/components/loading/loading.js +7 -3
- package/dist/collection/components/modal/modal.js +23 -12
- package/dist/collection/components/popover/popover.js +7 -3
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +4 -4
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +38 -5
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +9 -9
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.js +33 -2
- package/dist/collection/components/select-modal/select-modal.js +1 -1
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/overlays.js +25 -6
- package/dist/docs.json +250 -1173
- package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +8 -4
- package/dist/esm/ion-alert.entry.js +7 -3
- package/dist/esm/ion-app_8.entry.js +23 -9
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +5 -641
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +7 -3
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +21 -10
- package/dist/esm/ion-popover.entry.js +7 -3
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +3 -3
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +3 -3
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +6 -6
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +38 -7
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +3 -3
- package/dist/esm/ion-toggle.entry.js +4 -4
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{overlays-TbiM4mdr.js → overlays-DLNOHWNc.js} +26 -7
- package/dist/html.html-data.json +7 -78
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-aa5d6b8f.entry.js → p-03aa786d.entry.js} +1 -1
- package/dist/ionic/{p-8fce95d5.entry.js → p-14095ba5.entry.js} +1 -1
- package/dist/ionic/{p-3a126bca.entry.js → p-259d0d98.entry.js} +1 -1
- package/dist/ionic/{p-e847a888.entry.js → p-2a6d6565.entry.js} +1 -1
- package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
- package/dist/ionic/{p-a21add2f.entry.js → p-441fbb13.entry.js} +1 -1
- package/dist/ionic/{p-3a7d1e91.entry.js → p-4502a274.entry.js} +1 -1
- package/dist/ionic/p-4621c387.entry.js +4 -0
- package/dist/ionic/p-4bb3eb60.entry.js +4 -0
- package/dist/ionic/{p-874b4bd8.entry.js → p-51cd1643.entry.js} +1 -1
- package/dist/ionic/p-5c3ec490.entry.js +4 -0
- package/dist/ionic/{p-3ae5f277.entry.js → p-627fabd9.entry.js} +1 -1
- package/dist/ionic/{p-e0be05c5.entry.js → p-629e4703.entry.js} +1 -1
- package/dist/ionic/{p-5d1da0a2.entry.js → p-76e92a84.entry.js} +1 -1
- package/dist/ionic/p-79a36078.entry.js +4 -0
- package/dist/ionic/{p-9f1103ce.entry.js → p-7a37b3ce.entry.js} +1 -1
- package/dist/ionic/p-7aed7726.entry.js +4 -0
- package/dist/ionic/p-7ebd980c.entry.js +4 -0
- package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
- package/dist/ionic/p-8d624ee5.entry.js +4 -0
- package/dist/ionic/{p-390ca786.entry.js → p-9177f4ac.entry.js} +1 -1
- package/dist/ionic/p-9c6a5a8d.entry.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
- package/dist/ionic/p-Cg5-OQYy.js +4 -0
- package/dist/ionic/p-a2e51c5d.entry.js +4 -0
- package/dist/ionic/{p-4858af1f.entry.js → p-a5213260.entry.js} +1 -1
- package/dist/ionic/{p-37e720da.entry.js → p-a7628bc7.entry.js} +1 -1
- package/dist/ionic/{p-ef4c3bee.entry.js → p-b1599fca.entry.js} +1 -1
- package/dist/ionic/p-b16be471.entry.js +4 -0
- package/dist/ionic/{p-84d5ce05.entry.js → p-b9ac1fe0.entry.js} +1 -1
- package/dist/ionic/{p-94f2a736.entry.js → p-c93553d2.entry.js} +1 -1
- package/dist/ionic/{p-75dc25ba.entry.js → p-d2c7f046.entry.js} +1 -1
- package/dist/ionic/{p-c4d8641b.entry.js → p-d8387b99.entry.js} +1 -1
- package/dist/ionic/p-d8ac9eea.entry.js +4 -0
- package/dist/ionic/{p-9a65ac7f.entry.js → p-db1b6738.entry.js} +1 -1
- package/dist/ionic/p-ed797c72.entry.js +4 -0
- package/dist/ionic/{p-8eb8ee76.entry.js → p-ef93ca92.entry.js} +1 -1
- package/dist/ionic/p-f09f9642.entry.js +4 -0
- package/dist/ionic/p-f1c06f82.entry.js +4 -0
- package/dist/ionic/{p-0fa9c382.entry.js → p-fe4aa1db.entry.js} +1 -1
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +11 -4
- package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select.d.ts +1 -0
- package/dist/types/components.d.ts +23 -286
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/utils/config.d.ts +0 -8
- package/dist/types/utils/overlays.d.ts +11 -9
- package/hydrate/index.js +214 -800
- package/hydrate/index.mjs +214 -800
- package/package.json +37 -5
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -4
- package/components/ion-picker-legacy.d.ts +0 -11
- package/components/ion-picker-legacy.js +0 -4
- package/components/p-0NRupjzW.js +0 -4
- package/components/p-Bth-EzJ0.js +0 -4
- package/components/p-CU5rbWAW.js +0 -4
- package/components/p-W9CZ2mWX.js +0 -4
- package/components/p-dhLYXa7A.js +0 -4
- package/components/p-uVRyUM3z.js +0 -4
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
- package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
- package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
- package/dist/collection/components/picker-legacy/picker.js +0 -890
- package/dist/collection/components/picker-legacy/picker.md.css +0 -287
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
- package/dist/ionic/p-00dbb17e.entry.js +0 -4
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-0d005398.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.entry.js +0 -4
- package/dist/ionic/p-2f55dc1a.entry.js +0 -4
- package/dist/ionic/p-30bf9737.entry.js +0 -4
- package/dist/ionic/p-3a541154.entry.js +0 -4
- package/dist/ionic/p-485fda23.entry.js +0 -4
- package/dist/ionic/p-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-4dc1c33c.entry.js +0 -4
- package/dist/ionic/p-5fc7e542.entry.js +0 -4
- package/dist/ionic/p-e686695b.entry.js +0 -4
- package/dist/ionic/p-ec090e0a.entry.js +0 -4
- package/dist/ionic/p-xOfi7-Zn.js +0 -4
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
package/hydrate/index.mjs
CHANGED
|
@@ -8039,7 +8039,7 @@ const focusElementInOverlay = (hostToFocus, overlay) => {
|
|
|
8039
8039
|
* Should NOT include: Toast
|
|
8040
8040
|
*/
|
|
8041
8041
|
const trapKeyboardFocus = (ev, doc) => {
|
|
8042
|
-
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
8042
|
+
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover');
|
|
8043
8043
|
const target = ev.target;
|
|
8044
8044
|
/**
|
|
8045
8045
|
* If no active overlay, ignore this event.
|
|
@@ -8273,7 +8273,7 @@ const dismissOverlay = (doc, data, role, overlayTag, id) => {
|
|
|
8273
8273
|
*/
|
|
8274
8274
|
const getOverlays = (doc, selector) => {
|
|
8275
8275
|
if (selector === undefined) {
|
|
8276
|
-
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
8276
|
+
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover,ion-toast';
|
|
8277
8277
|
}
|
|
8278
8278
|
return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
|
|
8279
8279
|
};
|
|
@@ -8335,6 +8335,29 @@ const setRootAriaHidden = (hidden = false) => {
|
|
|
8335
8335
|
viewContainer.removeAttribute('aria-hidden');
|
|
8336
8336
|
}
|
|
8337
8337
|
};
|
|
8338
|
+
/**
|
|
8339
|
+
* Cleans up root `aria-hidden` and `backdrop-no-scroll` when
|
|
8340
|
+
* an overlay is removed from the DOM without going through
|
|
8341
|
+
* the `dismiss()` flow (e.g., when a framework unmounts the
|
|
8342
|
+
* overlay during a route change).
|
|
8343
|
+
*
|
|
8344
|
+
* Should be called from an overlay's `disconnectedCallback`
|
|
8345
|
+
* when the overlay was still presented at the time of removal.
|
|
8346
|
+
*/
|
|
8347
|
+
const cleanupRootFocusTrapAccessibility = () => {
|
|
8348
|
+
if (typeof document === 'undefined') {
|
|
8349
|
+
return;
|
|
8350
|
+
}
|
|
8351
|
+
const remainingOverlays = getPresentedOverlays(document);
|
|
8352
|
+
const hasRemainingLocking = remainingOverlays.some((o) => {
|
|
8353
|
+
const el = o;
|
|
8354
|
+
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
8355
|
+
});
|
|
8356
|
+
if (!hasRemainingLocking) {
|
|
8357
|
+
setRootAriaHidden(false);
|
|
8358
|
+
document.body.classList.remove(BACKDROP_NO_SCROLL);
|
|
8359
|
+
}
|
|
8360
|
+
};
|
|
8338
8361
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
8339
8362
|
var _a, _b;
|
|
8340
8363
|
if (overlay.presented) {
|
|
@@ -9591,7 +9614,7 @@ const createAnimation = (animationId) => {
|
|
|
9591
9614
|
/**
|
|
9592
9615
|
* iOS Action Sheet Enter Animation
|
|
9593
9616
|
*/
|
|
9594
|
-
const iosEnterAnimation$
|
|
9617
|
+
const iosEnterAnimation$5 = (baseEl) => {
|
|
9595
9618
|
const baseAnimation = createAnimation();
|
|
9596
9619
|
const backdropAnimation = createAnimation();
|
|
9597
9620
|
const wrapperAnimation = createAnimation();
|
|
@@ -9615,7 +9638,7 @@ const iosEnterAnimation$6 = (baseEl) => {
|
|
|
9615
9638
|
/**
|
|
9616
9639
|
* iOS Action Sheet Leave Animation
|
|
9617
9640
|
*/
|
|
9618
|
-
const iosLeaveAnimation$
|
|
9641
|
+
const iosLeaveAnimation$5 = (baseEl) => {
|
|
9619
9642
|
const baseAnimation = createAnimation();
|
|
9620
9643
|
const backdropAnimation = createAnimation();
|
|
9621
9644
|
const wrapperAnimation = createAnimation();
|
|
@@ -9771,7 +9794,7 @@ class ActionSheet {
|
|
|
9771
9794
|
async present() {
|
|
9772
9795
|
const unlock = await this.lockController.lock();
|
|
9773
9796
|
await this.delegateController.attachViewToDom();
|
|
9774
|
-
await present(this, 'actionSheetEnter', iosEnterAnimation$
|
|
9797
|
+
await present(this, 'actionSheetEnter', iosEnterAnimation$5, mdEnterAnimation$5);
|
|
9775
9798
|
unlock();
|
|
9776
9799
|
}
|
|
9777
9800
|
/**
|
|
@@ -9788,7 +9811,7 @@ class ActionSheet {
|
|
|
9788
9811
|
*/
|
|
9789
9812
|
async dismiss(data, role) {
|
|
9790
9813
|
const unlock = await this.lockController.lock();
|
|
9791
|
-
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$
|
|
9814
|
+
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$5, mdLeaveAnimation$5);
|
|
9792
9815
|
if (dismissed) {
|
|
9793
9816
|
this.delegateController.removeViewFromDom();
|
|
9794
9817
|
}
|
|
@@ -9957,6 +9980,10 @@ class ActionSheet {
|
|
|
9957
9980
|
this.gesture = undefined;
|
|
9958
9981
|
}
|
|
9959
9982
|
this.triggerController.removeClickListener();
|
|
9983
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
9984
|
+
if (this.presented) {
|
|
9985
|
+
cleanupRootFocusTrapAccessibility();
|
|
9986
|
+
}
|
|
9960
9987
|
}
|
|
9961
9988
|
componentWillLoad() {
|
|
9962
9989
|
var _a;
|
|
@@ -10045,7 +10072,7 @@ class ActionSheet {
|
|
|
10045
10072
|
if (isRadio) {
|
|
10046
10073
|
htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
|
|
10047
10074
|
}
|
|
10048
|
-
return (hAsync("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass$
|
|
10075
|
+
return (hAsync("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass$2(b)), (isRadio && { 'action-sheet-selected': isActiveRadio })), onClick: () => {
|
|
10049
10076
|
if (isRadio) {
|
|
10050
10077
|
this.selectRadioButton(b);
|
|
10051
10078
|
}
|
|
@@ -10060,12 +10087,12 @@ class ActionSheet {
|
|
|
10060
10087
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
10061
10088
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
10062
10089
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
10063
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
10090
|
+
return (hAsync(Host, Object.assign({ key: '572ea2b7b7ffd902186a17f8063e46f4e7360633', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
10064
10091
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
10065
|
-
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '
|
|
10092
|
+
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '065f29ec2021e25fdde59707a42cbacd4f9319c6', tappable: this.backdropDismiss }), hAsync("div", { key: 'c92615ae5b292bfd223cee644c07f144f5f1d974', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'd4b30e289503203048420c35ac447dfff72c9183', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '7fc9bcc2f32666e170cd2052ce2b359b3915da60', class: "action-sheet-container" }, hAsync("div", { key: 'd85ff13a6029bbe081053e818eeaa115327abdc1', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: 'c743f928302e20007219fbcdd1e5c2efa662d3d9', id: headerID, class: {
|
|
10066
10093
|
'action-sheet-title': true,
|
|
10067
10094
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
10068
|
-
} }, header, this.subHeader && hAsync("div", { key: '
|
|
10095
|
+
} }, header, this.subHeader && hAsync("div", { key: '2cce9ba82989d893052cb6acf88677058a7b26ce', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'cf91d8a47838570e4c533694614bb6ad46f20ac7', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: '5ffc9e3d9f4db002a1112ed71977a407edb9f86e' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$2(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: 'e0802b849fef77fd8158cbfee23adf7fc6e08d62', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '991a60ebf6966e5815f849325c4e9c571a31fdeb', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: 'af533882239ba0d4e98691e38d517fbcee858a6d' })))))), hAsync("div", { key: '7107a8b235b00bf48486db95f66ac3ba53faf157', tabindex: "0", "aria-hidden": "true" })));
|
|
10069
10096
|
}
|
|
10070
10097
|
get el() { return getElement(this); }
|
|
10071
10098
|
static get watchers() { return {
|
|
@@ -10114,7 +10141,7 @@ class ActionSheet {
|
|
|
10114
10141
|
"$attrsToReflect$": []
|
|
10115
10142
|
}; }
|
|
10116
10143
|
}
|
|
10117
|
-
const buttonClass$
|
|
10144
|
+
const buttonClass$2 = (button) => {
|
|
10118
10145
|
return Object.assign({ 'action-sheet-button': true, 'ion-activatable': !button.disabled, 'ion-focusable': !button.disabled, [`action-sheet-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
10119
10146
|
};
|
|
10120
10147
|
|
|
@@ -10285,7 +10312,7 @@ class IonicSafeString {
|
|
|
10285
10312
|
/**
|
|
10286
10313
|
* iOS Alert Enter Animation
|
|
10287
10314
|
*/
|
|
10288
|
-
const iosEnterAnimation$
|
|
10315
|
+
const iosEnterAnimation$4 = (baseEl) => {
|
|
10289
10316
|
const baseAnimation = createAnimation();
|
|
10290
10317
|
const backdropAnimation = createAnimation();
|
|
10291
10318
|
const wrapperAnimation = createAnimation();
|
|
@@ -10310,7 +10337,7 @@ const iosEnterAnimation$5 = (baseEl) => {
|
|
|
10310
10337
|
/**
|
|
10311
10338
|
* iOS Alert Leave Animation
|
|
10312
10339
|
*/
|
|
10313
|
-
const iosLeaveAnimation$
|
|
10340
|
+
const iosLeaveAnimation$4 = (baseEl) => {
|
|
10314
10341
|
const baseAnimation = createAnimation();
|
|
10315
10342
|
const backdropAnimation = createAnimation();
|
|
10316
10343
|
const wrapperAnimation = createAnimation();
|
|
@@ -10586,6 +10613,10 @@ class Alert {
|
|
|
10586
10613
|
this.gesture.destroy();
|
|
10587
10614
|
this.gesture = undefined;
|
|
10588
10615
|
}
|
|
10616
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
10617
|
+
if (this.presented) {
|
|
10618
|
+
cleanupRootFocusTrapAccessibility();
|
|
10619
|
+
}
|
|
10589
10620
|
(_a = this.buttonGroupResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
10590
10621
|
this.buttonGroupResizeObserver = undefined;
|
|
10591
10622
|
}
|
|
@@ -10625,7 +10656,7 @@ class Alert {
|
|
|
10625
10656
|
async present() {
|
|
10626
10657
|
const unlock = await this.lockController.lock();
|
|
10627
10658
|
await this.delegateController.attachViewToDom();
|
|
10628
|
-
await present(this, 'alertEnter', iosEnterAnimation$
|
|
10659
|
+
await present(this, 'alertEnter', iosEnterAnimation$4, mdEnterAnimation$4).then(() => {
|
|
10629
10660
|
var _a, _b;
|
|
10630
10661
|
/**
|
|
10631
10662
|
* Check if alert has only one button and no inputs.
|
|
@@ -10656,7 +10687,7 @@ class Alert {
|
|
|
10656
10687
|
*/
|
|
10657
10688
|
async dismiss(data, role) {
|
|
10658
10689
|
const unlock = await this.lockController.lock();
|
|
10659
|
-
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$
|
|
10690
|
+
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$4, mdLeaveAnimation$4);
|
|
10660
10691
|
if (dismissed) {
|
|
10661
10692
|
this.delegateController.removeViewFromDom();
|
|
10662
10693
|
}
|
|
@@ -10841,7 +10872,7 @@ class Alert {
|
|
|
10841
10872
|
'alert-button-group': true,
|
|
10842
10873
|
'alert-button-group-vertical': buttons.length > 2 || this.isButtonGroupWrapped,
|
|
10843
10874
|
};
|
|
10844
|
-
return (hAsync("div", { class: alertButtonGroupClass, ref: (el) => (this.buttonGroupEl = el) }, buttons.map((button) => (hAsync("button", Object.assign({}, button.htmlAttributes, { type: "button", id: button.id, class: buttonClass$
|
|
10875
|
+
return (hAsync("div", { class: alertButtonGroupClass, ref: (el) => (this.buttonGroupEl = el) }, buttons.map((button) => (hAsync("button", Object.assign({}, button.htmlAttributes, { type: "button", id: button.id, class: buttonClass$1(button), tabIndex: 0, onClick: () => this.buttonClick(button) }), hAsync("span", { class: "alert-button-inner" }, button.text), mode === 'md' && hAsync("ion-ripple-effect", null))))));
|
|
10845
10876
|
}
|
|
10846
10877
|
renderAlertMessage(msgId) {
|
|
10847
10878
|
const { customHTMLEnabled, message } = this;
|
|
@@ -10864,9 +10895,9 @@ class Alert {
|
|
|
10864
10895
|
* If neither are defined, do not set aria-labelledby.
|
|
10865
10896
|
*/
|
|
10866
10897
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
10867
|
-
return (hAsync(Host, { key: '
|
|
10898
|
+
return (hAsync(Host, { key: '80642b44e08bcbe73f7a217578f89716827e2f7d', tabindex: "-1", style: {
|
|
10868
10899
|
zIndex: `${20000 + overlayIndex}`,
|
|
10869
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '
|
|
10900
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: 'f7777dfd624d4a6253681bf36ab3b66389617fb5', tappable: this.backdropDismiss }), hAsync("div", { key: '2a3a03bae54ff66d7d182d41eda7158b5228fdbc', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: '255051adf9deeb3d9b872906b8eaa4a93075325c', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), hAsync("div", { key: '3039e1a0f37617b9cba644b259b62097401cf84b', class: "alert-head" }, header && (hAsync("h2", { key: 'b65dc3fa312a520d893d0710a28d72dfad17d020', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: 'e1f9bd496f2baaa28c7c0c6efb7b84591d1548de', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: 'ffa52291e21ee6a56bf11abbef87c698512ae477', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '5db1dce6054f16ea8da7830754c740ace31eb9d1', tabindex: "0", "aria-hidden": "true" })));
|
|
10870
10901
|
}
|
|
10871
10902
|
get el() { return getElement(this); }
|
|
10872
10903
|
static get watchers() { return {
|
|
@@ -10924,7 +10955,7 @@ const inputClass = (input) => {
|
|
|
10924
10955
|
var _a, _b, _c;
|
|
10925
10956
|
return Object.assign(Object.assign({ 'alert-input': true, 'alert-input-disabled': ((_b = (_a = input.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : input.disabled) || false }, getClassMap(input.cssClass)), getClassMap(input.attributes ? (_c = input.attributes.class) === null || _c === void 0 ? void 0 : _c.toString() : ''));
|
|
10926
10957
|
};
|
|
10927
|
-
const buttonClass$
|
|
10958
|
+
const buttonClass$1 = (button) => {
|
|
10928
10959
|
return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
10929
10960
|
};
|
|
10930
10961
|
|
|
@@ -19263,7 +19294,7 @@ class Input {
|
|
|
19263
19294
|
/**
|
|
19264
19295
|
* Whether auto correction should be enabled when the user is entering/editing the text value.
|
|
19265
19296
|
*/
|
|
19266
|
-
this.autocorrect =
|
|
19297
|
+
this.autocorrect = false;
|
|
19267
19298
|
/**
|
|
19268
19299
|
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
19269
19300
|
*
|
|
@@ -19720,7 +19751,7 @@ class Input {
|
|
|
19720
19751
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
19721
19752
|
*/
|
|
19722
19753
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
19723
|
-
return (hAsync(Host, { key: '
|
|
19754
|
+
return (hAsync(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses$1(this.color, {
|
|
19724
19755
|
[mode]: true,
|
|
19725
19756
|
'has-value': hasValue,
|
|
19726
19757
|
'has-focus': hasFocus,
|
|
@@ -19731,14 +19762,14 @@ class Input {
|
|
|
19731
19762
|
'in-item': inItem,
|
|
19732
19763
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
19733
19764
|
'input-disabled': disabled,
|
|
19734
|
-
}) }, hAsync("label", { key: '
|
|
19765
|
+
}) }, hAsync("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, hAsync("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), hAsync("input", Object.assign({ key: 'ce85703e0434a6322bb4275a924e3cd91c79fa20', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
19735
19766
|
/**
|
|
19736
19767
|
* This prevents mobile browsers from
|
|
19737
19768
|
* blurring the input when the clear
|
|
19738
19769
|
* button is activated.
|
|
19739
19770
|
*/
|
|
19740
19771
|
ev.preventDefault();
|
|
19741
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
19772
|
+
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
|
|
19742
19773
|
}
|
|
19743
19774
|
get el() { return getElement(this); }
|
|
19744
19775
|
static get watchers() { return {
|
|
@@ -19766,7 +19797,7 @@ class Input {
|
|
|
19766
19797
|
"color": [513],
|
|
19767
19798
|
"autocapitalize": [1],
|
|
19768
19799
|
"autocomplete": [1],
|
|
19769
|
-
"autocorrect": [
|
|
19800
|
+
"autocorrect": [4],
|
|
19770
19801
|
"autofocus": [4],
|
|
19771
19802
|
"clearInput": [4, "clear-input"],
|
|
19772
19803
|
"clearInputIcon": [1, "clear-input-icon"],
|
|
@@ -21770,7 +21801,7 @@ class ListHeader {
|
|
|
21770
21801
|
/**
|
|
21771
21802
|
* iOS Loading Enter Animation
|
|
21772
21803
|
*/
|
|
21773
|
-
const iosEnterAnimation$
|
|
21804
|
+
const iosEnterAnimation$3 = (baseEl) => {
|
|
21774
21805
|
const baseAnimation = createAnimation();
|
|
21775
21806
|
const backdropAnimation = createAnimation();
|
|
21776
21807
|
const wrapperAnimation = createAnimation();
|
|
@@ -21795,7 +21826,7 @@ const iosEnterAnimation$4 = (baseEl) => {
|
|
|
21795
21826
|
/**
|
|
21796
21827
|
* iOS Loading Leave Animation
|
|
21797
21828
|
*/
|
|
21798
|
-
const iosLeaveAnimation$
|
|
21829
|
+
const iosLeaveAnimation$3 = (baseEl) => {
|
|
21799
21830
|
const baseAnimation = createAnimation();
|
|
21800
21831
|
const backdropAnimation = createAnimation();
|
|
21801
21832
|
const wrapperAnimation = createAnimation();
|
|
@@ -21968,6 +21999,10 @@ class Loading {
|
|
|
21968
21999
|
}
|
|
21969
22000
|
disconnectedCallback() {
|
|
21970
22001
|
this.triggerController.removeClickListener();
|
|
22002
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
22003
|
+
if (this.presented) {
|
|
22004
|
+
cleanupRootFocusTrapAccessibility();
|
|
22005
|
+
}
|
|
21971
22006
|
}
|
|
21972
22007
|
/**
|
|
21973
22008
|
* Present the loading overlay after it has been created.
|
|
@@ -21975,7 +22010,7 @@ class Loading {
|
|
|
21975
22010
|
async present() {
|
|
21976
22011
|
const unlock = await this.lockController.lock();
|
|
21977
22012
|
await this.delegateController.attachViewToDom();
|
|
21978
|
-
await present(this, 'loadingEnter', iosEnterAnimation$
|
|
22013
|
+
await present(this, 'loadingEnter', iosEnterAnimation$3, mdEnterAnimation$3);
|
|
21979
22014
|
if (this.duration > 0) {
|
|
21980
22015
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);
|
|
21981
22016
|
}
|
|
@@ -21998,7 +22033,7 @@ class Loading {
|
|
|
21998
22033
|
if (this.durationTimeout) {
|
|
21999
22034
|
clearTimeout(this.durationTimeout);
|
|
22000
22035
|
}
|
|
22001
|
-
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$
|
|
22036
|
+
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$3, mdLeaveAnimation$3);
|
|
22002
22037
|
if (dismissed) {
|
|
22003
22038
|
this.delegateController.removeViewFromDom();
|
|
22004
22039
|
}
|
|
@@ -22033,9 +22068,9 @@ class Loading {
|
|
|
22033
22068
|
* Otherwise, don't set aria-labelledby.
|
|
22034
22069
|
*/
|
|
22035
22070
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
22036
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
22071
|
+
return (hAsync(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
22037
22072
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
22038
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
22073
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, hAsync("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
|
|
22039
22074
|
}
|
|
22040
22075
|
get el() { return getElement(this); }
|
|
22041
22076
|
static get watchers() { return {
|
|
@@ -24309,7 +24344,7 @@ const createEnterAnimation$1 = () => {
|
|
|
24309
24344
|
/**
|
|
24310
24345
|
* iOS Modal Enter Animation for the Card presentation style
|
|
24311
24346
|
*/
|
|
24312
|
-
const iosEnterAnimation$
|
|
24347
|
+
const iosEnterAnimation$2 = (baseEl, opts) => {
|
|
24313
24348
|
const { presentingEl, currentBreakpoint, expandToScroll } = opts;
|
|
24314
24349
|
const root = getElementRoot(baseEl);
|
|
24315
24350
|
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
@@ -24402,7 +24437,7 @@ const createLeaveAnimation$1 = () => {
|
|
|
24402
24437
|
/**
|
|
24403
24438
|
* iOS Modal Leave Animation
|
|
24404
24439
|
*/
|
|
24405
|
-
const iosLeaveAnimation$
|
|
24440
|
+
const iosLeaveAnimation$2 = (baseEl, opts, duration = 500) => {
|
|
24406
24441
|
const { presentingEl, currentBreakpoint } = opts;
|
|
24407
24442
|
const root = getElementRoot(baseEl);
|
|
24408
24443
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
|
|
@@ -25577,13 +25612,20 @@ class Modal {
|
|
|
25577
25612
|
/**
|
|
25578
25613
|
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
25579
25614
|
*
|
|
25580
|
-
*
|
|
25581
|
-
*
|
|
25615
|
+
* Handle behavior is unavailable when the `handle` property is set to
|
|
25616
|
+
* `false` or when the `breakpoints` property is not set (using a
|
|
25617
|
+
* fullscreen or card modal).
|
|
25618
|
+
*
|
|
25619
|
+
* Set to `"cycle"` to make the handle focusable and let the sheet modal
|
|
25620
|
+
* cycle between available breakpoints when pressed. This keeps the sheet
|
|
25621
|
+
* operable with assistive technology.
|
|
25582
25622
|
*
|
|
25583
|
-
*
|
|
25584
|
-
*
|
|
25623
|
+
* Set to `"none"` to make the handle purely decorative when pressed and
|
|
25624
|
+
* removed from the tab order.
|
|
25625
|
+
*
|
|
25626
|
+
* Defaults to `"cycle"`.
|
|
25585
25627
|
*/
|
|
25586
|
-
this.handleBehavior = '
|
|
25628
|
+
this.handleBehavior = 'cycle';
|
|
25587
25629
|
/**
|
|
25588
25630
|
* If `true`, the modal will be dismissed when the backdrop is clicked.
|
|
25589
25631
|
*/
|
|
@@ -25775,6 +25817,10 @@ class Modal {
|
|
|
25775
25817
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
25776
25818
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
25777
25819
|
this.cleanupSafeAreaOverrides();
|
|
25820
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
25821
|
+
if (this.presented) {
|
|
25822
|
+
cleanupRootFocusTrapAccessibility();
|
|
25823
|
+
}
|
|
25778
25824
|
}
|
|
25779
25825
|
componentWillLoad() {
|
|
25780
25826
|
var _a;
|
|
@@ -25951,7 +25997,7 @@ class Modal {
|
|
|
25951
25997
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
25952
25998
|
setCardStatusBarDark();
|
|
25953
25999
|
}
|
|
25954
|
-
await present(this, 'modalEnter', iosEnterAnimation$
|
|
26000
|
+
await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
|
|
25955
26001
|
presentingEl: presentingElement,
|
|
25956
26002
|
currentBreakpoint: this.initialBreakpoint,
|
|
25957
26003
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26013,7 +26059,7 @@ class Modal {
|
|
|
26013
26059
|
// All of the elements needed for the swipe gesture
|
|
26014
26060
|
// should be in the DOM and referenced by now, except
|
|
26015
26061
|
// for the presenting el
|
|
26016
|
-
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$
|
|
26062
|
+
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$2);
|
|
26017
26063
|
const ani = (this.animation = animationBuilder(el, {
|
|
26018
26064
|
presentingEl: this.presentingElement,
|
|
26019
26065
|
expandToScroll: this.expandToScroll,
|
|
@@ -26032,7 +26078,7 @@ class Modal {
|
|
|
26032
26078
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
26033
26079
|
return;
|
|
26034
26080
|
}
|
|
26035
|
-
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$
|
|
26081
|
+
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$2);
|
|
26036
26082
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
26037
26083
|
presentingEl: this.presentingElement,
|
|
26038
26084
|
currentBreakpoint: initialBreakpoint,
|
|
@@ -26222,7 +26268,7 @@ class Modal {
|
|
|
26222
26268
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
26223
26269
|
this.keyboardOpenCallback = undefined;
|
|
26224
26270
|
}
|
|
26225
|
-
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$
|
|
26271
|
+
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$2, mdLeaveAnimation$2, {
|
|
26226
26272
|
presentingEl: presentingElement,
|
|
26227
26273
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
26228
26274
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26654,20 +26700,20 @@ class Modal {
|
|
|
26654
26700
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
26655
26701
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
26656
26702
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
26657
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
26703
|
+
return (hAsync(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
|
|
26658
26704
|
// Allow the modal to be navigable when the handle is focusable
|
|
26659
26705
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
26660
26706
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
26661
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '
|
|
26707
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
|
|
26662
26708
|
/*
|
|
26663
26709
|
role and aria-modal must be used on the
|
|
26664
26710
|
same element. They must also be set inside the
|
|
26665
26711
|
shadow DOM otherwise ion-button will not be highlighted
|
|
26666
26712
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
26667
26713
|
*/
|
|
26668
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
26714
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
|
|
26669
26715
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
26670
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '
|
|
26716
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
|
|
26671
26717
|
}
|
|
26672
26718
|
get el() { return getElement(this); }
|
|
26673
26719
|
static get watchers() { return {
|
|
@@ -27750,14 +27796,14 @@ class Note {
|
|
|
27750
27796
|
}; }
|
|
27751
27797
|
}
|
|
27752
27798
|
|
|
27753
|
-
const pickerIosCss
|
|
27799
|
+
const pickerIosCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}:host .picker-before{inset-inline-start:0}:host .picker-after{top:116px;height:84px}:host .picker-after{inset-inline-start:0}:host .picker-highlight{border-radius:var(--highlight-border-radius, 8px);left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-highlight{background:var(--highlight-background, var(--ion-color-step-150, var(--ion-background-color-step-150, #eeeeef)))}`;
|
|
27754
27800
|
|
|
27755
|
-
const pickerMdCss
|
|
27801
|
+
const pickerMdCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}:host .picker-before{inset-inline-start:0}:host .picker-after{top:116px;height:84px}:host .picker-after{inset-inline-start:0}:host .picker-highlight{border-radius:var(--highlight-border-radius, 8px);left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}`;
|
|
27756
27802
|
|
|
27757
27803
|
/**
|
|
27758
27804
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
27759
27805
|
*/
|
|
27760
|
-
|
|
27806
|
+
class Picker {
|
|
27761
27807
|
constructor(hostRef) {
|
|
27762
27808
|
registerInstance(this, hostRef);
|
|
27763
27809
|
this.ionInputModeChange = createEvent(this, "ionInputModeChange", 7);
|
|
@@ -28223,8 +28269,8 @@ let Picker$1 = class Picker {
|
|
|
28223
28269
|
}
|
|
28224
28270
|
get el() { return getElement(this); }
|
|
28225
28271
|
static get style() { return {
|
|
28226
|
-
ios: pickerIosCss
|
|
28227
|
-
md: pickerMdCss
|
|
28272
|
+
ios: pickerIosCss(),
|
|
28273
|
+
md: pickerMdCss()
|
|
28228
28274
|
}; }
|
|
28229
28275
|
static get cmpMeta() { return {
|
|
28230
28276
|
"$flags$": 297,
|
|
@@ -28236,322 +28282,7 @@ let Picker$1 = class Picker {
|
|
|
28236
28282
|
"$lazyBundleId$": "-",
|
|
28237
28283
|
"$attrsToReflect$": []
|
|
28238
28284
|
}; }
|
|
28239
|
-
};
|
|
28240
|
-
|
|
28241
|
-
/**
|
|
28242
|
-
* iOS Picker Enter Animation
|
|
28243
|
-
*/
|
|
28244
|
-
const iosEnterAnimation$2 = (baseEl) => {
|
|
28245
|
-
const baseAnimation = createAnimation();
|
|
28246
|
-
const backdropAnimation = createAnimation();
|
|
28247
|
-
const wrapperAnimation = createAnimation();
|
|
28248
|
-
backdropAnimation
|
|
28249
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
28250
|
-
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
28251
|
-
.beforeStyles({
|
|
28252
|
-
'pointer-events': 'none',
|
|
28253
|
-
})
|
|
28254
|
-
.afterClearStyles(['pointer-events']);
|
|
28255
|
-
wrapperAnimation
|
|
28256
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
28257
|
-
.fromTo('transform', 'translateY(100%)', 'translateY(0%)');
|
|
28258
|
-
return baseAnimation
|
|
28259
|
-
.addElement(baseEl)
|
|
28260
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
28261
|
-
.duration(400)
|
|
28262
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
28263
|
-
};
|
|
28264
|
-
|
|
28265
|
-
/**
|
|
28266
|
-
* iOS Picker Leave Animation
|
|
28267
|
-
*/
|
|
28268
|
-
const iosLeaveAnimation$2 = (baseEl) => {
|
|
28269
|
-
const baseAnimation = createAnimation();
|
|
28270
|
-
const backdropAnimation = createAnimation();
|
|
28271
|
-
const wrapperAnimation = createAnimation();
|
|
28272
|
-
backdropAnimation
|
|
28273
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
28274
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
|
|
28275
|
-
wrapperAnimation
|
|
28276
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
28277
|
-
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
|
28278
|
-
return baseAnimation
|
|
28279
|
-
.addElement(baseEl)
|
|
28280
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
28281
|
-
.duration(400)
|
|
28282
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
28283
|
-
};
|
|
28284
|
-
|
|
28285
|
-
const pickerIosCss = () => `.sc-ion-picker-legacy-ios-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.sc-ion-picker-legacy-ios-h{inset-inline-start:0}.overlay-hidden.sc-ion-picker-legacy-ios-h{display:none}.picker-wrapper.sc-ion-picker-legacy-ios{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-legacy-ios{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-legacy-ios{border:0;font-family:inherit}.picker-button.sc-ion-picker-legacy-ios:active,.picker-button.sc-ion-picker-legacy-ios:focus{outline:none}.picker-columns.sc-ion-picker-legacy-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-legacy-ios,.picker-below-highlight.sc-ion-picker-legacy-ios{display:none;pointer-events:none}.sc-ion-picker-legacy-ios-h{--background:var(--ion-background-color, #fff);--border-width:1px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-legacy-ios{display:-ms-flexbox;display:flex;height:44px;border-bottom:0.55px solid var(--border-color)}.picker-toolbar-button.sc-ion-picker-legacy-ios{-ms-flex:1;flex:1;text-align:end}.picker-toolbar-button.sc-ion-picker-legacy-ios:last-child .picker-button.sc-ion-picker-legacy-ios{font-weight:600}.picker-toolbar-button.sc-ion-picker-legacy-ios:first-child{font-weight:normal;text-align:start}.picker-button.sc-ion-picker-legacy-ios,.picker-button.ion-activated.sc-ion-picker-legacy-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #0054e9);font-size:16px}.picker-columns.sc-ion-picker-legacy-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-legacy-ios{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:81px;border-bottom:1px solid var(--border-color);background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:10}.picker-above-highlight.sc-ion-picker-legacy-ios{inset-inline-start:0}.picker-below-highlight.sc-ion-picker-legacy-ios{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:119px;border-top:1px solid var(--border-color);background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:11}.picker-below-highlight.sc-ion-picker-legacy-ios{inset-inline-start:0}`;
|
|
28286
|
-
|
|
28287
|
-
const pickerMdCss = () => `.sc-ion-picker-legacy-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.sc-ion-picker-legacy-md-h{inset-inline-start:0}.overlay-hidden.sc-ion-picker-legacy-md-h{display:none}.picker-wrapper.sc-ion-picker-legacy-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-legacy-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-legacy-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-legacy-md:active,.picker-button.sc-ion-picker-legacy-md:focus{outline:none}.picker-columns.sc-ion-picker-legacy-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-legacy-md,.picker-below-highlight.sc-ion-picker-legacy-md{display:none;pointer-events:none}.sc-ion-picker-legacy-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-legacy-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-legacy-md,.picker-button.ion-activated.sc-ion-picker-legacy-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #0054e9);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}.picker-columns.sc-ion-picker-legacy-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-legacy-md{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}.picker-above-highlight.sc-ion-picker-legacy-md{inset-inline-start:0}.picker-below-highlight.sc-ion-picker-legacy-md{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}.picker-below-highlight.sc-ion-picker-legacy-md{inset-inline-start:0}`;
|
|
28288
|
-
|
|
28289
|
-
// TODO(FW-2832): types
|
|
28290
|
-
/**
|
|
28291
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
28292
|
-
*/
|
|
28293
|
-
class Picker {
|
|
28294
|
-
constructor(hostRef) {
|
|
28295
|
-
registerInstance(this, hostRef);
|
|
28296
|
-
this.didPresent = createEvent(this, "ionPickerDidPresent", 7);
|
|
28297
|
-
this.willPresent = createEvent(this, "ionPickerWillPresent", 7);
|
|
28298
|
-
this.willDismiss = createEvent(this, "ionPickerWillDismiss", 7);
|
|
28299
|
-
this.didDismiss = createEvent(this, "ionPickerDidDismiss", 7);
|
|
28300
|
-
this.didPresentShorthand = createEvent(this, "didPresent", 7);
|
|
28301
|
-
this.willPresentShorthand = createEvent(this, "willPresent", 7);
|
|
28302
|
-
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
28303
|
-
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
28304
|
-
this.delegateController = createDelegateController(this);
|
|
28305
|
-
this.lockController = createLockController();
|
|
28306
|
-
this.triggerController = createTriggerController();
|
|
28307
|
-
this.presented = false;
|
|
28308
|
-
/** @internal */
|
|
28309
|
-
this.hasController = false;
|
|
28310
|
-
/**
|
|
28311
|
-
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
28312
|
-
*/
|
|
28313
|
-
this.keyboardClose = true;
|
|
28314
|
-
/**
|
|
28315
|
-
* Array of buttons to be displayed at the top of the picker.
|
|
28316
|
-
*/
|
|
28317
|
-
this.buttons = [];
|
|
28318
|
-
/**
|
|
28319
|
-
* Array of columns to be displayed in the picker.
|
|
28320
|
-
*/
|
|
28321
|
-
this.columns = [];
|
|
28322
|
-
/**
|
|
28323
|
-
* Number of milliseconds to wait before dismissing the picker.
|
|
28324
|
-
*/
|
|
28325
|
-
this.duration = 0;
|
|
28326
|
-
/**
|
|
28327
|
-
* If `true`, a backdrop will be displayed behind the picker.
|
|
28328
|
-
*/
|
|
28329
|
-
this.showBackdrop = true;
|
|
28330
|
-
/**
|
|
28331
|
-
* If `true`, the picker will be dismissed when the backdrop is clicked.
|
|
28332
|
-
*/
|
|
28333
|
-
this.backdropDismiss = true;
|
|
28334
|
-
/**
|
|
28335
|
-
* If `true`, the picker will animate.
|
|
28336
|
-
*/
|
|
28337
|
-
this.animated = true;
|
|
28338
|
-
/**
|
|
28339
|
-
* If `true`, the picker will open. If `false`, the picker will close.
|
|
28340
|
-
* Use this if you need finer grained control over presentation, otherwise
|
|
28341
|
-
* just use the pickerController or the `trigger` property.
|
|
28342
|
-
* Note: `isOpen` will not automatically be set back to `false` when
|
|
28343
|
-
* the picker dismisses. You will need to do that in your code.
|
|
28344
|
-
*/
|
|
28345
|
-
this.isOpen = false;
|
|
28346
|
-
this.onBackdropTap = () => {
|
|
28347
|
-
this.dismiss(undefined, BACKDROP);
|
|
28348
|
-
};
|
|
28349
|
-
this.dispatchCancelHandler = (ev) => {
|
|
28350
|
-
const role = ev.detail.role;
|
|
28351
|
-
if (isCancel(role)) {
|
|
28352
|
-
const cancelButton = this.buttons.find((b) => b.role === 'cancel');
|
|
28353
|
-
this.callButtonHandler(cancelButton);
|
|
28354
|
-
}
|
|
28355
|
-
};
|
|
28356
|
-
}
|
|
28357
|
-
onIsOpenChange(newValue, oldValue) {
|
|
28358
|
-
if (newValue === true && oldValue === false) {
|
|
28359
|
-
this.present();
|
|
28360
|
-
}
|
|
28361
|
-
else if (newValue === false && oldValue === true) {
|
|
28362
|
-
this.dismiss();
|
|
28363
|
-
}
|
|
28364
|
-
}
|
|
28365
|
-
triggerChanged() {
|
|
28366
|
-
const { trigger, el, triggerController } = this;
|
|
28367
|
-
if (trigger) {
|
|
28368
|
-
triggerController.addClickListener(el, trigger);
|
|
28369
|
-
}
|
|
28370
|
-
}
|
|
28371
|
-
connectedCallback() {
|
|
28372
|
-
prepareOverlay(this.el);
|
|
28373
|
-
this.triggerChanged();
|
|
28374
|
-
}
|
|
28375
|
-
disconnectedCallback() {
|
|
28376
|
-
this.triggerController.removeClickListener();
|
|
28377
|
-
}
|
|
28378
|
-
componentWillLoad() {
|
|
28379
|
-
var _a;
|
|
28380
|
-
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
28381
|
-
setOverlayId(this.el);
|
|
28382
|
-
}
|
|
28383
|
-
}
|
|
28384
|
-
componentDidLoad() {
|
|
28385
|
-
printIonWarning('[ion-picker-legacy] - ion-picker-legacy and ion-picker-legacy-column have been deprecated in favor of new versions of the ion-picker and ion-picker-column components. These new components display inline with your page content allowing for more presentation flexibility than before.', this.el);
|
|
28386
|
-
/**
|
|
28387
|
-
* If picker was rendered with isOpen="true"
|
|
28388
|
-
* then we should open picker immediately.
|
|
28389
|
-
*/
|
|
28390
|
-
if (this.isOpen === true) {
|
|
28391
|
-
raf(() => this.present());
|
|
28392
|
-
}
|
|
28393
|
-
/**
|
|
28394
|
-
* When binding values in frameworks such as Angular
|
|
28395
|
-
* it is possible for the value to be set after the Web Component
|
|
28396
|
-
* initializes but before the value watcher is set up in Stencil.
|
|
28397
|
-
* As a result, the watcher callback may not be fired.
|
|
28398
|
-
* We work around this by manually calling the watcher
|
|
28399
|
-
* callback when the component has loaded and the watcher
|
|
28400
|
-
* is configured.
|
|
28401
|
-
*/
|
|
28402
|
-
this.triggerChanged();
|
|
28403
|
-
}
|
|
28404
|
-
/**
|
|
28405
|
-
* Present the picker overlay after it has been created.
|
|
28406
|
-
*/
|
|
28407
|
-
async present() {
|
|
28408
|
-
const unlock = await this.lockController.lock();
|
|
28409
|
-
await this.delegateController.attachViewToDom();
|
|
28410
|
-
await present(this, 'pickerEnter', iosEnterAnimation$2, iosEnterAnimation$2, undefined);
|
|
28411
|
-
if (this.duration > 0) {
|
|
28412
|
-
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
|
|
28413
|
-
}
|
|
28414
|
-
unlock();
|
|
28415
|
-
}
|
|
28416
|
-
/**
|
|
28417
|
-
* Dismiss the picker overlay after it has been presented.
|
|
28418
|
-
*
|
|
28419
|
-
* @param data Any data to emit in the dismiss events.
|
|
28420
|
-
* @param role The role of the element that is dismissing the picker.
|
|
28421
|
-
* This can be useful in a button handler for determining which button was
|
|
28422
|
-
* clicked to dismiss the picker.
|
|
28423
|
-
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
28424
|
-
*/
|
|
28425
|
-
async dismiss(data, role) {
|
|
28426
|
-
const unlock = await this.lockController.lock();
|
|
28427
|
-
if (this.durationTimeout) {
|
|
28428
|
-
clearTimeout(this.durationTimeout);
|
|
28429
|
-
}
|
|
28430
|
-
const dismissed = await dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation$2, iosLeaveAnimation$2);
|
|
28431
|
-
if (dismissed) {
|
|
28432
|
-
this.delegateController.removeViewFromDom();
|
|
28433
|
-
}
|
|
28434
|
-
unlock();
|
|
28435
|
-
return dismissed;
|
|
28436
|
-
}
|
|
28437
|
-
/**
|
|
28438
|
-
* Returns a promise that resolves when the picker did dismiss.
|
|
28439
|
-
*/
|
|
28440
|
-
onDidDismiss() {
|
|
28441
|
-
return eventMethod(this.el, 'ionPickerDidDismiss');
|
|
28442
|
-
}
|
|
28443
|
-
/**
|
|
28444
|
-
* Returns a promise that resolves when the picker will dismiss.
|
|
28445
|
-
*/
|
|
28446
|
-
onWillDismiss() {
|
|
28447
|
-
return eventMethod(this.el, 'ionPickerWillDismiss');
|
|
28448
|
-
}
|
|
28449
|
-
/**
|
|
28450
|
-
* Get the column that matches the specified name.
|
|
28451
|
-
*
|
|
28452
|
-
* @param name The name of the column.
|
|
28453
|
-
*/
|
|
28454
|
-
getColumn(name) {
|
|
28455
|
-
return Promise.resolve(this.columns.find((column) => column.name === name));
|
|
28456
|
-
}
|
|
28457
|
-
async buttonClick(button) {
|
|
28458
|
-
const role = button.role;
|
|
28459
|
-
if (isCancel(role)) {
|
|
28460
|
-
return this.dismiss(undefined, role);
|
|
28461
|
-
}
|
|
28462
|
-
const shouldDismiss = await this.callButtonHandler(button);
|
|
28463
|
-
if (shouldDismiss) {
|
|
28464
|
-
return this.dismiss(this.getSelected(), button.role);
|
|
28465
|
-
}
|
|
28466
|
-
return Promise.resolve();
|
|
28467
|
-
}
|
|
28468
|
-
async callButtonHandler(button) {
|
|
28469
|
-
if (button) {
|
|
28470
|
-
// a handler has been provided, execute it
|
|
28471
|
-
// pass the handler the values from the inputs
|
|
28472
|
-
const rtn = await safeCall(button.handler, this.getSelected());
|
|
28473
|
-
if (rtn === false) {
|
|
28474
|
-
// if the return value of the handler is false then do not dismiss
|
|
28475
|
-
return false;
|
|
28476
|
-
}
|
|
28477
|
-
}
|
|
28478
|
-
return true;
|
|
28479
|
-
}
|
|
28480
|
-
getSelected() {
|
|
28481
|
-
const selected = {};
|
|
28482
|
-
this.columns.forEach((col, index) => {
|
|
28483
|
-
const selectedColumn = col.selectedIndex !== undefined ? col.options[col.selectedIndex] : undefined;
|
|
28484
|
-
selected[col.name] = {
|
|
28485
|
-
text: selectedColumn ? selectedColumn.text : undefined,
|
|
28486
|
-
value: selectedColumn ? selectedColumn.value : undefined,
|
|
28487
|
-
columnIndex: index,
|
|
28488
|
-
};
|
|
28489
|
-
});
|
|
28490
|
-
return selected;
|
|
28491
|
-
}
|
|
28492
|
-
render() {
|
|
28493
|
-
const { htmlAttributes } = this;
|
|
28494
|
-
const mode = getIonMode$1(this);
|
|
28495
|
-
return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
28496
|
-
zIndex: `${20000 + this.overlayIndex}`,
|
|
28497
|
-
}, class: Object.assign({ [mode]: true,
|
|
28498
|
-
// Used internally for styling
|
|
28499
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, hAsync("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), hAsync("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
|
|
28500
|
-
}
|
|
28501
|
-
get el() { return getElement(this); }
|
|
28502
|
-
static get watchers() { return {
|
|
28503
|
-
"isOpen": [{
|
|
28504
|
-
"onIsOpenChange": 0
|
|
28505
|
-
}],
|
|
28506
|
-
"trigger": [{
|
|
28507
|
-
"triggerChanged": 0
|
|
28508
|
-
}]
|
|
28509
|
-
}; }
|
|
28510
|
-
static get style() { return {
|
|
28511
|
-
ios: pickerIosCss(),
|
|
28512
|
-
md: pickerMdCss()
|
|
28513
|
-
}; }
|
|
28514
|
-
static get cmpMeta() { return {
|
|
28515
|
-
"$flags$": 34,
|
|
28516
|
-
"$tagName$": "ion-picker-legacy",
|
|
28517
|
-
"$members$": {
|
|
28518
|
-
"overlayIndex": [2, "overlay-index"],
|
|
28519
|
-
"delegate": [16],
|
|
28520
|
-
"hasController": [4, "has-controller"],
|
|
28521
|
-
"keyboardClose": [4, "keyboard-close"],
|
|
28522
|
-
"enterAnimation": [16],
|
|
28523
|
-
"leaveAnimation": [16],
|
|
28524
|
-
"buttons": [16],
|
|
28525
|
-
"columns": [16],
|
|
28526
|
-
"cssClass": [1, "css-class"],
|
|
28527
|
-
"duration": [2],
|
|
28528
|
-
"showBackdrop": [4, "show-backdrop"],
|
|
28529
|
-
"backdropDismiss": [4, "backdrop-dismiss"],
|
|
28530
|
-
"animated": [4],
|
|
28531
|
-
"htmlAttributes": [16],
|
|
28532
|
-
"isOpen": [4, "is-open"],
|
|
28533
|
-
"trigger": [1],
|
|
28534
|
-
"presented": [32],
|
|
28535
|
-
"present": [64],
|
|
28536
|
-
"dismiss": [64],
|
|
28537
|
-
"onDidDismiss": [64],
|
|
28538
|
-
"onWillDismiss": [64],
|
|
28539
|
-
"getColumn": [64]
|
|
28540
|
-
},
|
|
28541
|
-
"$listeners$": undefined,
|
|
28542
|
-
"$lazyBundleId$": "-",
|
|
28543
|
-
"$attrsToReflect$": []
|
|
28544
|
-
}; }
|
|
28545
28285
|
}
|
|
28546
|
-
const buttonWrapperClass = (button) => {
|
|
28547
|
-
return {
|
|
28548
|
-
[`picker-toolbar-${button.role}`]: button.role !== undefined,
|
|
28549
|
-
'picker-toolbar-button': true,
|
|
28550
|
-
};
|
|
28551
|
-
};
|
|
28552
|
-
const buttonClass$1 = (button) => {
|
|
28553
|
-
return Object.assign({ 'picker-button': true, 'ion-activatable': true }, getClassMap(button.cssClass));
|
|
28554
|
-
};
|
|
28555
28286
|
|
|
28556
28287
|
const pickerColumnCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
|
|
28557
28288
|
|
|
@@ -29138,371 +28869,6 @@ class PickerColumn {
|
|
|
29138
28869
|
}
|
|
29139
28870
|
const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
|
|
29140
28871
|
|
|
29141
|
-
const pickerColumnIosCss = () => `.picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}}`;
|
|
29142
|
-
|
|
29143
|
-
const pickerColumnMdCss = () => `.picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #0054e9)}`;
|
|
29144
|
-
|
|
29145
|
-
/**
|
|
29146
|
-
* @internal
|
|
29147
|
-
*/
|
|
29148
|
-
class PickerColumnCmp {
|
|
29149
|
-
constructor(hostRef) {
|
|
29150
|
-
registerInstance(this, hostRef);
|
|
29151
|
-
this.ionPickerColChange = createEvent(this, "ionPickerColChange", 7);
|
|
29152
|
-
this.optHeight = 0;
|
|
29153
|
-
this.rotateFactor = 0;
|
|
29154
|
-
this.scaleFactor = 1;
|
|
29155
|
-
this.velocity = 0;
|
|
29156
|
-
this.y = 0;
|
|
29157
|
-
this.noAnimate = true;
|
|
29158
|
-
// `colDidChange` is a flag that gets set when the column is changed
|
|
29159
|
-
// dynamically. When this flag is set, the column will refresh
|
|
29160
|
-
// after the component re-renders to incorporate the new column data.
|
|
29161
|
-
// This is necessary because `this.refresh` queries for the option elements,
|
|
29162
|
-
// so it needs to wait for the latest elements to be available in the DOM.
|
|
29163
|
-
// Ex: column is created with 3 options. User updates the column data
|
|
29164
|
-
// to have 5 options. The column will still think it only has 3 options.
|
|
29165
|
-
this.colDidChange = false;
|
|
29166
|
-
}
|
|
29167
|
-
colChanged() {
|
|
29168
|
-
this.colDidChange = true;
|
|
29169
|
-
}
|
|
29170
|
-
async connectedCallback() {
|
|
29171
|
-
let pickerRotateFactor = 0;
|
|
29172
|
-
let pickerScaleFactor = 0.81;
|
|
29173
|
-
const mode = getIonMode$1(this);
|
|
29174
|
-
if (mode === 'ios') {
|
|
29175
|
-
pickerRotateFactor = -0.46;
|
|
29176
|
-
pickerScaleFactor = 1;
|
|
29177
|
-
}
|
|
29178
|
-
this.rotateFactor = pickerRotateFactor;
|
|
29179
|
-
this.scaleFactor = pickerScaleFactor;
|
|
29180
|
-
this.gesture = (await Promise.resolve().then(function () { return index; })).createGesture({
|
|
29181
|
-
el: this.el,
|
|
29182
|
-
gestureName: 'picker-swipe',
|
|
29183
|
-
gesturePriority: 100,
|
|
29184
|
-
threshold: 0,
|
|
29185
|
-
passive: false,
|
|
29186
|
-
onStart: (ev) => this.onStart(ev),
|
|
29187
|
-
onMove: (ev) => this.onMove(ev),
|
|
29188
|
-
onEnd: (ev) => this.onEnd(ev),
|
|
29189
|
-
});
|
|
29190
|
-
this.gesture.enable();
|
|
29191
|
-
// Options have not been initialized yet
|
|
29192
|
-
// Animation must be disabled through the `noAnimate` flag
|
|
29193
|
-
// Otherwise, the options will render
|
|
29194
|
-
// at the top of the column and transition down
|
|
29195
|
-
this.tmrId = setTimeout(() => {
|
|
29196
|
-
this.noAnimate = false;
|
|
29197
|
-
// After initialization, `refresh()` will be called
|
|
29198
|
-
// At this point, animation will be enabled. The options will
|
|
29199
|
-
// animate as they are being selected.
|
|
29200
|
-
this.refresh(true);
|
|
29201
|
-
}, 250);
|
|
29202
|
-
}
|
|
29203
|
-
componentDidLoad() {
|
|
29204
|
-
this.onDomChange();
|
|
29205
|
-
}
|
|
29206
|
-
componentDidUpdate() {
|
|
29207
|
-
// Options may have changed since last update.
|
|
29208
|
-
if (this.colDidChange) {
|
|
29209
|
-
// Animation must be disabled through the `onDomChange` parameter.
|
|
29210
|
-
// Otherwise, the recently added options will render
|
|
29211
|
-
// at the top of the column and transition down
|
|
29212
|
-
this.onDomChange(true, false);
|
|
29213
|
-
this.colDidChange = false;
|
|
29214
|
-
}
|
|
29215
|
-
}
|
|
29216
|
-
disconnectedCallback() {
|
|
29217
|
-
if (this.rafId !== undefined)
|
|
29218
|
-
cancelAnimationFrame(this.rafId);
|
|
29219
|
-
if (this.tmrId)
|
|
29220
|
-
clearTimeout(this.tmrId);
|
|
29221
|
-
if (this.gesture) {
|
|
29222
|
-
this.gesture.destroy();
|
|
29223
|
-
this.gesture = undefined;
|
|
29224
|
-
}
|
|
29225
|
-
}
|
|
29226
|
-
emitColChange() {
|
|
29227
|
-
this.ionPickerColChange.emit(this.col);
|
|
29228
|
-
}
|
|
29229
|
-
setSelected(selectedIndex, duration) {
|
|
29230
|
-
// if there is a selected index, then figure out it's y position
|
|
29231
|
-
// if there isn't a selected index, then just use the top y position
|
|
29232
|
-
const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
|
|
29233
|
-
this.velocity = 0;
|
|
29234
|
-
// set what y position we're at
|
|
29235
|
-
if (this.rafId !== undefined)
|
|
29236
|
-
cancelAnimationFrame(this.rafId);
|
|
29237
|
-
this.update(y, duration, true);
|
|
29238
|
-
this.emitColChange();
|
|
29239
|
-
}
|
|
29240
|
-
update(y, duration, saveY) {
|
|
29241
|
-
if (!this.optsEl) {
|
|
29242
|
-
return;
|
|
29243
|
-
}
|
|
29244
|
-
// ensure we've got a good round number :)
|
|
29245
|
-
let translateY = 0;
|
|
29246
|
-
let translateZ = 0;
|
|
29247
|
-
const { col, rotateFactor } = this;
|
|
29248
|
-
const prevSelected = col.selectedIndex;
|
|
29249
|
-
const selectedIndex = (col.selectedIndex = this.indexForY(-y));
|
|
29250
|
-
const durationStr = duration === 0 ? '' : duration + 'ms';
|
|
29251
|
-
const scaleStr = `scale(${this.scaleFactor})`;
|
|
29252
|
-
const children = this.optsEl.children;
|
|
29253
|
-
for (let i = 0; i < children.length; i++) {
|
|
29254
|
-
const button = children[i];
|
|
29255
|
-
const opt = col.options[i];
|
|
29256
|
-
const optOffset = i * this.optHeight + y;
|
|
29257
|
-
let transform = '';
|
|
29258
|
-
if (rotateFactor !== 0) {
|
|
29259
|
-
const rotateX = optOffset * rotateFactor;
|
|
29260
|
-
if (Math.abs(rotateX) <= 90) {
|
|
29261
|
-
translateY = 0;
|
|
29262
|
-
translateZ = 90;
|
|
29263
|
-
transform = `rotateX(${rotateX}deg) `;
|
|
29264
|
-
}
|
|
29265
|
-
else {
|
|
29266
|
-
translateY = -9999;
|
|
29267
|
-
}
|
|
29268
|
-
}
|
|
29269
|
-
else {
|
|
29270
|
-
translateZ = 0;
|
|
29271
|
-
translateY = optOffset;
|
|
29272
|
-
}
|
|
29273
|
-
const selected = selectedIndex === i;
|
|
29274
|
-
transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
|
|
29275
|
-
if (this.scaleFactor !== 1 && !selected) {
|
|
29276
|
-
transform += scaleStr;
|
|
29277
|
-
}
|
|
29278
|
-
// Update transition duration
|
|
29279
|
-
if (this.noAnimate) {
|
|
29280
|
-
opt.duration = 0;
|
|
29281
|
-
button.style.transitionDuration = '';
|
|
29282
|
-
}
|
|
29283
|
-
else if (duration !== opt.duration) {
|
|
29284
|
-
opt.duration = duration;
|
|
29285
|
-
button.style.transitionDuration = durationStr;
|
|
29286
|
-
}
|
|
29287
|
-
// Update transform
|
|
29288
|
-
if (transform !== opt.transform) {
|
|
29289
|
-
opt.transform = transform;
|
|
29290
|
-
}
|
|
29291
|
-
button.style.transform = transform;
|
|
29292
|
-
/**
|
|
29293
|
-
* Ensure that the select column
|
|
29294
|
-
* item has the selected class
|
|
29295
|
-
*/
|
|
29296
|
-
opt.selected = selected;
|
|
29297
|
-
if (selected) {
|
|
29298
|
-
button.classList.add(PICKER_OPT_SELECTED);
|
|
29299
|
-
}
|
|
29300
|
-
else {
|
|
29301
|
-
button.classList.remove(PICKER_OPT_SELECTED);
|
|
29302
|
-
}
|
|
29303
|
-
}
|
|
29304
|
-
this.col.prevSelected = prevSelected;
|
|
29305
|
-
if (saveY) {
|
|
29306
|
-
this.y = y;
|
|
29307
|
-
}
|
|
29308
|
-
if (this.lastIndex !== selectedIndex) {
|
|
29309
|
-
// have not set a last index yet
|
|
29310
|
-
hapticSelectionChanged();
|
|
29311
|
-
this.lastIndex = selectedIndex;
|
|
29312
|
-
}
|
|
29313
|
-
}
|
|
29314
|
-
decelerate() {
|
|
29315
|
-
if (this.velocity !== 0) {
|
|
29316
|
-
// still decelerating
|
|
29317
|
-
this.velocity *= DECELERATION_FRICTION;
|
|
29318
|
-
// do not let it go slower than a velocity of 1
|
|
29319
|
-
this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
|
|
29320
|
-
let y = this.y + this.velocity;
|
|
29321
|
-
if (y > this.minY) {
|
|
29322
|
-
// whoops, it's trying to scroll up farther than the options we have!
|
|
29323
|
-
y = this.minY;
|
|
29324
|
-
this.velocity = 0;
|
|
29325
|
-
}
|
|
29326
|
-
else if (y < this.maxY) {
|
|
29327
|
-
// gahh, it's trying to scroll down farther than we can!
|
|
29328
|
-
y = this.maxY;
|
|
29329
|
-
this.velocity = 0;
|
|
29330
|
-
}
|
|
29331
|
-
this.update(y, 0, true);
|
|
29332
|
-
const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
|
|
29333
|
-
if (notLockedIn) {
|
|
29334
|
-
// isn't locked in yet, keep decelerating until it is
|
|
29335
|
-
this.rafId = requestAnimationFrame(() => this.decelerate());
|
|
29336
|
-
}
|
|
29337
|
-
else {
|
|
29338
|
-
this.velocity = 0;
|
|
29339
|
-
this.emitColChange();
|
|
29340
|
-
hapticSelectionEnd();
|
|
29341
|
-
}
|
|
29342
|
-
}
|
|
29343
|
-
else if (this.y % this.optHeight !== 0) {
|
|
29344
|
-
// needs to still get locked into a position so options line up
|
|
29345
|
-
const currentPos = Math.abs(this.y % this.optHeight);
|
|
29346
|
-
// create a velocity in the direction it needs to scroll
|
|
29347
|
-
this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
|
|
29348
|
-
this.decelerate();
|
|
29349
|
-
}
|
|
29350
|
-
}
|
|
29351
|
-
indexForY(y) {
|
|
29352
|
-
return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
|
|
29353
|
-
}
|
|
29354
|
-
onStart(detail) {
|
|
29355
|
-
// We have to prevent default in order to block scrolling under the picker
|
|
29356
|
-
// but we DO NOT have to stop propagation, since we still want
|
|
29357
|
-
// some "click" events to capture
|
|
29358
|
-
if (detail.event.cancelable) {
|
|
29359
|
-
detail.event.preventDefault();
|
|
29360
|
-
}
|
|
29361
|
-
detail.event.stopPropagation();
|
|
29362
|
-
hapticSelectionStart();
|
|
29363
|
-
// reset everything
|
|
29364
|
-
if (this.rafId !== undefined)
|
|
29365
|
-
cancelAnimationFrame(this.rafId);
|
|
29366
|
-
const options = this.col.options;
|
|
29367
|
-
let minY = options.length - 1;
|
|
29368
|
-
let maxY = 0;
|
|
29369
|
-
for (let i = 0; i < options.length; i++) {
|
|
29370
|
-
if (!options[i].disabled) {
|
|
29371
|
-
minY = Math.min(minY, i);
|
|
29372
|
-
maxY = Math.max(maxY, i);
|
|
29373
|
-
}
|
|
29374
|
-
}
|
|
29375
|
-
this.minY = -(minY * this.optHeight);
|
|
29376
|
-
this.maxY = -(maxY * this.optHeight);
|
|
29377
|
-
}
|
|
29378
|
-
onMove(detail) {
|
|
29379
|
-
if (detail.event.cancelable) {
|
|
29380
|
-
detail.event.preventDefault();
|
|
29381
|
-
}
|
|
29382
|
-
detail.event.stopPropagation();
|
|
29383
|
-
// update the scroll position relative to pointer start position
|
|
29384
|
-
let y = this.y + detail.deltaY;
|
|
29385
|
-
if (y > this.minY) {
|
|
29386
|
-
// scrolling up higher than scroll area
|
|
29387
|
-
y = Math.pow(y, 0.8);
|
|
29388
|
-
this.bounceFrom = y;
|
|
29389
|
-
}
|
|
29390
|
-
else if (y < this.maxY) {
|
|
29391
|
-
// scrolling down below scroll area
|
|
29392
|
-
y += Math.pow(this.maxY - y, 0.9);
|
|
29393
|
-
this.bounceFrom = y;
|
|
29394
|
-
}
|
|
29395
|
-
else {
|
|
29396
|
-
this.bounceFrom = 0;
|
|
29397
|
-
}
|
|
29398
|
-
this.update(y, 0, false);
|
|
29399
|
-
}
|
|
29400
|
-
onEnd(detail) {
|
|
29401
|
-
if (this.bounceFrom > 0) {
|
|
29402
|
-
// bounce back up
|
|
29403
|
-
this.update(this.minY, 100, true);
|
|
29404
|
-
this.emitColChange();
|
|
29405
|
-
return;
|
|
29406
|
-
}
|
|
29407
|
-
else if (this.bounceFrom < 0) {
|
|
29408
|
-
// bounce back down
|
|
29409
|
-
this.update(this.maxY, 100, true);
|
|
29410
|
-
this.emitColChange();
|
|
29411
|
-
return;
|
|
29412
|
-
}
|
|
29413
|
-
this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
|
|
29414
|
-
if (this.velocity === 0 && detail.deltaY === 0) {
|
|
29415
|
-
const opt = detail.event.target.closest('.picker-opt');
|
|
29416
|
-
if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
|
|
29417
|
-
this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
|
|
29418
|
-
}
|
|
29419
|
-
}
|
|
29420
|
-
else {
|
|
29421
|
-
this.y += detail.deltaY;
|
|
29422
|
-
if (Math.abs(detail.velocityY) < 0.05) {
|
|
29423
|
-
const isScrollingUp = detail.deltaY > 0;
|
|
29424
|
-
const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
|
|
29425
|
-
if (isScrollingUp && optHeightFraction > 0.5) {
|
|
29426
|
-
this.velocity = Math.abs(this.velocity) * -1;
|
|
29427
|
-
}
|
|
29428
|
-
else if (!isScrollingUp && optHeightFraction <= 0.5) {
|
|
29429
|
-
this.velocity = Math.abs(this.velocity);
|
|
29430
|
-
}
|
|
29431
|
-
}
|
|
29432
|
-
this.decelerate();
|
|
29433
|
-
}
|
|
29434
|
-
}
|
|
29435
|
-
refresh(forceRefresh, animated) {
|
|
29436
|
-
var _a;
|
|
29437
|
-
let min = this.col.options.length - 1;
|
|
29438
|
-
let max = 0;
|
|
29439
|
-
const options = this.col.options;
|
|
29440
|
-
for (let i = 0; i < options.length; i++) {
|
|
29441
|
-
if (!options[i].disabled) {
|
|
29442
|
-
min = Math.min(min, i);
|
|
29443
|
-
max = Math.max(max, i);
|
|
29444
|
-
}
|
|
29445
|
-
}
|
|
29446
|
-
/**
|
|
29447
|
-
* Only update selected value if column has a
|
|
29448
|
-
* velocity of 0. If it does not, then the
|
|
29449
|
-
* column is animating might land on
|
|
29450
|
-
* a value different than the value at
|
|
29451
|
-
* selectedIndex
|
|
29452
|
-
*/
|
|
29453
|
-
if (this.velocity !== 0) {
|
|
29454
|
-
return;
|
|
29455
|
-
}
|
|
29456
|
-
const selectedIndex = clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
|
|
29457
|
-
if (this.col.prevSelected !== selectedIndex || forceRefresh) {
|
|
29458
|
-
const y = selectedIndex * this.optHeight * -1;
|
|
29459
|
-
const duration = animated ? TRANSITION_DURATION : 0;
|
|
29460
|
-
this.velocity = 0;
|
|
29461
|
-
this.update(y, duration, true);
|
|
29462
|
-
}
|
|
29463
|
-
}
|
|
29464
|
-
onDomChange(forceRefresh, animated) {
|
|
29465
|
-
const colEl = this.optsEl;
|
|
29466
|
-
if (colEl) {
|
|
29467
|
-
// DOM READ
|
|
29468
|
-
// We perfom a DOM read over a rendered item, this needs to happen after the first render or after the column has changed
|
|
29469
|
-
this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
|
|
29470
|
-
}
|
|
29471
|
-
this.refresh(forceRefresh, animated);
|
|
29472
|
-
}
|
|
29473
|
-
render() {
|
|
29474
|
-
const col = this.col;
|
|
29475
|
-
const mode = getIonMode$1(this);
|
|
29476
|
-
return (hAsync(Host, { key: '86125e95f18837dfd021db01777d72a1562d8ee3', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
29477
|
-
'max-width': this.col.columnWidth,
|
|
29478
|
-
} }, col.prefix && (hAsync("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
29479
|
-
}
|
|
29480
|
-
get el() { return getElement(this); }
|
|
29481
|
-
static get watchers() { return {
|
|
29482
|
-
"col": [{
|
|
29483
|
-
"colChanged": 0
|
|
29484
|
-
}]
|
|
29485
|
-
}; }
|
|
29486
|
-
static get style() { return {
|
|
29487
|
-
ios: pickerColumnIosCss(),
|
|
29488
|
-
md: pickerColumnMdCss()
|
|
29489
|
-
}; }
|
|
29490
|
-
static get cmpMeta() { return {
|
|
29491
|
-
"$flags$": 32,
|
|
29492
|
-
"$tagName$": "ion-picker-legacy-column",
|
|
29493
|
-
"$members$": {
|
|
29494
|
-
"col": [16]
|
|
29495
|
-
},
|
|
29496
|
-
"$listeners$": undefined,
|
|
29497
|
-
"$lazyBundleId$": "-",
|
|
29498
|
-
"$attrsToReflect$": []
|
|
29499
|
-
}; }
|
|
29500
|
-
}
|
|
29501
|
-
const PICKER_OPT_SELECTED = 'picker-opt-selected';
|
|
29502
|
-
const DECELERATION_FRICTION = 0.97;
|
|
29503
|
-
const MAX_PICKER_SPEED = 90;
|
|
29504
|
-
const TRANSITION_DURATION = 150;
|
|
29505
|
-
|
|
29506
28872
|
const pickerColumnOptionIosCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}`;
|
|
29507
28873
|
|
|
29508
28874
|
const pickerColumnOptionMdCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active),:host([part~=active]){color:var(--ion-color-base)}`;
|
|
@@ -30924,6 +30290,10 @@ class Popover {
|
|
|
30924
30290
|
this.headerResizeObserver.disconnect();
|
|
30925
30291
|
this.headerResizeObserver = undefined;
|
|
30926
30292
|
}
|
|
30293
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
30294
|
+
if (this.presented) {
|
|
30295
|
+
cleanupRootFocusTrapAccessibility();
|
|
30296
|
+
}
|
|
30927
30297
|
}
|
|
30928
30298
|
componentWillLoad() {
|
|
30929
30299
|
var _a, _b;
|
|
@@ -31162,9 +30532,9 @@ class Popover {
|
|
|
31162
30532
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
31163
30533
|
const desktop = isPlatform('desktop');
|
|
31164
30534
|
const enableArrow = arrow && !parentPopover;
|
|
31165
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30535
|
+
return (hAsync(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
31166
30536
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
31167
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '
|
|
30537
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, hAsync("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
|
|
31168
30538
|
}
|
|
31169
30539
|
get el() { return getElement(this); }
|
|
31170
30540
|
static get watchers() { return {
|
|
@@ -31275,7 +30645,7 @@ class ProgressBar {
|
|
|
31275
30645
|
const mode = getIonMode$1(this);
|
|
31276
30646
|
// If the progress is displayed as a solid bar.
|
|
31277
30647
|
const progressSolid = buffer === 1;
|
|
31278
|
-
return (hAsync(Host, { key: '
|
|
30648
|
+
return (hAsync(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
31279
30649
|
[mode]: true,
|
|
31280
30650
|
[`progress-bar-${type}`]: true,
|
|
31281
30651
|
'progress-paused': paused,
|
|
@@ -31460,7 +30830,7 @@ class Radio {
|
|
|
31460
30830
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
31461
30831
|
const mode = getIonMode$1(this);
|
|
31462
30832
|
const inItem = hostContext('ion-item', el);
|
|
31463
|
-
return (hAsync(Host, { key: '
|
|
30833
|
+
return (hAsync(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
31464
30834
|
[mode]: true,
|
|
31465
30835
|
'in-item': inItem,
|
|
31466
30836
|
'radio-checked': checked,
|
|
@@ -31471,10 +30841,10 @@ class Radio {
|
|
|
31471
30841
|
// Focus and active styling should not apply when the radio is in an item
|
|
31472
30842
|
'ion-activatable': !inItem,
|
|
31473
30843
|
'ion-focusable': !inItem,
|
|
31474
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
30844
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, hAsync("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
|
|
31475
30845
|
'label-text-wrapper': true,
|
|
31476
30846
|
'label-text-wrapper-hidden': !hasLabel,
|
|
31477
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
30847
|
+
}, part: "label" }, hAsync("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), hAsync("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
31478
30848
|
}
|
|
31479
30849
|
get el() { return getElement(this); }
|
|
31480
30850
|
static get watchers() { return {
|
|
@@ -31493,7 +30863,7 @@ class Radio {
|
|
|
31493
30863
|
"color": [513],
|
|
31494
30864
|
"name": [1],
|
|
31495
30865
|
"disabled": [4],
|
|
31496
|
-
"value": [
|
|
30866
|
+
"value": [520],
|
|
31497
30867
|
"labelPlacement": [1, "label-placement"],
|
|
31498
30868
|
"justify": [1],
|
|
31499
30869
|
"alignment": [1],
|
|
@@ -31504,7 +30874,7 @@ class Radio {
|
|
|
31504
30874
|
},
|
|
31505
30875
|
"$listeners$": undefined,
|
|
31506
30876
|
"$lazyBundleId$": "-",
|
|
31507
|
-
"$attrsToReflect$": [["color", "color"]]
|
|
30877
|
+
"$attrsToReflect$": [["color", "color"], ["value", "value"]]
|
|
31508
30878
|
}; }
|
|
31509
30879
|
}
|
|
31510
30880
|
let radioButtonIds = 0;
|
|
@@ -32569,7 +31939,7 @@ class Range {
|
|
|
32569
31939
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
32570
31940
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
32571
31941
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
32572
|
-
return (hAsync(Host, { key: '
|
|
31942
|
+
return (hAsync(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
32573
31943
|
[mode]: true,
|
|
32574
31944
|
'in-item': inItem,
|
|
32575
31945
|
'range-disabled': disabled,
|
|
@@ -32583,10 +31953,10 @@ class Range {
|
|
|
32583
31953
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
32584
31954
|
'range-value-min': valueAtMin,
|
|
32585
31955
|
'range-value-max': valueAtMax,
|
|
32586
|
-
}) }, hAsync("label", { key: '
|
|
31956
|
+
}) }, hAsync("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
|
|
32587
31957
|
'label-text-wrapper': true,
|
|
32588
31958
|
'label-text-wrapper-hidden': !hasLabel,
|
|
32589
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
31959
|
+
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, hAsync("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
|
|
32590
31960
|
}
|
|
32591
31961
|
get el() { return getElement(this); }
|
|
32592
31962
|
static get watchers() { return {
|
|
@@ -33657,7 +33027,7 @@ class Refresher {
|
|
|
33657
33027
|
}
|
|
33658
33028
|
render() {
|
|
33659
33029
|
const mode = getIonMode$1(this);
|
|
33660
|
-
return (hAsync(Host, { key: '
|
|
33030
|
+
return (hAsync(Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
|
|
33661
33031
|
[mode]: true,
|
|
33662
33032
|
// Used internally for styling
|
|
33663
33033
|
[`refresher-${mode}`]: true,
|
|
@@ -33883,7 +33253,7 @@ class RefresherContent {
|
|
|
33883
33253
|
const pullingIcon = this.pullingIcon;
|
|
33884
33254
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
33885
33255
|
const mode = getIonMode$1(this);
|
|
33886
|
-
return (hAsync(Host, { key: '
|
|
33256
|
+
return (hAsync(Host, { key: 'ec378d6a302be697c12c4f973a57c6ad2ada070f', class: mode }, hAsync("div", { key: '0055f98f8c5a1ed7979dc8146ec1f82a575860c7', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '4f88468e26370df6889e72aa54ebb395ebf3757d', class: "refresher-pulling-icon" }, hAsync("div", { key: '05b3f8679576aaa6c2d84d60df6629a392df29e2', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '0bf6ceea416ce1140c0f10a5bede063cae7054f4', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: 'b71ede8455837968218edae28504e5e14bbc1f5c', class: "arrow-container" }, hAsync("ion-icon", { key: '30b808288d23d3eac681b1225cd8392fdacfefe1', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: 'fee1ae7e57ef8a02f5654808dff9dca3002b6702', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: '55b34a98028adb497fbc2ac66bdb3d5ae5b1705b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'ef8f987daa8060cb6f8fd83c0864095042b9eecf', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: 'cd6fe0e81b34eeae11478fcc8a42044bff6f7a52', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '9cd778229582b538d54589c4d8e4d470efb64aad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
33887
33257
|
}
|
|
33888
33258
|
get el() { return getElement(this); }
|
|
33889
33259
|
static get cmpMeta() { return {
|
|
@@ -33924,7 +33294,7 @@ class Reorder {
|
|
|
33924
33294
|
render() {
|
|
33925
33295
|
const mode = getIonMode$1(this);
|
|
33926
33296
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
33927
|
-
return (hAsync(Host, { key: '
|
|
33297
|
+
return (hAsync(Host, { key: '4d35db30b5b3df2020d2212abb3cfac94f9bc2b8', class: mode }, hAsync("slot", { key: '68a565ae4a47f6a9f5d6ba845b596fdfa629ece8' }, hAsync("ion-icon", { key: '168fb0f8eb9c02329274488900fcdb05d44cb895', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
33928
33298
|
}
|
|
33929
33299
|
get el() { return getElement(this); }
|
|
33930
33300
|
static get style() { return {
|
|
@@ -34195,7 +33565,7 @@ class ReorderGroup {
|
|
|
34195
33565
|
}
|
|
34196
33566
|
render() {
|
|
34197
33567
|
const mode = getIonMode$1(this);
|
|
34198
|
-
return (hAsync(Host, { key: '
|
|
33568
|
+
return (hAsync(Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
|
|
34199
33569
|
[mode]: true,
|
|
34200
33570
|
'reorder-enabled': !this.disabled,
|
|
34201
33571
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -34313,7 +33683,7 @@ class RippleEffect {
|
|
|
34313
33683
|
}
|
|
34314
33684
|
render() {
|
|
34315
33685
|
const mode = getIonMode$1(this);
|
|
34316
|
-
return (hAsync(Host, { key: '
|
|
33686
|
+
return (hAsync(Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
|
|
34317
33687
|
[mode]: true,
|
|
34318
33688
|
unbounded: this.unbounded,
|
|
34319
33689
|
} }));
|
|
@@ -35447,10 +34817,10 @@ class RouterLink {
|
|
|
35447
34817
|
rel: this.rel,
|
|
35448
34818
|
target: this.target,
|
|
35449
34819
|
};
|
|
35450
|
-
return (hAsync(Host, { key: '
|
|
34820
|
+
return (hAsync(Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
35451
34821
|
[mode]: true,
|
|
35452
34822
|
'ion-activatable': true,
|
|
35453
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
34823
|
+
}) }, hAsync("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), hAsync("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
|
|
35454
34824
|
}
|
|
35455
34825
|
static get style() { return routerLinkCss(); }
|
|
35456
34826
|
static get cmpMeta() { return {
|
|
@@ -35489,10 +34859,11 @@ class RouterOutlet {
|
|
|
35489
34859
|
*/
|
|
35490
34860
|
this.animated = true;
|
|
35491
34861
|
}
|
|
34862
|
+
swipeGestureChanged() {
|
|
34863
|
+
this.updateGestureEnabled();
|
|
34864
|
+
}
|
|
35492
34865
|
swipeHandlerChanged() {
|
|
35493
|
-
|
|
35494
|
-
this.gesture.enable(this.swipeHandler !== undefined);
|
|
35495
|
-
}
|
|
34866
|
+
this.updateGestureEnabled();
|
|
35496
34867
|
}
|
|
35497
34868
|
async connectedCallback() {
|
|
35498
34869
|
const onStart = () => {
|
|
@@ -35532,11 +34903,21 @@ class RouterOutlet {
|
|
|
35532
34903
|
this.gestureOrAnimationInProgress = false;
|
|
35533
34904
|
}
|
|
35534
34905
|
});
|
|
35535
|
-
this.
|
|
34906
|
+
if (this.swipeGesture === undefined) {
|
|
34907
|
+
this.swipeGesture = config.getBoolean('swipeBackEnabled', this.mode === 'ios');
|
|
34908
|
+
}
|
|
34909
|
+
else {
|
|
34910
|
+
this.updateGestureEnabled();
|
|
34911
|
+
}
|
|
35536
34912
|
}
|
|
35537
34913
|
componentWillLoad() {
|
|
35538
34914
|
this.ionNavWillLoad.emit();
|
|
35539
34915
|
}
|
|
34916
|
+
updateGestureEnabled() {
|
|
34917
|
+
if (this.gesture) {
|
|
34918
|
+
this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
|
|
34919
|
+
}
|
|
34920
|
+
}
|
|
35540
34921
|
disconnectedCallback() {
|
|
35541
34922
|
if (this.gesture) {
|
|
35542
34923
|
this.gesture.destroy();
|
|
@@ -35647,10 +35028,13 @@ class RouterOutlet {
|
|
|
35647
35028
|
return true;
|
|
35648
35029
|
}
|
|
35649
35030
|
render() {
|
|
35650
|
-
return hAsync("slot", { key: '
|
|
35031
|
+
return hAsync("slot", { key: 'ce09e6fbba7b0a2276cdde5245bb37c9a162c1c7' });
|
|
35651
35032
|
}
|
|
35652
35033
|
get el() { return getElement(this); }
|
|
35653
35034
|
static get watchers() { return {
|
|
35035
|
+
"swipeGesture": [{
|
|
35036
|
+
"swipeGestureChanged": 0
|
|
35037
|
+
}],
|
|
35654
35038
|
"swipeHandler": [{
|
|
35655
35039
|
"swipeHandlerChanged": 0
|
|
35656
35040
|
}]
|
|
@@ -35664,6 +35048,7 @@ class RouterOutlet {
|
|
|
35664
35048
|
"delegate": [16],
|
|
35665
35049
|
"animated": [4],
|
|
35666
35050
|
"animation": [16],
|
|
35051
|
+
"swipeGesture": [1028, "swipe-gesture"],
|
|
35667
35052
|
"swipeHandler": [16],
|
|
35668
35053
|
"commit": [64],
|
|
35669
35054
|
"setRouteId": [64],
|
|
@@ -35682,7 +35067,7 @@ class Row {
|
|
|
35682
35067
|
registerInstance(this, hostRef);
|
|
35683
35068
|
}
|
|
35684
35069
|
render() {
|
|
35685
|
-
return (hAsync(Host, { key: '
|
|
35070
|
+
return (hAsync(Host, { key: 'a9066661fff12baaf3e80b2e8c08591af72fe5b8', class: getIonMode$1(this) }, hAsync("slot", { key: '62b103af46d3a5ec9c146019ae300b68a4ae867a' })));
|
|
35686
35071
|
}
|
|
35687
35072
|
static get style() { return rowCss(); }
|
|
35688
35073
|
static get cmpMeta() { return {
|
|
@@ -35734,7 +35119,7 @@ class Searchbar {
|
|
|
35734
35119
|
/**
|
|
35735
35120
|
* Set the input's autocorrect property.
|
|
35736
35121
|
*/
|
|
35737
|
-
this.autocorrect =
|
|
35122
|
+
this.autocorrect = false;
|
|
35738
35123
|
/**
|
|
35739
35124
|
* Set the cancel button icon. Only applies to `md` mode.
|
|
35740
35125
|
* Defaults to `arrow-back-sharp`.
|
|
@@ -36134,8 +35519,8 @@ class Searchbar {
|
|
|
36134
35519
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
36135
35520
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
36136
35521
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
36137
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
36138
|
-
return (hAsync(Host, { key: '
|
|
35522
|
+
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '870c9284441fdf431056ac944ac93afa7cb1ee96', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '730e33f44c5ec6eee898ea6612fdba337de354e3', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
35523
|
+
return (hAsync(Host, { key: 'd898b9f9768ec7119a3ad4be8350d8a3cfb32ba6', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
36139
35524
|
[mode]: true,
|
|
36140
35525
|
'searchbar-animated': animated,
|
|
36141
35526
|
'searchbar-disabled': this.disabled,
|
|
@@ -36145,14 +35530,14 @@ class Searchbar {
|
|
|
36145
35530
|
'searchbar-has-focus': this.focused,
|
|
36146
35531
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
36147
35532
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
36148
|
-
}) }, hAsync("div", { key: '
|
|
35533
|
+
}) }, hAsync("div", { key: 'a0b49cce6241b7e79834de7cbb1d1076f9d42a21', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '8ad5e659f8ed675fa5559f9e5dfcdf99cfcb8bcf', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: '09f26831a519bb6639115f827b2b8985ae51e4b9', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: 'd70ccda51cb79e51577648fcca3b274c6fa20a4f', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
36149
35534
|
/**
|
|
36150
35535
|
* This prevents mobile browsers from
|
|
36151
35536
|
* blurring the input when the clear
|
|
36152
35537
|
* button is activated.
|
|
36153
35538
|
*/
|
|
36154
35539
|
ev.preventDefault();
|
|
36155
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
35540
|
+
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '428dcb1c0ffef947e24771b060288da47e67b6bd', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
36156
35541
|
}
|
|
36157
35542
|
get el() { return getElement(this); }
|
|
36158
35543
|
static get watchers() { return {
|
|
@@ -36184,7 +35569,7 @@ class Searchbar {
|
|
|
36184
35569
|
"animated": [4],
|
|
36185
35570
|
"autocapitalize": [1],
|
|
36186
35571
|
"autocomplete": [1],
|
|
36187
|
-
"autocorrect": [
|
|
35572
|
+
"autocorrect": [4],
|
|
36188
35573
|
"cancelButtonIcon": [1, "cancel-button-icon"],
|
|
36189
35574
|
"cancelButtonText": [1, "cancel-button-text"],
|
|
36190
35575
|
"clearIcon": [1, "clear-icon"],
|
|
@@ -36761,14 +36146,14 @@ class Segment {
|
|
|
36761
36146
|
}
|
|
36762
36147
|
render() {
|
|
36763
36148
|
const mode = getIonMode$1(this);
|
|
36764
|
-
return (hAsync(Host, { key: '
|
|
36149
|
+
return (hAsync(Host, { key: 'bb626072e73f09c3433e1a769e09789a00822d8f', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
36765
36150
|
[mode]: true,
|
|
36766
36151
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
36767
36152
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
36768
36153
|
'segment-activated': this.activated,
|
|
36769
36154
|
'segment-disabled': this.disabled,
|
|
36770
36155
|
'segment-scrollable': this.scrollable,
|
|
36771
|
-
}) }, hAsync("slot", { key: '
|
|
36156
|
+
}) }, hAsync("slot", { key: '652d5037c2c2dee4d47a5710b1d150e691202d25', onSlotchange: this.onSlottedItemsChange })));
|
|
36772
36157
|
}
|
|
36773
36158
|
get el() { return getElement(this); }
|
|
36774
36159
|
static get watchers() { return {
|
|
@@ -36916,7 +36301,7 @@ class SegmentButton {
|
|
|
36916
36301
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
36917
36302
|
const mode = getIonMode$1(this);
|
|
36918
36303
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
36919
|
-
return (hAsync(Host, { key: '
|
|
36304
|
+
return (hAsync(Host, { key: '792f621c36260b1fceff2b4ec4fa95d98d51d46b', class: {
|
|
36920
36305
|
[mode]: true,
|
|
36921
36306
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
36922
36307
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -36932,7 +36317,7 @@ class SegmentButton {
|
|
|
36932
36317
|
'ion-activatable': true,
|
|
36933
36318
|
'ion-activatable-instant': true,
|
|
36934
36319
|
'ion-focusable': true,
|
|
36935
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
36320
|
+
} }, hAsync("button", Object.assign({ key: '860698be6ceb8f08c0ce3d16ba82d4bb56adf030', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: 'e903a2642ff46797878a941887b5c596d52fd3a3', class: "button-inner" }, hAsync("slot", { key: '5fc6b842ecb7f0ab8df23b344bf6714f38dda89a' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '710aaf6e4fa2b6cb15897a883e88dec17ef3829f' })), hAsync("div", { key: 'a7b036cba32420e9eb3f2d16487df0519ecc5289', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'a0a5f49ea7f2ecab8014f4f9ca473a27db8348b6', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
36936
36321
|
}
|
|
36937
36322
|
get el() { return getElement(this); }
|
|
36938
36323
|
static get watchers() { return {
|
|
@@ -36969,7 +36354,7 @@ class SegmentContent {
|
|
|
36969
36354
|
registerInstance(this, hostRef);
|
|
36970
36355
|
}
|
|
36971
36356
|
render() {
|
|
36972
|
-
return (hAsync(Host, { key: '
|
|
36357
|
+
return (hAsync(Host, { key: 'ef39f29c444177c3b083cd35680ba891e4bb6a2a' }, hAsync("slot", { key: '51f9dd9ca084ddd928b376aa9d716509669c32b2' })));
|
|
36973
36358
|
}
|
|
36974
36359
|
static get style() { return segmentContentCss(); }
|
|
36975
36360
|
static get cmpMeta() { return {
|
|
@@ -37088,11 +36473,11 @@ class SegmentView {
|
|
|
37088
36473
|
}
|
|
37089
36474
|
render() {
|
|
37090
36475
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
37091
|
-
return (hAsync(Host, { key: '
|
|
36476
|
+
return (hAsync(Host, { key: 'a6c6ac0232c4bb6f2a954b3de7993019d71f423a', class: {
|
|
37092
36477
|
'segment-view-disabled': disabled,
|
|
37093
36478
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
37094
36479
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
37095
|
-
} }, hAsync("slot", { key: '
|
|
36480
|
+
} }, hAsync("slot", { key: '386305be2a75069c79def12005d9f6b49276763f' })));
|
|
37096
36481
|
}
|
|
37097
36482
|
get el() { return getElement(this); }
|
|
37098
36483
|
static get style() { return {
|
|
@@ -37276,9 +36661,40 @@ class Select {
|
|
|
37276
36661
|
this.emitStyle();
|
|
37277
36662
|
}
|
|
37278
36663
|
setValue(value) {
|
|
36664
|
+
if (this.isValueEqual(this.value, value)) {
|
|
36665
|
+
return;
|
|
36666
|
+
}
|
|
37279
36667
|
this.value = value;
|
|
37280
36668
|
this.ionChange.emit({ value });
|
|
37281
36669
|
}
|
|
36670
|
+
isValueEqual(currentValue, newValue) {
|
|
36671
|
+
if (this.multiple) {
|
|
36672
|
+
const currentArr = Array.isArray(currentValue) ? currentValue : [];
|
|
36673
|
+
const newArr = Array.isArray(newValue) ? newValue : [];
|
|
36674
|
+
if (currentArr.length !== newArr.length) {
|
|
36675
|
+
return false;
|
|
36676
|
+
}
|
|
36677
|
+
// Multiset compare: each new value must match a distinct current value.
|
|
36678
|
+
// A plain `every(isOptionSelected)` would accept ['a','a'] as equal to
|
|
36679
|
+
// ['a','b'] when both 'a' and 'b' map to options whose values overlap.
|
|
36680
|
+
const remaining = currentArr.slice();
|
|
36681
|
+
return newArr.every((val) => {
|
|
36682
|
+
const idx = remaining.findIndex((c) => compareOptions(c, val, this.compareWith));
|
|
36683
|
+
if (idx === -1) {
|
|
36684
|
+
return false;
|
|
36685
|
+
}
|
|
36686
|
+
remaining.splice(idx, 1);
|
|
36687
|
+
return true;
|
|
36688
|
+
});
|
|
36689
|
+
}
|
|
36690
|
+
if (currentValue == null && newValue == null) {
|
|
36691
|
+
return true;
|
|
36692
|
+
}
|
|
36693
|
+
if (currentValue == null || newValue == null) {
|
|
36694
|
+
return false;
|
|
36695
|
+
}
|
|
36696
|
+
return compareOptions(currentValue, newValue, this.compareWith);
|
|
36697
|
+
}
|
|
37282
36698
|
async connectedCallback() {
|
|
37283
36699
|
const { el } = this;
|
|
37284
36700
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
@@ -37864,7 +37280,7 @@ class Select {
|
|
|
37864
37280
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
37865
37281
|
*/
|
|
37866
37282
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
37867
|
-
return (hAsync(Host, { key: '
|
|
37283
|
+
return (hAsync(Host, { key: '2c141ef1b6983b464118e8ed192739dfca9d095a', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37868
37284
|
[mode]: true,
|
|
37869
37285
|
'in-item': inItem,
|
|
37870
37286
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -37882,7 +37298,7 @@ class Select {
|
|
|
37882
37298
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
37883
37299
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
37884
37300
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
37885
|
-
}) }, hAsync("label", { key: '
|
|
37301
|
+
}) }, hAsync("label", { key: 'fa1889b325387da10d1e5fa865aef128bc31aee6', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: 'e31f4ae38af01dbe3a7551e9e5dca2650ae42ef5', class: "select-wrapper-inner", part: "inner" }, hAsync("slot", { key: '623916631f44446fcf2c1df64788ce530964afea', name: "start" }), hAsync("div", { key: 'cbd2298a7c6666ce6b4443b3967195f96558861c', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: 'ee8c2a236c7f120988f5bab17397204f1b374b57', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '951566d0da3aea0be4921b2951207765b089a7f3', class: "select-highlight" })), this.renderBottomContent()));
|
|
37886
37302
|
}
|
|
37887
37303
|
get el() { return getElement(this); }
|
|
37888
37304
|
static get watchers() { return {
|
|
@@ -38066,7 +37482,7 @@ class SelectModal {
|
|
|
38066
37482
|
} }, option.text))));
|
|
38067
37483
|
}
|
|
38068
37484
|
render() {
|
|
38069
|
-
return (hAsync(Host, { key: '
|
|
37485
|
+
return (hAsync(Host, { key: '36fe925fe98356858630325abc9ab71ef25dfb46', class: getIonMode$1(this) }, hAsync("ion-header", { key: '16d89db1284d7080b4ead5f4a4a0bac57f264f62' }, hAsync("ion-toolbar", { key: 'e16c889d9c7b5edf3b26a7cca1443ec5520e69e0' }, this.header !== undefined && hAsync("ion-title", { key: '269df2e45a3abf3fe7518e8a34b0bab749bdea14' }, this.header), hAsync("ion-buttons", { key: 'd8e218821e085424e52f86ef6ede2c5fb568dc82', slot: "end" }, hAsync("ion-button", { key: '26c99660d4f5ec6334da56ad5712bfc79f80d0e2', onClick: () => this.closeModal() }, this.cancelText)))), hAsync("ion-content", { key: '455fb684edae7d6754ef4882c1221956f7b4d29b' }, hAsync("ion-list", { key: '3817a9deb1881a8c0d165b21940890bd628b3614' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
38070
37486
|
}
|
|
38071
37487
|
get el() { return getElement(this); }
|
|
38072
37488
|
static get style() { return {
|
|
@@ -38101,7 +37517,7 @@ class SelectOption {
|
|
|
38101
37517
|
this.disabled = false;
|
|
38102
37518
|
}
|
|
38103
37519
|
render() {
|
|
38104
|
-
return hAsync(Host, { key: '
|
|
37520
|
+
return hAsync(Host, { key: '1fc1737fbb29dcb62638149b21620cbdf2f00dbc', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
38105
37521
|
}
|
|
38106
37522
|
get el() { return getElement(this); }
|
|
38107
37523
|
static get style() { return selectOptionCss(); }
|
|
@@ -38229,7 +37645,7 @@ class SelectPopover {
|
|
|
38229
37645
|
render() {
|
|
38230
37646
|
const { header, message, options, subHeader } = this;
|
|
38231
37647
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
38232
|
-
return (hAsync(Host, { key: '
|
|
37648
|
+
return (hAsync(Host, { key: '81783ad099ad52b3e035efa18e5a23be766faf7b', class: getIonMode$1(this) }, hAsync("ion-list", { key: '319171787e9c2228d1d5a0133b2f5e0998644516' }, header !== undefined && hAsync("ion-list-header", { key: '09a0fdbe2807c270b9abdb908965f72c4838030c' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'ede19cb8e121fd14a2335fcb81cc59b9a102eac5' }, hAsync("ion-label", { key: '6b98c0f132bc6161299b22c0e56092f85b7b0095', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: '8053e175eb36d7b8f52df1f93cee48ee0794857e' }, subHeader), message !== undefined && hAsync("p", { key: '508673abcda7444ed8f8c828b5418dd48ef86b8e' }, message)))), this.renderOptions(options))));
|
|
38233
37649
|
}
|
|
38234
37650
|
get el() { return getElement(this); }
|
|
38235
37651
|
static get style() { return {
|
|
@@ -38279,11 +37695,11 @@ class SkeletonText {
|
|
|
38279
37695
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
38280
37696
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
38281
37697
|
const mode = getIonMode$1(this);
|
|
38282
|
-
return (hAsync(Host, { key: '
|
|
37698
|
+
return (hAsync(Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
|
|
38283
37699
|
[mode]: true,
|
|
38284
37700
|
'skeleton-text-animated': animated,
|
|
38285
37701
|
'in-media': inMedia,
|
|
38286
|
-
} }, hAsync("span", { key: '
|
|
37702
|
+
} }, hAsync("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
|
|
38287
37703
|
}
|
|
38288
37704
|
get el() { return getElement(this); }
|
|
38289
37705
|
static get style() { return skeletonTextCss(); }
|
|
@@ -38335,7 +37751,7 @@ class Spinner {
|
|
|
38335
37751
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
38336
37752
|
}
|
|
38337
37753
|
}
|
|
38338
|
-
return (hAsync(Host, { key: '
|
|
37754
|
+
return (hAsync(Host, { key: 'c35ebd01186e860acb9cac260193f0836424fdf4', class: createColorClasses$1(self.color, {
|
|
38339
37755
|
[mode]: true,
|
|
38340
37756
|
[`spinner-${spinnerName}`]: true,
|
|
38341
37757
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -38434,12 +37850,12 @@ class SplitPane {
|
|
|
38434
37850
|
}
|
|
38435
37851
|
render() {
|
|
38436
37852
|
const mode = getIonMode$1(this);
|
|
38437
|
-
return (hAsync(Host, { key: '
|
|
37853
|
+
return (hAsync(Host, { key: '694e989fafcfe2453e0a83b3cb736efaa1eb4fec', class: {
|
|
38438
37854
|
[mode]: true,
|
|
38439
37855
|
// Used internally for styling
|
|
38440
37856
|
[`split-pane-${mode}`]: true,
|
|
38441
37857
|
'split-pane-visible': this.visible,
|
|
38442
|
-
} }, hAsync("slot", { key: '
|
|
37858
|
+
} }, hAsync("slot", { key: 'dde7e9382b62cc11971aa233cf98c2314ae4f720' })));
|
|
38443
37859
|
}
|
|
38444
37860
|
get el() { return getElement(this); }
|
|
38445
37861
|
static get watchers() { return {
|
|
@@ -38511,10 +37927,10 @@ class Tab {
|
|
|
38511
37927
|
}
|
|
38512
37928
|
render() {
|
|
38513
37929
|
const { tab, active, component } = this;
|
|
38514
|
-
return (hAsync(Host, { key: '
|
|
37930
|
+
return (hAsync(Host, { key: '745262368a7f45244da459f4fa1730a46dd3e257', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
38515
37931
|
'ion-page': component === undefined,
|
|
38516
37932
|
'tab-hidden': !active,
|
|
38517
|
-
} }, hAsync("slot", { key: '
|
|
37933
|
+
} }, hAsync("slot", { key: '823d09a6f93bf7c0dc74f2b8717d1d3a62df1ad8' })));
|
|
38518
37934
|
}
|
|
38519
37935
|
get el() { return getElement(this); }
|
|
38520
37936
|
static get watchers() { return {
|
|
@@ -38628,11 +38044,11 @@ class TabBar {
|
|
|
38628
38044
|
const { color, translucent, keyboardVisible } = this;
|
|
38629
38045
|
const mode = getIonMode$1(this);
|
|
38630
38046
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
38631
|
-
return (hAsync(Host, { key: '
|
|
38047
|
+
return (hAsync(Host, { key: '148f65df0818e9d220a9b46db74cb89ab94e62d2', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
38632
38048
|
[mode]: true,
|
|
38633
38049
|
'tab-bar-translucent': translucent,
|
|
38634
38050
|
'tab-bar-hidden': shouldHide,
|
|
38635
|
-
}) }, hAsync("slot", { key: '
|
|
38051
|
+
}) }, hAsync("slot", { key: 'a64e235f3703662e2dd7a834f752cc5b1490adbc' })));
|
|
38636
38052
|
}
|
|
38637
38053
|
get el() { return getElement(this); }
|
|
38638
38054
|
static get watchers() { return {
|
|
@@ -38730,7 +38146,7 @@ class TabButton {
|
|
|
38730
38146
|
rel,
|
|
38731
38147
|
target,
|
|
38732
38148
|
};
|
|
38733
|
-
return (hAsync(Host, { key: '
|
|
38149
|
+
return (hAsync(Host, { key: '1034b5a928ecec49bd8efec3730ea1b11a579cf3', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
38734
38150
|
[mode]: true,
|
|
38735
38151
|
'tab-selected': selected,
|
|
38736
38152
|
'tab-disabled': disabled,
|
|
@@ -38742,7 +38158,7 @@ class TabButton {
|
|
|
38742
38158
|
'ion-activatable': true,
|
|
38743
38159
|
'ion-selectable': true,
|
|
38744
38160
|
'ion-focusable': true,
|
|
38745
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
38161
|
+
} }, hAsync("a", Object.assign({ key: '4cc8e695425956ffc7622af27c1b88a45f8a0c68' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'c529c166f557e1a5c744873c075b564c49786a2c', class: "button-inner" }, hAsync("slot", { key: 'f832355934d80267cd6e81e58b9c5afce0b42907' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '90e79bdf38ba1cd89fca9ce63465e26a29b49316', type: "unbounded" }))));
|
|
38746
38162
|
}
|
|
38747
38163
|
get el() { return getElement(this); }
|
|
38748
38164
|
static get style() { return {
|
|
@@ -38933,7 +38349,7 @@ class Tabs {
|
|
|
38933
38349
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
38934
38350
|
}
|
|
38935
38351
|
render() {
|
|
38936
|
-
return (hAsync(Host, { key: '
|
|
38352
|
+
return (hAsync(Host, { key: 'ba04a29fdd02d7c758cbaa98cfc589949872d832', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: 'd5794140152e2c251e567eeb06afc392af74749d', name: "top" }), hAsync("div", { key: '26fb83786637fe7288901fbbdb3694b8bc94329f', class: "tabs-inner" }, hAsync("slot", { key: '60c663a8647e684455b533eaf5fa3908f9333ae9' })), hAsync("slot", { key: '2d9f7d07c8cdc72f5df200fa71fa56a9dd822c4c', name: "bottom" })));
|
|
38937
38353
|
}
|
|
38938
38354
|
get el() { return getElement(this); }
|
|
38939
38355
|
static get style() { return tabsCss(); }
|
|
@@ -38973,9 +38389,9 @@ class Text {
|
|
|
38973
38389
|
}
|
|
38974
38390
|
render() {
|
|
38975
38391
|
const mode = getIonMode$1(this);
|
|
38976
|
-
return (hAsync(Host, { key: '
|
|
38392
|
+
return (hAsync(Host, { key: '41ed8da617ed0e07bbfe96e32a000e1c6503e24e', class: createColorClasses$1(this.color, {
|
|
38977
38393
|
[mode]: true,
|
|
38978
|
-
}) }, hAsync("slot", { key: '
|
|
38394
|
+
}) }, hAsync("slot", { key: 'db8de04a2493537b3037f276b03abd92dfa56847' })));
|
|
38979
38395
|
}
|
|
38980
38396
|
static get style() { return textCss(); }
|
|
38981
38397
|
static get cmpMeta() { return {
|
|
@@ -39436,7 +38852,7 @@ class Textarea {
|
|
|
39436
38852
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
39437
38853
|
*/
|
|
39438
38854
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
39439
|
-
return (hAsync(Host, { key: '
|
|
38855
|
+
return (hAsync(Host, { key: 'eca1dfed53189408f614661ef3902cdb73d5f5de', class: createColorClasses$1(this.color, {
|
|
39440
38856
|
[mode]: true,
|
|
39441
38857
|
'has-value': hasValue,
|
|
39442
38858
|
'has-focus': hasFocus,
|
|
@@ -39445,7 +38861,7 @@ class Textarea {
|
|
|
39445
38861
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
39446
38862
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
39447
38863
|
'textarea-disabled': disabled,
|
|
39448
|
-
}) }, hAsync("label", { key: '
|
|
38864
|
+
}) }, hAsync("label", { key: 'd4d835ffedbf8b6de192096e21167ec4f7e01d30', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '39b03e26c23473de31a0237543eaf1e0875e6ed9', class: "textarea-wrapper-inner" }, hAsync("div", { key: 'e9e0997e7dc6d25f09e8439d81e138590c33a151', class: "start-slot-wrapper" }, hAsync("slot", { key: '2d88aace11d74196758e40af27a777eebb270019', name: "start" })), hAsync("div", { key: '8434424404f9fe707f9209ac6495a33bae060538', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: '5bb8eaeba76c39bccadb7c041a10fb077c422dcc', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), hAsync("div", { key: '107707676552f8faca3e708285cc3266061a0394', class: "end-slot-wrapper" }, hAsync("slot", { key: 'dc890ffdce898f3d39a315e7bc432840559be466', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '4554ad09ac0908cea2e90bfa2301b4cd80ac7242', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
39449
38865
|
}
|
|
39450
38866
|
get el() { return getElement(this); }
|
|
39451
38867
|
static get watchers() { return {
|
|
@@ -39514,7 +38930,7 @@ class Thumbnail {
|
|
|
39514
38930
|
registerInstance(this, hostRef);
|
|
39515
38931
|
}
|
|
39516
38932
|
render() {
|
|
39517
|
-
return (hAsync(Host, { key: '
|
|
38933
|
+
return (hAsync(Host, { key: '833e947c683b482a78f8f0df8c9a68e99478bbaa', class: getIonMode$1(this) }, hAsync("slot", { key: '6d1e9e686db88d91379f14121058dbf035d8ded2' })));
|
|
39518
38934
|
}
|
|
39519
38935
|
static get style() { return thumbnailCss(); }
|
|
39520
38936
|
static get cmpMeta() { return {
|
|
@@ -40374,9 +39790,9 @@ class Toast {
|
|
|
40374
39790
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
40375
39791
|
printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
|
|
40376
39792
|
}
|
|
40377
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
39793
|
+
return (hAsync(Host, Object.assign({ key: '2acb2cd2e12ea0082986495929e4a596d4da2f38', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
40378
39794
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
40379
|
-
}, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '
|
|
39795
|
+
}, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '8b24ba5d3d51d1ab94b9bf6bb5d6e4b8bb3248a7', class: wrapperClass, part: "wrapper" }, hAsync("div", { key: 'e1ebdf4f0425cc7b1e2688667ee9a2b3c545804a', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '552b1ab8f4e72882cc8e878579c7a594119677e1', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '8ac8d64f632fbedadb180132c83043474466bee0', class: "toast-content", part: "content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
|
|
40380
39796
|
}
|
|
40381
39797
|
get el() { return getElement(this); }
|
|
40382
39798
|
static get watchers() { return {
|
|
@@ -40694,7 +40110,7 @@ class Toggle {
|
|
|
40694
40110
|
const value = this.getValue();
|
|
40695
40111
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
40696
40112
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
40697
|
-
return (hAsync(Host, { key: '
|
|
40113
|
+
return (hAsync(Host, { key: 'ab093ddb505af61685cbb8571af1e765fc0292f8', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses$1(color, {
|
|
40698
40114
|
[mode]: true,
|
|
40699
40115
|
'in-item': hostContext('ion-item', el),
|
|
40700
40116
|
'toggle-activated': activated,
|
|
@@ -40704,10 +40120,10 @@ class Toggle {
|
|
|
40704
40120
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
40705
40121
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
40706
40122
|
[`toggle-${rtl}`]: true,
|
|
40707
|
-
}) }, hAsync("label", { key: '
|
|
40123
|
+
}) }, hAsync("label", { key: 'b4b05e458fcbc767e4392ae43e647b075780cad0', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: 'c09100447011c51d5b49b4400ec7d72012e3bc6f', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: '71cf059a999ae572a20127b76907e010ace486ad', class: {
|
|
40708
40124
|
'label-text-wrapper': true,
|
|
40709
40125
|
'label-text-wrapper-hidden': !hasLabel,
|
|
40710
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
40126
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'c480b96a0ddd926568f73291d71253d6f74438c7' }), this.renderHintText()), hAsync("div", { key: '96a2cbd1673e051a78f8b2b16535ecd3f0ed4339', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
40711
40127
|
}
|
|
40712
40128
|
get el() { return getElement(this); }
|
|
40713
40129
|
static get watchers() { return {
|
|
@@ -40819,10 +40235,10 @@ class Toolbar {
|
|
|
40819
40235
|
this.childrenStyles.forEach((value) => {
|
|
40820
40236
|
Object.assign(childStyles, value);
|
|
40821
40237
|
});
|
|
40822
|
-
return (hAsync(Host, { key: '
|
|
40238
|
+
return (hAsync(Host, { key: '40bad6fa7e94262438da4bbe037dcf8a5fa2df22', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
40823
40239
|
[mode]: true,
|
|
40824
40240
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
40825
|
-
})) }, hAsync("div", { key: '
|
|
40241
|
+
})) }, hAsync("div", { key: 'df44c9f0fe3958116ab860b0dad79c53b89f6c59', class: "toolbar-background", part: "background" }), hAsync("div", { key: '2169ffa576875b8d5624211cc0b4bf86191562bc', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'c8910dcf1ce98ab427fd89c3396a67c2a75bdd07', name: "start" }), hAsync("slot", { key: '05da24d5ef96b9eebd83b534ce02c1f7bcd06680', name: "secondary" }), hAsync("div", { key: '090fea1541e7e2b6ad74a6ded4eadffdb471ccce', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '507e143f92f6fa59ff23d94026411fa2c74f2f8e' })), hAsync("slot", { key: 'f79fdee472e657e26a910cb89d7551943e40e440', name: "primary" }), hAsync("slot", { key: 'dd40fe9ed490cf4346c642e195fdb524dc6cc4f5', name: "end" }))));
|
|
40826
40242
|
}
|
|
40827
40243
|
get el() { return getElement(this); }
|
|
40828
40244
|
static get style() { return {
|
|
@@ -40868,11 +40284,11 @@ class ToolbarTitle {
|
|
|
40868
40284
|
render() {
|
|
40869
40285
|
const mode = getIonMode$1(this);
|
|
40870
40286
|
const size = this.getSize();
|
|
40871
|
-
return (hAsync(Host, { key: '
|
|
40287
|
+
return (hAsync(Host, { key: 'd9317e8e66cb6112717f5a9c252658777efbd873', class: createColorClasses$1(this.color, {
|
|
40872
40288
|
[mode]: true,
|
|
40873
40289
|
[`title-${size}`]: true,
|
|
40874
40290
|
'title-rtl': document.dir === 'rtl',
|
|
40875
|
-
}) }, hAsync("div", { key: '
|
|
40291
|
+
}) }, hAsync("div", { key: 'a4d011d6d409bf006d8efe33667002edb109820a', class: "toolbar-title" }, hAsync("slot", { key: '4ca3303b957a0e5387f1e9058e5adb4c6275afcc' }))));
|
|
40876
40292
|
}
|
|
40877
40293
|
get el() { return getElement(this); }
|
|
40878
40294
|
static get watchers() { return {
|
|
@@ -40952,10 +40368,8 @@ registerComponents([
|
|
|
40952
40368
|
Nav,
|
|
40953
40369
|
NavLink,
|
|
40954
40370
|
Note,
|
|
40955
|
-
Picker$1,
|
|
40956
40371
|
Picker,
|
|
40957
40372
|
PickerColumn,
|
|
40958
|
-
PickerColumnCmp,
|
|
40959
40373
|
PickerColumnOption,
|
|
40960
40374
|
Popover,
|
|
40961
40375
|
ProgressBar,
|