@ionic/core 8.8.10 → 8.8.11-dev.11781186446.19d9a1cc
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-BpCi7xHq.js +4 -0
- package/components/p-CHzfYZbv.js +4 -0
- package/components/{p-DDWp95gH.js → p-Ck2wcXbv.js} +1 -1
- 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 +9 -5
- 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 +9 -5
- 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 +247 -1170
- 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 +9 -5
- 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 +6 -77
- 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-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-944c8939.entry.js +4 -0
- 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/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 +19 -282
- 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 +202 -795
- package/hydrate/index.mjs +202 -795
- 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();
|
|
@@ -25777,6 +25812,10 @@ class Modal {
|
|
|
25777
25812
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
25778
25813
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
25779
25814
|
this.cleanupSafeAreaOverrides();
|
|
25815
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
25816
|
+
if (this.presented) {
|
|
25817
|
+
cleanupRootFocusTrapAccessibility();
|
|
25818
|
+
}
|
|
25780
25819
|
}
|
|
25781
25820
|
componentWillLoad() {
|
|
25782
25821
|
var _a;
|
|
@@ -25953,7 +25992,7 @@ class Modal {
|
|
|
25953
25992
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
25954
25993
|
setCardStatusBarDark();
|
|
25955
25994
|
}
|
|
25956
|
-
await present(this, 'modalEnter', iosEnterAnimation$
|
|
25995
|
+
await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
|
|
25957
25996
|
presentingEl: presentingElement,
|
|
25958
25997
|
currentBreakpoint: this.initialBreakpoint,
|
|
25959
25998
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26015,7 +26054,7 @@ class Modal {
|
|
|
26015
26054
|
// All of the elements needed for the swipe gesture
|
|
26016
26055
|
// should be in the DOM and referenced by now, except
|
|
26017
26056
|
// for the presenting el
|
|
26018
|
-
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$
|
|
26057
|
+
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$2);
|
|
26019
26058
|
const ani = (this.animation = animationBuilder(el, {
|
|
26020
26059
|
presentingEl: this.presentingElement,
|
|
26021
26060
|
expandToScroll: this.expandToScroll,
|
|
@@ -26034,7 +26073,7 @@ class Modal {
|
|
|
26034
26073
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
26035
26074
|
return;
|
|
26036
26075
|
}
|
|
26037
|
-
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$
|
|
26076
|
+
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$2);
|
|
26038
26077
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
26039
26078
|
presentingEl: this.presentingElement,
|
|
26040
26079
|
currentBreakpoint: initialBreakpoint,
|
|
@@ -26224,7 +26263,7 @@ class Modal {
|
|
|
26224
26263
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
26225
26264
|
this.keyboardOpenCallback = undefined;
|
|
26226
26265
|
}
|
|
26227
|
-
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$
|
|
26266
|
+
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$2, mdLeaveAnimation$2, {
|
|
26228
26267
|
presentingEl: presentingElement,
|
|
26229
26268
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
26230
26269
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26656,20 +26695,20 @@ class Modal {
|
|
|
26656
26695
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
26657
26696
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
26658
26697
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
26659
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
26698
|
+
return (hAsync(Host, Object.assign({ key: '1a8350cc8389b167ba9dadd2e629d531af5698cf', "no-router": true,
|
|
26660
26699
|
// Allow the modal to be navigable when the handle is focusable
|
|
26661
26700
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
26662
26701
|
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: '
|
|
26702
|
+
}, 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: 'f757adb2407482cf567dbbf689b5d3c44c59d9fb', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '960517dded3129f74f146b652e55d7fd21a163ae', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '590f49003dda88fee559d08dd844a666731f438f',
|
|
26664
26703
|
/*
|
|
26665
26704
|
role and aria-modal must be used on the
|
|
26666
26705
|
same element. They must also be set inside the
|
|
26667
26706
|
shadow DOM otherwise ion-button will not be highlighted
|
|
26668
26707
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
26669
26708
|
*/
|
|
26670
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
26709
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '6b4e133da9d8bfbaa50158fcd5635e9868941072', class: "modal-handle",
|
|
26671
26710
|
// 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: '
|
|
26711
|
+
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: 'dbacacb0f285c4a712a65cb1597d3a332056d954', onSlotchange: this.onSlotChange }))));
|
|
26673
26712
|
}
|
|
26674
26713
|
get el() { return getElement(this); }
|
|
26675
26714
|
static get watchers() { return {
|
|
@@ -27752,14 +27791,14 @@ class Note {
|
|
|
27752
27791
|
}; }
|
|
27753
27792
|
}
|
|
27754
27793
|
|
|
27755
|
-
const pickerIosCss
|
|
27794
|
+
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
27795
|
|
|
27757
|
-
const pickerMdCss
|
|
27796
|
+
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
27797
|
|
|
27759
27798
|
/**
|
|
27760
27799
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
27761
27800
|
*/
|
|
27762
|
-
|
|
27801
|
+
class Picker {
|
|
27763
27802
|
constructor(hostRef) {
|
|
27764
27803
|
registerInstance(this, hostRef);
|
|
27765
27804
|
this.ionInputModeChange = createEvent(this, "ionInputModeChange", 7);
|
|
@@ -28225,8 +28264,8 @@ let Picker$1 = class Picker {
|
|
|
28225
28264
|
}
|
|
28226
28265
|
get el() { return getElement(this); }
|
|
28227
28266
|
static get style() { return {
|
|
28228
|
-
ios: pickerIosCss
|
|
28229
|
-
md: pickerMdCss
|
|
28267
|
+
ios: pickerIosCss(),
|
|
28268
|
+
md: pickerMdCss()
|
|
28230
28269
|
}; }
|
|
28231
28270
|
static get cmpMeta() { return {
|
|
28232
28271
|
"$flags$": 297,
|
|
@@ -28238,322 +28277,7 @@ let Picker$1 = class Picker {
|
|
|
28238
28277
|
"$lazyBundleId$": "-",
|
|
28239
28278
|
"$attrsToReflect$": []
|
|
28240
28279
|
}; }
|
|
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
28280
|
}
|
|
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
28281
|
|
|
28558
28282
|
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
28283
|
|
|
@@ -29140,371 +28864,6 @@ class PickerColumn {
|
|
|
29140
28864
|
}
|
|
29141
28865
|
const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
|
|
29142
28866
|
|
|
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
28867
|
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
28868
|
|
|
29510
28869
|
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 +30285,10 @@ class Popover {
|
|
|
30926
30285
|
this.headerResizeObserver.disconnect();
|
|
30927
30286
|
this.headerResizeObserver = undefined;
|
|
30928
30287
|
}
|
|
30288
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
30289
|
+
if (this.presented) {
|
|
30290
|
+
cleanupRootFocusTrapAccessibility();
|
|
30291
|
+
}
|
|
30929
30292
|
}
|
|
30930
30293
|
componentWillLoad() {
|
|
30931
30294
|
var _a, _b;
|
|
@@ -31164,9 +30527,9 @@ class Popover {
|
|
|
31164
30527
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
31165
30528
|
const desktop = isPlatform('desktop');
|
|
31166
30529
|
const enableArrow = arrow && !parentPopover;
|
|
31167
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30530
|
+
return (hAsync(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
31168
30531
|
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: '
|
|
30532
|
+
}, 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
30533
|
}
|
|
31171
30534
|
get el() { return getElement(this); }
|
|
31172
30535
|
static get watchers() { return {
|
|
@@ -31277,7 +30640,7 @@ class ProgressBar {
|
|
|
31277
30640
|
const mode = getIonMode$1(this);
|
|
31278
30641
|
// If the progress is displayed as a solid bar.
|
|
31279
30642
|
const progressSolid = buffer === 1;
|
|
31280
|
-
return (hAsync(Host, { key: '
|
|
30643
|
+
return (hAsync(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
31281
30644
|
[mode]: true,
|
|
31282
30645
|
[`progress-bar-${type}`]: true,
|
|
31283
30646
|
'progress-paused': paused,
|
|
@@ -31462,7 +30825,7 @@ class Radio {
|
|
|
31462
30825
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
31463
30826
|
const mode = getIonMode$1(this);
|
|
31464
30827
|
const inItem = hostContext('ion-item', el);
|
|
31465
|
-
return (hAsync(Host, { key: '
|
|
30828
|
+
return (hAsync(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
31466
30829
|
[mode]: true,
|
|
31467
30830
|
'in-item': inItem,
|
|
31468
30831
|
'radio-checked': checked,
|
|
@@ -31473,10 +30836,10 @@ class Radio {
|
|
|
31473
30836
|
// Focus and active styling should not apply when the radio is in an item
|
|
31474
30837
|
'ion-activatable': !inItem,
|
|
31475
30838
|
'ion-focusable': !inItem,
|
|
31476
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
30839
|
+
}), 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
30840
|
'label-text-wrapper': true,
|
|
31478
30841
|
'label-text-wrapper-hidden': !hasLabel,
|
|
31479
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
30842
|
+
}, part: "label" }, hAsync("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), hAsync("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
31480
30843
|
}
|
|
31481
30844
|
get el() { return getElement(this); }
|
|
31482
30845
|
static get watchers() { return {
|
|
@@ -31495,7 +30858,7 @@ class Radio {
|
|
|
31495
30858
|
"color": [513],
|
|
31496
30859
|
"name": [1],
|
|
31497
30860
|
"disabled": [4],
|
|
31498
|
-
"value": [
|
|
30861
|
+
"value": [520],
|
|
31499
30862
|
"labelPlacement": [1, "label-placement"],
|
|
31500
30863
|
"justify": [1],
|
|
31501
30864
|
"alignment": [1],
|
|
@@ -31506,7 +30869,7 @@ class Radio {
|
|
|
31506
30869
|
},
|
|
31507
30870
|
"$listeners$": undefined,
|
|
31508
30871
|
"$lazyBundleId$": "-",
|
|
31509
|
-
"$attrsToReflect$": [["color", "color"]]
|
|
30872
|
+
"$attrsToReflect$": [["color", "color"], ["value", "value"]]
|
|
31510
30873
|
}; }
|
|
31511
30874
|
}
|
|
31512
30875
|
let radioButtonIds = 0;
|
|
@@ -32571,7 +31934,7 @@ class Range {
|
|
|
32571
31934
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
32572
31935
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
32573
31936
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
32574
|
-
return (hAsync(Host, { key: '
|
|
31937
|
+
return (hAsync(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
32575
31938
|
[mode]: true,
|
|
32576
31939
|
'in-item': inItem,
|
|
32577
31940
|
'range-disabled': disabled,
|
|
@@ -32585,10 +31948,10 @@ class Range {
|
|
|
32585
31948
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
32586
31949
|
'range-value-min': valueAtMin,
|
|
32587
31950
|
'range-value-max': valueAtMax,
|
|
32588
|
-
}) }, hAsync("label", { key: '
|
|
31951
|
+
}) }, hAsync("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
|
|
32589
31952
|
'label-text-wrapper': true,
|
|
32590
31953
|
'label-text-wrapper-hidden': !hasLabel,
|
|
32591
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
31954
|
+
}, 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
31955
|
}
|
|
32593
31956
|
get el() { return getElement(this); }
|
|
32594
31957
|
static get watchers() { return {
|
|
@@ -33659,7 +33022,7 @@ class Refresher {
|
|
|
33659
33022
|
}
|
|
33660
33023
|
render() {
|
|
33661
33024
|
const mode = getIonMode$1(this);
|
|
33662
|
-
return (hAsync(Host, { key: '
|
|
33025
|
+
return (hAsync(Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
|
|
33663
33026
|
[mode]: true,
|
|
33664
33027
|
// Used internally for styling
|
|
33665
33028
|
[`refresher-${mode}`]: true,
|
|
@@ -33885,7 +33248,7 @@ class RefresherContent {
|
|
|
33885
33248
|
const pullingIcon = this.pullingIcon;
|
|
33886
33249
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
33887
33250
|
const mode = getIonMode$1(this);
|
|
33888
|
-
return (hAsync(Host, { key: '
|
|
33251
|
+
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
33252
|
}
|
|
33890
33253
|
get el() { return getElement(this); }
|
|
33891
33254
|
static get cmpMeta() { return {
|
|
@@ -33926,7 +33289,7 @@ class Reorder {
|
|
|
33926
33289
|
render() {
|
|
33927
33290
|
const mode = getIonMode$1(this);
|
|
33928
33291
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
33929
|
-
return (hAsync(Host, { key: '
|
|
33292
|
+
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
33293
|
}
|
|
33931
33294
|
get el() { return getElement(this); }
|
|
33932
33295
|
static get style() { return {
|
|
@@ -34197,7 +33560,7 @@ class ReorderGroup {
|
|
|
34197
33560
|
}
|
|
34198
33561
|
render() {
|
|
34199
33562
|
const mode = getIonMode$1(this);
|
|
34200
|
-
return (hAsync(Host, { key: '
|
|
33563
|
+
return (hAsync(Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
|
|
34201
33564
|
[mode]: true,
|
|
34202
33565
|
'reorder-enabled': !this.disabled,
|
|
34203
33566
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -34315,7 +33678,7 @@ class RippleEffect {
|
|
|
34315
33678
|
}
|
|
34316
33679
|
render() {
|
|
34317
33680
|
const mode = getIonMode$1(this);
|
|
34318
|
-
return (hAsync(Host, { key: '
|
|
33681
|
+
return (hAsync(Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
|
|
34319
33682
|
[mode]: true,
|
|
34320
33683
|
unbounded: this.unbounded,
|
|
34321
33684
|
} }));
|
|
@@ -35449,10 +34812,10 @@ class RouterLink {
|
|
|
35449
34812
|
rel: this.rel,
|
|
35450
34813
|
target: this.target,
|
|
35451
34814
|
};
|
|
35452
|
-
return (hAsync(Host, { key: '
|
|
34815
|
+
return (hAsync(Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
35453
34816
|
[mode]: true,
|
|
35454
34817
|
'ion-activatable': true,
|
|
35455
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
34818
|
+
}) }, hAsync("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), hAsync("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
|
|
35456
34819
|
}
|
|
35457
34820
|
static get style() { return routerLinkCss(); }
|
|
35458
34821
|
static get cmpMeta() { return {
|
|
@@ -35491,10 +34854,11 @@ class RouterOutlet {
|
|
|
35491
34854
|
*/
|
|
35492
34855
|
this.animated = true;
|
|
35493
34856
|
}
|
|
34857
|
+
swipeGestureChanged() {
|
|
34858
|
+
this.updateGestureEnabled();
|
|
34859
|
+
}
|
|
35494
34860
|
swipeHandlerChanged() {
|
|
35495
|
-
|
|
35496
|
-
this.gesture.enable(this.swipeHandler !== undefined);
|
|
35497
|
-
}
|
|
34861
|
+
this.updateGestureEnabled();
|
|
35498
34862
|
}
|
|
35499
34863
|
async connectedCallback() {
|
|
35500
34864
|
const onStart = () => {
|
|
@@ -35534,11 +34898,21 @@ class RouterOutlet {
|
|
|
35534
34898
|
this.gestureOrAnimationInProgress = false;
|
|
35535
34899
|
}
|
|
35536
34900
|
});
|
|
35537
|
-
this.
|
|
34901
|
+
if (this.swipeGesture === undefined) {
|
|
34902
|
+
this.swipeGesture = config.getBoolean('swipeBackEnabled', this.mode === 'ios');
|
|
34903
|
+
}
|
|
34904
|
+
else {
|
|
34905
|
+
this.updateGestureEnabled();
|
|
34906
|
+
}
|
|
35538
34907
|
}
|
|
35539
34908
|
componentWillLoad() {
|
|
35540
34909
|
this.ionNavWillLoad.emit();
|
|
35541
34910
|
}
|
|
34911
|
+
updateGestureEnabled() {
|
|
34912
|
+
if (this.gesture) {
|
|
34913
|
+
this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
|
|
34914
|
+
}
|
|
34915
|
+
}
|
|
35542
34916
|
disconnectedCallback() {
|
|
35543
34917
|
if (this.gesture) {
|
|
35544
34918
|
this.gesture.destroy();
|
|
@@ -35649,10 +35023,13 @@ class RouterOutlet {
|
|
|
35649
35023
|
return true;
|
|
35650
35024
|
}
|
|
35651
35025
|
render() {
|
|
35652
|
-
return hAsync("slot", { key: '
|
|
35026
|
+
return hAsync("slot", { key: 'ce09e6fbba7b0a2276cdde5245bb37c9a162c1c7' });
|
|
35653
35027
|
}
|
|
35654
35028
|
get el() { return getElement(this); }
|
|
35655
35029
|
static get watchers() { return {
|
|
35030
|
+
"swipeGesture": [{
|
|
35031
|
+
"swipeGestureChanged": 0
|
|
35032
|
+
}],
|
|
35656
35033
|
"swipeHandler": [{
|
|
35657
35034
|
"swipeHandlerChanged": 0
|
|
35658
35035
|
}]
|
|
@@ -35666,6 +35043,7 @@ class RouterOutlet {
|
|
|
35666
35043
|
"delegate": [16],
|
|
35667
35044
|
"animated": [4],
|
|
35668
35045
|
"animation": [16],
|
|
35046
|
+
"swipeGesture": [1028, "swipe-gesture"],
|
|
35669
35047
|
"swipeHandler": [16],
|
|
35670
35048
|
"commit": [64],
|
|
35671
35049
|
"setRouteId": [64],
|
|
@@ -35684,7 +35062,7 @@ class Row {
|
|
|
35684
35062
|
registerInstance(this, hostRef);
|
|
35685
35063
|
}
|
|
35686
35064
|
render() {
|
|
35687
|
-
return (hAsync(Host, { key: '
|
|
35065
|
+
return (hAsync(Host, { key: 'a9066661fff12baaf3e80b2e8c08591af72fe5b8', class: getIonMode$1(this) }, hAsync("slot", { key: '62b103af46d3a5ec9c146019ae300b68a4ae867a' })));
|
|
35688
35066
|
}
|
|
35689
35067
|
static get style() { return rowCss(); }
|
|
35690
35068
|
static get cmpMeta() { return {
|
|
@@ -35736,7 +35114,7 @@ class Searchbar {
|
|
|
35736
35114
|
/**
|
|
35737
35115
|
* Set the input's autocorrect property.
|
|
35738
35116
|
*/
|
|
35739
|
-
this.autocorrect =
|
|
35117
|
+
this.autocorrect = false;
|
|
35740
35118
|
/**
|
|
35741
35119
|
* Set the cancel button icon. Only applies to `md` mode.
|
|
35742
35120
|
* Defaults to `arrow-back-sharp`.
|
|
@@ -36136,8 +35514,8 @@ class Searchbar {
|
|
|
36136
35514
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
36137
35515
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
36138
35516
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
36139
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
36140
|
-
return (hAsync(Host, { key: '
|
|
35517
|
+
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))));
|
|
35518
|
+
return (hAsync(Host, { key: 'd898b9f9768ec7119a3ad4be8350d8a3cfb32ba6', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
36141
35519
|
[mode]: true,
|
|
36142
35520
|
'searchbar-animated': animated,
|
|
36143
35521
|
'searchbar-disabled': this.disabled,
|
|
@@ -36147,14 +35525,14 @@ class Searchbar {
|
|
|
36147
35525
|
'searchbar-has-focus': this.focused,
|
|
36148
35526
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
36149
35527
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
36150
|
-
}) }, hAsync("div", { key: '
|
|
35528
|
+
}) }, 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
35529
|
/**
|
|
36152
35530
|
* This prevents mobile browsers from
|
|
36153
35531
|
* blurring the input when the clear
|
|
36154
35532
|
* button is activated.
|
|
36155
35533
|
*/
|
|
36156
35534
|
ev.preventDefault();
|
|
36157
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
35535
|
+
}, 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
35536
|
}
|
|
36159
35537
|
get el() { return getElement(this); }
|
|
36160
35538
|
static get watchers() { return {
|
|
@@ -36186,7 +35564,7 @@ class Searchbar {
|
|
|
36186
35564
|
"animated": [4],
|
|
36187
35565
|
"autocapitalize": [1],
|
|
36188
35566
|
"autocomplete": [1],
|
|
36189
|
-
"autocorrect": [
|
|
35567
|
+
"autocorrect": [4],
|
|
36190
35568
|
"cancelButtonIcon": [1, "cancel-button-icon"],
|
|
36191
35569
|
"cancelButtonText": [1, "cancel-button-text"],
|
|
36192
35570
|
"clearIcon": [1, "clear-icon"],
|
|
@@ -36763,14 +36141,14 @@ class Segment {
|
|
|
36763
36141
|
}
|
|
36764
36142
|
render() {
|
|
36765
36143
|
const mode = getIonMode$1(this);
|
|
36766
|
-
return (hAsync(Host, { key: '
|
|
36144
|
+
return (hAsync(Host, { key: 'bb626072e73f09c3433e1a769e09789a00822d8f', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
36767
36145
|
[mode]: true,
|
|
36768
36146
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
36769
36147
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
36770
36148
|
'segment-activated': this.activated,
|
|
36771
36149
|
'segment-disabled': this.disabled,
|
|
36772
36150
|
'segment-scrollable': this.scrollable,
|
|
36773
|
-
}) }, hAsync("slot", { key: '
|
|
36151
|
+
}) }, hAsync("slot", { key: '652d5037c2c2dee4d47a5710b1d150e691202d25', onSlotchange: this.onSlottedItemsChange })));
|
|
36774
36152
|
}
|
|
36775
36153
|
get el() { return getElement(this); }
|
|
36776
36154
|
static get watchers() { return {
|
|
@@ -36918,7 +36296,7 @@ class SegmentButton {
|
|
|
36918
36296
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
36919
36297
|
const mode = getIonMode$1(this);
|
|
36920
36298
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
36921
|
-
return (hAsync(Host, { key: '
|
|
36299
|
+
return (hAsync(Host, { key: '792f621c36260b1fceff2b4ec4fa95d98d51d46b', class: {
|
|
36922
36300
|
[mode]: true,
|
|
36923
36301
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
36924
36302
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -36934,7 +36312,7 @@ class SegmentButton {
|
|
|
36934
36312
|
'ion-activatable': true,
|
|
36935
36313
|
'ion-activatable-instant': true,
|
|
36936
36314
|
'ion-focusable': true,
|
|
36937
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
36315
|
+
} }, 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
36316
|
}
|
|
36939
36317
|
get el() { return getElement(this); }
|
|
36940
36318
|
static get watchers() { return {
|
|
@@ -36971,7 +36349,7 @@ class SegmentContent {
|
|
|
36971
36349
|
registerInstance(this, hostRef);
|
|
36972
36350
|
}
|
|
36973
36351
|
render() {
|
|
36974
|
-
return (hAsync(Host, { key: '
|
|
36352
|
+
return (hAsync(Host, { key: 'ef39f29c444177c3b083cd35680ba891e4bb6a2a' }, hAsync("slot", { key: '51f9dd9ca084ddd928b376aa9d716509669c32b2' })));
|
|
36975
36353
|
}
|
|
36976
36354
|
static get style() { return segmentContentCss(); }
|
|
36977
36355
|
static get cmpMeta() { return {
|
|
@@ -37090,11 +36468,11 @@ class SegmentView {
|
|
|
37090
36468
|
}
|
|
37091
36469
|
render() {
|
|
37092
36470
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
37093
|
-
return (hAsync(Host, { key: '
|
|
36471
|
+
return (hAsync(Host, { key: 'a6c6ac0232c4bb6f2a954b3de7993019d71f423a', class: {
|
|
37094
36472
|
'segment-view-disabled': disabled,
|
|
37095
36473
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
37096
36474
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
37097
|
-
} }, hAsync("slot", { key: '
|
|
36475
|
+
} }, hAsync("slot", { key: '386305be2a75069c79def12005d9f6b49276763f' })));
|
|
37098
36476
|
}
|
|
37099
36477
|
get el() { return getElement(this); }
|
|
37100
36478
|
static get style() { return {
|
|
@@ -37278,9 +36656,40 @@ class Select {
|
|
|
37278
36656
|
this.emitStyle();
|
|
37279
36657
|
}
|
|
37280
36658
|
setValue(value) {
|
|
36659
|
+
if (this.isValueEqual(this.value, value)) {
|
|
36660
|
+
return;
|
|
36661
|
+
}
|
|
37281
36662
|
this.value = value;
|
|
37282
36663
|
this.ionChange.emit({ value });
|
|
37283
36664
|
}
|
|
36665
|
+
isValueEqual(currentValue, newValue) {
|
|
36666
|
+
if (this.multiple) {
|
|
36667
|
+
const currentArr = Array.isArray(currentValue) ? currentValue : [];
|
|
36668
|
+
const newArr = Array.isArray(newValue) ? newValue : [];
|
|
36669
|
+
if (currentArr.length !== newArr.length) {
|
|
36670
|
+
return false;
|
|
36671
|
+
}
|
|
36672
|
+
// Multiset compare: each new value must match a distinct current value.
|
|
36673
|
+
// A plain `every(isOptionSelected)` would accept ['a','a'] as equal to
|
|
36674
|
+
// ['a','b'] when both 'a' and 'b' map to options whose values overlap.
|
|
36675
|
+
const remaining = currentArr.slice();
|
|
36676
|
+
return newArr.every((val) => {
|
|
36677
|
+
const idx = remaining.findIndex((c) => compareOptions(c, val, this.compareWith));
|
|
36678
|
+
if (idx === -1) {
|
|
36679
|
+
return false;
|
|
36680
|
+
}
|
|
36681
|
+
remaining.splice(idx, 1);
|
|
36682
|
+
return true;
|
|
36683
|
+
});
|
|
36684
|
+
}
|
|
36685
|
+
if (currentValue == null && newValue == null) {
|
|
36686
|
+
return true;
|
|
36687
|
+
}
|
|
36688
|
+
if (currentValue == null || newValue == null) {
|
|
36689
|
+
return false;
|
|
36690
|
+
}
|
|
36691
|
+
return compareOptions(currentValue, newValue, this.compareWith);
|
|
36692
|
+
}
|
|
37284
36693
|
async connectedCallback() {
|
|
37285
36694
|
const { el } = this;
|
|
37286
36695
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
@@ -37866,7 +37275,7 @@ class Select {
|
|
|
37866
37275
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
37867
37276
|
*/
|
|
37868
37277
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
37869
|
-
return (hAsync(Host, { key: '
|
|
37278
|
+
return (hAsync(Host, { key: '2c141ef1b6983b464118e8ed192739dfca9d095a', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37870
37279
|
[mode]: true,
|
|
37871
37280
|
'in-item': inItem,
|
|
37872
37281
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -37884,7 +37293,7 @@ class Select {
|
|
|
37884
37293
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
37885
37294
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
37886
37295
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
37887
|
-
}) }, hAsync("label", { key: '
|
|
37296
|
+
}) }, 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
37297
|
}
|
|
37889
37298
|
get el() { return getElement(this); }
|
|
37890
37299
|
static get watchers() { return {
|
|
@@ -38068,7 +37477,7 @@ class SelectModal {
|
|
|
38068
37477
|
} }, option.text))));
|
|
38069
37478
|
}
|
|
38070
37479
|
render() {
|
|
38071
|
-
return (hAsync(Host, { key: '
|
|
37480
|
+
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
37481
|
}
|
|
38073
37482
|
get el() { return getElement(this); }
|
|
38074
37483
|
static get style() { return {
|
|
@@ -38103,7 +37512,7 @@ class SelectOption {
|
|
|
38103
37512
|
this.disabled = false;
|
|
38104
37513
|
}
|
|
38105
37514
|
render() {
|
|
38106
|
-
return hAsync(Host, { key: '
|
|
37515
|
+
return hAsync(Host, { key: '1fc1737fbb29dcb62638149b21620cbdf2f00dbc', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
38107
37516
|
}
|
|
38108
37517
|
get el() { return getElement(this); }
|
|
38109
37518
|
static get style() { return selectOptionCss(); }
|
|
@@ -38231,7 +37640,7 @@ class SelectPopover {
|
|
|
38231
37640
|
render() {
|
|
38232
37641
|
const { header, message, options, subHeader } = this;
|
|
38233
37642
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
38234
|
-
return (hAsync(Host, { key: '
|
|
37643
|
+
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
37644
|
}
|
|
38236
37645
|
get el() { return getElement(this); }
|
|
38237
37646
|
static get style() { return {
|
|
@@ -38281,11 +37690,11 @@ class SkeletonText {
|
|
|
38281
37690
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
38282
37691
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
38283
37692
|
const mode = getIonMode$1(this);
|
|
38284
|
-
return (hAsync(Host, { key: '
|
|
37693
|
+
return (hAsync(Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
|
|
38285
37694
|
[mode]: true,
|
|
38286
37695
|
'skeleton-text-animated': animated,
|
|
38287
37696
|
'in-media': inMedia,
|
|
38288
|
-
} }, hAsync("span", { key: '
|
|
37697
|
+
} }, hAsync("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
|
|
38289
37698
|
}
|
|
38290
37699
|
get el() { return getElement(this); }
|
|
38291
37700
|
static get style() { return skeletonTextCss(); }
|
|
@@ -38337,7 +37746,7 @@ class Spinner {
|
|
|
38337
37746
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
38338
37747
|
}
|
|
38339
37748
|
}
|
|
38340
|
-
return (hAsync(Host, { key: '
|
|
37749
|
+
return (hAsync(Host, { key: 'c35ebd01186e860acb9cac260193f0836424fdf4', class: createColorClasses$1(self.color, {
|
|
38341
37750
|
[mode]: true,
|
|
38342
37751
|
[`spinner-${spinnerName}`]: true,
|
|
38343
37752
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -38436,12 +37845,12 @@ class SplitPane {
|
|
|
38436
37845
|
}
|
|
38437
37846
|
render() {
|
|
38438
37847
|
const mode = getIonMode$1(this);
|
|
38439
|
-
return (hAsync(Host, { key: '
|
|
37848
|
+
return (hAsync(Host, { key: '694e989fafcfe2453e0a83b3cb736efaa1eb4fec', class: {
|
|
38440
37849
|
[mode]: true,
|
|
38441
37850
|
// Used internally for styling
|
|
38442
37851
|
[`split-pane-${mode}`]: true,
|
|
38443
37852
|
'split-pane-visible': this.visible,
|
|
38444
|
-
} }, hAsync("slot", { key: '
|
|
37853
|
+
} }, hAsync("slot", { key: 'dde7e9382b62cc11971aa233cf98c2314ae4f720' })));
|
|
38445
37854
|
}
|
|
38446
37855
|
get el() { return getElement(this); }
|
|
38447
37856
|
static get watchers() { return {
|
|
@@ -38513,10 +37922,10 @@ class Tab {
|
|
|
38513
37922
|
}
|
|
38514
37923
|
render() {
|
|
38515
37924
|
const { tab, active, component } = this;
|
|
38516
|
-
return (hAsync(Host, { key: '
|
|
37925
|
+
return (hAsync(Host, { key: '745262368a7f45244da459f4fa1730a46dd3e257', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
38517
37926
|
'ion-page': component === undefined,
|
|
38518
37927
|
'tab-hidden': !active,
|
|
38519
|
-
} }, hAsync("slot", { key: '
|
|
37928
|
+
} }, hAsync("slot", { key: '823d09a6f93bf7c0dc74f2b8717d1d3a62df1ad8' })));
|
|
38520
37929
|
}
|
|
38521
37930
|
get el() { return getElement(this); }
|
|
38522
37931
|
static get watchers() { return {
|
|
@@ -38630,11 +38039,11 @@ class TabBar {
|
|
|
38630
38039
|
const { color, translucent, keyboardVisible } = this;
|
|
38631
38040
|
const mode = getIonMode$1(this);
|
|
38632
38041
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
38633
|
-
return (hAsync(Host, { key: '
|
|
38042
|
+
return (hAsync(Host, { key: '148f65df0818e9d220a9b46db74cb89ab94e62d2', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
38634
38043
|
[mode]: true,
|
|
38635
38044
|
'tab-bar-translucent': translucent,
|
|
38636
38045
|
'tab-bar-hidden': shouldHide,
|
|
38637
|
-
}) }, hAsync("slot", { key: '
|
|
38046
|
+
}) }, hAsync("slot", { key: 'a64e235f3703662e2dd7a834f752cc5b1490adbc' })));
|
|
38638
38047
|
}
|
|
38639
38048
|
get el() { return getElement(this); }
|
|
38640
38049
|
static get watchers() { return {
|
|
@@ -38732,7 +38141,7 @@ class TabButton {
|
|
|
38732
38141
|
rel,
|
|
38733
38142
|
target,
|
|
38734
38143
|
};
|
|
38735
|
-
return (hAsync(Host, { key: '
|
|
38144
|
+
return (hAsync(Host, { key: '1034b5a928ecec49bd8efec3730ea1b11a579cf3', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
38736
38145
|
[mode]: true,
|
|
38737
38146
|
'tab-selected': selected,
|
|
38738
38147
|
'tab-disabled': disabled,
|
|
@@ -38744,7 +38153,7 @@ class TabButton {
|
|
|
38744
38153
|
'ion-activatable': true,
|
|
38745
38154
|
'ion-selectable': true,
|
|
38746
38155
|
'ion-focusable': true,
|
|
38747
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
38156
|
+
} }, 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
38157
|
}
|
|
38749
38158
|
get el() { return getElement(this); }
|
|
38750
38159
|
static get style() { return {
|
|
@@ -38935,7 +38344,7 @@ class Tabs {
|
|
|
38935
38344
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
38936
38345
|
}
|
|
38937
38346
|
render() {
|
|
38938
|
-
return (hAsync(Host, { key: '
|
|
38347
|
+
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
38348
|
}
|
|
38940
38349
|
get el() { return getElement(this); }
|
|
38941
38350
|
static get style() { return tabsCss(); }
|
|
@@ -38975,9 +38384,9 @@ class Text {
|
|
|
38975
38384
|
}
|
|
38976
38385
|
render() {
|
|
38977
38386
|
const mode = getIonMode$1(this);
|
|
38978
|
-
return (hAsync(Host, { key: '
|
|
38387
|
+
return (hAsync(Host, { key: '41ed8da617ed0e07bbfe96e32a000e1c6503e24e', class: createColorClasses$1(this.color, {
|
|
38979
38388
|
[mode]: true,
|
|
38980
|
-
}) }, hAsync("slot", { key: '
|
|
38389
|
+
}) }, hAsync("slot", { key: 'db8de04a2493537b3037f276b03abd92dfa56847' })));
|
|
38981
38390
|
}
|
|
38982
38391
|
static get style() { return textCss(); }
|
|
38983
38392
|
static get cmpMeta() { return {
|
|
@@ -39438,7 +38847,7 @@ class Textarea {
|
|
|
39438
38847
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
39439
38848
|
*/
|
|
39440
38849
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
39441
|
-
return (hAsync(Host, { key: '
|
|
38850
|
+
return (hAsync(Host, { key: 'eca1dfed53189408f614661ef3902cdb73d5f5de', class: createColorClasses$1(this.color, {
|
|
39442
38851
|
[mode]: true,
|
|
39443
38852
|
'has-value': hasValue,
|
|
39444
38853
|
'has-focus': hasFocus,
|
|
@@ -39447,7 +38856,7 @@ class Textarea {
|
|
|
39447
38856
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
39448
38857
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
39449
38858
|
'textarea-disabled': disabled,
|
|
39450
|
-
}) }, hAsync("label", { key: '
|
|
38859
|
+
}) }, 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
38860
|
}
|
|
39452
38861
|
get el() { return getElement(this); }
|
|
39453
38862
|
static get watchers() { return {
|
|
@@ -39516,7 +38925,7 @@ class Thumbnail {
|
|
|
39516
38925
|
registerInstance(this, hostRef);
|
|
39517
38926
|
}
|
|
39518
38927
|
render() {
|
|
39519
|
-
return (hAsync(Host, { key: '
|
|
38928
|
+
return (hAsync(Host, { key: '833e947c683b482a78f8f0df8c9a68e99478bbaa', class: getIonMode$1(this) }, hAsync("slot", { key: '6d1e9e686db88d91379f14121058dbf035d8ded2' })));
|
|
39520
38929
|
}
|
|
39521
38930
|
static get style() { return thumbnailCss(); }
|
|
39522
38931
|
static get cmpMeta() { return {
|
|
@@ -40376,9 +39785,9 @@ class Toast {
|
|
|
40376
39785
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
40377
39786
|
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
39787
|
}
|
|
40379
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
39788
|
+
return (hAsync(Host, Object.assign({ key: '2acb2cd2e12ea0082986495929e4a596d4da2f38', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
40380
39789
|
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: '
|
|
39790
|
+
}, 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
39791
|
}
|
|
40383
39792
|
get el() { return getElement(this); }
|
|
40384
39793
|
static get watchers() { return {
|
|
@@ -40696,7 +40105,7 @@ class Toggle {
|
|
|
40696
40105
|
const value = this.getValue();
|
|
40697
40106
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
40698
40107
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
40699
|
-
return (hAsync(Host, { key: '
|
|
40108
|
+
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
40109
|
[mode]: true,
|
|
40701
40110
|
'in-item': hostContext('ion-item', el),
|
|
40702
40111
|
'toggle-activated': activated,
|
|
@@ -40706,10 +40115,10 @@ class Toggle {
|
|
|
40706
40115
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
40707
40116
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
40708
40117
|
[`toggle-${rtl}`]: true,
|
|
40709
|
-
}) }, hAsync("label", { key: '
|
|
40118
|
+
}) }, 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
40119
|
'label-text-wrapper': true,
|
|
40711
40120
|
'label-text-wrapper-hidden': !hasLabel,
|
|
40712
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
40121
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'c480b96a0ddd926568f73291d71253d6f74438c7' }), this.renderHintText()), hAsync("div", { key: '96a2cbd1673e051a78f8b2b16535ecd3f0ed4339', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
40713
40122
|
}
|
|
40714
40123
|
get el() { return getElement(this); }
|
|
40715
40124
|
static get watchers() { return {
|
|
@@ -40821,10 +40230,10 @@ class Toolbar {
|
|
|
40821
40230
|
this.childrenStyles.forEach((value) => {
|
|
40822
40231
|
Object.assign(childStyles, value);
|
|
40823
40232
|
});
|
|
40824
|
-
return (hAsync(Host, { key: '
|
|
40233
|
+
return (hAsync(Host, { key: '40bad6fa7e94262438da4bbe037dcf8a5fa2df22', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
40825
40234
|
[mode]: true,
|
|
40826
40235
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
40827
|
-
})) }, hAsync("div", { key: '
|
|
40236
|
+
})) }, 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
40237
|
}
|
|
40829
40238
|
get el() { return getElement(this); }
|
|
40830
40239
|
static get style() { return {
|
|
@@ -40870,11 +40279,11 @@ class ToolbarTitle {
|
|
|
40870
40279
|
render() {
|
|
40871
40280
|
const mode = getIonMode$1(this);
|
|
40872
40281
|
const size = this.getSize();
|
|
40873
|
-
return (hAsync(Host, { key: '
|
|
40282
|
+
return (hAsync(Host, { key: 'd9317e8e66cb6112717f5a9c252658777efbd873', class: createColorClasses$1(this.color, {
|
|
40874
40283
|
[mode]: true,
|
|
40875
40284
|
[`title-${size}`]: true,
|
|
40876
40285
|
'title-rtl': document.dir === 'rtl',
|
|
40877
|
-
}) }, hAsync("div", { key: '
|
|
40286
|
+
}) }, hAsync("div", { key: 'a4d011d6d409bf006d8efe33667002edb109820a', class: "toolbar-title" }, hAsync("slot", { key: '4ca3303b957a0e5387f1e9058e5adb4c6275afcc' }))));
|
|
40878
40287
|
}
|
|
40879
40288
|
get el() { return getElement(this); }
|
|
40880
40289
|
static get watchers() { return {
|
|
@@ -40954,10 +40363,8 @@ registerComponents([
|
|
|
40954
40363
|
Nav,
|
|
40955
40364
|
NavLink,
|
|
40956
40365
|
Note,
|
|
40957
|
-
Picker$1,
|
|
40958
40366
|
Picker,
|
|
40959
40367
|
PickerColumn,
|
|
40960
|
-
PickerColumnCmp,
|
|
40961
40368
|
PickerColumnOption,
|
|
40962
40369
|
Popover,
|
|
40963
40370
|
ProgressBar,
|