@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.mjs
CHANGED
|
@@ -8039,7 +8039,7 @@ const focusElementInOverlay = (hostToFocus, overlay) => {
|
|
|
8039
8039
|
* Should NOT include: Toast
|
|
8040
8040
|
*/
|
|
8041
8041
|
const trapKeyboardFocus = (ev, doc) => {
|
|
8042
|
-
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
8042
|
+
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover');
|
|
8043
8043
|
const target = ev.target;
|
|
8044
8044
|
/**
|
|
8045
8045
|
* If no active overlay, ignore this event.
|
|
@@ -8273,7 +8273,7 @@ const dismissOverlay = (doc, data, role, overlayTag, id) => {
|
|
|
8273
8273
|
*/
|
|
8274
8274
|
const getOverlays = (doc, selector) => {
|
|
8275
8275
|
if (selector === undefined) {
|
|
8276
|
-
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
8276
|
+
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover,ion-toast';
|
|
8277
8277
|
}
|
|
8278
8278
|
return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
|
|
8279
8279
|
};
|
|
@@ -8335,6 +8335,29 @@ const setRootAriaHidden = (hidden = false) => {
|
|
|
8335
8335
|
viewContainer.removeAttribute('aria-hidden');
|
|
8336
8336
|
}
|
|
8337
8337
|
};
|
|
8338
|
+
/**
|
|
8339
|
+
* Cleans up root `aria-hidden` and `backdrop-no-scroll` when
|
|
8340
|
+
* an overlay is removed from the DOM without going through
|
|
8341
|
+
* the `dismiss()` flow (e.g., when a framework unmounts the
|
|
8342
|
+
* overlay during a route change).
|
|
8343
|
+
*
|
|
8344
|
+
* Should be called from an overlay's `disconnectedCallback`
|
|
8345
|
+
* when the overlay was still presented at the time of removal.
|
|
8346
|
+
*/
|
|
8347
|
+
const cleanupRootFocusTrapAccessibility = () => {
|
|
8348
|
+
if (typeof document === 'undefined') {
|
|
8349
|
+
return;
|
|
8350
|
+
}
|
|
8351
|
+
const remainingOverlays = getPresentedOverlays(document);
|
|
8352
|
+
const hasRemainingLocking = remainingOverlays.some((o) => {
|
|
8353
|
+
const el = o;
|
|
8354
|
+
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
8355
|
+
});
|
|
8356
|
+
if (!hasRemainingLocking) {
|
|
8357
|
+
setRootAriaHidden(false);
|
|
8358
|
+
document.body.classList.remove(BACKDROP_NO_SCROLL);
|
|
8359
|
+
}
|
|
8360
|
+
};
|
|
8338
8361
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
8339
8362
|
var _a, _b;
|
|
8340
8363
|
if (overlay.presented) {
|
|
@@ -9591,7 +9614,7 @@ const createAnimation = (animationId) => {
|
|
|
9591
9614
|
/**
|
|
9592
9615
|
* iOS Action Sheet Enter Animation
|
|
9593
9616
|
*/
|
|
9594
|
-
const iosEnterAnimation$
|
|
9617
|
+
const iosEnterAnimation$5 = (baseEl) => {
|
|
9595
9618
|
const baseAnimation = createAnimation();
|
|
9596
9619
|
const backdropAnimation = createAnimation();
|
|
9597
9620
|
const wrapperAnimation = createAnimation();
|
|
@@ -9615,7 +9638,7 @@ const iosEnterAnimation$6 = (baseEl) => {
|
|
|
9615
9638
|
/**
|
|
9616
9639
|
* iOS Action Sheet Leave Animation
|
|
9617
9640
|
*/
|
|
9618
|
-
const iosLeaveAnimation$
|
|
9641
|
+
const iosLeaveAnimation$5 = (baseEl) => {
|
|
9619
9642
|
const baseAnimation = createAnimation();
|
|
9620
9643
|
const backdropAnimation = createAnimation();
|
|
9621
9644
|
const wrapperAnimation = createAnimation();
|
|
@@ -9771,7 +9794,7 @@ class ActionSheet {
|
|
|
9771
9794
|
async present() {
|
|
9772
9795
|
const unlock = await this.lockController.lock();
|
|
9773
9796
|
await this.delegateController.attachViewToDom();
|
|
9774
|
-
await present(this, 'actionSheetEnter', iosEnterAnimation$
|
|
9797
|
+
await present(this, 'actionSheetEnter', iosEnterAnimation$5, mdEnterAnimation$5);
|
|
9775
9798
|
unlock();
|
|
9776
9799
|
}
|
|
9777
9800
|
/**
|
|
@@ -9788,7 +9811,7 @@ class ActionSheet {
|
|
|
9788
9811
|
*/
|
|
9789
9812
|
async dismiss(data, role) {
|
|
9790
9813
|
const unlock = await this.lockController.lock();
|
|
9791
|
-
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$
|
|
9814
|
+
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$5, mdLeaveAnimation$5);
|
|
9792
9815
|
if (dismissed) {
|
|
9793
9816
|
this.delegateController.removeViewFromDom();
|
|
9794
9817
|
}
|
|
@@ -9957,6 +9980,10 @@ class ActionSheet {
|
|
|
9957
9980
|
this.gesture = undefined;
|
|
9958
9981
|
}
|
|
9959
9982
|
this.triggerController.removeClickListener();
|
|
9983
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
9984
|
+
if (this.presented) {
|
|
9985
|
+
cleanupRootFocusTrapAccessibility();
|
|
9986
|
+
}
|
|
9960
9987
|
}
|
|
9961
9988
|
componentWillLoad() {
|
|
9962
9989
|
var _a;
|
|
@@ -10045,7 +10072,7 @@ class ActionSheet {
|
|
|
10045
10072
|
if (isRadio) {
|
|
10046
10073
|
htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
|
|
10047
10074
|
}
|
|
10048
|
-
return (hAsync("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass$
|
|
10075
|
+
return (hAsync("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass$2(b)), (isRadio && { 'action-sheet-selected': isActiveRadio })), onClick: () => {
|
|
10049
10076
|
if (isRadio) {
|
|
10050
10077
|
this.selectRadioButton(b);
|
|
10051
10078
|
}
|
|
@@ -10060,12 +10087,12 @@ class ActionSheet {
|
|
|
10060
10087
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
10061
10088
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
10062
10089
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
10063
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
10090
|
+
return (hAsync(Host, Object.assign({ key: '572ea2b7b7ffd902186a17f8063e46f4e7360633', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
10064
10091
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
10065
|
-
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '
|
|
10092
|
+
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '065f29ec2021e25fdde59707a42cbacd4f9319c6', tappable: this.backdropDismiss }), hAsync("div", { key: 'c92615ae5b292bfd223cee644c07f144f5f1d974', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'd4b30e289503203048420c35ac447dfff72c9183', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '7fc9bcc2f32666e170cd2052ce2b359b3915da60', class: "action-sheet-container" }, hAsync("div", { key: 'd85ff13a6029bbe081053e818eeaa115327abdc1', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: 'c743f928302e20007219fbcdd1e5c2efa662d3d9', id: headerID, class: {
|
|
10066
10093
|
'action-sheet-title': true,
|
|
10067
10094
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
10068
|
-
} }, header, this.subHeader && hAsync("div", { key: '
|
|
10095
|
+
} }, header, this.subHeader && hAsync("div", { key: '2cce9ba82989d893052cb6acf88677058a7b26ce', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'cf91d8a47838570e4c533694614bb6ad46f20ac7', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: '5ffc9e3d9f4db002a1112ed71977a407edb9f86e' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$2(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: 'e0802b849fef77fd8158cbfee23adf7fc6e08d62', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '991a60ebf6966e5815f849325c4e9c571a31fdeb', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: 'af533882239ba0d4e98691e38d517fbcee858a6d' })))))), hAsync("div", { key: '7107a8b235b00bf48486db95f66ac3ba53faf157', tabindex: "0", "aria-hidden": "true" })));
|
|
10069
10096
|
}
|
|
10070
10097
|
get el() { return getElement(this); }
|
|
10071
10098
|
static get watchers() { return {
|
|
@@ -10114,7 +10141,7 @@ class ActionSheet {
|
|
|
10114
10141
|
"$attrsToReflect$": []
|
|
10115
10142
|
}; }
|
|
10116
10143
|
}
|
|
10117
|
-
const buttonClass$
|
|
10144
|
+
const buttonClass$2 = (button) => {
|
|
10118
10145
|
return Object.assign({ 'action-sheet-button': true, 'ion-activatable': !button.disabled, 'ion-focusable': !button.disabled, [`action-sheet-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
10119
10146
|
};
|
|
10120
10147
|
|
|
@@ -10285,7 +10312,7 @@ class IonicSafeString {
|
|
|
10285
10312
|
/**
|
|
10286
10313
|
* iOS Alert Enter Animation
|
|
10287
10314
|
*/
|
|
10288
|
-
const iosEnterAnimation$
|
|
10315
|
+
const iosEnterAnimation$4 = (baseEl) => {
|
|
10289
10316
|
const baseAnimation = createAnimation();
|
|
10290
10317
|
const backdropAnimation = createAnimation();
|
|
10291
10318
|
const wrapperAnimation = createAnimation();
|
|
@@ -10310,7 +10337,7 @@ const iosEnterAnimation$5 = (baseEl) => {
|
|
|
10310
10337
|
/**
|
|
10311
10338
|
* iOS Alert Leave Animation
|
|
10312
10339
|
*/
|
|
10313
|
-
const iosLeaveAnimation$
|
|
10340
|
+
const iosLeaveAnimation$4 = (baseEl) => {
|
|
10314
10341
|
const baseAnimation = createAnimation();
|
|
10315
10342
|
const backdropAnimation = createAnimation();
|
|
10316
10343
|
const wrapperAnimation = createAnimation();
|
|
@@ -10586,6 +10613,10 @@ class Alert {
|
|
|
10586
10613
|
this.gesture.destroy();
|
|
10587
10614
|
this.gesture = undefined;
|
|
10588
10615
|
}
|
|
10616
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
10617
|
+
if (this.presented) {
|
|
10618
|
+
cleanupRootFocusTrapAccessibility();
|
|
10619
|
+
}
|
|
10589
10620
|
(_a = this.buttonGroupResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
10590
10621
|
this.buttonGroupResizeObserver = undefined;
|
|
10591
10622
|
}
|
|
@@ -10625,7 +10656,7 @@ class Alert {
|
|
|
10625
10656
|
async present() {
|
|
10626
10657
|
const unlock = await this.lockController.lock();
|
|
10627
10658
|
await this.delegateController.attachViewToDom();
|
|
10628
|
-
await present(this, 'alertEnter', iosEnterAnimation$
|
|
10659
|
+
await present(this, 'alertEnter', iosEnterAnimation$4, mdEnterAnimation$4).then(() => {
|
|
10629
10660
|
var _a, _b;
|
|
10630
10661
|
/**
|
|
10631
10662
|
* Check if alert has only one button and no inputs.
|
|
@@ -10656,7 +10687,7 @@ class Alert {
|
|
|
10656
10687
|
*/
|
|
10657
10688
|
async dismiss(data, role) {
|
|
10658
10689
|
const unlock = await this.lockController.lock();
|
|
10659
|
-
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$
|
|
10690
|
+
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$4, mdLeaveAnimation$4);
|
|
10660
10691
|
if (dismissed) {
|
|
10661
10692
|
this.delegateController.removeViewFromDom();
|
|
10662
10693
|
}
|
|
@@ -10841,7 +10872,7 @@ class Alert {
|
|
|
10841
10872
|
'alert-button-group': true,
|
|
10842
10873
|
'alert-button-group-vertical': buttons.length > 2 || this.isButtonGroupWrapped,
|
|
10843
10874
|
};
|
|
10844
|
-
return (hAsync("div", { class: alertButtonGroupClass, ref: (el) => (this.buttonGroupEl = el) }, buttons.map((button) => (hAsync("button", Object.assign({}, button.htmlAttributes, { type: "button", id: button.id, class: buttonClass$
|
|
10875
|
+
return (hAsync("div", { class: alertButtonGroupClass, ref: (el) => (this.buttonGroupEl = el) }, buttons.map((button) => (hAsync("button", Object.assign({}, button.htmlAttributes, { type: "button", id: button.id, class: buttonClass$1(button), tabIndex: 0, onClick: () => this.buttonClick(button) }), hAsync("span", { class: "alert-button-inner" }, button.text), mode === 'md' && hAsync("ion-ripple-effect", null))))));
|
|
10845
10876
|
}
|
|
10846
10877
|
renderAlertMessage(msgId) {
|
|
10847
10878
|
const { customHTMLEnabled, message } = this;
|
|
@@ -10864,9 +10895,9 @@ class Alert {
|
|
|
10864
10895
|
* If neither are defined, do not set aria-labelledby.
|
|
10865
10896
|
*/
|
|
10866
10897
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
10867
|
-
return (hAsync(Host, { key: '
|
|
10898
|
+
return (hAsync(Host, { key: '80642b44e08bcbe73f7a217578f89716827e2f7d', tabindex: "-1", style: {
|
|
10868
10899
|
zIndex: `${20000 + overlayIndex}`,
|
|
10869
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '
|
|
10900
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: 'f7777dfd624d4a6253681bf36ab3b66389617fb5', tappable: this.backdropDismiss }), hAsync("div", { key: '2a3a03bae54ff66d7d182d41eda7158b5228fdbc', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: '255051adf9deeb3d9b872906b8eaa4a93075325c', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), hAsync("div", { key: '3039e1a0f37617b9cba644b259b62097401cf84b', class: "alert-head" }, header && (hAsync("h2", { key: 'b65dc3fa312a520d893d0710a28d72dfad17d020', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: 'e1f9bd496f2baaa28c7c0c6efb7b84591d1548de', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: 'ffa52291e21ee6a56bf11abbef87c698512ae477', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '5db1dce6054f16ea8da7830754c740ace31eb9d1', tabindex: "0", "aria-hidden": "true" })));
|
|
10870
10901
|
}
|
|
10871
10902
|
get el() { return getElement(this); }
|
|
10872
10903
|
static get watchers() { return {
|
|
@@ -10924,7 +10955,7 @@ const inputClass = (input) => {
|
|
|
10924
10955
|
var _a, _b, _c;
|
|
10925
10956
|
return Object.assign(Object.assign({ 'alert-input': true, 'alert-input-disabled': ((_b = (_a = input.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : input.disabled) || false }, getClassMap(input.cssClass)), getClassMap(input.attributes ? (_c = input.attributes.class) === null || _c === void 0 ? void 0 : _c.toString() : ''));
|
|
10926
10957
|
};
|
|
10927
|
-
const buttonClass$
|
|
10958
|
+
const buttonClass$1 = (button) => {
|
|
10928
10959
|
return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
10929
10960
|
};
|
|
10930
10961
|
|
|
@@ -19263,7 +19294,7 @@ class Input {
|
|
|
19263
19294
|
/**
|
|
19264
19295
|
* Whether auto correction should be enabled when the user is entering/editing the text value.
|
|
19265
19296
|
*/
|
|
19266
|
-
this.autocorrect =
|
|
19297
|
+
this.autocorrect = false;
|
|
19267
19298
|
/**
|
|
19268
19299
|
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
19269
19300
|
*
|
|
@@ -19720,7 +19751,7 @@ class Input {
|
|
|
19720
19751
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
19721
19752
|
*/
|
|
19722
19753
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
19723
|
-
return (hAsync(Host, { key: '
|
|
19754
|
+
return (hAsync(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses$1(this.color, {
|
|
19724
19755
|
[mode]: true,
|
|
19725
19756
|
'has-value': hasValue,
|
|
19726
19757
|
'has-focus': hasFocus,
|
|
@@ -19731,14 +19762,14 @@ class Input {
|
|
|
19731
19762
|
'in-item': inItem,
|
|
19732
19763
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
19733
19764
|
'input-disabled': disabled,
|
|
19734
|
-
}) }, hAsync("label", { key: '
|
|
19765
|
+
}) }, hAsync("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, hAsync("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), hAsync("input", Object.assign({ key: 'ce85703e0434a6322bb4275a924e3cd91c79fa20', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
19735
19766
|
/**
|
|
19736
19767
|
* This prevents mobile browsers from
|
|
19737
19768
|
* blurring the input when the clear
|
|
19738
19769
|
* button is activated.
|
|
19739
19770
|
*/
|
|
19740
19771
|
ev.preventDefault();
|
|
19741
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
19772
|
+
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
|
|
19742
19773
|
}
|
|
19743
19774
|
get el() { return getElement(this); }
|
|
19744
19775
|
static get watchers() { return {
|
|
@@ -19766,7 +19797,7 @@ class Input {
|
|
|
19766
19797
|
"color": [513],
|
|
19767
19798
|
"autocapitalize": [1],
|
|
19768
19799
|
"autocomplete": [1],
|
|
19769
|
-
"autocorrect": [
|
|
19800
|
+
"autocorrect": [4],
|
|
19770
19801
|
"autofocus": [4],
|
|
19771
19802
|
"clearInput": [4, "clear-input"],
|
|
19772
19803
|
"clearInputIcon": [1, "clear-input-icon"],
|
|
@@ -21770,7 +21801,7 @@ class ListHeader {
|
|
|
21770
21801
|
/**
|
|
21771
21802
|
* iOS Loading Enter Animation
|
|
21772
21803
|
*/
|
|
21773
|
-
const iosEnterAnimation$
|
|
21804
|
+
const iosEnterAnimation$3 = (baseEl) => {
|
|
21774
21805
|
const baseAnimation = createAnimation();
|
|
21775
21806
|
const backdropAnimation = createAnimation();
|
|
21776
21807
|
const wrapperAnimation = createAnimation();
|
|
@@ -21795,7 +21826,7 @@ const iosEnterAnimation$4 = (baseEl) => {
|
|
|
21795
21826
|
/**
|
|
21796
21827
|
* iOS Loading Leave Animation
|
|
21797
21828
|
*/
|
|
21798
|
-
const iosLeaveAnimation$
|
|
21829
|
+
const iosLeaveAnimation$3 = (baseEl) => {
|
|
21799
21830
|
const baseAnimation = createAnimation();
|
|
21800
21831
|
const backdropAnimation = createAnimation();
|
|
21801
21832
|
const wrapperAnimation = createAnimation();
|
|
@@ -21968,6 +21999,10 @@ class Loading {
|
|
|
21968
21999
|
}
|
|
21969
22000
|
disconnectedCallback() {
|
|
21970
22001
|
this.triggerController.removeClickListener();
|
|
22002
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
22003
|
+
if (this.presented) {
|
|
22004
|
+
cleanupRootFocusTrapAccessibility();
|
|
22005
|
+
}
|
|
21971
22006
|
}
|
|
21972
22007
|
/**
|
|
21973
22008
|
* Present the loading overlay after it has been created.
|
|
@@ -21975,7 +22010,7 @@ class Loading {
|
|
|
21975
22010
|
async present() {
|
|
21976
22011
|
const unlock = await this.lockController.lock();
|
|
21977
22012
|
await this.delegateController.attachViewToDom();
|
|
21978
|
-
await present(this, 'loadingEnter', iosEnterAnimation$
|
|
22013
|
+
await present(this, 'loadingEnter', iosEnterAnimation$3, mdEnterAnimation$3);
|
|
21979
22014
|
if (this.duration > 0) {
|
|
21980
22015
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);
|
|
21981
22016
|
}
|
|
@@ -21998,7 +22033,7 @@ class Loading {
|
|
|
21998
22033
|
if (this.durationTimeout) {
|
|
21999
22034
|
clearTimeout(this.durationTimeout);
|
|
22000
22035
|
}
|
|
22001
|
-
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$
|
|
22036
|
+
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$3, mdLeaveAnimation$3);
|
|
22002
22037
|
if (dismissed) {
|
|
22003
22038
|
this.delegateController.removeViewFromDom();
|
|
22004
22039
|
}
|
|
@@ -22033,9 +22068,9 @@ class Loading {
|
|
|
22033
22068
|
* Otherwise, don't set aria-labelledby.
|
|
22034
22069
|
*/
|
|
22035
22070
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
22036
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
22071
|
+
return (hAsync(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
22037
22072
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
22038
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
22073
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, hAsync("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
|
|
22039
22074
|
}
|
|
22040
22075
|
get el() { return getElement(this); }
|
|
22041
22076
|
static get watchers() { return {
|
|
@@ -24309,7 +24344,7 @@ const createEnterAnimation$1 = () => {
|
|
|
24309
24344
|
/**
|
|
24310
24345
|
* iOS Modal Enter Animation for the Card presentation style
|
|
24311
24346
|
*/
|
|
24312
|
-
const iosEnterAnimation$
|
|
24347
|
+
const iosEnterAnimation$2 = (baseEl, opts) => {
|
|
24313
24348
|
const { presentingEl, currentBreakpoint, expandToScroll } = opts;
|
|
24314
24349
|
const root = getElementRoot(baseEl);
|
|
24315
24350
|
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
@@ -24402,7 +24437,7 @@ const createLeaveAnimation$1 = () => {
|
|
|
24402
24437
|
/**
|
|
24403
24438
|
* iOS Modal Leave Animation
|
|
24404
24439
|
*/
|
|
24405
|
-
const iosLeaveAnimation$
|
|
24440
|
+
const iosLeaveAnimation$2 = (baseEl, opts, duration = 500) => {
|
|
24406
24441
|
const { presentingEl, currentBreakpoint } = opts;
|
|
24407
24442
|
const root = getElementRoot(baseEl);
|
|
24408
24443
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
|
|
@@ -25775,6 +25810,10 @@ class Modal {
|
|
|
25775
25810
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
25776
25811
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
25777
25812
|
this.cleanupSafeAreaOverrides();
|
|
25813
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
25814
|
+
if (this.presented) {
|
|
25815
|
+
cleanupRootFocusTrapAccessibility();
|
|
25816
|
+
}
|
|
25778
25817
|
}
|
|
25779
25818
|
componentWillLoad() {
|
|
25780
25819
|
var _a;
|
|
@@ -25951,7 +25990,7 @@ class Modal {
|
|
|
25951
25990
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
25952
25991
|
setCardStatusBarDark();
|
|
25953
25992
|
}
|
|
25954
|
-
await present(this, 'modalEnter', iosEnterAnimation$
|
|
25993
|
+
await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
|
|
25955
25994
|
presentingEl: presentingElement,
|
|
25956
25995
|
currentBreakpoint: this.initialBreakpoint,
|
|
25957
25996
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26013,7 +26052,7 @@ class Modal {
|
|
|
26013
26052
|
// All of the elements needed for the swipe gesture
|
|
26014
26053
|
// should be in the DOM and referenced by now, except
|
|
26015
26054
|
// for the presenting el
|
|
26016
|
-
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$
|
|
26055
|
+
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$2);
|
|
26017
26056
|
const ani = (this.animation = animationBuilder(el, {
|
|
26018
26057
|
presentingEl: this.presentingElement,
|
|
26019
26058
|
expandToScroll: this.expandToScroll,
|
|
@@ -26032,7 +26071,7 @@ class Modal {
|
|
|
26032
26071
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
26033
26072
|
return;
|
|
26034
26073
|
}
|
|
26035
|
-
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$
|
|
26074
|
+
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$2);
|
|
26036
26075
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
26037
26076
|
presentingEl: this.presentingElement,
|
|
26038
26077
|
currentBreakpoint: initialBreakpoint,
|
|
@@ -26222,7 +26261,7 @@ class Modal {
|
|
|
26222
26261
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
26223
26262
|
this.keyboardOpenCallback = undefined;
|
|
26224
26263
|
}
|
|
26225
|
-
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$
|
|
26264
|
+
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$2, mdLeaveAnimation$2, {
|
|
26226
26265
|
presentingEl: presentingElement,
|
|
26227
26266
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
26228
26267
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26654,20 +26693,20 @@ class Modal {
|
|
|
26654
26693
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
26655
26694
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
26656
26695
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
26657
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
26696
|
+
return (hAsync(Host, Object.assign({ key: '1a8350cc8389b167ba9dadd2e629d531af5698cf', "no-router": true,
|
|
26658
26697
|
// Allow the modal to be navigable when the handle is focusable
|
|
26659
26698
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
26660
26699
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
26661
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '
|
|
26700
|
+
}, 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',
|
|
26662
26701
|
/*
|
|
26663
26702
|
role and aria-modal must be used on the
|
|
26664
26703
|
same element. They must also be set inside the
|
|
26665
26704
|
shadow DOM otherwise ion-button will not be highlighted
|
|
26666
26705
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
26667
26706
|
*/
|
|
26668
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
26707
|
+
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",
|
|
26669
26708
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
26670
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '
|
|
26709
|
+
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 }))));
|
|
26671
26710
|
}
|
|
26672
26711
|
get el() { return getElement(this); }
|
|
26673
26712
|
static get watchers() { return {
|
|
@@ -27750,14 +27789,14 @@ class Note {
|
|
|
27750
27789
|
}; }
|
|
27751
27790
|
}
|
|
27752
27791
|
|
|
27753
|
-
const pickerIosCss
|
|
27792
|
+
const pickerIosCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}:host .picker-before{inset-inline-start:0}:host .picker-after{top:116px;height:84px}:host .picker-after{inset-inline-start:0}:host .picker-highlight{border-radius:var(--highlight-border-radius, 8px);left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-highlight{background:var(--highlight-background, var(--ion-color-step-150, var(--ion-background-color-step-150, #eeeeef)))}`;
|
|
27754
27793
|
|
|
27755
|
-
const pickerMdCss
|
|
27794
|
+
const pickerMdCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}:host .picker-before{inset-inline-start:0}:host .picker-after{top:116px;height:84px}:host .picker-after{inset-inline-start:0}:host .picker-highlight{border-radius:var(--highlight-border-radius, 8px);left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}`;
|
|
27756
27795
|
|
|
27757
27796
|
/**
|
|
27758
27797
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
27759
27798
|
*/
|
|
27760
|
-
|
|
27799
|
+
class Picker {
|
|
27761
27800
|
constructor(hostRef) {
|
|
27762
27801
|
registerInstance(this, hostRef);
|
|
27763
27802
|
this.ionInputModeChange = createEvent(this, "ionInputModeChange", 7);
|
|
@@ -28223,8 +28262,8 @@ let Picker$1 = class Picker {
|
|
|
28223
28262
|
}
|
|
28224
28263
|
get el() { return getElement(this); }
|
|
28225
28264
|
static get style() { return {
|
|
28226
|
-
ios: pickerIosCss
|
|
28227
|
-
md: pickerMdCss
|
|
28265
|
+
ios: pickerIosCss(),
|
|
28266
|
+
md: pickerMdCss()
|
|
28228
28267
|
}; }
|
|
28229
28268
|
static get cmpMeta() { return {
|
|
28230
28269
|
"$flags$": 297,
|
|
@@ -28236,322 +28275,7 @@ let Picker$1 = class Picker {
|
|
|
28236
28275
|
"$lazyBundleId$": "-",
|
|
28237
28276
|
"$attrsToReflect$": []
|
|
28238
28277
|
}; }
|
|
28239
|
-
};
|
|
28240
|
-
|
|
28241
|
-
/**
|
|
28242
|
-
* iOS Picker Enter Animation
|
|
28243
|
-
*/
|
|
28244
|
-
const iosEnterAnimation$2 = (baseEl) => {
|
|
28245
|
-
const baseAnimation = createAnimation();
|
|
28246
|
-
const backdropAnimation = createAnimation();
|
|
28247
|
-
const wrapperAnimation = createAnimation();
|
|
28248
|
-
backdropAnimation
|
|
28249
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
28250
|
-
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
28251
|
-
.beforeStyles({
|
|
28252
|
-
'pointer-events': 'none',
|
|
28253
|
-
})
|
|
28254
|
-
.afterClearStyles(['pointer-events']);
|
|
28255
|
-
wrapperAnimation
|
|
28256
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
28257
|
-
.fromTo('transform', 'translateY(100%)', 'translateY(0%)');
|
|
28258
|
-
return baseAnimation
|
|
28259
|
-
.addElement(baseEl)
|
|
28260
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
28261
|
-
.duration(400)
|
|
28262
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
28263
|
-
};
|
|
28264
|
-
|
|
28265
|
-
/**
|
|
28266
|
-
* iOS Picker Leave Animation
|
|
28267
|
-
*/
|
|
28268
|
-
const iosLeaveAnimation$2 = (baseEl) => {
|
|
28269
|
-
const baseAnimation = createAnimation();
|
|
28270
|
-
const backdropAnimation = createAnimation();
|
|
28271
|
-
const wrapperAnimation = createAnimation();
|
|
28272
|
-
backdropAnimation
|
|
28273
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
28274
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
|
|
28275
|
-
wrapperAnimation
|
|
28276
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
28277
|
-
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
|
28278
|
-
return baseAnimation
|
|
28279
|
-
.addElement(baseEl)
|
|
28280
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
28281
|
-
.duration(400)
|
|
28282
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
28283
|
-
};
|
|
28284
|
-
|
|
28285
|
-
const pickerIosCss = () => `.sc-ion-picker-legacy-ios-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.sc-ion-picker-legacy-ios-h{inset-inline-start:0}.overlay-hidden.sc-ion-picker-legacy-ios-h{display:none}.picker-wrapper.sc-ion-picker-legacy-ios{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-legacy-ios{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-legacy-ios{border:0;font-family:inherit}.picker-button.sc-ion-picker-legacy-ios:active,.picker-button.sc-ion-picker-legacy-ios:focus{outline:none}.picker-columns.sc-ion-picker-legacy-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-legacy-ios,.picker-below-highlight.sc-ion-picker-legacy-ios{display:none;pointer-events:none}.sc-ion-picker-legacy-ios-h{--background:var(--ion-background-color, #fff);--border-width:1px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-legacy-ios{display:-ms-flexbox;display:flex;height:44px;border-bottom:0.55px solid var(--border-color)}.picker-toolbar-button.sc-ion-picker-legacy-ios{-ms-flex:1;flex:1;text-align:end}.picker-toolbar-button.sc-ion-picker-legacy-ios:last-child .picker-button.sc-ion-picker-legacy-ios{font-weight:600}.picker-toolbar-button.sc-ion-picker-legacy-ios:first-child{font-weight:normal;text-align:start}.picker-button.sc-ion-picker-legacy-ios,.picker-button.ion-activated.sc-ion-picker-legacy-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #0054e9);font-size:16px}.picker-columns.sc-ion-picker-legacy-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-legacy-ios{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:81px;border-bottom:1px solid var(--border-color);background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:10}.picker-above-highlight.sc-ion-picker-legacy-ios{inset-inline-start:0}.picker-below-highlight.sc-ion-picker-legacy-ios{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:119px;border-top:1px solid var(--border-color);background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:11}.picker-below-highlight.sc-ion-picker-legacy-ios{inset-inline-start:0}`;
|
|
28286
|
-
|
|
28287
|
-
const pickerMdCss = () => `.sc-ion-picker-legacy-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.sc-ion-picker-legacy-md-h{inset-inline-start:0}.overlay-hidden.sc-ion-picker-legacy-md-h{display:none}.picker-wrapper.sc-ion-picker-legacy-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-legacy-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-legacy-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-legacy-md:active,.picker-button.sc-ion-picker-legacy-md:focus{outline:none}.picker-columns.sc-ion-picker-legacy-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-legacy-md,.picker-below-highlight.sc-ion-picker-legacy-md{display:none;pointer-events:none}.sc-ion-picker-legacy-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-legacy-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-legacy-md,.picker-button.ion-activated.sc-ion-picker-legacy-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #0054e9);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}.picker-columns.sc-ion-picker-legacy-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-legacy-md{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}.picker-above-highlight.sc-ion-picker-legacy-md{inset-inline-start:0}.picker-below-highlight.sc-ion-picker-legacy-md{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}.picker-below-highlight.sc-ion-picker-legacy-md{inset-inline-start:0}`;
|
|
28288
|
-
|
|
28289
|
-
// TODO(FW-2832): types
|
|
28290
|
-
/**
|
|
28291
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
28292
|
-
*/
|
|
28293
|
-
class Picker {
|
|
28294
|
-
constructor(hostRef) {
|
|
28295
|
-
registerInstance(this, hostRef);
|
|
28296
|
-
this.didPresent = createEvent(this, "ionPickerDidPresent", 7);
|
|
28297
|
-
this.willPresent = createEvent(this, "ionPickerWillPresent", 7);
|
|
28298
|
-
this.willDismiss = createEvent(this, "ionPickerWillDismiss", 7);
|
|
28299
|
-
this.didDismiss = createEvent(this, "ionPickerDidDismiss", 7);
|
|
28300
|
-
this.didPresentShorthand = createEvent(this, "didPresent", 7);
|
|
28301
|
-
this.willPresentShorthand = createEvent(this, "willPresent", 7);
|
|
28302
|
-
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
28303
|
-
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
28304
|
-
this.delegateController = createDelegateController(this);
|
|
28305
|
-
this.lockController = createLockController();
|
|
28306
|
-
this.triggerController = createTriggerController();
|
|
28307
|
-
this.presented = false;
|
|
28308
|
-
/** @internal */
|
|
28309
|
-
this.hasController = false;
|
|
28310
|
-
/**
|
|
28311
|
-
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
28312
|
-
*/
|
|
28313
|
-
this.keyboardClose = true;
|
|
28314
|
-
/**
|
|
28315
|
-
* Array of buttons to be displayed at the top of the picker.
|
|
28316
|
-
*/
|
|
28317
|
-
this.buttons = [];
|
|
28318
|
-
/**
|
|
28319
|
-
* Array of columns to be displayed in the picker.
|
|
28320
|
-
*/
|
|
28321
|
-
this.columns = [];
|
|
28322
|
-
/**
|
|
28323
|
-
* Number of milliseconds to wait before dismissing the picker.
|
|
28324
|
-
*/
|
|
28325
|
-
this.duration = 0;
|
|
28326
|
-
/**
|
|
28327
|
-
* If `true`, a backdrop will be displayed behind the picker.
|
|
28328
|
-
*/
|
|
28329
|
-
this.showBackdrop = true;
|
|
28330
|
-
/**
|
|
28331
|
-
* If `true`, the picker will be dismissed when the backdrop is clicked.
|
|
28332
|
-
*/
|
|
28333
|
-
this.backdropDismiss = true;
|
|
28334
|
-
/**
|
|
28335
|
-
* If `true`, the picker will animate.
|
|
28336
|
-
*/
|
|
28337
|
-
this.animated = true;
|
|
28338
|
-
/**
|
|
28339
|
-
* If `true`, the picker will open. If `false`, the picker will close.
|
|
28340
|
-
* Use this if you need finer grained control over presentation, otherwise
|
|
28341
|
-
* just use the pickerController or the `trigger` property.
|
|
28342
|
-
* Note: `isOpen` will not automatically be set back to `false` when
|
|
28343
|
-
* the picker dismisses. You will need to do that in your code.
|
|
28344
|
-
*/
|
|
28345
|
-
this.isOpen = false;
|
|
28346
|
-
this.onBackdropTap = () => {
|
|
28347
|
-
this.dismiss(undefined, BACKDROP);
|
|
28348
|
-
};
|
|
28349
|
-
this.dispatchCancelHandler = (ev) => {
|
|
28350
|
-
const role = ev.detail.role;
|
|
28351
|
-
if (isCancel(role)) {
|
|
28352
|
-
const cancelButton = this.buttons.find((b) => b.role === 'cancel');
|
|
28353
|
-
this.callButtonHandler(cancelButton);
|
|
28354
|
-
}
|
|
28355
|
-
};
|
|
28356
|
-
}
|
|
28357
|
-
onIsOpenChange(newValue, oldValue) {
|
|
28358
|
-
if (newValue === true && oldValue === false) {
|
|
28359
|
-
this.present();
|
|
28360
|
-
}
|
|
28361
|
-
else if (newValue === false && oldValue === true) {
|
|
28362
|
-
this.dismiss();
|
|
28363
|
-
}
|
|
28364
|
-
}
|
|
28365
|
-
triggerChanged() {
|
|
28366
|
-
const { trigger, el, triggerController } = this;
|
|
28367
|
-
if (trigger) {
|
|
28368
|
-
triggerController.addClickListener(el, trigger);
|
|
28369
|
-
}
|
|
28370
|
-
}
|
|
28371
|
-
connectedCallback() {
|
|
28372
|
-
prepareOverlay(this.el);
|
|
28373
|
-
this.triggerChanged();
|
|
28374
|
-
}
|
|
28375
|
-
disconnectedCallback() {
|
|
28376
|
-
this.triggerController.removeClickListener();
|
|
28377
|
-
}
|
|
28378
|
-
componentWillLoad() {
|
|
28379
|
-
var _a;
|
|
28380
|
-
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
28381
|
-
setOverlayId(this.el);
|
|
28382
|
-
}
|
|
28383
|
-
}
|
|
28384
|
-
componentDidLoad() {
|
|
28385
|
-
printIonWarning('[ion-picker-legacy] - ion-picker-legacy and ion-picker-legacy-column have been deprecated in favor of new versions of the ion-picker and ion-picker-column components. These new components display inline with your page content allowing for more presentation flexibility than before.', this.el);
|
|
28386
|
-
/**
|
|
28387
|
-
* If picker was rendered with isOpen="true"
|
|
28388
|
-
* then we should open picker immediately.
|
|
28389
|
-
*/
|
|
28390
|
-
if (this.isOpen === true) {
|
|
28391
|
-
raf(() => this.present());
|
|
28392
|
-
}
|
|
28393
|
-
/**
|
|
28394
|
-
* When binding values in frameworks such as Angular
|
|
28395
|
-
* it is possible for the value to be set after the Web Component
|
|
28396
|
-
* initializes but before the value watcher is set up in Stencil.
|
|
28397
|
-
* As a result, the watcher callback may not be fired.
|
|
28398
|
-
* We work around this by manually calling the watcher
|
|
28399
|
-
* callback when the component has loaded and the watcher
|
|
28400
|
-
* is configured.
|
|
28401
|
-
*/
|
|
28402
|
-
this.triggerChanged();
|
|
28403
|
-
}
|
|
28404
|
-
/**
|
|
28405
|
-
* Present the picker overlay after it has been created.
|
|
28406
|
-
*/
|
|
28407
|
-
async present() {
|
|
28408
|
-
const unlock = await this.lockController.lock();
|
|
28409
|
-
await this.delegateController.attachViewToDom();
|
|
28410
|
-
await present(this, 'pickerEnter', iosEnterAnimation$2, iosEnterAnimation$2, undefined);
|
|
28411
|
-
if (this.duration > 0) {
|
|
28412
|
-
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
|
|
28413
|
-
}
|
|
28414
|
-
unlock();
|
|
28415
|
-
}
|
|
28416
|
-
/**
|
|
28417
|
-
* Dismiss the picker overlay after it has been presented.
|
|
28418
|
-
*
|
|
28419
|
-
* @param data Any data to emit in the dismiss events.
|
|
28420
|
-
* @param role The role of the element that is dismissing the picker.
|
|
28421
|
-
* This can be useful in a button handler for determining which button was
|
|
28422
|
-
* clicked to dismiss the picker.
|
|
28423
|
-
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
28424
|
-
*/
|
|
28425
|
-
async dismiss(data, role) {
|
|
28426
|
-
const unlock = await this.lockController.lock();
|
|
28427
|
-
if (this.durationTimeout) {
|
|
28428
|
-
clearTimeout(this.durationTimeout);
|
|
28429
|
-
}
|
|
28430
|
-
const dismissed = await dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation$2, iosLeaveAnimation$2);
|
|
28431
|
-
if (dismissed) {
|
|
28432
|
-
this.delegateController.removeViewFromDom();
|
|
28433
|
-
}
|
|
28434
|
-
unlock();
|
|
28435
|
-
return dismissed;
|
|
28436
|
-
}
|
|
28437
|
-
/**
|
|
28438
|
-
* Returns a promise that resolves when the picker did dismiss.
|
|
28439
|
-
*/
|
|
28440
|
-
onDidDismiss() {
|
|
28441
|
-
return eventMethod(this.el, 'ionPickerDidDismiss');
|
|
28442
|
-
}
|
|
28443
|
-
/**
|
|
28444
|
-
* Returns a promise that resolves when the picker will dismiss.
|
|
28445
|
-
*/
|
|
28446
|
-
onWillDismiss() {
|
|
28447
|
-
return eventMethod(this.el, 'ionPickerWillDismiss');
|
|
28448
|
-
}
|
|
28449
|
-
/**
|
|
28450
|
-
* Get the column that matches the specified name.
|
|
28451
|
-
*
|
|
28452
|
-
* @param name The name of the column.
|
|
28453
|
-
*/
|
|
28454
|
-
getColumn(name) {
|
|
28455
|
-
return Promise.resolve(this.columns.find((column) => column.name === name));
|
|
28456
|
-
}
|
|
28457
|
-
async buttonClick(button) {
|
|
28458
|
-
const role = button.role;
|
|
28459
|
-
if (isCancel(role)) {
|
|
28460
|
-
return this.dismiss(undefined, role);
|
|
28461
|
-
}
|
|
28462
|
-
const shouldDismiss = await this.callButtonHandler(button);
|
|
28463
|
-
if (shouldDismiss) {
|
|
28464
|
-
return this.dismiss(this.getSelected(), button.role);
|
|
28465
|
-
}
|
|
28466
|
-
return Promise.resolve();
|
|
28467
|
-
}
|
|
28468
|
-
async callButtonHandler(button) {
|
|
28469
|
-
if (button) {
|
|
28470
|
-
// a handler has been provided, execute it
|
|
28471
|
-
// pass the handler the values from the inputs
|
|
28472
|
-
const rtn = await safeCall(button.handler, this.getSelected());
|
|
28473
|
-
if (rtn === false) {
|
|
28474
|
-
// if the return value of the handler is false then do not dismiss
|
|
28475
|
-
return false;
|
|
28476
|
-
}
|
|
28477
|
-
}
|
|
28478
|
-
return true;
|
|
28479
|
-
}
|
|
28480
|
-
getSelected() {
|
|
28481
|
-
const selected = {};
|
|
28482
|
-
this.columns.forEach((col, index) => {
|
|
28483
|
-
const selectedColumn = col.selectedIndex !== undefined ? col.options[col.selectedIndex] : undefined;
|
|
28484
|
-
selected[col.name] = {
|
|
28485
|
-
text: selectedColumn ? selectedColumn.text : undefined,
|
|
28486
|
-
value: selectedColumn ? selectedColumn.value : undefined,
|
|
28487
|
-
columnIndex: index,
|
|
28488
|
-
};
|
|
28489
|
-
});
|
|
28490
|
-
return selected;
|
|
28491
|
-
}
|
|
28492
|
-
render() {
|
|
28493
|
-
const { htmlAttributes } = this;
|
|
28494
|
-
const mode = getIonMode$1(this);
|
|
28495
|
-
return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
28496
|
-
zIndex: `${20000 + this.overlayIndex}`,
|
|
28497
|
-
}, class: Object.assign({ [mode]: true,
|
|
28498
|
-
// Used internally for styling
|
|
28499
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, hAsync("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), hAsync("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
|
|
28500
|
-
}
|
|
28501
|
-
get el() { return getElement(this); }
|
|
28502
|
-
static get watchers() { return {
|
|
28503
|
-
"isOpen": [{
|
|
28504
|
-
"onIsOpenChange": 0
|
|
28505
|
-
}],
|
|
28506
|
-
"trigger": [{
|
|
28507
|
-
"triggerChanged": 0
|
|
28508
|
-
}]
|
|
28509
|
-
}; }
|
|
28510
|
-
static get style() { return {
|
|
28511
|
-
ios: pickerIosCss(),
|
|
28512
|
-
md: pickerMdCss()
|
|
28513
|
-
}; }
|
|
28514
|
-
static get cmpMeta() { return {
|
|
28515
|
-
"$flags$": 34,
|
|
28516
|
-
"$tagName$": "ion-picker-legacy",
|
|
28517
|
-
"$members$": {
|
|
28518
|
-
"overlayIndex": [2, "overlay-index"],
|
|
28519
|
-
"delegate": [16],
|
|
28520
|
-
"hasController": [4, "has-controller"],
|
|
28521
|
-
"keyboardClose": [4, "keyboard-close"],
|
|
28522
|
-
"enterAnimation": [16],
|
|
28523
|
-
"leaveAnimation": [16],
|
|
28524
|
-
"buttons": [16],
|
|
28525
|
-
"columns": [16],
|
|
28526
|
-
"cssClass": [1, "css-class"],
|
|
28527
|
-
"duration": [2],
|
|
28528
|
-
"showBackdrop": [4, "show-backdrop"],
|
|
28529
|
-
"backdropDismiss": [4, "backdrop-dismiss"],
|
|
28530
|
-
"animated": [4],
|
|
28531
|
-
"htmlAttributes": [16],
|
|
28532
|
-
"isOpen": [4, "is-open"],
|
|
28533
|
-
"trigger": [1],
|
|
28534
|
-
"presented": [32],
|
|
28535
|
-
"present": [64],
|
|
28536
|
-
"dismiss": [64],
|
|
28537
|
-
"onDidDismiss": [64],
|
|
28538
|
-
"onWillDismiss": [64],
|
|
28539
|
-
"getColumn": [64]
|
|
28540
|
-
},
|
|
28541
|
-
"$listeners$": undefined,
|
|
28542
|
-
"$lazyBundleId$": "-",
|
|
28543
|
-
"$attrsToReflect$": []
|
|
28544
|
-
}; }
|
|
28545
28278
|
}
|
|
28546
|
-
const buttonWrapperClass = (button) => {
|
|
28547
|
-
return {
|
|
28548
|
-
[`picker-toolbar-${button.role}`]: button.role !== undefined,
|
|
28549
|
-
'picker-toolbar-button': true,
|
|
28550
|
-
};
|
|
28551
|
-
};
|
|
28552
|
-
const buttonClass$1 = (button) => {
|
|
28553
|
-
return Object.assign({ 'picker-button': true, 'ion-activatable': true }, getClassMap(button.cssClass));
|
|
28554
|
-
};
|
|
28555
28279
|
|
|
28556
28280
|
const pickerColumnCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
|
|
28557
28281
|
|
|
@@ -29138,371 +28862,6 @@ class PickerColumn {
|
|
|
29138
28862
|
}
|
|
29139
28863
|
const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
|
|
29140
28864
|
|
|
29141
|
-
const pickerColumnIosCss = () => `.picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}}`;
|
|
29142
|
-
|
|
29143
|
-
const pickerColumnMdCss = () => `.picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #0054e9)}`;
|
|
29144
|
-
|
|
29145
|
-
/**
|
|
29146
|
-
* @internal
|
|
29147
|
-
*/
|
|
29148
|
-
class PickerColumnCmp {
|
|
29149
|
-
constructor(hostRef) {
|
|
29150
|
-
registerInstance(this, hostRef);
|
|
29151
|
-
this.ionPickerColChange = createEvent(this, "ionPickerColChange", 7);
|
|
29152
|
-
this.optHeight = 0;
|
|
29153
|
-
this.rotateFactor = 0;
|
|
29154
|
-
this.scaleFactor = 1;
|
|
29155
|
-
this.velocity = 0;
|
|
29156
|
-
this.y = 0;
|
|
29157
|
-
this.noAnimate = true;
|
|
29158
|
-
// `colDidChange` is a flag that gets set when the column is changed
|
|
29159
|
-
// dynamically. When this flag is set, the column will refresh
|
|
29160
|
-
// after the component re-renders to incorporate the new column data.
|
|
29161
|
-
// This is necessary because `this.refresh` queries for the option elements,
|
|
29162
|
-
// so it needs to wait for the latest elements to be available in the DOM.
|
|
29163
|
-
// Ex: column is created with 3 options. User updates the column data
|
|
29164
|
-
// to have 5 options. The column will still think it only has 3 options.
|
|
29165
|
-
this.colDidChange = false;
|
|
29166
|
-
}
|
|
29167
|
-
colChanged() {
|
|
29168
|
-
this.colDidChange = true;
|
|
29169
|
-
}
|
|
29170
|
-
async connectedCallback() {
|
|
29171
|
-
let pickerRotateFactor = 0;
|
|
29172
|
-
let pickerScaleFactor = 0.81;
|
|
29173
|
-
const mode = getIonMode$1(this);
|
|
29174
|
-
if (mode === 'ios') {
|
|
29175
|
-
pickerRotateFactor = -0.46;
|
|
29176
|
-
pickerScaleFactor = 1;
|
|
29177
|
-
}
|
|
29178
|
-
this.rotateFactor = pickerRotateFactor;
|
|
29179
|
-
this.scaleFactor = pickerScaleFactor;
|
|
29180
|
-
this.gesture = (await Promise.resolve().then(function () { return index; })).createGesture({
|
|
29181
|
-
el: this.el,
|
|
29182
|
-
gestureName: 'picker-swipe',
|
|
29183
|
-
gesturePriority: 100,
|
|
29184
|
-
threshold: 0,
|
|
29185
|
-
passive: false,
|
|
29186
|
-
onStart: (ev) => this.onStart(ev),
|
|
29187
|
-
onMove: (ev) => this.onMove(ev),
|
|
29188
|
-
onEnd: (ev) => this.onEnd(ev),
|
|
29189
|
-
});
|
|
29190
|
-
this.gesture.enable();
|
|
29191
|
-
// Options have not been initialized yet
|
|
29192
|
-
// Animation must be disabled through the `noAnimate` flag
|
|
29193
|
-
// Otherwise, the options will render
|
|
29194
|
-
// at the top of the column and transition down
|
|
29195
|
-
this.tmrId = setTimeout(() => {
|
|
29196
|
-
this.noAnimate = false;
|
|
29197
|
-
// After initialization, `refresh()` will be called
|
|
29198
|
-
// At this point, animation will be enabled. The options will
|
|
29199
|
-
// animate as they are being selected.
|
|
29200
|
-
this.refresh(true);
|
|
29201
|
-
}, 250);
|
|
29202
|
-
}
|
|
29203
|
-
componentDidLoad() {
|
|
29204
|
-
this.onDomChange();
|
|
29205
|
-
}
|
|
29206
|
-
componentDidUpdate() {
|
|
29207
|
-
// Options may have changed since last update.
|
|
29208
|
-
if (this.colDidChange) {
|
|
29209
|
-
// Animation must be disabled through the `onDomChange` parameter.
|
|
29210
|
-
// Otherwise, the recently added options will render
|
|
29211
|
-
// at the top of the column and transition down
|
|
29212
|
-
this.onDomChange(true, false);
|
|
29213
|
-
this.colDidChange = false;
|
|
29214
|
-
}
|
|
29215
|
-
}
|
|
29216
|
-
disconnectedCallback() {
|
|
29217
|
-
if (this.rafId !== undefined)
|
|
29218
|
-
cancelAnimationFrame(this.rafId);
|
|
29219
|
-
if (this.tmrId)
|
|
29220
|
-
clearTimeout(this.tmrId);
|
|
29221
|
-
if (this.gesture) {
|
|
29222
|
-
this.gesture.destroy();
|
|
29223
|
-
this.gesture = undefined;
|
|
29224
|
-
}
|
|
29225
|
-
}
|
|
29226
|
-
emitColChange() {
|
|
29227
|
-
this.ionPickerColChange.emit(this.col);
|
|
29228
|
-
}
|
|
29229
|
-
setSelected(selectedIndex, duration) {
|
|
29230
|
-
// if there is a selected index, then figure out it's y position
|
|
29231
|
-
// if there isn't a selected index, then just use the top y position
|
|
29232
|
-
const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
|
|
29233
|
-
this.velocity = 0;
|
|
29234
|
-
// set what y position we're at
|
|
29235
|
-
if (this.rafId !== undefined)
|
|
29236
|
-
cancelAnimationFrame(this.rafId);
|
|
29237
|
-
this.update(y, duration, true);
|
|
29238
|
-
this.emitColChange();
|
|
29239
|
-
}
|
|
29240
|
-
update(y, duration, saveY) {
|
|
29241
|
-
if (!this.optsEl) {
|
|
29242
|
-
return;
|
|
29243
|
-
}
|
|
29244
|
-
// ensure we've got a good round number :)
|
|
29245
|
-
let translateY = 0;
|
|
29246
|
-
let translateZ = 0;
|
|
29247
|
-
const { col, rotateFactor } = this;
|
|
29248
|
-
const prevSelected = col.selectedIndex;
|
|
29249
|
-
const selectedIndex = (col.selectedIndex = this.indexForY(-y));
|
|
29250
|
-
const durationStr = duration === 0 ? '' : duration + 'ms';
|
|
29251
|
-
const scaleStr = `scale(${this.scaleFactor})`;
|
|
29252
|
-
const children = this.optsEl.children;
|
|
29253
|
-
for (let i = 0; i < children.length; i++) {
|
|
29254
|
-
const button = children[i];
|
|
29255
|
-
const opt = col.options[i];
|
|
29256
|
-
const optOffset = i * this.optHeight + y;
|
|
29257
|
-
let transform = '';
|
|
29258
|
-
if (rotateFactor !== 0) {
|
|
29259
|
-
const rotateX = optOffset * rotateFactor;
|
|
29260
|
-
if (Math.abs(rotateX) <= 90) {
|
|
29261
|
-
translateY = 0;
|
|
29262
|
-
translateZ = 90;
|
|
29263
|
-
transform = `rotateX(${rotateX}deg) `;
|
|
29264
|
-
}
|
|
29265
|
-
else {
|
|
29266
|
-
translateY = -9999;
|
|
29267
|
-
}
|
|
29268
|
-
}
|
|
29269
|
-
else {
|
|
29270
|
-
translateZ = 0;
|
|
29271
|
-
translateY = optOffset;
|
|
29272
|
-
}
|
|
29273
|
-
const selected = selectedIndex === i;
|
|
29274
|
-
transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
|
|
29275
|
-
if (this.scaleFactor !== 1 && !selected) {
|
|
29276
|
-
transform += scaleStr;
|
|
29277
|
-
}
|
|
29278
|
-
// Update transition duration
|
|
29279
|
-
if (this.noAnimate) {
|
|
29280
|
-
opt.duration = 0;
|
|
29281
|
-
button.style.transitionDuration = '';
|
|
29282
|
-
}
|
|
29283
|
-
else if (duration !== opt.duration) {
|
|
29284
|
-
opt.duration = duration;
|
|
29285
|
-
button.style.transitionDuration = durationStr;
|
|
29286
|
-
}
|
|
29287
|
-
// Update transform
|
|
29288
|
-
if (transform !== opt.transform) {
|
|
29289
|
-
opt.transform = transform;
|
|
29290
|
-
}
|
|
29291
|
-
button.style.transform = transform;
|
|
29292
|
-
/**
|
|
29293
|
-
* Ensure that the select column
|
|
29294
|
-
* item has the selected class
|
|
29295
|
-
*/
|
|
29296
|
-
opt.selected = selected;
|
|
29297
|
-
if (selected) {
|
|
29298
|
-
button.classList.add(PICKER_OPT_SELECTED);
|
|
29299
|
-
}
|
|
29300
|
-
else {
|
|
29301
|
-
button.classList.remove(PICKER_OPT_SELECTED);
|
|
29302
|
-
}
|
|
29303
|
-
}
|
|
29304
|
-
this.col.prevSelected = prevSelected;
|
|
29305
|
-
if (saveY) {
|
|
29306
|
-
this.y = y;
|
|
29307
|
-
}
|
|
29308
|
-
if (this.lastIndex !== selectedIndex) {
|
|
29309
|
-
// have not set a last index yet
|
|
29310
|
-
hapticSelectionChanged();
|
|
29311
|
-
this.lastIndex = selectedIndex;
|
|
29312
|
-
}
|
|
29313
|
-
}
|
|
29314
|
-
decelerate() {
|
|
29315
|
-
if (this.velocity !== 0) {
|
|
29316
|
-
// still decelerating
|
|
29317
|
-
this.velocity *= DECELERATION_FRICTION;
|
|
29318
|
-
// do not let it go slower than a velocity of 1
|
|
29319
|
-
this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
|
|
29320
|
-
let y = this.y + this.velocity;
|
|
29321
|
-
if (y > this.minY) {
|
|
29322
|
-
// whoops, it's trying to scroll up farther than the options we have!
|
|
29323
|
-
y = this.minY;
|
|
29324
|
-
this.velocity = 0;
|
|
29325
|
-
}
|
|
29326
|
-
else if (y < this.maxY) {
|
|
29327
|
-
// gahh, it's trying to scroll down farther than we can!
|
|
29328
|
-
y = this.maxY;
|
|
29329
|
-
this.velocity = 0;
|
|
29330
|
-
}
|
|
29331
|
-
this.update(y, 0, true);
|
|
29332
|
-
const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
|
|
29333
|
-
if (notLockedIn) {
|
|
29334
|
-
// isn't locked in yet, keep decelerating until it is
|
|
29335
|
-
this.rafId = requestAnimationFrame(() => this.decelerate());
|
|
29336
|
-
}
|
|
29337
|
-
else {
|
|
29338
|
-
this.velocity = 0;
|
|
29339
|
-
this.emitColChange();
|
|
29340
|
-
hapticSelectionEnd();
|
|
29341
|
-
}
|
|
29342
|
-
}
|
|
29343
|
-
else if (this.y % this.optHeight !== 0) {
|
|
29344
|
-
// needs to still get locked into a position so options line up
|
|
29345
|
-
const currentPos = Math.abs(this.y % this.optHeight);
|
|
29346
|
-
// create a velocity in the direction it needs to scroll
|
|
29347
|
-
this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
|
|
29348
|
-
this.decelerate();
|
|
29349
|
-
}
|
|
29350
|
-
}
|
|
29351
|
-
indexForY(y) {
|
|
29352
|
-
return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
|
|
29353
|
-
}
|
|
29354
|
-
onStart(detail) {
|
|
29355
|
-
// We have to prevent default in order to block scrolling under the picker
|
|
29356
|
-
// but we DO NOT have to stop propagation, since we still want
|
|
29357
|
-
// some "click" events to capture
|
|
29358
|
-
if (detail.event.cancelable) {
|
|
29359
|
-
detail.event.preventDefault();
|
|
29360
|
-
}
|
|
29361
|
-
detail.event.stopPropagation();
|
|
29362
|
-
hapticSelectionStart();
|
|
29363
|
-
// reset everything
|
|
29364
|
-
if (this.rafId !== undefined)
|
|
29365
|
-
cancelAnimationFrame(this.rafId);
|
|
29366
|
-
const options = this.col.options;
|
|
29367
|
-
let minY = options.length - 1;
|
|
29368
|
-
let maxY = 0;
|
|
29369
|
-
for (let i = 0; i < options.length; i++) {
|
|
29370
|
-
if (!options[i].disabled) {
|
|
29371
|
-
minY = Math.min(minY, i);
|
|
29372
|
-
maxY = Math.max(maxY, i);
|
|
29373
|
-
}
|
|
29374
|
-
}
|
|
29375
|
-
this.minY = -(minY * this.optHeight);
|
|
29376
|
-
this.maxY = -(maxY * this.optHeight);
|
|
29377
|
-
}
|
|
29378
|
-
onMove(detail) {
|
|
29379
|
-
if (detail.event.cancelable) {
|
|
29380
|
-
detail.event.preventDefault();
|
|
29381
|
-
}
|
|
29382
|
-
detail.event.stopPropagation();
|
|
29383
|
-
// update the scroll position relative to pointer start position
|
|
29384
|
-
let y = this.y + detail.deltaY;
|
|
29385
|
-
if (y > this.minY) {
|
|
29386
|
-
// scrolling up higher than scroll area
|
|
29387
|
-
y = Math.pow(y, 0.8);
|
|
29388
|
-
this.bounceFrom = y;
|
|
29389
|
-
}
|
|
29390
|
-
else if (y < this.maxY) {
|
|
29391
|
-
// scrolling down below scroll area
|
|
29392
|
-
y += Math.pow(this.maxY - y, 0.9);
|
|
29393
|
-
this.bounceFrom = y;
|
|
29394
|
-
}
|
|
29395
|
-
else {
|
|
29396
|
-
this.bounceFrom = 0;
|
|
29397
|
-
}
|
|
29398
|
-
this.update(y, 0, false);
|
|
29399
|
-
}
|
|
29400
|
-
onEnd(detail) {
|
|
29401
|
-
if (this.bounceFrom > 0) {
|
|
29402
|
-
// bounce back up
|
|
29403
|
-
this.update(this.minY, 100, true);
|
|
29404
|
-
this.emitColChange();
|
|
29405
|
-
return;
|
|
29406
|
-
}
|
|
29407
|
-
else if (this.bounceFrom < 0) {
|
|
29408
|
-
// bounce back down
|
|
29409
|
-
this.update(this.maxY, 100, true);
|
|
29410
|
-
this.emitColChange();
|
|
29411
|
-
return;
|
|
29412
|
-
}
|
|
29413
|
-
this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
|
|
29414
|
-
if (this.velocity === 0 && detail.deltaY === 0) {
|
|
29415
|
-
const opt = detail.event.target.closest('.picker-opt');
|
|
29416
|
-
if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
|
|
29417
|
-
this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
|
|
29418
|
-
}
|
|
29419
|
-
}
|
|
29420
|
-
else {
|
|
29421
|
-
this.y += detail.deltaY;
|
|
29422
|
-
if (Math.abs(detail.velocityY) < 0.05) {
|
|
29423
|
-
const isScrollingUp = detail.deltaY > 0;
|
|
29424
|
-
const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
|
|
29425
|
-
if (isScrollingUp && optHeightFraction > 0.5) {
|
|
29426
|
-
this.velocity = Math.abs(this.velocity) * -1;
|
|
29427
|
-
}
|
|
29428
|
-
else if (!isScrollingUp && optHeightFraction <= 0.5) {
|
|
29429
|
-
this.velocity = Math.abs(this.velocity);
|
|
29430
|
-
}
|
|
29431
|
-
}
|
|
29432
|
-
this.decelerate();
|
|
29433
|
-
}
|
|
29434
|
-
}
|
|
29435
|
-
refresh(forceRefresh, animated) {
|
|
29436
|
-
var _a;
|
|
29437
|
-
let min = this.col.options.length - 1;
|
|
29438
|
-
let max = 0;
|
|
29439
|
-
const options = this.col.options;
|
|
29440
|
-
for (let i = 0; i < options.length; i++) {
|
|
29441
|
-
if (!options[i].disabled) {
|
|
29442
|
-
min = Math.min(min, i);
|
|
29443
|
-
max = Math.max(max, i);
|
|
29444
|
-
}
|
|
29445
|
-
}
|
|
29446
|
-
/**
|
|
29447
|
-
* Only update selected value if column has a
|
|
29448
|
-
* velocity of 0. If it does not, then the
|
|
29449
|
-
* column is animating might land on
|
|
29450
|
-
* a value different than the value at
|
|
29451
|
-
* selectedIndex
|
|
29452
|
-
*/
|
|
29453
|
-
if (this.velocity !== 0) {
|
|
29454
|
-
return;
|
|
29455
|
-
}
|
|
29456
|
-
const selectedIndex = clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
|
|
29457
|
-
if (this.col.prevSelected !== selectedIndex || forceRefresh) {
|
|
29458
|
-
const y = selectedIndex * this.optHeight * -1;
|
|
29459
|
-
const duration = animated ? TRANSITION_DURATION : 0;
|
|
29460
|
-
this.velocity = 0;
|
|
29461
|
-
this.update(y, duration, true);
|
|
29462
|
-
}
|
|
29463
|
-
}
|
|
29464
|
-
onDomChange(forceRefresh, animated) {
|
|
29465
|
-
const colEl = this.optsEl;
|
|
29466
|
-
if (colEl) {
|
|
29467
|
-
// DOM READ
|
|
29468
|
-
// We perfom a DOM read over a rendered item, this needs to happen after the first render or after the column has changed
|
|
29469
|
-
this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
|
|
29470
|
-
}
|
|
29471
|
-
this.refresh(forceRefresh, animated);
|
|
29472
|
-
}
|
|
29473
|
-
render() {
|
|
29474
|
-
const col = this.col;
|
|
29475
|
-
const mode = getIonMode$1(this);
|
|
29476
|
-
return (hAsync(Host, { key: '86125e95f18837dfd021db01777d72a1562d8ee3', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
29477
|
-
'max-width': this.col.columnWidth,
|
|
29478
|
-
} }, col.prefix && (hAsync("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
29479
|
-
}
|
|
29480
|
-
get el() { return getElement(this); }
|
|
29481
|
-
static get watchers() { return {
|
|
29482
|
-
"col": [{
|
|
29483
|
-
"colChanged": 0
|
|
29484
|
-
}]
|
|
29485
|
-
}; }
|
|
29486
|
-
static get style() { return {
|
|
29487
|
-
ios: pickerColumnIosCss(),
|
|
29488
|
-
md: pickerColumnMdCss()
|
|
29489
|
-
}; }
|
|
29490
|
-
static get cmpMeta() { return {
|
|
29491
|
-
"$flags$": 32,
|
|
29492
|
-
"$tagName$": "ion-picker-legacy-column",
|
|
29493
|
-
"$members$": {
|
|
29494
|
-
"col": [16]
|
|
29495
|
-
},
|
|
29496
|
-
"$listeners$": undefined,
|
|
29497
|
-
"$lazyBundleId$": "-",
|
|
29498
|
-
"$attrsToReflect$": []
|
|
29499
|
-
}; }
|
|
29500
|
-
}
|
|
29501
|
-
const PICKER_OPT_SELECTED = 'picker-opt-selected';
|
|
29502
|
-
const DECELERATION_FRICTION = 0.97;
|
|
29503
|
-
const MAX_PICKER_SPEED = 90;
|
|
29504
|
-
const TRANSITION_DURATION = 150;
|
|
29505
|
-
|
|
29506
28865
|
const pickerColumnOptionIosCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}`;
|
|
29507
28866
|
|
|
29508
28867
|
const pickerColumnOptionMdCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active),:host([part~=active]){color:var(--ion-color-base)}`;
|
|
@@ -30924,6 +30283,10 @@ class Popover {
|
|
|
30924
30283
|
this.headerResizeObserver.disconnect();
|
|
30925
30284
|
this.headerResizeObserver = undefined;
|
|
30926
30285
|
}
|
|
30286
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
30287
|
+
if (this.presented) {
|
|
30288
|
+
cleanupRootFocusTrapAccessibility();
|
|
30289
|
+
}
|
|
30927
30290
|
}
|
|
30928
30291
|
componentWillLoad() {
|
|
30929
30292
|
var _a, _b;
|
|
@@ -31162,9 +30525,9 @@ class Popover {
|
|
|
31162
30525
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
31163
30526
|
const desktop = isPlatform('desktop');
|
|
31164
30527
|
const enableArrow = arrow && !parentPopover;
|
|
31165
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30528
|
+
return (hAsync(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
31166
30529
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
31167
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '
|
|
30530
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, hAsync("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
|
|
31168
30531
|
}
|
|
31169
30532
|
get el() { return getElement(this); }
|
|
31170
30533
|
static get watchers() { return {
|
|
@@ -31275,7 +30638,7 @@ class ProgressBar {
|
|
|
31275
30638
|
const mode = getIonMode$1(this);
|
|
31276
30639
|
// If the progress is displayed as a solid bar.
|
|
31277
30640
|
const progressSolid = buffer === 1;
|
|
31278
|
-
return (hAsync(Host, { key: '
|
|
30641
|
+
return (hAsync(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
31279
30642
|
[mode]: true,
|
|
31280
30643
|
[`progress-bar-${type}`]: true,
|
|
31281
30644
|
'progress-paused': paused,
|
|
@@ -31460,7 +30823,7 @@ class Radio {
|
|
|
31460
30823
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
31461
30824
|
const mode = getIonMode$1(this);
|
|
31462
30825
|
const inItem = hostContext('ion-item', el);
|
|
31463
|
-
return (hAsync(Host, { key: '
|
|
30826
|
+
return (hAsync(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
31464
30827
|
[mode]: true,
|
|
31465
30828
|
'in-item': inItem,
|
|
31466
30829
|
'radio-checked': checked,
|
|
@@ -31471,10 +30834,10 @@ class Radio {
|
|
|
31471
30834
|
// Focus and active styling should not apply when the radio is in an item
|
|
31472
30835
|
'ion-activatable': !inItem,
|
|
31473
30836
|
'ion-focusable': !inItem,
|
|
31474
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
30837
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, hAsync("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
|
|
31475
30838
|
'label-text-wrapper': true,
|
|
31476
30839
|
'label-text-wrapper-hidden': !hasLabel,
|
|
31477
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
30840
|
+
}, part: "label" }, hAsync("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), hAsync("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
31478
30841
|
}
|
|
31479
30842
|
get el() { return getElement(this); }
|
|
31480
30843
|
static get watchers() { return {
|
|
@@ -31493,7 +30856,7 @@ class Radio {
|
|
|
31493
30856
|
"color": [513],
|
|
31494
30857
|
"name": [1],
|
|
31495
30858
|
"disabled": [4],
|
|
31496
|
-
"value": [
|
|
30859
|
+
"value": [520],
|
|
31497
30860
|
"labelPlacement": [1, "label-placement"],
|
|
31498
30861
|
"justify": [1],
|
|
31499
30862
|
"alignment": [1],
|
|
@@ -31504,7 +30867,7 @@ class Radio {
|
|
|
31504
30867
|
},
|
|
31505
30868
|
"$listeners$": undefined,
|
|
31506
30869
|
"$lazyBundleId$": "-",
|
|
31507
|
-
"$attrsToReflect$": [["color", "color"]]
|
|
30870
|
+
"$attrsToReflect$": [["color", "color"], ["value", "value"]]
|
|
31508
30871
|
}; }
|
|
31509
30872
|
}
|
|
31510
30873
|
let radioButtonIds = 0;
|
|
@@ -32569,7 +31932,7 @@ class Range {
|
|
|
32569
31932
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
32570
31933
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
32571
31934
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
32572
|
-
return (hAsync(Host, { key: '
|
|
31935
|
+
return (hAsync(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
32573
31936
|
[mode]: true,
|
|
32574
31937
|
'in-item': inItem,
|
|
32575
31938
|
'range-disabled': disabled,
|
|
@@ -32583,10 +31946,10 @@ class Range {
|
|
|
32583
31946
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
32584
31947
|
'range-value-min': valueAtMin,
|
|
32585
31948
|
'range-value-max': valueAtMax,
|
|
32586
|
-
}) }, hAsync("label", { key: '
|
|
31949
|
+
}) }, hAsync("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
|
|
32587
31950
|
'label-text-wrapper': true,
|
|
32588
31951
|
'label-text-wrapper-hidden': !hasLabel,
|
|
32589
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
31952
|
+
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, hAsync("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
|
|
32590
31953
|
}
|
|
32591
31954
|
get el() { return getElement(this); }
|
|
32592
31955
|
static get watchers() { return {
|
|
@@ -33657,7 +33020,7 @@ class Refresher {
|
|
|
33657
33020
|
}
|
|
33658
33021
|
render() {
|
|
33659
33022
|
const mode = getIonMode$1(this);
|
|
33660
|
-
return (hAsync(Host, { key: '
|
|
33023
|
+
return (hAsync(Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
|
|
33661
33024
|
[mode]: true,
|
|
33662
33025
|
// Used internally for styling
|
|
33663
33026
|
[`refresher-${mode}`]: true,
|
|
@@ -33883,7 +33246,7 @@ class RefresherContent {
|
|
|
33883
33246
|
const pullingIcon = this.pullingIcon;
|
|
33884
33247
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
33885
33248
|
const mode = getIonMode$1(this);
|
|
33886
|
-
return (hAsync(Host, { key: '
|
|
33249
|
+
return (hAsync(Host, { key: 'ec378d6a302be697c12c4f973a57c6ad2ada070f', class: mode }, hAsync("div", { key: '0055f98f8c5a1ed7979dc8146ec1f82a575860c7', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '4f88468e26370df6889e72aa54ebb395ebf3757d', class: "refresher-pulling-icon" }, hAsync("div", { key: '05b3f8679576aaa6c2d84d60df6629a392df29e2', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '0bf6ceea416ce1140c0f10a5bede063cae7054f4', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: 'b71ede8455837968218edae28504e5e14bbc1f5c', class: "arrow-container" }, hAsync("ion-icon", { key: '30b808288d23d3eac681b1225cd8392fdacfefe1', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: 'fee1ae7e57ef8a02f5654808dff9dca3002b6702', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: '55b34a98028adb497fbc2ac66bdb3d5ae5b1705b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'ef8f987daa8060cb6f8fd83c0864095042b9eecf', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: 'cd6fe0e81b34eeae11478fcc8a42044bff6f7a52', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '9cd778229582b538d54589c4d8e4d470efb64aad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
33887
33250
|
}
|
|
33888
33251
|
get el() { return getElement(this); }
|
|
33889
33252
|
static get cmpMeta() { return {
|
|
@@ -33924,7 +33287,7 @@ class Reorder {
|
|
|
33924
33287
|
render() {
|
|
33925
33288
|
const mode = getIonMode$1(this);
|
|
33926
33289
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
33927
|
-
return (hAsync(Host, { key: '
|
|
33290
|
+
return (hAsync(Host, { key: '4d35db30b5b3df2020d2212abb3cfac94f9bc2b8', class: mode }, hAsync("slot", { key: '68a565ae4a47f6a9f5d6ba845b596fdfa629ece8' }, hAsync("ion-icon", { key: '168fb0f8eb9c02329274488900fcdb05d44cb895', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
33928
33291
|
}
|
|
33929
33292
|
get el() { return getElement(this); }
|
|
33930
33293
|
static get style() { return {
|
|
@@ -34195,7 +33558,7 @@ class ReorderGroup {
|
|
|
34195
33558
|
}
|
|
34196
33559
|
render() {
|
|
34197
33560
|
const mode = getIonMode$1(this);
|
|
34198
|
-
return (hAsync(Host, { key: '
|
|
33561
|
+
return (hAsync(Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
|
|
34199
33562
|
[mode]: true,
|
|
34200
33563
|
'reorder-enabled': !this.disabled,
|
|
34201
33564
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -34313,7 +33676,7 @@ class RippleEffect {
|
|
|
34313
33676
|
}
|
|
34314
33677
|
render() {
|
|
34315
33678
|
const mode = getIonMode$1(this);
|
|
34316
|
-
return (hAsync(Host, { key: '
|
|
33679
|
+
return (hAsync(Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
|
|
34317
33680
|
[mode]: true,
|
|
34318
33681
|
unbounded: this.unbounded,
|
|
34319
33682
|
} }));
|
|
@@ -35447,10 +34810,10 @@ class RouterLink {
|
|
|
35447
34810
|
rel: this.rel,
|
|
35448
34811
|
target: this.target,
|
|
35449
34812
|
};
|
|
35450
|
-
return (hAsync(Host, { key: '
|
|
34813
|
+
return (hAsync(Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
35451
34814
|
[mode]: true,
|
|
35452
34815
|
'ion-activatable': true,
|
|
35453
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
34816
|
+
}) }, hAsync("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), hAsync("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
|
|
35454
34817
|
}
|
|
35455
34818
|
static get style() { return routerLinkCss(); }
|
|
35456
34819
|
static get cmpMeta() { return {
|
|
@@ -35489,10 +34852,11 @@ class RouterOutlet {
|
|
|
35489
34852
|
*/
|
|
35490
34853
|
this.animated = true;
|
|
35491
34854
|
}
|
|
34855
|
+
swipeGestureChanged() {
|
|
34856
|
+
this.updateGestureEnabled();
|
|
34857
|
+
}
|
|
35492
34858
|
swipeHandlerChanged() {
|
|
35493
|
-
|
|
35494
|
-
this.gesture.enable(this.swipeHandler !== undefined);
|
|
35495
|
-
}
|
|
34859
|
+
this.updateGestureEnabled();
|
|
35496
34860
|
}
|
|
35497
34861
|
async connectedCallback() {
|
|
35498
34862
|
const onStart = () => {
|
|
@@ -35532,11 +34896,21 @@ class RouterOutlet {
|
|
|
35532
34896
|
this.gestureOrAnimationInProgress = false;
|
|
35533
34897
|
}
|
|
35534
34898
|
});
|
|
35535
|
-
this.
|
|
34899
|
+
if (this.swipeGesture === undefined) {
|
|
34900
|
+
this.swipeGesture = config.getBoolean('swipeBackEnabled', this.mode === 'ios');
|
|
34901
|
+
}
|
|
34902
|
+
else {
|
|
34903
|
+
this.updateGestureEnabled();
|
|
34904
|
+
}
|
|
35536
34905
|
}
|
|
35537
34906
|
componentWillLoad() {
|
|
35538
34907
|
this.ionNavWillLoad.emit();
|
|
35539
34908
|
}
|
|
34909
|
+
updateGestureEnabled() {
|
|
34910
|
+
if (this.gesture) {
|
|
34911
|
+
this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
|
|
34912
|
+
}
|
|
34913
|
+
}
|
|
35540
34914
|
disconnectedCallback() {
|
|
35541
34915
|
if (this.gesture) {
|
|
35542
34916
|
this.gesture.destroy();
|
|
@@ -35647,10 +35021,13 @@ class RouterOutlet {
|
|
|
35647
35021
|
return true;
|
|
35648
35022
|
}
|
|
35649
35023
|
render() {
|
|
35650
|
-
return hAsync("slot", { key: '
|
|
35024
|
+
return hAsync("slot", { key: 'ce09e6fbba7b0a2276cdde5245bb37c9a162c1c7' });
|
|
35651
35025
|
}
|
|
35652
35026
|
get el() { return getElement(this); }
|
|
35653
35027
|
static get watchers() { return {
|
|
35028
|
+
"swipeGesture": [{
|
|
35029
|
+
"swipeGestureChanged": 0
|
|
35030
|
+
}],
|
|
35654
35031
|
"swipeHandler": [{
|
|
35655
35032
|
"swipeHandlerChanged": 0
|
|
35656
35033
|
}]
|
|
@@ -35664,6 +35041,7 @@ class RouterOutlet {
|
|
|
35664
35041
|
"delegate": [16],
|
|
35665
35042
|
"animated": [4],
|
|
35666
35043
|
"animation": [16],
|
|
35044
|
+
"swipeGesture": [1028, "swipe-gesture"],
|
|
35667
35045
|
"swipeHandler": [16],
|
|
35668
35046
|
"commit": [64],
|
|
35669
35047
|
"setRouteId": [64],
|
|
@@ -35682,7 +35060,7 @@ class Row {
|
|
|
35682
35060
|
registerInstance(this, hostRef);
|
|
35683
35061
|
}
|
|
35684
35062
|
render() {
|
|
35685
|
-
return (hAsync(Host, { key: '
|
|
35063
|
+
return (hAsync(Host, { key: 'a9066661fff12baaf3e80b2e8c08591af72fe5b8', class: getIonMode$1(this) }, hAsync("slot", { key: '62b103af46d3a5ec9c146019ae300b68a4ae867a' })));
|
|
35686
35064
|
}
|
|
35687
35065
|
static get style() { return rowCss(); }
|
|
35688
35066
|
static get cmpMeta() { return {
|
|
@@ -35734,7 +35112,7 @@ class Searchbar {
|
|
|
35734
35112
|
/**
|
|
35735
35113
|
* Set the input's autocorrect property.
|
|
35736
35114
|
*/
|
|
35737
|
-
this.autocorrect =
|
|
35115
|
+
this.autocorrect = false;
|
|
35738
35116
|
/**
|
|
35739
35117
|
* Set the cancel button icon. Only applies to `md` mode.
|
|
35740
35118
|
* Defaults to `arrow-back-sharp`.
|
|
@@ -36134,8 +35512,8 @@ class Searchbar {
|
|
|
36134
35512
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
36135
35513
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
36136
35514
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
36137
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
36138
|
-
return (hAsync(Host, { key: '
|
|
35515
|
+
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))));
|
|
35516
|
+
return (hAsync(Host, { key: 'd898b9f9768ec7119a3ad4be8350d8a3cfb32ba6', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
36139
35517
|
[mode]: true,
|
|
36140
35518
|
'searchbar-animated': animated,
|
|
36141
35519
|
'searchbar-disabled': this.disabled,
|
|
@@ -36145,14 +35523,14 @@ class Searchbar {
|
|
|
36145
35523
|
'searchbar-has-focus': this.focused,
|
|
36146
35524
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
36147
35525
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
36148
|
-
}) }, hAsync("div", { key: '
|
|
35526
|
+
}) }, hAsync("div", { key: 'a0b49cce6241b7e79834de7cbb1d1076f9d42a21', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '8ad5e659f8ed675fa5559f9e5dfcdf99cfcb8bcf', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: '09f26831a519bb6639115f827b2b8985ae51e4b9', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: 'd70ccda51cb79e51577648fcca3b274c6fa20a4f', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
36149
35527
|
/**
|
|
36150
35528
|
* This prevents mobile browsers from
|
|
36151
35529
|
* blurring the input when the clear
|
|
36152
35530
|
* button is activated.
|
|
36153
35531
|
*/
|
|
36154
35532
|
ev.preventDefault();
|
|
36155
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
35533
|
+
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '428dcb1c0ffef947e24771b060288da47e67b6bd', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
36156
35534
|
}
|
|
36157
35535
|
get el() { return getElement(this); }
|
|
36158
35536
|
static get watchers() { return {
|
|
@@ -36184,7 +35562,7 @@ class Searchbar {
|
|
|
36184
35562
|
"animated": [4],
|
|
36185
35563
|
"autocapitalize": [1],
|
|
36186
35564
|
"autocomplete": [1],
|
|
36187
|
-
"autocorrect": [
|
|
35565
|
+
"autocorrect": [4],
|
|
36188
35566
|
"cancelButtonIcon": [1, "cancel-button-icon"],
|
|
36189
35567
|
"cancelButtonText": [1, "cancel-button-text"],
|
|
36190
35568
|
"clearIcon": [1, "clear-icon"],
|
|
@@ -36761,14 +36139,14 @@ class Segment {
|
|
|
36761
36139
|
}
|
|
36762
36140
|
render() {
|
|
36763
36141
|
const mode = getIonMode$1(this);
|
|
36764
|
-
return (hAsync(Host, { key: '
|
|
36142
|
+
return (hAsync(Host, { key: 'bb626072e73f09c3433e1a769e09789a00822d8f', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
36765
36143
|
[mode]: true,
|
|
36766
36144
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
36767
36145
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
36768
36146
|
'segment-activated': this.activated,
|
|
36769
36147
|
'segment-disabled': this.disabled,
|
|
36770
36148
|
'segment-scrollable': this.scrollable,
|
|
36771
|
-
}) }, hAsync("slot", { key: '
|
|
36149
|
+
}) }, hAsync("slot", { key: '652d5037c2c2dee4d47a5710b1d150e691202d25', onSlotchange: this.onSlottedItemsChange })));
|
|
36772
36150
|
}
|
|
36773
36151
|
get el() { return getElement(this); }
|
|
36774
36152
|
static get watchers() { return {
|
|
@@ -36916,7 +36294,7 @@ class SegmentButton {
|
|
|
36916
36294
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
36917
36295
|
const mode = getIonMode$1(this);
|
|
36918
36296
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
36919
|
-
return (hAsync(Host, { key: '
|
|
36297
|
+
return (hAsync(Host, { key: '792f621c36260b1fceff2b4ec4fa95d98d51d46b', class: {
|
|
36920
36298
|
[mode]: true,
|
|
36921
36299
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
36922
36300
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -36932,7 +36310,7 @@ class SegmentButton {
|
|
|
36932
36310
|
'ion-activatable': true,
|
|
36933
36311
|
'ion-activatable-instant': true,
|
|
36934
36312
|
'ion-focusable': true,
|
|
36935
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
36313
|
+
} }, hAsync("button", Object.assign({ key: '860698be6ceb8f08c0ce3d16ba82d4bb56adf030', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: 'e903a2642ff46797878a941887b5c596d52fd3a3', class: "button-inner" }, hAsync("slot", { key: '5fc6b842ecb7f0ab8df23b344bf6714f38dda89a' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '710aaf6e4fa2b6cb15897a883e88dec17ef3829f' })), hAsync("div", { key: 'a7b036cba32420e9eb3f2d16487df0519ecc5289', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'a0a5f49ea7f2ecab8014f4f9ca473a27db8348b6', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
36936
36314
|
}
|
|
36937
36315
|
get el() { return getElement(this); }
|
|
36938
36316
|
static get watchers() { return {
|
|
@@ -36969,7 +36347,7 @@ class SegmentContent {
|
|
|
36969
36347
|
registerInstance(this, hostRef);
|
|
36970
36348
|
}
|
|
36971
36349
|
render() {
|
|
36972
|
-
return (hAsync(Host, { key: '
|
|
36350
|
+
return (hAsync(Host, { key: 'ef39f29c444177c3b083cd35680ba891e4bb6a2a' }, hAsync("slot", { key: '51f9dd9ca084ddd928b376aa9d716509669c32b2' })));
|
|
36973
36351
|
}
|
|
36974
36352
|
static get style() { return segmentContentCss(); }
|
|
36975
36353
|
static get cmpMeta() { return {
|
|
@@ -37088,11 +36466,11 @@ class SegmentView {
|
|
|
37088
36466
|
}
|
|
37089
36467
|
render() {
|
|
37090
36468
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
37091
|
-
return (hAsync(Host, { key: '
|
|
36469
|
+
return (hAsync(Host, { key: 'a6c6ac0232c4bb6f2a954b3de7993019d71f423a', class: {
|
|
37092
36470
|
'segment-view-disabled': disabled,
|
|
37093
36471
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
37094
36472
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
37095
|
-
} }, hAsync("slot", { key: '
|
|
36473
|
+
} }, hAsync("slot", { key: '386305be2a75069c79def12005d9f6b49276763f' })));
|
|
37096
36474
|
}
|
|
37097
36475
|
get el() { return getElement(this); }
|
|
37098
36476
|
static get style() { return {
|
|
@@ -37276,9 +36654,40 @@ class Select {
|
|
|
37276
36654
|
this.emitStyle();
|
|
37277
36655
|
}
|
|
37278
36656
|
setValue(value) {
|
|
36657
|
+
if (this.isValueEqual(this.value, value)) {
|
|
36658
|
+
return;
|
|
36659
|
+
}
|
|
37279
36660
|
this.value = value;
|
|
37280
36661
|
this.ionChange.emit({ value });
|
|
37281
36662
|
}
|
|
36663
|
+
isValueEqual(currentValue, newValue) {
|
|
36664
|
+
if (this.multiple) {
|
|
36665
|
+
const currentArr = Array.isArray(currentValue) ? currentValue : [];
|
|
36666
|
+
const newArr = Array.isArray(newValue) ? newValue : [];
|
|
36667
|
+
if (currentArr.length !== newArr.length) {
|
|
36668
|
+
return false;
|
|
36669
|
+
}
|
|
36670
|
+
// Multiset compare: each new value must match a distinct current value.
|
|
36671
|
+
// A plain `every(isOptionSelected)` would accept ['a','a'] as equal to
|
|
36672
|
+
// ['a','b'] when both 'a' and 'b' map to options whose values overlap.
|
|
36673
|
+
const remaining = currentArr.slice();
|
|
36674
|
+
return newArr.every((val) => {
|
|
36675
|
+
const idx = remaining.findIndex((c) => compareOptions(c, val, this.compareWith));
|
|
36676
|
+
if (idx === -1) {
|
|
36677
|
+
return false;
|
|
36678
|
+
}
|
|
36679
|
+
remaining.splice(idx, 1);
|
|
36680
|
+
return true;
|
|
36681
|
+
});
|
|
36682
|
+
}
|
|
36683
|
+
if (currentValue == null && newValue == null) {
|
|
36684
|
+
return true;
|
|
36685
|
+
}
|
|
36686
|
+
if (currentValue == null || newValue == null) {
|
|
36687
|
+
return false;
|
|
36688
|
+
}
|
|
36689
|
+
return compareOptions(currentValue, newValue, this.compareWith);
|
|
36690
|
+
}
|
|
37282
36691
|
async connectedCallback() {
|
|
37283
36692
|
const { el } = this;
|
|
37284
36693
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
@@ -37864,7 +37273,7 @@ class Select {
|
|
|
37864
37273
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
37865
37274
|
*/
|
|
37866
37275
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
37867
|
-
return (hAsync(Host, { key: '
|
|
37276
|
+
return (hAsync(Host, { key: '2c141ef1b6983b464118e8ed192739dfca9d095a', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37868
37277
|
[mode]: true,
|
|
37869
37278
|
'in-item': inItem,
|
|
37870
37279
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -37882,7 +37291,7 @@ class Select {
|
|
|
37882
37291
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
37883
37292
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
37884
37293
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
37885
|
-
}) }, hAsync("label", { key: '
|
|
37294
|
+
}) }, hAsync("label", { key: 'fa1889b325387da10d1e5fa865aef128bc31aee6', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: 'e31f4ae38af01dbe3a7551e9e5dca2650ae42ef5', class: "select-wrapper-inner", part: "inner" }, hAsync("slot", { key: '623916631f44446fcf2c1df64788ce530964afea', name: "start" }), hAsync("div", { key: 'cbd2298a7c6666ce6b4443b3967195f96558861c', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: 'ee8c2a236c7f120988f5bab17397204f1b374b57', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '951566d0da3aea0be4921b2951207765b089a7f3', class: "select-highlight" })), this.renderBottomContent()));
|
|
37886
37295
|
}
|
|
37887
37296
|
get el() { return getElement(this); }
|
|
37888
37297
|
static get watchers() { return {
|
|
@@ -38066,7 +37475,7 @@ class SelectModal {
|
|
|
38066
37475
|
} }, option.text))));
|
|
38067
37476
|
}
|
|
38068
37477
|
render() {
|
|
38069
|
-
return (hAsync(Host, { key: '
|
|
37478
|
+
return (hAsync(Host, { key: '36fe925fe98356858630325abc9ab71ef25dfb46', class: getIonMode$1(this) }, hAsync("ion-header", { key: '16d89db1284d7080b4ead5f4a4a0bac57f264f62' }, hAsync("ion-toolbar", { key: 'e16c889d9c7b5edf3b26a7cca1443ec5520e69e0' }, this.header !== undefined && hAsync("ion-title", { key: '269df2e45a3abf3fe7518e8a34b0bab749bdea14' }, this.header), hAsync("ion-buttons", { key: 'd8e218821e085424e52f86ef6ede2c5fb568dc82', slot: "end" }, hAsync("ion-button", { key: '26c99660d4f5ec6334da56ad5712bfc79f80d0e2', onClick: () => this.closeModal() }, this.cancelText)))), hAsync("ion-content", { key: '455fb684edae7d6754ef4882c1221956f7b4d29b' }, hAsync("ion-list", { key: '3817a9deb1881a8c0d165b21940890bd628b3614' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
38070
37479
|
}
|
|
38071
37480
|
get el() { return getElement(this); }
|
|
38072
37481
|
static get style() { return {
|
|
@@ -38101,7 +37510,7 @@ class SelectOption {
|
|
|
38101
37510
|
this.disabled = false;
|
|
38102
37511
|
}
|
|
38103
37512
|
render() {
|
|
38104
|
-
return hAsync(Host, { key: '
|
|
37513
|
+
return hAsync(Host, { key: '1fc1737fbb29dcb62638149b21620cbdf2f00dbc', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
38105
37514
|
}
|
|
38106
37515
|
get el() { return getElement(this); }
|
|
38107
37516
|
static get style() { return selectOptionCss(); }
|
|
@@ -38229,7 +37638,7 @@ class SelectPopover {
|
|
|
38229
37638
|
render() {
|
|
38230
37639
|
const { header, message, options, subHeader } = this;
|
|
38231
37640
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
38232
|
-
return (hAsync(Host, { key: '
|
|
37641
|
+
return (hAsync(Host, { key: '81783ad099ad52b3e035efa18e5a23be766faf7b', class: getIonMode$1(this) }, hAsync("ion-list", { key: '319171787e9c2228d1d5a0133b2f5e0998644516' }, header !== undefined && hAsync("ion-list-header", { key: '09a0fdbe2807c270b9abdb908965f72c4838030c' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'ede19cb8e121fd14a2335fcb81cc59b9a102eac5' }, hAsync("ion-label", { key: '6b98c0f132bc6161299b22c0e56092f85b7b0095', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: '8053e175eb36d7b8f52df1f93cee48ee0794857e' }, subHeader), message !== undefined && hAsync("p", { key: '508673abcda7444ed8f8c828b5418dd48ef86b8e' }, message)))), this.renderOptions(options))));
|
|
38233
37642
|
}
|
|
38234
37643
|
get el() { return getElement(this); }
|
|
38235
37644
|
static get style() { return {
|
|
@@ -38279,11 +37688,11 @@ class SkeletonText {
|
|
|
38279
37688
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
38280
37689
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
38281
37690
|
const mode = getIonMode$1(this);
|
|
38282
|
-
return (hAsync(Host, { key: '
|
|
37691
|
+
return (hAsync(Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
|
|
38283
37692
|
[mode]: true,
|
|
38284
37693
|
'skeleton-text-animated': animated,
|
|
38285
37694
|
'in-media': inMedia,
|
|
38286
|
-
} }, hAsync("span", { key: '
|
|
37695
|
+
} }, hAsync("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
|
|
38287
37696
|
}
|
|
38288
37697
|
get el() { return getElement(this); }
|
|
38289
37698
|
static get style() { return skeletonTextCss(); }
|
|
@@ -38335,7 +37744,7 @@ class Spinner {
|
|
|
38335
37744
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
38336
37745
|
}
|
|
38337
37746
|
}
|
|
38338
|
-
return (hAsync(Host, { key: '
|
|
37747
|
+
return (hAsync(Host, { key: 'c35ebd01186e860acb9cac260193f0836424fdf4', class: createColorClasses$1(self.color, {
|
|
38339
37748
|
[mode]: true,
|
|
38340
37749
|
[`spinner-${spinnerName}`]: true,
|
|
38341
37750
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -38434,12 +37843,12 @@ class SplitPane {
|
|
|
38434
37843
|
}
|
|
38435
37844
|
render() {
|
|
38436
37845
|
const mode = getIonMode$1(this);
|
|
38437
|
-
return (hAsync(Host, { key: '
|
|
37846
|
+
return (hAsync(Host, { key: '694e989fafcfe2453e0a83b3cb736efaa1eb4fec', class: {
|
|
38438
37847
|
[mode]: true,
|
|
38439
37848
|
// Used internally for styling
|
|
38440
37849
|
[`split-pane-${mode}`]: true,
|
|
38441
37850
|
'split-pane-visible': this.visible,
|
|
38442
|
-
} }, hAsync("slot", { key: '
|
|
37851
|
+
} }, hAsync("slot", { key: 'dde7e9382b62cc11971aa233cf98c2314ae4f720' })));
|
|
38443
37852
|
}
|
|
38444
37853
|
get el() { return getElement(this); }
|
|
38445
37854
|
static get watchers() { return {
|
|
@@ -38511,10 +37920,10 @@ class Tab {
|
|
|
38511
37920
|
}
|
|
38512
37921
|
render() {
|
|
38513
37922
|
const { tab, active, component } = this;
|
|
38514
|
-
return (hAsync(Host, { key: '
|
|
37923
|
+
return (hAsync(Host, { key: '745262368a7f45244da459f4fa1730a46dd3e257', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
38515
37924
|
'ion-page': component === undefined,
|
|
38516
37925
|
'tab-hidden': !active,
|
|
38517
|
-
} }, hAsync("slot", { key: '
|
|
37926
|
+
} }, hAsync("slot", { key: '823d09a6f93bf7c0dc74f2b8717d1d3a62df1ad8' })));
|
|
38518
37927
|
}
|
|
38519
37928
|
get el() { return getElement(this); }
|
|
38520
37929
|
static get watchers() { return {
|
|
@@ -38628,11 +38037,11 @@ class TabBar {
|
|
|
38628
38037
|
const { color, translucent, keyboardVisible } = this;
|
|
38629
38038
|
const mode = getIonMode$1(this);
|
|
38630
38039
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
38631
|
-
return (hAsync(Host, { key: '
|
|
38040
|
+
return (hAsync(Host, { key: '148f65df0818e9d220a9b46db74cb89ab94e62d2', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
38632
38041
|
[mode]: true,
|
|
38633
38042
|
'tab-bar-translucent': translucent,
|
|
38634
38043
|
'tab-bar-hidden': shouldHide,
|
|
38635
|
-
}) }, hAsync("slot", { key: '
|
|
38044
|
+
}) }, hAsync("slot", { key: 'a64e235f3703662e2dd7a834f752cc5b1490adbc' })));
|
|
38636
38045
|
}
|
|
38637
38046
|
get el() { return getElement(this); }
|
|
38638
38047
|
static get watchers() { return {
|
|
@@ -38730,7 +38139,7 @@ class TabButton {
|
|
|
38730
38139
|
rel,
|
|
38731
38140
|
target,
|
|
38732
38141
|
};
|
|
38733
|
-
return (hAsync(Host, { key: '
|
|
38142
|
+
return (hAsync(Host, { key: '1034b5a928ecec49bd8efec3730ea1b11a579cf3', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
38734
38143
|
[mode]: true,
|
|
38735
38144
|
'tab-selected': selected,
|
|
38736
38145
|
'tab-disabled': disabled,
|
|
@@ -38742,7 +38151,7 @@ class TabButton {
|
|
|
38742
38151
|
'ion-activatable': true,
|
|
38743
38152
|
'ion-selectable': true,
|
|
38744
38153
|
'ion-focusable': true,
|
|
38745
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
38154
|
+
} }, hAsync("a", Object.assign({ key: '4cc8e695425956ffc7622af27c1b88a45f8a0c68' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'c529c166f557e1a5c744873c075b564c49786a2c', class: "button-inner" }, hAsync("slot", { key: 'f832355934d80267cd6e81e58b9c5afce0b42907' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '90e79bdf38ba1cd89fca9ce63465e26a29b49316', type: "unbounded" }))));
|
|
38746
38155
|
}
|
|
38747
38156
|
get el() { return getElement(this); }
|
|
38748
38157
|
static get style() { return {
|
|
@@ -38933,7 +38342,7 @@ class Tabs {
|
|
|
38933
38342
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
38934
38343
|
}
|
|
38935
38344
|
render() {
|
|
38936
|
-
return (hAsync(Host, { key: '
|
|
38345
|
+
return (hAsync(Host, { key: 'ba04a29fdd02d7c758cbaa98cfc589949872d832', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: 'd5794140152e2c251e567eeb06afc392af74749d', name: "top" }), hAsync("div", { key: '26fb83786637fe7288901fbbdb3694b8bc94329f', class: "tabs-inner" }, hAsync("slot", { key: '60c663a8647e684455b533eaf5fa3908f9333ae9' })), hAsync("slot", { key: '2d9f7d07c8cdc72f5df200fa71fa56a9dd822c4c', name: "bottom" })));
|
|
38937
38346
|
}
|
|
38938
38347
|
get el() { return getElement(this); }
|
|
38939
38348
|
static get style() { return tabsCss(); }
|
|
@@ -38973,9 +38382,9 @@ class Text {
|
|
|
38973
38382
|
}
|
|
38974
38383
|
render() {
|
|
38975
38384
|
const mode = getIonMode$1(this);
|
|
38976
|
-
return (hAsync(Host, { key: '
|
|
38385
|
+
return (hAsync(Host, { key: '41ed8da617ed0e07bbfe96e32a000e1c6503e24e', class: createColorClasses$1(this.color, {
|
|
38977
38386
|
[mode]: true,
|
|
38978
|
-
}) }, hAsync("slot", { key: '
|
|
38387
|
+
}) }, hAsync("slot", { key: 'db8de04a2493537b3037f276b03abd92dfa56847' })));
|
|
38979
38388
|
}
|
|
38980
38389
|
static get style() { return textCss(); }
|
|
38981
38390
|
static get cmpMeta() { return {
|
|
@@ -39436,7 +38845,7 @@ class Textarea {
|
|
|
39436
38845
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
39437
38846
|
*/
|
|
39438
38847
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
39439
|
-
return (hAsync(Host, { key: '
|
|
38848
|
+
return (hAsync(Host, { key: 'eca1dfed53189408f614661ef3902cdb73d5f5de', class: createColorClasses$1(this.color, {
|
|
39440
38849
|
[mode]: true,
|
|
39441
38850
|
'has-value': hasValue,
|
|
39442
38851
|
'has-focus': hasFocus,
|
|
@@ -39445,7 +38854,7 @@ class Textarea {
|
|
|
39445
38854
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
39446
38855
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
39447
38856
|
'textarea-disabled': disabled,
|
|
39448
|
-
}) }, hAsync("label", { key: '
|
|
38857
|
+
}) }, hAsync("label", { key: 'd4d835ffedbf8b6de192096e21167ec4f7e01d30', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '39b03e26c23473de31a0237543eaf1e0875e6ed9', class: "textarea-wrapper-inner" }, hAsync("div", { key: 'e9e0997e7dc6d25f09e8439d81e138590c33a151', class: "start-slot-wrapper" }, hAsync("slot", { key: '2d88aace11d74196758e40af27a777eebb270019', name: "start" })), hAsync("div", { key: '8434424404f9fe707f9209ac6495a33bae060538', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: '5bb8eaeba76c39bccadb7c041a10fb077c422dcc', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), hAsync("div", { key: '107707676552f8faca3e708285cc3266061a0394', class: "end-slot-wrapper" }, hAsync("slot", { key: 'dc890ffdce898f3d39a315e7bc432840559be466', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '4554ad09ac0908cea2e90bfa2301b4cd80ac7242', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
39449
38858
|
}
|
|
39450
38859
|
get el() { return getElement(this); }
|
|
39451
38860
|
static get watchers() { return {
|
|
@@ -39514,7 +38923,7 @@ class Thumbnail {
|
|
|
39514
38923
|
registerInstance(this, hostRef);
|
|
39515
38924
|
}
|
|
39516
38925
|
render() {
|
|
39517
|
-
return (hAsync(Host, { key: '
|
|
38926
|
+
return (hAsync(Host, { key: '833e947c683b482a78f8f0df8c9a68e99478bbaa', class: getIonMode$1(this) }, hAsync("slot", { key: '6d1e9e686db88d91379f14121058dbf035d8ded2' })));
|
|
39518
38927
|
}
|
|
39519
38928
|
static get style() { return thumbnailCss(); }
|
|
39520
38929
|
static get cmpMeta() { return {
|
|
@@ -40374,9 +39783,9 @@ class Toast {
|
|
|
40374
39783
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
40375
39784
|
printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
|
|
40376
39785
|
}
|
|
40377
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
39786
|
+
return (hAsync(Host, Object.assign({ key: '2acb2cd2e12ea0082986495929e4a596d4da2f38', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
40378
39787
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
40379
|
-
}, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '
|
|
39788
|
+
}, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '8b24ba5d3d51d1ab94b9bf6bb5d6e4b8bb3248a7', class: wrapperClass, part: "wrapper" }, hAsync("div", { key: 'e1ebdf4f0425cc7b1e2688667ee9a2b3c545804a', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '552b1ab8f4e72882cc8e878579c7a594119677e1', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '8ac8d64f632fbedadb180132c83043474466bee0', class: "toast-content", part: "content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
|
|
40380
39789
|
}
|
|
40381
39790
|
get el() { return getElement(this); }
|
|
40382
39791
|
static get watchers() { return {
|
|
@@ -40694,7 +40103,7 @@ class Toggle {
|
|
|
40694
40103
|
const value = this.getValue();
|
|
40695
40104
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
40696
40105
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
40697
|
-
return (hAsync(Host, { key: '
|
|
40106
|
+
return (hAsync(Host, { key: 'ab093ddb505af61685cbb8571af1e765fc0292f8', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses$1(color, {
|
|
40698
40107
|
[mode]: true,
|
|
40699
40108
|
'in-item': hostContext('ion-item', el),
|
|
40700
40109
|
'toggle-activated': activated,
|
|
@@ -40704,10 +40113,10 @@ class Toggle {
|
|
|
40704
40113
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
40705
40114
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
40706
40115
|
[`toggle-${rtl}`]: true,
|
|
40707
|
-
}) }, hAsync("label", { key: '
|
|
40116
|
+
}) }, hAsync("label", { key: 'b4b05e458fcbc767e4392ae43e647b075780cad0', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: 'c09100447011c51d5b49b4400ec7d72012e3bc6f', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: '71cf059a999ae572a20127b76907e010ace486ad', class: {
|
|
40708
40117
|
'label-text-wrapper': true,
|
|
40709
40118
|
'label-text-wrapper-hidden': !hasLabel,
|
|
40710
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
40119
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'c480b96a0ddd926568f73291d71253d6f74438c7' }), this.renderHintText()), hAsync("div", { key: '96a2cbd1673e051a78f8b2b16535ecd3f0ed4339', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
40711
40120
|
}
|
|
40712
40121
|
get el() { return getElement(this); }
|
|
40713
40122
|
static get watchers() { return {
|
|
@@ -40819,10 +40228,10 @@ class Toolbar {
|
|
|
40819
40228
|
this.childrenStyles.forEach((value) => {
|
|
40820
40229
|
Object.assign(childStyles, value);
|
|
40821
40230
|
});
|
|
40822
|
-
return (hAsync(Host, { key: '
|
|
40231
|
+
return (hAsync(Host, { key: '40bad6fa7e94262438da4bbe037dcf8a5fa2df22', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
40823
40232
|
[mode]: true,
|
|
40824
40233
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
40825
|
-
})) }, hAsync("div", { key: '
|
|
40234
|
+
})) }, hAsync("div", { key: 'df44c9f0fe3958116ab860b0dad79c53b89f6c59', class: "toolbar-background", part: "background" }), hAsync("div", { key: '2169ffa576875b8d5624211cc0b4bf86191562bc', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'c8910dcf1ce98ab427fd89c3396a67c2a75bdd07', name: "start" }), hAsync("slot", { key: '05da24d5ef96b9eebd83b534ce02c1f7bcd06680', name: "secondary" }), hAsync("div", { key: '090fea1541e7e2b6ad74a6ded4eadffdb471ccce', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '507e143f92f6fa59ff23d94026411fa2c74f2f8e' })), hAsync("slot", { key: 'f79fdee472e657e26a910cb89d7551943e40e440', name: "primary" }), hAsync("slot", { key: 'dd40fe9ed490cf4346c642e195fdb524dc6cc4f5', name: "end" }))));
|
|
40826
40235
|
}
|
|
40827
40236
|
get el() { return getElement(this); }
|
|
40828
40237
|
static get style() { return {
|
|
@@ -40868,11 +40277,11 @@ class ToolbarTitle {
|
|
|
40868
40277
|
render() {
|
|
40869
40278
|
const mode = getIonMode$1(this);
|
|
40870
40279
|
const size = this.getSize();
|
|
40871
|
-
return (hAsync(Host, { key: '
|
|
40280
|
+
return (hAsync(Host, { key: 'd9317e8e66cb6112717f5a9c252658777efbd873', class: createColorClasses$1(this.color, {
|
|
40872
40281
|
[mode]: true,
|
|
40873
40282
|
[`title-${size}`]: true,
|
|
40874
40283
|
'title-rtl': document.dir === 'rtl',
|
|
40875
|
-
}) }, hAsync("div", { key: '
|
|
40284
|
+
}) }, hAsync("div", { key: 'a4d011d6d409bf006d8efe33667002edb109820a', class: "toolbar-title" }, hAsync("slot", { key: '4ca3303b957a0e5387f1e9058e5adb4c6275afcc' }))));
|
|
40876
40285
|
}
|
|
40877
40286
|
get el() { return getElement(this); }
|
|
40878
40287
|
static get watchers() { return {
|
|
@@ -40952,10 +40361,8 @@ registerComponents([
|
|
|
40952
40361
|
Nav,
|
|
40953
40362
|
NavLink,
|
|
40954
40363
|
Note,
|
|
40955
|
-
Picker$1,
|
|
40956
40364
|
Picker,
|
|
40957
40365
|
PickerColumn,
|
|
40958
|
-
PickerColumnCmp,
|
|
40959
40366
|
PickerColumnOption,
|
|
40960
40367
|
Popover,
|
|
40961
40368
|
ProgressBar,
|