@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.js
CHANGED
|
@@ -8041,7 +8041,7 @@ const focusElementInOverlay = (hostToFocus, overlay) => {
|
|
|
8041
8041
|
* Should NOT include: Toast
|
|
8042
8042
|
*/
|
|
8043
8043
|
const trapKeyboardFocus = (ev, doc) => {
|
|
8044
|
-
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
8044
|
+
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover');
|
|
8045
8045
|
const target = ev.target;
|
|
8046
8046
|
/**
|
|
8047
8047
|
* If no active overlay, ignore this event.
|
|
@@ -8275,7 +8275,7 @@ const dismissOverlay = (doc, data, role, overlayTag, id) => {
|
|
|
8275
8275
|
*/
|
|
8276
8276
|
const getOverlays = (doc, selector) => {
|
|
8277
8277
|
if (selector === undefined) {
|
|
8278
|
-
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
8278
|
+
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover,ion-toast';
|
|
8279
8279
|
}
|
|
8280
8280
|
return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
|
|
8281
8281
|
};
|
|
@@ -8337,6 +8337,29 @@ const setRootAriaHidden = (hidden = false) => {
|
|
|
8337
8337
|
viewContainer.removeAttribute('aria-hidden');
|
|
8338
8338
|
}
|
|
8339
8339
|
};
|
|
8340
|
+
/**
|
|
8341
|
+
* Cleans up root `aria-hidden` and `backdrop-no-scroll` when
|
|
8342
|
+
* an overlay is removed from the DOM without going through
|
|
8343
|
+
* the `dismiss()` flow (e.g., when a framework unmounts the
|
|
8344
|
+
* overlay during a route change).
|
|
8345
|
+
*
|
|
8346
|
+
* Should be called from an overlay's `disconnectedCallback`
|
|
8347
|
+
* when the overlay was still presented at the time of removal.
|
|
8348
|
+
*/
|
|
8349
|
+
const cleanupRootFocusTrapAccessibility = () => {
|
|
8350
|
+
if (typeof document === 'undefined') {
|
|
8351
|
+
return;
|
|
8352
|
+
}
|
|
8353
|
+
const remainingOverlays = getPresentedOverlays(document);
|
|
8354
|
+
const hasRemainingLocking = remainingOverlays.some((o) => {
|
|
8355
|
+
const el = o;
|
|
8356
|
+
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
8357
|
+
});
|
|
8358
|
+
if (!hasRemainingLocking) {
|
|
8359
|
+
setRootAriaHidden(false);
|
|
8360
|
+
document.body.classList.remove(BACKDROP_NO_SCROLL);
|
|
8361
|
+
}
|
|
8362
|
+
};
|
|
8340
8363
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
8341
8364
|
var _a, _b;
|
|
8342
8365
|
if (overlay.presented) {
|
|
@@ -9593,7 +9616,7 @@ const createAnimation = (animationId) => {
|
|
|
9593
9616
|
/**
|
|
9594
9617
|
* iOS Action Sheet Enter Animation
|
|
9595
9618
|
*/
|
|
9596
|
-
const iosEnterAnimation$
|
|
9619
|
+
const iosEnterAnimation$5 = (baseEl) => {
|
|
9597
9620
|
const baseAnimation = createAnimation();
|
|
9598
9621
|
const backdropAnimation = createAnimation();
|
|
9599
9622
|
const wrapperAnimation = createAnimation();
|
|
@@ -9617,7 +9640,7 @@ const iosEnterAnimation$6 = (baseEl) => {
|
|
|
9617
9640
|
/**
|
|
9618
9641
|
* iOS Action Sheet Leave Animation
|
|
9619
9642
|
*/
|
|
9620
|
-
const iosLeaveAnimation$
|
|
9643
|
+
const iosLeaveAnimation$5 = (baseEl) => {
|
|
9621
9644
|
const baseAnimation = createAnimation();
|
|
9622
9645
|
const backdropAnimation = createAnimation();
|
|
9623
9646
|
const wrapperAnimation = createAnimation();
|
|
@@ -9773,7 +9796,7 @@ class ActionSheet {
|
|
|
9773
9796
|
async present() {
|
|
9774
9797
|
const unlock = await this.lockController.lock();
|
|
9775
9798
|
await this.delegateController.attachViewToDom();
|
|
9776
|
-
await present(this, 'actionSheetEnter', iosEnterAnimation$
|
|
9799
|
+
await present(this, 'actionSheetEnter', iosEnterAnimation$5, mdEnterAnimation$5);
|
|
9777
9800
|
unlock();
|
|
9778
9801
|
}
|
|
9779
9802
|
/**
|
|
@@ -9790,7 +9813,7 @@ class ActionSheet {
|
|
|
9790
9813
|
*/
|
|
9791
9814
|
async dismiss(data, role) {
|
|
9792
9815
|
const unlock = await this.lockController.lock();
|
|
9793
|
-
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$
|
|
9816
|
+
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$5, mdLeaveAnimation$5);
|
|
9794
9817
|
if (dismissed) {
|
|
9795
9818
|
this.delegateController.removeViewFromDom();
|
|
9796
9819
|
}
|
|
@@ -9959,6 +9982,10 @@ class ActionSheet {
|
|
|
9959
9982
|
this.gesture = undefined;
|
|
9960
9983
|
}
|
|
9961
9984
|
this.triggerController.removeClickListener();
|
|
9985
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
9986
|
+
if (this.presented) {
|
|
9987
|
+
cleanupRootFocusTrapAccessibility();
|
|
9988
|
+
}
|
|
9962
9989
|
}
|
|
9963
9990
|
componentWillLoad() {
|
|
9964
9991
|
var _a;
|
|
@@ -10047,7 +10074,7 @@ class ActionSheet {
|
|
|
10047
10074
|
if (isRadio) {
|
|
10048
10075
|
htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
|
|
10049
10076
|
}
|
|
10050
|
-
return (hAsync("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass$
|
|
10077
|
+
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: () => {
|
|
10051
10078
|
if (isRadio) {
|
|
10052
10079
|
this.selectRadioButton(b);
|
|
10053
10080
|
}
|
|
@@ -10062,12 +10089,12 @@ class ActionSheet {
|
|
|
10062
10089
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
10063
10090
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
10064
10091
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
10065
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
10092
|
+
return (hAsync(Host, Object.assign({ key: '572ea2b7b7ffd902186a17f8063e46f4e7360633', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
10066
10093
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
10067
|
-
}, 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: '
|
|
10094
|
+
}, 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: {
|
|
10068
10095
|
'action-sheet-title': true,
|
|
10069
10096
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
10070
|
-
} }, header, this.subHeader && hAsync("div", { key: '
|
|
10097
|
+
} }, 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" })));
|
|
10071
10098
|
}
|
|
10072
10099
|
get el() { return getElement(this); }
|
|
10073
10100
|
static get watchers() { return {
|
|
@@ -10116,7 +10143,7 @@ class ActionSheet {
|
|
|
10116
10143
|
"$attrsToReflect$": []
|
|
10117
10144
|
}; }
|
|
10118
10145
|
}
|
|
10119
|
-
const buttonClass$
|
|
10146
|
+
const buttonClass$2 = (button) => {
|
|
10120
10147
|
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));
|
|
10121
10148
|
};
|
|
10122
10149
|
|
|
@@ -10287,7 +10314,7 @@ class IonicSafeString {
|
|
|
10287
10314
|
/**
|
|
10288
10315
|
* iOS Alert Enter Animation
|
|
10289
10316
|
*/
|
|
10290
|
-
const iosEnterAnimation$
|
|
10317
|
+
const iosEnterAnimation$4 = (baseEl) => {
|
|
10291
10318
|
const baseAnimation = createAnimation();
|
|
10292
10319
|
const backdropAnimation = createAnimation();
|
|
10293
10320
|
const wrapperAnimation = createAnimation();
|
|
@@ -10312,7 +10339,7 @@ const iosEnterAnimation$5 = (baseEl) => {
|
|
|
10312
10339
|
/**
|
|
10313
10340
|
* iOS Alert Leave Animation
|
|
10314
10341
|
*/
|
|
10315
|
-
const iosLeaveAnimation$
|
|
10342
|
+
const iosLeaveAnimation$4 = (baseEl) => {
|
|
10316
10343
|
const baseAnimation = createAnimation();
|
|
10317
10344
|
const backdropAnimation = createAnimation();
|
|
10318
10345
|
const wrapperAnimation = createAnimation();
|
|
@@ -10588,6 +10615,10 @@ class Alert {
|
|
|
10588
10615
|
this.gesture.destroy();
|
|
10589
10616
|
this.gesture = undefined;
|
|
10590
10617
|
}
|
|
10618
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
10619
|
+
if (this.presented) {
|
|
10620
|
+
cleanupRootFocusTrapAccessibility();
|
|
10621
|
+
}
|
|
10591
10622
|
(_a = this.buttonGroupResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
10592
10623
|
this.buttonGroupResizeObserver = undefined;
|
|
10593
10624
|
}
|
|
@@ -10627,7 +10658,7 @@ class Alert {
|
|
|
10627
10658
|
async present() {
|
|
10628
10659
|
const unlock = await this.lockController.lock();
|
|
10629
10660
|
await this.delegateController.attachViewToDom();
|
|
10630
|
-
await present(this, 'alertEnter', iosEnterAnimation$
|
|
10661
|
+
await present(this, 'alertEnter', iosEnterAnimation$4, mdEnterAnimation$4).then(() => {
|
|
10631
10662
|
var _a, _b;
|
|
10632
10663
|
/**
|
|
10633
10664
|
* Check if alert has only one button and no inputs.
|
|
@@ -10658,7 +10689,7 @@ class Alert {
|
|
|
10658
10689
|
*/
|
|
10659
10690
|
async dismiss(data, role) {
|
|
10660
10691
|
const unlock = await this.lockController.lock();
|
|
10661
|
-
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$
|
|
10692
|
+
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$4, mdLeaveAnimation$4);
|
|
10662
10693
|
if (dismissed) {
|
|
10663
10694
|
this.delegateController.removeViewFromDom();
|
|
10664
10695
|
}
|
|
@@ -10843,7 +10874,7 @@ class Alert {
|
|
|
10843
10874
|
'alert-button-group': true,
|
|
10844
10875
|
'alert-button-group-vertical': buttons.length > 2 || this.isButtonGroupWrapped,
|
|
10845
10876
|
};
|
|
10846
|
-
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$
|
|
10877
|
+
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))))));
|
|
10847
10878
|
}
|
|
10848
10879
|
renderAlertMessage(msgId) {
|
|
10849
10880
|
const { customHTMLEnabled, message } = this;
|
|
@@ -10866,9 +10897,9 @@ class Alert {
|
|
|
10866
10897
|
* If neither are defined, do not set aria-labelledby.
|
|
10867
10898
|
*/
|
|
10868
10899
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
10869
|
-
return (hAsync(Host, { key: '
|
|
10900
|
+
return (hAsync(Host, { key: '80642b44e08bcbe73f7a217578f89716827e2f7d', tabindex: "-1", style: {
|
|
10870
10901
|
zIndex: `${20000 + overlayIndex}`,
|
|
10871
|
-
}, 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: '
|
|
10902
|
+
}, 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" })));
|
|
10872
10903
|
}
|
|
10873
10904
|
get el() { return getElement(this); }
|
|
10874
10905
|
static get watchers() { return {
|
|
@@ -10926,7 +10957,7 @@ const inputClass = (input) => {
|
|
|
10926
10957
|
var _a, _b, _c;
|
|
10927
10958
|
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() : ''));
|
|
10928
10959
|
};
|
|
10929
|
-
const buttonClass$
|
|
10960
|
+
const buttonClass$1 = (button) => {
|
|
10930
10961
|
return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
10931
10962
|
};
|
|
10932
10963
|
|
|
@@ -19265,7 +19296,7 @@ class Input {
|
|
|
19265
19296
|
/**
|
|
19266
19297
|
* Whether auto correction should be enabled when the user is entering/editing the text value.
|
|
19267
19298
|
*/
|
|
19268
|
-
this.autocorrect =
|
|
19299
|
+
this.autocorrect = false;
|
|
19269
19300
|
/**
|
|
19270
19301
|
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
19271
19302
|
*
|
|
@@ -19722,7 +19753,7 @@ class Input {
|
|
|
19722
19753
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
19723
19754
|
*/
|
|
19724
19755
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
19725
|
-
return (hAsync(Host, { key: '
|
|
19756
|
+
return (hAsync(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses$1(this.color, {
|
|
19726
19757
|
[mode]: true,
|
|
19727
19758
|
'has-value': hasValue,
|
|
19728
19759
|
'has-focus': hasFocus,
|
|
@@ -19733,14 +19764,14 @@ class Input {
|
|
|
19733
19764
|
'in-item': inItem,
|
|
19734
19765
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
19735
19766
|
'input-disabled': disabled,
|
|
19736
|
-
}) }, hAsync("label", { key: '
|
|
19767
|
+
}) }, 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) => {
|
|
19737
19768
|
/**
|
|
19738
19769
|
* This prevents mobile browsers from
|
|
19739
19770
|
* blurring the input when the clear
|
|
19740
19771
|
* button is activated.
|
|
19741
19772
|
*/
|
|
19742
19773
|
ev.preventDefault();
|
|
19743
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
19774
|
+
}, 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()));
|
|
19744
19775
|
}
|
|
19745
19776
|
get el() { return getElement(this); }
|
|
19746
19777
|
static get watchers() { return {
|
|
@@ -19768,7 +19799,7 @@ class Input {
|
|
|
19768
19799
|
"color": [513],
|
|
19769
19800
|
"autocapitalize": [1],
|
|
19770
19801
|
"autocomplete": [1],
|
|
19771
|
-
"autocorrect": [
|
|
19802
|
+
"autocorrect": [4],
|
|
19772
19803
|
"autofocus": [4],
|
|
19773
19804
|
"clearInput": [4, "clear-input"],
|
|
19774
19805
|
"clearInputIcon": [1, "clear-input-icon"],
|
|
@@ -21772,7 +21803,7 @@ class ListHeader {
|
|
|
21772
21803
|
/**
|
|
21773
21804
|
* iOS Loading Enter Animation
|
|
21774
21805
|
*/
|
|
21775
|
-
const iosEnterAnimation$
|
|
21806
|
+
const iosEnterAnimation$3 = (baseEl) => {
|
|
21776
21807
|
const baseAnimation = createAnimation();
|
|
21777
21808
|
const backdropAnimation = createAnimation();
|
|
21778
21809
|
const wrapperAnimation = createAnimation();
|
|
@@ -21797,7 +21828,7 @@ const iosEnterAnimation$4 = (baseEl) => {
|
|
|
21797
21828
|
/**
|
|
21798
21829
|
* iOS Loading Leave Animation
|
|
21799
21830
|
*/
|
|
21800
|
-
const iosLeaveAnimation$
|
|
21831
|
+
const iosLeaveAnimation$3 = (baseEl) => {
|
|
21801
21832
|
const baseAnimation = createAnimation();
|
|
21802
21833
|
const backdropAnimation = createAnimation();
|
|
21803
21834
|
const wrapperAnimation = createAnimation();
|
|
@@ -21970,6 +22001,10 @@ class Loading {
|
|
|
21970
22001
|
}
|
|
21971
22002
|
disconnectedCallback() {
|
|
21972
22003
|
this.triggerController.removeClickListener();
|
|
22004
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
22005
|
+
if (this.presented) {
|
|
22006
|
+
cleanupRootFocusTrapAccessibility();
|
|
22007
|
+
}
|
|
21973
22008
|
}
|
|
21974
22009
|
/**
|
|
21975
22010
|
* Present the loading overlay after it has been created.
|
|
@@ -21977,7 +22012,7 @@ class Loading {
|
|
|
21977
22012
|
async present() {
|
|
21978
22013
|
const unlock = await this.lockController.lock();
|
|
21979
22014
|
await this.delegateController.attachViewToDom();
|
|
21980
|
-
await present(this, 'loadingEnter', iosEnterAnimation$
|
|
22015
|
+
await present(this, 'loadingEnter', iosEnterAnimation$3, mdEnterAnimation$3);
|
|
21981
22016
|
if (this.duration > 0) {
|
|
21982
22017
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);
|
|
21983
22018
|
}
|
|
@@ -22000,7 +22035,7 @@ class Loading {
|
|
|
22000
22035
|
if (this.durationTimeout) {
|
|
22001
22036
|
clearTimeout(this.durationTimeout);
|
|
22002
22037
|
}
|
|
22003
|
-
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$
|
|
22038
|
+
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$3, mdLeaveAnimation$3);
|
|
22004
22039
|
if (dismissed) {
|
|
22005
22040
|
this.delegateController.removeViewFromDom();
|
|
22006
22041
|
}
|
|
@@ -22035,9 +22070,9 @@ class Loading {
|
|
|
22035
22070
|
* Otherwise, don't set aria-labelledby.
|
|
22036
22071
|
*/
|
|
22037
22072
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
22038
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
22073
|
+
return (hAsync(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
22039
22074
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
22040
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
22075
|
+
}, 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" })));
|
|
22041
22076
|
}
|
|
22042
22077
|
get el() { return getElement(this); }
|
|
22043
22078
|
static get watchers() { return {
|
|
@@ -24311,7 +24346,7 @@ const createEnterAnimation$1 = () => {
|
|
|
24311
24346
|
/**
|
|
24312
24347
|
* iOS Modal Enter Animation for the Card presentation style
|
|
24313
24348
|
*/
|
|
24314
|
-
const iosEnterAnimation$
|
|
24349
|
+
const iosEnterAnimation$2 = (baseEl, opts) => {
|
|
24315
24350
|
const { presentingEl, currentBreakpoint, expandToScroll } = opts;
|
|
24316
24351
|
const root = getElementRoot(baseEl);
|
|
24317
24352
|
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
@@ -24404,7 +24439,7 @@ const createLeaveAnimation$1 = () => {
|
|
|
24404
24439
|
/**
|
|
24405
24440
|
* iOS Modal Leave Animation
|
|
24406
24441
|
*/
|
|
24407
|
-
const iosLeaveAnimation$
|
|
24442
|
+
const iosLeaveAnimation$2 = (baseEl, opts, duration = 500) => {
|
|
24408
24443
|
const { presentingEl, currentBreakpoint } = opts;
|
|
24409
24444
|
const root = getElementRoot(baseEl);
|
|
24410
24445
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
|
|
@@ -25579,13 +25614,20 @@ class Modal {
|
|
|
25579
25614
|
/**
|
|
25580
25615
|
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
25581
25616
|
*
|
|
25582
|
-
*
|
|
25583
|
-
*
|
|
25617
|
+
* Handle behavior is unavailable when the `handle` property is set to
|
|
25618
|
+
* `false` or when the `breakpoints` property is not set (using a
|
|
25619
|
+
* fullscreen or card modal).
|
|
25620
|
+
*
|
|
25621
|
+
* Set to `"cycle"` to make the handle focusable and let the sheet modal
|
|
25622
|
+
* cycle between available breakpoints when pressed. This keeps the sheet
|
|
25623
|
+
* operable with assistive technology.
|
|
25584
25624
|
*
|
|
25585
|
-
*
|
|
25586
|
-
*
|
|
25625
|
+
* Set to `"none"` to make the handle purely decorative when pressed and
|
|
25626
|
+
* removed from the tab order.
|
|
25627
|
+
*
|
|
25628
|
+
* Defaults to `"cycle"`.
|
|
25587
25629
|
*/
|
|
25588
|
-
this.handleBehavior = '
|
|
25630
|
+
this.handleBehavior = 'cycle';
|
|
25589
25631
|
/**
|
|
25590
25632
|
* If `true`, the modal will be dismissed when the backdrop is clicked.
|
|
25591
25633
|
*/
|
|
@@ -25777,6 +25819,10 @@ class Modal {
|
|
|
25777
25819
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
25778
25820
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
25779
25821
|
this.cleanupSafeAreaOverrides();
|
|
25822
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
25823
|
+
if (this.presented) {
|
|
25824
|
+
cleanupRootFocusTrapAccessibility();
|
|
25825
|
+
}
|
|
25780
25826
|
}
|
|
25781
25827
|
componentWillLoad() {
|
|
25782
25828
|
var _a;
|
|
@@ -25953,7 +25999,7 @@ class Modal {
|
|
|
25953
25999
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
25954
26000
|
setCardStatusBarDark();
|
|
25955
26001
|
}
|
|
25956
|
-
await present(this, 'modalEnter', iosEnterAnimation$
|
|
26002
|
+
await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
|
|
25957
26003
|
presentingEl: presentingElement,
|
|
25958
26004
|
currentBreakpoint: this.initialBreakpoint,
|
|
25959
26005
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26015,7 +26061,7 @@ class Modal {
|
|
|
26015
26061
|
// All of the elements needed for the swipe gesture
|
|
26016
26062
|
// should be in the DOM and referenced by now, except
|
|
26017
26063
|
// for the presenting el
|
|
26018
|
-
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$
|
|
26064
|
+
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$2);
|
|
26019
26065
|
const ani = (this.animation = animationBuilder(el, {
|
|
26020
26066
|
presentingEl: this.presentingElement,
|
|
26021
26067
|
expandToScroll: this.expandToScroll,
|
|
@@ -26034,7 +26080,7 @@ class Modal {
|
|
|
26034
26080
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
26035
26081
|
return;
|
|
26036
26082
|
}
|
|
26037
|
-
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$
|
|
26083
|
+
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$2);
|
|
26038
26084
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
26039
26085
|
presentingEl: this.presentingElement,
|
|
26040
26086
|
currentBreakpoint: initialBreakpoint,
|
|
@@ -26224,7 +26270,7 @@ class Modal {
|
|
|
26224
26270
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
26225
26271
|
this.keyboardOpenCallback = undefined;
|
|
26226
26272
|
}
|
|
26227
|
-
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$
|
|
26273
|
+
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$2, mdLeaveAnimation$2, {
|
|
26228
26274
|
presentingEl: presentingElement,
|
|
26229
26275
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
26230
26276
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26656,20 +26702,20 @@ class Modal {
|
|
|
26656
26702
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
26657
26703
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
26658
26704
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
26659
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
26705
|
+
return (hAsync(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
|
|
26660
26706
|
// Allow the modal to be navigable when the handle is focusable
|
|
26661
26707
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
26662
26708
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
26663
|
-
}, 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: '
|
|
26709
|
+
}, 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',
|
|
26664
26710
|
/*
|
|
26665
26711
|
role and aria-modal must be used on the
|
|
26666
26712
|
same element. They must also be set inside the
|
|
26667
26713
|
shadow DOM otherwise ion-button will not be highlighted
|
|
26668
26714
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
26669
26715
|
*/
|
|
26670
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
26716
|
+
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",
|
|
26671
26717
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
26672
|
-
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: '
|
|
26718
|
+
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 }))));
|
|
26673
26719
|
}
|
|
26674
26720
|
get el() { return getElement(this); }
|
|
26675
26721
|
static get watchers() { return {
|
|
@@ -27752,14 +27798,14 @@ class Note {
|
|
|
27752
27798
|
}; }
|
|
27753
27799
|
}
|
|
27754
27800
|
|
|
27755
|
-
const pickerIosCss
|
|
27801
|
+
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)))}`;
|
|
27756
27802
|
|
|
27757
|
-
const pickerMdCss
|
|
27803
|
+
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%)}`;
|
|
27758
27804
|
|
|
27759
27805
|
/**
|
|
27760
27806
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
27761
27807
|
*/
|
|
27762
|
-
|
|
27808
|
+
class Picker {
|
|
27763
27809
|
constructor(hostRef) {
|
|
27764
27810
|
registerInstance(this, hostRef);
|
|
27765
27811
|
this.ionInputModeChange = createEvent(this, "ionInputModeChange", 7);
|
|
@@ -28225,8 +28271,8 @@ let Picker$1 = class Picker {
|
|
|
28225
28271
|
}
|
|
28226
28272
|
get el() { return getElement(this); }
|
|
28227
28273
|
static get style() { return {
|
|
28228
|
-
ios: pickerIosCss
|
|
28229
|
-
md: pickerMdCss
|
|
28274
|
+
ios: pickerIosCss(),
|
|
28275
|
+
md: pickerMdCss()
|
|
28230
28276
|
}; }
|
|
28231
28277
|
static get cmpMeta() { return {
|
|
28232
28278
|
"$flags$": 297,
|
|
@@ -28238,322 +28284,7 @@ let Picker$1 = class Picker {
|
|
|
28238
28284
|
"$lazyBundleId$": "-",
|
|
28239
28285
|
"$attrsToReflect$": []
|
|
28240
28286
|
}; }
|
|
28241
|
-
};
|
|
28242
|
-
|
|
28243
|
-
/**
|
|
28244
|
-
* iOS Picker Enter Animation
|
|
28245
|
-
*/
|
|
28246
|
-
const iosEnterAnimation$2 = (baseEl) => {
|
|
28247
|
-
const baseAnimation = createAnimation();
|
|
28248
|
-
const backdropAnimation = createAnimation();
|
|
28249
|
-
const wrapperAnimation = createAnimation();
|
|
28250
|
-
backdropAnimation
|
|
28251
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
28252
|
-
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
28253
|
-
.beforeStyles({
|
|
28254
|
-
'pointer-events': 'none',
|
|
28255
|
-
})
|
|
28256
|
-
.afterClearStyles(['pointer-events']);
|
|
28257
|
-
wrapperAnimation
|
|
28258
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
28259
|
-
.fromTo('transform', 'translateY(100%)', 'translateY(0%)');
|
|
28260
|
-
return baseAnimation
|
|
28261
|
-
.addElement(baseEl)
|
|
28262
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
28263
|
-
.duration(400)
|
|
28264
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
28265
|
-
};
|
|
28266
|
-
|
|
28267
|
-
/**
|
|
28268
|
-
* iOS Picker Leave Animation
|
|
28269
|
-
*/
|
|
28270
|
-
const iosLeaveAnimation$2 = (baseEl) => {
|
|
28271
|
-
const baseAnimation = createAnimation();
|
|
28272
|
-
const backdropAnimation = createAnimation();
|
|
28273
|
-
const wrapperAnimation = createAnimation();
|
|
28274
|
-
backdropAnimation
|
|
28275
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
28276
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
|
|
28277
|
-
wrapperAnimation
|
|
28278
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
28279
|
-
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
|
28280
|
-
return baseAnimation
|
|
28281
|
-
.addElement(baseEl)
|
|
28282
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
28283
|
-
.duration(400)
|
|
28284
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
28285
|
-
};
|
|
28286
|
-
|
|
28287
|
-
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}`;
|
|
28288
|
-
|
|
28289
|
-
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}`;
|
|
28290
|
-
|
|
28291
|
-
// TODO(FW-2832): types
|
|
28292
|
-
/**
|
|
28293
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
28294
|
-
*/
|
|
28295
|
-
class Picker {
|
|
28296
|
-
constructor(hostRef) {
|
|
28297
|
-
registerInstance(this, hostRef);
|
|
28298
|
-
this.didPresent = createEvent(this, "ionPickerDidPresent", 7);
|
|
28299
|
-
this.willPresent = createEvent(this, "ionPickerWillPresent", 7);
|
|
28300
|
-
this.willDismiss = createEvent(this, "ionPickerWillDismiss", 7);
|
|
28301
|
-
this.didDismiss = createEvent(this, "ionPickerDidDismiss", 7);
|
|
28302
|
-
this.didPresentShorthand = createEvent(this, "didPresent", 7);
|
|
28303
|
-
this.willPresentShorthand = createEvent(this, "willPresent", 7);
|
|
28304
|
-
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
28305
|
-
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
28306
|
-
this.delegateController = createDelegateController(this);
|
|
28307
|
-
this.lockController = createLockController();
|
|
28308
|
-
this.triggerController = createTriggerController();
|
|
28309
|
-
this.presented = false;
|
|
28310
|
-
/** @internal */
|
|
28311
|
-
this.hasController = false;
|
|
28312
|
-
/**
|
|
28313
|
-
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
28314
|
-
*/
|
|
28315
|
-
this.keyboardClose = true;
|
|
28316
|
-
/**
|
|
28317
|
-
* Array of buttons to be displayed at the top of the picker.
|
|
28318
|
-
*/
|
|
28319
|
-
this.buttons = [];
|
|
28320
|
-
/**
|
|
28321
|
-
* Array of columns to be displayed in the picker.
|
|
28322
|
-
*/
|
|
28323
|
-
this.columns = [];
|
|
28324
|
-
/**
|
|
28325
|
-
* Number of milliseconds to wait before dismissing the picker.
|
|
28326
|
-
*/
|
|
28327
|
-
this.duration = 0;
|
|
28328
|
-
/**
|
|
28329
|
-
* If `true`, a backdrop will be displayed behind the picker.
|
|
28330
|
-
*/
|
|
28331
|
-
this.showBackdrop = true;
|
|
28332
|
-
/**
|
|
28333
|
-
* If `true`, the picker will be dismissed when the backdrop is clicked.
|
|
28334
|
-
*/
|
|
28335
|
-
this.backdropDismiss = true;
|
|
28336
|
-
/**
|
|
28337
|
-
* If `true`, the picker will animate.
|
|
28338
|
-
*/
|
|
28339
|
-
this.animated = true;
|
|
28340
|
-
/**
|
|
28341
|
-
* If `true`, the picker will open. If `false`, the picker will close.
|
|
28342
|
-
* Use this if you need finer grained control over presentation, otherwise
|
|
28343
|
-
* just use the pickerController or the `trigger` property.
|
|
28344
|
-
* Note: `isOpen` will not automatically be set back to `false` when
|
|
28345
|
-
* the picker dismisses. You will need to do that in your code.
|
|
28346
|
-
*/
|
|
28347
|
-
this.isOpen = false;
|
|
28348
|
-
this.onBackdropTap = () => {
|
|
28349
|
-
this.dismiss(undefined, BACKDROP);
|
|
28350
|
-
};
|
|
28351
|
-
this.dispatchCancelHandler = (ev) => {
|
|
28352
|
-
const role = ev.detail.role;
|
|
28353
|
-
if (isCancel(role)) {
|
|
28354
|
-
const cancelButton = this.buttons.find((b) => b.role === 'cancel');
|
|
28355
|
-
this.callButtonHandler(cancelButton);
|
|
28356
|
-
}
|
|
28357
|
-
};
|
|
28358
|
-
}
|
|
28359
|
-
onIsOpenChange(newValue, oldValue) {
|
|
28360
|
-
if (newValue === true && oldValue === false) {
|
|
28361
|
-
this.present();
|
|
28362
|
-
}
|
|
28363
|
-
else if (newValue === false && oldValue === true) {
|
|
28364
|
-
this.dismiss();
|
|
28365
|
-
}
|
|
28366
|
-
}
|
|
28367
|
-
triggerChanged() {
|
|
28368
|
-
const { trigger, el, triggerController } = this;
|
|
28369
|
-
if (trigger) {
|
|
28370
|
-
triggerController.addClickListener(el, trigger);
|
|
28371
|
-
}
|
|
28372
|
-
}
|
|
28373
|
-
connectedCallback() {
|
|
28374
|
-
prepareOverlay(this.el);
|
|
28375
|
-
this.triggerChanged();
|
|
28376
|
-
}
|
|
28377
|
-
disconnectedCallback() {
|
|
28378
|
-
this.triggerController.removeClickListener();
|
|
28379
|
-
}
|
|
28380
|
-
componentWillLoad() {
|
|
28381
|
-
var _a;
|
|
28382
|
-
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
28383
|
-
setOverlayId(this.el);
|
|
28384
|
-
}
|
|
28385
|
-
}
|
|
28386
|
-
componentDidLoad() {
|
|
28387
|
-
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);
|
|
28388
|
-
/**
|
|
28389
|
-
* If picker was rendered with isOpen="true"
|
|
28390
|
-
* then we should open picker immediately.
|
|
28391
|
-
*/
|
|
28392
|
-
if (this.isOpen === true) {
|
|
28393
|
-
raf(() => this.present());
|
|
28394
|
-
}
|
|
28395
|
-
/**
|
|
28396
|
-
* When binding values in frameworks such as Angular
|
|
28397
|
-
* it is possible for the value to be set after the Web Component
|
|
28398
|
-
* initializes but before the value watcher is set up in Stencil.
|
|
28399
|
-
* As a result, the watcher callback may not be fired.
|
|
28400
|
-
* We work around this by manually calling the watcher
|
|
28401
|
-
* callback when the component has loaded and the watcher
|
|
28402
|
-
* is configured.
|
|
28403
|
-
*/
|
|
28404
|
-
this.triggerChanged();
|
|
28405
|
-
}
|
|
28406
|
-
/**
|
|
28407
|
-
* Present the picker overlay after it has been created.
|
|
28408
|
-
*/
|
|
28409
|
-
async present() {
|
|
28410
|
-
const unlock = await this.lockController.lock();
|
|
28411
|
-
await this.delegateController.attachViewToDom();
|
|
28412
|
-
await present(this, 'pickerEnter', iosEnterAnimation$2, iosEnterAnimation$2, undefined);
|
|
28413
|
-
if (this.duration > 0) {
|
|
28414
|
-
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
|
|
28415
|
-
}
|
|
28416
|
-
unlock();
|
|
28417
|
-
}
|
|
28418
|
-
/**
|
|
28419
|
-
* Dismiss the picker overlay after it has been presented.
|
|
28420
|
-
*
|
|
28421
|
-
* @param data Any data to emit in the dismiss events.
|
|
28422
|
-
* @param role The role of the element that is dismissing the picker.
|
|
28423
|
-
* This can be useful in a button handler for determining which button was
|
|
28424
|
-
* clicked to dismiss the picker.
|
|
28425
|
-
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
28426
|
-
*/
|
|
28427
|
-
async dismiss(data, role) {
|
|
28428
|
-
const unlock = await this.lockController.lock();
|
|
28429
|
-
if (this.durationTimeout) {
|
|
28430
|
-
clearTimeout(this.durationTimeout);
|
|
28431
|
-
}
|
|
28432
|
-
const dismissed = await dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation$2, iosLeaveAnimation$2);
|
|
28433
|
-
if (dismissed) {
|
|
28434
|
-
this.delegateController.removeViewFromDom();
|
|
28435
|
-
}
|
|
28436
|
-
unlock();
|
|
28437
|
-
return dismissed;
|
|
28438
|
-
}
|
|
28439
|
-
/**
|
|
28440
|
-
* Returns a promise that resolves when the picker did dismiss.
|
|
28441
|
-
*/
|
|
28442
|
-
onDidDismiss() {
|
|
28443
|
-
return eventMethod(this.el, 'ionPickerDidDismiss');
|
|
28444
|
-
}
|
|
28445
|
-
/**
|
|
28446
|
-
* Returns a promise that resolves when the picker will dismiss.
|
|
28447
|
-
*/
|
|
28448
|
-
onWillDismiss() {
|
|
28449
|
-
return eventMethod(this.el, 'ionPickerWillDismiss');
|
|
28450
|
-
}
|
|
28451
|
-
/**
|
|
28452
|
-
* Get the column that matches the specified name.
|
|
28453
|
-
*
|
|
28454
|
-
* @param name The name of the column.
|
|
28455
|
-
*/
|
|
28456
|
-
getColumn(name) {
|
|
28457
|
-
return Promise.resolve(this.columns.find((column) => column.name === name));
|
|
28458
|
-
}
|
|
28459
|
-
async buttonClick(button) {
|
|
28460
|
-
const role = button.role;
|
|
28461
|
-
if (isCancel(role)) {
|
|
28462
|
-
return this.dismiss(undefined, role);
|
|
28463
|
-
}
|
|
28464
|
-
const shouldDismiss = await this.callButtonHandler(button);
|
|
28465
|
-
if (shouldDismiss) {
|
|
28466
|
-
return this.dismiss(this.getSelected(), button.role);
|
|
28467
|
-
}
|
|
28468
|
-
return Promise.resolve();
|
|
28469
|
-
}
|
|
28470
|
-
async callButtonHandler(button) {
|
|
28471
|
-
if (button) {
|
|
28472
|
-
// a handler has been provided, execute it
|
|
28473
|
-
// pass the handler the values from the inputs
|
|
28474
|
-
const rtn = await safeCall(button.handler, this.getSelected());
|
|
28475
|
-
if (rtn === false) {
|
|
28476
|
-
// if the return value of the handler is false then do not dismiss
|
|
28477
|
-
return false;
|
|
28478
|
-
}
|
|
28479
|
-
}
|
|
28480
|
-
return true;
|
|
28481
|
-
}
|
|
28482
|
-
getSelected() {
|
|
28483
|
-
const selected = {};
|
|
28484
|
-
this.columns.forEach((col, index) => {
|
|
28485
|
-
const selectedColumn = col.selectedIndex !== undefined ? col.options[col.selectedIndex] : undefined;
|
|
28486
|
-
selected[col.name] = {
|
|
28487
|
-
text: selectedColumn ? selectedColumn.text : undefined,
|
|
28488
|
-
value: selectedColumn ? selectedColumn.value : undefined,
|
|
28489
|
-
columnIndex: index,
|
|
28490
|
-
};
|
|
28491
|
-
});
|
|
28492
|
-
return selected;
|
|
28493
|
-
}
|
|
28494
|
-
render() {
|
|
28495
|
-
const { htmlAttributes } = this;
|
|
28496
|
-
const mode = getIonMode$1(this);
|
|
28497
|
-
return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
28498
|
-
zIndex: `${20000 + this.overlayIndex}`,
|
|
28499
|
-
}, class: Object.assign({ [mode]: true,
|
|
28500
|
-
// Used internally for styling
|
|
28501
|
-
[`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" })));
|
|
28502
|
-
}
|
|
28503
|
-
get el() { return getElement(this); }
|
|
28504
|
-
static get watchers() { return {
|
|
28505
|
-
"isOpen": [{
|
|
28506
|
-
"onIsOpenChange": 0
|
|
28507
|
-
}],
|
|
28508
|
-
"trigger": [{
|
|
28509
|
-
"triggerChanged": 0
|
|
28510
|
-
}]
|
|
28511
|
-
}; }
|
|
28512
|
-
static get style() { return {
|
|
28513
|
-
ios: pickerIosCss(),
|
|
28514
|
-
md: pickerMdCss()
|
|
28515
|
-
}; }
|
|
28516
|
-
static get cmpMeta() { return {
|
|
28517
|
-
"$flags$": 34,
|
|
28518
|
-
"$tagName$": "ion-picker-legacy",
|
|
28519
|
-
"$members$": {
|
|
28520
|
-
"overlayIndex": [2, "overlay-index"],
|
|
28521
|
-
"delegate": [16],
|
|
28522
|
-
"hasController": [4, "has-controller"],
|
|
28523
|
-
"keyboardClose": [4, "keyboard-close"],
|
|
28524
|
-
"enterAnimation": [16],
|
|
28525
|
-
"leaveAnimation": [16],
|
|
28526
|
-
"buttons": [16],
|
|
28527
|
-
"columns": [16],
|
|
28528
|
-
"cssClass": [1, "css-class"],
|
|
28529
|
-
"duration": [2],
|
|
28530
|
-
"showBackdrop": [4, "show-backdrop"],
|
|
28531
|
-
"backdropDismiss": [4, "backdrop-dismiss"],
|
|
28532
|
-
"animated": [4],
|
|
28533
|
-
"htmlAttributes": [16],
|
|
28534
|
-
"isOpen": [4, "is-open"],
|
|
28535
|
-
"trigger": [1],
|
|
28536
|
-
"presented": [32],
|
|
28537
|
-
"present": [64],
|
|
28538
|
-
"dismiss": [64],
|
|
28539
|
-
"onDidDismiss": [64],
|
|
28540
|
-
"onWillDismiss": [64],
|
|
28541
|
-
"getColumn": [64]
|
|
28542
|
-
},
|
|
28543
|
-
"$listeners$": undefined,
|
|
28544
|
-
"$lazyBundleId$": "-",
|
|
28545
|
-
"$attrsToReflect$": []
|
|
28546
|
-
}; }
|
|
28547
28287
|
}
|
|
28548
|
-
const buttonWrapperClass = (button) => {
|
|
28549
|
-
return {
|
|
28550
|
-
[`picker-toolbar-${button.role}`]: button.role !== undefined,
|
|
28551
|
-
'picker-toolbar-button': true,
|
|
28552
|
-
};
|
|
28553
|
-
};
|
|
28554
|
-
const buttonClass$1 = (button) => {
|
|
28555
|
-
return Object.assign({ 'picker-button': true, 'ion-activatable': true }, getClassMap(button.cssClass));
|
|
28556
|
-
};
|
|
28557
28288
|
|
|
28558
28289
|
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)}}`;
|
|
28559
28290
|
|
|
@@ -29140,371 +28871,6 @@ class PickerColumn {
|
|
|
29140
28871
|
}
|
|
29141
28872
|
const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
|
|
29142
28873
|
|
|
29143
|
-
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}}`;
|
|
29144
|
-
|
|
29145
|
-
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)}`;
|
|
29146
|
-
|
|
29147
|
-
/**
|
|
29148
|
-
* @internal
|
|
29149
|
-
*/
|
|
29150
|
-
class PickerColumnCmp {
|
|
29151
|
-
constructor(hostRef) {
|
|
29152
|
-
registerInstance(this, hostRef);
|
|
29153
|
-
this.ionPickerColChange = createEvent(this, "ionPickerColChange", 7);
|
|
29154
|
-
this.optHeight = 0;
|
|
29155
|
-
this.rotateFactor = 0;
|
|
29156
|
-
this.scaleFactor = 1;
|
|
29157
|
-
this.velocity = 0;
|
|
29158
|
-
this.y = 0;
|
|
29159
|
-
this.noAnimate = true;
|
|
29160
|
-
// `colDidChange` is a flag that gets set when the column is changed
|
|
29161
|
-
// dynamically. When this flag is set, the column will refresh
|
|
29162
|
-
// after the component re-renders to incorporate the new column data.
|
|
29163
|
-
// This is necessary because `this.refresh` queries for the option elements,
|
|
29164
|
-
// so it needs to wait for the latest elements to be available in the DOM.
|
|
29165
|
-
// Ex: column is created with 3 options. User updates the column data
|
|
29166
|
-
// to have 5 options. The column will still think it only has 3 options.
|
|
29167
|
-
this.colDidChange = false;
|
|
29168
|
-
}
|
|
29169
|
-
colChanged() {
|
|
29170
|
-
this.colDidChange = true;
|
|
29171
|
-
}
|
|
29172
|
-
async connectedCallback() {
|
|
29173
|
-
let pickerRotateFactor = 0;
|
|
29174
|
-
let pickerScaleFactor = 0.81;
|
|
29175
|
-
const mode = getIonMode$1(this);
|
|
29176
|
-
if (mode === 'ios') {
|
|
29177
|
-
pickerRotateFactor = -0.46;
|
|
29178
|
-
pickerScaleFactor = 1;
|
|
29179
|
-
}
|
|
29180
|
-
this.rotateFactor = pickerRotateFactor;
|
|
29181
|
-
this.scaleFactor = pickerScaleFactor;
|
|
29182
|
-
this.gesture = (await Promise.resolve().then(function () { return index; })).createGesture({
|
|
29183
|
-
el: this.el,
|
|
29184
|
-
gestureName: 'picker-swipe',
|
|
29185
|
-
gesturePriority: 100,
|
|
29186
|
-
threshold: 0,
|
|
29187
|
-
passive: false,
|
|
29188
|
-
onStart: (ev) => this.onStart(ev),
|
|
29189
|
-
onMove: (ev) => this.onMove(ev),
|
|
29190
|
-
onEnd: (ev) => this.onEnd(ev),
|
|
29191
|
-
});
|
|
29192
|
-
this.gesture.enable();
|
|
29193
|
-
// Options have not been initialized yet
|
|
29194
|
-
// Animation must be disabled through the `noAnimate` flag
|
|
29195
|
-
// Otherwise, the options will render
|
|
29196
|
-
// at the top of the column and transition down
|
|
29197
|
-
this.tmrId = setTimeout(() => {
|
|
29198
|
-
this.noAnimate = false;
|
|
29199
|
-
// After initialization, `refresh()` will be called
|
|
29200
|
-
// At this point, animation will be enabled. The options will
|
|
29201
|
-
// animate as they are being selected.
|
|
29202
|
-
this.refresh(true);
|
|
29203
|
-
}, 250);
|
|
29204
|
-
}
|
|
29205
|
-
componentDidLoad() {
|
|
29206
|
-
this.onDomChange();
|
|
29207
|
-
}
|
|
29208
|
-
componentDidUpdate() {
|
|
29209
|
-
// Options may have changed since last update.
|
|
29210
|
-
if (this.colDidChange) {
|
|
29211
|
-
// Animation must be disabled through the `onDomChange` parameter.
|
|
29212
|
-
// Otherwise, the recently added options will render
|
|
29213
|
-
// at the top of the column and transition down
|
|
29214
|
-
this.onDomChange(true, false);
|
|
29215
|
-
this.colDidChange = false;
|
|
29216
|
-
}
|
|
29217
|
-
}
|
|
29218
|
-
disconnectedCallback() {
|
|
29219
|
-
if (this.rafId !== undefined)
|
|
29220
|
-
cancelAnimationFrame(this.rafId);
|
|
29221
|
-
if (this.tmrId)
|
|
29222
|
-
clearTimeout(this.tmrId);
|
|
29223
|
-
if (this.gesture) {
|
|
29224
|
-
this.gesture.destroy();
|
|
29225
|
-
this.gesture = undefined;
|
|
29226
|
-
}
|
|
29227
|
-
}
|
|
29228
|
-
emitColChange() {
|
|
29229
|
-
this.ionPickerColChange.emit(this.col);
|
|
29230
|
-
}
|
|
29231
|
-
setSelected(selectedIndex, duration) {
|
|
29232
|
-
// if there is a selected index, then figure out it's y position
|
|
29233
|
-
// if there isn't a selected index, then just use the top y position
|
|
29234
|
-
const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
|
|
29235
|
-
this.velocity = 0;
|
|
29236
|
-
// set what y position we're at
|
|
29237
|
-
if (this.rafId !== undefined)
|
|
29238
|
-
cancelAnimationFrame(this.rafId);
|
|
29239
|
-
this.update(y, duration, true);
|
|
29240
|
-
this.emitColChange();
|
|
29241
|
-
}
|
|
29242
|
-
update(y, duration, saveY) {
|
|
29243
|
-
if (!this.optsEl) {
|
|
29244
|
-
return;
|
|
29245
|
-
}
|
|
29246
|
-
// ensure we've got a good round number :)
|
|
29247
|
-
let translateY = 0;
|
|
29248
|
-
let translateZ = 0;
|
|
29249
|
-
const { col, rotateFactor } = this;
|
|
29250
|
-
const prevSelected = col.selectedIndex;
|
|
29251
|
-
const selectedIndex = (col.selectedIndex = this.indexForY(-y));
|
|
29252
|
-
const durationStr = duration === 0 ? '' : duration + 'ms';
|
|
29253
|
-
const scaleStr = `scale(${this.scaleFactor})`;
|
|
29254
|
-
const children = this.optsEl.children;
|
|
29255
|
-
for (let i = 0; i < children.length; i++) {
|
|
29256
|
-
const button = children[i];
|
|
29257
|
-
const opt = col.options[i];
|
|
29258
|
-
const optOffset = i * this.optHeight + y;
|
|
29259
|
-
let transform = '';
|
|
29260
|
-
if (rotateFactor !== 0) {
|
|
29261
|
-
const rotateX = optOffset * rotateFactor;
|
|
29262
|
-
if (Math.abs(rotateX) <= 90) {
|
|
29263
|
-
translateY = 0;
|
|
29264
|
-
translateZ = 90;
|
|
29265
|
-
transform = `rotateX(${rotateX}deg) `;
|
|
29266
|
-
}
|
|
29267
|
-
else {
|
|
29268
|
-
translateY = -9999;
|
|
29269
|
-
}
|
|
29270
|
-
}
|
|
29271
|
-
else {
|
|
29272
|
-
translateZ = 0;
|
|
29273
|
-
translateY = optOffset;
|
|
29274
|
-
}
|
|
29275
|
-
const selected = selectedIndex === i;
|
|
29276
|
-
transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
|
|
29277
|
-
if (this.scaleFactor !== 1 && !selected) {
|
|
29278
|
-
transform += scaleStr;
|
|
29279
|
-
}
|
|
29280
|
-
// Update transition duration
|
|
29281
|
-
if (this.noAnimate) {
|
|
29282
|
-
opt.duration = 0;
|
|
29283
|
-
button.style.transitionDuration = '';
|
|
29284
|
-
}
|
|
29285
|
-
else if (duration !== opt.duration) {
|
|
29286
|
-
opt.duration = duration;
|
|
29287
|
-
button.style.transitionDuration = durationStr;
|
|
29288
|
-
}
|
|
29289
|
-
// Update transform
|
|
29290
|
-
if (transform !== opt.transform) {
|
|
29291
|
-
opt.transform = transform;
|
|
29292
|
-
}
|
|
29293
|
-
button.style.transform = transform;
|
|
29294
|
-
/**
|
|
29295
|
-
* Ensure that the select column
|
|
29296
|
-
* item has the selected class
|
|
29297
|
-
*/
|
|
29298
|
-
opt.selected = selected;
|
|
29299
|
-
if (selected) {
|
|
29300
|
-
button.classList.add(PICKER_OPT_SELECTED);
|
|
29301
|
-
}
|
|
29302
|
-
else {
|
|
29303
|
-
button.classList.remove(PICKER_OPT_SELECTED);
|
|
29304
|
-
}
|
|
29305
|
-
}
|
|
29306
|
-
this.col.prevSelected = prevSelected;
|
|
29307
|
-
if (saveY) {
|
|
29308
|
-
this.y = y;
|
|
29309
|
-
}
|
|
29310
|
-
if (this.lastIndex !== selectedIndex) {
|
|
29311
|
-
// have not set a last index yet
|
|
29312
|
-
hapticSelectionChanged();
|
|
29313
|
-
this.lastIndex = selectedIndex;
|
|
29314
|
-
}
|
|
29315
|
-
}
|
|
29316
|
-
decelerate() {
|
|
29317
|
-
if (this.velocity !== 0) {
|
|
29318
|
-
// still decelerating
|
|
29319
|
-
this.velocity *= DECELERATION_FRICTION;
|
|
29320
|
-
// do not let it go slower than a velocity of 1
|
|
29321
|
-
this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
|
|
29322
|
-
let y = this.y + this.velocity;
|
|
29323
|
-
if (y > this.minY) {
|
|
29324
|
-
// whoops, it's trying to scroll up farther than the options we have!
|
|
29325
|
-
y = this.minY;
|
|
29326
|
-
this.velocity = 0;
|
|
29327
|
-
}
|
|
29328
|
-
else if (y < this.maxY) {
|
|
29329
|
-
// gahh, it's trying to scroll down farther than we can!
|
|
29330
|
-
y = this.maxY;
|
|
29331
|
-
this.velocity = 0;
|
|
29332
|
-
}
|
|
29333
|
-
this.update(y, 0, true);
|
|
29334
|
-
const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
|
|
29335
|
-
if (notLockedIn) {
|
|
29336
|
-
// isn't locked in yet, keep decelerating until it is
|
|
29337
|
-
this.rafId = requestAnimationFrame(() => this.decelerate());
|
|
29338
|
-
}
|
|
29339
|
-
else {
|
|
29340
|
-
this.velocity = 0;
|
|
29341
|
-
this.emitColChange();
|
|
29342
|
-
hapticSelectionEnd();
|
|
29343
|
-
}
|
|
29344
|
-
}
|
|
29345
|
-
else if (this.y % this.optHeight !== 0) {
|
|
29346
|
-
// needs to still get locked into a position so options line up
|
|
29347
|
-
const currentPos = Math.abs(this.y % this.optHeight);
|
|
29348
|
-
// create a velocity in the direction it needs to scroll
|
|
29349
|
-
this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
|
|
29350
|
-
this.decelerate();
|
|
29351
|
-
}
|
|
29352
|
-
}
|
|
29353
|
-
indexForY(y) {
|
|
29354
|
-
return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
|
|
29355
|
-
}
|
|
29356
|
-
onStart(detail) {
|
|
29357
|
-
// We have to prevent default in order to block scrolling under the picker
|
|
29358
|
-
// but we DO NOT have to stop propagation, since we still want
|
|
29359
|
-
// some "click" events to capture
|
|
29360
|
-
if (detail.event.cancelable) {
|
|
29361
|
-
detail.event.preventDefault();
|
|
29362
|
-
}
|
|
29363
|
-
detail.event.stopPropagation();
|
|
29364
|
-
hapticSelectionStart();
|
|
29365
|
-
// reset everything
|
|
29366
|
-
if (this.rafId !== undefined)
|
|
29367
|
-
cancelAnimationFrame(this.rafId);
|
|
29368
|
-
const options = this.col.options;
|
|
29369
|
-
let minY = options.length - 1;
|
|
29370
|
-
let maxY = 0;
|
|
29371
|
-
for (let i = 0; i < options.length; i++) {
|
|
29372
|
-
if (!options[i].disabled) {
|
|
29373
|
-
minY = Math.min(minY, i);
|
|
29374
|
-
maxY = Math.max(maxY, i);
|
|
29375
|
-
}
|
|
29376
|
-
}
|
|
29377
|
-
this.minY = -(minY * this.optHeight);
|
|
29378
|
-
this.maxY = -(maxY * this.optHeight);
|
|
29379
|
-
}
|
|
29380
|
-
onMove(detail) {
|
|
29381
|
-
if (detail.event.cancelable) {
|
|
29382
|
-
detail.event.preventDefault();
|
|
29383
|
-
}
|
|
29384
|
-
detail.event.stopPropagation();
|
|
29385
|
-
// update the scroll position relative to pointer start position
|
|
29386
|
-
let y = this.y + detail.deltaY;
|
|
29387
|
-
if (y > this.minY) {
|
|
29388
|
-
// scrolling up higher than scroll area
|
|
29389
|
-
y = Math.pow(y, 0.8);
|
|
29390
|
-
this.bounceFrom = y;
|
|
29391
|
-
}
|
|
29392
|
-
else if (y < this.maxY) {
|
|
29393
|
-
// scrolling down below scroll area
|
|
29394
|
-
y += Math.pow(this.maxY - y, 0.9);
|
|
29395
|
-
this.bounceFrom = y;
|
|
29396
|
-
}
|
|
29397
|
-
else {
|
|
29398
|
-
this.bounceFrom = 0;
|
|
29399
|
-
}
|
|
29400
|
-
this.update(y, 0, false);
|
|
29401
|
-
}
|
|
29402
|
-
onEnd(detail) {
|
|
29403
|
-
if (this.bounceFrom > 0) {
|
|
29404
|
-
// bounce back up
|
|
29405
|
-
this.update(this.minY, 100, true);
|
|
29406
|
-
this.emitColChange();
|
|
29407
|
-
return;
|
|
29408
|
-
}
|
|
29409
|
-
else if (this.bounceFrom < 0) {
|
|
29410
|
-
// bounce back down
|
|
29411
|
-
this.update(this.maxY, 100, true);
|
|
29412
|
-
this.emitColChange();
|
|
29413
|
-
return;
|
|
29414
|
-
}
|
|
29415
|
-
this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
|
|
29416
|
-
if (this.velocity === 0 && detail.deltaY === 0) {
|
|
29417
|
-
const opt = detail.event.target.closest('.picker-opt');
|
|
29418
|
-
if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
|
|
29419
|
-
this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
|
|
29420
|
-
}
|
|
29421
|
-
}
|
|
29422
|
-
else {
|
|
29423
|
-
this.y += detail.deltaY;
|
|
29424
|
-
if (Math.abs(detail.velocityY) < 0.05) {
|
|
29425
|
-
const isScrollingUp = detail.deltaY > 0;
|
|
29426
|
-
const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
|
|
29427
|
-
if (isScrollingUp && optHeightFraction > 0.5) {
|
|
29428
|
-
this.velocity = Math.abs(this.velocity) * -1;
|
|
29429
|
-
}
|
|
29430
|
-
else if (!isScrollingUp && optHeightFraction <= 0.5) {
|
|
29431
|
-
this.velocity = Math.abs(this.velocity);
|
|
29432
|
-
}
|
|
29433
|
-
}
|
|
29434
|
-
this.decelerate();
|
|
29435
|
-
}
|
|
29436
|
-
}
|
|
29437
|
-
refresh(forceRefresh, animated) {
|
|
29438
|
-
var _a;
|
|
29439
|
-
let min = this.col.options.length - 1;
|
|
29440
|
-
let max = 0;
|
|
29441
|
-
const options = this.col.options;
|
|
29442
|
-
for (let i = 0; i < options.length; i++) {
|
|
29443
|
-
if (!options[i].disabled) {
|
|
29444
|
-
min = Math.min(min, i);
|
|
29445
|
-
max = Math.max(max, i);
|
|
29446
|
-
}
|
|
29447
|
-
}
|
|
29448
|
-
/**
|
|
29449
|
-
* Only update selected value if column has a
|
|
29450
|
-
* velocity of 0. If it does not, then the
|
|
29451
|
-
* column is animating might land on
|
|
29452
|
-
* a value different than the value at
|
|
29453
|
-
* selectedIndex
|
|
29454
|
-
*/
|
|
29455
|
-
if (this.velocity !== 0) {
|
|
29456
|
-
return;
|
|
29457
|
-
}
|
|
29458
|
-
const selectedIndex = clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
|
|
29459
|
-
if (this.col.prevSelected !== selectedIndex || forceRefresh) {
|
|
29460
|
-
const y = selectedIndex * this.optHeight * -1;
|
|
29461
|
-
const duration = animated ? TRANSITION_DURATION : 0;
|
|
29462
|
-
this.velocity = 0;
|
|
29463
|
-
this.update(y, duration, true);
|
|
29464
|
-
}
|
|
29465
|
-
}
|
|
29466
|
-
onDomChange(forceRefresh, animated) {
|
|
29467
|
-
const colEl = this.optsEl;
|
|
29468
|
-
if (colEl) {
|
|
29469
|
-
// DOM READ
|
|
29470
|
-
// We perfom a DOM read over a rendered item, this needs to happen after the first render or after the column has changed
|
|
29471
|
-
this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
|
|
29472
|
-
}
|
|
29473
|
-
this.refresh(forceRefresh, animated);
|
|
29474
|
-
}
|
|
29475
|
-
render() {
|
|
29476
|
-
const col = this.col;
|
|
29477
|
-
const mode = getIonMode$1(this);
|
|
29478
|
-
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: {
|
|
29479
|
-
'max-width': this.col.columnWidth,
|
|
29480
|
-
} }, 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))));
|
|
29481
|
-
}
|
|
29482
|
-
get el() { return getElement(this); }
|
|
29483
|
-
static get watchers() { return {
|
|
29484
|
-
"col": [{
|
|
29485
|
-
"colChanged": 0
|
|
29486
|
-
}]
|
|
29487
|
-
}; }
|
|
29488
|
-
static get style() { return {
|
|
29489
|
-
ios: pickerColumnIosCss(),
|
|
29490
|
-
md: pickerColumnMdCss()
|
|
29491
|
-
}; }
|
|
29492
|
-
static get cmpMeta() { return {
|
|
29493
|
-
"$flags$": 32,
|
|
29494
|
-
"$tagName$": "ion-picker-legacy-column",
|
|
29495
|
-
"$members$": {
|
|
29496
|
-
"col": [16]
|
|
29497
|
-
},
|
|
29498
|
-
"$listeners$": undefined,
|
|
29499
|
-
"$lazyBundleId$": "-",
|
|
29500
|
-
"$attrsToReflect$": []
|
|
29501
|
-
}; }
|
|
29502
|
-
}
|
|
29503
|
-
const PICKER_OPT_SELECTED = 'picker-opt-selected';
|
|
29504
|
-
const DECELERATION_FRICTION = 0.97;
|
|
29505
|
-
const MAX_PICKER_SPEED = 90;
|
|
29506
|
-
const TRANSITION_DURATION = 150;
|
|
29507
|
-
|
|
29508
28874
|
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}`;
|
|
29509
28875
|
|
|
29510
28876
|
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)}`;
|
|
@@ -30926,6 +30292,10 @@ class Popover {
|
|
|
30926
30292
|
this.headerResizeObserver.disconnect();
|
|
30927
30293
|
this.headerResizeObserver = undefined;
|
|
30928
30294
|
}
|
|
30295
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
30296
|
+
if (this.presented) {
|
|
30297
|
+
cleanupRootFocusTrapAccessibility();
|
|
30298
|
+
}
|
|
30929
30299
|
}
|
|
30930
30300
|
componentWillLoad() {
|
|
30931
30301
|
var _a, _b;
|
|
@@ -31164,9 +30534,9 @@ class Popover {
|
|
|
31164
30534
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
31165
30535
|
const desktop = isPlatform('desktop');
|
|
31166
30536
|
const enableArrow = arrow && !parentPopover;
|
|
31167
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30537
|
+
return (hAsync(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
31168
30538
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
31169
|
-
}, 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: '
|
|
30539
|
+
}, 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' })))));
|
|
31170
30540
|
}
|
|
31171
30541
|
get el() { return getElement(this); }
|
|
31172
30542
|
static get watchers() { return {
|
|
@@ -31277,7 +30647,7 @@ class ProgressBar {
|
|
|
31277
30647
|
const mode = getIonMode$1(this);
|
|
31278
30648
|
// If the progress is displayed as a solid bar.
|
|
31279
30649
|
const progressSolid = buffer === 1;
|
|
31280
|
-
return (hAsync(Host, { key: '
|
|
30650
|
+
return (hAsync(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
31281
30651
|
[mode]: true,
|
|
31282
30652
|
[`progress-bar-${type}`]: true,
|
|
31283
30653
|
'progress-paused': paused,
|
|
@@ -31462,7 +30832,7 @@ class Radio {
|
|
|
31462
30832
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
31463
30833
|
const mode = getIonMode$1(this);
|
|
31464
30834
|
const inItem = hostContext('ion-item', el);
|
|
31465
|
-
return (hAsync(Host, { key: '
|
|
30835
|
+
return (hAsync(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
31466
30836
|
[mode]: true,
|
|
31467
30837
|
'in-item': inItem,
|
|
31468
30838
|
'radio-checked': checked,
|
|
@@ -31473,10 +30843,10 @@ class Radio {
|
|
|
31473
30843
|
// Focus and active styling should not apply when the radio is in an item
|
|
31474
30844
|
'ion-activatable': !inItem,
|
|
31475
30845
|
'ion-focusable': !inItem,
|
|
31476
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
30846
|
+
}), 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: {
|
|
31477
30847
|
'label-text-wrapper': true,
|
|
31478
30848
|
'label-text-wrapper-hidden': !hasLabel,
|
|
31479
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
30849
|
+
}, part: "label" }, hAsync("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), hAsync("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
31480
30850
|
}
|
|
31481
30851
|
get el() { return getElement(this); }
|
|
31482
30852
|
static get watchers() { return {
|
|
@@ -31495,7 +30865,7 @@ class Radio {
|
|
|
31495
30865
|
"color": [513],
|
|
31496
30866
|
"name": [1],
|
|
31497
30867
|
"disabled": [4],
|
|
31498
|
-
"value": [
|
|
30868
|
+
"value": [520],
|
|
31499
30869
|
"labelPlacement": [1, "label-placement"],
|
|
31500
30870
|
"justify": [1],
|
|
31501
30871
|
"alignment": [1],
|
|
@@ -31506,7 +30876,7 @@ class Radio {
|
|
|
31506
30876
|
},
|
|
31507
30877
|
"$listeners$": undefined,
|
|
31508
30878
|
"$lazyBundleId$": "-",
|
|
31509
|
-
"$attrsToReflect$": [["color", "color"]]
|
|
30879
|
+
"$attrsToReflect$": [["color", "color"], ["value", "value"]]
|
|
31510
30880
|
}; }
|
|
31511
30881
|
}
|
|
31512
30882
|
let radioButtonIds = 0;
|
|
@@ -32571,7 +31941,7 @@ class Range {
|
|
|
32571
31941
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
32572
31942
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
32573
31943
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
32574
|
-
return (hAsync(Host, { key: '
|
|
31944
|
+
return (hAsync(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
32575
31945
|
[mode]: true,
|
|
32576
31946
|
'in-item': inItem,
|
|
32577
31947
|
'range-disabled': disabled,
|
|
@@ -32585,10 +31955,10 @@ class Range {
|
|
|
32585
31955
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
32586
31956
|
'range-value-min': valueAtMin,
|
|
32587
31957
|
'range-value-max': valueAtMax,
|
|
32588
|
-
}) }, hAsync("label", { key: '
|
|
31958
|
+
}) }, hAsync("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
|
|
32589
31959
|
'label-text-wrapper': true,
|
|
32590
31960
|
'label-text-wrapper-hidden': !hasLabel,
|
|
32591
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
31961
|
+
}, 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" })))));
|
|
32592
31962
|
}
|
|
32593
31963
|
get el() { return getElement(this); }
|
|
32594
31964
|
static get watchers() { return {
|
|
@@ -33659,7 +33029,7 @@ class Refresher {
|
|
|
33659
33029
|
}
|
|
33660
33030
|
render() {
|
|
33661
33031
|
const mode = getIonMode$1(this);
|
|
33662
|
-
return (hAsync(Host, { key: '
|
|
33032
|
+
return (hAsync(Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
|
|
33663
33033
|
[mode]: true,
|
|
33664
33034
|
// Used internally for styling
|
|
33665
33035
|
[`refresher-${mode}`]: true,
|
|
@@ -33885,7 +33255,7 @@ class RefresherContent {
|
|
|
33885
33255
|
const pullingIcon = this.pullingIcon;
|
|
33886
33256
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
33887
33257
|
const mode = getIonMode$1(this);
|
|
33888
|
-
return (hAsync(Host, { key: '
|
|
33258
|
+
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())));
|
|
33889
33259
|
}
|
|
33890
33260
|
get el() { return getElement(this); }
|
|
33891
33261
|
static get cmpMeta() { return {
|
|
@@ -33926,7 +33296,7 @@ class Reorder {
|
|
|
33926
33296
|
render() {
|
|
33927
33297
|
const mode = getIonMode$1(this);
|
|
33928
33298
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
33929
|
-
return (hAsync(Host, { key: '
|
|
33299
|
+
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" }))));
|
|
33930
33300
|
}
|
|
33931
33301
|
get el() { return getElement(this); }
|
|
33932
33302
|
static get style() { return {
|
|
@@ -34197,7 +33567,7 @@ class ReorderGroup {
|
|
|
34197
33567
|
}
|
|
34198
33568
|
render() {
|
|
34199
33569
|
const mode = getIonMode$1(this);
|
|
34200
|
-
return (hAsync(Host, { key: '
|
|
33570
|
+
return (hAsync(Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
|
|
34201
33571
|
[mode]: true,
|
|
34202
33572
|
'reorder-enabled': !this.disabled,
|
|
34203
33573
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -34315,7 +33685,7 @@ class RippleEffect {
|
|
|
34315
33685
|
}
|
|
34316
33686
|
render() {
|
|
34317
33687
|
const mode = getIonMode$1(this);
|
|
34318
|
-
return (hAsync(Host, { key: '
|
|
33688
|
+
return (hAsync(Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
|
|
34319
33689
|
[mode]: true,
|
|
34320
33690
|
unbounded: this.unbounded,
|
|
34321
33691
|
} }));
|
|
@@ -35449,10 +34819,10 @@ class RouterLink {
|
|
|
35449
34819
|
rel: this.rel,
|
|
35450
34820
|
target: this.target,
|
|
35451
34821
|
};
|
|
35452
|
-
return (hAsync(Host, { key: '
|
|
34822
|
+
return (hAsync(Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
35453
34823
|
[mode]: true,
|
|
35454
34824
|
'ion-activatable': true,
|
|
35455
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
34825
|
+
}) }, hAsync("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), hAsync("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
|
|
35456
34826
|
}
|
|
35457
34827
|
static get style() { return routerLinkCss(); }
|
|
35458
34828
|
static get cmpMeta() { return {
|
|
@@ -35491,10 +34861,11 @@ class RouterOutlet {
|
|
|
35491
34861
|
*/
|
|
35492
34862
|
this.animated = true;
|
|
35493
34863
|
}
|
|
34864
|
+
swipeGestureChanged() {
|
|
34865
|
+
this.updateGestureEnabled();
|
|
34866
|
+
}
|
|
35494
34867
|
swipeHandlerChanged() {
|
|
35495
|
-
|
|
35496
|
-
this.gesture.enable(this.swipeHandler !== undefined);
|
|
35497
|
-
}
|
|
34868
|
+
this.updateGestureEnabled();
|
|
35498
34869
|
}
|
|
35499
34870
|
async connectedCallback() {
|
|
35500
34871
|
const onStart = () => {
|
|
@@ -35534,11 +34905,21 @@ class RouterOutlet {
|
|
|
35534
34905
|
this.gestureOrAnimationInProgress = false;
|
|
35535
34906
|
}
|
|
35536
34907
|
});
|
|
35537
|
-
this.
|
|
34908
|
+
if (this.swipeGesture === undefined) {
|
|
34909
|
+
this.swipeGesture = config.getBoolean('swipeBackEnabled', this.mode === 'ios');
|
|
34910
|
+
}
|
|
34911
|
+
else {
|
|
34912
|
+
this.updateGestureEnabled();
|
|
34913
|
+
}
|
|
35538
34914
|
}
|
|
35539
34915
|
componentWillLoad() {
|
|
35540
34916
|
this.ionNavWillLoad.emit();
|
|
35541
34917
|
}
|
|
34918
|
+
updateGestureEnabled() {
|
|
34919
|
+
if (this.gesture) {
|
|
34920
|
+
this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
|
|
34921
|
+
}
|
|
34922
|
+
}
|
|
35542
34923
|
disconnectedCallback() {
|
|
35543
34924
|
if (this.gesture) {
|
|
35544
34925
|
this.gesture.destroy();
|
|
@@ -35649,10 +35030,13 @@ class RouterOutlet {
|
|
|
35649
35030
|
return true;
|
|
35650
35031
|
}
|
|
35651
35032
|
render() {
|
|
35652
|
-
return hAsync("slot", { key: '
|
|
35033
|
+
return hAsync("slot", { key: 'ce09e6fbba7b0a2276cdde5245bb37c9a162c1c7' });
|
|
35653
35034
|
}
|
|
35654
35035
|
get el() { return getElement(this); }
|
|
35655
35036
|
static get watchers() { return {
|
|
35037
|
+
"swipeGesture": [{
|
|
35038
|
+
"swipeGestureChanged": 0
|
|
35039
|
+
}],
|
|
35656
35040
|
"swipeHandler": [{
|
|
35657
35041
|
"swipeHandlerChanged": 0
|
|
35658
35042
|
}]
|
|
@@ -35666,6 +35050,7 @@ class RouterOutlet {
|
|
|
35666
35050
|
"delegate": [16],
|
|
35667
35051
|
"animated": [4],
|
|
35668
35052
|
"animation": [16],
|
|
35053
|
+
"swipeGesture": [1028, "swipe-gesture"],
|
|
35669
35054
|
"swipeHandler": [16],
|
|
35670
35055
|
"commit": [64],
|
|
35671
35056
|
"setRouteId": [64],
|
|
@@ -35684,7 +35069,7 @@ class Row {
|
|
|
35684
35069
|
registerInstance(this, hostRef);
|
|
35685
35070
|
}
|
|
35686
35071
|
render() {
|
|
35687
|
-
return (hAsync(Host, { key: '
|
|
35072
|
+
return (hAsync(Host, { key: 'a9066661fff12baaf3e80b2e8c08591af72fe5b8', class: getIonMode$1(this) }, hAsync("slot", { key: '62b103af46d3a5ec9c146019ae300b68a4ae867a' })));
|
|
35688
35073
|
}
|
|
35689
35074
|
static get style() { return rowCss(); }
|
|
35690
35075
|
static get cmpMeta() { return {
|
|
@@ -35736,7 +35121,7 @@ class Searchbar {
|
|
|
35736
35121
|
/**
|
|
35737
35122
|
* Set the input's autocorrect property.
|
|
35738
35123
|
*/
|
|
35739
|
-
this.autocorrect =
|
|
35124
|
+
this.autocorrect = false;
|
|
35740
35125
|
/**
|
|
35741
35126
|
* Set the cancel button icon. Only applies to `md` mode.
|
|
35742
35127
|
* Defaults to `arrow-back-sharp`.
|
|
@@ -36136,8 +35521,8 @@ class Searchbar {
|
|
|
36136
35521
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
36137
35522
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
36138
35523
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
36139
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
36140
|
-
return (hAsync(Host, { key: '
|
|
35524
|
+
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))));
|
|
35525
|
+
return (hAsync(Host, { key: 'd898b9f9768ec7119a3ad4be8350d8a3cfb32ba6', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
36141
35526
|
[mode]: true,
|
|
36142
35527
|
'searchbar-animated': animated,
|
|
36143
35528
|
'searchbar-disabled': this.disabled,
|
|
@@ -36147,14 +35532,14 @@ class Searchbar {
|
|
|
36147
35532
|
'searchbar-has-focus': this.focused,
|
|
36148
35533
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
36149
35534
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
36150
|
-
}) }, hAsync("div", { key: '
|
|
35535
|
+
}) }, 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) => {
|
|
36151
35536
|
/**
|
|
36152
35537
|
* This prevents mobile browsers from
|
|
36153
35538
|
* blurring the input when the clear
|
|
36154
35539
|
* button is activated.
|
|
36155
35540
|
*/
|
|
36156
35541
|
ev.preventDefault();
|
|
36157
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
35542
|
+
}, 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));
|
|
36158
35543
|
}
|
|
36159
35544
|
get el() { return getElement(this); }
|
|
36160
35545
|
static get watchers() { return {
|
|
@@ -36186,7 +35571,7 @@ class Searchbar {
|
|
|
36186
35571
|
"animated": [4],
|
|
36187
35572
|
"autocapitalize": [1],
|
|
36188
35573
|
"autocomplete": [1],
|
|
36189
|
-
"autocorrect": [
|
|
35574
|
+
"autocorrect": [4],
|
|
36190
35575
|
"cancelButtonIcon": [1, "cancel-button-icon"],
|
|
36191
35576
|
"cancelButtonText": [1, "cancel-button-text"],
|
|
36192
35577
|
"clearIcon": [1, "clear-icon"],
|
|
@@ -36763,14 +36148,14 @@ class Segment {
|
|
|
36763
36148
|
}
|
|
36764
36149
|
render() {
|
|
36765
36150
|
const mode = getIonMode$1(this);
|
|
36766
|
-
return (hAsync(Host, { key: '
|
|
36151
|
+
return (hAsync(Host, { key: 'bb626072e73f09c3433e1a769e09789a00822d8f', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
36767
36152
|
[mode]: true,
|
|
36768
36153
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
36769
36154
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
36770
36155
|
'segment-activated': this.activated,
|
|
36771
36156
|
'segment-disabled': this.disabled,
|
|
36772
36157
|
'segment-scrollable': this.scrollable,
|
|
36773
|
-
}) }, hAsync("slot", { key: '
|
|
36158
|
+
}) }, hAsync("slot", { key: '652d5037c2c2dee4d47a5710b1d150e691202d25', onSlotchange: this.onSlottedItemsChange })));
|
|
36774
36159
|
}
|
|
36775
36160
|
get el() { return getElement(this); }
|
|
36776
36161
|
static get watchers() { return {
|
|
@@ -36918,7 +36303,7 @@ class SegmentButton {
|
|
|
36918
36303
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
36919
36304
|
const mode = getIonMode$1(this);
|
|
36920
36305
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
36921
|
-
return (hAsync(Host, { key: '
|
|
36306
|
+
return (hAsync(Host, { key: '792f621c36260b1fceff2b4ec4fa95d98d51d46b', class: {
|
|
36922
36307
|
[mode]: true,
|
|
36923
36308
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
36924
36309
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -36934,7 +36319,7 @@ class SegmentButton {
|
|
|
36934
36319
|
'ion-activatable': true,
|
|
36935
36320
|
'ion-activatable-instant': true,
|
|
36936
36321
|
'ion-focusable': true,
|
|
36937
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
36322
|
+
} }, 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" }))));
|
|
36938
36323
|
}
|
|
36939
36324
|
get el() { return getElement(this); }
|
|
36940
36325
|
static get watchers() { return {
|
|
@@ -36971,7 +36356,7 @@ class SegmentContent {
|
|
|
36971
36356
|
registerInstance(this, hostRef);
|
|
36972
36357
|
}
|
|
36973
36358
|
render() {
|
|
36974
|
-
return (hAsync(Host, { key: '
|
|
36359
|
+
return (hAsync(Host, { key: 'ef39f29c444177c3b083cd35680ba891e4bb6a2a' }, hAsync("slot", { key: '51f9dd9ca084ddd928b376aa9d716509669c32b2' })));
|
|
36975
36360
|
}
|
|
36976
36361
|
static get style() { return segmentContentCss(); }
|
|
36977
36362
|
static get cmpMeta() { return {
|
|
@@ -37090,11 +36475,11 @@ class SegmentView {
|
|
|
37090
36475
|
}
|
|
37091
36476
|
render() {
|
|
37092
36477
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
37093
|
-
return (hAsync(Host, { key: '
|
|
36478
|
+
return (hAsync(Host, { key: 'a6c6ac0232c4bb6f2a954b3de7993019d71f423a', class: {
|
|
37094
36479
|
'segment-view-disabled': disabled,
|
|
37095
36480
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
37096
36481
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
37097
|
-
} }, hAsync("slot", { key: '
|
|
36482
|
+
} }, hAsync("slot", { key: '386305be2a75069c79def12005d9f6b49276763f' })));
|
|
37098
36483
|
}
|
|
37099
36484
|
get el() { return getElement(this); }
|
|
37100
36485
|
static get style() { return {
|
|
@@ -37278,9 +36663,40 @@ class Select {
|
|
|
37278
36663
|
this.emitStyle();
|
|
37279
36664
|
}
|
|
37280
36665
|
setValue(value) {
|
|
36666
|
+
if (this.isValueEqual(this.value, value)) {
|
|
36667
|
+
return;
|
|
36668
|
+
}
|
|
37281
36669
|
this.value = value;
|
|
37282
36670
|
this.ionChange.emit({ value });
|
|
37283
36671
|
}
|
|
36672
|
+
isValueEqual(currentValue, newValue) {
|
|
36673
|
+
if (this.multiple) {
|
|
36674
|
+
const currentArr = Array.isArray(currentValue) ? currentValue : [];
|
|
36675
|
+
const newArr = Array.isArray(newValue) ? newValue : [];
|
|
36676
|
+
if (currentArr.length !== newArr.length) {
|
|
36677
|
+
return false;
|
|
36678
|
+
}
|
|
36679
|
+
// Multiset compare: each new value must match a distinct current value.
|
|
36680
|
+
// A plain `every(isOptionSelected)` would accept ['a','a'] as equal to
|
|
36681
|
+
// ['a','b'] when both 'a' and 'b' map to options whose values overlap.
|
|
36682
|
+
const remaining = currentArr.slice();
|
|
36683
|
+
return newArr.every((val) => {
|
|
36684
|
+
const idx = remaining.findIndex((c) => compareOptions(c, val, this.compareWith));
|
|
36685
|
+
if (idx === -1) {
|
|
36686
|
+
return false;
|
|
36687
|
+
}
|
|
36688
|
+
remaining.splice(idx, 1);
|
|
36689
|
+
return true;
|
|
36690
|
+
});
|
|
36691
|
+
}
|
|
36692
|
+
if (currentValue == null && newValue == null) {
|
|
36693
|
+
return true;
|
|
36694
|
+
}
|
|
36695
|
+
if (currentValue == null || newValue == null) {
|
|
36696
|
+
return false;
|
|
36697
|
+
}
|
|
36698
|
+
return compareOptions(currentValue, newValue, this.compareWith);
|
|
36699
|
+
}
|
|
37284
36700
|
async connectedCallback() {
|
|
37285
36701
|
const { el } = this;
|
|
37286
36702
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
@@ -37866,7 +37282,7 @@ class Select {
|
|
|
37866
37282
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
37867
37283
|
*/
|
|
37868
37284
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
37869
|
-
return (hAsync(Host, { key: '
|
|
37285
|
+
return (hAsync(Host, { key: '2c141ef1b6983b464118e8ed192739dfca9d095a', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37870
37286
|
[mode]: true,
|
|
37871
37287
|
'in-item': inItem,
|
|
37872
37288
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -37884,7 +37300,7 @@ class Select {
|
|
|
37884
37300
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
37885
37301
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
37886
37302
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
37887
|
-
}) }, hAsync("label", { key: '
|
|
37303
|
+
}) }, 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()));
|
|
37888
37304
|
}
|
|
37889
37305
|
get el() { return getElement(this); }
|
|
37890
37306
|
static get watchers() { return {
|
|
@@ -38068,7 +37484,7 @@ class SelectModal {
|
|
|
38068
37484
|
} }, option.text))));
|
|
38069
37485
|
}
|
|
38070
37486
|
render() {
|
|
38071
|
-
return (hAsync(Host, { key: '
|
|
37487
|
+
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()))));
|
|
38072
37488
|
}
|
|
38073
37489
|
get el() { return getElement(this); }
|
|
38074
37490
|
static get style() { return {
|
|
@@ -38103,7 +37519,7 @@ class SelectOption {
|
|
|
38103
37519
|
this.disabled = false;
|
|
38104
37520
|
}
|
|
38105
37521
|
render() {
|
|
38106
|
-
return hAsync(Host, { key: '
|
|
37522
|
+
return hAsync(Host, { key: '1fc1737fbb29dcb62638149b21620cbdf2f00dbc', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
38107
37523
|
}
|
|
38108
37524
|
get el() { return getElement(this); }
|
|
38109
37525
|
static get style() { return selectOptionCss(); }
|
|
@@ -38231,7 +37647,7 @@ class SelectPopover {
|
|
|
38231
37647
|
render() {
|
|
38232
37648
|
const { header, message, options, subHeader } = this;
|
|
38233
37649
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
38234
|
-
return (hAsync(Host, { key: '
|
|
37650
|
+
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))));
|
|
38235
37651
|
}
|
|
38236
37652
|
get el() { return getElement(this); }
|
|
38237
37653
|
static get style() { return {
|
|
@@ -38281,11 +37697,11 @@ class SkeletonText {
|
|
|
38281
37697
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
38282
37698
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
38283
37699
|
const mode = getIonMode$1(this);
|
|
38284
|
-
return (hAsync(Host, { key: '
|
|
37700
|
+
return (hAsync(Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
|
|
38285
37701
|
[mode]: true,
|
|
38286
37702
|
'skeleton-text-animated': animated,
|
|
38287
37703
|
'in-media': inMedia,
|
|
38288
|
-
} }, hAsync("span", { key: '
|
|
37704
|
+
} }, hAsync("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
|
|
38289
37705
|
}
|
|
38290
37706
|
get el() { return getElement(this); }
|
|
38291
37707
|
static get style() { return skeletonTextCss(); }
|
|
@@ -38337,7 +37753,7 @@ class Spinner {
|
|
|
38337
37753
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
38338
37754
|
}
|
|
38339
37755
|
}
|
|
38340
|
-
return (hAsync(Host, { key: '
|
|
37756
|
+
return (hAsync(Host, { key: 'c35ebd01186e860acb9cac260193f0836424fdf4', class: createColorClasses$1(self.color, {
|
|
38341
37757
|
[mode]: true,
|
|
38342
37758
|
[`spinner-${spinnerName}`]: true,
|
|
38343
37759
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -38436,12 +37852,12 @@ class SplitPane {
|
|
|
38436
37852
|
}
|
|
38437
37853
|
render() {
|
|
38438
37854
|
const mode = getIonMode$1(this);
|
|
38439
|
-
return (hAsync(Host, { key: '
|
|
37855
|
+
return (hAsync(Host, { key: '694e989fafcfe2453e0a83b3cb736efaa1eb4fec', class: {
|
|
38440
37856
|
[mode]: true,
|
|
38441
37857
|
// Used internally for styling
|
|
38442
37858
|
[`split-pane-${mode}`]: true,
|
|
38443
37859
|
'split-pane-visible': this.visible,
|
|
38444
|
-
} }, hAsync("slot", { key: '
|
|
37860
|
+
} }, hAsync("slot", { key: 'dde7e9382b62cc11971aa233cf98c2314ae4f720' })));
|
|
38445
37861
|
}
|
|
38446
37862
|
get el() { return getElement(this); }
|
|
38447
37863
|
static get watchers() { return {
|
|
@@ -38513,10 +37929,10 @@ class Tab {
|
|
|
38513
37929
|
}
|
|
38514
37930
|
render() {
|
|
38515
37931
|
const { tab, active, component } = this;
|
|
38516
|
-
return (hAsync(Host, { key: '
|
|
37932
|
+
return (hAsync(Host, { key: '745262368a7f45244da459f4fa1730a46dd3e257', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
38517
37933
|
'ion-page': component === undefined,
|
|
38518
37934
|
'tab-hidden': !active,
|
|
38519
|
-
} }, hAsync("slot", { key: '
|
|
37935
|
+
} }, hAsync("slot", { key: '823d09a6f93bf7c0dc74f2b8717d1d3a62df1ad8' })));
|
|
38520
37936
|
}
|
|
38521
37937
|
get el() { return getElement(this); }
|
|
38522
37938
|
static get watchers() { return {
|
|
@@ -38630,11 +38046,11 @@ class TabBar {
|
|
|
38630
38046
|
const { color, translucent, keyboardVisible } = this;
|
|
38631
38047
|
const mode = getIonMode$1(this);
|
|
38632
38048
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
38633
|
-
return (hAsync(Host, { key: '
|
|
38049
|
+
return (hAsync(Host, { key: '148f65df0818e9d220a9b46db74cb89ab94e62d2', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
38634
38050
|
[mode]: true,
|
|
38635
38051
|
'tab-bar-translucent': translucent,
|
|
38636
38052
|
'tab-bar-hidden': shouldHide,
|
|
38637
|
-
}) }, hAsync("slot", { key: '
|
|
38053
|
+
}) }, hAsync("slot", { key: 'a64e235f3703662e2dd7a834f752cc5b1490adbc' })));
|
|
38638
38054
|
}
|
|
38639
38055
|
get el() { return getElement(this); }
|
|
38640
38056
|
static get watchers() { return {
|
|
@@ -38732,7 +38148,7 @@ class TabButton {
|
|
|
38732
38148
|
rel,
|
|
38733
38149
|
target,
|
|
38734
38150
|
};
|
|
38735
|
-
return (hAsync(Host, { key: '
|
|
38151
|
+
return (hAsync(Host, { key: '1034b5a928ecec49bd8efec3730ea1b11a579cf3', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
38736
38152
|
[mode]: true,
|
|
38737
38153
|
'tab-selected': selected,
|
|
38738
38154
|
'tab-disabled': disabled,
|
|
@@ -38744,7 +38160,7 @@ class TabButton {
|
|
|
38744
38160
|
'ion-activatable': true,
|
|
38745
38161
|
'ion-selectable': true,
|
|
38746
38162
|
'ion-focusable': true,
|
|
38747
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
38163
|
+
} }, 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" }))));
|
|
38748
38164
|
}
|
|
38749
38165
|
get el() { return getElement(this); }
|
|
38750
38166
|
static get style() { return {
|
|
@@ -38935,7 +38351,7 @@ class Tabs {
|
|
|
38935
38351
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
38936
38352
|
}
|
|
38937
38353
|
render() {
|
|
38938
|
-
return (hAsync(Host, { key: '
|
|
38354
|
+
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" })));
|
|
38939
38355
|
}
|
|
38940
38356
|
get el() { return getElement(this); }
|
|
38941
38357
|
static get style() { return tabsCss(); }
|
|
@@ -38975,9 +38391,9 @@ class Text {
|
|
|
38975
38391
|
}
|
|
38976
38392
|
render() {
|
|
38977
38393
|
const mode = getIonMode$1(this);
|
|
38978
|
-
return (hAsync(Host, { key: '
|
|
38394
|
+
return (hAsync(Host, { key: '41ed8da617ed0e07bbfe96e32a000e1c6503e24e', class: createColorClasses$1(this.color, {
|
|
38979
38395
|
[mode]: true,
|
|
38980
|
-
}) }, hAsync("slot", { key: '
|
|
38396
|
+
}) }, hAsync("slot", { key: 'db8de04a2493537b3037f276b03abd92dfa56847' })));
|
|
38981
38397
|
}
|
|
38982
38398
|
static get style() { return textCss(); }
|
|
38983
38399
|
static get cmpMeta() { return {
|
|
@@ -39438,7 +38854,7 @@ class Textarea {
|
|
|
39438
38854
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
39439
38855
|
*/
|
|
39440
38856
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
39441
|
-
return (hAsync(Host, { key: '
|
|
38857
|
+
return (hAsync(Host, { key: 'eca1dfed53189408f614661ef3902cdb73d5f5de', class: createColorClasses$1(this.color, {
|
|
39442
38858
|
[mode]: true,
|
|
39443
38859
|
'has-value': hasValue,
|
|
39444
38860
|
'has-focus': hasFocus,
|
|
@@ -39447,7 +38863,7 @@ class Textarea {
|
|
|
39447
38863
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
39448
38864
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
39449
38865
|
'textarea-disabled': disabled,
|
|
39450
|
-
}) }, hAsync("label", { key: '
|
|
38866
|
+
}) }, 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()));
|
|
39451
38867
|
}
|
|
39452
38868
|
get el() { return getElement(this); }
|
|
39453
38869
|
static get watchers() { return {
|
|
@@ -39516,7 +38932,7 @@ class Thumbnail {
|
|
|
39516
38932
|
registerInstance(this, hostRef);
|
|
39517
38933
|
}
|
|
39518
38934
|
render() {
|
|
39519
|
-
return (hAsync(Host, { key: '
|
|
38935
|
+
return (hAsync(Host, { key: '833e947c683b482a78f8f0df8c9a68e99478bbaa', class: getIonMode$1(this) }, hAsync("slot", { key: '6d1e9e686db88d91379f14121058dbf035d8ded2' })));
|
|
39520
38936
|
}
|
|
39521
38937
|
static get style() { return thumbnailCss(); }
|
|
39522
38938
|
static get cmpMeta() { return {
|
|
@@ -40376,9 +39792,9 @@ class Toast {
|
|
|
40376
39792
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
40377
39793
|
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);
|
|
40378
39794
|
}
|
|
40379
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
39795
|
+
return (hAsync(Host, Object.assign({ key: '2acb2cd2e12ea0082986495929e4a596d4da2f38', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
40380
39796
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
40381
|
-
}, 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: '
|
|
39797
|
+
}, 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')))));
|
|
40382
39798
|
}
|
|
40383
39799
|
get el() { return getElement(this); }
|
|
40384
39800
|
static get watchers() { return {
|
|
@@ -40696,7 +40112,7 @@ class Toggle {
|
|
|
40696
40112
|
const value = this.getValue();
|
|
40697
40113
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
40698
40114
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
40699
|
-
return (hAsync(Host, { key: '
|
|
40115
|
+
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, {
|
|
40700
40116
|
[mode]: true,
|
|
40701
40117
|
'in-item': hostContext('ion-item', el),
|
|
40702
40118
|
'toggle-activated': activated,
|
|
@@ -40706,10 +40122,10 @@ class Toggle {
|
|
|
40706
40122
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
40707
40123
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
40708
40124
|
[`toggle-${rtl}`]: true,
|
|
40709
|
-
}) }, hAsync("label", { key: '
|
|
40125
|
+
}) }, 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: {
|
|
40710
40126
|
'label-text-wrapper': true,
|
|
40711
40127
|
'label-text-wrapper-hidden': !hasLabel,
|
|
40712
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
40128
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'c480b96a0ddd926568f73291d71253d6f74438c7' }), this.renderHintText()), hAsync("div", { key: '96a2cbd1673e051a78f8b2b16535ecd3f0ed4339', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
40713
40129
|
}
|
|
40714
40130
|
get el() { return getElement(this); }
|
|
40715
40131
|
static get watchers() { return {
|
|
@@ -40821,10 +40237,10 @@ class Toolbar {
|
|
|
40821
40237
|
this.childrenStyles.forEach((value) => {
|
|
40822
40238
|
Object.assign(childStyles, value);
|
|
40823
40239
|
});
|
|
40824
|
-
return (hAsync(Host, { key: '
|
|
40240
|
+
return (hAsync(Host, { key: '40bad6fa7e94262438da4bbe037dcf8a5fa2df22', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
40825
40241
|
[mode]: true,
|
|
40826
40242
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
40827
|
-
})) }, hAsync("div", { key: '
|
|
40243
|
+
})) }, 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" }))));
|
|
40828
40244
|
}
|
|
40829
40245
|
get el() { return getElement(this); }
|
|
40830
40246
|
static get style() { return {
|
|
@@ -40870,11 +40286,11 @@ class ToolbarTitle {
|
|
|
40870
40286
|
render() {
|
|
40871
40287
|
const mode = getIonMode$1(this);
|
|
40872
40288
|
const size = this.getSize();
|
|
40873
|
-
return (hAsync(Host, { key: '
|
|
40289
|
+
return (hAsync(Host, { key: 'd9317e8e66cb6112717f5a9c252658777efbd873', class: createColorClasses$1(this.color, {
|
|
40874
40290
|
[mode]: true,
|
|
40875
40291
|
[`title-${size}`]: true,
|
|
40876
40292
|
'title-rtl': document.dir === 'rtl',
|
|
40877
|
-
}) }, hAsync("div", { key: '
|
|
40293
|
+
}) }, hAsync("div", { key: 'a4d011d6d409bf006d8efe33667002edb109820a', class: "toolbar-title" }, hAsync("slot", { key: '4ca3303b957a0e5387f1e9058e5adb4c6275afcc' }))));
|
|
40878
40294
|
}
|
|
40879
40295
|
get el() { return getElement(this); }
|
|
40880
40296
|
static get watchers() { return {
|
|
@@ -40954,10 +40370,8 @@ registerComponents([
|
|
|
40954
40370
|
Nav,
|
|
40955
40371
|
NavLink,
|
|
40956
40372
|
Note,
|
|
40957
|
-
Picker$1,
|
|
40958
40373
|
Picker,
|
|
40959
40374
|
PickerColumn,
|
|
40960
|
-
PickerColumnCmp,
|
|
40961
40375
|
PickerColumnOption,
|
|
40962
40376
|
Popover,
|
|
40963
40377
|
ProgressBar,
|