@ionic/core 8.8.14-dev.11783455203.1cbca643 → 8.8.14-dev.11783706459.1d5a7aae
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-picker-column-option.js +1 -1
- package/components/ion-picker-column.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-279dFMvg.js +4 -0
- package/components/p-B7KXos3u.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/components/p-BimUi1zU.js +4 -0
- package/components/{p-BHrrc-3d.js → p-Buf_7zcy.js} +1 -1
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-C-Rx1zny.js +4 -0
- package/components/p-CHzfYZbv.js +4 -0
- package/components/p-D4h1H_hh.js +4 -0
- package/components/{p-BSEgsdFI.js → p-DhkITZ-y.js} +1 -1
- 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-LMGfIvTf.js +4 -0
- package/components/{p-BLmJ0zRm.js → p-XJWMAP8m.js} +1 -1
- package/components/p-_lHSumhG.js +4 -0
- package/components/p-j9Da6cYO.js +4 -0
- package/components/p-jOtMJMv8.js +4 -0
- package/components/{p-B60hm8Qv.js → p-r0aq7dpt.js} +1 -1
- package/components/p-uTR_dEqg.js +4 -0
- package/components/{p-rCa2eL0j.js → p-wk2QqrAo.js} +1 -1
- package/dist/cjs/config-DWdFbSNK.js +35 -0
- package/dist/cjs/index-Cueg3U4w.js +429 -0
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/ion-action-sheet.cjs.entry.js +27 -7
- package/dist/cjs/ion-alert.cjs.entry.js +64 -25
- 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-button.cjs.entry.js +4 -10
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +12 -656
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -2
- 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 +10 -5
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +21 -22
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -9
- package/dist/cjs/ion-picker-column.cjs.entry.js +4 -10
- package/dist/cjs/ion-popover.cjs.entry.js +9 -5
- 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 +6 -5
- 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 +84 -30
- package/dist/cjs/ion-select_3.cjs.entry.js +407 -49
- 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 +6 -5
- 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/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-B9WEMRRo.js → overlays-DSmSrd_4.js} +27 -33
- package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
- package/dist/collection/collection-manifest.json +6 -10
- package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
- package/dist/collection/components/action-sheet/action-sheet.js +24 -5
- package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
- package/dist/collection/components/alert/alert.ios.css +280 -10
- package/dist/collection/components/alert/alert.js +59 -21
- package/dist/collection/components/alert/alert.md.css +269 -20
- package/dist/collection/components/datetime/datetime.ios.css +42 -2
- package/dist/collection/components/datetime/datetime.js +10 -17
- package/dist/collection/components/datetime/datetime.md.css +42 -1
- package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
- package/dist/collection/components/datetime-button/datetime-button.js +3 -10
- package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
- package/dist/collection/components/input/input.js +8 -8
- package/dist/collection/components/loading/loading.js +7 -3
- package/dist/collection/components/modal/modal.js +23 -24
- package/dist/collection/components/picker-column/picker-column.css +3 -0
- package/dist/collection/components/picker-column/picker-column.js +4 -11
- package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
- package/dist/collection/components/popover/popover.ios.css +15 -0
- package/dist/collection/components/popover/popover.js +7 -3
- package/dist/collection/components/popover/popover.md.css +15 -0
- 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.ios.css +33 -0
- package/dist/collection/components/select/select.js +323 -16
- package/dist/collection/components/select/select.md.css +33 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
- package/dist/collection/components/select-modal/select-modal.js +79 -26
- package/dist/collection/components/select-modal/select-modal.md.css +165 -0
- package/dist/collection/components/select-option/select-option.js +67 -3
- package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
- package/dist/collection/components/select-popover/select-popover.js +78 -26
- package/dist/collection/components/select-popover/select-popover.md.css +165 -0
- 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/overlay-control-label.js +45 -0
- package/dist/collection/utils/overlays.js +26 -32
- package/dist/collection/utils/sanitization/index.js +274 -18
- package/dist/collection/utils/select-option-render.js +119 -0
- package/dist/docs.json +440 -1160
- package/dist/esm/config-BwKpO3Is.js +31 -0
- package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
- package/dist/esm/index-DQSkZyOJ.js +424 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +27 -7
- package/dist/esm/ion-alert.entry.js +63 -24
- 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-button.entry.js +4 -10
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +16 -658
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -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 +9 -4
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +21 -22
- package/dist/esm/ion-picker-column-option.entry.js +3 -9
- package/dist/esm/ion-picker-column.entry.js +4 -10
- package/dist/esm/ion-popover.entry.js +9 -5
- 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 +5 -4
- 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 +84 -30
- package/dist/esm/ion-select_3.entry.js +410 -52
- 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 +5 -4
- 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/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays--4JLDr6C.js → overlays-DLNOHWNc.js} +28 -34
- package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
- package/dist/html.html-data.json +51 -79
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-038eb991.entry.js +4 -0
- package/dist/ionic/{p-8fce95d5.entry.js → p-14095ba5.entry.js} +1 -1
- package/dist/ionic/p-17827b13.entry.js +4 -0
- package/dist/ionic/p-1ebe2739.entry.js +4 -0
- package/dist/ionic/{p-3a126bca.entry.js → p-259d0d98.entry.js} +1 -1
- package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.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-4ace7762.entry.js +4 -0
- package/dist/ionic/p-4bb3eb60.entry.js +4 -0
- package/dist/ionic/p-4e9ec5c5.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-5d1ac2c7.entry.js +4 -0
- package/dist/ionic/{p-3ae5f277.entry.js → p-627fabd9.entry.js} +1 -1
- package/dist/ionic/{p-e0be05c5.entry.js → p-629e4703.entry.js} +1 -1
- package/dist/ionic/{p-5d1da0a2.entry.js → p-76e92a84.entry.js} +1 -1
- package/dist/ionic/p-79a36078.entry.js +4 -0
- package/dist/ionic/{p-9f1103ce.entry.js → p-7a37b3ce.entry.js} +1 -1
- package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
- package/dist/ionic/p-8b3a64a5.entry.js +4 -0
- package/dist/ionic/p-913b218a.entry.js +4 -0
- package/dist/ionic/{p-390ca786.entry.js → p-9177f4ac.entry.js} +1 -1
- package/dist/ionic/p-93a7e5a1.entry.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
- package/dist/ionic/p-BDtODLZ4.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BwKpO3Is.js +4 -0
- package/dist/ionic/p-Cg5-OQYy.js +4 -0
- package/dist/ionic/p-DCOvXkOm.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-a9a33367.entry.js +4 -0
- package/dist/ionic/p-ad728198.entry.js +4 -0
- package/dist/ionic/{p-ef4c3bee.entry.js → p-b1599fca.entry.js} +1 -1
- package/dist/ionic/{p-84d5ce05.entry.js → p-b9ac1fe0.entry.js} +1 -1
- package/dist/ionic/p-bfc8c629.entry.js +4 -0
- package/dist/ionic/p-c08e666a.entry.js +4 -0
- package/dist/ionic/{p-a6ad9c29.entry.js → p-c93553d2.entry.js} +1 -1
- package/dist/ionic/p-ce7992c4.entry.js +4 -0
- 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-9a65ac7f.entry.js → p-db1b6738.entry.js} +1 -1
- package/dist/ionic/p-ed797c72.entry.js +4 -0
- package/dist/ionic/{p-8eb8ee76.entry.js → p-ef93ca92.entry.js} +1 -1
- package/dist/ionic/p-f09f9642.entry.js +4 -0
- package/dist/ionic/p-f1c06f82.entry.js +4 -0
- package/dist/ionic/{p-0fa9c382.entry.js → p-fe4aa1db.entry.js} +1 -1
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +11 -4
- package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +31 -0
- package/dist/types/components/select/select.d.ts +18 -0
- package/dist/types/components/select-option/select-option.d.ts +42 -1
- package/dist/types/components.d.ts +60 -296
- 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/overlay-control-label.d.ts +32 -0
- package/dist/types/utils/overlays.d.ts +11 -9
- package/dist/types/utils/sanitization/index.d.ts +58 -2
- package/dist/types/utils/select-option-render.d.ts +53 -0
- package/hydrate/index.js +1416 -1219
- package/hydrate/index.mjs +1416 -1219
- 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-BI99_O7M.js +0 -4
- package/components/p-BeaZQGdD.js +0 -4
- package/components/p-BhiHTRHr.js +0 -4
- package/components/p-BjfgFSSR.js +0 -4
- package/components/p-BsPelv04.js +0 -4
- package/components/p-CU5rbWAW.js +0 -4
- package/components/p-Cg0yUncF.js +0 -4
- package/components/p-CiZjmDRO.js +0 -4
- package/components/p-CoDFQCkp.js +0 -4
- package/components/p-DfAYowgb.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/dist/cjs/config-xninhj0J.js +0 -201
- 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/esm/config-DQCONYYp.js +0 -195
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-06c232a4.entry.js +0 -4
- package/dist/ionic/p-20b1a044.entry.js +0 -4
- package/dist/ionic/p-21eb76d5.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-28df2088.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.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-57e31cc8.entry.js +0 -4
- package/dist/ionic/p-766bbdff.entry.js +0 -4
- package/dist/ionic/p-8b4e6e7f.entry.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-Dzyqeklk.js +0 -4
- package/dist/ionic/p-a21add2f.entry.js +0 -4
- package/dist/ionic/p-aa56131f.entry.js +0 -4
- package/dist/ionic/p-b580c366.entry.js +0 -4
- package/dist/ionic/p-badb48f9.entry.js +0 -4
- package/dist/ionic/p-c0fb8edd.entry.js +0 -4
- package/dist/ionic/p-c38b648e.entry.js +0 -4
- package/dist/ionic/p-c8739c33.entry.js +0 -4
- package/dist/ionic/p-e930122a.entry.js +0 -4
- package/dist/ionic/p-ec090e0a.entry.js +0 -4
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
package/hydrate/index.js
CHANGED
|
@@ -8041,7 +8041,7 @@ const focusElementInOverlay = (hostToFocus, overlay) => {
|
|
|
8041
8041
|
* Should NOT include: Toast
|
|
8042
8042
|
*/
|
|
8043
8043
|
const trapKeyboardFocus = (ev, doc) => {
|
|
8044
|
-
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
8044
|
+
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover');
|
|
8045
8045
|
const target = ev.target;
|
|
8046
8046
|
/**
|
|
8047
8047
|
* If no active overlay, ignore this event.
|
|
@@ -8275,7 +8275,7 @@ const dismissOverlay = (doc, data, role, overlayTag, id) => {
|
|
|
8275
8275
|
*/
|
|
8276
8276
|
const getOverlays = (doc, selector) => {
|
|
8277
8277
|
if (selector === undefined) {
|
|
8278
|
-
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
8278
|
+
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover,ion-toast';
|
|
8279
8279
|
}
|
|
8280
8280
|
return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
|
|
8281
8281
|
};
|
|
@@ -8337,6 +8337,29 @@ const setRootAriaHidden = (hidden = false) => {
|
|
|
8337
8337
|
viewContainer.removeAttribute('aria-hidden');
|
|
8338
8338
|
}
|
|
8339
8339
|
};
|
|
8340
|
+
/**
|
|
8341
|
+
* Cleans up root `aria-hidden` and `backdrop-no-scroll` when
|
|
8342
|
+
* an overlay is removed from the DOM without going through
|
|
8343
|
+
* the `dismiss()` flow (e.g., when a framework unmounts the
|
|
8344
|
+
* overlay during a route change).
|
|
8345
|
+
*
|
|
8346
|
+
* Should be called from an overlay's `disconnectedCallback`
|
|
8347
|
+
* when the overlay was still presented at the time of removal.
|
|
8348
|
+
*/
|
|
8349
|
+
const cleanupRootFocusTrapAccessibility = () => {
|
|
8350
|
+
if (typeof document === 'undefined') {
|
|
8351
|
+
return;
|
|
8352
|
+
}
|
|
8353
|
+
const remainingOverlays = getPresentedOverlays(document);
|
|
8354
|
+
const hasRemainingLocking = remainingOverlays.some((o) => {
|
|
8355
|
+
const el = o;
|
|
8356
|
+
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
8357
|
+
});
|
|
8358
|
+
if (!hasRemainingLocking) {
|
|
8359
|
+
setRootAriaHidden(false);
|
|
8360
|
+
document.body.classList.remove(BACKDROP_NO_SCROLL);
|
|
8361
|
+
}
|
|
8362
|
+
};
|
|
8340
8363
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
8341
8364
|
var _a, _b;
|
|
8342
8365
|
if (overlay.presented) {
|
|
@@ -8402,32 +8425,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
8402
8425
|
* to the overlay container.
|
|
8403
8426
|
*/
|
|
8404
8427
|
if (overlay.keyboardClose && (document.activeElement === null || !overlay.el.contains(document.activeElement))) {
|
|
8405
|
-
|
|
8406
|
-
* Some overlays (modal, alert) declare `role="dialog"`/`alertdialog`,
|
|
8407
|
-
* `aria-modal`, and the accessible label on the `.ion-overlay-wrapper`
|
|
8408
|
-
* element inside the overlay rather than on the host itself. Focusing
|
|
8409
|
-
* `overlay.el` (the host) in that case hands assistive technologies a
|
|
8410
|
-
* focus target with no accessible role or name -- screen readers that
|
|
8411
|
-
* rely on the focus/accessibility-focus event to know a dialog opened
|
|
8412
|
-
* (e.g. Android TalkBack, which does not treat `aria-modal` alone as a
|
|
8413
|
-
* navigation boundary) get no usable landing point, so their linear
|
|
8414
|
-
* navigation cursor never actually enters the overlay's content.
|
|
8415
|
-
*
|
|
8416
|
-
* Other overlays (action-sheet, loading, popover) keep those
|
|
8417
|
-
* attributes on the host and leave `.ion-overlay-wrapper` without a
|
|
8418
|
-
* `tabindex`, in which case it is not focusable and the host remains
|
|
8419
|
-
* the correct target. Only redirect to the wrapper when it actually
|
|
8420
|
-
* declares a `tabindex` (i.e. the component authored it to be
|
|
8421
|
-
* focusable) so overlays that already focus the host correctly are
|
|
8422
|
-
* left untouched.
|
|
8423
|
-
*
|
|
8424
|
-
* `preventScroll` keeps this purely an accessibility-focus move: we
|
|
8425
|
-
* do not want focusing the wrapper to scroll it into view, since the
|
|
8426
|
-
* host was already the scroll-neutral, full-viewport container.
|
|
8427
|
-
*/
|
|
8428
|
-
const overlayWrapper = getElementRoot(overlay.el).querySelector('.ion-overlay-wrapper');
|
|
8429
|
-
const focusTarget = (overlayWrapper === null || overlayWrapper === void 0 ? void 0 : overlayWrapper.hasAttribute('tabindex')) ? overlayWrapper : overlay.el;
|
|
8430
|
-
focusTarget.focus({ preventScroll: true });
|
|
8428
|
+
overlay.el.focus();
|
|
8431
8429
|
}
|
|
8432
8430
|
/**
|
|
8433
8431
|
* If this overlay was previously dismissed without being
|
|
@@ -8763,6 +8761,539 @@ const createTriggerController = () => {
|
|
|
8763
8761
|
};
|
|
8764
8762
|
const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
|
|
8765
8763
|
|
|
8764
|
+
/**
|
|
8765
|
+
* Sanitize an untrusted HTML string.
|
|
8766
|
+
*
|
|
8767
|
+
* Parses the string into a detached DOM, removes blocked tags, strips
|
|
8768
|
+
* attributes outside the narrow `domStringAllowedAttributes` list (refer
|
|
8769
|
+
* `sanitizeElement`), and scrubs script-scheme URLs. Returns the sanitized
|
|
8770
|
+
* HTML string.
|
|
8771
|
+
*
|
|
8772
|
+
* Use this when you have an HTML string from an unknown source and need to
|
|
8773
|
+
* render it via `innerHTML`. Use `sanitizeDOMTree` instead when you already
|
|
8774
|
+
* have a DOM tree and want to sanitize it in place without a string round
|
|
8775
|
+
* trip. The two apply the same dangerous-vector scrubbing but different
|
|
8776
|
+
* attribute allowlists: this path stays narrow so existing consumers
|
|
8777
|
+
* (toast, loading, alert message, etc.) are unaffected, while
|
|
8778
|
+
* `sanitizeDOMTree` uses the wider rich-content allowlist.
|
|
8779
|
+
*
|
|
8780
|
+
* @param untrustedString - The HTML string to sanitize. Pass an
|
|
8781
|
+
* `IonicSafeString` to bypass sanitization, or `undefined` to short-circuit.
|
|
8782
|
+
* @returns The sanitized HTML string, or `undefined` if the input was
|
|
8783
|
+
* `undefined`. Returns `''` if sanitization fails or the input contains
|
|
8784
|
+
* an inline `onload=` handler.
|
|
8785
|
+
*/
|
|
8786
|
+
const sanitizeDOMString = (untrustedString) => {
|
|
8787
|
+
try {
|
|
8788
|
+
if (untrustedString instanceof IonicSafeString) {
|
|
8789
|
+
return untrustedString.value;
|
|
8790
|
+
}
|
|
8791
|
+
if (!isSanitizerEnabled() || typeof untrustedString !== 'string' || untrustedString === '') {
|
|
8792
|
+
return untrustedString;
|
|
8793
|
+
}
|
|
8794
|
+
/**
|
|
8795
|
+
* onload is fired when appending to a document
|
|
8796
|
+
* fragment in Chrome. If a string
|
|
8797
|
+
* contains onload then we should not
|
|
8798
|
+
* attempt to add this to the fragment.
|
|
8799
|
+
*/
|
|
8800
|
+
if (untrustedString.includes('onload=')) {
|
|
8801
|
+
return '';
|
|
8802
|
+
}
|
|
8803
|
+
/**
|
|
8804
|
+
* Create a document fragment
|
|
8805
|
+
* separate from the main DOM,
|
|
8806
|
+
* create a div to do our work in
|
|
8807
|
+
*/
|
|
8808
|
+
const documentFragment = document.createDocumentFragment();
|
|
8809
|
+
const workingDiv = document.createElement('div');
|
|
8810
|
+
documentFragment.appendChild(workingDiv);
|
|
8811
|
+
workingDiv.innerHTML = untrustedString;
|
|
8812
|
+
/**
|
|
8813
|
+
* Remove any elements
|
|
8814
|
+
* that are blocked
|
|
8815
|
+
*/
|
|
8816
|
+
blockedTags.forEach((blockedTag) => {
|
|
8817
|
+
const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);
|
|
8818
|
+
for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {
|
|
8819
|
+
const element = getElementsToRemove[elementIndex];
|
|
8820
|
+
if (element.parentNode) {
|
|
8821
|
+
element.parentNode.removeChild(element);
|
|
8822
|
+
}
|
|
8823
|
+
else {
|
|
8824
|
+
documentFragment.removeChild(element);
|
|
8825
|
+
}
|
|
8826
|
+
/**
|
|
8827
|
+
* We still need to sanitize
|
|
8828
|
+
* the children of this element
|
|
8829
|
+
* as they are left behind
|
|
8830
|
+
*/
|
|
8831
|
+
const childElements = getElementChildren(element);
|
|
8832
|
+
/* eslint-disable-next-line */
|
|
8833
|
+
for (let childIndex = 0; childIndex < childElements.length; childIndex++) {
|
|
8834
|
+
sanitizeElement(childElements[childIndex], domStringAllowedAttributes);
|
|
8835
|
+
}
|
|
8836
|
+
}
|
|
8837
|
+
});
|
|
8838
|
+
/**
|
|
8839
|
+
* Go through remaining elements and remove
|
|
8840
|
+
* non-allowed attribs
|
|
8841
|
+
*/
|
|
8842
|
+
// IE does not support .children on document fragments, only .childNodes
|
|
8843
|
+
const dfChildren = getElementChildren(documentFragment);
|
|
8844
|
+
/* eslint-disable-next-line */
|
|
8845
|
+
for (let childIndex = 0; childIndex < dfChildren.length; childIndex++) {
|
|
8846
|
+
sanitizeElement(dfChildren[childIndex], domStringAllowedAttributes);
|
|
8847
|
+
}
|
|
8848
|
+
// Append document fragment to div
|
|
8849
|
+
const fragmentDiv = document.createElement('div');
|
|
8850
|
+
fragmentDiv.appendChild(documentFragment);
|
|
8851
|
+
// First child is always the div we did our work in
|
|
8852
|
+
const getInnerDiv = fragmentDiv.querySelector('div');
|
|
8853
|
+
return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
|
|
8854
|
+
}
|
|
8855
|
+
catch (err) {
|
|
8856
|
+
printIonError('sanitizeDOMString', err);
|
|
8857
|
+
return '';
|
|
8858
|
+
}
|
|
8859
|
+
};
|
|
8860
|
+
/**
|
|
8861
|
+
* Sanitize an entire trusted DOM tree in place.
|
|
8862
|
+
*
|
|
8863
|
+
* Removes blocked tags (`script`, `iframe`, etc.) from the subtree and
|
|
8864
|
+
* then sanitizes attributes on every remaining element using the wider
|
|
8865
|
+
* `richContentAllowedAttributes` allowlist (refer `sanitizeElement`).
|
|
8866
|
+
* Component presentational attributes (`size`, `color`, `shape`, inline
|
|
8867
|
+
* SVG, `aria-*`, `data-*`) are preserved; `style`, event handlers (`on*`),
|
|
8868
|
+
* form/navigation-hijack attributes, script-scheme URLs, and non-image
|
|
8869
|
+
* `data:` URLs are stripped.
|
|
8870
|
+
*
|
|
8871
|
+
* Use this when you have a DOM tree the developer controls (e.g.
|
|
8872
|
+
* cloned slot content from a component) and you need to render it
|
|
8873
|
+
* elsewhere safely.
|
|
8874
|
+
*
|
|
8875
|
+
* @param root - The root element whose subtree will be sanitized in
|
|
8876
|
+
* place. No-op when the sanitizer is disabled via `Ionic.config`.
|
|
8877
|
+
*/
|
|
8878
|
+
const sanitizeDOMTree = (root) => {
|
|
8879
|
+
if (!isSanitizerEnabled()) {
|
|
8880
|
+
return;
|
|
8881
|
+
}
|
|
8882
|
+
blockedTags.forEach((tag) => {
|
|
8883
|
+
const matches = root.querySelectorAll(tag);
|
|
8884
|
+
for (let i = matches.length - 1; i >= 0; i--) {
|
|
8885
|
+
matches[i].remove();
|
|
8886
|
+
}
|
|
8887
|
+
});
|
|
8888
|
+
sanitizeElement(root, richContentAllowedAttributes, richContentAllowedAttributePrefixes);
|
|
8889
|
+
};
|
|
8890
|
+
/**
|
|
8891
|
+
* Clean up current element based on allowed attributes
|
|
8892
|
+
* and then recursively dig down into any child elements to
|
|
8893
|
+
* clean those up as well
|
|
8894
|
+
*/
|
|
8895
|
+
// TODO(FW-2832): type (using Element triggers other type errors as well)
|
|
8896
|
+
const sanitizeElement = (element, allowedAttributes, allowedAttributePrefixes = []) => {
|
|
8897
|
+
// IE uses childNodes, so ignore nodes that are not elements
|
|
8898
|
+
if (element.nodeType && element.nodeType !== 1) {
|
|
8899
|
+
return;
|
|
8900
|
+
}
|
|
8901
|
+
/**
|
|
8902
|
+
* If attributes is not a NamedNodeMap
|
|
8903
|
+
* then we should remove the element entirely.
|
|
8904
|
+
* This helps avoid DOM Clobbering attacks where
|
|
8905
|
+
* attributes is overridden.
|
|
8906
|
+
*/
|
|
8907
|
+
if (typeof NamedNodeMap !== 'undefined' && !(element.attributes instanceof NamedNodeMap)) {
|
|
8908
|
+
element.remove();
|
|
8909
|
+
return;
|
|
8910
|
+
}
|
|
8911
|
+
/**
|
|
8912
|
+
* Always strip `style` (CSS injection, `background:url()` beaconing, UI
|
|
8913
|
+
* spoofing). It is never on the allowlist, but it is removed explicitly
|
|
8914
|
+
* here because some engines (e.g. jsdom) don't enumerate the CSSOM-backed
|
|
8915
|
+
* `style` attribute in `element.attributes`, which would let the loop
|
|
8916
|
+
* below skip over it.
|
|
8917
|
+
*/
|
|
8918
|
+
element.removeAttribute('style');
|
|
8919
|
+
for (let i = element.attributes.length - 1; i >= 0; i--) {
|
|
8920
|
+
const attribute = element.attributes.item(i);
|
|
8921
|
+
const attributeName = attribute.name;
|
|
8922
|
+
const lowerName = attributeName.toLowerCase();
|
|
8923
|
+
/**
|
|
8924
|
+
* Remove any attribute that is not on the allowlist. This drops event
|
|
8925
|
+
* handlers (`on*`), `style`, the form/navigation-hijack attributes
|
|
8926
|
+
* (`formaction`, `action`, `target`), namespaced attributes like
|
|
8927
|
+
* `xlink:href`, and anything else not explicitly known to be safe.
|
|
8928
|
+
*/
|
|
8929
|
+
if (!isAttributeAllowed(lowerName, allowedAttributes, allowedAttributePrefixes)) {
|
|
8930
|
+
element.removeAttribute(attributeName);
|
|
8931
|
+
continue;
|
|
8932
|
+
}
|
|
8933
|
+
// clean up any allowed attribs
|
|
8934
|
+
// that attempt to do any JS funny-business
|
|
8935
|
+
const attributeValue = attribute.value;
|
|
8936
|
+
if (attributeValue == null) {
|
|
8937
|
+
continue;
|
|
8938
|
+
}
|
|
8939
|
+
/**
|
|
8940
|
+
* Scrub dangerous schemes from the value. The value is normalized first
|
|
8941
|
+
* (whitespace and ASCII control characters removed) so entity-obfuscated
|
|
8942
|
+
* payloads such as `java	script:`, which the parser decodes to
|
|
8943
|
+
* `java\tscript:`, are still caught. Normalizing the value also covers
|
|
8944
|
+
* namespaced attributes, where the previous `element[attributeName]`
|
|
8945
|
+
* property reflection returned `undefined` and let them slip through.
|
|
8946
|
+
*/
|
|
8947
|
+
const normalizedValue = attributeValue.replace(controlCharactersAndWhitespace, '').toLowerCase();
|
|
8948
|
+
// Script schemes are never allowed, on any attribute.
|
|
8949
|
+
if (normalizedValue.includes('javascript:') || normalizedValue.includes('vbscript:')) {
|
|
8950
|
+
element.removeAttribute(attributeName);
|
|
8951
|
+
continue;
|
|
8952
|
+
}
|
|
8953
|
+
/**
|
|
8954
|
+
* For URL-bearing attributes, allow `data:` URIs only for raster
|
|
8955
|
+
* images. Document-bearing types (`text/html`, `image/svg+xml`,
|
|
8956
|
+
* `application/*`, etc.) can carry markup or script when navigated to
|
|
8957
|
+
* or rendered, so they are stripped, while safe image types are kept so
|
|
8958
|
+
* inline images keep working.
|
|
8959
|
+
*/
|
|
8960
|
+
if (urlAttributes.includes(lowerName) &&
|
|
8961
|
+
normalizedValue.startsWith('data:') &&
|
|
8962
|
+
!safeDataImageUri.test(normalizedValue)) {
|
|
8963
|
+
element.removeAttribute(attributeName);
|
|
8964
|
+
}
|
|
8965
|
+
}
|
|
8966
|
+
/**
|
|
8967
|
+
* Sanitize any nested children
|
|
8968
|
+
*/
|
|
8969
|
+
const childElements = getElementChildren(element);
|
|
8970
|
+
/* eslint-disable-next-line */
|
|
8971
|
+
for (let i = 0; i < childElements.length; i++) {
|
|
8972
|
+
sanitizeElement(childElements[i], allowedAttributes, allowedAttributePrefixes);
|
|
8973
|
+
}
|
|
8974
|
+
};
|
|
8975
|
+
/**
|
|
8976
|
+
* IE doesn't always support .children
|
|
8977
|
+
* so we revert to .childNodes instead
|
|
8978
|
+
*/
|
|
8979
|
+
// TODO(FW-2832): type
|
|
8980
|
+
const getElementChildren = (el) => {
|
|
8981
|
+
return el.children != null ? el.children : el.childNodes;
|
|
8982
|
+
};
|
|
8983
|
+
const isSanitizerEnabled = () => {
|
|
8984
|
+
var _a;
|
|
8985
|
+
const win = window;
|
|
8986
|
+
const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
|
|
8987
|
+
if (config) {
|
|
8988
|
+
if (config.get) {
|
|
8989
|
+
return config.get('sanitizerEnabled', true);
|
|
8990
|
+
}
|
|
8991
|
+
else {
|
|
8992
|
+
return config.sanitizerEnabled === true || config.sanitizerEnabled === undefined;
|
|
8993
|
+
}
|
|
8994
|
+
}
|
|
8995
|
+
return true;
|
|
8996
|
+
};
|
|
8997
|
+
/**
|
|
8998
|
+
* Mirror known custom-element DOM properties onto attributes so they
|
|
8999
|
+
* survive `cloneNode`. Call this on a DOM subtree before cloning it for
|
|
9000
|
+
* rendering elsewhere (e.g. cloning slotted option content into an
|
|
9001
|
+
* overlay).
|
|
9002
|
+
*
|
|
9003
|
+
* Only sets the attribute when the property holds a non-empty string
|
|
9004
|
+
* and the attribute isn't already present, so existing attributes
|
|
9005
|
+
* take precedence.
|
|
9006
|
+
*
|
|
9007
|
+
* @param root - The root element whose subtree (and itself) will be
|
|
9008
|
+
* inspected.
|
|
9009
|
+
*/
|
|
9010
|
+
const reflectPropertiesToAttributes = (root) => {
|
|
9011
|
+
const candidates = [];
|
|
9012
|
+
if (root.tagName in elementPropsToReflect) {
|
|
9013
|
+
candidates.push(root);
|
|
9014
|
+
}
|
|
9015
|
+
for (const tagName of Object.keys(elementPropsToReflect)) {
|
|
9016
|
+
candidates.push(...Array.from(root.querySelectorAll(tagName.toLowerCase())));
|
|
9017
|
+
}
|
|
9018
|
+
for (const el of candidates) {
|
|
9019
|
+
if (!(el.tagName in elementPropsToReflect)) {
|
|
9020
|
+
continue;
|
|
9021
|
+
}
|
|
9022
|
+
const props = elementPropsToReflect[el.tagName];
|
|
9023
|
+
for (const prop of props) {
|
|
9024
|
+
const value = el[prop];
|
|
9025
|
+
if (typeof value === 'string' && value.length > 0 && !el.hasAttribute(prop)) {
|
|
9026
|
+
el.setAttribute(prop, value);
|
|
9027
|
+
}
|
|
9028
|
+
}
|
|
9029
|
+
}
|
|
9030
|
+
};
|
|
9031
|
+
/**
|
|
9032
|
+
* Attribute allowlist for `sanitizeDOMString`. Intentionally narrow: this
|
|
9033
|
+
* path sanitizes developer HTML strings rendered via `innerHTML` by
|
|
9034
|
+
* `ion-toast`, `ion-loading`, the `ion-alert` message,
|
|
9035
|
+
* `ion-refresher-content`, and `ion-infinite-scroll-content`, so the list
|
|
9036
|
+
* is kept to the minimum those have always needed. Broadening it here would
|
|
9037
|
+
* change sanitization output for all of those consumers, so the wider
|
|
9038
|
+
* rich-content allowlist below is deliberately scoped to `sanitizeDOMTree`
|
|
9039
|
+
* instead.
|
|
9040
|
+
*/
|
|
9041
|
+
const domStringAllowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];
|
|
9042
|
+
/**
|
|
9043
|
+
* Attribute allowlist for `sanitizeDOMTree` (the select rich-content path).
|
|
9044
|
+
* Covers global HTML attributes, the Ionic component presentational props
|
|
9045
|
+
* that cloned rich content (e.g. `ion-select-option` markup) relies on, and
|
|
9046
|
+
* the inert SVG presentation attributes used by inline icons.
|
|
9047
|
+
*
|
|
9048
|
+
* `aria-*` and `data-*` are allowed separately by prefix (refer
|
|
9049
|
+
* `richContentAllowedAttributePrefixes`) since they are inert and not worth
|
|
9050
|
+
* enumerating. URL-bearing names (`href`, `src`) are allowed here, but
|
|
9051
|
+
* their values are still scrubbed for script schemes in `sanitizeElement`.
|
|
9052
|
+
*
|
|
9053
|
+
* Notably absent: `style`, event handlers (`on*`), and the
|
|
9054
|
+
* form/navigation-hijack attributes (`formaction`, `action`, `target`),
|
|
9055
|
+
* which are therefore stripped.
|
|
9056
|
+
*/
|
|
9057
|
+
const richContentAllowedAttributes = [
|
|
9058
|
+
// Global / structural
|
|
9059
|
+
'class',
|
|
9060
|
+
'id',
|
|
9061
|
+
'slot',
|
|
9062
|
+
'name',
|
|
9063
|
+
'title',
|
|
9064
|
+
'alt',
|
|
9065
|
+
'lang',
|
|
9066
|
+
'dir',
|
|
9067
|
+
'role',
|
|
9068
|
+
'type',
|
|
9069
|
+
'value',
|
|
9070
|
+
'disabled',
|
|
9071
|
+
'width',
|
|
9072
|
+
'height',
|
|
9073
|
+
'href',
|
|
9074
|
+
'src',
|
|
9075
|
+
// Ionic component presentational props
|
|
9076
|
+
'color',
|
|
9077
|
+
'size',
|
|
9078
|
+
'shape',
|
|
9079
|
+
'fill',
|
|
9080
|
+
'expand',
|
|
9081
|
+
'mode',
|
|
9082
|
+
'theme',
|
|
9083
|
+
'icon',
|
|
9084
|
+
'label',
|
|
9085
|
+
'label-placement',
|
|
9086
|
+
'justify',
|
|
9087
|
+
'inset',
|
|
9088
|
+
'lines',
|
|
9089
|
+
'ios',
|
|
9090
|
+
'md',
|
|
9091
|
+
// SVG presentation attributes (compared lowercased, e.g. `viewBox`)
|
|
9092
|
+
'xmlns',
|
|
9093
|
+
'viewbox',
|
|
9094
|
+
'preserveaspectratio',
|
|
9095
|
+
'stroke',
|
|
9096
|
+
'stroke-width',
|
|
9097
|
+
'stroke-linecap',
|
|
9098
|
+
'stroke-linejoin',
|
|
9099
|
+
'stroke-opacity',
|
|
9100
|
+
'stroke-dasharray',
|
|
9101
|
+
'fill-rule',
|
|
9102
|
+
'fill-opacity',
|
|
9103
|
+
'clip-rule',
|
|
9104
|
+
'd',
|
|
9105
|
+
'points',
|
|
9106
|
+
'cx',
|
|
9107
|
+
'cy',
|
|
9108
|
+
'r',
|
|
9109
|
+
'rx',
|
|
9110
|
+
'ry',
|
|
9111
|
+
'x',
|
|
9112
|
+
'y',
|
|
9113
|
+
'x1',
|
|
9114
|
+
'y1',
|
|
9115
|
+
'x2',
|
|
9116
|
+
'y2',
|
|
9117
|
+
'transform',
|
|
9118
|
+
'opacity',
|
|
9119
|
+
];
|
|
9120
|
+
/**
|
|
9121
|
+
* Attribute-name prefixes that are always safe to keep in the rich-content
|
|
9122
|
+
* path. `aria-*` and `data-*` attributes cannot execute script or load
|
|
9123
|
+
* resources, so they are allowed wholesale rather than enumerated by name.
|
|
9124
|
+
*/
|
|
9125
|
+
const richContentAllowedAttributePrefixes = ['aria-', 'data-'];
|
|
9126
|
+
/**
|
|
9127
|
+
* Whether an attribute name (already lowercased) is safe to keep, by exact
|
|
9128
|
+
* match or by an allowed prefix.
|
|
9129
|
+
*/
|
|
9130
|
+
const isAttributeAllowed = (lowerName, allowedAttributes, allowedAttributePrefixes) => {
|
|
9131
|
+
if (allowedAttributes.includes(lowerName)) {
|
|
9132
|
+
return true;
|
|
9133
|
+
}
|
|
9134
|
+
return allowedAttributePrefixes.some((prefix) => lowerName.startsWith(prefix));
|
|
9135
|
+
};
|
|
9136
|
+
/**
|
|
9137
|
+
* Matches ASCII control characters and whitespace (including the
|
|
9138
|
+
* non-breaking space). Used to normalize attribute values before matching
|
|
9139
|
+
* a URL scheme so entity-obfuscated payloads such as `java	script:`
|
|
9140
|
+
* (decoded by the parser to `java\tscript:`) can't smuggle a scheme past
|
|
9141
|
+
* the check.
|
|
9142
|
+
*/
|
|
9143
|
+
// eslint-disable-next-line no-control-regex -- matching control characters is the point
|
|
9144
|
+
const controlCharactersAndWhitespace = /[\u0000-\u0020\u007f-\u00a0]/g;
|
|
9145
|
+
/**
|
|
9146
|
+
* Attributes whose values are URLs. Their values are scheme-checked in
|
|
9147
|
+
* `sanitizeElement` (e.g. `data:` filtering) beyond the script-scheme scrub
|
|
9148
|
+
* applied to every attribute.
|
|
9149
|
+
*/
|
|
9150
|
+
const urlAttributes = ['href', 'src'];
|
|
9151
|
+
/**
|
|
9152
|
+
* Matches a `data:` URI for a raster image type that cannot carry script.
|
|
9153
|
+
* `image/svg+xml` is deliberately excluded (SVG can execute script), as are
|
|
9154
|
+
* document types like `text/html` and `application/*`. The value is already
|
|
9155
|
+
* lowercased and whitespace-stripped before this is tested.
|
|
9156
|
+
*/
|
|
9157
|
+
const safeDataImageUri = /^data:image\/(?:png|jpe?g|gif|webp|bmp|avif|x-icon|vnd\.microsoft\.icon)[;,]/;
|
|
9158
|
+
/**
|
|
9159
|
+
* Tags removed entirely (with their subtree) before attribute sanitization.
|
|
9160
|
+
* Exported so tests can assert the set without hardcoding it.
|
|
9161
|
+
*/
|
|
9162
|
+
const blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed', 'base'];
|
|
9163
|
+
/**
|
|
9164
|
+
* Properties on custom elements that frameworks (Vue, Angular) often
|
|
9165
|
+
* set as DOM properties rather than attributes. `cloneNode` only copies
|
|
9166
|
+
* attributes, so these values are lost when slotted content is cloned
|
|
9167
|
+
* into an overlay. For each known custom element, we mirror the listed
|
|
9168
|
+
* properties onto attributes so the cloned copy still has the data it
|
|
9169
|
+
* needs to render.
|
|
9170
|
+
*
|
|
9171
|
+
* Keyed by uppercased tagName so the lookup matches `Element.tagName`.
|
|
9172
|
+
*/
|
|
9173
|
+
const elementPropsToReflect = {
|
|
9174
|
+
'ION-ICON': ['icon', 'name', 'src', 'ios', 'md'],
|
|
9175
|
+
};
|
|
9176
|
+
class IonicSafeString {
|
|
9177
|
+
constructor(value) {
|
|
9178
|
+
this.value = value;
|
|
9179
|
+
}
|
|
9180
|
+
}
|
|
9181
|
+
|
|
9182
|
+
/**
|
|
9183
|
+
* Converts a DOM node into a Stencil VNode (or text string) so the
|
|
9184
|
+
* resulting tree is rendered through the component's normal render
|
|
9185
|
+
* path. Rendering through Stencil ensures that scoped CSS classes
|
|
9186
|
+
* (e.g. `sc-ion-action-sheet-ionic`) are applied to every element.
|
|
9187
|
+
*
|
|
9188
|
+
* Highly recommended to pre-sanitize the source DOM (see
|
|
9189
|
+
* `getOptionContent` in select.tsx). This function performs pure
|
|
9190
|
+
* structural conversion — no security filtering.
|
|
9191
|
+
*
|
|
9192
|
+
* Preserves attributes only — properties set imperatively on the source
|
|
9193
|
+
* element (e.g. `input.value` after a user types) won't carry through.
|
|
9194
|
+
* In practice this isn't a concern: interactive controls shouldn't
|
|
9195
|
+
* appear in select-option rich content since they'd nest inside the
|
|
9196
|
+
* overlay's button/radio/checkbox wrapper, which is invalid HTML and
|
|
9197
|
+
* an accessibility issue.
|
|
9198
|
+
*
|
|
9199
|
+
* @param node - The DOM node to convert. Text nodes become strings,
|
|
9200
|
+
* element nodes become VNodes, and any other node types are skipped.
|
|
9201
|
+
* @param keyPrefix - String prefix used to build a stable VNode key,
|
|
9202
|
+
* so Stencil's diff can preserve elements across re-renders.
|
|
9203
|
+
* @param index - Position of this node among its siblings. Combined
|
|
9204
|
+
* with `keyPrefix` to form the final unique key.
|
|
9205
|
+
* @returns The converted VNode, a text string, or `null` if the node
|
|
9206
|
+
* type isn't supported.
|
|
9207
|
+
*
|
|
9208
|
+
* @internal Exported only so it can be unit tested; not part of the
|
|
9209
|
+
* public API.
|
|
9210
|
+
*/
|
|
9211
|
+
const cloneToVNode = (node, keyPrefix, index) => {
|
|
9212
|
+
var _a;
|
|
9213
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
9214
|
+
return (_a = node.textContent) !== null && _a !== void 0 ? _a : '';
|
|
9215
|
+
}
|
|
9216
|
+
if (node.nodeType !== Node.ELEMENT_NODE) {
|
|
9217
|
+
return null;
|
|
9218
|
+
}
|
|
9219
|
+
const el = node;
|
|
9220
|
+
const tag = el.tagName.toLowerCase();
|
|
9221
|
+
const key = `${keyPrefix}-${index}`;
|
|
9222
|
+
const attrs = { key };
|
|
9223
|
+
for (let i = 0; i < el.attributes.length; i++) {
|
|
9224
|
+
const attr = el.attributes.item(i);
|
|
9225
|
+
attrs[attr.name] = attr.value;
|
|
9226
|
+
}
|
|
9227
|
+
const children = Array.from(el.childNodes)
|
|
9228
|
+
.map((child, i) => cloneToVNode(child, key, i))
|
|
9229
|
+
.filter((c) => c !== null);
|
|
9230
|
+
return hAsync(tag, attrs, children);
|
|
9231
|
+
};
|
|
9232
|
+
/**
|
|
9233
|
+
* Renders cloned DOM content as Stencil JSX. Walking the source DOM
|
|
9234
|
+
* into VNodes (rather than injecting it via innerHTML) keeps the
|
|
9235
|
+
* content inside Stencil's render path, so scoped CSS classes are
|
|
9236
|
+
* applied automatically and component attributes like `size` or
|
|
9237
|
+
* `color` survive intact.
|
|
9238
|
+
*
|
|
9239
|
+
* Span elements should be used when this content renders within buttons,
|
|
9240
|
+
* depending on the select interface. Buttons can only have phrasing
|
|
9241
|
+
* content to prevent accessibility issues.
|
|
9242
|
+
*
|
|
9243
|
+
* @param id - Unique identifier for generating stable virtual DOM keys.
|
|
9244
|
+
* @param content - The HTMLElement container whose child nodes will be cloned.
|
|
9245
|
+
* @param className - CSS class applied to the wrapper element.
|
|
9246
|
+
* @param useSpan - Whether to use a span element instead of a div for the wrapper.
|
|
9247
|
+
*/
|
|
9248
|
+
const renderClonedContent = (id, content, className, useSpan = false) => {
|
|
9249
|
+
const Tag = useSpan ? 'span' : 'div';
|
|
9250
|
+
const keyPrefix = `${className}-${id}`;
|
|
9251
|
+
/**
|
|
9252
|
+
* Do not remove. This is the only sanitization pass for callers that pass
|
|
9253
|
+
* an `HTMLElement` straight to `renderOptionLabel` (e.g. vanilla JS)
|
|
9254
|
+
* without going through `getOptionContent`, which sanitizes upstream.
|
|
9255
|
+
* `cloneToVNode` does pure structural conversion and no security
|
|
9256
|
+
* filtering, so dropping this call would reopen an XSS hole on the
|
|
9257
|
+
* direct `HTMLElement` path.
|
|
9258
|
+
*/
|
|
9259
|
+
sanitizeDOMTree(content);
|
|
9260
|
+
return (hAsync(Tag, { class: className, key: keyPrefix }, Array.from(content.childNodes).map((child, i) => cloneToVNode(child, keyPrefix, i))));
|
|
9261
|
+
};
|
|
9262
|
+
/**
|
|
9263
|
+
* Renders the label content for a select option within an overlay
|
|
9264
|
+
* interface based on the presence of rich content.
|
|
9265
|
+
*
|
|
9266
|
+
* Span elements should be used when this content renders within buttons,
|
|
9267
|
+
* depending on the select interface. Buttons can only have phrasing
|
|
9268
|
+
* content to prevent accessibility issues.
|
|
9269
|
+
*
|
|
9270
|
+
* @param option - The content option data containing label, slots,
|
|
9271
|
+
* and description.
|
|
9272
|
+
* @param className - The base CSS class for the label element.
|
|
9273
|
+
* @param useSpan - Whether to use a span element instead of a div for the label.
|
|
9274
|
+
*/
|
|
9275
|
+
const renderOptionLabel = (option, className, useSpan = false) => {
|
|
9276
|
+
const { id, label, startContent, endContent, description } = option;
|
|
9277
|
+
const hasRichContent = !!startContent || !!endContent || !!description;
|
|
9278
|
+
const Tag = useSpan ? 'span' : 'div';
|
|
9279
|
+
// Render simple string label if there is no rich content to display
|
|
9280
|
+
if (!hasRichContent && (typeof label === 'string' || !label)) {
|
|
9281
|
+
return (hAsync(Tag, { class: className, key: `${className}-${id}` }, label));
|
|
9282
|
+
}
|
|
9283
|
+
// Render the main label
|
|
9284
|
+
const labelEl = typeof label === 'string' || !label ? (
|
|
9285
|
+
// Label is a simple string or undefined
|
|
9286
|
+
hAsync(Tag, { key: `${className}-label-${id}` }, label)) : (
|
|
9287
|
+
// Label is an HTMLElement with potential rich content
|
|
9288
|
+
renderClonedContent(id, label, `${className}-text`, useSpan));
|
|
9289
|
+
// No rich content, render just the label
|
|
9290
|
+
if (!hasRichContent) {
|
|
9291
|
+
return (hAsync(Tag, { class: className, key: `${className}-${id}` }, labelEl));
|
|
9292
|
+
}
|
|
9293
|
+
// Render label with rich content (start, end, description)
|
|
9294
|
+
return (hAsync(Tag, { class: `${className} ${className}-has-rich-content`, key: `${className}-${id}` }, startContent && renderClonedContent(id, startContent, 'select-option-start', useSpan), hAsync(Tag, { class: "select-option-content", key: `${className}-content-${id}` }, labelEl, description && (hAsync(Tag, { class: "select-option-description", key: `${className}-desc-${id}` }, description))), endContent && renderClonedContent(id, endContent, 'select-option-end', useSpan)));
|
|
9295
|
+
};
|
|
9296
|
+
|
|
8766
9297
|
const hostContext = (selector, el) => {
|
|
8767
9298
|
return el.closest(selector) !== null;
|
|
8768
9299
|
};
|
|
@@ -9618,7 +10149,7 @@ const createAnimation = (animationId) => {
|
|
|
9618
10149
|
/**
|
|
9619
10150
|
* iOS Action Sheet Enter Animation
|
|
9620
10151
|
*/
|
|
9621
|
-
const iosEnterAnimation$
|
|
10152
|
+
const iosEnterAnimation$5 = (baseEl) => {
|
|
9622
10153
|
const baseAnimation = createAnimation();
|
|
9623
10154
|
const backdropAnimation = createAnimation();
|
|
9624
10155
|
const wrapperAnimation = createAnimation();
|
|
@@ -9642,7 +10173,7 @@ const iosEnterAnimation$6 = (baseEl) => {
|
|
|
9642
10173
|
/**
|
|
9643
10174
|
* iOS Action Sheet Leave Animation
|
|
9644
10175
|
*/
|
|
9645
|
-
const iosLeaveAnimation$
|
|
10176
|
+
const iosLeaveAnimation$5 = (baseEl) => {
|
|
9646
10177
|
const baseAnimation = createAnimation();
|
|
9647
10178
|
const backdropAnimation = createAnimation();
|
|
9648
10179
|
const wrapperAnimation = createAnimation();
|
|
@@ -9699,9 +10230,9 @@ const mdLeaveAnimation$5 = (baseEl) => {
|
|
|
9699
10230
|
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
9700
10231
|
};
|
|
9701
10232
|
|
|
9702
|
-
const actionSheetIosCss = () => `.sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color-step-150, var(--ion-background-color, #fff)));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #0054e9);--button-color-disabled:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--color:var(--ion-color-step-400, var(--ion-text-color-step-600, #999999));text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);padding-bottom:var(--ion-safe-area-bottom, 0);-webkit-box-sizing:content-box;box-sizing:content-box}.action-sheet-container.sc-ion-action-sheet-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-size:max(13px, 0.8125rem);font-weight:400;text-align:center}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:max(13px, 0.8125rem);font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:14px;padding-bottom:14px;min-height:56px;font-size:max(20px, 1.25rem);contain:content}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:max(28px, 1.75rem);pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #c5000f)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #c5000f)}}`;
|
|
10233
|
+
const actionSheetIosCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-action-sheet-ios,.alert-radio-label-has-rich-content.sc-ion-action-sheet-ios,.alert-checkbox-label-has-rich-content.sc-ion-action-sheet-ios,.select-option-label-has-rich-content.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-action-sheet-ios,.alert-radio-label-has-rich-content.sc-ion-action-sheet-ios,.alert-checkbox-label-has-rich-content.sc-ion-action-sheet-ios,.select-option-content.sc-ion-action-sheet-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-action-sheet-ios,.alert-checkbox-label-text.sc-ion-action-sheet-ios,.alert-radio-label-text.sc-ion-action-sheet-ios,.select-option-label-text.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-action-sheet-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-action-sheet-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-action-sheet-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-action-sheet-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-action-sheet-ios [part~="label"],.select-option-content.sc-ion-action-sheet-ios{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-action-sheet-ios>ion-avatar.sc-ion-action-sheet-ios,.select-option-start.sc-ion-action-sheet-ios>ion-img.sc-ion-action-sheet-ios,.select-option-start.sc-ion-action-sheet-ios>ion-thumbnail.sc-ion-action-sheet-ios,.select-option-start.sc-ion-action-sheet-ios>img.sc-ion-action-sheet-ios,.select-option-start.sc-ion-action-sheet-ios>svg.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>ion-avatar.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>ion-img.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>ion-thumbnail.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>img.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>svg.sc-ion-action-sheet-ios{width:44px;height:44px}.select-option-start.sc-ion-action-sheet-ios>ion-icon.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>ion-icon.sc-ion-action-sheet-ios{width:28px;height:28px}.action-sheet-button-label-text.sc-ion-action-sheet-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-action-sheet-ios{-webkit-padding-end:16px;padding-inline-end:16px}.sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button.sc-ion-action-sheet-ios:disabled ion-icon.sc-ion-action-sheet-ios{color:currentColor}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios:not(.ion-activated){color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios:not(.ion-activated)::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios:not(.ion-activated).action-sheet-selected::after{background:var(--button-background-focused, var(--button-background-selected));opacity:var(--button-background-focused-opacity, var(--button-background-selected-opacity))}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color-step-150, var(--ion-background-color, #fff)));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #0054e9);--button-color-disabled:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--color:var(--ion-color-step-400, var(--ion-text-color-step-600, #999999));text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);padding-bottom:var(--ion-safe-area-bottom, 0);-webkit-box-sizing:content-box;box-sizing:content-box}.action-sheet-container.sc-ion-action-sheet-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-size:max(13px, 0.8125rem);font-weight:400;text-align:center}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:max(13px, 0.8125rem);font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:14px;padding-bottom:14px;min-height:56px;font-size:max(20px, 1.25rem);contain:content}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:max(28px, 1.75rem);pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #c5000f)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #c5000f)}}`;
|
|
9703
10234
|
|
|
9704
|
-
const actionSheetMdCss = () => `.sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--button-color-disabled:var(--button-color);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-wrapper.sc-ion-action-sheet-md{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:0}.action-sheet-title.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:1rem;text-align:start}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:0.875rem}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:var(--ion-safe-area-bottom)}.action-sheet-button.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;position:relative;min-height:52px;font-size:1rem;text-align:start;contain:content;overflow:hidden}.action-sheet-icon.sc-ion-action-sheet-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:1.5rem}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}`;
|
|
10235
|
+
const actionSheetMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-action-sheet-md,.alert-radio-label-has-rich-content.sc-ion-action-sheet-md,.alert-checkbox-label-has-rich-content.sc-ion-action-sheet-md,.select-option-label-has-rich-content.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-action-sheet-md,.alert-radio-label-has-rich-content.sc-ion-action-sheet-md,.alert-checkbox-label-has-rich-content.sc-ion-action-sheet-md,.select-option-content.sc-ion-action-sheet-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-action-sheet-md,.alert-checkbox-label-text.sc-ion-action-sheet-md,.alert-radio-label-text.sc-ion-action-sheet-md,.select-option-label-text.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-action-sheet-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-action-sheet-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-action-sheet-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-action-sheet-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-action-sheet-md [part~="label"],.select-option-content.sc-ion-action-sheet-md{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-action-sheet-md>ion-avatar.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>ion-avatar.sc-ion-action-sheet-md{width:40px;height:40px}.select-option-start.sc-ion-action-sheet-md>ion-icon.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>ion-icon.sc-ion-action-sheet-md{width:24px;height:24px}.select-option-start.sc-ion-action-sheet-md>ion-img.sc-ion-action-sheet-md,.select-option-start.sc-ion-action-sheet-md>img.sc-ion-action-sheet-md,.select-option-start.sc-ion-action-sheet-md>svg.sc-ion-action-sheet-md,.select-option-start.sc-ion-action-sheet-md>ion-thumbnail.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>ion-img.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>img.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>svg.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>ion-thumbnail.sc-ion-action-sheet-md{width:56px;height:56px}.select-option-start.sc-ion-action-sheet-md>video.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>video.sc-ion-action-sheet-md{width:114px;height:56px}.sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;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);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button.sc-ion-action-sheet-md:disabled ion-icon.sc-ion-action-sheet-md{color:currentColor}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md:not(.ion-activated){color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md:not(.ion-activated)::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md:not(.ion-activated).action-sheet-selected::after{background:var(--button-background-focused, var(--button-background-selected));opacity:var(--button-background-focused-opacity, var(--button-background-selected-opacity))}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--button-color-disabled:var(--button-color);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-wrapper.sc-ion-action-sheet-md{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:0}.action-sheet-title.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:1rem;text-align:start}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:0.875rem}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:var(--ion-safe-area-bottom)}.action-sheet-button.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;position:relative;min-height:52px;font-size:1rem;text-align:start;contain:content;overflow:hidden}.action-sheet-icon.sc-ion-action-sheet-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:1.5rem}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}`;
|
|
9705
10236
|
|
|
9706
10237
|
/**
|
|
9707
10238
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
@@ -9798,7 +10329,7 @@ class ActionSheet {
|
|
|
9798
10329
|
async present() {
|
|
9799
10330
|
const unlock = await this.lockController.lock();
|
|
9800
10331
|
await this.delegateController.attachViewToDom();
|
|
9801
|
-
await present(this, 'actionSheetEnter', iosEnterAnimation$
|
|
10332
|
+
await present(this, 'actionSheetEnter', iosEnterAnimation$5, mdEnterAnimation$5);
|
|
9802
10333
|
unlock();
|
|
9803
10334
|
}
|
|
9804
10335
|
/**
|
|
@@ -9815,7 +10346,7 @@ class ActionSheet {
|
|
|
9815
10346
|
*/
|
|
9816
10347
|
async dismiss(data, role) {
|
|
9817
10348
|
const unlock = await this.lockController.lock();
|
|
9818
|
-
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$
|
|
10349
|
+
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$5, mdLeaveAnimation$5);
|
|
9819
10350
|
if (dismissed) {
|
|
9820
10351
|
this.delegateController.removeViewFromDom();
|
|
9821
10352
|
}
|
|
@@ -9984,6 +10515,10 @@ class ActionSheet {
|
|
|
9984
10515
|
this.gesture = undefined;
|
|
9985
10516
|
}
|
|
9986
10517
|
this.triggerController.removeClickListener();
|
|
10518
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
10519
|
+
if (this.presented) {
|
|
10520
|
+
cleanupRootFocusTrapAccessibility();
|
|
10521
|
+
}
|
|
9987
10522
|
}
|
|
9988
10523
|
componentWillLoad() {
|
|
9989
10524
|
var _a;
|
|
@@ -10072,12 +10607,26 @@ class ActionSheet {
|
|
|
10072
10607
|
if (isRadio) {
|
|
10073
10608
|
htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
|
|
10074
10609
|
}
|
|
10075
|
-
|
|
10610
|
+
/**
|
|
10611
|
+
* Cast to `SelectActionSheetButton` to access rich content
|
|
10612
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
10613
|
+
* that are passed through from `ion-select` but not
|
|
10614
|
+
* part of the public `ActionSheetButton` interface.
|
|
10615
|
+
*/
|
|
10616
|
+
const richButton = b;
|
|
10617
|
+
const optionLabelOptions = {
|
|
10618
|
+
id: buttonId,
|
|
10619
|
+
label: richButton.text,
|
|
10620
|
+
startContent: richButton.startContent,
|
|
10621
|
+
endContent: richButton.endContent,
|
|
10622
|
+
description: richButton.description,
|
|
10623
|
+
};
|
|
10624
|
+
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: () => {
|
|
10076
10625
|
if (isRadio) {
|
|
10077
10626
|
this.selectRadioButton(b);
|
|
10078
10627
|
}
|
|
10079
10628
|
this.buttonClick(b);
|
|
10080
|
-
}, disabled: b.disabled, tabIndex: tabIndex }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }),
|
|
10629
|
+
}, disabled: b.disabled, tabIndex: tabIndex }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), renderOptionLabel(optionLabelOptions, 'action-sheet-button-label', true)), mode === 'md' && hAsync("ion-ripple-effect", null)));
|
|
10081
10630
|
});
|
|
10082
10631
|
}
|
|
10083
10632
|
render() {
|
|
@@ -10087,12 +10636,12 @@ class ActionSheet {
|
|
|
10087
10636
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
10088
10637
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
10089
10638
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
10090
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
10639
|
+
return (hAsync(Host, Object.assign({ key: '7685831da9a78b73473246a2cea95cefa79a53c3', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
10091
10640
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
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: '
|
|
10641
|
+
}, 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: 'c70f00e401cac99b89412d1adb867f35bc855d57', tappable: this.backdropDismiss }), hAsync("div", { key: '3332893ce3098f1435875480b1269b2821d41660', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'eb406b0a9e303d6f94c5c7aa99c6f4c089bfbd41', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '92ec855379f10e1e0bfce6ff68b45d3cda0c137c', class: "action-sheet-container" }, hAsync("div", { key: 'bc88a396d75396f574961471bf7e6c4edb513353', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: '33329e0193818888bdcaa443ff5ea301802e0787', id: headerID, class: {
|
|
10093
10642
|
'action-sheet-title': true,
|
|
10094
10643
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
10095
|
-
} }, header, this.subHeader && hAsync("div", { key: '
|
|
10644
|
+
} }, header, this.subHeader && hAsync("div", { key: '92ac5a9217a12b7417f7aca9c4fdb7bf6b051364', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: '020463b830fa48fc3ae647ea64f2aaa4d0969305', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'cefa9c70a2233f6652a81b1a2eae6e717712144d' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$2(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: '56d7e2f8bfb3644e4476895164d334445fda9b2f', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '6a4a49254ec5cd96f4e0dce9447f90d8cac81913', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: '7d3c6e8d70b0922ea0f75520856285ce1005c891' })))))), hAsync("div", { key: '958fc43e603c6a7f5d1e649d3326fce0f163b5d0', tabindex: "0", "aria-hidden": "true" })));
|
|
10096
10645
|
}
|
|
10097
10646
|
get el() { return getElement(this); }
|
|
10098
10647
|
static get watchers() { return {
|
|
@@ -10141,178 +10690,59 @@ class ActionSheet {
|
|
|
10141
10690
|
"$attrsToReflect$": []
|
|
10142
10691
|
}; }
|
|
10143
10692
|
}
|
|
10144
|
-
const buttonClass$
|
|
10693
|
+
const buttonClass$2 = (button) => {
|
|
10145
10694
|
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));
|
|
10146
10695
|
};
|
|
10147
10696
|
|
|
10148
10697
|
const ENABLE_HTML_CONTENT_DEFAULT = false;
|
|
10149
10698
|
|
|
10699
|
+
// TODO(FW-6886, FW-6892, FW-6891): Remove this file in favor of the Modular Ionic component config. Each overlay will be able to select its own defaults for label placement and justify based on the interface and mode, so this utility will no longer be necessary.
|
|
10150
10700
|
/**
|
|
10151
|
-
*
|
|
10152
|
-
*
|
|
10701
|
+
* Returns the default `labelPlacement` for a radio or checkbox option
|
|
10702
|
+
* rendered inside an overlay. Defaults follow each mode's established
|
|
10703
|
+
* option-row layout:
|
|
10704
|
+
* - `ios`: `"start"` for radio in `alert` and `popover`. The `modal`
|
|
10705
|
+
* interface flips iOS radio back to `"end"`. Checkbox is always
|
|
10706
|
+
* `"end"` on iOS.
|
|
10707
|
+
* - everything else (e.g. `md`): `"end"`.
|
|
10708
|
+
*
|
|
10709
|
+
* `interfaceType` is optional; only `"modal"` changes the result, so
|
|
10710
|
+
* callers that aren't a modal can omit it.
|
|
10711
|
+
*
|
|
10712
|
+
* Used by `select-popover` and `select-modal` as the fallback when an
|
|
10713
|
+
* option doesn't explicitly set `labelPlacement`.
|
|
10153
10714
|
*/
|
|
10154
|
-
const
|
|
10155
|
-
|
|
10156
|
-
|
|
10157
|
-
return untrustedString.value;
|
|
10158
|
-
}
|
|
10159
|
-
if (!isSanitizerEnabled() || typeof untrustedString !== 'string' || untrustedString === '') {
|
|
10160
|
-
return untrustedString;
|
|
10161
|
-
}
|
|
10162
|
-
/**
|
|
10163
|
-
* onload is fired when appending to a document
|
|
10164
|
-
* fragment in Chrome. If a string
|
|
10165
|
-
* contains onload then we should not
|
|
10166
|
-
* attempt to add this to the fragment.
|
|
10167
|
-
*/
|
|
10168
|
-
if (untrustedString.includes('onload=')) {
|
|
10169
|
-
return '';
|
|
10170
|
-
}
|
|
10171
|
-
/**
|
|
10172
|
-
* Create a document fragment
|
|
10173
|
-
* separate from the main DOM,
|
|
10174
|
-
* create a div to do our work in
|
|
10175
|
-
*/
|
|
10176
|
-
const documentFragment = document.createDocumentFragment();
|
|
10177
|
-
const workingDiv = document.createElement('div');
|
|
10178
|
-
documentFragment.appendChild(workingDiv);
|
|
10179
|
-
workingDiv.innerHTML = untrustedString;
|
|
10180
|
-
/**
|
|
10181
|
-
* Remove any elements
|
|
10182
|
-
* that are blocked
|
|
10183
|
-
*/
|
|
10184
|
-
blockedTags.forEach((blockedTag) => {
|
|
10185
|
-
const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);
|
|
10186
|
-
for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {
|
|
10187
|
-
const element = getElementsToRemove[elementIndex];
|
|
10188
|
-
if (element.parentNode) {
|
|
10189
|
-
element.parentNode.removeChild(element);
|
|
10190
|
-
}
|
|
10191
|
-
else {
|
|
10192
|
-
documentFragment.removeChild(element);
|
|
10193
|
-
}
|
|
10194
|
-
/**
|
|
10195
|
-
* We still need to sanitize
|
|
10196
|
-
* the children of this element
|
|
10197
|
-
* as they are left behind
|
|
10198
|
-
*/
|
|
10199
|
-
const childElements = getElementChildren(element);
|
|
10200
|
-
/* eslint-disable-next-line */
|
|
10201
|
-
for (let childIndex = 0; childIndex < childElements.length; childIndex++) {
|
|
10202
|
-
sanitizeElement(childElements[childIndex]);
|
|
10203
|
-
}
|
|
10204
|
-
}
|
|
10205
|
-
});
|
|
10206
|
-
/**
|
|
10207
|
-
* Go through remaining elements and remove
|
|
10208
|
-
* non-allowed attribs
|
|
10209
|
-
*/
|
|
10210
|
-
// IE does not support .children on document fragments, only .childNodes
|
|
10211
|
-
const dfChildren = getElementChildren(documentFragment);
|
|
10212
|
-
/* eslint-disable-next-line */
|
|
10213
|
-
for (let childIndex = 0; childIndex < dfChildren.length; childIndex++) {
|
|
10214
|
-
sanitizeElement(dfChildren[childIndex]);
|
|
10215
|
-
}
|
|
10216
|
-
// Append document fragment to div
|
|
10217
|
-
const fragmentDiv = document.createElement('div');
|
|
10218
|
-
fragmentDiv.appendChild(documentFragment);
|
|
10219
|
-
// First child is always the div we did our work in
|
|
10220
|
-
const getInnerDiv = fragmentDiv.querySelector('div');
|
|
10221
|
-
return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
|
|
10222
|
-
}
|
|
10223
|
-
catch (err) {
|
|
10224
|
-
printIonError('sanitizeDOMString', err);
|
|
10225
|
-
return '';
|
|
10226
|
-
}
|
|
10227
|
-
};
|
|
10228
|
-
/**
|
|
10229
|
-
* Clean up current element based on allowed attributes
|
|
10230
|
-
* and then recursively dig down into any child elements to
|
|
10231
|
-
* clean those up as well
|
|
10232
|
-
*/
|
|
10233
|
-
// TODO(FW-2832): type (using Element triggers other type errors as well)
|
|
10234
|
-
const sanitizeElement = (element) => {
|
|
10235
|
-
// IE uses childNodes, so ignore nodes that are not elements
|
|
10236
|
-
if (element.nodeType && element.nodeType !== 1) {
|
|
10237
|
-
return;
|
|
10238
|
-
}
|
|
10239
|
-
/**
|
|
10240
|
-
* If attributes is not a NamedNodeMap
|
|
10241
|
-
* then we should remove the element entirely.
|
|
10242
|
-
* This helps avoid DOM Clobbering attacks where
|
|
10243
|
-
* attributes is overridden.
|
|
10244
|
-
*/
|
|
10245
|
-
if (typeof NamedNodeMap !== 'undefined' && !(element.attributes instanceof NamedNodeMap)) {
|
|
10246
|
-
element.remove();
|
|
10247
|
-
return;
|
|
10248
|
-
}
|
|
10249
|
-
for (let i = element.attributes.length - 1; i >= 0; i--) {
|
|
10250
|
-
const attribute = element.attributes.item(i);
|
|
10251
|
-
const attributeName = attribute.name;
|
|
10252
|
-
// remove non-allowed attribs
|
|
10253
|
-
if (!allowedAttributes.includes(attributeName.toLowerCase())) {
|
|
10254
|
-
element.removeAttribute(attributeName);
|
|
10255
|
-
continue;
|
|
10256
|
-
}
|
|
10257
|
-
// clean up any allowed attribs
|
|
10258
|
-
// that attempt to do any JS funny-business
|
|
10259
|
-
const attributeValue = attribute.value;
|
|
10260
|
-
/**
|
|
10261
|
-
* We also need to check the property value
|
|
10262
|
-
* as javascript: can allow special characters
|
|
10263
|
-
* such as 	 and still be valid (i.e. java	script)
|
|
10264
|
-
*/
|
|
10265
|
-
const propertyValue = element[attributeName];
|
|
10266
|
-
/* eslint-disable */
|
|
10267
|
-
if ((attributeValue != null && attributeValue.toLowerCase().includes('javascript:')) ||
|
|
10268
|
-
(propertyValue != null && propertyValue.toLowerCase().includes('javascript:'))) {
|
|
10269
|
-
element.removeAttribute(attributeName);
|
|
10270
|
-
}
|
|
10271
|
-
/* eslint-enable */
|
|
10272
|
-
}
|
|
10273
|
-
/**
|
|
10274
|
-
* Sanitize any nested children
|
|
10275
|
-
*/
|
|
10276
|
-
const childElements = getElementChildren(element);
|
|
10277
|
-
/* eslint-disable-next-line */
|
|
10278
|
-
for (let i = 0; i < childElements.length; i++) {
|
|
10279
|
-
sanitizeElement(childElements[i]);
|
|
10715
|
+
const getOverlayLabelPlacement = (mode, control, interfaceType) => {
|
|
10716
|
+
if (mode === 'ios' && control === 'radio' && interfaceType !== 'modal') {
|
|
10717
|
+
return 'start';
|
|
10280
10718
|
}
|
|
10719
|
+
return 'end';
|
|
10281
10720
|
};
|
|
10282
10721
|
/**
|
|
10283
|
-
*
|
|
10284
|
-
*
|
|
10722
|
+
* Returns the default `justify` for a radio or checkbox option rendered
|
|
10723
|
+
* inside an overlay. Defaults follow each mode's option-row layout:
|
|
10724
|
+
* - `ios`: `"space-between"` for radio in `alert` and `popover`. The
|
|
10725
|
+
* `modal` interface falls back to `"start"`. Checkbox is always `"start"`
|
|
10726
|
+
* on iOS.
|
|
10727
|
+
* - everything else (e.g. `md`): `"start"`.
|
|
10728
|
+
*
|
|
10729
|
+
* `interfaceType` is optional; only `"modal"` changes the result, so
|
|
10730
|
+
* callers that aren't a modal can omit it.
|
|
10731
|
+
*
|
|
10732
|
+
* Used by `select-popover` and `select-modal` as the fallback when an
|
|
10733
|
+
* option doesn't explicitly set `justify`.
|
|
10285
10734
|
*/
|
|
10286
|
-
|
|
10287
|
-
|
|
10288
|
-
|
|
10289
|
-
};
|
|
10290
|
-
const isSanitizerEnabled = () => {
|
|
10291
|
-
var _a;
|
|
10292
|
-
const win = window;
|
|
10293
|
-
const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
|
|
10294
|
-
if (config) {
|
|
10295
|
-
if (config.get) {
|
|
10296
|
-
return config.get('sanitizerEnabled', true);
|
|
10297
|
-
}
|
|
10298
|
-
else {
|
|
10299
|
-
return config.sanitizerEnabled === true || config.sanitizerEnabled === undefined;
|
|
10300
|
-
}
|
|
10735
|
+
const getOverlayLabelJustify = (mode, control, interfaceType) => {
|
|
10736
|
+
if (mode === 'ios' && control === 'radio' && interfaceType !== 'modal') {
|
|
10737
|
+
return 'space-between';
|
|
10301
10738
|
}
|
|
10302
|
-
return
|
|
10739
|
+
return 'start';
|
|
10303
10740
|
};
|
|
10304
|
-
const allowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];
|
|
10305
|
-
const blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed'];
|
|
10306
|
-
class IonicSafeString {
|
|
10307
|
-
constructor(value) {
|
|
10308
|
-
this.value = value;
|
|
10309
|
-
}
|
|
10310
|
-
}
|
|
10311
10741
|
|
|
10312
10742
|
/**
|
|
10313
10743
|
* iOS Alert Enter Animation
|
|
10314
10744
|
*/
|
|
10315
|
-
const iosEnterAnimation$
|
|
10745
|
+
const iosEnterAnimation$4 = (baseEl) => {
|
|
10316
10746
|
const baseAnimation = createAnimation();
|
|
10317
10747
|
const backdropAnimation = createAnimation();
|
|
10318
10748
|
const wrapperAnimation = createAnimation();
|
|
@@ -10337,7 +10767,7 @@ const iosEnterAnimation$5 = (baseEl) => {
|
|
|
10337
10767
|
/**
|
|
10338
10768
|
* iOS Alert Leave Animation
|
|
10339
10769
|
*/
|
|
10340
|
-
const iosLeaveAnimation$
|
|
10770
|
+
const iosLeaveAnimation$4 = (baseEl) => {
|
|
10341
10771
|
const baseAnimation = createAnimation();
|
|
10342
10772
|
const backdropAnimation = createAnimation();
|
|
10343
10773
|
const wrapperAnimation = createAnimation();
|
|
@@ -10394,9 +10824,9 @@ const mdLeaveAnimation$4 = (baseEl) => {
|
|
|
10394
10824
|
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
10395
10825
|
};
|
|
10396
10826
|
|
|
10397
|
-
const alertIosCss = () => `.sc-ion-alert-ios-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-ios-h{display:none}.alert-top.sc-ion-alert-ios-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-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);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-label.sc-ion-alert-ios,.alert-radio-label.sc-ion-alert-ios{overflow-wrap:anywhere}@media (any-pointer: coarse){.alert-checkbox-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-message.sc-ion-alert-ios::-webkit-scrollbar{display:none}}.alert-input.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:0.875rem;line-height:1.25rem;z-index:0}.alert-button.ion-focused.sc-ion-alert-ios,.alert-tappable.ion-focused.sc-ion-alert-ios{background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.alert-button-inner.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit}.alert-input-disabled.sc-ion-alert-ios,.alert-checkbox-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios,.alert-radio-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:content}.alert-button.sc-ion-alert-ios,.alert-checkbox.sc-ion-alert-ios,.alert-input.sc-ion-alert-ios,.alert-radio.sc-ion-alert-ios{outline:none}.alert-radio-icon.sc-ion-alert-ios,.alert-checkbox-icon.sc-ion-alert-ios,.alert-checkbox-inner.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-ios{min-height:37px;resize:none}.sc-ion-alert-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--max-width:clamp(270px, 16.875rem, 324px);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);font-size:max(14px, 0.875rem)}.alert-wrapper.sc-ion-alert-ios{border-radius:13px;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.alert-button.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{pointer-events:none}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.alert-translucent.sc-ion-alert-ios-h .alert-wrapper.sc-ion-alert-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.alert-head.sc-ion-alert-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:7px;text-align:center}.alert-title.sc-ion-alert-ios{margin-top:8px;color:var(--ion-text-color, #000);font-size:max(17px, 1.0625rem);font-weight:600}.alert-sub-title.sc-ion-alert-ios{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));font-size:max(14px, 0.875rem)}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:21px;color:var(--ion-text-color, #000);font-size:max(13px, 0.8125rem);text-align:center}.alert-message.sc-ion-alert-ios{max-height:240px}.alert-message.sc-ion-alert-ios:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:12px}.alert-input.sc-ion-alert-ios{border-radius:7px;margin-top:10px;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px;padding-top:7px;padding-bottom:7px;border:0.55px solid var(--ion-color-step-250, var(--ion-background-color-step-250, #bfbfbf));background-color:var(--ion-background-color, #fff);-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:1rem}.alert-input.sc-ion-alert-ios::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-clear{display:none}.alert-input.sc-ion-alert-ios::-webkit-date-and-time-value{height:18px}.alert-radio-group.sc-ion-alert-ios,.alert-checkbox-group.sc-ion-alert-ios{-ms-scroll-chaining:none;overscroll-behavior:contain;max-height:240px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);overflow-y:auto;-webkit-overflow-scrolling:touch}.alert-tappable.sc-ion-alert-ios{min-height:44px}.alert-radio-label.sc-ion-alert-ios{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;-ms-flex-order:0;order:0;color:var(--ion-text-color, #000)}[aria-checked=true].sc-ion-alert-ios .alert-radio-label.sc-ion-alert-ios{color:var(--ion-color-primary, #0054e9)}.alert-radio-icon.sc-ion-alert-ios{position:relative;-ms-flex-order:1;order:1;min-width:30px}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{top:-7px;position:absolute;width:6px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{inset-inline-start:7px}.alert-checkbox-label.sc-ion-alert-ios{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-text-color, #000)}.alert-checkbox-icon.sc-ion-alert-ios{border-radius:50%;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:6px;margin-inline-end:6px;margin-top:10px;margin-bottom:10px;position:relative;width:min(1.375rem, 55.836px);height:min(1.375rem, 55.836px);border-width:0.125rem;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));background-color:var(--ion-item-background, var(--ion-background-color, #fff));contain:strict}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{border-color:var(--ion-color-primary, #0054e9);background-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{top:calc(min(1.375rem, 55.836px) / 8);position:absolute;width:calc(min(1.375rem, 55.836px) / 6 + 1px);height:calc(min(1.375rem, 55.836px) * 0.5);-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:0.125rem;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-background-color, #fff)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{inset-inline-start:calc(min(1.375rem, 55.836px) / 3)}.alert-button-group.sc-ion-alert-ios{-webkit-margin-end:-0.55px;margin-inline-end:-0.55px;-ms-flex-wrap:wrap;flex-wrap:wrap}.alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios{border-right:none}[dir=rtl].sc-ion-alert-ios-h .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:none}[dir=rtl].sc-ion-alert-ios .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:none}@supports selector(:dir(rtl)){.alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child:dir(rtl){border-right:none}}.alert-button.sc-ion-alert-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:max(44px, 2.75rem);border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);background-color:transparent;color:var(--ion-color-primary, #0054e9);font-size:max(17px, 1.0625rem);overflow:hidden}[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child{border-right:0}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:first-child{border-right:0}@supports selector(:dir(rtl)){.alert-button.sc-ion-alert-ios:first-child:dir(rtl){border-right:0}}.alert-button.sc-ion-alert-ios:last-child{border-right:0;font-weight:bold}[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}@supports selector(:dir(rtl)){.alert-button.sc-ion-alert-ios:last-child:dir(rtl){border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}}.alert-button.ion-activated.sc-ion-alert-ios{background-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1)}.alert-button-role-destructive.sc-ion-alert-ios,.alert-button-role-destructive.ion-activated.sc-ion-alert-ios,.alert-button-role-destructive.ion-focused.sc-ion-alert-ios{color:var(--ion-color-danger, #c5000f)}`;
|
|
10827
|
+
const alertIosCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-alert-ios,.alert-radio-label-has-rich-content.sc-ion-alert-ios,.alert-checkbox-label-has-rich-content.sc-ion-alert-ios,.select-option-label-has-rich-content.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-alert-ios,.alert-radio-label-has-rich-content.sc-ion-alert-ios,.alert-checkbox-label-has-rich-content.sc-ion-alert-ios,.select-option-content.sc-ion-alert-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-alert-ios,.alert-checkbox-label-text.sc-ion-alert-ios,.alert-radio-label-text.sc-ion-alert-ios,.select-option-label-text.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-alert-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-alert-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-alert-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-alert-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-alert-ios [part~="label"],.select-option-content.sc-ion-alert-ios{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-alert-ios>ion-avatar.sc-ion-alert-ios,.select-option-start.sc-ion-alert-ios>ion-img.sc-ion-alert-ios,.select-option-start.sc-ion-alert-ios>ion-thumbnail.sc-ion-alert-ios,.select-option-start.sc-ion-alert-ios>img.sc-ion-alert-ios,.select-option-start.sc-ion-alert-ios>svg.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>ion-avatar.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>ion-img.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>ion-thumbnail.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>img.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>svg.sc-ion-alert-ios{width:44px;height:44px}.select-option-start.sc-ion-alert-ios>ion-icon.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>ion-icon.sc-ion-alert-ios{width:28px;height:28px}.action-sheet-button-label-text.sc-ion-alert-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-alert-ios{-webkit-padding-end:16px;padding-inline-end:16px}.sc-ion-alert-ios-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-ios-h{display:none}.alert-top.sc-ion-alert-ios-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-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);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-label.sc-ion-alert-ios,.alert-radio-label.sc-ion-alert-ios{overflow-wrap:anywhere}@media (any-pointer: coarse){.alert-checkbox-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-message.sc-ion-alert-ios::-webkit-scrollbar{display:none}}.alert-input.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:0.875rem;line-height:1.25rem;z-index:0}.alert-button.ion-focused.sc-ion-alert-ios,.alert-tappable.ion-focused.sc-ion-alert-ios{background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.alert-button-inner.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit}.radio-label-placement-start.sc-ion-alert-ios,.checkbox-label-placement-start.sc-ion-alert-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.radio-label-placement-end.sc-ion-alert-ios,.checkbox-label-placement-end.sc-ion-alert-ios{-ms-flex-direction:row;flex-direction:row}.radio-justify-start.sc-ion-alert-ios,.checkbox-justify-start.sc-ion-alert-ios{-ms-flex-pack:start;justify-content:start}.radio-justify-end.sc-ion-alert-ios,.checkbox-justify-end.sc-ion-alert-ios{-ms-flex-pack:end;justify-content:end}.radio-justify-space-between.sc-ion-alert-ios,.checkbox-justify-space-between.sc-ion-alert-ios{-ms-flex-pack:justify;justify-content:space-between}.alert-input-disabled.sc-ion-alert-ios,.alert-checkbox-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios,.alert-radio-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:content}.alert-button.sc-ion-alert-ios,.alert-checkbox.sc-ion-alert-ios,.alert-input.sc-ion-alert-ios,.alert-radio.sc-ion-alert-ios{outline:none}.alert-radio-icon.sc-ion-alert-ios,.alert-checkbox-icon.sc-ion-alert-ios,.alert-checkbox-inner.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-ios{min-height:37px;resize:none}.sc-ion-alert-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--max-width:clamp(270px, 16.875rem, 324px);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);font-size:max(14px, 0.875rem)}.alert-wrapper.sc-ion-alert-ios{border-radius:13px;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.alert-button.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{pointer-events:none}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.alert-translucent.sc-ion-alert-ios-h .alert-wrapper.sc-ion-alert-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.alert-head.sc-ion-alert-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:7px;text-align:center}.alert-title.sc-ion-alert-ios{margin-top:8px;color:var(--ion-text-color, #000);font-size:max(17px, 1.0625rem);font-weight:600}.alert-sub-title.sc-ion-alert-ios{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));font-size:max(14px, 0.875rem)}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:21px;color:var(--ion-text-color, #000);font-size:max(13px, 0.8125rem);text-align:center}.alert-message.sc-ion-alert-ios{max-height:240px}.alert-message.sc-ion-alert-ios:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:12px}.alert-input.sc-ion-alert-ios{border-radius:7px;margin-top:10px;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px;padding-top:7px;padding-bottom:7px;border:0.55px solid var(--ion-color-step-250, var(--ion-background-color-step-250, #bfbfbf));background-color:var(--ion-background-color, #fff);-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:1rem}.alert-input.sc-ion-alert-ios::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-clear{display:none}.alert-input.sc-ion-alert-ios::-webkit-date-and-time-value{height:18px}.alert-radio-group.sc-ion-alert-ios,.alert-checkbox-group.sc-ion-alert-ios{-ms-scroll-chaining:none;overscroll-behavior:contain;max-height:240px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);overflow-y:auto;-webkit-overflow-scrolling:touch}.alert-tappable.sc-ion-alert-ios{min-height:44px}.alert-radio-label.sc-ion-alert-ios{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:13px;padding-bottom:13px;color:var(--ion-text-color, #000)}[aria-checked=true].sc-ion-alert-ios .alert-radio-label.sc-ion-alert-ios{color:var(--ion-color-primary, #0054e9)}.alert-radio-icon.sc-ion-alert-ios{position:relative;-ms-flex-negative:0;flex-shrink:0;min-width:30px}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{top:-7px;position:absolute;width:6px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-ios .radio-label-placement-end.sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{inset-inline-end:7px}[aria-checked=true].sc-ion-alert-ios .radio-label-placement-start.sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{inset-inline-start:7px}.alert-checkbox-label.sc-ion-alert-ios{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:13px;padding-bottom:13px;color:var(--ion-text-color, #000)}.alert-checkbox-icon.sc-ion-alert-ios{border-radius:50%;margin-top:10px;margin-bottom:10px;position:relative;-ms-flex-negative:0;flex-shrink:0;width:min(1.375rem, 55.836px);height:min(1.375rem, 55.836px);border-width:0.125rem;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));background-color:var(--ion-item-background, var(--ion-background-color, #fff));contain:strict}.checkbox-label-placement-end.sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:6px;margin-inline-end:6px}.checkbox-label-placement-start.sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{-webkit-margin-start:6px;margin-inline-start:6px;-webkit-margin-end:16px;margin-inline-end:16px}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{border-color:var(--ion-color-primary, #0054e9);background-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{top:calc(min(1.375rem, 55.836px) / 8);position:absolute;width:calc(min(1.375rem, 55.836px) / 6 + 1px);height:calc(min(1.375rem, 55.836px) * 0.5);-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:0.125rem;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-background-color, #fff)}[aria-checked=true].sc-ion-alert-ios .checkbox-label-placement-end.sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{inset-inline-start:calc(min(1.375rem, 55.836px) / 3)}[aria-checked=true].sc-ion-alert-ios .checkbox-label-placement-start.sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{inset-inline-end:calc(min(1.375rem, 55.836px) / 3)}.alert-button-group.sc-ion-alert-ios{-webkit-margin-end:-0.55px;margin-inline-end:-0.55px;-ms-flex-wrap:wrap;flex-wrap:wrap}.alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios{border-right:none}[dir=rtl].sc-ion-alert-ios-h .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:none}[dir=rtl].sc-ion-alert-ios .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:none}@supports selector(:dir(rtl)){.alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child:dir(rtl){border-right:none}}.alert-button.sc-ion-alert-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:max(44px, 2.75rem);border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);background-color:transparent;color:var(--ion-color-primary, #0054e9);font-size:max(17px, 1.0625rem);overflow:hidden}[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child{border-right:0}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:first-child{border-right:0}@supports selector(:dir(rtl)){.alert-button.sc-ion-alert-ios:first-child:dir(rtl){border-right:0}}.alert-button.sc-ion-alert-ios:last-child{border-right:0;font-weight:bold}[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}@supports selector(:dir(rtl)){.alert-button.sc-ion-alert-ios:last-child:dir(rtl){border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}}.alert-button.ion-activated.sc-ion-alert-ios{background-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1)}.alert-button-role-destructive.sc-ion-alert-ios,.alert-button-role-destructive.ion-activated.sc-ion-alert-ios,.alert-button-role-destructive.ion-focused.sc-ion-alert-ios{color:var(--ion-color-danger, #c5000f)}`;
|
|
10398
10828
|
|
|
10399
|
-
const alertMdCss = () => `.sc-ion-alert-md-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-md-h{display:none}.alert-top.sc-ion-alert-md-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-md{display:-ms-flexbox;display:flex;-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);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-label.sc-ion-alert-md,.alert-radio-label.sc-ion-alert-md{overflow-wrap:anywhere}@media (any-pointer: coarse){.alert-checkbox-group.sc-ion-alert-md::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-md::-webkit-scrollbar,.alert-message.sc-ion-alert-md::-webkit-scrollbar{display:none}}.alert-input.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-md{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:0.875rem;line-height:1.25rem;z-index:0}.alert-button.ion-focused.sc-ion-alert-md,.alert-tappable.ion-focused.sc-ion-alert-md{background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.alert-button-inner.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit}.alert-input-disabled.sc-ion-alert-md,.alert-checkbox-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md,.alert-radio-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:content}.alert-button.sc-ion-alert-md,.alert-checkbox.sc-ion-alert-md,.alert-input.sc-ion-alert-md,.alert-radio.sc-ion-alert-md{outline:none}.alert-radio-icon.sc-ion-alert-md,.alert-checkbox-icon.sc-ion-alert-md,.alert-checkbox-inner.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-md{min-height:37px;resize:none}.sc-ion-alert-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--max-width:280px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);font-size:0.875rem}.alert-wrapper.sc-ion-alert-md{border-radius:4px;-webkit-box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12)}.alert-head.sc-ion-alert-md{-webkit-padding-start:23px;padding-inline-start:23px;-webkit-padding-end:23px;padding-inline-end:23px;padding-top:20px;padding-bottom:15px;text-align:start}.alert-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:1.25rem;font-weight:500}.alert-sub-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:1rem}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:20px;padding-bottom:20px;color:var(--ion-color-step-550, var(--ion-text-color-step-450, #737373))}.alert-message.sc-ion-alert-md{font-size:1rem}@media screen and (max-width: 767px){.alert-message.sc-ion-alert-md{max-height:266px}}.alert-message.sc-ion-alert-md:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-head.sc-ion-alert-md+.alert-message.sc-ion-alert-md{padding-top:0}.alert-input.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;border-bottom:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));color:var(--ion-text-color, #000)}.alert-input.sc-ion-alert-md::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-clear{display:none}.alert-input.sc-ion-alert-md:focus{margin-bottom:4px;border-bottom:2px solid var(--ion-color-primary, #0054e9)}.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{position:relative;border-top:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));border-bottom:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));overflow:auto}@media screen and (max-width: 767px){.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{max-height:266px}}.alert-tappable.sc-ion-alert-md{position:relative;min-height:48px}.alert-radio-label.sc-ion-alert-md{-webkit-padding-start:52px;padding-inline-start:52px;-webkit-padding-end:26px;padding-inline-end:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:1rem}.alert-radio-icon.sc-ion-alert-md{top:0;border-radius:50%;display:block;position:relative;width:20px;height:20px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, var(--ion-background-color-step-550, #737373))}.alert-radio-icon.sc-ion-alert-md{inset-inline-start:26px}.alert-radio-inner.sc-ion-alert-md{top:3px;border-radius:50%;position:absolute;width:10px;height:10px;-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--ion-color-primary, #0054e9)}.alert-radio-inner.sc-ion-alert-md{inset-inline-start:3px}[aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626))}[aria-checked=true].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}.alert-checkbox-label.sc-ion-alert-md{-webkit-padding-start:53px;padding-inline-start:53px;-webkit-padding-end:26px;padding-inline-end:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;width:calc(100% - 53px);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:1rem}.alert-checkbox-icon.sc-ion-alert-md{top:0;border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, var(--ion-background-color-step-550, #737373));contain:strict}.alert-checkbox-icon.sc-ion-alert-md{inset-inline-start:26px}[aria-checked=true].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #0054e9);background-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{top:0;position:absolute;width:6px;height:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary-contrast, #fff)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{inset-inline-start:3px}.alert-button-group.sc-ion-alert-md{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-ms-flex-pack:end;justify-content:flex-end}.alert-button.sc-ion-alert-md{border-radius:2px;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:0;margin-bottom:0;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;color:var(--ion-color-primary, #0054e9);font-weight:500;text-align:end;text-transform:uppercase;overflow:hidden}.alert-button-inner.sc-ion-alert-md{-ms-flex-pack:end;justify-content:flex-end}@media screen and (min-width: 768px){.sc-ion-alert-md-h{--max-width:min(100vw - 96px, 560px);--max-height:min(100vh - 96px, 560px)}}`;
|
|
10829
|
+
const alertMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-alert-md,.alert-radio-label-has-rich-content.sc-ion-alert-md,.alert-checkbox-label-has-rich-content.sc-ion-alert-md,.select-option-label-has-rich-content.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-alert-md,.alert-radio-label-has-rich-content.sc-ion-alert-md,.alert-checkbox-label-has-rich-content.sc-ion-alert-md,.select-option-content.sc-ion-alert-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-alert-md,.alert-checkbox-label-text.sc-ion-alert-md,.alert-radio-label-text.sc-ion-alert-md,.select-option-label-text.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-alert-md,.select-option-end.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-alert-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-alert-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-alert-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-alert-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-alert-md [part~="label"],.select-option-content.sc-ion-alert-md{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-alert-md>ion-avatar.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>ion-avatar.sc-ion-alert-md{width:40px;height:40px}.select-option-start.sc-ion-alert-md>ion-icon.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>ion-icon.sc-ion-alert-md{width:24px;height:24px}.select-option-start.sc-ion-alert-md>ion-img.sc-ion-alert-md,.select-option-start.sc-ion-alert-md>img.sc-ion-alert-md,.select-option-start.sc-ion-alert-md>svg.sc-ion-alert-md,.select-option-start.sc-ion-alert-md>ion-thumbnail.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>ion-img.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>img.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>svg.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>ion-thumbnail.sc-ion-alert-md{width:56px;height:56px}.select-option-start.sc-ion-alert-md>video.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>video.sc-ion-alert-md{width:114px;height:56px}.sc-ion-alert-md-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-md-h{display:none}.alert-top.sc-ion-alert-md-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-md{display:-ms-flexbox;display:flex;-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);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-label.sc-ion-alert-md,.alert-radio-label.sc-ion-alert-md{overflow-wrap:anywhere}@media (any-pointer: coarse){.alert-checkbox-group.sc-ion-alert-md::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-md::-webkit-scrollbar,.alert-message.sc-ion-alert-md::-webkit-scrollbar{display:none}}.alert-input.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-md{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:0.875rem;line-height:1.25rem;z-index:0}.alert-button.ion-focused.sc-ion-alert-md,.alert-tappable.ion-focused.sc-ion-alert-md{background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.alert-button-inner.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit}.radio-label-placement-start.sc-ion-alert-md,.checkbox-label-placement-start.sc-ion-alert-md{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.radio-label-placement-end.sc-ion-alert-md,.checkbox-label-placement-end.sc-ion-alert-md{-ms-flex-direction:row;flex-direction:row}.radio-justify-start.sc-ion-alert-md,.checkbox-justify-start.sc-ion-alert-md{-ms-flex-pack:start;justify-content:start}.radio-justify-end.sc-ion-alert-md,.checkbox-justify-end.sc-ion-alert-md{-ms-flex-pack:end;justify-content:end}.radio-justify-space-between.sc-ion-alert-md,.checkbox-justify-space-between.sc-ion-alert-md{-ms-flex-pack:justify;justify-content:space-between}.alert-input-disabled.sc-ion-alert-md,.alert-checkbox-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md,.alert-radio-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:content}.alert-button.sc-ion-alert-md,.alert-checkbox.sc-ion-alert-md,.alert-input.sc-ion-alert-md,.alert-radio.sc-ion-alert-md{outline:none}.alert-radio-icon.sc-ion-alert-md,.alert-checkbox-icon.sc-ion-alert-md,.alert-checkbox-inner.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-md{min-height:37px;resize:none}.sc-ion-alert-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--max-width:280px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);font-size:0.875rem}.alert-wrapper.sc-ion-alert-md{border-radius:4px;-webkit-box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12)}.alert-head.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:20px;padding-bottom:15px;text-align:start}.alert-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:1.25rem;font-weight:500}.alert-sub-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:1rem}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:20px;padding-bottom:20px;color:var(--ion-color-step-550, var(--ion-text-color-step-450, #737373))}.alert-message.sc-ion-alert-md{font-size:1rem}@media screen and (max-width: 767px){.alert-message.sc-ion-alert-md{max-height:266px}}.alert-message.sc-ion-alert-md:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-head.sc-ion-alert-md+.alert-message.sc-ion-alert-md{padding-top:0}.alert-input.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;border-bottom:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));color:var(--ion-text-color, #000)}.alert-input.sc-ion-alert-md::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-clear{display:none}.alert-input.sc-ion-alert-md:focus{margin-bottom:4px;border-bottom:2px solid var(--ion-color-primary, #0054e9)}.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{position:relative;border-top:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));border-bottom:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));overflow:auto}@media screen and (max-width: 767px){.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{max-height:266px}}.alert-tappable.sc-ion-alert-md{position:relative;min-height:48px}.alert-radio-label.sc-ion-alert-md{padding-top:13px;padding-bottom:13px;max-width:calc(100% - 20px);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:1rem}.radio-label-placement-end.sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{-webkit-padding-start:56px;padding-inline-start:56px;-webkit-padding-end:24px;padding-inline-end:24px}.radio-label-placement-start.sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:56px;padding-inline-end:56px}.alert-radio-icon.sc-ion-alert-md{top:0;border-radius:50%;display:block;position:relative;-ms-flex-negative:0;flex-shrink:0;width:20px;height:20px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, var(--ion-background-color-step-550, #737373))}.radio-label-placement-end.sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{inset-inline-start:24px}.radio-label-placement-start.sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{inset-inline-end:24px}.alert-radio-inner.sc-ion-alert-md{top:3px;border-radius:50%;position:absolute;width:10px;height:10px;-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--ion-color-primary, #0054e9)}.alert-radio-inner.sc-ion-alert-md{inset-inline-start:3px}[aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626))}[aria-checked=true].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}.alert-checkbox-label.sc-ion-alert-md{padding-top:13px;padding-bottom:13px;max-width:calc(100% - 16px);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:1rem}.checkbox-label-placement-end.sc-ion-alert-md .alert-checkbox-label.sc-ion-alert-md{-webkit-padding-start:56px;padding-inline-start:56px;-webkit-padding-end:24px;padding-inline-end:24px}.checkbox-label-placement-start.sc-ion-alert-md .alert-checkbox-label.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:56px;padding-inline-end:56px}.alert-checkbox-icon.sc-ion-alert-md{top:0;border-radius:2px;position:relative;-ms-flex-negative:0;flex-shrink:0;width:16px;height:16px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, var(--ion-background-color-step-550, #737373));contain:strict}.checkbox-label-placement-end.sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{inset-inline-start:24px}.checkbox-label-placement-start.sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{inset-inline-end:24px}[aria-checked=true].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #0054e9);background-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{top:0;position:absolute;width:6px;height:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary-contrast, #fff)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{inset-inline-start:3px}.alert-button-group.sc-ion-alert-md{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-ms-flex-pack:end;justify-content:flex-end}.alert-button.sc-ion-alert-md{border-radius:2px;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:0;margin-bottom:0;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;color:var(--ion-color-primary, #0054e9);font-weight:500;text-align:end;text-transform:uppercase;overflow:hidden}.alert-button-group.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{-ms-flex-pack:end;justify-content:flex-end}@media screen and (min-width: 768px){.sc-ion-alert-md-h{--max-width:min(100vw - 96px, 560px);--max-height:min(100vh - 96px, 560px)}}`;
|
|
10400
10830
|
|
|
10401
10831
|
// TODO(FW-2832): types
|
|
10402
10832
|
/**
|
|
@@ -10570,22 +11000,7 @@ class Alert {
|
|
|
10570
11000
|
this.inputType = inputTypes.values().next().value;
|
|
10571
11001
|
this.processedInputs = inputs.map((i, index) => {
|
|
10572
11002
|
var _a;
|
|
10573
|
-
return ({
|
|
10574
|
-
type: i.type || 'text',
|
|
10575
|
-
name: i.name || `${index}`,
|
|
10576
|
-
placeholder: i.placeholder || '',
|
|
10577
|
-
value: i.value,
|
|
10578
|
-
label: i.label,
|
|
10579
|
-
checked: !!i.checked,
|
|
10580
|
-
disabled: !!i.disabled,
|
|
10581
|
-
id: i.id || `alert-input-${this.overlayIndex}-${index}`,
|
|
10582
|
-
handler: i.handler,
|
|
10583
|
-
min: i.min,
|
|
10584
|
-
max: i.max,
|
|
10585
|
-
cssClass: (_a = i.cssClass) !== null && _a !== void 0 ? _a : '',
|
|
10586
|
-
attributes: i.attributes || {},
|
|
10587
|
-
tabindex: i.type === 'radio' && i !== focusable ? -1 : 0,
|
|
10588
|
-
});
|
|
11003
|
+
return Object.assign(Object.assign({}, i), { type: i.type || 'text', name: i.name || `${index}`, placeholder: i.placeholder || '', checked: !!i.checked, disabled: !!i.disabled, id: i.id || `alert-input-${this.overlayIndex}-${index}`, cssClass: (_a = i.cssClass) !== null && _a !== void 0 ? _a : '', attributes: i.attributes || {}, tabindex: i.type === 'radio' && i !== focusable ? -1 : 0 });
|
|
10589
11004
|
});
|
|
10590
11005
|
}
|
|
10591
11006
|
connectedCallback() {
|
|
@@ -10613,6 +11028,10 @@ class Alert {
|
|
|
10613
11028
|
this.gesture.destroy();
|
|
10614
11029
|
this.gesture = undefined;
|
|
10615
11030
|
}
|
|
11031
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
11032
|
+
if (this.presented) {
|
|
11033
|
+
cleanupRootFocusTrapAccessibility();
|
|
11034
|
+
}
|
|
10616
11035
|
(_a = this.buttonGroupResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
10617
11036
|
this.buttonGroupResizeObserver = undefined;
|
|
10618
11037
|
}
|
|
@@ -10652,7 +11071,7 @@ class Alert {
|
|
|
10652
11071
|
async present() {
|
|
10653
11072
|
const unlock = await this.lockController.lock();
|
|
10654
11073
|
await this.delegateController.attachViewToDom();
|
|
10655
|
-
await present(this, 'alertEnter', iosEnterAnimation$
|
|
11074
|
+
await present(this, 'alertEnter', iosEnterAnimation$4, mdEnterAnimation$4).then(() => {
|
|
10656
11075
|
var _a, _b;
|
|
10657
11076
|
/**
|
|
10658
11077
|
* Check if alert has only one button and no inputs.
|
|
@@ -10683,7 +11102,7 @@ class Alert {
|
|
|
10683
11102
|
*/
|
|
10684
11103
|
async dismiss(data, role) {
|
|
10685
11104
|
const unlock = await this.lockController.lock();
|
|
10686
|
-
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$
|
|
11105
|
+
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$4, mdLeaveAnimation$4);
|
|
10687
11106
|
if (dismissed) {
|
|
10688
11107
|
this.delegateController.removeViewFromDom();
|
|
10689
11108
|
}
|
|
@@ -10781,14 +11200,61 @@ class Alert {
|
|
|
10781
11200
|
if (inputs.length === 0) {
|
|
10782
11201
|
return null;
|
|
10783
11202
|
}
|
|
10784
|
-
return (hAsync("div", { class: "alert-checkbox-group" }, inputs.map((i) =>
|
|
11203
|
+
return (hAsync("div", { class: "alert-checkbox-group" }, inputs.map((i) => {
|
|
11204
|
+
var _a, _b;
|
|
11205
|
+
/**
|
|
11206
|
+
* Cast to `SelectAlertInput` to access rich content
|
|
11207
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
11208
|
+
* that are passed through from `ion-select` but not
|
|
11209
|
+
* part of the public `AlertInput` interface.
|
|
11210
|
+
*/
|
|
11211
|
+
const richInput = i;
|
|
11212
|
+
const optionLabelOptions = {
|
|
11213
|
+
id: richInput.id,
|
|
11214
|
+
label: richInput.label,
|
|
11215
|
+
startContent: richInput.startContent,
|
|
11216
|
+
endContent: richInput.endContent,
|
|
11217
|
+
description: richInput.description,
|
|
11218
|
+
};
|
|
11219
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox');
|
|
11220
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'checkbox');
|
|
11221
|
+
return (hAsync("button", { type: "button", onClick: () => this.cbClick(i), "aria-checked": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: "checkbox", class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': !i.disabled, 'ion-activatable': !i.disabled, 'alert-checkbox-button-disabled': i.disabled || false }) }, hAsync("div", { class: {
|
|
11222
|
+
'alert-button-inner': true,
|
|
11223
|
+
[`checkbox-label-placement-${(_a = richInput.labelPlacement) !== null && _a !== void 0 ? _a : defaultLabelPlacement}`]: true,
|
|
11224
|
+
[`checkbox-justify-${(_b = richInput.justify) !== null && _b !== void 0 ? _b : defaultJustify}`]: true,
|
|
11225
|
+
} }, hAsync("div", { class: "alert-checkbox-icon" }, hAsync("div", { class: "alert-checkbox-inner" })), renderOptionLabel(optionLabelOptions, 'alert-checkbox-label')), mode === 'md' && hAsync("ion-ripple-effect", null)));
|
|
11226
|
+
})));
|
|
10785
11227
|
}
|
|
10786
11228
|
renderRadio() {
|
|
10787
11229
|
const inputs = this.processedInputs;
|
|
11230
|
+
const mode = getIonMode$1(this);
|
|
10788
11231
|
if (inputs.length === 0) {
|
|
10789
11232
|
return null;
|
|
10790
11233
|
}
|
|
10791
|
-
return (hAsync("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) =>
|
|
11234
|
+
return (hAsync("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) => {
|
|
11235
|
+
var _a, _b;
|
|
11236
|
+
/**
|
|
11237
|
+
* Cast to `SelectAlertInput` to access rich content
|
|
11238
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
11239
|
+
* that are passed through from `ion-select` but not
|
|
11240
|
+
* part of the public `AlertInput` interface.
|
|
11241
|
+
*/
|
|
11242
|
+
const richInput = i;
|
|
11243
|
+
const optionLabelOptions = {
|
|
11244
|
+
id: richInput.id,
|
|
11245
|
+
label: richInput.label,
|
|
11246
|
+
startContent: richInput.startContent,
|
|
11247
|
+
endContent: richInput.endContent,
|
|
11248
|
+
description: richInput.description,
|
|
11249
|
+
};
|
|
11250
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'radio');
|
|
11251
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'radio');
|
|
11252
|
+
return (hAsync("button", { type: "button", onClick: () => this.rbClick(i), "aria-checked": `${i.checked}`, disabled: i.disabled, id: i.id, tabIndex: i.tabindex, class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-radio-button': true, 'alert-tappable': true, 'alert-radio': true, 'ion-focusable': !i.disabled, 'ion-activatable': !i.disabled, 'alert-radio-button-disabled': i.disabled || false }), role: "radio" }, hAsync("div", { class: {
|
|
11253
|
+
'alert-button-inner': true,
|
|
11254
|
+
[`radio-label-placement-${(_a = richInput.labelPlacement) !== null && _a !== void 0 ? _a : defaultLabelPlacement}`]: true,
|
|
11255
|
+
[`radio-justify-${(_b = richInput.justify) !== null && _b !== void 0 ? _b : defaultJustify}`]: true,
|
|
11256
|
+
} }, hAsync("div", { class: "alert-radio-icon" }, hAsync("div", { class: "alert-radio-inner" })), renderOptionLabel(optionLabelOptions, 'alert-radio-label'))));
|
|
11257
|
+
})));
|
|
10792
11258
|
}
|
|
10793
11259
|
renderInput() {
|
|
10794
11260
|
const inputs = this.processedInputs;
|
|
@@ -10868,7 +11334,7 @@ class Alert {
|
|
|
10868
11334
|
'alert-button-group': true,
|
|
10869
11335
|
'alert-button-group-vertical': buttons.length > 2 || this.isButtonGroupWrapped,
|
|
10870
11336
|
};
|
|
10871
|
-
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$
|
|
11337
|
+
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))))));
|
|
10872
11338
|
}
|
|
10873
11339
|
renderAlertMessage(msgId) {
|
|
10874
11340
|
const { customHTMLEnabled, message } = this;
|
|
@@ -10891,9 +11357,9 @@ class Alert {
|
|
|
10891
11357
|
* If neither are defined, do not set aria-labelledby.
|
|
10892
11358
|
*/
|
|
10893
11359
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
10894
|
-
return (hAsync(Host, { key: '
|
|
11360
|
+
return (hAsync(Host, { key: '022f3463b8e6c52064b90ec304c524847c3d5ad3', tabindex: "-1", style: {
|
|
10895
11361
|
zIndex: `${20000 + overlayIndex}`,
|
|
10896
|
-
}, 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: '
|
|
11362
|
+
}, 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: 'c3cd05738bc2834f54707edeb2fae06ec10d6fd2', tappable: this.backdropDismiss }), hAsync("div", { key: 'b44fadd9ba7ddf073854c5035538d11ae8e66bc2', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: 'fafea048141a6c7957e62aef31faa8041dd610c1', 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: '3ad9d2d4b7cf425eab8293ddc12eff0fe8df1517', class: "alert-head" }, header && (hAsync("h2", { key: '7d9154f5ee595b7e4da6ecf3a20871f104c1256e', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '1f891f38004be6964e9406b84dd580145c42516a', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '2ab4d344ecb7e384e8f6d3d3e59ee5a1bbcc832c', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '78a4ff09aa3aaafcd0dc2a42d036767d83b3cfa2', tabindex: "0", "aria-hidden": "true" })));
|
|
10897
11363
|
}
|
|
10898
11364
|
get el() { return getElement(this); }
|
|
10899
11365
|
static get watchers() { return {
|
|
@@ -10951,7 +11417,7 @@ const inputClass = (input) => {
|
|
|
10951
11417
|
var _a, _b, _c;
|
|
10952
11418
|
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() : ''));
|
|
10953
11419
|
};
|
|
10954
|
-
const buttonClass$
|
|
11420
|
+
const buttonClass$1 = (button) => {
|
|
10955
11421
|
return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
10956
11422
|
};
|
|
10957
11423
|
|
|
@@ -15073,9 +15539,9 @@ const checkForPresentationFormatMismatch = (el, presentation, formatOptions) =>
|
|
|
15073
15539
|
}
|
|
15074
15540
|
};
|
|
15075
15541
|
|
|
15076
|
-
const datetimeIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-light, #f4f5f8);--background-rgb:var(--ion-color-light-rgb, 244, 245, 248);--title-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),:host(.datetime-presentation-date:not(.datetime-prefer-wheel)){min-height:350px}:host .datetime-header{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc));font-size:min(0.875rem, 22.4px)}:host .datetime-header .datetime-title{color:var(--title-color)}:host .datetime-header .datetime-selected-date{margin-top:10px}.calendar-month-year-toggle{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-height:44px;font-size:min(1rem, 25.6px);font-weight:600}.calendar-month-year-toggle.ion-focused::after{opacity:0.15}.calendar-month-year-toggle #toggle-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host .calendar-action-buttons .calendar-month-year-toggle ion-icon,:host .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-base)}:host .calendar-action-buttons ion-buttons{-ms-flex-align:stretch;align-items:stretch;height:100%}:host .calendar-action-buttons ion-buttons ion-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host .calendar-days-of-week{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3));font-size:min(0.75rem, 19.2px);font-weight:600;line-height:24px;text-transform:uppercase}@supports (border-radius: mod(1px, 1px)){.calendar-days-of-week .day-of-week{width:clamp(20px, calc(mod(min(1rem, 24px), 24px) * 10), 100%);height:24px;overflow:hidden}.calendar-day{border-radius:max(8px, mod(min(1rem, 24px), 24px) * 10)}}@supports ((border-radius: mod(1px, 1px)) and (background: -webkit-named-image(apple-pay-logo-black)) and (not (contain-intrinsic-size: none))) or (not (border-radius: mod(1px, 1px))){.calendar-days-of-week .day-of-week{width:auto;height:auto;overflow:initial}.calendar-day{border-radius:32px}}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-ms-flex-align:center;align-items:center;height:calc(100% - 16px)}:host .calendar-day-wrapper{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;height:0;min-height:1rem}:host .calendar-day{width:40px;min-width:40px;height:40px;font-size:min(1.25rem, 32px)}.calendar-day.calendar-day-active{background:rgba(var(--ion-color-base-rgb), 0.2);font-size:min(1.375rem, 35.2px)}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-active,:host .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-base);font-weight:600}:host .calendar-day.calendar-day-today.calendar-day-active{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host .calendar-day.calendar-day-adjacent-day{color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3))}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:min(1rem, 25.6px)}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc))}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons{width:100%}`;
|
|
15542
|
+
const datetimeIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons ion-button{--color:var(--ion-color-primary, #0054e9)}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2)}:host(.ion-color) .calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-primary, #0054e9)}:host(.ion-color) .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-primary, #0054e9)}:host(.ion-color.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-light, #f4f5f8);--background-rgb:var(--ion-color-light-rgb, 244, 245, 248);--title-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),:host(.datetime-presentation-date:not(.datetime-prefer-wheel)){min-height:350px}:host .datetime-header{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc));font-size:min(0.875rem, 22.4px)}:host .datetime-header .datetime-title{color:var(--title-color)}:host .datetime-header .datetime-selected-date{margin-top:10px}.calendar-month-year-toggle{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-height:44px;font-size:min(1rem, 25.6px);font-weight:600}.calendar-month-year-toggle.ion-focused::after{opacity:0.15}.calendar-month-year-toggle #toggle-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host .calendar-action-buttons .calendar-month-year-toggle ion-icon,:host .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-primary, #0054e9)}:host(.ion-color) .calendar-action-buttons .calendar-month-year-toggle ion-icon,:host(.ion-color) .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-base)}:host .calendar-action-buttons ion-buttons{-ms-flex-align:stretch;align-items:stretch;height:100%}:host .calendar-action-buttons ion-buttons ion-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host .calendar-days-of-week{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3));font-size:min(0.75rem, 19.2px);font-weight:600;line-height:24px;text-transform:uppercase}@supports (border-radius: mod(1px, 1px)){.calendar-days-of-week .day-of-week{width:clamp(20px, calc(mod(min(1rem, 24px), 24px) * 10), 100%);height:24px;overflow:hidden}.calendar-day{border-radius:max(8px, mod(min(1rem, 24px), 24px) * 10)}}@supports ((border-radius: mod(1px, 1px)) and (background: -webkit-named-image(apple-pay-logo-black)) and (not (contain-intrinsic-size: none))) or (not (border-radius: mod(1px, 1px))){.calendar-days-of-week .day-of-week{width:auto;height:auto;overflow:initial}.calendar-day{border-radius:32px}}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-ms-flex-align:center;align-items:center;height:calc(100% - 16px)}:host .calendar-day-wrapper{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;height:0;min-height:1rem}:host .calendar-day{width:40px;min-width:40px;height:40px;font-size:min(1.25rem, 32px)}.calendar-day.calendar-day-active{background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);font-size:min(1.375rem, 35.2px)}:host(.ion-color) .calendar-day.calendar-day-active{background:rgba(var(--ion-color-base-rgb), 0.2)}:host .calendar-day.calendar-day-today{color:var(--ion-color-primary, #0054e9)}:host(.ion-color) .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-active,:host .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-primary, #0054e9);font-weight:600}:host(.ion-color) .calendar-day.calendar-day-active,:host(.ion-color) .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-base)}:host .calendar-day.calendar-day-today.calendar-day-active{background:var(--ion-color-primary, #0054e9);color:var(--ion-color-primary-contrast, #fff)}:host(.ion-color) .calendar-day.calendar-day-today.calendar-day-active{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host .calendar-day.calendar-day-adjacent-day{color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3))}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:min(1rem, 25.6px)}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc))}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons{width:100%}`;
|
|
15077
15543
|
|
|
15078
|
-
const datetimeMdCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #ffffff));--title-color:var(--ion-color-contrast)}:host .datetime-header{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}:host .datetime-header .datetime-title{font-size:0.75rem;text-transform:uppercase}:host .datetime-header .datetime-selected-date{margin-top:30px;font-size:2.125rem}:host .calendar-action-buttons ion-button{--color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}.calendar-month-year-toggle{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;min-height:48px;background:transparent;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959));z-index:1}.calendar-month-year-toggle.ion-focused::after{opacity:0.04}.calendar-month-year-toggle ion-ripple-effect{color:currentColor}@media (any-hover: hover){.calendar-month-year-toggle.ion-activatable:not(.ion-focused):hover::after{background:currentColor;opacity:0.04}}:host .calendar-days-of-week{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray));font-size:0.875rem;line-height:36px}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}:host .calendar-day{width:42px;min-width:42px;height:42px;font-size:0.875rem}:host .calendar-day.calendar-day-today{border:1px solid var(--ion-color-base);color:var(--ion-color-base)}:host .calendar-day.calendar-day-active,:host .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-active,.calendar-day.calendar-day-active:focus{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .calendar-day.calendar-day-adjacent-day{color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host .time-header{color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.datetime-presentation-month) .datetime-year,:host(.datetime-presentation-year) .datetime-year,:host(.datetime-presentation-month-year) .datetime-year{margin-top:20px;margin-bottom:20px}:host .datetime-buttons{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}`;
|
|
15544
|
+
const datetimeMdCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons ion-button{--color:var(--ion-color-primary, #0054e9)}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2)}:host(.ion-color) .calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-primary, #0054e9)}:host(.ion-color) .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-primary, #0054e9)}:host(.ion-color.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #ffffff));--title-color:var(--ion-color-primary-contrast, #fff)}:host(.ion-color){--title-color:var(--ion-color-contrast)}:host .datetime-header{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-primary, #0054e9);color:var(--title-color)}:host(.ion-color) .datetime-header{background:var(--ion-color-base)}:host .datetime-header .datetime-title{font-size:0.75rem;text-transform:uppercase}:host .datetime-header .datetime-selected-date{margin-top:30px;font-size:2.125rem}:host .calendar-action-buttons ion-button{--color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}.calendar-month-year-toggle{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;min-height:48px;background:transparent;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959));z-index:1}.calendar-month-year-toggle.ion-focused::after{opacity:0.04}.calendar-month-year-toggle ion-ripple-effect{color:currentColor}@media (any-hover: hover){.calendar-month-year-toggle.ion-activatable:not(.ion-focused):hover::after{background:currentColor;opacity:0.04}}:host .calendar-days-of-week{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray));font-size:0.875rem;line-height:36px}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}:host .calendar-day{width:42px;min-width:42px;height:42px;font-size:0.875rem}:host .calendar-day.calendar-day-today{border:1px solid var(--ion-color-primary, #0054e9);color:var(--ion-color-primary, #0054e9)}:host(.ion-color) .calendar-day.calendar-day-today{border:1px solid var(--ion-color-base);color:var(--ion-color-base)}:host .calendar-day.calendar-day-active,:host .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-primary-contrast, #fff)}:host(.ion-color) .calendar-day.calendar-day-active,:host(.ion-color) .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-active,.calendar-day.calendar-day-active:focus{border:1px solid var(--ion-color-primary, #0054e9);background:var(--ion-color-primary, #0054e9)}:host(.ion-color) .calendar-day.calendar-day-active,:host(.ion-color) .calendar-day.calendar-day-active:focus{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .calendar-day.calendar-day-adjacent-day{color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host .time-header{color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.datetime-presentation-month) .datetime-year,:host(.datetime-presentation-year) .datetime-year,:host(.datetime-presentation-month-year) .datetime-year{margin-top:20px;margin-bottom:20px}:host .datetime-buttons{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}`;
|
|
15079
15545
|
|
|
15080
15546
|
/**
|
|
15081
15547
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
@@ -15141,12 +15607,6 @@ class Datetime {
|
|
|
15141
15607
|
isAdjacentDay: false,
|
|
15142
15608
|
};
|
|
15143
15609
|
this.isTimePopoverOpen = false;
|
|
15144
|
-
/**
|
|
15145
|
-
* The color to use from your application's color palette.
|
|
15146
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
15147
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
15148
|
-
*/
|
|
15149
|
-
this.color = 'primary';
|
|
15150
15610
|
/**
|
|
15151
15611
|
* The name of the control, which is submitted with the form data.
|
|
15152
15612
|
*/
|
|
@@ -16322,7 +16782,7 @@ class Datetime {
|
|
|
16322
16782
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
|
|
16323
16783
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
|
|
16324
16784
|
ev.stopPropagation();
|
|
16325
|
-
} }, items.map((item) => (hAsync("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
|
|
16785
|
+
} }, items.map((item) => (hAsync("ion-picker-column-option", { color: this.color, part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
|
|
16326
16786
|
}
|
|
16327
16787
|
renderIndividualDatePickerColumns(forcePresentation) {
|
|
16328
16788
|
const { workingParts, isDateEnabled } = this;
|
|
@@ -16395,7 +16855,7 @@ class Datetime {
|
|
|
16395
16855
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
|
|
16396
16856
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
|
|
16397
16857
|
ev.stopPropagation();
|
|
16398
|
-
} }, days.map((day) => (hAsync("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
|
|
16858
|
+
} }, days.map((day) => (hAsync("ion-picker-column-option", { color: this.color, part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
|
|
16399
16859
|
}
|
|
16400
16860
|
renderMonthPickerColumn(months) {
|
|
16401
16861
|
if (months.length === 0) {
|
|
@@ -16410,7 +16870,7 @@ class Datetime {
|
|
|
16410
16870
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
|
|
16411
16871
|
}
|
|
16412
16872
|
ev.stopPropagation();
|
|
16413
|
-
} }, months.map((month) => (hAsync("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
|
|
16873
|
+
} }, months.map((month) => (hAsync("ion-picker-column-option", { color: this.color, part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
|
|
16414
16874
|
}
|
|
16415
16875
|
renderYearPickerColumn(years) {
|
|
16416
16876
|
if (years.length === 0) {
|
|
@@ -16425,7 +16885,7 @@ class Datetime {
|
|
|
16425
16885
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
|
|
16426
16886
|
}
|
|
16427
16887
|
ev.stopPropagation();
|
|
16428
|
-
} }, years.map((year) => (hAsync("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
|
|
16888
|
+
} }, years.map((year) => (hAsync("ion-picker-column-option", { color: this.color, part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
|
|
16429
16889
|
}
|
|
16430
16890
|
renderTimePickerColumns(forcePresentation) {
|
|
16431
16891
|
if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
|
|
@@ -16458,7 +16918,7 @@ class Datetime {
|
|
|
16458
16918
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
16459
16919
|
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
|
|
16460
16920
|
ev.stopPropagation();
|
|
16461
|
-
} }, hoursData.map((hour) => (hAsync("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
|
|
16921
|
+
} }, hoursData.map((hour) => (hAsync("ion-picker-column-option", { color: this.color, part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
|
|
16462
16922
|
}
|
|
16463
16923
|
renderMinutePickerColumn(minutesData) {
|
|
16464
16924
|
const { disabled, workingParts } = this;
|
|
@@ -16469,7 +16929,7 @@ class Datetime {
|
|
|
16469
16929
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
16470
16930
|
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
|
|
16471
16931
|
ev.stopPropagation();
|
|
16472
|
-
} }, minutesData.map((minute) => (hAsync("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
|
|
16932
|
+
} }, minutesData.map((minute) => (hAsync("ion-picker-column-option", { color: this.color, part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
|
|
16473
16933
|
}
|
|
16474
16934
|
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
16475
16935
|
const { disabled, workingParts } = this;
|
|
@@ -16483,7 +16943,7 @@ class Datetime {
|
|
|
16483
16943
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
16484
16944
|
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
|
|
16485
16945
|
ev.stopPropagation();
|
|
16486
|
-
} }, dayPeriodData.map((dayPeriod) => (hAsync("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
|
|
16946
|
+
} }, dayPeriodData.map((dayPeriod) => (hAsync("ion-picker-column-option", { color: this.color, part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
|
|
16487
16947
|
}
|
|
16488
16948
|
renderWheelView(forcePresentation) {
|
|
16489
16949
|
const { locale } = this;
|
|
@@ -16820,7 +17280,7 @@ class Datetime {
|
|
|
16820
17280
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
16821
17281
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
16822
17282
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
16823
|
-
return (hAsync(Host, { key: '
|
|
17283
|
+
return (hAsync(Host, { key: '79b906669d3e0d9ff356421a5f571d5cf12b6793', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
|
|
16824
17284
|
[mode]: true,
|
|
16825
17285
|
['datetime-readonly']: readonly,
|
|
16826
17286
|
['datetime-disabled']: disabled,
|
|
@@ -16830,7 +17290,7 @@ class Datetime {
|
|
|
16830
17290
|
[`datetime-size-${size}`]: true,
|
|
16831
17291
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
16832
17292
|
[`datetime-grid`]: isGridStyle,
|
|
16833
|
-
})) }, hAsync("div", { key: '
|
|
17293
|
+
})) }, hAsync("div", { key: 'e29ce6edd79f3efb8f7cc4a81bb543d580e5f4c6', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
16834
17294
|
}
|
|
16835
17295
|
get el() { return getElement(this); }
|
|
16836
17296
|
static get watchers() { return {
|
|
@@ -16929,9 +17389,9 @@ const WHEEL_PART = 'wheel';
|
|
|
16929
17389
|
const WHEEL_ITEM_PART = 'wheel-item';
|
|
16930
17390
|
const WHEEL_ITEM_ACTIVE_PART = `active`;
|
|
16931
17391
|
|
|
16932
|
-
const datetimeButtonIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}:host button{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:7px;padding-bottom:7px}:host button.ion-activated{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}`;
|
|
17392
|
+
const datetimeButtonIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-primary, #0054e9)}:host(.ion-color.time-active) #time-button,:host(.ion-color.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}:host button{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:7px;padding-bottom:7px}:host button.ion-activated{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}`;
|
|
16933
17393
|
|
|
16934
|
-
const datetimeButtonMdCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}:host button{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px}`;
|
|
17394
|
+
const datetimeButtonMdCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-primary, #0054e9)}:host(.ion-color.time-active) #time-button,:host(.ion-color.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}:host button{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px}`;
|
|
16935
17395
|
|
|
16936
17396
|
/**
|
|
16937
17397
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
@@ -16948,12 +17408,6 @@ class DatetimeButton {
|
|
|
16948
17408
|
this.overlayEl = null;
|
|
16949
17409
|
this.datetimePresentation = 'date-time';
|
|
16950
17410
|
this.datetimeActive = false;
|
|
16951
|
-
/**
|
|
16952
|
-
* The color to use from your application's color palette.
|
|
16953
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
16954
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
16955
|
-
*/
|
|
16956
|
-
this.color = 'primary';
|
|
16957
17411
|
/**
|
|
16958
17412
|
* If `true`, the user cannot interact with the button.
|
|
16959
17413
|
*/
|
|
@@ -17267,11 +17721,11 @@ class DatetimeButton {
|
|
|
17267
17721
|
render() {
|
|
17268
17722
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
17269
17723
|
const mode = getIonMode$1(this);
|
|
17270
|
-
return (hAsync(Host, { key: '
|
|
17724
|
+
return (hAsync(Host, { key: '2aaa284fe9b53b6347fcb5a1d325fbab1a6f38bd', class: createColorClasses$1(color, {
|
|
17271
17725
|
[mode]: true,
|
|
17272
17726
|
[`${selectedButton}-active`]: datetimeActive,
|
|
17273
17727
|
['datetime-button-disabled']: disabled,
|
|
17274
|
-
}) }, dateText && (hAsync("button", { key: '
|
|
17728
|
+
}) }, dateText && (hAsync("button", { key: 'd9698471fa5d5c834ca73db57f9ed98dfc705b4c', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { key: 'c8761a7f25ae5b93c953b3486dd6335f5ad4fd53', name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", { key: '3dd5e97af8d35a2b008de4ab01f690b3c2223135' }))), timeText && (hAsync("button", { key: '1107ca2382940b642b551f885f7ca763012c236c', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { key: '5cff53e486923b03715b9ab4dc0947e26f4ea1d9', name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", { key: '5aac1facb6fc7457307c4f59a241e3a5b31facc8' })))));
|
|
17275
17729
|
}
|
|
17276
17730
|
get el() { return getElement(this); }
|
|
17277
17731
|
static get style() { return {
|
|
@@ -19315,7 +19769,7 @@ class Input {
|
|
|
19315
19769
|
/**
|
|
19316
19770
|
* Whether auto correction should be enabled when the user is entering/editing the text value.
|
|
19317
19771
|
*/
|
|
19318
|
-
this.autocorrect =
|
|
19772
|
+
this.autocorrect = false;
|
|
19319
19773
|
/**
|
|
19320
19774
|
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
19321
19775
|
*
|
|
@@ -19772,7 +20226,7 @@ class Input {
|
|
|
19772
20226
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
19773
20227
|
*/
|
|
19774
20228
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
19775
|
-
return (hAsync(Host, { key: '
|
|
20229
|
+
return (hAsync(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses$1(this.color, {
|
|
19776
20230
|
[mode]: true,
|
|
19777
20231
|
'has-value': hasValue,
|
|
19778
20232
|
'has-focus': hasFocus,
|
|
@@ -19783,14 +20237,14 @@ class Input {
|
|
|
19783
20237
|
'in-item': inItem,
|
|
19784
20238
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
19785
20239
|
'input-disabled': disabled,
|
|
19786
|
-
}) }, hAsync("label", { key: '
|
|
20240
|
+
}) }, 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) => {
|
|
19787
20241
|
/**
|
|
19788
20242
|
* This prevents mobile browsers from
|
|
19789
20243
|
* blurring the input when the clear
|
|
19790
20244
|
* button is activated.
|
|
19791
20245
|
*/
|
|
19792
20246
|
ev.preventDefault();
|
|
19793
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
20247
|
+
}, 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()));
|
|
19794
20248
|
}
|
|
19795
20249
|
get el() { return getElement(this); }
|
|
19796
20250
|
static get watchers() { return {
|
|
@@ -19818,7 +20272,7 @@ class Input {
|
|
|
19818
20272
|
"color": [513],
|
|
19819
20273
|
"autocapitalize": [1],
|
|
19820
20274
|
"autocomplete": [1],
|
|
19821
|
-
"autocorrect": [
|
|
20275
|
+
"autocorrect": [4],
|
|
19822
20276
|
"autofocus": [4],
|
|
19823
20277
|
"clearInput": [4, "clear-input"],
|
|
19824
20278
|
"clearInputIcon": [1, "clear-input-icon"],
|
|
@@ -21822,7 +22276,7 @@ class ListHeader {
|
|
|
21822
22276
|
/**
|
|
21823
22277
|
* iOS Loading Enter Animation
|
|
21824
22278
|
*/
|
|
21825
|
-
const iosEnterAnimation$
|
|
22279
|
+
const iosEnterAnimation$3 = (baseEl) => {
|
|
21826
22280
|
const baseAnimation = createAnimation();
|
|
21827
22281
|
const backdropAnimation = createAnimation();
|
|
21828
22282
|
const wrapperAnimation = createAnimation();
|
|
@@ -21847,7 +22301,7 @@ const iosEnterAnimation$4 = (baseEl) => {
|
|
|
21847
22301
|
/**
|
|
21848
22302
|
* iOS Loading Leave Animation
|
|
21849
22303
|
*/
|
|
21850
|
-
const iosLeaveAnimation$
|
|
22304
|
+
const iosLeaveAnimation$3 = (baseEl) => {
|
|
21851
22305
|
const baseAnimation = createAnimation();
|
|
21852
22306
|
const backdropAnimation = createAnimation();
|
|
21853
22307
|
const wrapperAnimation = createAnimation();
|
|
@@ -22020,6 +22474,10 @@ class Loading {
|
|
|
22020
22474
|
}
|
|
22021
22475
|
disconnectedCallback() {
|
|
22022
22476
|
this.triggerController.removeClickListener();
|
|
22477
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
22478
|
+
if (this.presented) {
|
|
22479
|
+
cleanupRootFocusTrapAccessibility();
|
|
22480
|
+
}
|
|
22023
22481
|
}
|
|
22024
22482
|
/**
|
|
22025
22483
|
* Present the loading overlay after it has been created.
|
|
@@ -22027,7 +22485,7 @@ class Loading {
|
|
|
22027
22485
|
async present() {
|
|
22028
22486
|
const unlock = await this.lockController.lock();
|
|
22029
22487
|
await this.delegateController.attachViewToDom();
|
|
22030
|
-
await present(this, 'loadingEnter', iosEnterAnimation$
|
|
22488
|
+
await present(this, 'loadingEnter', iosEnterAnimation$3, mdEnterAnimation$3);
|
|
22031
22489
|
if (this.duration > 0) {
|
|
22032
22490
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);
|
|
22033
22491
|
}
|
|
@@ -22050,7 +22508,7 @@ class Loading {
|
|
|
22050
22508
|
if (this.durationTimeout) {
|
|
22051
22509
|
clearTimeout(this.durationTimeout);
|
|
22052
22510
|
}
|
|
22053
|
-
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$
|
|
22511
|
+
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$3, mdLeaveAnimation$3);
|
|
22054
22512
|
if (dismissed) {
|
|
22055
22513
|
this.delegateController.removeViewFromDom();
|
|
22056
22514
|
}
|
|
@@ -22085,9 +22543,9 @@ class Loading {
|
|
|
22085
22543
|
* Otherwise, don't set aria-labelledby.
|
|
22086
22544
|
*/
|
|
22087
22545
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
22088
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
22546
|
+
return (hAsync(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
22089
22547
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
22090
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
22548
|
+
}, 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" })));
|
|
22091
22549
|
}
|
|
22092
22550
|
get el() { return getElement(this); }
|
|
22093
22551
|
static get watchers() { return {
|
|
@@ -24361,7 +24819,7 @@ const createEnterAnimation$1 = () => {
|
|
|
24361
24819
|
/**
|
|
24362
24820
|
* iOS Modal Enter Animation for the Card presentation style
|
|
24363
24821
|
*/
|
|
24364
|
-
const iosEnterAnimation$
|
|
24822
|
+
const iosEnterAnimation$2 = (baseEl, opts) => {
|
|
24365
24823
|
const { presentingEl, currentBreakpoint, expandToScroll } = opts;
|
|
24366
24824
|
const root = getElementRoot(baseEl);
|
|
24367
24825
|
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
@@ -24454,7 +24912,7 @@ const createLeaveAnimation$1 = () => {
|
|
|
24454
24912
|
/**
|
|
24455
24913
|
* iOS Modal Leave Animation
|
|
24456
24914
|
*/
|
|
24457
|
-
const iosLeaveAnimation$
|
|
24915
|
+
const iosLeaveAnimation$2 = (baseEl, opts, duration = 500) => {
|
|
24458
24916
|
const { presentingEl, currentBreakpoint } = opts;
|
|
24459
24917
|
const root = getElementRoot(baseEl);
|
|
24460
24918
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
|
|
@@ -25629,13 +26087,20 @@ class Modal {
|
|
|
25629
26087
|
/**
|
|
25630
26088
|
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
25631
26089
|
*
|
|
25632
|
-
*
|
|
25633
|
-
*
|
|
26090
|
+
* Handle behavior is unavailable when the `handle` property is set to
|
|
26091
|
+
* `false` or when the `breakpoints` property is not set (using a
|
|
26092
|
+
* fullscreen or card modal).
|
|
26093
|
+
*
|
|
26094
|
+
* Set to `"cycle"` to make the handle focusable and let the sheet modal
|
|
26095
|
+
* cycle between available breakpoints when pressed. This keeps the sheet
|
|
26096
|
+
* operable with assistive technology.
|
|
25634
26097
|
*
|
|
25635
|
-
*
|
|
25636
|
-
*
|
|
26098
|
+
* Set to `"none"` to make the handle purely decorative when pressed and
|
|
26099
|
+
* removed from the tab order.
|
|
26100
|
+
*
|
|
26101
|
+
* Defaults to `"cycle"`.
|
|
25637
26102
|
*/
|
|
25638
|
-
this.handleBehavior = '
|
|
26103
|
+
this.handleBehavior = 'cycle';
|
|
25639
26104
|
/**
|
|
25640
26105
|
* If `true`, the modal will be dismissed when the backdrop is clicked.
|
|
25641
26106
|
*/
|
|
@@ -25827,6 +26292,10 @@ class Modal {
|
|
|
25827
26292
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
25828
26293
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
25829
26294
|
this.cleanupSafeAreaOverrides();
|
|
26295
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
26296
|
+
if (this.presented) {
|
|
26297
|
+
cleanupRootFocusTrapAccessibility();
|
|
26298
|
+
}
|
|
25830
26299
|
}
|
|
25831
26300
|
componentWillLoad() {
|
|
25832
26301
|
var _a;
|
|
@@ -26003,7 +26472,7 @@ class Modal {
|
|
|
26003
26472
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
26004
26473
|
setCardStatusBarDark();
|
|
26005
26474
|
}
|
|
26006
|
-
await present(this, 'modalEnter', iosEnterAnimation$
|
|
26475
|
+
await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
|
|
26007
26476
|
presentingEl: presentingElement,
|
|
26008
26477
|
currentBreakpoint: this.initialBreakpoint,
|
|
26009
26478
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26065,7 +26534,7 @@ class Modal {
|
|
|
26065
26534
|
// All of the elements needed for the swipe gesture
|
|
26066
26535
|
// should be in the DOM and referenced by now, except
|
|
26067
26536
|
// for the presenting el
|
|
26068
|
-
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$
|
|
26537
|
+
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$2);
|
|
26069
26538
|
const ani = (this.animation = animationBuilder(el, {
|
|
26070
26539
|
presentingEl: this.presentingElement,
|
|
26071
26540
|
expandToScroll: this.expandToScroll,
|
|
@@ -26084,7 +26553,7 @@ class Modal {
|
|
|
26084
26553
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
26085
26554
|
return;
|
|
26086
26555
|
}
|
|
26087
|
-
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$
|
|
26556
|
+
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$2);
|
|
26088
26557
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
26089
26558
|
presentingEl: this.presentingElement,
|
|
26090
26559
|
currentBreakpoint: initialBreakpoint,
|
|
@@ -26274,7 +26743,7 @@ class Modal {
|
|
|
26274
26743
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
26275
26744
|
this.keyboardOpenCallback = undefined;
|
|
26276
26745
|
}
|
|
26277
|
-
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$
|
|
26746
|
+
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$2, mdLeaveAnimation$2, {
|
|
26278
26747
|
presentingEl: presentingElement,
|
|
26279
26748
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
26280
26749
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26706,32 +27175,20 @@ class Modal {
|
|
|
26706
27175
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
26707
27176
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
26708
27177
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
26709
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
27178
|
+
return (hAsync(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
|
|
26710
27179
|
// Allow the modal to be navigable when the handle is focusable
|
|
26711
27180
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
26712
27181
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
26713
|
-
}, 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: '
|
|
27182
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
|
|
26714
27183
|
/*
|
|
26715
27184
|
role and aria-modal must be used on the
|
|
26716
27185
|
same element. They must also be set inside the
|
|
26717
27186
|
shadow DOM otherwise ion-button will not be highlighted
|
|
26718
27187
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
26719
|
-
|
|
26720
|
-
tabIndex={-1} makes this element (rather than the role-less
|
|
26721
|
-
host) the thing that `present()` in overlays.ts focuses when
|
|
26722
|
-
the modal opens, so assistive technologies get a focus target
|
|
26723
|
-
that actually carries the dialog's role/label. It is not part
|
|
26724
|
-
of the Tab order since -1 is never Tab-reachable.
|
|
26725
|
-
|
|
26726
|
-
This is only applied to default modals. For sheet and iOS card
|
|
26727
|
-
modals the wrapper doubles as the drag-gesture surface, and
|
|
26728
|
-
leaving focus on that surface interferes with the pointer
|
|
26729
|
-
gesture (most visibly on Firefox). Those modals keep focusing
|
|
26730
|
-
the host as before.
|
|
26731
27188
|
*/
|
|
26732
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true",
|
|
27189
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
|
|
26733
27190
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
26734
|
-
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: '
|
|
27191
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
|
|
26735
27192
|
}
|
|
26736
27193
|
get el() { return getElement(this); }
|
|
26737
27194
|
static get watchers() { return {
|
|
@@ -27814,14 +28271,14 @@ class Note {
|
|
|
27814
28271
|
}; }
|
|
27815
28272
|
}
|
|
27816
28273
|
|
|
27817
|
-
const pickerIosCss
|
|
28274
|
+
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)))}`;
|
|
27818
28275
|
|
|
27819
|
-
const pickerMdCss
|
|
28276
|
+
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%)}`;
|
|
27820
28277
|
|
|
27821
28278
|
/**
|
|
27822
28279
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
27823
28280
|
*/
|
|
27824
|
-
|
|
28281
|
+
class Picker {
|
|
27825
28282
|
constructor(hostRef) {
|
|
27826
28283
|
registerInstance(this, hostRef);
|
|
27827
28284
|
this.ionInputModeChange = createEvent(this, "ionInputModeChange", 7);
|
|
@@ -28287,8 +28744,8 @@ let Picker$1 = class Picker {
|
|
|
28287
28744
|
}
|
|
28288
28745
|
get el() { return getElement(this); }
|
|
28289
28746
|
static get style() { return {
|
|
28290
|
-
ios: pickerIosCss
|
|
28291
|
-
md: pickerMdCss
|
|
28747
|
+
ios: pickerIosCss(),
|
|
28748
|
+
md: pickerMdCss()
|
|
28292
28749
|
}; }
|
|
28293
28750
|
static get cmpMeta() { return {
|
|
28294
28751
|
"$flags$": 297,
|
|
@@ -28300,359 +28757,38 @@ let Picker$1 = class Picker {
|
|
|
28300
28757
|
"$lazyBundleId$": "-",
|
|
28301
28758
|
"$attrsToReflect$": []
|
|
28302
28759
|
}; }
|
|
28303
|
-
}
|
|
28304
|
-
|
|
28305
|
-
/**
|
|
28306
|
-
* iOS Picker Enter Animation
|
|
28307
|
-
*/
|
|
28308
|
-
const iosEnterAnimation$2 = (baseEl) => {
|
|
28309
|
-
const baseAnimation = createAnimation();
|
|
28310
|
-
const backdropAnimation = createAnimation();
|
|
28311
|
-
const wrapperAnimation = createAnimation();
|
|
28312
|
-
backdropAnimation
|
|
28313
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
28314
|
-
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
28315
|
-
.beforeStyles({
|
|
28316
|
-
'pointer-events': 'none',
|
|
28317
|
-
})
|
|
28318
|
-
.afterClearStyles(['pointer-events']);
|
|
28319
|
-
wrapperAnimation
|
|
28320
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
28321
|
-
.fromTo('transform', 'translateY(100%)', 'translateY(0%)');
|
|
28322
|
-
return baseAnimation
|
|
28323
|
-
.addElement(baseEl)
|
|
28324
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
28325
|
-
.duration(400)
|
|
28326
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
28327
|
-
};
|
|
28328
|
-
|
|
28329
|
-
/**
|
|
28330
|
-
* iOS Picker Leave Animation
|
|
28331
|
-
*/
|
|
28332
|
-
const iosLeaveAnimation$2 = (baseEl) => {
|
|
28333
|
-
const baseAnimation = createAnimation();
|
|
28334
|
-
const backdropAnimation = createAnimation();
|
|
28335
|
-
const wrapperAnimation = createAnimation();
|
|
28336
|
-
backdropAnimation
|
|
28337
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
28338
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
|
|
28339
|
-
wrapperAnimation
|
|
28340
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
28341
|
-
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
|
28342
|
-
return baseAnimation
|
|
28343
|
-
.addElement(baseEl)
|
|
28344
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
28345
|
-
.duration(400)
|
|
28346
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
28347
|
-
};
|
|
28348
|
-
|
|
28349
|
-
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}`;
|
|
28760
|
+
}
|
|
28350
28761
|
|
|
28351
|
-
const
|
|
28762
|
+
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-primary-rgb, 0, 84, 233), 0.2)}:host(.ion-color:focus) .picker-opts{background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
|
|
28352
28763
|
|
|
28353
|
-
// TODO(FW-2832): types
|
|
28354
28764
|
/**
|
|
28355
28765
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
28766
|
+
*
|
|
28767
|
+
* @slot prefix - Content to show on the left side of the picker options.
|
|
28768
|
+
* @slot suffix - Content to show on the right side of the picker options.
|
|
28356
28769
|
*/
|
|
28357
|
-
class
|
|
28770
|
+
class PickerColumn {
|
|
28358
28771
|
constructor(hostRef) {
|
|
28359
28772
|
registerInstance(this, hostRef);
|
|
28360
|
-
this.
|
|
28361
|
-
this.
|
|
28362
|
-
this.
|
|
28363
|
-
this.
|
|
28364
|
-
this.
|
|
28365
|
-
this.
|
|
28366
|
-
this.
|
|
28367
|
-
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
28368
|
-
this.delegateController = createDelegateController(this);
|
|
28369
|
-
this.lockController = createLockController();
|
|
28370
|
-
this.triggerController = createTriggerController();
|
|
28371
|
-
this.presented = false;
|
|
28372
|
-
/** @internal */
|
|
28373
|
-
this.hasController = false;
|
|
28374
|
-
/**
|
|
28375
|
-
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
28376
|
-
*/
|
|
28377
|
-
this.keyboardClose = true;
|
|
28378
|
-
/**
|
|
28379
|
-
* Array of buttons to be displayed at the top of the picker.
|
|
28380
|
-
*/
|
|
28381
|
-
this.buttons = [];
|
|
28382
|
-
/**
|
|
28383
|
-
* Array of columns to be displayed in the picker.
|
|
28384
|
-
*/
|
|
28385
|
-
this.columns = [];
|
|
28773
|
+
this.ionChange = createEvent(this, "ionChange", 7);
|
|
28774
|
+
this.isScrolling = false;
|
|
28775
|
+
this.isColumnVisible = false;
|
|
28776
|
+
this.canExitInputMode = true;
|
|
28777
|
+
this.updateValueTextOnScroll = false;
|
|
28778
|
+
this.ariaLabel = null;
|
|
28779
|
+
this.isActive = false;
|
|
28386
28780
|
/**
|
|
28387
|
-
*
|
|
28781
|
+
* If `true`, the user cannot interact with the picker.
|
|
28388
28782
|
*/
|
|
28389
|
-
this.
|
|
28783
|
+
this.disabled = false;
|
|
28390
28784
|
/**
|
|
28391
|
-
* If `true`,
|
|
28392
|
-
|
|
28393
|
-
|
|
28394
|
-
|
|
28395
|
-
*
|
|
28396
|
-
|
|
28397
|
-
|
|
28398
|
-
/**
|
|
28399
|
-
* If `true`, the picker will animate.
|
|
28400
|
-
*/
|
|
28401
|
-
this.animated = true;
|
|
28402
|
-
/**
|
|
28403
|
-
* If `true`, the picker will open. If `false`, the picker will close.
|
|
28404
|
-
* Use this if you need finer grained control over presentation, otherwise
|
|
28405
|
-
* just use the pickerController or the `trigger` property.
|
|
28406
|
-
* Note: `isOpen` will not automatically be set back to `false` when
|
|
28407
|
-
* the picker dismisses. You will need to do that in your code.
|
|
28408
|
-
*/
|
|
28409
|
-
this.isOpen = false;
|
|
28410
|
-
this.onBackdropTap = () => {
|
|
28411
|
-
this.dismiss(undefined, BACKDROP);
|
|
28412
|
-
};
|
|
28413
|
-
this.dispatchCancelHandler = (ev) => {
|
|
28414
|
-
const role = ev.detail.role;
|
|
28415
|
-
if (isCancel(role)) {
|
|
28416
|
-
const cancelButton = this.buttons.find((b) => b.role === 'cancel');
|
|
28417
|
-
this.callButtonHandler(cancelButton);
|
|
28418
|
-
}
|
|
28419
|
-
};
|
|
28420
|
-
}
|
|
28421
|
-
onIsOpenChange(newValue, oldValue) {
|
|
28422
|
-
if (newValue === true && oldValue === false) {
|
|
28423
|
-
this.present();
|
|
28424
|
-
}
|
|
28425
|
-
else if (newValue === false && oldValue === true) {
|
|
28426
|
-
this.dismiss();
|
|
28427
|
-
}
|
|
28428
|
-
}
|
|
28429
|
-
triggerChanged() {
|
|
28430
|
-
const { trigger, el, triggerController } = this;
|
|
28431
|
-
if (trigger) {
|
|
28432
|
-
triggerController.addClickListener(el, trigger);
|
|
28433
|
-
}
|
|
28434
|
-
}
|
|
28435
|
-
connectedCallback() {
|
|
28436
|
-
prepareOverlay(this.el);
|
|
28437
|
-
this.triggerChanged();
|
|
28438
|
-
}
|
|
28439
|
-
disconnectedCallback() {
|
|
28440
|
-
this.triggerController.removeClickListener();
|
|
28441
|
-
}
|
|
28442
|
-
componentWillLoad() {
|
|
28443
|
-
var _a;
|
|
28444
|
-
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
28445
|
-
setOverlayId(this.el);
|
|
28446
|
-
}
|
|
28447
|
-
}
|
|
28448
|
-
componentDidLoad() {
|
|
28449
|
-
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);
|
|
28450
|
-
/**
|
|
28451
|
-
* If picker was rendered with isOpen="true"
|
|
28452
|
-
* then we should open picker immediately.
|
|
28453
|
-
*/
|
|
28454
|
-
if (this.isOpen === true) {
|
|
28455
|
-
raf(() => this.present());
|
|
28456
|
-
}
|
|
28457
|
-
/**
|
|
28458
|
-
* When binding values in frameworks such as Angular
|
|
28459
|
-
* it is possible for the value to be set after the Web Component
|
|
28460
|
-
* initializes but before the value watcher is set up in Stencil.
|
|
28461
|
-
* As a result, the watcher callback may not be fired.
|
|
28462
|
-
* We work around this by manually calling the watcher
|
|
28463
|
-
* callback when the component has loaded and the watcher
|
|
28464
|
-
* is configured.
|
|
28465
|
-
*/
|
|
28466
|
-
this.triggerChanged();
|
|
28467
|
-
}
|
|
28468
|
-
/**
|
|
28469
|
-
* Present the picker overlay after it has been created.
|
|
28470
|
-
*/
|
|
28471
|
-
async present() {
|
|
28472
|
-
const unlock = await this.lockController.lock();
|
|
28473
|
-
await this.delegateController.attachViewToDom();
|
|
28474
|
-
await present(this, 'pickerEnter', iosEnterAnimation$2, iosEnterAnimation$2, undefined);
|
|
28475
|
-
if (this.duration > 0) {
|
|
28476
|
-
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
|
|
28477
|
-
}
|
|
28478
|
-
unlock();
|
|
28479
|
-
}
|
|
28480
|
-
/**
|
|
28481
|
-
* Dismiss the picker overlay after it has been presented.
|
|
28482
|
-
*
|
|
28483
|
-
* @param data Any data to emit in the dismiss events.
|
|
28484
|
-
* @param role The role of the element that is dismissing the picker.
|
|
28485
|
-
* This can be useful in a button handler for determining which button was
|
|
28486
|
-
* clicked to dismiss the picker.
|
|
28487
|
-
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
28488
|
-
*/
|
|
28489
|
-
async dismiss(data, role) {
|
|
28490
|
-
const unlock = await this.lockController.lock();
|
|
28491
|
-
if (this.durationTimeout) {
|
|
28492
|
-
clearTimeout(this.durationTimeout);
|
|
28493
|
-
}
|
|
28494
|
-
const dismissed = await dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation$2, iosLeaveAnimation$2);
|
|
28495
|
-
if (dismissed) {
|
|
28496
|
-
this.delegateController.removeViewFromDom();
|
|
28497
|
-
}
|
|
28498
|
-
unlock();
|
|
28499
|
-
return dismissed;
|
|
28500
|
-
}
|
|
28501
|
-
/**
|
|
28502
|
-
* Returns a promise that resolves when the picker did dismiss.
|
|
28503
|
-
*/
|
|
28504
|
-
onDidDismiss() {
|
|
28505
|
-
return eventMethod(this.el, 'ionPickerDidDismiss');
|
|
28506
|
-
}
|
|
28507
|
-
/**
|
|
28508
|
-
* Returns a promise that resolves when the picker will dismiss.
|
|
28509
|
-
*/
|
|
28510
|
-
onWillDismiss() {
|
|
28511
|
-
return eventMethod(this.el, 'ionPickerWillDismiss');
|
|
28512
|
-
}
|
|
28513
|
-
/**
|
|
28514
|
-
* Get the column that matches the specified name.
|
|
28515
|
-
*
|
|
28516
|
-
* @param name The name of the column.
|
|
28517
|
-
*/
|
|
28518
|
-
getColumn(name) {
|
|
28519
|
-
return Promise.resolve(this.columns.find((column) => column.name === name));
|
|
28520
|
-
}
|
|
28521
|
-
async buttonClick(button) {
|
|
28522
|
-
const role = button.role;
|
|
28523
|
-
if (isCancel(role)) {
|
|
28524
|
-
return this.dismiss(undefined, role);
|
|
28525
|
-
}
|
|
28526
|
-
const shouldDismiss = await this.callButtonHandler(button);
|
|
28527
|
-
if (shouldDismiss) {
|
|
28528
|
-
return this.dismiss(this.getSelected(), button.role);
|
|
28529
|
-
}
|
|
28530
|
-
return Promise.resolve();
|
|
28531
|
-
}
|
|
28532
|
-
async callButtonHandler(button) {
|
|
28533
|
-
if (button) {
|
|
28534
|
-
// a handler has been provided, execute it
|
|
28535
|
-
// pass the handler the values from the inputs
|
|
28536
|
-
const rtn = await safeCall(button.handler, this.getSelected());
|
|
28537
|
-
if (rtn === false) {
|
|
28538
|
-
// if the return value of the handler is false then do not dismiss
|
|
28539
|
-
return false;
|
|
28540
|
-
}
|
|
28541
|
-
}
|
|
28542
|
-
return true;
|
|
28543
|
-
}
|
|
28544
|
-
getSelected() {
|
|
28545
|
-
const selected = {};
|
|
28546
|
-
this.columns.forEach((col, index) => {
|
|
28547
|
-
const selectedColumn = col.selectedIndex !== undefined ? col.options[col.selectedIndex] : undefined;
|
|
28548
|
-
selected[col.name] = {
|
|
28549
|
-
text: selectedColumn ? selectedColumn.text : undefined,
|
|
28550
|
-
value: selectedColumn ? selectedColumn.value : undefined,
|
|
28551
|
-
columnIndex: index,
|
|
28552
|
-
};
|
|
28553
|
-
});
|
|
28554
|
-
return selected;
|
|
28555
|
-
}
|
|
28556
|
-
render() {
|
|
28557
|
-
const { htmlAttributes } = this;
|
|
28558
|
-
const mode = getIonMode$1(this);
|
|
28559
|
-
return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
28560
|
-
zIndex: `${20000 + this.overlayIndex}`,
|
|
28561
|
-
}, class: Object.assign({ [mode]: true,
|
|
28562
|
-
// Used internally for styling
|
|
28563
|
-
[`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" })));
|
|
28564
|
-
}
|
|
28565
|
-
get el() { return getElement(this); }
|
|
28566
|
-
static get watchers() { return {
|
|
28567
|
-
"isOpen": [{
|
|
28568
|
-
"onIsOpenChange": 0
|
|
28569
|
-
}],
|
|
28570
|
-
"trigger": [{
|
|
28571
|
-
"triggerChanged": 0
|
|
28572
|
-
}]
|
|
28573
|
-
}; }
|
|
28574
|
-
static get style() { return {
|
|
28575
|
-
ios: pickerIosCss(),
|
|
28576
|
-
md: pickerMdCss()
|
|
28577
|
-
}; }
|
|
28578
|
-
static get cmpMeta() { return {
|
|
28579
|
-
"$flags$": 34,
|
|
28580
|
-
"$tagName$": "ion-picker-legacy",
|
|
28581
|
-
"$members$": {
|
|
28582
|
-
"overlayIndex": [2, "overlay-index"],
|
|
28583
|
-
"delegate": [16],
|
|
28584
|
-
"hasController": [4, "has-controller"],
|
|
28585
|
-
"keyboardClose": [4, "keyboard-close"],
|
|
28586
|
-
"enterAnimation": [16],
|
|
28587
|
-
"leaveAnimation": [16],
|
|
28588
|
-
"buttons": [16],
|
|
28589
|
-
"columns": [16],
|
|
28590
|
-
"cssClass": [1, "css-class"],
|
|
28591
|
-
"duration": [2],
|
|
28592
|
-
"showBackdrop": [4, "show-backdrop"],
|
|
28593
|
-
"backdropDismiss": [4, "backdrop-dismiss"],
|
|
28594
|
-
"animated": [4],
|
|
28595
|
-
"htmlAttributes": [16],
|
|
28596
|
-
"isOpen": [4, "is-open"],
|
|
28597
|
-
"trigger": [1],
|
|
28598
|
-
"presented": [32],
|
|
28599
|
-
"present": [64],
|
|
28600
|
-
"dismiss": [64],
|
|
28601
|
-
"onDidDismiss": [64],
|
|
28602
|
-
"onWillDismiss": [64],
|
|
28603
|
-
"getColumn": [64]
|
|
28604
|
-
},
|
|
28605
|
-
"$listeners$": undefined,
|
|
28606
|
-
"$lazyBundleId$": "-",
|
|
28607
|
-
"$attrsToReflect$": []
|
|
28608
|
-
}; }
|
|
28609
|
-
}
|
|
28610
|
-
const buttonWrapperClass = (button) => {
|
|
28611
|
-
return {
|
|
28612
|
-
[`picker-toolbar-${button.role}`]: button.role !== undefined,
|
|
28613
|
-
'picker-toolbar-button': true,
|
|
28614
|
-
};
|
|
28615
|
-
};
|
|
28616
|
-
const buttonClass$1 = (button) => {
|
|
28617
|
-
return Object.assign({ 'picker-button': true, 'ion-activatable': true }, getClassMap(button.cssClass));
|
|
28618
|
-
};
|
|
28619
|
-
|
|
28620
|
-
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)}}`;
|
|
28621
|
-
|
|
28622
|
-
/**
|
|
28623
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
28624
|
-
*
|
|
28625
|
-
* @slot prefix - Content to show on the left side of the picker options.
|
|
28626
|
-
* @slot suffix - Content to show on the right side of the picker options.
|
|
28627
|
-
*/
|
|
28628
|
-
class PickerColumn {
|
|
28629
|
-
constructor(hostRef) {
|
|
28630
|
-
registerInstance(this, hostRef);
|
|
28631
|
-
this.ionChange = createEvent(this, "ionChange", 7);
|
|
28632
|
-
this.isScrolling = false;
|
|
28633
|
-
this.isColumnVisible = false;
|
|
28634
|
-
this.canExitInputMode = true;
|
|
28635
|
-
this.updateValueTextOnScroll = false;
|
|
28636
|
-
this.ariaLabel = null;
|
|
28637
|
-
this.isActive = false;
|
|
28638
|
-
/**
|
|
28639
|
-
* If `true`, the user cannot interact with the picker.
|
|
28640
|
-
*/
|
|
28641
|
-
this.disabled = false;
|
|
28642
|
-
/**
|
|
28643
|
-
* The color to use from your application's color palette.
|
|
28644
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
28645
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
28646
|
-
*/
|
|
28647
|
-
this.color = 'primary';
|
|
28648
|
-
/**
|
|
28649
|
-
* If `true`, tapping the picker will
|
|
28650
|
-
* reveal a number input keyboard that lets
|
|
28651
|
-
* the user type in values for each picker
|
|
28652
|
-
* column. This is useful when working
|
|
28653
|
-
* with time pickers.
|
|
28654
|
-
*
|
|
28655
|
-
* @internal
|
|
28785
|
+
* If `true`, tapping the picker will
|
|
28786
|
+
* reveal a number input keyboard that lets
|
|
28787
|
+
* the user type in values for each picker
|
|
28788
|
+
* column. This is useful when working
|
|
28789
|
+
* with time pickers.
|
|
28790
|
+
*
|
|
28791
|
+
* @internal
|
|
28656
28792
|
*/
|
|
28657
28793
|
this.numericInput = false;
|
|
28658
28794
|
this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
|
|
@@ -29107,469 +29243,104 @@ class PickerColumn {
|
|
|
29107
29243
|
*
|
|
29108
29244
|
*/
|
|
29109
29245
|
if (firstOption !== null && firstOption.value !== value) {
|
|
29110
|
-
this.setValue(firstOption.value);
|
|
29111
|
-
}
|
|
29112
|
-
}
|
|
29113
|
-
}
|
|
29114
|
-
/** @internal */
|
|
29115
|
-
async scrollActiveItemIntoView(smooth = false) {
|
|
29116
|
-
const activeEl = this.activeItem;
|
|
29117
|
-
if (activeEl) {
|
|
29118
|
-
this.centerPickerItemInView(activeEl, smooth, false);
|
|
29119
|
-
}
|
|
29120
|
-
}
|
|
29121
|
-
/**
|
|
29122
|
-
* Sets the value prop and fires the ionChange event.
|
|
29123
|
-
* This is used when we need to fire ionChange from
|
|
29124
|
-
* user-generated events that cannot be caught with normal
|
|
29125
|
-
* input/change event listeners.
|
|
29126
|
-
* @internal
|
|
29127
|
-
*/
|
|
29128
|
-
async setValue(value) {
|
|
29129
|
-
if (this.disabled === true || this.value === value) {
|
|
29130
|
-
return;
|
|
29131
|
-
}
|
|
29132
|
-
this.value = value;
|
|
29133
|
-
this.ionChange.emit({ value });
|
|
29134
|
-
}
|
|
29135
|
-
/**
|
|
29136
|
-
* Sets focus on the scrollable container within the picker column.
|
|
29137
|
-
* Use this method instead of the global `pickerColumn.focus()`.
|
|
29138
|
-
*/
|
|
29139
|
-
async setFocus() {
|
|
29140
|
-
if (this.assistiveFocusable) {
|
|
29141
|
-
this.assistiveFocusable.focus();
|
|
29142
|
-
}
|
|
29143
|
-
}
|
|
29144
|
-
connectedCallback() {
|
|
29145
|
-
var _a;
|
|
29146
|
-
this.ariaLabel = (_a = this.el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : 'Select a value';
|
|
29147
|
-
}
|
|
29148
|
-
get activeItem() {
|
|
29149
|
-
const { value } = this;
|
|
29150
|
-
const options = Array.from(this.el.querySelectorAll('ion-picker-column-option'));
|
|
29151
|
-
return options.find((option) => {
|
|
29152
|
-
/**
|
|
29153
|
-
* If the whole picker column is disabled, the current value should appear active
|
|
29154
|
-
* If the current value item is specifically disabled, it should not appear active
|
|
29155
|
-
*/
|
|
29156
|
-
if (!this.disabled && option.disabled) {
|
|
29157
|
-
return false;
|
|
29158
|
-
}
|
|
29159
|
-
return option.value === value;
|
|
29160
|
-
});
|
|
29161
|
-
}
|
|
29162
|
-
render() {
|
|
29163
|
-
const { color, disabled, isActive, numericInput } = this;
|
|
29164
|
-
const mode = getIonMode$1(this);
|
|
29165
|
-
return (hAsync(Host, { key: '234c96a501d7ac413b9b0ea56b33017681e25b40', class: createColorClasses$1(color, {
|
|
29166
|
-
[mode]: true,
|
|
29167
|
-
['picker-column-active']: isActive,
|
|
29168
|
-
['picker-column-numeric-input']: numericInput,
|
|
29169
|
-
['picker-column-disabled']: disabled,
|
|
29170
|
-
}) }, hAsync("slot", { key: '9dc15ea0601ddd2cb2e0a745e91e036a8bd96f8b', name: "prefix" }), hAsync("div", { key: 'de4fe28ee4bc46b7c0420d6ab0df0e7809443da9', class: "picker-opts", ref: (el) => {
|
|
29171
|
-
this.scrollEl = el;
|
|
29172
|
-
}, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, hAsync("div", { key: '5297617462cc30e9444039ae032d8bdf718349af', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '55ea39ef867bcb1a11a912d52ecd20cb886c5fb3', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '3496730ce6182ebfd33e0ee4bafc130feb575a31', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '44c3628aa957d60f799dc7019f72fe8b676c7843' }), hAsync("div", { key: '5a1809f6c949678a67e0d4b5bfe93ea335c0161d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '98fd57f1c66dbaebc2db2dd5da142671b3159fd1', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '85590708abddfa885994e549deac64866fec938f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: 'bb7e674f543696a80fcbfb1f68f2e975826898a6', name: "suffix" })));
|
|
29173
|
-
}
|
|
29174
|
-
get el() { return getElement(this); }
|
|
29175
|
-
static get watchers() { return {
|
|
29176
|
-
"aria-label": [{
|
|
29177
|
-
"ariaLabelChanged": 0
|
|
29178
|
-
}],
|
|
29179
|
-
"value": [{
|
|
29180
|
-
"valueChange": 0
|
|
29181
|
-
}]
|
|
29182
|
-
}; }
|
|
29183
|
-
static get style() { return pickerColumnCss(); }
|
|
29184
|
-
static get cmpMeta() { return {
|
|
29185
|
-
"$flags$": 265,
|
|
29186
|
-
"$tagName$": "ion-picker-column",
|
|
29187
|
-
"$members$": {
|
|
29188
|
-
"disabled": [4],
|
|
29189
|
-
"value": [1032],
|
|
29190
|
-
"color": [513],
|
|
29191
|
-
"numericInput": [4, "numeric-input"],
|
|
29192
|
-
"ariaLabel": [32],
|
|
29193
|
-
"isActive": [32],
|
|
29194
|
-
"scrollActiveItemIntoView": [64],
|
|
29195
|
-
"setValue": [64],
|
|
29196
|
-
"setFocus": [64]
|
|
29197
|
-
},
|
|
29198
|
-
"$listeners$": undefined,
|
|
29199
|
-
"$lazyBundleId$": "-",
|
|
29200
|
-
"$attrsToReflect$": [["color", "color"]]
|
|
29201
|
-
}; }
|
|
29202
|
-
}
|
|
29203
|
-
const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
|
|
29204
|
-
|
|
29205
|
-
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}}`;
|
|
29206
|
-
|
|
29207
|
-
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)}`;
|
|
29208
|
-
|
|
29209
|
-
/**
|
|
29210
|
-
* @internal
|
|
29211
|
-
*/
|
|
29212
|
-
class PickerColumnCmp {
|
|
29213
|
-
constructor(hostRef) {
|
|
29214
|
-
registerInstance(this, hostRef);
|
|
29215
|
-
this.ionPickerColChange = createEvent(this, "ionPickerColChange", 7);
|
|
29216
|
-
this.optHeight = 0;
|
|
29217
|
-
this.rotateFactor = 0;
|
|
29218
|
-
this.scaleFactor = 1;
|
|
29219
|
-
this.velocity = 0;
|
|
29220
|
-
this.y = 0;
|
|
29221
|
-
this.noAnimate = true;
|
|
29222
|
-
// `colDidChange` is a flag that gets set when the column is changed
|
|
29223
|
-
// dynamically. When this flag is set, the column will refresh
|
|
29224
|
-
// after the component re-renders to incorporate the new column data.
|
|
29225
|
-
// This is necessary because `this.refresh` queries for the option elements,
|
|
29226
|
-
// so it needs to wait for the latest elements to be available in the DOM.
|
|
29227
|
-
// Ex: column is created with 3 options. User updates the column data
|
|
29228
|
-
// to have 5 options. The column will still think it only has 3 options.
|
|
29229
|
-
this.colDidChange = false;
|
|
29230
|
-
}
|
|
29231
|
-
colChanged() {
|
|
29232
|
-
this.colDidChange = true;
|
|
29233
|
-
}
|
|
29234
|
-
async connectedCallback() {
|
|
29235
|
-
let pickerRotateFactor = 0;
|
|
29236
|
-
let pickerScaleFactor = 0.81;
|
|
29237
|
-
const mode = getIonMode$1(this);
|
|
29238
|
-
if (mode === 'ios') {
|
|
29239
|
-
pickerRotateFactor = -0.46;
|
|
29240
|
-
pickerScaleFactor = 1;
|
|
29241
|
-
}
|
|
29242
|
-
this.rotateFactor = pickerRotateFactor;
|
|
29243
|
-
this.scaleFactor = pickerScaleFactor;
|
|
29244
|
-
this.gesture = (await Promise.resolve().then(function () { return index; })).createGesture({
|
|
29245
|
-
el: this.el,
|
|
29246
|
-
gestureName: 'picker-swipe',
|
|
29247
|
-
gesturePriority: 100,
|
|
29248
|
-
threshold: 0,
|
|
29249
|
-
passive: false,
|
|
29250
|
-
onStart: (ev) => this.onStart(ev),
|
|
29251
|
-
onMove: (ev) => this.onMove(ev),
|
|
29252
|
-
onEnd: (ev) => this.onEnd(ev),
|
|
29253
|
-
});
|
|
29254
|
-
this.gesture.enable();
|
|
29255
|
-
// Options have not been initialized yet
|
|
29256
|
-
// Animation must be disabled through the `noAnimate` flag
|
|
29257
|
-
// Otherwise, the options will render
|
|
29258
|
-
// at the top of the column and transition down
|
|
29259
|
-
this.tmrId = setTimeout(() => {
|
|
29260
|
-
this.noAnimate = false;
|
|
29261
|
-
// After initialization, `refresh()` will be called
|
|
29262
|
-
// At this point, animation will be enabled. The options will
|
|
29263
|
-
// animate as they are being selected.
|
|
29264
|
-
this.refresh(true);
|
|
29265
|
-
}, 250);
|
|
29266
|
-
}
|
|
29267
|
-
componentDidLoad() {
|
|
29268
|
-
this.onDomChange();
|
|
29269
|
-
}
|
|
29270
|
-
componentDidUpdate() {
|
|
29271
|
-
// Options may have changed since last update.
|
|
29272
|
-
if (this.colDidChange) {
|
|
29273
|
-
// Animation must be disabled through the `onDomChange` parameter.
|
|
29274
|
-
// Otherwise, the recently added options will render
|
|
29275
|
-
// at the top of the column and transition down
|
|
29276
|
-
this.onDomChange(true, false);
|
|
29277
|
-
this.colDidChange = false;
|
|
29278
|
-
}
|
|
29279
|
-
}
|
|
29280
|
-
disconnectedCallback() {
|
|
29281
|
-
if (this.rafId !== undefined)
|
|
29282
|
-
cancelAnimationFrame(this.rafId);
|
|
29283
|
-
if (this.tmrId)
|
|
29284
|
-
clearTimeout(this.tmrId);
|
|
29285
|
-
if (this.gesture) {
|
|
29286
|
-
this.gesture.destroy();
|
|
29287
|
-
this.gesture = undefined;
|
|
29288
|
-
}
|
|
29289
|
-
}
|
|
29290
|
-
emitColChange() {
|
|
29291
|
-
this.ionPickerColChange.emit(this.col);
|
|
29292
|
-
}
|
|
29293
|
-
setSelected(selectedIndex, duration) {
|
|
29294
|
-
// if there is a selected index, then figure out it's y position
|
|
29295
|
-
// if there isn't a selected index, then just use the top y position
|
|
29296
|
-
const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
|
|
29297
|
-
this.velocity = 0;
|
|
29298
|
-
// set what y position we're at
|
|
29299
|
-
if (this.rafId !== undefined)
|
|
29300
|
-
cancelAnimationFrame(this.rafId);
|
|
29301
|
-
this.update(y, duration, true);
|
|
29302
|
-
this.emitColChange();
|
|
29303
|
-
}
|
|
29304
|
-
update(y, duration, saveY) {
|
|
29305
|
-
if (!this.optsEl) {
|
|
29306
|
-
return;
|
|
29307
|
-
}
|
|
29308
|
-
// ensure we've got a good round number :)
|
|
29309
|
-
let translateY = 0;
|
|
29310
|
-
let translateZ = 0;
|
|
29311
|
-
const { col, rotateFactor } = this;
|
|
29312
|
-
const prevSelected = col.selectedIndex;
|
|
29313
|
-
const selectedIndex = (col.selectedIndex = this.indexForY(-y));
|
|
29314
|
-
const durationStr = duration === 0 ? '' : duration + 'ms';
|
|
29315
|
-
const scaleStr = `scale(${this.scaleFactor})`;
|
|
29316
|
-
const children = this.optsEl.children;
|
|
29317
|
-
for (let i = 0; i < children.length; i++) {
|
|
29318
|
-
const button = children[i];
|
|
29319
|
-
const opt = col.options[i];
|
|
29320
|
-
const optOffset = i * this.optHeight + y;
|
|
29321
|
-
let transform = '';
|
|
29322
|
-
if (rotateFactor !== 0) {
|
|
29323
|
-
const rotateX = optOffset * rotateFactor;
|
|
29324
|
-
if (Math.abs(rotateX) <= 90) {
|
|
29325
|
-
translateY = 0;
|
|
29326
|
-
translateZ = 90;
|
|
29327
|
-
transform = `rotateX(${rotateX}deg) `;
|
|
29328
|
-
}
|
|
29329
|
-
else {
|
|
29330
|
-
translateY = -9999;
|
|
29331
|
-
}
|
|
29332
|
-
}
|
|
29333
|
-
else {
|
|
29334
|
-
translateZ = 0;
|
|
29335
|
-
translateY = optOffset;
|
|
29336
|
-
}
|
|
29337
|
-
const selected = selectedIndex === i;
|
|
29338
|
-
transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
|
|
29339
|
-
if (this.scaleFactor !== 1 && !selected) {
|
|
29340
|
-
transform += scaleStr;
|
|
29341
|
-
}
|
|
29342
|
-
// Update transition duration
|
|
29343
|
-
if (this.noAnimate) {
|
|
29344
|
-
opt.duration = 0;
|
|
29345
|
-
button.style.transitionDuration = '';
|
|
29346
|
-
}
|
|
29347
|
-
else if (duration !== opt.duration) {
|
|
29348
|
-
opt.duration = duration;
|
|
29349
|
-
button.style.transitionDuration = durationStr;
|
|
29350
|
-
}
|
|
29351
|
-
// Update transform
|
|
29352
|
-
if (transform !== opt.transform) {
|
|
29353
|
-
opt.transform = transform;
|
|
29354
|
-
}
|
|
29355
|
-
button.style.transform = transform;
|
|
29356
|
-
/**
|
|
29357
|
-
* Ensure that the select column
|
|
29358
|
-
* item has the selected class
|
|
29359
|
-
*/
|
|
29360
|
-
opt.selected = selected;
|
|
29361
|
-
if (selected) {
|
|
29362
|
-
button.classList.add(PICKER_OPT_SELECTED);
|
|
29363
|
-
}
|
|
29364
|
-
else {
|
|
29365
|
-
button.classList.remove(PICKER_OPT_SELECTED);
|
|
29366
|
-
}
|
|
29367
|
-
}
|
|
29368
|
-
this.col.prevSelected = prevSelected;
|
|
29369
|
-
if (saveY) {
|
|
29370
|
-
this.y = y;
|
|
29371
|
-
}
|
|
29372
|
-
if (this.lastIndex !== selectedIndex) {
|
|
29373
|
-
// have not set a last index yet
|
|
29374
|
-
hapticSelectionChanged();
|
|
29375
|
-
this.lastIndex = selectedIndex;
|
|
29376
|
-
}
|
|
29377
|
-
}
|
|
29378
|
-
decelerate() {
|
|
29379
|
-
if (this.velocity !== 0) {
|
|
29380
|
-
// still decelerating
|
|
29381
|
-
this.velocity *= DECELERATION_FRICTION;
|
|
29382
|
-
// do not let it go slower than a velocity of 1
|
|
29383
|
-
this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
|
|
29384
|
-
let y = this.y + this.velocity;
|
|
29385
|
-
if (y > this.minY) {
|
|
29386
|
-
// whoops, it's trying to scroll up farther than the options we have!
|
|
29387
|
-
y = this.minY;
|
|
29388
|
-
this.velocity = 0;
|
|
29389
|
-
}
|
|
29390
|
-
else if (y < this.maxY) {
|
|
29391
|
-
// gahh, it's trying to scroll down farther than we can!
|
|
29392
|
-
y = this.maxY;
|
|
29393
|
-
this.velocity = 0;
|
|
29394
|
-
}
|
|
29395
|
-
this.update(y, 0, true);
|
|
29396
|
-
const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
|
|
29397
|
-
if (notLockedIn) {
|
|
29398
|
-
// isn't locked in yet, keep decelerating until it is
|
|
29399
|
-
this.rafId = requestAnimationFrame(() => this.decelerate());
|
|
29400
|
-
}
|
|
29401
|
-
else {
|
|
29402
|
-
this.velocity = 0;
|
|
29403
|
-
this.emitColChange();
|
|
29404
|
-
hapticSelectionEnd();
|
|
29405
|
-
}
|
|
29406
|
-
}
|
|
29407
|
-
else if (this.y % this.optHeight !== 0) {
|
|
29408
|
-
// needs to still get locked into a position so options line up
|
|
29409
|
-
const currentPos = Math.abs(this.y % this.optHeight);
|
|
29410
|
-
// create a velocity in the direction it needs to scroll
|
|
29411
|
-
this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
|
|
29412
|
-
this.decelerate();
|
|
29413
|
-
}
|
|
29414
|
-
}
|
|
29415
|
-
indexForY(y) {
|
|
29416
|
-
return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
|
|
29417
|
-
}
|
|
29418
|
-
onStart(detail) {
|
|
29419
|
-
// We have to prevent default in order to block scrolling under the picker
|
|
29420
|
-
// but we DO NOT have to stop propagation, since we still want
|
|
29421
|
-
// some "click" events to capture
|
|
29422
|
-
if (detail.event.cancelable) {
|
|
29423
|
-
detail.event.preventDefault();
|
|
29424
|
-
}
|
|
29425
|
-
detail.event.stopPropagation();
|
|
29426
|
-
hapticSelectionStart();
|
|
29427
|
-
// reset everything
|
|
29428
|
-
if (this.rafId !== undefined)
|
|
29429
|
-
cancelAnimationFrame(this.rafId);
|
|
29430
|
-
const options = this.col.options;
|
|
29431
|
-
let minY = options.length - 1;
|
|
29432
|
-
let maxY = 0;
|
|
29433
|
-
for (let i = 0; i < options.length; i++) {
|
|
29434
|
-
if (!options[i].disabled) {
|
|
29435
|
-
minY = Math.min(minY, i);
|
|
29436
|
-
maxY = Math.max(maxY, i);
|
|
29437
|
-
}
|
|
29438
|
-
}
|
|
29439
|
-
this.minY = -(minY * this.optHeight);
|
|
29440
|
-
this.maxY = -(maxY * this.optHeight);
|
|
29441
|
-
}
|
|
29442
|
-
onMove(detail) {
|
|
29443
|
-
if (detail.event.cancelable) {
|
|
29444
|
-
detail.event.preventDefault();
|
|
29445
|
-
}
|
|
29446
|
-
detail.event.stopPropagation();
|
|
29447
|
-
// update the scroll position relative to pointer start position
|
|
29448
|
-
let y = this.y + detail.deltaY;
|
|
29449
|
-
if (y > this.minY) {
|
|
29450
|
-
// scrolling up higher than scroll area
|
|
29451
|
-
y = Math.pow(y, 0.8);
|
|
29452
|
-
this.bounceFrom = y;
|
|
29453
|
-
}
|
|
29454
|
-
else if (y < this.maxY) {
|
|
29455
|
-
// scrolling down below scroll area
|
|
29456
|
-
y += Math.pow(this.maxY - y, 0.9);
|
|
29457
|
-
this.bounceFrom = y;
|
|
29458
|
-
}
|
|
29459
|
-
else {
|
|
29460
|
-
this.bounceFrom = 0;
|
|
29246
|
+
this.setValue(firstOption.value);
|
|
29247
|
+
}
|
|
29461
29248
|
}
|
|
29462
|
-
this.update(y, 0, false);
|
|
29463
29249
|
}
|
|
29464
|
-
|
|
29465
|
-
|
|
29466
|
-
|
|
29467
|
-
|
|
29468
|
-
this.
|
|
29469
|
-
return;
|
|
29250
|
+
/** @internal */
|
|
29251
|
+
async scrollActiveItemIntoView(smooth = false) {
|
|
29252
|
+
const activeEl = this.activeItem;
|
|
29253
|
+
if (activeEl) {
|
|
29254
|
+
this.centerPickerItemInView(activeEl, smooth, false);
|
|
29470
29255
|
}
|
|
29471
|
-
|
|
29472
|
-
|
|
29473
|
-
|
|
29474
|
-
|
|
29256
|
+
}
|
|
29257
|
+
/**
|
|
29258
|
+
* Sets the value prop and fires the ionChange event.
|
|
29259
|
+
* This is used when we need to fire ionChange from
|
|
29260
|
+
* user-generated events that cannot be caught with normal
|
|
29261
|
+
* input/change event listeners.
|
|
29262
|
+
* @internal
|
|
29263
|
+
*/
|
|
29264
|
+
async setValue(value) {
|
|
29265
|
+
if (this.disabled === true || this.value === value) {
|
|
29475
29266
|
return;
|
|
29476
29267
|
}
|
|
29477
|
-
this.
|
|
29478
|
-
|
|
29479
|
-
|
|
29480
|
-
|
|
29481
|
-
|
|
29482
|
-
|
|
29483
|
-
|
|
29484
|
-
|
|
29485
|
-
|
|
29486
|
-
|
|
29487
|
-
const isScrollingUp = detail.deltaY > 0;
|
|
29488
|
-
const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
|
|
29489
|
-
if (isScrollingUp && optHeightFraction > 0.5) {
|
|
29490
|
-
this.velocity = Math.abs(this.velocity) * -1;
|
|
29491
|
-
}
|
|
29492
|
-
else if (!isScrollingUp && optHeightFraction <= 0.5) {
|
|
29493
|
-
this.velocity = Math.abs(this.velocity);
|
|
29494
|
-
}
|
|
29495
|
-
}
|
|
29496
|
-
this.decelerate();
|
|
29268
|
+
this.value = value;
|
|
29269
|
+
this.ionChange.emit({ value });
|
|
29270
|
+
}
|
|
29271
|
+
/**
|
|
29272
|
+
* Sets focus on the scrollable container within the picker column.
|
|
29273
|
+
* Use this method instead of the global `pickerColumn.focus()`.
|
|
29274
|
+
*/
|
|
29275
|
+
async setFocus() {
|
|
29276
|
+
if (this.assistiveFocusable) {
|
|
29277
|
+
this.assistiveFocusable.focus();
|
|
29497
29278
|
}
|
|
29498
29279
|
}
|
|
29499
|
-
|
|
29280
|
+
connectedCallback() {
|
|
29500
29281
|
var _a;
|
|
29501
|
-
|
|
29502
|
-
let max = 0;
|
|
29503
|
-
const options = this.col.options;
|
|
29504
|
-
for (let i = 0; i < options.length; i++) {
|
|
29505
|
-
if (!options[i].disabled) {
|
|
29506
|
-
min = Math.min(min, i);
|
|
29507
|
-
max = Math.max(max, i);
|
|
29508
|
-
}
|
|
29509
|
-
}
|
|
29510
|
-
/**
|
|
29511
|
-
* Only update selected value if column has a
|
|
29512
|
-
* velocity of 0. If it does not, then the
|
|
29513
|
-
* column is animating might land on
|
|
29514
|
-
* a value different than the value at
|
|
29515
|
-
* selectedIndex
|
|
29516
|
-
*/
|
|
29517
|
-
if (this.velocity !== 0) {
|
|
29518
|
-
return;
|
|
29519
|
-
}
|
|
29520
|
-
const selectedIndex = clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
|
|
29521
|
-
if (this.col.prevSelected !== selectedIndex || forceRefresh) {
|
|
29522
|
-
const y = selectedIndex * this.optHeight * -1;
|
|
29523
|
-
const duration = animated ? TRANSITION_DURATION : 0;
|
|
29524
|
-
this.velocity = 0;
|
|
29525
|
-
this.update(y, duration, true);
|
|
29526
|
-
}
|
|
29282
|
+
this.ariaLabel = (_a = this.el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : 'Select a value';
|
|
29527
29283
|
}
|
|
29528
|
-
|
|
29529
|
-
const
|
|
29530
|
-
|
|
29531
|
-
|
|
29532
|
-
|
|
29533
|
-
|
|
29534
|
-
|
|
29535
|
-
|
|
29284
|
+
get activeItem() {
|
|
29285
|
+
const { value } = this;
|
|
29286
|
+
const options = Array.from(this.el.querySelectorAll('ion-picker-column-option'));
|
|
29287
|
+
return options.find((option) => {
|
|
29288
|
+
/**
|
|
29289
|
+
* If the whole picker column is disabled, the current value should appear active
|
|
29290
|
+
* If the current value item is specifically disabled, it should not appear active
|
|
29291
|
+
*/
|
|
29292
|
+
if (!this.disabled && option.disabled) {
|
|
29293
|
+
return false;
|
|
29294
|
+
}
|
|
29295
|
+
return option.value === value;
|
|
29296
|
+
});
|
|
29536
29297
|
}
|
|
29537
29298
|
render() {
|
|
29538
|
-
const
|
|
29299
|
+
const { color, disabled, isActive, numericInput } = this;
|
|
29539
29300
|
const mode = getIonMode$1(this);
|
|
29540
|
-
return (hAsync(Host, { key: '
|
|
29541
|
-
|
|
29542
|
-
|
|
29301
|
+
return (hAsync(Host, { key: '78b46ad10d88ea1bb43ca8c36748767912f03224', class: createColorClasses$1(color, {
|
|
29302
|
+
[mode]: true,
|
|
29303
|
+
['picker-column-active']: isActive,
|
|
29304
|
+
['picker-column-numeric-input']: numericInput,
|
|
29305
|
+
['picker-column-disabled']: disabled,
|
|
29306
|
+
}) }, hAsync("slot", { key: '761e501df77f7de896ffb3ebb99ebf88c5c3bf70', name: "prefix" }), hAsync("div", { key: '9f4caaeef8ab704522a85f30876d371712f47c5c', class: "picker-opts", ref: (el) => {
|
|
29307
|
+
this.scrollEl = el;
|
|
29308
|
+
}, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, hAsync("div", { key: '9d3533436aba6c61c93f65f84a077fba832194a0', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '3f18d3a47361f06f55321b65fdf5742a61722b26', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'eac0d20ab8c533ef829875e323e93e1ee2067d6d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '92e25989ef41cf6f910c73238e1a0a5ac03f1c1f' }), hAsync("div", { key: '33a84644ebdc84108b44a8e3a129b54e824939c8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '128ad61a3a68c7ff2d2e44a6e968424fcc608a15', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '6e4d59a4f75befcbbf47279a263f28a69b12dbbd', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: '3c6621b64438792a3024c90e3d9916a0a3614506', name: "suffix" })));
|
|
29543
29309
|
}
|
|
29544
29310
|
get el() { return getElement(this); }
|
|
29545
29311
|
static get watchers() { return {
|
|
29546
|
-
"
|
|
29547
|
-
"
|
|
29312
|
+
"aria-label": [{
|
|
29313
|
+
"ariaLabelChanged": 0
|
|
29314
|
+
}],
|
|
29315
|
+
"value": [{
|
|
29316
|
+
"valueChange": 0
|
|
29548
29317
|
}]
|
|
29549
29318
|
}; }
|
|
29550
|
-
static get style() { return
|
|
29551
|
-
ios: pickerColumnIosCss(),
|
|
29552
|
-
md: pickerColumnMdCss()
|
|
29553
|
-
}; }
|
|
29319
|
+
static get style() { return pickerColumnCss(); }
|
|
29554
29320
|
static get cmpMeta() { return {
|
|
29555
|
-
"$flags$":
|
|
29556
|
-
"$tagName$": "ion-picker-
|
|
29321
|
+
"$flags$": 265,
|
|
29322
|
+
"$tagName$": "ion-picker-column",
|
|
29557
29323
|
"$members$": {
|
|
29558
|
-
"
|
|
29324
|
+
"disabled": [4],
|
|
29325
|
+
"value": [1032],
|
|
29326
|
+
"color": [513],
|
|
29327
|
+
"numericInput": [4, "numeric-input"],
|
|
29328
|
+
"ariaLabel": [32],
|
|
29329
|
+
"isActive": [32],
|
|
29330
|
+
"scrollActiveItemIntoView": [64],
|
|
29331
|
+
"setValue": [64],
|
|
29332
|
+
"setFocus": [64]
|
|
29559
29333
|
},
|
|
29560
29334
|
"$listeners$": undefined,
|
|
29561
29335
|
"$lazyBundleId$": "-",
|
|
29562
|
-
"$attrsToReflect$": []
|
|
29336
|
+
"$attrsToReflect$": [["color", "color"]]
|
|
29563
29337
|
}; }
|
|
29564
29338
|
}
|
|
29565
|
-
const
|
|
29566
|
-
const DECELERATION_FRICTION = 0.97;
|
|
29567
|
-
const MAX_PICKER_SPEED = 90;
|
|
29568
|
-
const TRANSITION_DURATION = 150;
|
|
29339
|
+
const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
|
|
29569
29340
|
|
|
29570
29341
|
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}`;
|
|
29571
29342
|
|
|
29572
|
-
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)}`;
|
|
29343
|
+
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-primary, #0054e9)}:host(.ion-color.option-active),:host(.ion-color[part~=active]){color:var(--ion-color-base)}`;
|
|
29573
29344
|
|
|
29574
29345
|
class PickerColumnOption {
|
|
29575
29346
|
constructor(hostRef) {
|
|
@@ -29593,12 +29364,6 @@ class PickerColumnOption {
|
|
|
29593
29364
|
* If `true`, the user cannot interact with the picker column option.
|
|
29594
29365
|
*/
|
|
29595
29366
|
this.disabled = false;
|
|
29596
|
-
/**
|
|
29597
|
-
* The color to use from your application's color palette.
|
|
29598
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
29599
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
29600
|
-
*/
|
|
29601
|
-
this.color = 'primary';
|
|
29602
29367
|
}
|
|
29603
29368
|
/**
|
|
29604
29369
|
* The aria-label of the option has changed after the
|
|
@@ -29658,10 +29423,10 @@ class PickerColumnOption {
|
|
|
29658
29423
|
render() {
|
|
29659
29424
|
const { color, disabled, ariaLabel } = this;
|
|
29660
29425
|
const mode = getIonMode$1(this);
|
|
29661
|
-
return (hAsync(Host, { key: '
|
|
29426
|
+
return (hAsync(Host, { key: '98109dc9aeced749a3e879394d9a24de24204433', class: createColorClasses$1(color, {
|
|
29662
29427
|
[mode]: true,
|
|
29663
29428
|
['option-disabled']: disabled,
|
|
29664
|
-
}) }, hAsync("div", { key: '
|
|
29429
|
+
}) }, hAsync("div", { key: '42cb75738ea6925a7780b3ec9c1ff6823e340a24', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '1f1b3862cdfb2b432016014e2e56330c0247d0b5' }))));
|
|
29665
29430
|
}
|
|
29666
29431
|
get el() { return getElement(this); }
|
|
29667
29432
|
static get watchers() { return {
|
|
@@ -30762,9 +30527,9 @@ const mdLeaveAnimation$1 = (baseEl) => {
|
|
|
30762
30527
|
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
30763
30528
|
};
|
|
30764
30529
|
|
|
30765
|
-
const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{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);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
|
|
30530
|
+
const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{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);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
|
|
30766
30531
|
|
|
30767
|
-
const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{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);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
|
|
30532
|
+
const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{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);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
|
|
30768
30533
|
|
|
30769
30534
|
// TODO(FW-2832): types
|
|
30770
30535
|
/**
|
|
@@ -30988,6 +30753,10 @@ class Popover {
|
|
|
30988
30753
|
this.headerResizeObserver.disconnect();
|
|
30989
30754
|
this.headerResizeObserver = undefined;
|
|
30990
30755
|
}
|
|
30756
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
30757
|
+
if (this.presented) {
|
|
30758
|
+
cleanupRootFocusTrapAccessibility();
|
|
30759
|
+
}
|
|
30991
30760
|
}
|
|
30992
30761
|
componentWillLoad() {
|
|
30993
30762
|
var _a, _b;
|
|
@@ -31226,9 +30995,9 @@ class Popover {
|
|
|
31226
30995
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
31227
30996
|
const desktop = isPlatform('desktop');
|
|
31228
30997
|
const enableArrow = arrow && !parentPopover;
|
|
31229
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30998
|
+
return (hAsync(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
31230
30999
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
31231
|
-
}, 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: '
|
|
31000
|
+
}, 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' })))));
|
|
31232
31001
|
}
|
|
31233
31002
|
get el() { return getElement(this); }
|
|
31234
31003
|
static get watchers() { return {
|
|
@@ -31339,7 +31108,7 @@ class ProgressBar {
|
|
|
31339
31108
|
const mode = getIonMode$1(this);
|
|
31340
31109
|
// If the progress is displayed as a solid bar.
|
|
31341
31110
|
const progressSolid = buffer === 1;
|
|
31342
|
-
return (hAsync(Host, { key: '
|
|
31111
|
+
return (hAsync(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
31343
31112
|
[mode]: true,
|
|
31344
31113
|
[`progress-bar-${type}`]: true,
|
|
31345
31114
|
'progress-paused': paused,
|
|
@@ -31524,7 +31293,7 @@ class Radio {
|
|
|
31524
31293
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
31525
31294
|
const mode = getIonMode$1(this);
|
|
31526
31295
|
const inItem = hostContext('ion-item', el);
|
|
31527
|
-
return (hAsync(Host, { key: '
|
|
31296
|
+
return (hAsync(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
31528
31297
|
[mode]: true,
|
|
31529
31298
|
'in-item': inItem,
|
|
31530
31299
|
'radio-checked': checked,
|
|
@@ -31535,10 +31304,10 @@ class Radio {
|
|
|
31535
31304
|
// Focus and active styling should not apply when the radio is in an item
|
|
31536
31305
|
'ion-activatable': !inItem,
|
|
31537
31306
|
'ion-focusable': !inItem,
|
|
31538
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
31307
|
+
}), 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: {
|
|
31539
31308
|
'label-text-wrapper': true,
|
|
31540
31309
|
'label-text-wrapper-hidden': !hasLabel,
|
|
31541
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
31310
|
+
}, part: "label" }, hAsync("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), hAsync("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
31542
31311
|
}
|
|
31543
31312
|
get el() { return getElement(this); }
|
|
31544
31313
|
static get watchers() { return {
|
|
@@ -31557,7 +31326,7 @@ class Radio {
|
|
|
31557
31326
|
"color": [513],
|
|
31558
31327
|
"name": [1],
|
|
31559
31328
|
"disabled": [4],
|
|
31560
|
-
"value": [
|
|
31329
|
+
"value": [520],
|
|
31561
31330
|
"labelPlacement": [1, "label-placement"],
|
|
31562
31331
|
"justify": [1],
|
|
31563
31332
|
"alignment": [1],
|
|
@@ -31568,7 +31337,7 @@ class Radio {
|
|
|
31568
31337
|
},
|
|
31569
31338
|
"$listeners$": undefined,
|
|
31570
31339
|
"$lazyBundleId$": "-",
|
|
31571
|
-
"$attrsToReflect$": [["color", "color"]]
|
|
31340
|
+
"$attrsToReflect$": [["color", "color"], ["value", "value"]]
|
|
31572
31341
|
}; }
|
|
31573
31342
|
}
|
|
31574
31343
|
let radioButtonIds = 0;
|
|
@@ -32633,7 +32402,7 @@ class Range {
|
|
|
32633
32402
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
32634
32403
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
32635
32404
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
32636
|
-
return (hAsync(Host, { key: '
|
|
32405
|
+
return (hAsync(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
32637
32406
|
[mode]: true,
|
|
32638
32407
|
'in-item': inItem,
|
|
32639
32408
|
'range-disabled': disabled,
|
|
@@ -32647,10 +32416,10 @@ class Range {
|
|
|
32647
32416
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
32648
32417
|
'range-value-min': valueAtMin,
|
|
32649
32418
|
'range-value-max': valueAtMax,
|
|
32650
|
-
}) }, hAsync("label", { key: '
|
|
32419
|
+
}) }, hAsync("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
|
|
32651
32420
|
'label-text-wrapper': true,
|
|
32652
32421
|
'label-text-wrapper-hidden': !hasLabel,
|
|
32653
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
32422
|
+
}, 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" })))));
|
|
32654
32423
|
}
|
|
32655
32424
|
get el() { return getElement(this); }
|
|
32656
32425
|
static get watchers() { return {
|
|
@@ -33721,7 +33490,7 @@ class Refresher {
|
|
|
33721
33490
|
}
|
|
33722
33491
|
render() {
|
|
33723
33492
|
const mode = getIonMode$1(this);
|
|
33724
|
-
return (hAsync(Host, { key: '
|
|
33493
|
+
return (hAsync(Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
|
|
33725
33494
|
[mode]: true,
|
|
33726
33495
|
// Used internally for styling
|
|
33727
33496
|
[`refresher-${mode}`]: true,
|
|
@@ -33947,7 +33716,7 @@ class RefresherContent {
|
|
|
33947
33716
|
const pullingIcon = this.pullingIcon;
|
|
33948
33717
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
33949
33718
|
const mode = getIonMode$1(this);
|
|
33950
|
-
return (hAsync(Host, { key: '
|
|
33719
|
+
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())));
|
|
33951
33720
|
}
|
|
33952
33721
|
get el() { return getElement(this); }
|
|
33953
33722
|
static get cmpMeta() { return {
|
|
@@ -33988,7 +33757,7 @@ class Reorder {
|
|
|
33988
33757
|
render() {
|
|
33989
33758
|
const mode = getIonMode$1(this);
|
|
33990
33759
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
33991
|
-
return (hAsync(Host, { key: '
|
|
33760
|
+
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" }))));
|
|
33992
33761
|
}
|
|
33993
33762
|
get el() { return getElement(this); }
|
|
33994
33763
|
static get style() { return {
|
|
@@ -34259,7 +34028,7 @@ class ReorderGroup {
|
|
|
34259
34028
|
}
|
|
34260
34029
|
render() {
|
|
34261
34030
|
const mode = getIonMode$1(this);
|
|
34262
|
-
return (hAsync(Host, { key: '
|
|
34031
|
+
return (hAsync(Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
|
|
34263
34032
|
[mode]: true,
|
|
34264
34033
|
'reorder-enabled': !this.disabled,
|
|
34265
34034
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -34377,7 +34146,7 @@ class RippleEffect {
|
|
|
34377
34146
|
}
|
|
34378
34147
|
render() {
|
|
34379
34148
|
const mode = getIonMode$1(this);
|
|
34380
|
-
return (hAsync(Host, { key: '
|
|
34149
|
+
return (hAsync(Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
|
|
34381
34150
|
[mode]: true,
|
|
34382
34151
|
unbounded: this.unbounded,
|
|
34383
34152
|
} }));
|
|
@@ -35511,10 +35280,10 @@ class RouterLink {
|
|
|
35511
35280
|
rel: this.rel,
|
|
35512
35281
|
target: this.target,
|
|
35513
35282
|
};
|
|
35514
|
-
return (hAsync(Host, { key: '
|
|
35283
|
+
return (hAsync(Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
35515
35284
|
[mode]: true,
|
|
35516
35285
|
'ion-activatable': true,
|
|
35517
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
35286
|
+
}) }, hAsync("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), hAsync("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
|
|
35518
35287
|
}
|
|
35519
35288
|
static get style() { return routerLinkCss(); }
|
|
35520
35289
|
static get cmpMeta() { return {
|
|
@@ -35553,10 +35322,11 @@ class RouterOutlet {
|
|
|
35553
35322
|
*/
|
|
35554
35323
|
this.animated = true;
|
|
35555
35324
|
}
|
|
35325
|
+
swipeGestureChanged() {
|
|
35326
|
+
this.updateGestureEnabled();
|
|
35327
|
+
}
|
|
35556
35328
|
swipeHandlerChanged() {
|
|
35557
|
-
|
|
35558
|
-
this.gesture.enable(this.swipeHandler !== undefined);
|
|
35559
|
-
}
|
|
35329
|
+
this.updateGestureEnabled();
|
|
35560
35330
|
}
|
|
35561
35331
|
async connectedCallback() {
|
|
35562
35332
|
const onStart = () => {
|
|
@@ -35596,11 +35366,21 @@ class RouterOutlet {
|
|
|
35596
35366
|
this.gestureOrAnimationInProgress = false;
|
|
35597
35367
|
}
|
|
35598
35368
|
});
|
|
35599
|
-
this.
|
|
35369
|
+
if (this.swipeGesture === undefined) {
|
|
35370
|
+
this.swipeGesture = config.getBoolean('swipeBackEnabled', this.mode === 'ios');
|
|
35371
|
+
}
|
|
35372
|
+
else {
|
|
35373
|
+
this.updateGestureEnabled();
|
|
35374
|
+
}
|
|
35600
35375
|
}
|
|
35601
35376
|
componentWillLoad() {
|
|
35602
35377
|
this.ionNavWillLoad.emit();
|
|
35603
35378
|
}
|
|
35379
|
+
updateGestureEnabled() {
|
|
35380
|
+
if (this.gesture) {
|
|
35381
|
+
this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
|
|
35382
|
+
}
|
|
35383
|
+
}
|
|
35604
35384
|
disconnectedCallback() {
|
|
35605
35385
|
if (this.gesture) {
|
|
35606
35386
|
this.gesture.destroy();
|
|
@@ -35711,10 +35491,13 @@ class RouterOutlet {
|
|
|
35711
35491
|
return true;
|
|
35712
35492
|
}
|
|
35713
35493
|
render() {
|
|
35714
|
-
return hAsync("slot", { key: '
|
|
35494
|
+
return hAsync("slot", { key: 'ce09e6fbba7b0a2276cdde5245bb37c9a162c1c7' });
|
|
35715
35495
|
}
|
|
35716
35496
|
get el() { return getElement(this); }
|
|
35717
35497
|
static get watchers() { return {
|
|
35498
|
+
"swipeGesture": [{
|
|
35499
|
+
"swipeGestureChanged": 0
|
|
35500
|
+
}],
|
|
35718
35501
|
"swipeHandler": [{
|
|
35719
35502
|
"swipeHandlerChanged": 0
|
|
35720
35503
|
}]
|
|
@@ -35728,6 +35511,7 @@ class RouterOutlet {
|
|
|
35728
35511
|
"delegate": [16],
|
|
35729
35512
|
"animated": [4],
|
|
35730
35513
|
"animation": [16],
|
|
35514
|
+
"swipeGesture": [1028, "swipe-gesture"],
|
|
35731
35515
|
"swipeHandler": [16],
|
|
35732
35516
|
"commit": [64],
|
|
35733
35517
|
"setRouteId": [64],
|
|
@@ -35746,7 +35530,7 @@ class Row {
|
|
|
35746
35530
|
registerInstance(this, hostRef);
|
|
35747
35531
|
}
|
|
35748
35532
|
render() {
|
|
35749
|
-
return (hAsync(Host, { key: '
|
|
35533
|
+
return (hAsync(Host, { key: 'a9066661fff12baaf3e80b2e8c08591af72fe5b8', class: getIonMode$1(this) }, hAsync("slot", { key: '62b103af46d3a5ec9c146019ae300b68a4ae867a' })));
|
|
35750
35534
|
}
|
|
35751
35535
|
static get style() { return rowCss(); }
|
|
35752
35536
|
static get cmpMeta() { return {
|
|
@@ -35798,7 +35582,7 @@ class Searchbar {
|
|
|
35798
35582
|
/**
|
|
35799
35583
|
* Set the input's autocorrect property.
|
|
35800
35584
|
*/
|
|
35801
|
-
this.autocorrect =
|
|
35585
|
+
this.autocorrect = false;
|
|
35802
35586
|
/**
|
|
35803
35587
|
* Set the cancel button icon. Only applies to `md` mode.
|
|
35804
35588
|
* Defaults to `arrow-back-sharp`.
|
|
@@ -36219,8 +36003,8 @@ class Searchbar {
|
|
|
36219
36003
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
36220
36004
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
36221
36005
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
36222
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
36223
|
-
return (hAsync(Host, { key: '
|
|
36006
|
+
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '73964da43dbd099fc7f3d30cbc4da11087701ac5', "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: '27335a0e35f6c253c074685fa0b088404927bcbb', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
36007
|
+
return (hAsync(Host, { key: '1b4f6c4e7dffb02e092f0026ce3875822d98a631', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
36224
36008
|
[mode]: true,
|
|
36225
36009
|
'searchbar-animated': animated,
|
|
36226
36010
|
'searchbar-disabled': this.disabled,
|
|
@@ -36230,14 +36014,14 @@ class Searchbar {
|
|
|
36230
36014
|
'searchbar-has-focus': this.focused,
|
|
36231
36015
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
36232
36016
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
36233
|
-
}) }, hAsync("div", { key: '
|
|
36017
|
+
}) }, hAsync("div", { key: '587e1950e329cfb9d3658be5b2a6491e7af9321a', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '7f78a3d22cce03af277a538b4d9f85faddf1fa80', "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: '9fd3e458978b64e9e3358bcbb26471753f6ff2a6', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: 'c7864c85923668dfa25f5fc4a70c7dbf6da191b7', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
36234
36018
|
/**
|
|
36235
36019
|
* This prevents mobile browsers from
|
|
36236
36020
|
* blurring the input when the clear
|
|
36237
36021
|
* button is activated.
|
|
36238
36022
|
*/
|
|
36239
36023
|
ev.preventDefault();
|
|
36240
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
36024
|
+
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '47e7a15c6c6d4df4c54c62b042842e499627da05', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
36241
36025
|
}
|
|
36242
36026
|
get el() { return getElement(this); }
|
|
36243
36027
|
static get watchers() { return {
|
|
@@ -36269,7 +36053,7 @@ class Searchbar {
|
|
|
36269
36053
|
"animated": [4],
|
|
36270
36054
|
"autocapitalize": [1],
|
|
36271
36055
|
"autocomplete": [1],
|
|
36272
|
-
"autocorrect": [
|
|
36056
|
+
"autocorrect": [4],
|
|
36273
36057
|
"cancelButtonIcon": [1, "cancel-button-icon"],
|
|
36274
36058
|
"cancelButtonText": [1, "cancel-button-text"],
|
|
36275
36059
|
"clearIcon": [1, "clear-icon"],
|
|
@@ -36846,14 +36630,14 @@ class Segment {
|
|
|
36846
36630
|
}
|
|
36847
36631
|
render() {
|
|
36848
36632
|
const mode = getIonMode$1(this);
|
|
36849
|
-
return (hAsync(Host, { key: '
|
|
36633
|
+
return (hAsync(Host, { key: 'bb626072e73f09c3433e1a769e09789a00822d8f', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
36850
36634
|
[mode]: true,
|
|
36851
36635
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
36852
36636
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
36853
36637
|
'segment-activated': this.activated,
|
|
36854
36638
|
'segment-disabled': this.disabled,
|
|
36855
36639
|
'segment-scrollable': this.scrollable,
|
|
36856
|
-
}) }, hAsync("slot", { key: '
|
|
36640
|
+
}) }, hAsync("slot", { key: '652d5037c2c2dee4d47a5710b1d150e691202d25', onSlotchange: this.onSlottedItemsChange })));
|
|
36857
36641
|
}
|
|
36858
36642
|
get el() { return getElement(this); }
|
|
36859
36643
|
static get watchers() { return {
|
|
@@ -37001,7 +36785,7 @@ class SegmentButton {
|
|
|
37001
36785
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
37002
36786
|
const mode = getIonMode$1(this);
|
|
37003
36787
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
37004
|
-
return (hAsync(Host, { key: '
|
|
36788
|
+
return (hAsync(Host, { key: '792f621c36260b1fceff2b4ec4fa95d98d51d46b', class: {
|
|
37005
36789
|
[mode]: true,
|
|
37006
36790
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
37007
36791
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -37017,7 +36801,7 @@ class SegmentButton {
|
|
|
37017
36801
|
'ion-activatable': true,
|
|
37018
36802
|
'ion-activatable-instant': true,
|
|
37019
36803
|
'ion-focusable': true,
|
|
37020
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
36804
|
+
} }, 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" }))));
|
|
37021
36805
|
}
|
|
37022
36806
|
get el() { return getElement(this); }
|
|
37023
36807
|
static get watchers() { return {
|
|
@@ -37054,7 +36838,7 @@ class SegmentContent {
|
|
|
37054
36838
|
registerInstance(this, hostRef);
|
|
37055
36839
|
}
|
|
37056
36840
|
render() {
|
|
37057
|
-
return (hAsync(Host, { key: '
|
|
36841
|
+
return (hAsync(Host, { key: 'ef39f29c444177c3b083cd35680ba891e4bb6a2a' }, hAsync("slot", { key: '51f9dd9ca084ddd928b376aa9d716509669c32b2' })));
|
|
37058
36842
|
}
|
|
37059
36843
|
static get style() { return segmentContentCss(); }
|
|
37060
36844
|
static get cmpMeta() { return {
|
|
@@ -37173,11 +36957,11 @@ class SegmentView {
|
|
|
37173
36957
|
}
|
|
37174
36958
|
render() {
|
|
37175
36959
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
37176
|
-
return (hAsync(Host, { key: '
|
|
36960
|
+
return (hAsync(Host, { key: 'a6c6ac0232c4bb6f2a954b3de7993019d71f423a', class: {
|
|
37177
36961
|
'segment-view-disabled': disabled,
|
|
37178
36962
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
37179
36963
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
37180
|
-
} }, hAsync("slot", { key: '
|
|
36964
|
+
} }, hAsync("slot", { key: '386305be2a75069c79def12005d9f6b49276763f' })));
|
|
37181
36965
|
}
|
|
37182
36966
|
get el() { return getElement(this); }
|
|
37183
36967
|
static get style() { return {
|
|
@@ -37199,9 +36983,9 @@ class SegmentView {
|
|
|
37199
36983
|
}; }
|
|
37200
36984
|
}
|
|
37201
36985
|
|
|
37202
|
-
const selectIosCss = () => `:host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.has-focus) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{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}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-wrapper-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{-ms-flex-positive:1;flex-grow:1}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}:host(.has-focus.ion-valid),:host(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-focus.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--highlight-height:0px}.select-icon{width:1.125rem;height:1.125rem;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{width:calc(100% - 1.125rem - 4px)}:host(.select-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}`;
|
|
36986
|
+
const selectIosCss = () => `:host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--select-text-media-height:1.5em;--select-text-media-width:1.5em;--select-text-gap:12px;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.has-focus) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{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}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-text>*+*{-webkit-margin-start:var(--select-text-gap);margin-inline-start:var(--select-text-gap)}.select-text img,.select-text ion-img,.select-text ion-icon,.select-text ion-thumbnail,.select-text ion-avatar{border-radius:var(--select-text-media-border-radius);width:var(--select-text-media-width);height:var(--select-text-media-height);border-width:var(--select-text-media-border-width);border-style:var(--select-text-media-border-style);border-color:var(--select-text-media-border-color)}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-wrapper-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{-ms-flex-positive:1;flex-grow:1}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}:host(.has-focus.ion-valid),:host(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-focus.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--highlight-height:0px}.select-icon{width:1.125rem;height:1.125rem;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{width:calc(100% - 1.125rem - 4px)}:host(.select-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}`;
|
|
37203
36987
|
|
|
37204
|
-
const selectMdCss = () => `:host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.has-focus) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{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}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-wrapper-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{-ms-flex-positive:1;flex-grow:1}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}:host(.has-focus.ion-valid),:host(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-focus.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.select-fill-solid){--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-500, var(--ion-background-color-step-500, gray));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.select-fill-solid) .select-wrapper{border-bottom:var(--border-width) var(--border-style) var(--border-color)}:host(.select-expanded.select-fill-solid.ion-valid),:host(.has-focus.select-fill-solid.ion-valid),:host(.select-fill-solid.ion-touched.ion-invalid){--border-color:var(--highlight-color)}:host(.select-fill-solid) .select-bottom{border-top:none}@media (any-hover: hover){:host(.select-fill-solid:hover){--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.select-fill-solid.select-expanded),:host(.select-fill-solid.has-focus){--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--highlight-color)}:host(.select-fill-solid) .select-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0px;border-end-start-radius:0px}:host(.label-floating.select-fill-solid) .label-text-wrapper{max-width:calc(100% / 0.75)}:host(.in-item.select-expanded.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.has-focus.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid.select-fill-solid) .select-wrapper .select-icon{color:var(--highlight-color)}:host(.select-fill-outline){--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.select-fill-outline.select-shape-round){--border-radius:28px;--padding-start:32px;--padding-end:32px}:host(.has-focus.select-fill-outline.ion-valid),:host(.select-fill-outline.ion-touched.ion-invalid){--border-color:var(--highlight-color)}@media (any-hover: hover){:host(.select-fill-outline:hover){--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.select-fill-outline.select-expanded),:host(.select-fill-outline.has-focus){--border-width:var(--highlight-height);--border-color:var(--highlight-color)}:host(.select-fill-outline) .select-bottom{border-top:none}:host(.select-fill-outline) .select-wrapper{border-bottom:none}:host(.select-ltr.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-fill-outline.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-fill-outline.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-fill-outline.select-label-placement-floating) .label-text-wrapper{position:absolute;max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.select-fill-outline) .label-text-wrapper{position:relative;z-index:1}:host(.label-floating.select-fill-outline) .label-text-wrapper{-webkit-transform:translateY(-32%) scale(0.75);transform:translateY(-32%) scale(0.75);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;max-width:calc((100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75)}:host(.select-fill-outline.select-label-placement-stacked) select,:host(.select-fill-outline.select-label-placement-floating) select{margin-left:0;margin-right:0;margin-top:6px;margin-bottom:6px}:host(.select-fill-outline) .select-outline-container{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;width:100%;height:100%}:host(.select-fill-outline) .select-outline-start,:host(.select-fill-outline) .select-outline-end{pointer-events:none}:host(.select-fill-outline) .select-outline-start,:host(.select-fill-outline) .select-outline-notch,:host(.select-fill-outline) .select-outline-end{border-top:var(--border-width) var(--border-style) var(--border-color);border-bottom:var(--border-width) var(--border-style) var(--border-color);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.select-fill-outline) .select-outline-notch{max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.select-fill-outline) .notch-spacer{-webkit-padding-end:8px;padding-inline-end:8px;font-size:calc(1em * 0.75);opacity:0;pointer-events:none}:host(.select-fill-outline) .select-outline-start{-webkit-border-start:var(--border-width) var(--border-style) var(--border-color);border-inline-start:var(--border-width) var(--border-style) var(--border-color)}:host(.select-fill-outline) .select-outline-start{border-start-start-radius:var(--border-radius);border-start-end-radius:0px;border-end-end-radius:0px;border-end-start-radius:var(--border-radius)}:host(.select-fill-outline) .select-outline-start{width:calc(var(--padding-start) - 4px)}:host(.select-fill-outline) .select-outline-end{-webkit-border-end:var(--border-width) var(--border-style) var(--border-color);border-inline-end:var(--border-width) var(--border-style) var(--border-color)}:host(.select-fill-outline) .select-outline-end{border-start-start-radius:0px;border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius);border-end-start-radius:0px}:host(.select-fill-outline) .select-outline-end{-ms-flex-positive:1;flex-grow:1}:host(.label-floating.select-fill-outline) .select-outline-notch{border-top:none}:host(.in-item.select-expanded.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.has-focus.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid.select-fill-outline) .select-wrapper .select-icon{color:var(--highlight-color)}:host{--border-width:1px;--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)))));--highlight-height:2px}:host(.select-label-placement-floating.select-expanded) .label-text-wrapper,:host(.select-label-placement-floating.has-focus) .label-text-wrapper,:host(.select-label-placement-stacked.select-expanded) .label-text-wrapper,:host(.select-label-placement-stacked.has-focus) .label-text-wrapper{color:var(--highlight-color)}:host(.has-focus.select-label-placement-floating.ion-valid) .label-text-wrapper,:host(.select-label-placement-floating.ion-touched.ion-invalid) .label-text-wrapper,:host(.has-focus.select-label-placement-stacked.ion-valid) .label-text-wrapper,:host(.select-label-placement-stacked.ion-touched.ion-invalid) .label-text-wrapper{color:var(--highlight-color)}.select-highlight{bottom:-1px;position:absolute;width:100%;height:var(--highlight-height);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 200ms;transition:-webkit-transform 200ms;transition:transform 200ms;transition:transform 200ms, -webkit-transform 200ms;background:var(--highlight-color)}.select-highlight{inset-inline-start:0}:host(.select-expanded) .select-highlight,:host(.has-focus) .select-highlight{-webkit-transform:scale(1);transform:scale(1)}:host(.in-item) .select-highlight{bottom:0}:host(.in-item) .select-highlight{inset-inline-start:0}.select-icon{width:0.8125rem;-webkit-transition:-webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host(.select-expanded:not(.has-expanded-icon)) .select-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.in-item.select-expanded) .select-wrapper .select-icon,:host(.in-item.has-focus) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid) .select-wrapper .select-icon{color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host(.select-expanded) .select-wrapper .select-icon,:host(.has-focus.ion-valid) .select-wrapper .select-icon,:host(.ion-touched.ion-invalid) .select-wrapper .select-icon,:host(.has-focus) .select-wrapper .select-icon{color:var(--highlight-color)}:host(.select-shape-round){--border-radius:16px}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{width:calc(100% - 0.8125rem - 4px)}:host(.select-disabled){opacity:0.38}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:8px;--padding-end:8px;--padding-top:8px;--padding-bottom:8px;aspect-ratio:1;min-height:40px}`;
|
|
36988
|
+
const selectMdCss = () => `:host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--select-text-media-height:1.5em;--select-text-media-width:1.5em;--select-text-gap:12px;--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.has-focus) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{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}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-text>*+*{-webkit-margin-start:var(--select-text-gap);margin-inline-start:var(--select-text-gap)}.select-text img,.select-text ion-img,.select-text ion-icon,.select-text ion-thumbnail,.select-text ion-avatar{border-radius:var(--select-text-media-border-radius);width:var(--select-text-media-width);height:var(--select-text-media-height);border-width:var(--select-text-media-border-width);border-style:var(--select-text-media-border-style);border-color:var(--select-text-media-border-color)}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-wrapper-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{-ms-flex-positive:1;flex-grow:1}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}:host(.has-focus.ion-valid),:host(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-focus.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.select-fill-solid){--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-500, var(--ion-background-color-step-500, gray));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.select-fill-solid) .select-wrapper{border-bottom:var(--border-width) var(--border-style) var(--border-color)}:host(.select-expanded.select-fill-solid.ion-valid),:host(.has-focus.select-fill-solid.ion-valid),:host(.select-fill-solid.ion-touched.ion-invalid){--border-color:var(--highlight-color)}:host(.select-fill-solid) .select-bottom{border-top:none}@media (any-hover: hover){:host(.select-fill-solid:hover){--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.select-fill-solid.select-expanded),:host(.select-fill-solid.has-focus){--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--highlight-color)}:host(.select-fill-solid) .select-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0px;border-end-start-radius:0px}:host(.label-floating.select-fill-solid) .label-text-wrapper{max-width:calc(100% / 0.75)}:host(.in-item.select-expanded.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.has-focus.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid.select-fill-solid) .select-wrapper .select-icon{color:var(--highlight-color)}:host(.select-fill-outline){--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.select-fill-outline.select-shape-round){--border-radius:28px;--padding-start:32px;--padding-end:32px}:host(.has-focus.select-fill-outline.ion-valid),:host(.select-fill-outline.ion-touched.ion-invalid){--border-color:var(--highlight-color)}@media (any-hover: hover){:host(.select-fill-outline:hover){--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.select-fill-outline.select-expanded),:host(.select-fill-outline.has-focus){--border-width:var(--highlight-height);--border-color:var(--highlight-color)}:host(.select-fill-outline) .select-bottom{border-top:none}:host(.select-fill-outline) .select-wrapper{border-bottom:none}:host(.select-ltr.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-fill-outline.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-fill-outline.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-fill-outline.select-label-placement-floating) .label-text-wrapper{position:absolute;max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.select-fill-outline) .label-text-wrapper{position:relative;z-index:1}:host(.label-floating.select-fill-outline) .label-text-wrapper{-webkit-transform:translateY(-32%) scale(0.75);transform:translateY(-32%) scale(0.75);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;max-width:calc((100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75)}:host(.select-fill-outline.select-label-placement-stacked) select,:host(.select-fill-outline.select-label-placement-floating) select{margin-left:0;margin-right:0;margin-top:6px;margin-bottom:6px}:host(.select-fill-outline) .select-outline-container{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;width:100%;height:100%}:host(.select-fill-outline) .select-outline-start,:host(.select-fill-outline) .select-outline-end{pointer-events:none}:host(.select-fill-outline) .select-outline-start,:host(.select-fill-outline) .select-outline-notch,:host(.select-fill-outline) .select-outline-end{border-top:var(--border-width) var(--border-style) var(--border-color);border-bottom:var(--border-width) var(--border-style) var(--border-color);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.select-fill-outline) .select-outline-notch{max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.select-fill-outline) .notch-spacer{-webkit-padding-end:8px;padding-inline-end:8px;font-size:calc(1em * 0.75);opacity:0;pointer-events:none}:host(.select-fill-outline) .select-outline-start{-webkit-border-start:var(--border-width) var(--border-style) var(--border-color);border-inline-start:var(--border-width) var(--border-style) var(--border-color)}:host(.select-fill-outline) .select-outline-start{border-start-start-radius:var(--border-radius);border-start-end-radius:0px;border-end-end-radius:0px;border-end-start-radius:var(--border-radius)}:host(.select-fill-outline) .select-outline-start{width:calc(var(--padding-start) - 4px)}:host(.select-fill-outline) .select-outline-end{-webkit-border-end:var(--border-width) var(--border-style) var(--border-color);border-inline-end:var(--border-width) var(--border-style) var(--border-color)}:host(.select-fill-outline) .select-outline-end{border-start-start-radius:0px;border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius);border-end-start-radius:0px}:host(.select-fill-outline) .select-outline-end{-ms-flex-positive:1;flex-grow:1}:host(.label-floating.select-fill-outline) .select-outline-notch{border-top:none}:host(.in-item.select-expanded.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.has-focus.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid.select-fill-outline) .select-wrapper .select-icon{color:var(--highlight-color)}:host{--border-width:1px;--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)))));--highlight-height:2px}:host(.select-label-placement-floating.select-expanded) .label-text-wrapper,:host(.select-label-placement-floating.has-focus) .label-text-wrapper,:host(.select-label-placement-stacked.select-expanded) .label-text-wrapper,:host(.select-label-placement-stacked.has-focus) .label-text-wrapper{color:var(--highlight-color)}:host(.has-focus.select-label-placement-floating.ion-valid) .label-text-wrapper,:host(.select-label-placement-floating.ion-touched.ion-invalid) .label-text-wrapper,:host(.has-focus.select-label-placement-stacked.ion-valid) .label-text-wrapper,:host(.select-label-placement-stacked.ion-touched.ion-invalid) .label-text-wrapper{color:var(--highlight-color)}.select-highlight{bottom:-1px;position:absolute;width:100%;height:var(--highlight-height);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 200ms;transition:-webkit-transform 200ms;transition:transform 200ms;transition:transform 200ms, -webkit-transform 200ms;background:var(--highlight-color)}.select-highlight{inset-inline-start:0}:host(.select-expanded) .select-highlight,:host(.has-focus) .select-highlight{-webkit-transform:scale(1);transform:scale(1)}:host(.in-item) .select-highlight{bottom:0}:host(.in-item) .select-highlight{inset-inline-start:0}.select-icon{width:0.8125rem;-webkit-transition:-webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host(.select-expanded:not(.has-expanded-icon)) .select-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.in-item.select-expanded) .select-wrapper .select-icon,:host(.in-item.has-focus) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid) .select-wrapper .select-icon{color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host(.select-expanded) .select-wrapper .select-icon,:host(.has-focus.ion-valid) .select-wrapper .select-icon,:host(.ion-touched.ion-invalid) .select-wrapper .select-icon,:host(.has-focus) .select-wrapper .select-icon{color:var(--highlight-color)}:host(.select-shape-round){--border-radius:16px}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{width:calc(100% - 0.8125rem - 4px)}:host(.select-disabled){opacity:0.38}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:8px;--padding-end:8px;--padding-top:8px;--padding-bottom:8px;aspect-ratio:1;min-height:40px}`;
|
|
37205
36989
|
|
|
37206
36990
|
// TODO(FW-2832): types
|
|
37207
36991
|
/**
|
|
@@ -37236,6 +37020,7 @@ class Select {
|
|
|
37236
37020
|
this.helperTextId = `${this.inputId}-helper-text`;
|
|
37237
37021
|
this.errorTextId = `${this.inputId}-error-text`;
|
|
37238
37022
|
this.inheritedAttributes = {};
|
|
37023
|
+
this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
37239
37024
|
this.isExpanded = false;
|
|
37240
37025
|
/**
|
|
37241
37026
|
* The `hasFocus` state ensures the focus class is
|
|
@@ -37361,9 +37146,40 @@ class Select {
|
|
|
37361
37146
|
this.emitStyle();
|
|
37362
37147
|
}
|
|
37363
37148
|
setValue(value) {
|
|
37149
|
+
if (this.isValueEqual(this.value, value)) {
|
|
37150
|
+
return;
|
|
37151
|
+
}
|
|
37364
37152
|
this.value = value;
|
|
37365
37153
|
this.ionChange.emit({ value });
|
|
37366
37154
|
}
|
|
37155
|
+
isValueEqual(currentValue, newValue) {
|
|
37156
|
+
if (this.multiple) {
|
|
37157
|
+
const currentArr = Array.isArray(currentValue) ? currentValue : [];
|
|
37158
|
+
const newArr = Array.isArray(newValue) ? newValue : [];
|
|
37159
|
+
if (currentArr.length !== newArr.length) {
|
|
37160
|
+
return false;
|
|
37161
|
+
}
|
|
37162
|
+
// Multiset compare: each new value must match a distinct current value.
|
|
37163
|
+
// A plain `every(isOptionSelected)` would accept ['a','a'] as equal to
|
|
37164
|
+
// ['a','b'] when both 'a' and 'b' map to options whose values overlap.
|
|
37165
|
+
const remaining = currentArr.slice();
|
|
37166
|
+
return newArr.every((val) => {
|
|
37167
|
+
const idx = remaining.findIndex((c) => compareOptions(c, val, this.compareWith));
|
|
37168
|
+
if (idx === -1) {
|
|
37169
|
+
return false;
|
|
37170
|
+
}
|
|
37171
|
+
remaining.splice(idx, 1);
|
|
37172
|
+
return true;
|
|
37173
|
+
});
|
|
37174
|
+
}
|
|
37175
|
+
if (currentValue == null && newValue == null) {
|
|
37176
|
+
return true;
|
|
37177
|
+
}
|
|
37178
|
+
if (currentValue == null || newValue == null) {
|
|
37179
|
+
return false;
|
|
37180
|
+
}
|
|
37181
|
+
return compareOptions(currentValue, newValue, this.compareWith);
|
|
37182
|
+
}
|
|
37367
37183
|
async connectedCallback() {
|
|
37368
37184
|
const { el } = this;
|
|
37369
37185
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
@@ -37557,10 +37373,11 @@ class Select {
|
|
|
37557
37373
|
.join(' ');
|
|
37558
37374
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
37559
37375
|
const isSelected = isOptionSelected(selectValue, value, this.compareWith);
|
|
37376
|
+
const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
|
|
37560
37377
|
return {
|
|
37561
|
-
|
|
37562
|
-
text: option.textContent,
|
|
37378
|
+
text: content !== null && content !== void 0 ? content : '',
|
|
37563
37379
|
cssClass: optClass,
|
|
37380
|
+
disabled: option.disabled,
|
|
37564
37381
|
handler: () => {
|
|
37565
37382
|
this.setValue(value);
|
|
37566
37383
|
},
|
|
@@ -37568,6 +37385,9 @@ class Select {
|
|
|
37568
37385
|
'aria-checked': isSelected ? 'true' : 'false',
|
|
37569
37386
|
role: 'radio',
|
|
37570
37387
|
},
|
|
37388
|
+
startContent,
|
|
37389
|
+
endContent,
|
|
37390
|
+
description: option.description,
|
|
37571
37391
|
};
|
|
37572
37392
|
});
|
|
37573
37393
|
// Add "cancel" button
|
|
@@ -37588,13 +37408,19 @@ class Select {
|
|
|
37588
37408
|
.filter((cls) => cls !== 'hydrated')
|
|
37589
37409
|
.join(' ');
|
|
37590
37410
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
37411
|
+
const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
|
|
37591
37412
|
return {
|
|
37592
37413
|
type: inputType,
|
|
37593
37414
|
cssClass: optClass,
|
|
37594
|
-
label:
|
|
37415
|
+
label: content !== null && content !== void 0 ? content : '',
|
|
37595
37416
|
value,
|
|
37596
37417
|
checked: isOptionSelected(selectValue, value, this.compareWith),
|
|
37597
37418
|
disabled: option.disabled,
|
|
37419
|
+
startContent,
|
|
37420
|
+
endContent,
|
|
37421
|
+
description: option.description,
|
|
37422
|
+
labelPlacement: option.labelPlacement,
|
|
37423
|
+
justify: option.justify,
|
|
37598
37424
|
};
|
|
37599
37425
|
});
|
|
37600
37426
|
return alertInputs;
|
|
@@ -37607,8 +37433,9 @@ class Select {
|
|
|
37607
37433
|
.filter((cls) => cls !== 'hydrated')
|
|
37608
37434
|
.join(' ');
|
|
37609
37435
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
37436
|
+
const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
|
|
37610
37437
|
return {
|
|
37611
|
-
text:
|
|
37438
|
+
text: content !== null && content !== void 0 ? content : '',
|
|
37612
37439
|
cssClass: optClass,
|
|
37613
37440
|
value,
|
|
37614
37441
|
checked: isOptionSelected(selectValue, value, this.compareWith),
|
|
@@ -37619,6 +37446,11 @@ class Select {
|
|
|
37619
37446
|
this.close();
|
|
37620
37447
|
}
|
|
37621
37448
|
},
|
|
37449
|
+
startContent,
|
|
37450
|
+
endContent,
|
|
37451
|
+
description: option.description,
|
|
37452
|
+
labelPlacement: option.labelPlacement,
|
|
37453
|
+
justify: option.justify,
|
|
37622
37454
|
};
|
|
37623
37455
|
});
|
|
37624
37456
|
return popoverOptions;
|
|
@@ -37651,15 +37483,21 @@ class Select {
|
|
|
37651
37483
|
ionShadowTarget: this.nativeWrapperEl,
|
|
37652
37484
|
} });
|
|
37653
37485
|
}
|
|
37486
|
+
const options = this.createOverlaySelectOptions(this.childOpts, value);
|
|
37487
|
+
const hasRichContent = options.some((opt) => opt.startContent || opt.endContent || opt.description);
|
|
37654
37488
|
const popoverOpts = Object.assign(Object.assign({ mode,
|
|
37655
37489
|
event, alignment: 'center', size,
|
|
37656
|
-
showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: [
|
|
37490
|
+
showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: [
|
|
37491
|
+
'select-popover',
|
|
37492
|
+
hasRichContent ? 'select-popover-rich-content' : undefined,
|
|
37493
|
+
interfaceOptions.cssClass,
|
|
37494
|
+
], componentProps: {
|
|
37657
37495
|
header: interfaceOptions.header,
|
|
37658
37496
|
subHeader: interfaceOptions.subHeader,
|
|
37659
37497
|
message: interfaceOptions.message,
|
|
37660
37498
|
multiple,
|
|
37661
37499
|
value,
|
|
37662
|
-
options
|
|
37500
|
+
options,
|
|
37663
37501
|
} });
|
|
37664
37502
|
return popoverController.create(popoverOpts);
|
|
37665
37503
|
}
|
|
@@ -37740,12 +37578,18 @@ class Select {
|
|
|
37740
37578
|
}
|
|
37741
37579
|
return;
|
|
37742
37580
|
}
|
|
37743
|
-
|
|
37581
|
+
/**
|
|
37582
|
+
* Returns the text to display in the select based on the selected value.
|
|
37583
|
+
*
|
|
37584
|
+
* @param useHTML If `true`, the returned text will include any custom HTML content from the selected option. If `false`, the returned text will be plain text without any HTML. Defaults to `false`.
|
|
37585
|
+
* @returns The text to display in the select, either with or without HTML based on the `useHTML` parameter.
|
|
37586
|
+
*/
|
|
37587
|
+
getText(useHTML = false) {
|
|
37744
37588
|
const selectedText = this.selectedText;
|
|
37745
37589
|
if (selectedText != null && selectedText !== '') {
|
|
37746
37590
|
return selectedText;
|
|
37747
37591
|
}
|
|
37748
|
-
return generateText(this.childOpts, this.value, this.compareWith);
|
|
37592
|
+
return generateText(this.childOpts, this.value, this.compareWith, useHTML);
|
|
37749
37593
|
}
|
|
37750
37594
|
setFocus() {
|
|
37751
37595
|
if (this.focusEl) {
|
|
@@ -37815,6 +37659,47 @@ class Select {
|
|
|
37815
37659
|
*/
|
|
37816
37660
|
return this.renderLabel();
|
|
37817
37661
|
}
|
|
37662
|
+
/**
|
|
37663
|
+
* Wraps text nodes in the select text with span elements
|
|
37664
|
+
* so spacing can be added between elements without
|
|
37665
|
+
* changing the display to prevent losing the ellipses
|
|
37666
|
+
* behavior.
|
|
37667
|
+
*
|
|
37668
|
+
* Only wraps when the string contains HTML elements
|
|
37669
|
+
* alongside text.
|
|
37670
|
+
*/
|
|
37671
|
+
wrapSelectTextNodes(html) {
|
|
37672
|
+
const temp = document.createElement('div');
|
|
37673
|
+
temp.innerHTML = html;
|
|
37674
|
+
const hasElements = Array.from(temp.childNodes).some((n) => n.nodeType === Node.ELEMENT_NODE);
|
|
37675
|
+
// Return the plain text
|
|
37676
|
+
if (!hasElements) {
|
|
37677
|
+
return html;
|
|
37678
|
+
}
|
|
37679
|
+
Array.from(temp.childNodes).forEach((node) => {
|
|
37680
|
+
var _a, _b, _c, _d;
|
|
37681
|
+
if (node.nodeType === Node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
37682
|
+
const text = node.textContent;
|
|
37683
|
+
/**
|
|
37684
|
+
* Split comma separator from the text content
|
|
37685
|
+
* e.g., ", Bacon" becomes ", " text node + <span>Bacon</span>.
|
|
37686
|
+
*/
|
|
37687
|
+
const commaMatch = text.match(/^(,\s*)(.*)/);
|
|
37688
|
+
if (commaMatch) {
|
|
37689
|
+
const commaNode = document.createTextNode(commaMatch[1]);
|
|
37690
|
+
const wrapper = document.createElement('span');
|
|
37691
|
+
wrapper.textContent = commaMatch[2];
|
|
37692
|
+
(_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(wrapper, node);
|
|
37693
|
+
(_c = wrapper.parentNode) === null || _c === void 0 ? void 0 : _c.insertBefore(commaNode, wrapper);
|
|
37694
|
+
return;
|
|
37695
|
+
}
|
|
37696
|
+
const wrapper = document.createElement('span');
|
|
37697
|
+
(_d = node.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(wrapper, node);
|
|
37698
|
+
wrapper.appendChild(node);
|
|
37699
|
+
}
|
|
37700
|
+
});
|
|
37701
|
+
return temp.innerHTML;
|
|
37702
|
+
}
|
|
37818
37703
|
/**
|
|
37819
37704
|
* Renders either the placeholder
|
|
37820
37705
|
* or the selected values based on
|
|
@@ -37822,7 +37707,7 @@ class Select {
|
|
|
37822
37707
|
*/
|
|
37823
37708
|
renderSelectText() {
|
|
37824
37709
|
const { placeholder } = this;
|
|
37825
|
-
const displayValue = this.getText();
|
|
37710
|
+
const displayValue = this.getText(true);
|
|
37826
37711
|
let addPlaceholderClass = false;
|
|
37827
37712
|
let selectText = displayValue;
|
|
37828
37713
|
if (selectText === '' && placeholder !== undefined) {
|
|
@@ -37834,6 +37719,10 @@ class Select {
|
|
|
37834
37719
|
'select-placeholder': addPlaceholderClass,
|
|
37835
37720
|
};
|
|
37836
37721
|
const textPart = addPlaceholderClass ? 'placeholder' : 'text';
|
|
37722
|
+
if (this.customHTMLEnabled) {
|
|
37723
|
+
const wrapped = this.wrapSelectTextNodes(selectText);
|
|
37724
|
+
return hAsync("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart, innerHTML: wrapped });
|
|
37725
|
+
}
|
|
37837
37726
|
return (hAsync("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart }, selectText));
|
|
37838
37727
|
}
|
|
37839
37728
|
/**
|
|
@@ -37856,6 +37745,7 @@ class Select {
|
|
|
37856
37745
|
get ariaLabel() {
|
|
37857
37746
|
var _a;
|
|
37858
37747
|
const { placeholder, inheritedAttributes } = this;
|
|
37748
|
+
// Get the plain text from the selected text
|
|
37859
37749
|
const displayValue = this.getText();
|
|
37860
37750
|
// The aria label should be preferred over visible text if both are specified
|
|
37861
37751
|
const definedLabel = (_a = inheritedAttributes['aria-label']) !== null && _a !== void 0 ? _a : this.labelText;
|
|
@@ -37949,7 +37839,7 @@ class Select {
|
|
|
37949
37839
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
37950
37840
|
*/
|
|
37951
37841
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
37952
|
-
return (hAsync(Host, { key: '
|
|
37842
|
+
return (hAsync(Host, { key: 'a3036d51e0db13332641e9523264ddd1ab031912', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37953
37843
|
[mode]: true,
|
|
37954
37844
|
'in-item': inItem,
|
|
37955
37845
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -37967,7 +37857,7 @@ class Select {
|
|
|
37967
37857
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
37968
37858
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
37969
37859
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
37970
|
-
}) }, hAsync("label", { key: '
|
|
37860
|
+
}) }, hAsync("label", { key: '58b77f683499b958840721bdb59a9bf822c7f218', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '9e68d96524c1b87d6cb1bdce79fa86f2022be04a', class: "select-wrapper-inner", part: "inner" }, hAsync("slot", { key: 'c9bcc5d684d2cefadff6ad3ec91498d5b405afc5', name: "start" }), hAsync("div", { key: '5405bc15ffb3437ca00c64fbbc83d8eb2631c4ea', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '95e2f041c8517afb1cc6bddb2c3c38cf41f2376e', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'f3d2410f678ea22a107121aea1bbda197a618ed6', class: "select-highlight" })), this.renderBottomContent()));
|
|
37971
37861
|
}
|
|
37972
37862
|
get el() { return getElement(this); }
|
|
37973
37863
|
static get watchers() { return {
|
|
@@ -38038,34 +37928,232 @@ const parseValue = (value) => {
|
|
|
38038
37928
|
}
|
|
38039
37929
|
return value.toString();
|
|
38040
37930
|
};
|
|
38041
|
-
const generateText = (opts, value, compareWith) => {
|
|
37931
|
+
const generateText = (opts, value, compareWith, useHTML = false) => {
|
|
38042
37932
|
if (value === undefined) {
|
|
38043
37933
|
return '';
|
|
38044
37934
|
}
|
|
38045
37935
|
if (Array.isArray(value)) {
|
|
38046
37936
|
return value
|
|
38047
|
-
.map((v) => textForValue(opts, v, compareWith))
|
|
37937
|
+
.map((v) => textForValue(opts, v, compareWith, useHTML))
|
|
38048
37938
|
.filter((opt) => opt !== null)
|
|
38049
37939
|
.join(', ');
|
|
38050
37940
|
}
|
|
38051
37941
|
else {
|
|
38052
|
-
return textForValue(opts, value, compareWith) || '';
|
|
37942
|
+
return textForValue(opts, value, compareWith, useHTML) || '';
|
|
38053
37943
|
}
|
|
38054
37944
|
};
|
|
38055
|
-
|
|
37945
|
+
/**
|
|
37946
|
+
* Returns the display text for a given value from the list of options.
|
|
37947
|
+
* When `useHTML` is true, returns sanitized HTML for the select text.
|
|
37948
|
+
* When `useHTML` is false, returns plain text for aria-label and other
|
|
37949
|
+
* text-only contexts.
|
|
37950
|
+
*
|
|
37951
|
+
* @param opts - The list of ion-select-option elements.
|
|
37952
|
+
* @param value - The value to find the matching option for.
|
|
37953
|
+
* @param compareWith - Custom comparison function or property name.
|
|
37954
|
+
* @param useHTML - If true, returns HTML string. If false, returns plain text.
|
|
37955
|
+
*/
|
|
37956
|
+
const textForValue = (opts, value, compareWith, useHTML = false) => {
|
|
38056
37957
|
const selectOpt = opts.find((opt) => {
|
|
38057
37958
|
return compareOptions(value, getOptionValue(opt), compareWith);
|
|
38058
37959
|
});
|
|
38059
|
-
|
|
37960
|
+
const customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
37961
|
+
if (!selectOpt) {
|
|
37962
|
+
return null;
|
|
37963
|
+
}
|
|
37964
|
+
// Return sanitized HTML for the select text
|
|
37965
|
+
if (customHTMLEnabled && useHTML) {
|
|
37966
|
+
return getOptionContent(selectOpt, undefined, true);
|
|
37967
|
+
}
|
|
37968
|
+
/**
|
|
37969
|
+
* When custom HTML is enabled, extract only the default slot content.
|
|
37970
|
+
* This ensures aria-label and other text-only contexts read only
|
|
37971
|
+
* the relevant option text.
|
|
37972
|
+
*/
|
|
37973
|
+
if (customHTMLEnabled) {
|
|
37974
|
+
const content = getOptionContent(selectOpt);
|
|
37975
|
+
if (typeof content === 'string') {
|
|
37976
|
+
return content;
|
|
37977
|
+
}
|
|
37978
|
+
/**
|
|
37979
|
+
* Elements were found in the default slot, extract and concatenate
|
|
37980
|
+
* their text content while trimming whitespace.
|
|
37981
|
+
*/
|
|
37982
|
+
if (content) {
|
|
37983
|
+
const texts = Array.from(content.childNodes)
|
|
37984
|
+
.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
|
|
37985
|
+
.filter((t) => t);
|
|
37986
|
+
return texts.join(' ') || null;
|
|
37987
|
+
}
|
|
37988
|
+
// Empty option
|
|
37989
|
+
return null;
|
|
37990
|
+
}
|
|
37991
|
+
return getDefaultSlotPlainText(selectOpt);
|
|
37992
|
+
};
|
|
37993
|
+
/**
|
|
37994
|
+
* Trims whitespace from all text nodes within a DOM tree.
|
|
37995
|
+
* This prevents invisible layout shifts and unwanted gaps between
|
|
37996
|
+
* elements when HTML content is injected via innerHTML or cloneNode,
|
|
37997
|
+
* as browsers preserve whitespace (tabs, newlines, spaces) from
|
|
37998
|
+
* the original source markup.
|
|
37999
|
+
*
|
|
38000
|
+
* @param node The root node to start trimming text nodes from.
|
|
38001
|
+
*/
|
|
38002
|
+
const trimTextNodes = (node) => {
|
|
38003
|
+
node.childNodes.forEach((child) => {
|
|
38004
|
+
var _a;
|
|
38005
|
+
if (child.nodeType === Node.TEXT_NODE) {
|
|
38006
|
+
child.textContent = ((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
|
|
38007
|
+
}
|
|
38008
|
+
else if (child.nodeType === Node.ELEMENT_NODE) {
|
|
38009
|
+
trimTextNodes(child);
|
|
38010
|
+
}
|
|
38011
|
+
});
|
|
38012
|
+
};
|
|
38013
|
+
/**
|
|
38014
|
+
* Extracts and clones content from an `ion-select-option` element
|
|
38015
|
+
* for rendering within overlay interfaces or the select text when `customHTMLEnabled` is `true`.
|
|
38016
|
+
*
|
|
38017
|
+
* @param option - The `ion-select-option` element to extract content from.
|
|
38018
|
+
* @param slotName - Optional slot name to extract. If omitted, extracts the default slot content.
|
|
38019
|
+
* @param useHTML - If `true`, the returned string will include any custom HTML content. If `false`, the returned string will be plain text without any HTML.
|
|
38020
|
+
* @returns When `useHTML` is `true`, a sanitized HTML string. When `false`, a
|
|
38021
|
+
* div element containing cloned child nodes. Returns `null` if no matching
|
|
38022
|
+
* content is found.
|
|
38023
|
+
*/
|
|
38024
|
+
const getOptionContent = (option, slotName, useHTML = false) => {
|
|
38025
|
+
let nodes;
|
|
38026
|
+
if (slotName) {
|
|
38027
|
+
// Named slot: get elements with matching slot attribute
|
|
38028
|
+
nodes = Array.from(option.children).filter((el) => el.getAttribute('slot') === slotName);
|
|
38029
|
+
}
|
|
38030
|
+
else {
|
|
38031
|
+
// Default slot: get nodes without a slot attribute
|
|
38032
|
+
const defaultSlot = getOptionDefaultSlot(option) || [];
|
|
38033
|
+
nodes = defaultSlot.filter((node) => {
|
|
38034
|
+
var _a;
|
|
38035
|
+
/**
|
|
38036
|
+
* Exclude whitespace-only text nodes (newline noise between
|
|
38037
|
+
* markup elements). Element nodes are always kept, even when
|
|
38038
|
+
* their textContent is empty (e.g. <svg>, <img>).
|
|
38039
|
+
*/
|
|
38040
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
38041
|
+
return ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim().length) !== 0;
|
|
38042
|
+
}
|
|
38043
|
+
return true;
|
|
38044
|
+
});
|
|
38045
|
+
}
|
|
38046
|
+
if (nodes.length === 0) {
|
|
38047
|
+
return null;
|
|
38048
|
+
}
|
|
38049
|
+
// Return plain text if no elements are found
|
|
38050
|
+
if (!slotName && nodes.every((n) => n.nodeType === Node.TEXT_NODE)) {
|
|
38051
|
+
return nodes.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); }).join(' ') || null;
|
|
38052
|
+
}
|
|
38053
|
+
/**
|
|
38054
|
+
* Mirror known custom-element properties (e.g. ion-icon's `icon`)
|
|
38055
|
+
* onto attributes before cloning. Frameworks like Vue set these as
|
|
38056
|
+
* DOM properties, which `cloneNode` doesn't copy, so without this
|
|
38057
|
+
* step the cloned overlay copy renders without the prop's value.
|
|
38058
|
+
*/
|
|
38059
|
+
nodes.forEach((n) => {
|
|
38060
|
+
if (n.nodeType === Node.ELEMENT_NODE) {
|
|
38061
|
+
reflectPropertiesToAttributes(n);
|
|
38062
|
+
}
|
|
38063
|
+
});
|
|
38064
|
+
// Clone each node into a temporary container
|
|
38065
|
+
const container = document.createElement('div');
|
|
38066
|
+
nodes.forEach((n) => {
|
|
38067
|
+
var _a;
|
|
38068
|
+
const clone = n.cloneNode(true);
|
|
38069
|
+
if (clone.nodeType === Node.TEXT_NODE) {
|
|
38070
|
+
clone.textContent = ((_a = clone.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
|
|
38071
|
+
}
|
|
38072
|
+
else {
|
|
38073
|
+
trimTextNodes(clone);
|
|
38074
|
+
}
|
|
38075
|
+
container.appendChild(clone);
|
|
38076
|
+
});
|
|
38077
|
+
/**
|
|
38078
|
+
* Sanitize the cloned DOM in place. Trusted attributes (size, color,
|
|
38079
|
+
* shape, etc.) are preserved; event handlers, javascript: URLs, and
|
|
38080
|
+
* blocked tags are stripped.
|
|
38081
|
+
*/
|
|
38082
|
+
sanitizeDOMTree(container);
|
|
38083
|
+
if (useHTML) {
|
|
38084
|
+
return container.innerHTML.trim() || null;
|
|
38085
|
+
}
|
|
38086
|
+
return container;
|
|
38087
|
+
};
|
|
38088
|
+
/**
|
|
38089
|
+
* Returns the child nodes that belong to the default slot of an
|
|
38090
|
+
* option element, excluding any nodes that are assigned to named
|
|
38091
|
+
* slots.
|
|
38092
|
+
*
|
|
38093
|
+
* @param option - The `ion-select-option` element to extract default-slot nodes from.
|
|
38094
|
+
* @returns An array of default slot nodes, or `null` if none are found.
|
|
38095
|
+
*/
|
|
38096
|
+
const getOptionDefaultSlot = (option) => {
|
|
38097
|
+
const defaultSlotNodes = Array.from(option.childNodes).filter((node) => {
|
|
38098
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
38099
|
+
return !node.hasAttribute('slot');
|
|
38100
|
+
}
|
|
38101
|
+
return node.nodeType === Node.TEXT_NODE;
|
|
38102
|
+
});
|
|
38103
|
+
if (defaultSlotNodes.length === 0) {
|
|
38104
|
+
return null;
|
|
38105
|
+
}
|
|
38106
|
+
return defaultSlotNodes;
|
|
38107
|
+
};
|
|
38108
|
+
/**
|
|
38109
|
+
* Extracts plain text from only the default slot of an option,
|
|
38110
|
+
* excluding content assigned to named slots (start/end).
|
|
38111
|
+
*/
|
|
38112
|
+
const getDefaultSlotPlainText = (option) => {
|
|
38113
|
+
const texts = Array.from(option.childNodes)
|
|
38114
|
+
.filter((node) => {
|
|
38115
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
38116
|
+
return !node.hasAttribute('slot');
|
|
38117
|
+
}
|
|
38118
|
+
return node.nodeType === Node.TEXT_NODE;
|
|
38119
|
+
})
|
|
38120
|
+
.filter((node) => node.nodeType === Node.TEXT_NODE)
|
|
38121
|
+
.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
|
|
38122
|
+
.filter((t) => t);
|
|
38123
|
+
return texts.join(' ');
|
|
38124
|
+
};
|
|
38125
|
+
/**
|
|
38126
|
+
* Extracts the rich content from an `ion-select-option`.
|
|
38127
|
+
* When `customHTMLEnabled` is `false`, only the plain text from the
|
|
38128
|
+
* default slot is read and the start and end slots are skipped.
|
|
38129
|
+
*
|
|
38130
|
+
* @param option - The `ion-select-option` element to extract content from.
|
|
38131
|
+
* @param customHTMLEnabled - Whether custom HTML rendering is enabled
|
|
38132
|
+
* via the `innerHTMLTemplatesEnabled` config.
|
|
38133
|
+
*/
|
|
38134
|
+
const extractOptionContent = (option, customHTMLEnabled) => {
|
|
38135
|
+
var _a, _b;
|
|
38136
|
+
if (!customHTMLEnabled) {
|
|
38137
|
+
return {
|
|
38138
|
+
content: getDefaultSlotPlainText(option),
|
|
38139
|
+
startContent: undefined,
|
|
38140
|
+
endContent: undefined,
|
|
38141
|
+
};
|
|
38142
|
+
}
|
|
38143
|
+
return {
|
|
38144
|
+
content: getOptionContent(option),
|
|
38145
|
+
startContent: (_a = getOptionContent(option, 'start')) !== null && _a !== void 0 ? _a : undefined,
|
|
38146
|
+
endContent: (_b = getOptionContent(option, 'end')) !== null && _b !== void 0 ? _b : undefined,
|
|
38147
|
+
};
|
|
38060
38148
|
};
|
|
38061
38149
|
let selectIds = 0;
|
|
38062
38150
|
const OPTION_CLASS = 'select-interface-option';
|
|
38063
38151
|
|
|
38064
|
-
const ionicSelectModalMdCss = () => `.sc-ion-select-modal-ionic-h{height:100%}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="container"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
|
|
38152
|
+
const ionicSelectModalMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ionic,.alert-radio-label-has-rich-content.sc-ion-select-modal-ionic,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ionic,.select-option-label-has-rich-content.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ionic,.alert-radio-label-has-rich-content.sc-ion-select-modal-ionic,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ionic,.select-option-content.sc-ion-select-modal-ionic{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-ionic,.alert-checkbox-label-text.sc-ion-select-modal-ionic,.alert-radio-label-text.sc-ion-select-modal-ionic,.select-option-label-text.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-modal-ionic{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-modal-ionic:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-ionic::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-ionic [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ionic::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ionic [part~="label"],.select-option-content.sc-ion-select-modal-ionic{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-modal-ionic>ion-avatar.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-avatar.sc-ion-select-modal-ionic{width:40px;height:40px}.select-option-start.sc-ion-select-modal-ionic>ion-icon.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-icon.sc-ion-select-modal-ionic{width:24px;height:24px}.select-option-start.sc-ion-select-modal-ionic>ion-img.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>img.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>svg.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>ion-thumbnail.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-img.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>img.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>svg.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-thumbnail.sc-ion-select-modal-ionic{width:56px;height:56px}.select-option-start.sc-ion-select-modal-ionic>video.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>video.sc-ion-select-modal-ionic{width:114px;height:56px}.sc-ion-select-modal-ionic-h{height:100%}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="container"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
|
|
38065
38153
|
|
|
38066
|
-
const selectModalIosCss = () => `.sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:""}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}`;
|
|
38154
|
+
const selectModalIosCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ios,.alert-radio-label-has-rich-content.sc-ion-select-modal-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ios,.select-option-label-has-rich-content.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ios,.alert-radio-label-has-rich-content.sc-ion-select-modal-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ios,.select-option-content.sc-ion-select-modal-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-ios,.alert-checkbox-label-text.sc-ion-select-modal-ios,.alert-radio-label-text.sc-ion-select-modal-ios,.select-option-label-text.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-modal-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-modal-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ios [part~="label"],.select-option-content.sc-ion-select-modal-ios{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-modal-ios>ion-avatar.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>ion-img.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>ion-thumbnail.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>img.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>svg.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-avatar.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-img.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-thumbnail.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>img.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>svg.sc-ion-select-modal-ios{width:44px;height:44px}.select-option-start.sc-ion-select-modal-ios>ion-icon.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-icon.sc-ion-select-modal-ios{width:28px;height:28px}.action-sheet-button-label-text.sc-ion-select-modal-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-select-modal-ios{-webkit-padding-end:16px;padding-inline-end:16px}.sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:""}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}`;
|
|
38067
38155
|
|
|
38068
|
-
const selectModalMdCss = () => `.sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="container"]{display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
|
|
38156
|
+
const selectModalMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-modal-md,.alert-radio-label-has-rich-content.sc-ion-select-modal-md,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-md,.select-option-label-has-rich-content.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-md,.alert-radio-label-has-rich-content.sc-ion-select-modal-md,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-md,.select-option-content.sc-ion-select-modal-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-md,.alert-checkbox-label-text.sc-ion-select-modal-md,.alert-radio-label-text.sc-ion-select-modal-md,.select-option-label-text.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-modal-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-modal-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-md [part~="label"],.select-option-content.sc-ion-select-modal-md{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-modal-md>ion-avatar.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-avatar.sc-ion-select-modal-md{width:40px;height:40px}.select-option-start.sc-ion-select-modal-md>ion-icon.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-icon.sc-ion-select-modal-md{width:24px;height:24px}.select-option-start.sc-ion-select-modal-md>ion-img.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>img.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>svg.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>ion-thumbnail.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-img.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>img.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>svg.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-thumbnail.sc-ion-select-modal-md{width:56px;height:56px}.select-option-start.sc-ion-select-modal-md>video.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>video.sc-ion-select-modal-md{width:114px;height:56px}.sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="container"]{display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
|
|
38069
38157
|
|
|
38070
38158
|
class SelectModal {
|
|
38071
38159
|
constructor(hostRef) {
|
|
@@ -38119,39 +38207,90 @@ class SelectModal {
|
|
|
38119
38207
|
}
|
|
38120
38208
|
}
|
|
38121
38209
|
renderRadioOptions() {
|
|
38210
|
+
const mode = getIonMode$1(this);
|
|
38122
38211
|
const checked = this.options.filter((o) => o.checked).map((o) => o.value)[0];
|
|
38123
|
-
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) =>
|
|
38212
|
+
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option, index) => {
|
|
38213
|
+
var _a, _b;
|
|
38214
|
+
/**
|
|
38215
|
+
* Cast to `SelectOverlayOption` to access rich content
|
|
38216
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
38217
|
+
* that are passed through from `ion-select` but not
|
|
38218
|
+
* part of the public `SelectModalOption` interface.
|
|
38219
|
+
*/
|
|
38220
|
+
const richOption = option;
|
|
38221
|
+
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
38222
|
+
const optionLabelOptions = {
|
|
38223
|
+
id: `modal-option-${index}`,
|
|
38224
|
+
label: richOption.text,
|
|
38225
|
+
startContent: richOption.startContent,
|
|
38226
|
+
endContent: richOption.endContent,
|
|
38227
|
+
description: richOption.description,
|
|
38228
|
+
};
|
|
38229
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'radio', 'modal');
|
|
38230
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'radio', 'modal');
|
|
38231
|
+
return (hAsync("ion-item", { lines: "none",
|
|
38124
38232
|
// TODO FW-4784
|
|
38125
|
-
|
|
38126
|
-
|
|
38127
|
-
|
|
38128
|
-
|
|
38129
|
-
|
|
38130
|
-
|
|
38131
|
-
|
|
38132
|
-
|
|
38133
|
-
|
|
38134
|
-
}
|
|
38135
|
-
|
|
38136
|
-
|
|
38137
|
-
this.pendingEnterTarget = null;
|
|
38138
|
-
if (shouldClose) {
|
|
38233
|
+
disabled: option.disabled, class: Object.assign({
|
|
38234
|
+
// TODO FW-4784
|
|
38235
|
+
'item-radio-checked': option.value === checked
|
|
38236
|
+
}, getClassMap(option.cssClass)) }, hAsync("ion-radio", { class: {
|
|
38237
|
+
'select-option-has-rich-content': hasRichContent,
|
|
38238
|
+
}, value: option.value, disabled: option.disabled, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : defaultJustify, labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : defaultLabelPlacement, onClick: () => this.closeModal(), onKeyDown: (ev) => {
|
|
38239
|
+
if (ev.key === 'Enter' && !ev.repeat) {
|
|
38240
|
+
this.pendingEnterTarget = ev.currentTarget;
|
|
38241
|
+
}
|
|
38242
|
+
}, onKeyUp: (ev) => {
|
|
38243
|
+
if (ev.key === ' ') {
|
|
38244
|
+
// Space selects and dismisses in one press.
|
|
38139
38245
|
this.closeModal();
|
|
38140
38246
|
}
|
|
38141
|
-
|
|
38142
|
-
|
|
38247
|
+
else if (ev.key === 'Enter') {
|
|
38248
|
+
const shouldClose = this.pendingEnterTarget === ev.currentTarget;
|
|
38249
|
+
this.pendingEnterTarget = null;
|
|
38250
|
+
if (shouldClose) {
|
|
38251
|
+
this.closeModal();
|
|
38252
|
+
}
|
|
38253
|
+
}
|
|
38254
|
+
} }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
|
|
38255
|
+
})));
|
|
38143
38256
|
}
|
|
38144
38257
|
renderCheckboxOptions() {
|
|
38145
|
-
|
|
38258
|
+
const mode = getIonMode$1(this);
|
|
38259
|
+
return this.options.map((option, index) => {
|
|
38260
|
+
var _a, _b;
|
|
38261
|
+
/**
|
|
38262
|
+
* Cast to `SelectOverlayOption` to access rich content
|
|
38263
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
38264
|
+
* that are passed through from `ion-select` but not
|
|
38265
|
+
* part of the public `SelectModalOption` interface.
|
|
38266
|
+
*/
|
|
38267
|
+
const richOption = option;
|
|
38268
|
+
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
38269
|
+
const optionLabelOptions = {
|
|
38270
|
+
id: `modal-option-${index}`,
|
|
38271
|
+
label: richOption.text,
|
|
38272
|
+
startContent: richOption.startContent,
|
|
38273
|
+
endContent: richOption.endContent,
|
|
38274
|
+
description: richOption.description,
|
|
38275
|
+
};
|
|
38276
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox', 'modal');
|
|
38277
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'checkbox', 'modal');
|
|
38278
|
+
return (hAsync("ion-item", {
|
|
38146
38279
|
// TODO FW-4784
|
|
38147
|
-
|
|
38148
|
-
|
|
38149
|
-
|
|
38150
|
-
|
|
38151
|
-
}
|
|
38280
|
+
disabled: option.disabled, class: Object.assign({
|
|
38281
|
+
// TODO FW-4784
|
|
38282
|
+
'item-checkbox-checked': option.checked
|
|
38283
|
+
}, getClassMap(option.cssClass))
|
|
38284
|
+
}, hAsync("ion-checkbox", { class: {
|
|
38285
|
+
'select-option-has-rich-content': hasRichContent,
|
|
38286
|
+
}, value: option.value, disabled: option.disabled, checked: option.checked, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : defaultJustify, labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : defaultLabelPlacement, onIonChange: (ev) => {
|
|
38287
|
+
this.setChecked(ev);
|
|
38288
|
+
this.callOptionHandler(ev);
|
|
38289
|
+
} }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
|
|
38290
|
+
});
|
|
38152
38291
|
}
|
|
38153
38292
|
render() {
|
|
38154
|
-
return (hAsync(Host, { key: '
|
|
38293
|
+
return (hAsync(Host, { key: '2cb1ae057b7a66f5d12c926f618f6b945f019803', class: getIonMode$1(this) }, hAsync("ion-header", { key: 'e41f1c4ad1c71dcc927d210502d6366cea894a14' }, hAsync("ion-toolbar", { key: '1a191dfc8980541469ee4d8996ba4de52cac1ac5' }, this.header !== undefined && hAsync("ion-title", { key: '14ab9cb7d41d15b982c6ccd8ba6cee0e9cb528d9' }, this.header), hAsync("ion-buttons", { key: '80451a2ed3a82138eb1575135cf2ebbd5e8f6e60', slot: "end" }, hAsync("ion-button", { key: '01a315cd739569f3c0b23a4d243d52b69b63dfa7', onClick: () => this.closeModal() }, this.cancelText)))), hAsync("ion-content", { key: 'd953101bae9a91f8108f7a5e411bb1e34338655d' }, hAsync("ion-list", { key: '171a5668afc67b03d2ee87e91cf400b17541bc7f' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
38155
38294
|
}
|
|
38156
38295
|
get el() { return getElement(this); }
|
|
38157
38296
|
static get style() { return {
|
|
@@ -38176,17 +38315,24 @@ class SelectModal {
|
|
|
38176
38315
|
|
|
38177
38316
|
const selectOptionCss = () => `:host{display:none}`;
|
|
38178
38317
|
|
|
38318
|
+
/**
|
|
38319
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
38320
|
+
*
|
|
38321
|
+
* @slot - Content is placed between the named slots if provided without a slot.
|
|
38322
|
+
* @slot start - Content is placed to the left of the select option text in LTR, and to the right in RTL.
|
|
38323
|
+
* @slot end - Content is placed to the right of the select option text in LTR, and to the left in RTL.
|
|
38324
|
+
*/
|
|
38179
38325
|
class SelectOption {
|
|
38180
38326
|
constructor(hostRef) {
|
|
38181
38327
|
registerInstance(this, hostRef);
|
|
38182
38328
|
this.inputId = `ion-selopt-${selectOptionIds++}`;
|
|
38183
38329
|
/**
|
|
38184
|
-
* If `true`, the user cannot interact with the select option.
|
|
38330
|
+
* If `true`, the user cannot interact with the select option.
|
|
38185
38331
|
*/
|
|
38186
38332
|
this.disabled = false;
|
|
38187
38333
|
}
|
|
38188
38334
|
render() {
|
|
38189
|
-
return hAsync(Host, { key: '
|
|
38335
|
+
return hAsync(Host, { key: '8b8bef0f5a55f18048708c34d3ea3ff0ff2f1d47', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
38190
38336
|
}
|
|
38191
38337
|
get el() { return getElement(this); }
|
|
38192
38338
|
static get style() { return selectOptionCss(); }
|
|
@@ -38195,7 +38341,10 @@ class SelectOption {
|
|
|
38195
38341
|
"$tagName$": "ion-select-option",
|
|
38196
38342
|
"$members$": {
|
|
38197
38343
|
"disabled": [4],
|
|
38198
|
-
"value": [8]
|
|
38344
|
+
"value": [8],
|
|
38345
|
+
"description": [1],
|
|
38346
|
+
"labelPlacement": [1, "label-placement"],
|
|
38347
|
+
"justify": [1]
|
|
38199
38348
|
},
|
|
38200
38349
|
"$listeners$": undefined,
|
|
38201
38350
|
"$lazyBundleId$": "-",
|
|
@@ -38204,9 +38353,9 @@ class SelectOption {
|
|
|
38204
38353
|
}
|
|
38205
38354
|
let selectOptionIds = 0;
|
|
38206
38355
|
|
|
38207
|
-
const selectPopoverIosCss = () => `.sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ios-h{overflow-y:auto}`;
|
|
38356
|
+
const selectPopoverIosCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-popover-ios,.alert-radio-label-has-rich-content.sc-ion-select-popover-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-ios,.select-option-label-has-rich-content.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-popover-ios,.alert-radio-label-has-rich-content.sc-ion-select-popover-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-ios,.select-option-content.sc-ion-select-popover-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-popover-ios,.alert-checkbox-label-text.sc-ion-select-popover-ios,.alert-radio-label-text.sc-ion-select-popover-ios,.select-option-label-text.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-popover-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-popover-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-popover-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-popover-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-ios [part~="label"],.select-option-content.sc-ion-select-popover-ios{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-popover-ios>ion-avatar.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>ion-img.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>ion-thumbnail.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>img.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>svg.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-avatar.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-img.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-thumbnail.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>img.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>svg.sc-ion-select-popover-ios{width:44px;height:44px}.select-option-start.sc-ion-select-popover-ios>ion-icon.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-icon.sc-ion-select-popover-ios{width:28px;height:28px}.action-sheet-button-label-text.sc-ion-select-popover-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-select-popover-ios{-webkit-padding-end:16px;padding-inline-end:16px}.sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ios-h{overflow-y:auto}`;
|
|
38208
38357
|
|
|
38209
|
-
const selectPopoverMdCss = () => `.sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-md-h{overflow-y:auto}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="container"]{display:none}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(label),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
|
|
38358
|
+
const selectPopoverMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-popover-md,.alert-radio-label-has-rich-content.sc-ion-select-popover-md,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-md,.select-option-label-has-rich-content.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-popover-md,.alert-radio-label-has-rich-content.sc-ion-select-popover-md,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-md,.select-option-content.sc-ion-select-popover-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-popover-md,.alert-checkbox-label-text.sc-ion-select-popover-md,.alert-radio-label-text.sc-ion-select-popover-md,.select-option-label-text.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-popover-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-popover-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-popover-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-popover-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-md [part~="label"],.select-option-content.sc-ion-select-popover-md{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-popover-md>ion-avatar.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-avatar.sc-ion-select-popover-md{width:40px;height:40px}.select-option-start.sc-ion-select-popover-md>ion-icon.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-icon.sc-ion-select-popover-md{width:24px;height:24px}.select-option-start.sc-ion-select-popover-md>ion-img.sc-ion-select-popover-md,.select-option-start.sc-ion-select-popover-md>img.sc-ion-select-popover-md,.select-option-start.sc-ion-select-popover-md>svg.sc-ion-select-popover-md,.select-option-start.sc-ion-select-popover-md>ion-thumbnail.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-img.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>img.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>svg.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-thumbnail.sc-ion-select-popover-md{width:56px;height:56px}.select-option-start.sc-ion-select-popover-md>video.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>video.sc-ion-select-popover-md{width:114px;height:56px}.sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-md-h{overflow-y:auto}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="container"]{display:none}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(label),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
|
|
38210
38359
|
|
|
38211
38360
|
/**
|
|
38212
38361
|
* @internal
|
|
@@ -38280,41 +38429,91 @@ class SelectPopover {
|
|
|
38280
38429
|
}
|
|
38281
38430
|
}
|
|
38282
38431
|
renderCheckboxOptions(options) {
|
|
38283
|
-
|
|
38432
|
+
const mode = getIonMode$1(this);
|
|
38433
|
+
return options.map((option, index) => {
|
|
38434
|
+
var _a, _b;
|
|
38435
|
+
/**
|
|
38436
|
+
* Cast to `SelectOverlayOption` to access rich content
|
|
38437
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
38438
|
+
* that are passed through from `ion-select` but not
|
|
38439
|
+
* part of the public `SelectPopoverOption` interface.
|
|
38440
|
+
*/
|
|
38441
|
+
const richOption = option;
|
|
38442
|
+
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
38443
|
+
const optionLabelOptions = {
|
|
38444
|
+
id: `popover-option-${index}`,
|
|
38445
|
+
label: richOption.text,
|
|
38446
|
+
startContent: richOption.startContent,
|
|
38447
|
+
endContent: richOption.endContent,
|
|
38448
|
+
description: richOption.description,
|
|
38449
|
+
};
|
|
38450
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox');
|
|
38451
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'checkbox');
|
|
38452
|
+
return (hAsync("ion-item", {
|
|
38284
38453
|
// TODO FW-4784
|
|
38285
|
-
|
|
38286
|
-
|
|
38287
|
-
|
|
38288
|
-
|
|
38289
|
-
}
|
|
38454
|
+
disabled: option.disabled, class: Object.assign({
|
|
38455
|
+
// TODO FW-4784
|
|
38456
|
+
'item-checkbox-checked': option.checked
|
|
38457
|
+
}, getClassMap(option.cssClass))
|
|
38458
|
+
}, hAsync("ion-checkbox", { class: {
|
|
38459
|
+
'select-option-has-rich-content': hasRichContent,
|
|
38460
|
+
}, value: option.value, disabled: option.disabled, checked: option.checked, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : defaultJustify, labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : defaultLabelPlacement, onIonChange: (ev) => {
|
|
38461
|
+
this.setChecked(ev);
|
|
38462
|
+
this.callOptionHandler(ev);
|
|
38463
|
+
} }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
|
|
38464
|
+
});
|
|
38290
38465
|
}
|
|
38291
38466
|
renderRadioOptions(options) {
|
|
38467
|
+
const mode = getIonMode$1(this);
|
|
38292
38468
|
const checked = options.filter((o) => o.checked).map((o) => o.value)[0];
|
|
38293
|
-
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option) =>
|
|
38469
|
+
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option, index) => {
|
|
38470
|
+
var _a, _b;
|
|
38471
|
+
/**
|
|
38472
|
+
* Cast to `SelectOverlayOption` to access rich content
|
|
38473
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
38474
|
+
* that are passed through from `ion-select` but not
|
|
38475
|
+
* part of the public `SelectPopoverOption` interface.
|
|
38476
|
+
*/
|
|
38477
|
+
const richOption = option;
|
|
38478
|
+
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
38479
|
+
const optionLabelOptions = {
|
|
38480
|
+
id: `popover-option-${index}`,
|
|
38481
|
+
label: richOption.text,
|
|
38482
|
+
startContent: richOption.startContent,
|
|
38483
|
+
endContent: richOption.endContent,
|
|
38484
|
+
description: richOption.description,
|
|
38485
|
+
};
|
|
38486
|
+
return (hAsync("ion-item", {
|
|
38294
38487
|
// TODO FW-4784
|
|
38295
|
-
|
|
38296
|
-
|
|
38297
|
-
|
|
38298
|
-
|
|
38299
|
-
|
|
38300
|
-
|
|
38301
|
-
|
|
38302
|
-
|
|
38303
|
-
|
|
38304
|
-
|
|
38305
|
-
|
|
38306
|
-
|
|
38307
|
-
|
|
38308
|
-
if (shouldDismiss) {
|
|
38488
|
+
disabled: option.disabled, class: Object.assign({
|
|
38489
|
+
// TODO FW-4784
|
|
38490
|
+
'item-radio-checked': option.value === checked
|
|
38491
|
+
}, getClassMap(option.cssClass))
|
|
38492
|
+
}, hAsync("ion-radio", { class: {
|
|
38493
|
+
'select-option-has-rich-content': hasRichContent,
|
|
38494
|
+
}, value: option.value, disabled: option.disabled, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : getOverlayLabelJustify(mode, 'radio'), labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : getOverlayLabelPlacement(mode, 'radio'), onClick: () => this.dismissParentPopover(), onKeyDown: (ev) => {
|
|
38495
|
+
if (ev.key === 'Enter' && !ev.repeat) {
|
|
38496
|
+
this.pendingEnterTarget = ev.currentTarget;
|
|
38497
|
+
}
|
|
38498
|
+
}, onKeyUp: (ev) => {
|
|
38499
|
+
if (ev.key === ' ') {
|
|
38500
|
+
// Space selects and dismisses in one press.
|
|
38309
38501
|
this.dismissParentPopover();
|
|
38310
38502
|
}
|
|
38311
|
-
|
|
38312
|
-
|
|
38503
|
+
else if (ev.key === 'Enter') {
|
|
38504
|
+
const shouldDismiss = this.pendingEnterTarget === ev.currentTarget;
|
|
38505
|
+
this.pendingEnterTarget = null;
|
|
38506
|
+
if (shouldDismiss) {
|
|
38507
|
+
this.dismissParentPopover();
|
|
38508
|
+
}
|
|
38509
|
+
}
|
|
38510
|
+
} }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
|
|
38511
|
+
})));
|
|
38313
38512
|
}
|
|
38314
38513
|
render() {
|
|
38315
38514
|
const { header, message, options, subHeader } = this;
|
|
38316
38515
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
38317
|
-
return (hAsync(Host, { key: '
|
|
38516
|
+
return (hAsync(Host, { key: 'd0c107e0ca78955a3cfcd9f098a527fb35eff14d', class: getIonMode$1(this) }, hAsync("ion-list", { key: '1e103312e22bf78d2201a0f88cc4fed789f62a2b' }, header !== undefined && hAsync("ion-list-header", { key: '657439905dc480112ed8d7f8d4a01464724de2bd' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'e0eaa0250bf233cf846adba5ddc141bf3430c2a8' }, hAsync("ion-label", { key: 'ad1cff877f9d582fbc64f9049603146fd1a1a6f9', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'ead921d395b614a99c89a8ffe2a102a620f80767' }, subHeader), message !== undefined && hAsync("p", { key: '3a47e7091528930f33324ccd04d6734217155244' }, message)))), this.renderOptions(options))));
|
|
38318
38517
|
}
|
|
38319
38518
|
get el() { return getElement(this); }
|
|
38320
38519
|
static get style() { return {
|
|
@@ -38364,11 +38563,11 @@ class SkeletonText {
|
|
|
38364
38563
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
38365
38564
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
38366
38565
|
const mode = getIonMode$1(this);
|
|
38367
|
-
return (hAsync(Host, { key: '
|
|
38566
|
+
return (hAsync(Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
|
|
38368
38567
|
[mode]: true,
|
|
38369
38568
|
'skeleton-text-animated': animated,
|
|
38370
38569
|
'in-media': inMedia,
|
|
38371
|
-
} }, hAsync("span", { key: '
|
|
38570
|
+
} }, hAsync("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
|
|
38372
38571
|
}
|
|
38373
38572
|
get el() { return getElement(this); }
|
|
38374
38573
|
static get style() { return skeletonTextCss(); }
|
|
@@ -38420,7 +38619,7 @@ class Spinner {
|
|
|
38420
38619
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
38421
38620
|
}
|
|
38422
38621
|
}
|
|
38423
|
-
return (hAsync(Host, { key: '
|
|
38622
|
+
return (hAsync(Host, { key: 'c35ebd01186e860acb9cac260193f0836424fdf4', class: createColorClasses$1(self.color, {
|
|
38424
38623
|
[mode]: true,
|
|
38425
38624
|
[`spinner-${spinnerName}`]: true,
|
|
38426
38625
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -38519,12 +38718,12 @@ class SplitPane {
|
|
|
38519
38718
|
}
|
|
38520
38719
|
render() {
|
|
38521
38720
|
const mode = getIonMode$1(this);
|
|
38522
|
-
return (hAsync(Host, { key: '
|
|
38721
|
+
return (hAsync(Host, { key: '694e989fafcfe2453e0a83b3cb736efaa1eb4fec', class: {
|
|
38523
38722
|
[mode]: true,
|
|
38524
38723
|
// Used internally for styling
|
|
38525
38724
|
[`split-pane-${mode}`]: true,
|
|
38526
38725
|
'split-pane-visible': this.visible,
|
|
38527
|
-
} }, hAsync("slot", { key: '
|
|
38726
|
+
} }, hAsync("slot", { key: 'dde7e9382b62cc11971aa233cf98c2314ae4f720' })));
|
|
38528
38727
|
}
|
|
38529
38728
|
get el() { return getElement(this); }
|
|
38530
38729
|
static get watchers() { return {
|
|
@@ -38596,10 +38795,10 @@ class Tab {
|
|
|
38596
38795
|
}
|
|
38597
38796
|
render() {
|
|
38598
38797
|
const { tab, active, component } = this;
|
|
38599
|
-
return (hAsync(Host, { key: '
|
|
38798
|
+
return (hAsync(Host, { key: '745262368a7f45244da459f4fa1730a46dd3e257', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
38600
38799
|
'ion-page': component === undefined,
|
|
38601
38800
|
'tab-hidden': !active,
|
|
38602
|
-
} }, hAsync("slot", { key: '
|
|
38801
|
+
} }, hAsync("slot", { key: '823d09a6f93bf7c0dc74f2b8717d1d3a62df1ad8' })));
|
|
38603
38802
|
}
|
|
38604
38803
|
get el() { return getElement(this); }
|
|
38605
38804
|
static get watchers() { return {
|
|
@@ -38713,11 +38912,11 @@ class TabBar {
|
|
|
38713
38912
|
const { color, translucent, keyboardVisible } = this;
|
|
38714
38913
|
const mode = getIonMode$1(this);
|
|
38715
38914
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
38716
|
-
return (hAsync(Host, { key: '
|
|
38915
|
+
return (hAsync(Host, { key: '148f65df0818e9d220a9b46db74cb89ab94e62d2', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
38717
38916
|
[mode]: true,
|
|
38718
38917
|
'tab-bar-translucent': translucent,
|
|
38719
38918
|
'tab-bar-hidden': shouldHide,
|
|
38720
|
-
}) }, hAsync("slot", { key: '
|
|
38919
|
+
}) }, hAsync("slot", { key: 'a64e235f3703662e2dd7a834f752cc5b1490adbc' })));
|
|
38721
38920
|
}
|
|
38722
38921
|
get el() { return getElement(this); }
|
|
38723
38922
|
static get watchers() { return {
|
|
@@ -38815,7 +39014,7 @@ class TabButton {
|
|
|
38815
39014
|
rel,
|
|
38816
39015
|
target,
|
|
38817
39016
|
};
|
|
38818
|
-
return (hAsync(Host, { key: '
|
|
39017
|
+
return (hAsync(Host, { key: '1034b5a928ecec49bd8efec3730ea1b11a579cf3', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
38819
39018
|
[mode]: true,
|
|
38820
39019
|
'tab-selected': selected,
|
|
38821
39020
|
'tab-disabled': disabled,
|
|
@@ -38827,7 +39026,7 @@ class TabButton {
|
|
|
38827
39026
|
'ion-activatable': true,
|
|
38828
39027
|
'ion-selectable': true,
|
|
38829
39028
|
'ion-focusable': true,
|
|
38830
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
39029
|
+
} }, 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" }))));
|
|
38831
39030
|
}
|
|
38832
39031
|
get el() { return getElement(this); }
|
|
38833
39032
|
static get style() { return {
|
|
@@ -39018,7 +39217,7 @@ class Tabs {
|
|
|
39018
39217
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
39019
39218
|
}
|
|
39020
39219
|
render() {
|
|
39021
|
-
return (hAsync(Host, { key: '
|
|
39220
|
+
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" })));
|
|
39022
39221
|
}
|
|
39023
39222
|
get el() { return getElement(this); }
|
|
39024
39223
|
static get style() { return tabsCss(); }
|
|
@@ -39058,9 +39257,9 @@ class Text {
|
|
|
39058
39257
|
}
|
|
39059
39258
|
render() {
|
|
39060
39259
|
const mode = getIonMode$1(this);
|
|
39061
|
-
return (hAsync(Host, { key: '
|
|
39260
|
+
return (hAsync(Host, { key: '41ed8da617ed0e07bbfe96e32a000e1c6503e24e', class: createColorClasses$1(this.color, {
|
|
39062
39261
|
[mode]: true,
|
|
39063
|
-
}) }, hAsync("slot", { key: '
|
|
39262
|
+
}) }, hAsync("slot", { key: 'db8de04a2493537b3037f276b03abd92dfa56847' })));
|
|
39064
39263
|
}
|
|
39065
39264
|
static get style() { return textCss(); }
|
|
39066
39265
|
static get cmpMeta() { return {
|
|
@@ -39521,7 +39720,7 @@ class Textarea {
|
|
|
39521
39720
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
39522
39721
|
*/
|
|
39523
39722
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
39524
|
-
return (hAsync(Host, { key: '
|
|
39723
|
+
return (hAsync(Host, { key: 'eca1dfed53189408f614661ef3902cdb73d5f5de', class: createColorClasses$1(this.color, {
|
|
39525
39724
|
[mode]: true,
|
|
39526
39725
|
'has-value': hasValue,
|
|
39527
39726
|
'has-focus': hasFocus,
|
|
@@ -39530,7 +39729,7 @@ class Textarea {
|
|
|
39530
39729
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
39531
39730
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
39532
39731
|
'textarea-disabled': disabled,
|
|
39533
|
-
}) }, hAsync("label", { key: '
|
|
39732
|
+
}) }, 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()));
|
|
39534
39733
|
}
|
|
39535
39734
|
get el() { return getElement(this); }
|
|
39536
39735
|
static get watchers() { return {
|
|
@@ -39599,7 +39798,7 @@ class Thumbnail {
|
|
|
39599
39798
|
registerInstance(this, hostRef);
|
|
39600
39799
|
}
|
|
39601
39800
|
render() {
|
|
39602
|
-
return (hAsync(Host, { key: '
|
|
39801
|
+
return (hAsync(Host, { key: '833e947c683b482a78f8f0df8c9a68e99478bbaa', class: getIonMode$1(this) }, hAsync("slot", { key: '6d1e9e686db88d91379f14121058dbf035d8ded2' })));
|
|
39603
39802
|
}
|
|
39604
39803
|
static get style() { return thumbnailCss(); }
|
|
39605
39804
|
static get cmpMeta() { return {
|
|
@@ -40459,9 +40658,9 @@ class Toast {
|
|
|
40459
40658
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
40460
40659
|
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);
|
|
40461
40660
|
}
|
|
40462
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
40661
|
+
return (hAsync(Host, Object.assign({ key: '2acb2cd2e12ea0082986495929e4a596d4da2f38', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
40463
40662
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
40464
|
-
}, 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: '
|
|
40663
|
+
}, 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')))));
|
|
40465
40664
|
}
|
|
40466
40665
|
get el() { return getElement(this); }
|
|
40467
40666
|
static get watchers() { return {
|
|
@@ -40779,7 +40978,7 @@ class Toggle {
|
|
|
40779
40978
|
const value = this.getValue();
|
|
40780
40979
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
40781
40980
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
40782
|
-
return (hAsync(Host, { key: '
|
|
40981
|
+
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, {
|
|
40783
40982
|
[mode]: true,
|
|
40784
40983
|
'in-item': hostContext('ion-item', el),
|
|
40785
40984
|
'toggle-activated': activated,
|
|
@@ -40789,10 +40988,10 @@ class Toggle {
|
|
|
40789
40988
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
40790
40989
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
40791
40990
|
[`toggle-${rtl}`]: true,
|
|
40792
|
-
}) }, hAsync("label", { key: '
|
|
40991
|
+
}) }, 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: {
|
|
40793
40992
|
'label-text-wrapper': true,
|
|
40794
40993
|
'label-text-wrapper-hidden': !hasLabel,
|
|
40795
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
40994
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'c480b96a0ddd926568f73291d71253d6f74438c7' }), this.renderHintText()), hAsync("div", { key: '96a2cbd1673e051a78f8b2b16535ecd3f0ed4339', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
40796
40995
|
}
|
|
40797
40996
|
get el() { return getElement(this); }
|
|
40798
40997
|
static get watchers() { return {
|
|
@@ -40904,10 +41103,10 @@ class Toolbar {
|
|
|
40904
41103
|
this.childrenStyles.forEach((value) => {
|
|
40905
41104
|
Object.assign(childStyles, value);
|
|
40906
41105
|
});
|
|
40907
|
-
return (hAsync(Host, { key: '
|
|
41106
|
+
return (hAsync(Host, { key: '40bad6fa7e94262438da4bbe037dcf8a5fa2df22', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
40908
41107
|
[mode]: true,
|
|
40909
41108
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
40910
|
-
})) }, hAsync("div", { key: '
|
|
41109
|
+
})) }, 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" }))));
|
|
40911
41110
|
}
|
|
40912
41111
|
get el() { return getElement(this); }
|
|
40913
41112
|
static get style() { return {
|
|
@@ -40953,11 +41152,11 @@ class ToolbarTitle {
|
|
|
40953
41152
|
render() {
|
|
40954
41153
|
const mode = getIonMode$1(this);
|
|
40955
41154
|
const size = this.getSize();
|
|
40956
|
-
return (hAsync(Host, { key: '
|
|
41155
|
+
return (hAsync(Host, { key: 'd9317e8e66cb6112717f5a9c252658777efbd873', class: createColorClasses$1(this.color, {
|
|
40957
41156
|
[mode]: true,
|
|
40958
41157
|
[`title-${size}`]: true,
|
|
40959
41158
|
'title-rtl': document.dir === 'rtl',
|
|
40960
|
-
}) }, hAsync("div", { key: '
|
|
41159
|
+
}) }, hAsync("div", { key: 'a4d011d6d409bf006d8efe33667002edb109820a', class: "toolbar-title" }, hAsync("slot", { key: '4ca3303b957a0e5387f1e9058e5adb4c6275afcc' }))));
|
|
40961
41160
|
}
|
|
40962
41161
|
get el() { return getElement(this); }
|
|
40963
41162
|
static get watchers() { return {
|
|
@@ -41037,10 +41236,8 @@ registerComponents([
|
|
|
41037
41236
|
Nav,
|
|
41038
41237
|
NavLink,
|
|
41039
41238
|
Note,
|
|
41040
|
-
Picker$1,
|
|
41041
41239
|
Picker,
|
|
41042
41240
|
PickerColumn,
|
|
41043
|
-
PickerColumnCmp,
|
|
41044
41241
|
PickerColumnOption,
|
|
41045
41242
|
Popover,
|
|
41046
41243
|
ProgressBar,
|