@ionic/core 8.8.14-dev.11784238294.131cd99d → 8.8.14-dev.11784563563.137a903a
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-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.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-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.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-group.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-router.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-BLmJ0zRm.js → p-8cRBED2y.js} +1 -1
- package/components/{p-BSEgsdFI.js → p-B5Ia5kbJ.js} +1 -1
- package/components/p-BG9RNTmW.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/components/p-BnTB62Lu.js +4 -0
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-CEktCi-l.js +4 -0
- package/components/{p-B60hm8Qv.js → p-CHdYfvVx.js} +1 -1
- package/components/{p-B9jFTlwE.js → p-CPa2WmW7.js} +1 -1
- package/components/{p-BnqQlm7c.js → p-CYhGN6l4.js} +1 -1
- package/components/{p-ryqmO0B-.js → p-CbJDPICP.js} +1 -1
- package/components/{p-rCa2eL0j.js → p-CtQ-1ZRt.js} +1 -1
- package/components/p-CwcD5kE9.js +4 -0
- package/components/{p--JUspHvy.js → p-CyFtf1Mm.js} +1 -1
- package/components/{p-DqZAXv2t.js → p-CzuRCorP.js} +1 -1
- package/components/{p-j5IxBIan.js → p-D-lHU3L1.js} +1 -1
- package/components/p-D1-tlI3U.js +4 -0
- package/components/p-D2D6VdCA.js +4 -0
- package/components/{p-BHrrc-3d.js → p-D355UF9s.js} +1 -1
- package/components/{p-5bE_Wz4Y.js → p-DEI720fP.js} +1 -1
- package/components/p-DK0D_QD_.js +4 -0
- package/components/p-DXTfY6aF.js +4 -0
- package/components/{p-Cfx4M1Bn.js → p-DfjhtfFw.js} +1 -1
- package/components/{p-CI3ncNZm.js → p-Dg1a5T1q.js} +1 -1
- package/components/{p-lE_JGpHD.js → p-Ds1Brlka.js} +1 -1
- package/components/p-Dtmv7Nm_.js +4 -0
- package/components/{p-BirPFsRD.js → p-Dy5czMtc.js} +1 -1
- package/components/p-FV45cfy9.js +4 -0
- package/components/p-LMGfIvTf.js +4 -0
- package/components/{p-CSZf8_j0.js → p-XX59Wsi5.js} +1 -1
- package/components/p-jOtMJMv8.js +4 -0
- package/components/p-xjzudrQv.js +4 -0
- package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-7VMuu6PT.js} +1 -1
- package/dist/cjs/config-DWdFbSNK.js +35 -0
- package/dist/cjs/index-Cueg3U4w.js +429 -0
- package/dist/cjs/{index-aC4x3Fk3.js → index-IPWmFzOn.js} +1 -1
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +28 -8
- package/dist/cjs/ion-alert.cjs.entry.js +65 -26
- package/dist/cjs/ion-app_8.cjs.entry.js +24 -10
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ion-chip.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -11
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +13 -657
- package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-img.cjs.entry.js +4 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -3
- package/dist/cjs/ion-input-otp.cjs.entry.js +1 -1
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ion-input.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-loading.cjs.entry.js +11 -6
- package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-modal.cjs.entry.js +24 -33
- package/dist/cjs/ion-nav_2.cjs.entry.js +3 -116
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -10
- package/dist/cjs/ion-picker-column.cjs.entry.js +5 -11
- package/dist/cjs/ion-popover.cjs.entry.js +10 -6
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-range.cjs.entry.js +4 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -6
- package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +19 -5
- package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
- 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 +5 -5
- package/dist/cjs/ion-select-modal.cjs.entry.js +85 -31
- package/dist/cjs/ion-select_3.cjs.entry.js +408 -50
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +3 -3
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +3 -3
- package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ion-toast.cjs.entry.js +7 -6
- package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
- package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CbxQmwkf.js} +2 -2
- package/dist/cjs/ionic.cjs.js +3 -3
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-DdtIYQUH.js → overlays-DXnnHORC.js} +28 -32
- 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/img/img.js +6 -1
- package/dist/collection/components/input/input.js +8 -8
- package/dist/collection/components/loading/loading.js +7 -3
- package/dist/collection/components/modal/gestures/sheet.js +0 -7
- package/dist/collection/components/modal/gestures/swipe-to-close.js +0 -7
- package/dist/collection/components/modal/modal.ios.css +0 -8
- package/dist/collection/components/modal/modal.js +23 -18
- package/dist/collection/components/modal/modal.md.css +0 -8
- package/dist/collection/components/nav/nav.js +4 -219
- 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/route/route.js +1 -1
- package/dist/collection/components/router/utils/dom.js +22 -3
- 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 -30
- package/dist/collection/utils/platform.js +2 -2
- package/dist/collection/utils/sanitization/index.js +274 -18
- package/dist/collection/utils/select-option-render.js +119 -0
- package/dist/collection/utils/test/playwright/drag-element.js +0 -5
- package/dist/docs.json +556 -1272
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DNgPBV1i.js} +1 -1
- package/dist/esm/config-BwKpO3Is.js +31 -0
- package/dist/esm/{index-Q6UPU0Ay.js → index-0f4UTH6Z.js} +1 -1
- package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
- package/dist/esm/index-DQSkZyOJ.js +424 -0
- package/dist/esm/index.js +5 -4
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +28 -8
- package/dist/esm/ion-alert.entry.js +64 -25
- package/dist/esm/ion-app_8.entry.js +24 -10
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +1 -1
- package/dist/esm/ion-card_5.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +1 -1
- package/dist/esm/ion-chip.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +5 -11
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +17 -659
- package/dist/esm/ion-fab_3.entry.js +2 -2
- package/dist/esm/ion-img.entry.js +5 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -2
- package/dist/esm/ion-input-otp.entry.js +1 -1
- package/dist/esm/ion-input-password-toggle.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +6 -6
- package/dist/esm/ion-item-option_3.entry.js +1 -1
- package/dist/esm/ion-item_8.entry.js +4 -4
- package/dist/esm/ion-loading.entry.js +10 -5
- package/dist/esm/ion-menu_3.entry.js +4 -4
- package/dist/esm/ion-modal.entry.js +24 -33
- package/dist/esm/ion-nav_2.entry.js +4 -117
- package/dist/esm/ion-picker-column-option.entry.js +4 -10
- package/dist/esm/ion-picker-column.entry.js +5 -11
- package/dist/esm/ion-popover.entry.js +10 -6
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +4 -4
- package/dist/esm/ion-range.entry.js +4 -4
- package/dist/esm/ion-refresher_2.entry.js +6 -5
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +19 -5
- package/dist/esm/ion-searchbar.entry.js +7 -7
- 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 +5 -5
- package/dist/esm/ion-select-modal.entry.js +85 -31
- package/dist/esm/ion-select_3.entry.js +411 -53
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +3 -3
- package/dist/esm/ion-tab-bar_2.entry.js +5 -5
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +3 -3
- package/dist/esm/ion-textarea.entry.js +3 -3
- package/dist/esm/ion-toast.entry.js +6 -5
- package/dist/esm/ion-toggle.entry.js +5 -5
- package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-pMW1XhFZ.js} +2 -2
- package/dist/esm/ionic.js +3 -3
- package/dist/esm/loader.js +3 -3
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DVgWBV3s.js} +29 -33
- package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
- package/dist/html.html-data.json +52 -80
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-d889ff6d.entry.js → p-06cef0c6.entry.js} +1 -1
- package/dist/ionic/{p-c6e49f3f.entry.js → p-0be097d7.entry.js} +1 -1
- package/dist/ionic/{p-dfa8d673.entry.js → p-0e7de053.entry.js} +1 -1
- package/dist/ionic/p-129d3ed9.entry.js +4 -0
- package/dist/ionic/p-1d9e649a.entry.js +4 -0
- package/dist/ionic/p-2b3a2a38.entry.js +4 -0
- package/dist/ionic/{p-0fa9c382.entry.js → p-306b2e91.entry.js} +1 -1
- package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
- package/dist/ionic/{p-37e720da.entry.js → p-34c8f2dc.entry.js} +1 -1
- package/dist/ionic/{p-e0be05c5.entry.js → p-3ce3a59d.entry.js} +1 -1
- package/dist/ionic/p-3d719e91.entry.js +4 -0
- package/dist/ionic/{p-3a7d1e91.entry.js → p-408afa6d.entry.js} +1 -1
- package/dist/ionic/{p-9a65ac7f.entry.js → p-426130ad.entry.js} +1 -1
- package/dist/ionic/p-5599e1e1.entry.js +4 -0
- package/dist/ionic/{p-75dc25ba.entry.js → p-567b25e9.entry.js} +1 -1
- package/dist/ionic/p-570a212e.entry.js +4 -0
- package/dist/ionic/{p-4858af1f.entry.js → p-656e8181.entry.js} +1 -1
- package/dist/ionic/p-686de5dc.entry.js +4 -0
- package/dist/ionic/{p-b6a7397c.entry.js → p-694aa5fc.entry.js} +1 -1
- package/dist/ionic/p-73d06afe.entry.js +4 -0
- package/dist/ionic/{p-34586ead.entry.js → p-79054426.entry.js} +1 -1
- package/dist/ionic/{p-9f1103ce.entry.js → p-79b2abe6.entry.js} +1 -1
- package/dist/ionic/p-7cb5cf53.entry.js +4 -0
- package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
- package/dist/ionic/p-845eb5d5.entry.js +4 -0
- package/dist/ionic/p-88f33e44.entry.js +4 -0
- package/dist/ionic/p-89c9c057.entry.js +4 -0
- package/dist/ionic/{p-c4d8641b.entry.js → p-8c4bdd70.entry.js} +1 -1
- package/dist/ionic/{p-a3bdcae6.entry.js → p-8c898f59.entry.js} +1 -1
- package/dist/ionic/p-8cde6208.entry.js +4 -0
- package/dist/ionic/{p-5d1da0a2.entry.js → p-9366f06d.entry.js} +1 -1
- package/dist/ionic/p-9a29ba8c.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-CGqbOURp.js +4 -0
- package/dist/ionic/{p-KjNvRoEp.js → p-D9iu80E_.js} +1 -1
- package/dist/ionic/p-DCOvXkOm.js +4 -0
- package/dist/ionic/p-DZigX5id.js +4 -0
- package/dist/ionic/p-DeSfrUWZ.js +4 -0
- package/dist/ionic/{p-84d5ce05.entry.js → p-a1448991.entry.js} +1 -1
- package/dist/ionic/{p-390ca786.entry.js → p-a256aeb6.entry.js} +1 -1
- package/dist/ionic/{p-8c8eee7d.entry.js → p-aeff523a.entry.js} +1 -1
- package/dist/ionic/{p-8eb8ee76.entry.js → p-b2f15bd0.entry.js} +1 -1
- package/dist/ionic/p-b7737b44.entry.js +4 -0
- package/dist/ionic/p-ba99d16b.entry.js +4 -0
- package/dist/ionic/{p-ef4c3bee.entry.js → p-cdfe2531.entry.js} +1 -1
- package/dist/ionic/p-cf68f89c.entry.js +4 -0
- package/dist/ionic/p-d183a4ba.entry.js +4 -0
- package/dist/ionic/p-d57560ff.entry.js +4 -0
- package/dist/ionic/p-d5be2815.entry.js +4 -0
- package/dist/ionic/{p-874b4bd8.entry.js → p-d6d91a44.entry.js} +1 -1
- package/dist/ionic/{p-4745f534.entry.js → p-e3842b54.entry.js} +1 -1
- package/dist/ionic/{p-3ae5f277.entry.js → p-e56b1836.entry.js} +1 -1
- package/dist/ionic/p-f09f9642.entry.js +4 -0
- package/dist/ionic/p-f2ae690a.entry.js +4 -0
- package/dist/ionic/{p-3a126bca.entry.js → p-f5b104d9.entry.js} +1 -1
- package/dist/ionic/p-f88310b9.entry.js +4 -0
- package/dist/ionic/p-fd4e56cd.entry.js +4 -0
- package/dist/types/components/img/img.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +11 -4
- package/dist/types/components/nav/nav-interface.d.ts +0 -1
- package/dist/types/components/nav/nav.d.ts +2 -22
- package/dist/types/components/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-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 +74 -311
- 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 +1355 -1261
- package/hydrate/index.mjs +1355 -1261
- 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-BIPPbW0M.js +0 -4
- package/components/p-BUYFy35a.js +0 -4
- package/components/p-BWEZufiK.js +0 -4
- package/components/p-BjfgFSSR.js +0 -4
- package/components/p-BqpciLfi.js +0 -4
- package/components/p-BsPelv04.js +0 -4
- package/components/p-BsQPAqo9.js +0 -4
- package/components/p-CRNiQiYf.js +0 -4
- package/components/p-CU5rbWAW.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-W5nO8mX_.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-nyXeHk23.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-0dc33652.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-2a05aa64.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-5018dfc8.entry.js +0 -4
- package/dist/ionic/p-50e1194a.entry.js +0 -4
- package/dist/ionic/p-5eb8e86d.entry.js +0 -4
- package/dist/ionic/p-65ebdf1b.entry.js +0 -4
- package/dist/ionic/p-6ebdbebe.entry.js +0 -4
- package/dist/ionic/p-8fce95d5.entry.js +0 -4
- package/dist/ionic/p-9f9db3a2.entry.js +0 -4
- package/dist/ionic/p-D-3ycHmd.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-Nqf6uvGh.js +0 -4
- package/dist/ionic/p-SNAkTDfm.js +0 -4
- package/dist/ionic/p-a21add2f.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-ca2ab74d.entry.js +0 -4
- package/dist/ionic/p-e6a4bb56.entry.js +0 -4
- package/dist/ionic/p-ec090e0a.entry.js +0 -4
- package/dist/ionic/p-f386f6ae.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.mjs
CHANGED
|
@@ -316,9 +316,9 @@ const isDesktop = (win) => !isMobile(win);
|
|
|
316
316
|
const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
|
|
317
317
|
const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
|
|
318
318
|
const isCapacitorNative = (win) => {
|
|
319
|
+
var _a;
|
|
319
320
|
const capacitor = win['Capacitor'];
|
|
320
|
-
|
|
321
|
-
return !!((capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNative) || ((capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNativePlatform) && !!capacitor.isNativePlatform()));
|
|
321
|
+
return !!((_a = capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNativePlatform) === null || _a === void 0 ? void 0 : _a.call(capacitor));
|
|
322
322
|
};
|
|
323
323
|
const isElectron = (win) => testUserAgent(win, /electron/i);
|
|
324
324
|
const isPWA = (win) => { var _a; return !!(((_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, '(display-mode: standalone)').matches) || win.navigator.standalone); };
|
|
@@ -8039,7 +8039,7 @@ const focusElementInOverlay = (hostToFocus, overlay) => {
|
|
|
8039
8039
|
* Should NOT include: Toast
|
|
8040
8040
|
*/
|
|
8041
8041
|
const trapKeyboardFocus = (ev, doc) => {
|
|
8042
|
-
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
8042
|
+
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover');
|
|
8043
8043
|
const target = ev.target;
|
|
8044
8044
|
/**
|
|
8045
8045
|
* If no active overlay, ignore this event.
|
|
@@ -8273,7 +8273,7 @@ const dismissOverlay = (doc, data, role, overlayTag, id) => {
|
|
|
8273
8273
|
*/
|
|
8274
8274
|
const getOverlays = (doc, selector) => {
|
|
8275
8275
|
if (selector === undefined) {
|
|
8276
|
-
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
8276
|
+
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover,ion-toast';
|
|
8277
8277
|
}
|
|
8278
8278
|
return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
|
|
8279
8279
|
};
|
|
@@ -8335,6 +8335,29 @@ const setRootAriaHidden = (hidden = false) => {
|
|
|
8335
8335
|
viewContainer.removeAttribute('aria-hidden');
|
|
8336
8336
|
}
|
|
8337
8337
|
};
|
|
8338
|
+
/**
|
|
8339
|
+
* Cleans up root `aria-hidden` and `backdrop-no-scroll` when
|
|
8340
|
+
* an overlay is removed from the DOM without going through
|
|
8341
|
+
* the `dismiss()` flow (e.g., when a framework unmounts the
|
|
8342
|
+
* overlay during a route change).
|
|
8343
|
+
*
|
|
8344
|
+
* Should be called from an overlay's `disconnectedCallback`
|
|
8345
|
+
* when the overlay was still presented at the time of removal.
|
|
8346
|
+
*/
|
|
8347
|
+
const cleanupRootFocusTrapAccessibility = () => {
|
|
8348
|
+
if (typeof document === 'undefined') {
|
|
8349
|
+
return;
|
|
8350
|
+
}
|
|
8351
|
+
const remainingOverlays = getPresentedOverlays(document);
|
|
8352
|
+
const hasRemainingLocking = remainingOverlays.some((o) => {
|
|
8353
|
+
const el = o;
|
|
8354
|
+
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
8355
|
+
});
|
|
8356
|
+
if (!hasRemainingLocking) {
|
|
8357
|
+
setRootAriaHidden(false);
|
|
8358
|
+
document.body.classList.remove(BACKDROP_NO_SCROLL);
|
|
8359
|
+
}
|
|
8360
|
+
};
|
|
8338
8361
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
8339
8362
|
var _a, _b;
|
|
8340
8363
|
if (overlay.presented) {
|
|
@@ -8400,30 +8423,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
8400
8423
|
* to the overlay container.
|
|
8401
8424
|
*/
|
|
8402
8425
|
if (overlay.keyboardClose && (document.activeElement === null || !overlay.el.contains(document.activeElement))) {
|
|
8403
|
-
|
|
8404
|
-
* Some overlays (e.g. modal) put the dialog role and accessible label
|
|
8405
|
-
* on the `.ion-overlay-wrapper` instead of the host. Screen readers
|
|
8406
|
-
* need focus on the element with `role="dialog"` to properly announce
|
|
8407
|
-
* and navigate the dialog.
|
|
8408
|
-
*
|
|
8409
|
-
* We only target wrappers with `tabindex`, since `role="dialog"` alone
|
|
8410
|
-
* does not make an element focusable. If no focusable dialog wrapper
|
|
8411
|
-
* exists (e.g. picker-legacy), we fall back to the host.
|
|
8412
|
-
*/
|
|
8413
|
-
const overlayWrapper = getElementRoot(overlay.el).querySelector('[role="dialog"][tabindex]');
|
|
8414
|
-
const focusTarget = overlayWrapper !== null && overlayWrapper !== void 0 ? overlayWrapper : overlay.el;
|
|
8415
|
-
/**
|
|
8416
|
-
* `preventScroll` keeps this a pure focus move so the viewport does not
|
|
8417
|
-
* jump when the wrapper is partially off-screen (e.g. a sheet modal).
|
|
8418
|
-
* Guard the options call so an older engine that mishandles it can never
|
|
8419
|
-
* reject present(); we fall back to a plain focus() in that case.
|
|
8420
|
-
*/
|
|
8421
|
-
try {
|
|
8422
|
-
focusTarget.focus({ preventScroll: true });
|
|
8423
|
-
}
|
|
8424
|
-
catch (_c) {
|
|
8425
|
-
focusTarget.focus();
|
|
8426
|
-
}
|
|
8426
|
+
overlay.el.focus();
|
|
8427
8427
|
}
|
|
8428
8428
|
/**
|
|
8429
8429
|
* If this overlay was previously dismissed without being
|
|
@@ -8759,6 +8759,539 @@ const createTriggerController = () => {
|
|
|
8759
8759
|
};
|
|
8760
8760
|
const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
|
|
8761
8761
|
|
|
8762
|
+
/**
|
|
8763
|
+
* Sanitize an untrusted HTML string.
|
|
8764
|
+
*
|
|
8765
|
+
* Parses the string into a detached DOM, removes blocked tags, strips
|
|
8766
|
+
* attributes outside the narrow `domStringAllowedAttributes` list (refer
|
|
8767
|
+
* `sanitizeElement`), and scrubs script-scheme URLs. Returns the sanitized
|
|
8768
|
+
* HTML string.
|
|
8769
|
+
*
|
|
8770
|
+
* Use this when you have an HTML string from an unknown source and need to
|
|
8771
|
+
* render it via `innerHTML`. Use `sanitizeDOMTree` instead when you already
|
|
8772
|
+
* have a DOM tree and want to sanitize it in place without a string round
|
|
8773
|
+
* trip. The two apply the same dangerous-vector scrubbing but different
|
|
8774
|
+
* attribute allowlists: this path stays narrow so existing consumers
|
|
8775
|
+
* (toast, loading, alert message, etc.) are unaffected, while
|
|
8776
|
+
* `sanitizeDOMTree` uses the wider rich-content allowlist.
|
|
8777
|
+
*
|
|
8778
|
+
* @param untrustedString - The HTML string to sanitize. Pass an
|
|
8779
|
+
* `IonicSafeString` to bypass sanitization, or `undefined` to short-circuit.
|
|
8780
|
+
* @returns The sanitized HTML string, or `undefined` if the input was
|
|
8781
|
+
* `undefined`. Returns `''` if sanitization fails or the input contains
|
|
8782
|
+
* an inline `onload=` handler.
|
|
8783
|
+
*/
|
|
8784
|
+
const sanitizeDOMString = (untrustedString) => {
|
|
8785
|
+
try {
|
|
8786
|
+
if (untrustedString instanceof IonicSafeString) {
|
|
8787
|
+
return untrustedString.value;
|
|
8788
|
+
}
|
|
8789
|
+
if (!isSanitizerEnabled() || typeof untrustedString !== 'string' || untrustedString === '') {
|
|
8790
|
+
return untrustedString;
|
|
8791
|
+
}
|
|
8792
|
+
/**
|
|
8793
|
+
* onload is fired when appending to a document
|
|
8794
|
+
* fragment in Chrome. If a string
|
|
8795
|
+
* contains onload then we should not
|
|
8796
|
+
* attempt to add this to the fragment.
|
|
8797
|
+
*/
|
|
8798
|
+
if (untrustedString.includes('onload=')) {
|
|
8799
|
+
return '';
|
|
8800
|
+
}
|
|
8801
|
+
/**
|
|
8802
|
+
* Create a document fragment
|
|
8803
|
+
* separate from the main DOM,
|
|
8804
|
+
* create a div to do our work in
|
|
8805
|
+
*/
|
|
8806
|
+
const documentFragment = document.createDocumentFragment();
|
|
8807
|
+
const workingDiv = document.createElement('div');
|
|
8808
|
+
documentFragment.appendChild(workingDiv);
|
|
8809
|
+
workingDiv.innerHTML = untrustedString;
|
|
8810
|
+
/**
|
|
8811
|
+
* Remove any elements
|
|
8812
|
+
* that are blocked
|
|
8813
|
+
*/
|
|
8814
|
+
blockedTags.forEach((blockedTag) => {
|
|
8815
|
+
const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);
|
|
8816
|
+
for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {
|
|
8817
|
+
const element = getElementsToRemove[elementIndex];
|
|
8818
|
+
if (element.parentNode) {
|
|
8819
|
+
element.parentNode.removeChild(element);
|
|
8820
|
+
}
|
|
8821
|
+
else {
|
|
8822
|
+
documentFragment.removeChild(element);
|
|
8823
|
+
}
|
|
8824
|
+
/**
|
|
8825
|
+
* We still need to sanitize
|
|
8826
|
+
* the children of this element
|
|
8827
|
+
* as they are left behind
|
|
8828
|
+
*/
|
|
8829
|
+
const childElements = getElementChildren(element);
|
|
8830
|
+
/* eslint-disable-next-line */
|
|
8831
|
+
for (let childIndex = 0; childIndex < childElements.length; childIndex++) {
|
|
8832
|
+
sanitizeElement(childElements[childIndex], domStringAllowedAttributes);
|
|
8833
|
+
}
|
|
8834
|
+
}
|
|
8835
|
+
});
|
|
8836
|
+
/**
|
|
8837
|
+
* Go through remaining elements and remove
|
|
8838
|
+
* non-allowed attribs
|
|
8839
|
+
*/
|
|
8840
|
+
// IE does not support .children on document fragments, only .childNodes
|
|
8841
|
+
const dfChildren = getElementChildren(documentFragment);
|
|
8842
|
+
/* eslint-disable-next-line */
|
|
8843
|
+
for (let childIndex = 0; childIndex < dfChildren.length; childIndex++) {
|
|
8844
|
+
sanitizeElement(dfChildren[childIndex], domStringAllowedAttributes);
|
|
8845
|
+
}
|
|
8846
|
+
// Append document fragment to div
|
|
8847
|
+
const fragmentDiv = document.createElement('div');
|
|
8848
|
+
fragmentDiv.appendChild(documentFragment);
|
|
8849
|
+
// First child is always the div we did our work in
|
|
8850
|
+
const getInnerDiv = fragmentDiv.querySelector('div');
|
|
8851
|
+
return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
|
|
8852
|
+
}
|
|
8853
|
+
catch (err) {
|
|
8854
|
+
printIonError('sanitizeDOMString', err);
|
|
8855
|
+
return '';
|
|
8856
|
+
}
|
|
8857
|
+
};
|
|
8858
|
+
/**
|
|
8859
|
+
* Sanitize an entire trusted DOM tree in place.
|
|
8860
|
+
*
|
|
8861
|
+
* Removes blocked tags (`script`, `iframe`, etc.) from the subtree and
|
|
8862
|
+
* then sanitizes attributes on every remaining element using the wider
|
|
8863
|
+
* `richContentAllowedAttributes` allowlist (refer `sanitizeElement`).
|
|
8864
|
+
* Component presentational attributes (`size`, `color`, `shape`, inline
|
|
8865
|
+
* SVG, `aria-*`, `data-*`) are preserved; `style`, event handlers (`on*`),
|
|
8866
|
+
* form/navigation-hijack attributes, script-scheme URLs, and non-image
|
|
8867
|
+
* `data:` URLs are stripped.
|
|
8868
|
+
*
|
|
8869
|
+
* Use this when you have a DOM tree the developer controls (e.g.
|
|
8870
|
+
* cloned slot content from a component) and you need to render it
|
|
8871
|
+
* elsewhere safely.
|
|
8872
|
+
*
|
|
8873
|
+
* @param root - The root element whose subtree will be sanitized in
|
|
8874
|
+
* place. No-op when the sanitizer is disabled via `Ionic.config`.
|
|
8875
|
+
*/
|
|
8876
|
+
const sanitizeDOMTree = (root) => {
|
|
8877
|
+
if (!isSanitizerEnabled()) {
|
|
8878
|
+
return;
|
|
8879
|
+
}
|
|
8880
|
+
blockedTags.forEach((tag) => {
|
|
8881
|
+
const matches = root.querySelectorAll(tag);
|
|
8882
|
+
for (let i = matches.length - 1; i >= 0; i--) {
|
|
8883
|
+
matches[i].remove();
|
|
8884
|
+
}
|
|
8885
|
+
});
|
|
8886
|
+
sanitizeElement(root, richContentAllowedAttributes, richContentAllowedAttributePrefixes);
|
|
8887
|
+
};
|
|
8888
|
+
/**
|
|
8889
|
+
* Clean up current element based on allowed attributes
|
|
8890
|
+
* and then recursively dig down into any child elements to
|
|
8891
|
+
* clean those up as well
|
|
8892
|
+
*/
|
|
8893
|
+
// TODO(FW-2832): type (using Element triggers other type errors as well)
|
|
8894
|
+
const sanitizeElement = (element, allowedAttributes, allowedAttributePrefixes = []) => {
|
|
8895
|
+
// IE uses childNodes, so ignore nodes that are not elements
|
|
8896
|
+
if (element.nodeType && element.nodeType !== 1) {
|
|
8897
|
+
return;
|
|
8898
|
+
}
|
|
8899
|
+
/**
|
|
8900
|
+
* If attributes is not a NamedNodeMap
|
|
8901
|
+
* then we should remove the element entirely.
|
|
8902
|
+
* This helps avoid DOM Clobbering attacks where
|
|
8903
|
+
* attributes is overridden.
|
|
8904
|
+
*/
|
|
8905
|
+
if (typeof NamedNodeMap !== 'undefined' && !(element.attributes instanceof NamedNodeMap)) {
|
|
8906
|
+
element.remove();
|
|
8907
|
+
return;
|
|
8908
|
+
}
|
|
8909
|
+
/**
|
|
8910
|
+
* Always strip `style` (CSS injection, `background:url()` beaconing, UI
|
|
8911
|
+
* spoofing). It is never on the allowlist, but it is removed explicitly
|
|
8912
|
+
* here because some engines (e.g. jsdom) don't enumerate the CSSOM-backed
|
|
8913
|
+
* `style` attribute in `element.attributes`, which would let the loop
|
|
8914
|
+
* below skip over it.
|
|
8915
|
+
*/
|
|
8916
|
+
element.removeAttribute('style');
|
|
8917
|
+
for (let i = element.attributes.length - 1; i >= 0; i--) {
|
|
8918
|
+
const attribute = element.attributes.item(i);
|
|
8919
|
+
const attributeName = attribute.name;
|
|
8920
|
+
const lowerName = attributeName.toLowerCase();
|
|
8921
|
+
/**
|
|
8922
|
+
* Remove any attribute that is not on the allowlist. This drops event
|
|
8923
|
+
* handlers (`on*`), `style`, the form/navigation-hijack attributes
|
|
8924
|
+
* (`formaction`, `action`, `target`), namespaced attributes like
|
|
8925
|
+
* `xlink:href`, and anything else not explicitly known to be safe.
|
|
8926
|
+
*/
|
|
8927
|
+
if (!isAttributeAllowed(lowerName, allowedAttributes, allowedAttributePrefixes)) {
|
|
8928
|
+
element.removeAttribute(attributeName);
|
|
8929
|
+
continue;
|
|
8930
|
+
}
|
|
8931
|
+
// clean up any allowed attribs
|
|
8932
|
+
// that attempt to do any JS funny-business
|
|
8933
|
+
const attributeValue = attribute.value;
|
|
8934
|
+
if (attributeValue == null) {
|
|
8935
|
+
continue;
|
|
8936
|
+
}
|
|
8937
|
+
/**
|
|
8938
|
+
* Scrub dangerous schemes from the value. The value is normalized first
|
|
8939
|
+
* (whitespace and ASCII control characters removed) so entity-obfuscated
|
|
8940
|
+
* payloads such as `java	script:`, which the parser decodes to
|
|
8941
|
+
* `java\tscript:`, are still caught. Normalizing the value also covers
|
|
8942
|
+
* namespaced attributes, where the previous `element[attributeName]`
|
|
8943
|
+
* property reflection returned `undefined` and let them slip through.
|
|
8944
|
+
*/
|
|
8945
|
+
const normalizedValue = attributeValue.replace(controlCharactersAndWhitespace, '').toLowerCase();
|
|
8946
|
+
// Script schemes are never allowed, on any attribute.
|
|
8947
|
+
if (normalizedValue.includes('javascript:') || normalizedValue.includes('vbscript:')) {
|
|
8948
|
+
element.removeAttribute(attributeName);
|
|
8949
|
+
continue;
|
|
8950
|
+
}
|
|
8951
|
+
/**
|
|
8952
|
+
* For URL-bearing attributes, allow `data:` URIs only for raster
|
|
8953
|
+
* images. Document-bearing types (`text/html`, `image/svg+xml`,
|
|
8954
|
+
* `application/*`, etc.) can carry markup or script when navigated to
|
|
8955
|
+
* or rendered, so they are stripped, while safe image types are kept so
|
|
8956
|
+
* inline images keep working.
|
|
8957
|
+
*/
|
|
8958
|
+
if (urlAttributes.includes(lowerName) &&
|
|
8959
|
+
normalizedValue.startsWith('data:') &&
|
|
8960
|
+
!safeDataImageUri.test(normalizedValue)) {
|
|
8961
|
+
element.removeAttribute(attributeName);
|
|
8962
|
+
}
|
|
8963
|
+
}
|
|
8964
|
+
/**
|
|
8965
|
+
* Sanitize any nested children
|
|
8966
|
+
*/
|
|
8967
|
+
const childElements = getElementChildren(element);
|
|
8968
|
+
/* eslint-disable-next-line */
|
|
8969
|
+
for (let i = 0; i < childElements.length; i++) {
|
|
8970
|
+
sanitizeElement(childElements[i], allowedAttributes, allowedAttributePrefixes);
|
|
8971
|
+
}
|
|
8972
|
+
};
|
|
8973
|
+
/**
|
|
8974
|
+
* IE doesn't always support .children
|
|
8975
|
+
* so we revert to .childNodes instead
|
|
8976
|
+
*/
|
|
8977
|
+
// TODO(FW-2832): type
|
|
8978
|
+
const getElementChildren = (el) => {
|
|
8979
|
+
return el.children != null ? el.children : el.childNodes;
|
|
8980
|
+
};
|
|
8981
|
+
const isSanitizerEnabled = () => {
|
|
8982
|
+
var _a;
|
|
8983
|
+
const win = window;
|
|
8984
|
+
const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
|
|
8985
|
+
if (config) {
|
|
8986
|
+
if (config.get) {
|
|
8987
|
+
return config.get('sanitizerEnabled', true);
|
|
8988
|
+
}
|
|
8989
|
+
else {
|
|
8990
|
+
return config.sanitizerEnabled === true || config.sanitizerEnabled === undefined;
|
|
8991
|
+
}
|
|
8992
|
+
}
|
|
8993
|
+
return true;
|
|
8994
|
+
};
|
|
8995
|
+
/**
|
|
8996
|
+
* Mirror known custom-element DOM properties onto attributes so they
|
|
8997
|
+
* survive `cloneNode`. Call this on a DOM subtree before cloning it for
|
|
8998
|
+
* rendering elsewhere (e.g. cloning slotted option content into an
|
|
8999
|
+
* overlay).
|
|
9000
|
+
*
|
|
9001
|
+
* Only sets the attribute when the property holds a non-empty string
|
|
9002
|
+
* and the attribute isn't already present, so existing attributes
|
|
9003
|
+
* take precedence.
|
|
9004
|
+
*
|
|
9005
|
+
* @param root - The root element whose subtree (and itself) will be
|
|
9006
|
+
* inspected.
|
|
9007
|
+
*/
|
|
9008
|
+
const reflectPropertiesToAttributes = (root) => {
|
|
9009
|
+
const candidates = [];
|
|
9010
|
+
if (root.tagName in elementPropsToReflect) {
|
|
9011
|
+
candidates.push(root);
|
|
9012
|
+
}
|
|
9013
|
+
for (const tagName of Object.keys(elementPropsToReflect)) {
|
|
9014
|
+
candidates.push(...Array.from(root.querySelectorAll(tagName.toLowerCase())));
|
|
9015
|
+
}
|
|
9016
|
+
for (const el of candidates) {
|
|
9017
|
+
if (!(el.tagName in elementPropsToReflect)) {
|
|
9018
|
+
continue;
|
|
9019
|
+
}
|
|
9020
|
+
const props = elementPropsToReflect[el.tagName];
|
|
9021
|
+
for (const prop of props) {
|
|
9022
|
+
const value = el[prop];
|
|
9023
|
+
if (typeof value === 'string' && value.length > 0 && !el.hasAttribute(prop)) {
|
|
9024
|
+
el.setAttribute(prop, value);
|
|
9025
|
+
}
|
|
9026
|
+
}
|
|
9027
|
+
}
|
|
9028
|
+
};
|
|
9029
|
+
/**
|
|
9030
|
+
* Attribute allowlist for `sanitizeDOMString`. Intentionally narrow: this
|
|
9031
|
+
* path sanitizes developer HTML strings rendered via `innerHTML` by
|
|
9032
|
+
* `ion-toast`, `ion-loading`, the `ion-alert` message,
|
|
9033
|
+
* `ion-refresher-content`, and `ion-infinite-scroll-content`, so the list
|
|
9034
|
+
* is kept to the minimum those have always needed. Broadening it here would
|
|
9035
|
+
* change sanitization output for all of those consumers, so the wider
|
|
9036
|
+
* rich-content allowlist below is deliberately scoped to `sanitizeDOMTree`
|
|
9037
|
+
* instead.
|
|
9038
|
+
*/
|
|
9039
|
+
const domStringAllowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];
|
|
9040
|
+
/**
|
|
9041
|
+
* Attribute allowlist for `sanitizeDOMTree` (the select rich-content path).
|
|
9042
|
+
* Covers global HTML attributes, the Ionic component presentational props
|
|
9043
|
+
* that cloned rich content (e.g. `ion-select-option` markup) relies on, and
|
|
9044
|
+
* the inert SVG presentation attributes used by inline icons.
|
|
9045
|
+
*
|
|
9046
|
+
* `aria-*` and `data-*` are allowed separately by prefix (refer
|
|
9047
|
+
* `richContentAllowedAttributePrefixes`) since they are inert and not worth
|
|
9048
|
+
* enumerating. URL-bearing names (`href`, `src`) are allowed here, but
|
|
9049
|
+
* their values are still scrubbed for script schemes in `sanitizeElement`.
|
|
9050
|
+
*
|
|
9051
|
+
* Notably absent: `style`, event handlers (`on*`), and the
|
|
9052
|
+
* form/navigation-hijack attributes (`formaction`, `action`, `target`),
|
|
9053
|
+
* which are therefore stripped.
|
|
9054
|
+
*/
|
|
9055
|
+
const richContentAllowedAttributes = [
|
|
9056
|
+
// Global / structural
|
|
9057
|
+
'class',
|
|
9058
|
+
'id',
|
|
9059
|
+
'slot',
|
|
9060
|
+
'name',
|
|
9061
|
+
'title',
|
|
9062
|
+
'alt',
|
|
9063
|
+
'lang',
|
|
9064
|
+
'dir',
|
|
9065
|
+
'role',
|
|
9066
|
+
'type',
|
|
9067
|
+
'value',
|
|
9068
|
+
'disabled',
|
|
9069
|
+
'width',
|
|
9070
|
+
'height',
|
|
9071
|
+
'href',
|
|
9072
|
+
'src',
|
|
9073
|
+
// Ionic component presentational props
|
|
9074
|
+
'color',
|
|
9075
|
+
'size',
|
|
9076
|
+
'shape',
|
|
9077
|
+
'fill',
|
|
9078
|
+
'expand',
|
|
9079
|
+
'mode',
|
|
9080
|
+
'theme',
|
|
9081
|
+
'icon',
|
|
9082
|
+
'label',
|
|
9083
|
+
'label-placement',
|
|
9084
|
+
'justify',
|
|
9085
|
+
'inset',
|
|
9086
|
+
'lines',
|
|
9087
|
+
'ios',
|
|
9088
|
+
'md',
|
|
9089
|
+
// SVG presentation attributes (compared lowercased, e.g. `viewBox`)
|
|
9090
|
+
'xmlns',
|
|
9091
|
+
'viewbox',
|
|
9092
|
+
'preserveaspectratio',
|
|
9093
|
+
'stroke',
|
|
9094
|
+
'stroke-width',
|
|
9095
|
+
'stroke-linecap',
|
|
9096
|
+
'stroke-linejoin',
|
|
9097
|
+
'stroke-opacity',
|
|
9098
|
+
'stroke-dasharray',
|
|
9099
|
+
'fill-rule',
|
|
9100
|
+
'fill-opacity',
|
|
9101
|
+
'clip-rule',
|
|
9102
|
+
'd',
|
|
9103
|
+
'points',
|
|
9104
|
+
'cx',
|
|
9105
|
+
'cy',
|
|
9106
|
+
'r',
|
|
9107
|
+
'rx',
|
|
9108
|
+
'ry',
|
|
9109
|
+
'x',
|
|
9110
|
+
'y',
|
|
9111
|
+
'x1',
|
|
9112
|
+
'y1',
|
|
9113
|
+
'x2',
|
|
9114
|
+
'y2',
|
|
9115
|
+
'transform',
|
|
9116
|
+
'opacity',
|
|
9117
|
+
];
|
|
9118
|
+
/**
|
|
9119
|
+
* Attribute-name prefixes that are always safe to keep in the rich-content
|
|
9120
|
+
* path. `aria-*` and `data-*` attributes cannot execute script or load
|
|
9121
|
+
* resources, so they are allowed wholesale rather than enumerated by name.
|
|
9122
|
+
*/
|
|
9123
|
+
const richContentAllowedAttributePrefixes = ['aria-', 'data-'];
|
|
9124
|
+
/**
|
|
9125
|
+
* Whether an attribute name (already lowercased) is safe to keep, by exact
|
|
9126
|
+
* match or by an allowed prefix.
|
|
9127
|
+
*/
|
|
9128
|
+
const isAttributeAllowed = (lowerName, allowedAttributes, allowedAttributePrefixes) => {
|
|
9129
|
+
if (allowedAttributes.includes(lowerName)) {
|
|
9130
|
+
return true;
|
|
9131
|
+
}
|
|
9132
|
+
return allowedAttributePrefixes.some((prefix) => lowerName.startsWith(prefix));
|
|
9133
|
+
};
|
|
9134
|
+
/**
|
|
9135
|
+
* Matches ASCII control characters and whitespace (including the
|
|
9136
|
+
* non-breaking space). Used to normalize attribute values before matching
|
|
9137
|
+
* a URL scheme so entity-obfuscated payloads such as `java	script:`
|
|
9138
|
+
* (decoded by the parser to `java\tscript:`) can't smuggle a scheme past
|
|
9139
|
+
* the check.
|
|
9140
|
+
*/
|
|
9141
|
+
// eslint-disable-next-line no-control-regex -- matching control characters is the point
|
|
9142
|
+
const controlCharactersAndWhitespace = /[\u0000-\u0020\u007f-\u00a0]/g;
|
|
9143
|
+
/**
|
|
9144
|
+
* Attributes whose values are URLs. Their values are scheme-checked in
|
|
9145
|
+
* `sanitizeElement` (e.g. `data:` filtering) beyond the script-scheme scrub
|
|
9146
|
+
* applied to every attribute.
|
|
9147
|
+
*/
|
|
9148
|
+
const urlAttributes = ['href', 'src'];
|
|
9149
|
+
/**
|
|
9150
|
+
* Matches a `data:` URI for a raster image type that cannot carry script.
|
|
9151
|
+
* `image/svg+xml` is deliberately excluded (SVG can execute script), as are
|
|
9152
|
+
* document types like `text/html` and `application/*`. The value is already
|
|
9153
|
+
* lowercased and whitespace-stripped before this is tested.
|
|
9154
|
+
*/
|
|
9155
|
+
const safeDataImageUri = /^data:image\/(?:png|jpe?g|gif|webp|bmp|avif|x-icon|vnd\.microsoft\.icon)[;,]/;
|
|
9156
|
+
/**
|
|
9157
|
+
* Tags removed entirely (with their subtree) before attribute sanitization.
|
|
9158
|
+
* Exported so tests can assert the set without hardcoding it.
|
|
9159
|
+
*/
|
|
9160
|
+
const blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed', 'base'];
|
|
9161
|
+
/**
|
|
9162
|
+
* Properties on custom elements that frameworks (Vue, Angular) often
|
|
9163
|
+
* set as DOM properties rather than attributes. `cloneNode` only copies
|
|
9164
|
+
* attributes, so these values are lost when slotted content is cloned
|
|
9165
|
+
* into an overlay. For each known custom element, we mirror the listed
|
|
9166
|
+
* properties onto attributes so the cloned copy still has the data it
|
|
9167
|
+
* needs to render.
|
|
9168
|
+
*
|
|
9169
|
+
* Keyed by uppercased tagName so the lookup matches `Element.tagName`.
|
|
9170
|
+
*/
|
|
9171
|
+
const elementPropsToReflect = {
|
|
9172
|
+
'ION-ICON': ['icon', 'name', 'src', 'ios', 'md'],
|
|
9173
|
+
};
|
|
9174
|
+
class IonicSafeString {
|
|
9175
|
+
constructor(value) {
|
|
9176
|
+
this.value = value;
|
|
9177
|
+
}
|
|
9178
|
+
}
|
|
9179
|
+
|
|
9180
|
+
/**
|
|
9181
|
+
* Converts a DOM node into a Stencil VNode (or text string) so the
|
|
9182
|
+
* resulting tree is rendered through the component's normal render
|
|
9183
|
+
* path. Rendering through Stencil ensures that scoped CSS classes
|
|
9184
|
+
* (e.g. `sc-ion-action-sheet-ionic`) are applied to every element.
|
|
9185
|
+
*
|
|
9186
|
+
* Highly recommended to pre-sanitize the source DOM (see
|
|
9187
|
+
* `getOptionContent` in select.tsx). This function performs pure
|
|
9188
|
+
* structural conversion — no security filtering.
|
|
9189
|
+
*
|
|
9190
|
+
* Preserves attributes only — properties set imperatively on the source
|
|
9191
|
+
* element (e.g. `input.value` after a user types) won't carry through.
|
|
9192
|
+
* In practice this isn't a concern: interactive controls shouldn't
|
|
9193
|
+
* appear in select-option rich content since they'd nest inside the
|
|
9194
|
+
* overlay's button/radio/checkbox wrapper, which is invalid HTML and
|
|
9195
|
+
* an accessibility issue.
|
|
9196
|
+
*
|
|
9197
|
+
* @param node - The DOM node to convert. Text nodes become strings,
|
|
9198
|
+
* element nodes become VNodes, and any other node types are skipped.
|
|
9199
|
+
* @param keyPrefix - String prefix used to build a stable VNode key,
|
|
9200
|
+
* so Stencil's diff can preserve elements across re-renders.
|
|
9201
|
+
* @param index - Position of this node among its siblings. Combined
|
|
9202
|
+
* with `keyPrefix` to form the final unique key.
|
|
9203
|
+
* @returns The converted VNode, a text string, or `null` if the node
|
|
9204
|
+
* type isn't supported.
|
|
9205
|
+
*
|
|
9206
|
+
* @internal Exported only so it can be unit tested; not part of the
|
|
9207
|
+
* public API.
|
|
9208
|
+
*/
|
|
9209
|
+
const cloneToVNode = (node, keyPrefix, index) => {
|
|
9210
|
+
var _a;
|
|
9211
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
9212
|
+
return (_a = node.textContent) !== null && _a !== void 0 ? _a : '';
|
|
9213
|
+
}
|
|
9214
|
+
if (node.nodeType !== Node.ELEMENT_NODE) {
|
|
9215
|
+
return null;
|
|
9216
|
+
}
|
|
9217
|
+
const el = node;
|
|
9218
|
+
const tag = el.tagName.toLowerCase();
|
|
9219
|
+
const key = `${keyPrefix}-${index}`;
|
|
9220
|
+
const attrs = { key };
|
|
9221
|
+
for (let i = 0; i < el.attributes.length; i++) {
|
|
9222
|
+
const attr = el.attributes.item(i);
|
|
9223
|
+
attrs[attr.name] = attr.value;
|
|
9224
|
+
}
|
|
9225
|
+
const children = Array.from(el.childNodes)
|
|
9226
|
+
.map((child, i) => cloneToVNode(child, key, i))
|
|
9227
|
+
.filter((c) => c !== null);
|
|
9228
|
+
return hAsync(tag, attrs, children);
|
|
9229
|
+
};
|
|
9230
|
+
/**
|
|
9231
|
+
* Renders cloned DOM content as Stencil JSX. Walking the source DOM
|
|
9232
|
+
* into VNodes (rather than injecting it via innerHTML) keeps the
|
|
9233
|
+
* content inside Stencil's render path, so scoped CSS classes are
|
|
9234
|
+
* applied automatically and component attributes like `size` or
|
|
9235
|
+
* `color` survive intact.
|
|
9236
|
+
*
|
|
9237
|
+
* Span elements should be used when this content renders within buttons,
|
|
9238
|
+
* depending on the select interface. Buttons can only have phrasing
|
|
9239
|
+
* content to prevent accessibility issues.
|
|
9240
|
+
*
|
|
9241
|
+
* @param id - Unique identifier for generating stable virtual DOM keys.
|
|
9242
|
+
* @param content - The HTMLElement container whose child nodes will be cloned.
|
|
9243
|
+
* @param className - CSS class applied to the wrapper element.
|
|
9244
|
+
* @param useSpan - Whether to use a span element instead of a div for the wrapper.
|
|
9245
|
+
*/
|
|
9246
|
+
const renderClonedContent = (id, content, className, useSpan = false) => {
|
|
9247
|
+
const Tag = useSpan ? 'span' : 'div';
|
|
9248
|
+
const keyPrefix = `${className}-${id}`;
|
|
9249
|
+
/**
|
|
9250
|
+
* Do not remove. This is the only sanitization pass for callers that pass
|
|
9251
|
+
* an `HTMLElement` straight to `renderOptionLabel` (e.g. vanilla JS)
|
|
9252
|
+
* without going through `getOptionContent`, which sanitizes upstream.
|
|
9253
|
+
* `cloneToVNode` does pure structural conversion and no security
|
|
9254
|
+
* filtering, so dropping this call would reopen an XSS hole on the
|
|
9255
|
+
* direct `HTMLElement` path.
|
|
9256
|
+
*/
|
|
9257
|
+
sanitizeDOMTree(content);
|
|
9258
|
+
return (hAsync(Tag, { class: className, key: keyPrefix }, Array.from(content.childNodes).map((child, i) => cloneToVNode(child, keyPrefix, i))));
|
|
9259
|
+
};
|
|
9260
|
+
/**
|
|
9261
|
+
* Renders the label content for a select option within an overlay
|
|
9262
|
+
* interface based on the presence of rich content.
|
|
9263
|
+
*
|
|
9264
|
+
* Span elements should be used when this content renders within buttons,
|
|
9265
|
+
* depending on the select interface. Buttons can only have phrasing
|
|
9266
|
+
* content to prevent accessibility issues.
|
|
9267
|
+
*
|
|
9268
|
+
* @param option - The content option data containing label, slots,
|
|
9269
|
+
* and description.
|
|
9270
|
+
* @param className - The base CSS class for the label element.
|
|
9271
|
+
* @param useSpan - Whether to use a span element instead of a div for the label.
|
|
9272
|
+
*/
|
|
9273
|
+
const renderOptionLabel = (option, className, useSpan = false) => {
|
|
9274
|
+
const { id, label, startContent, endContent, description } = option;
|
|
9275
|
+
const hasRichContent = !!startContent || !!endContent || !!description;
|
|
9276
|
+
const Tag = useSpan ? 'span' : 'div';
|
|
9277
|
+
// Render simple string label if there is no rich content to display
|
|
9278
|
+
if (!hasRichContent && (typeof label === 'string' || !label)) {
|
|
9279
|
+
return (hAsync(Tag, { class: className, key: `${className}-${id}` }, label));
|
|
9280
|
+
}
|
|
9281
|
+
// Render the main label
|
|
9282
|
+
const labelEl = typeof label === 'string' || !label ? (
|
|
9283
|
+
// Label is a simple string or undefined
|
|
9284
|
+
hAsync(Tag, { key: `${className}-label-${id}` }, label)) : (
|
|
9285
|
+
// Label is an HTMLElement with potential rich content
|
|
9286
|
+
renderClonedContent(id, label, `${className}-text`, useSpan));
|
|
9287
|
+
// No rich content, render just the label
|
|
9288
|
+
if (!hasRichContent) {
|
|
9289
|
+
return (hAsync(Tag, { class: className, key: `${className}-${id}` }, labelEl));
|
|
9290
|
+
}
|
|
9291
|
+
// Render label with rich content (start, end, description)
|
|
9292
|
+
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)));
|
|
9293
|
+
};
|
|
9294
|
+
|
|
8762
9295
|
const hostContext = (selector, el) => {
|
|
8763
9296
|
return el.closest(selector) !== null;
|
|
8764
9297
|
};
|
|
@@ -9614,7 +10147,7 @@ const createAnimation = (animationId) => {
|
|
|
9614
10147
|
/**
|
|
9615
10148
|
* iOS Action Sheet Enter Animation
|
|
9616
10149
|
*/
|
|
9617
|
-
const iosEnterAnimation$
|
|
10150
|
+
const iosEnterAnimation$5 = (baseEl) => {
|
|
9618
10151
|
const baseAnimation = createAnimation();
|
|
9619
10152
|
const backdropAnimation = createAnimation();
|
|
9620
10153
|
const wrapperAnimation = createAnimation();
|
|
@@ -9638,7 +10171,7 @@ const iosEnterAnimation$6 = (baseEl) => {
|
|
|
9638
10171
|
/**
|
|
9639
10172
|
* iOS Action Sheet Leave Animation
|
|
9640
10173
|
*/
|
|
9641
|
-
const iosLeaveAnimation$
|
|
10174
|
+
const iosLeaveAnimation$5 = (baseEl) => {
|
|
9642
10175
|
const baseAnimation = createAnimation();
|
|
9643
10176
|
const backdropAnimation = createAnimation();
|
|
9644
10177
|
const wrapperAnimation = createAnimation();
|
|
@@ -9695,9 +10228,9 @@ const mdLeaveAnimation$5 = (baseEl) => {
|
|
|
9695
10228
|
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
9696
10229
|
};
|
|
9697
10230
|
|
|
9698
|
-
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)}}`;
|
|
10231
|
+
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)}}`;
|
|
9699
10232
|
|
|
9700
|
-
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}`;
|
|
10233
|
+
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}`;
|
|
9701
10234
|
|
|
9702
10235
|
/**
|
|
9703
10236
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
@@ -9794,7 +10327,7 @@ class ActionSheet {
|
|
|
9794
10327
|
async present() {
|
|
9795
10328
|
const unlock = await this.lockController.lock();
|
|
9796
10329
|
await this.delegateController.attachViewToDom();
|
|
9797
|
-
await present(this, 'actionSheetEnter', iosEnterAnimation$
|
|
10330
|
+
await present(this, 'actionSheetEnter', iosEnterAnimation$5, mdEnterAnimation$5);
|
|
9798
10331
|
unlock();
|
|
9799
10332
|
}
|
|
9800
10333
|
/**
|
|
@@ -9811,7 +10344,7 @@ class ActionSheet {
|
|
|
9811
10344
|
*/
|
|
9812
10345
|
async dismiss(data, role) {
|
|
9813
10346
|
const unlock = await this.lockController.lock();
|
|
9814
|
-
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$
|
|
10347
|
+
const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$5, mdLeaveAnimation$5);
|
|
9815
10348
|
if (dismissed) {
|
|
9816
10349
|
this.delegateController.removeViewFromDom();
|
|
9817
10350
|
}
|
|
@@ -9980,6 +10513,10 @@ class ActionSheet {
|
|
|
9980
10513
|
this.gesture = undefined;
|
|
9981
10514
|
}
|
|
9982
10515
|
this.triggerController.removeClickListener();
|
|
10516
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
10517
|
+
if (this.presented) {
|
|
10518
|
+
cleanupRootFocusTrapAccessibility();
|
|
10519
|
+
}
|
|
9983
10520
|
}
|
|
9984
10521
|
componentWillLoad() {
|
|
9985
10522
|
var _a;
|
|
@@ -10068,12 +10605,26 @@ class ActionSheet {
|
|
|
10068
10605
|
if (isRadio) {
|
|
10069
10606
|
htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
|
|
10070
10607
|
}
|
|
10071
|
-
|
|
10608
|
+
/**
|
|
10609
|
+
* Cast to `SelectActionSheetButton` to access rich content
|
|
10610
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
10611
|
+
* that are passed through from `ion-select` but not
|
|
10612
|
+
* part of the public `ActionSheetButton` interface.
|
|
10613
|
+
*/
|
|
10614
|
+
const richButton = b;
|
|
10615
|
+
const optionLabelOptions = {
|
|
10616
|
+
id: buttonId,
|
|
10617
|
+
label: richButton.text,
|
|
10618
|
+
startContent: richButton.startContent,
|
|
10619
|
+
endContent: richButton.endContent,
|
|
10620
|
+
description: richButton.description,
|
|
10621
|
+
};
|
|
10622
|
+
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: () => {
|
|
10072
10623
|
if (isRadio) {
|
|
10073
10624
|
this.selectRadioButton(b);
|
|
10074
10625
|
}
|
|
10075
10626
|
this.buttonClick(b);
|
|
10076
|
-
}, 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" }),
|
|
10627
|
+
}, 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)));
|
|
10077
10628
|
});
|
|
10078
10629
|
}
|
|
10079
10630
|
render() {
|
|
@@ -10083,12 +10634,12 @@ class ActionSheet {
|
|
|
10083
10634
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
10084
10635
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
10085
10636
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
10086
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
10637
|
+
return (hAsync(Host, Object.assign({ key: '7685831da9a78b73473246a2cea95cefa79a53c3', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
10087
10638
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
10088
|
-
}, 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: '
|
|
10639
|
+
}, 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: {
|
|
10089
10640
|
'action-sheet-title': true,
|
|
10090
10641
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
10091
|
-
} }, header, this.subHeader && hAsync("div", { key: '
|
|
10642
|
+
} }, 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" })));
|
|
10092
10643
|
}
|
|
10093
10644
|
get el() { return getElement(this); }
|
|
10094
10645
|
static get watchers() { return {
|
|
@@ -10137,178 +10688,59 @@ class ActionSheet {
|
|
|
10137
10688
|
"$attrsToReflect$": []
|
|
10138
10689
|
}; }
|
|
10139
10690
|
}
|
|
10140
|
-
const buttonClass$
|
|
10691
|
+
const buttonClass$2 = (button) => {
|
|
10141
10692
|
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));
|
|
10142
10693
|
};
|
|
10143
10694
|
|
|
10144
10695
|
const ENABLE_HTML_CONTENT_DEFAULT = false;
|
|
10145
10696
|
|
|
10697
|
+
// 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.
|
|
10146
10698
|
/**
|
|
10147
|
-
*
|
|
10148
|
-
*
|
|
10149
|
-
|
|
10150
|
-
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
|
|
10154
|
-
|
|
10155
|
-
|
|
10156
|
-
|
|
10157
|
-
|
|
10158
|
-
|
|
10159
|
-
|
|
10160
|
-
* fragment in Chrome. If a string
|
|
10161
|
-
* contains onload then we should not
|
|
10162
|
-
* attempt to add this to the fragment.
|
|
10163
|
-
*/
|
|
10164
|
-
if (untrustedString.includes('onload=')) {
|
|
10165
|
-
return '';
|
|
10166
|
-
}
|
|
10167
|
-
/**
|
|
10168
|
-
* Create a document fragment
|
|
10169
|
-
* separate from the main DOM,
|
|
10170
|
-
* create a div to do our work in
|
|
10171
|
-
*/
|
|
10172
|
-
const documentFragment = document.createDocumentFragment();
|
|
10173
|
-
const workingDiv = document.createElement('div');
|
|
10174
|
-
documentFragment.appendChild(workingDiv);
|
|
10175
|
-
workingDiv.innerHTML = untrustedString;
|
|
10176
|
-
/**
|
|
10177
|
-
* Remove any elements
|
|
10178
|
-
* that are blocked
|
|
10179
|
-
*/
|
|
10180
|
-
blockedTags.forEach((blockedTag) => {
|
|
10181
|
-
const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);
|
|
10182
|
-
for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {
|
|
10183
|
-
const element = getElementsToRemove[elementIndex];
|
|
10184
|
-
if (element.parentNode) {
|
|
10185
|
-
element.parentNode.removeChild(element);
|
|
10186
|
-
}
|
|
10187
|
-
else {
|
|
10188
|
-
documentFragment.removeChild(element);
|
|
10189
|
-
}
|
|
10190
|
-
/**
|
|
10191
|
-
* We still need to sanitize
|
|
10192
|
-
* the children of this element
|
|
10193
|
-
* as they are left behind
|
|
10194
|
-
*/
|
|
10195
|
-
const childElements = getElementChildren(element);
|
|
10196
|
-
/* eslint-disable-next-line */
|
|
10197
|
-
for (let childIndex = 0; childIndex < childElements.length; childIndex++) {
|
|
10198
|
-
sanitizeElement(childElements[childIndex]);
|
|
10199
|
-
}
|
|
10200
|
-
}
|
|
10201
|
-
});
|
|
10202
|
-
/**
|
|
10203
|
-
* Go through remaining elements and remove
|
|
10204
|
-
* non-allowed attribs
|
|
10205
|
-
*/
|
|
10206
|
-
// IE does not support .children on document fragments, only .childNodes
|
|
10207
|
-
const dfChildren = getElementChildren(documentFragment);
|
|
10208
|
-
/* eslint-disable-next-line */
|
|
10209
|
-
for (let childIndex = 0; childIndex < dfChildren.length; childIndex++) {
|
|
10210
|
-
sanitizeElement(dfChildren[childIndex]);
|
|
10211
|
-
}
|
|
10212
|
-
// Append document fragment to div
|
|
10213
|
-
const fragmentDiv = document.createElement('div');
|
|
10214
|
-
fragmentDiv.appendChild(documentFragment);
|
|
10215
|
-
// First child is always the div we did our work in
|
|
10216
|
-
const getInnerDiv = fragmentDiv.querySelector('div');
|
|
10217
|
-
return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
|
|
10218
|
-
}
|
|
10219
|
-
catch (err) {
|
|
10220
|
-
printIonError('sanitizeDOMString', err);
|
|
10221
|
-
return '';
|
|
10222
|
-
}
|
|
10223
|
-
};
|
|
10224
|
-
/**
|
|
10225
|
-
* Clean up current element based on allowed attributes
|
|
10226
|
-
* and then recursively dig down into any child elements to
|
|
10227
|
-
* clean those up as well
|
|
10699
|
+
* Returns the default `labelPlacement` for a radio or checkbox option
|
|
10700
|
+
* rendered inside an overlay. Defaults follow each mode's established
|
|
10701
|
+
* option-row layout:
|
|
10702
|
+
* - `ios`: `"start"` for radio in `alert` and `popover`. The `modal`
|
|
10703
|
+
* interface flips iOS radio back to `"end"`. Checkbox is always
|
|
10704
|
+
* `"end"` on iOS.
|
|
10705
|
+
* - everything else (e.g. `md`): `"end"`.
|
|
10706
|
+
*
|
|
10707
|
+
* `interfaceType` is optional; only `"modal"` changes the result, so
|
|
10708
|
+
* callers that aren't a modal can omit it.
|
|
10709
|
+
*
|
|
10710
|
+
* Used by `select-popover` and `select-modal` as the fallback when an
|
|
10711
|
+
* option doesn't explicitly set `labelPlacement`.
|
|
10228
10712
|
*/
|
|
10229
|
-
|
|
10230
|
-
|
|
10231
|
-
|
|
10232
|
-
if (element.nodeType && element.nodeType !== 1) {
|
|
10233
|
-
return;
|
|
10234
|
-
}
|
|
10235
|
-
/**
|
|
10236
|
-
* If attributes is not a NamedNodeMap
|
|
10237
|
-
* then we should remove the element entirely.
|
|
10238
|
-
* This helps avoid DOM Clobbering attacks where
|
|
10239
|
-
* attributes is overridden.
|
|
10240
|
-
*/
|
|
10241
|
-
if (typeof NamedNodeMap !== 'undefined' && !(element.attributes instanceof NamedNodeMap)) {
|
|
10242
|
-
element.remove();
|
|
10243
|
-
return;
|
|
10244
|
-
}
|
|
10245
|
-
for (let i = element.attributes.length - 1; i >= 0; i--) {
|
|
10246
|
-
const attribute = element.attributes.item(i);
|
|
10247
|
-
const attributeName = attribute.name;
|
|
10248
|
-
// remove non-allowed attribs
|
|
10249
|
-
if (!allowedAttributes.includes(attributeName.toLowerCase())) {
|
|
10250
|
-
element.removeAttribute(attributeName);
|
|
10251
|
-
continue;
|
|
10252
|
-
}
|
|
10253
|
-
// clean up any allowed attribs
|
|
10254
|
-
// that attempt to do any JS funny-business
|
|
10255
|
-
const attributeValue = attribute.value;
|
|
10256
|
-
/**
|
|
10257
|
-
* We also need to check the property value
|
|
10258
|
-
* as javascript: can allow special characters
|
|
10259
|
-
* such as 	 and still be valid (i.e. java	script)
|
|
10260
|
-
*/
|
|
10261
|
-
const propertyValue = element[attributeName];
|
|
10262
|
-
/* eslint-disable */
|
|
10263
|
-
if ((attributeValue != null && attributeValue.toLowerCase().includes('javascript:')) ||
|
|
10264
|
-
(propertyValue != null && propertyValue.toLowerCase().includes('javascript:'))) {
|
|
10265
|
-
element.removeAttribute(attributeName);
|
|
10266
|
-
}
|
|
10267
|
-
/* eslint-enable */
|
|
10268
|
-
}
|
|
10269
|
-
/**
|
|
10270
|
-
* Sanitize any nested children
|
|
10271
|
-
*/
|
|
10272
|
-
const childElements = getElementChildren(element);
|
|
10273
|
-
/* eslint-disable-next-line */
|
|
10274
|
-
for (let i = 0; i < childElements.length; i++) {
|
|
10275
|
-
sanitizeElement(childElements[i]);
|
|
10713
|
+
const getOverlayLabelPlacement = (mode, control, interfaceType) => {
|
|
10714
|
+
if (mode === 'ios' && control === 'radio' && interfaceType !== 'modal') {
|
|
10715
|
+
return 'start';
|
|
10276
10716
|
}
|
|
10717
|
+
return 'end';
|
|
10277
10718
|
};
|
|
10278
10719
|
/**
|
|
10279
|
-
*
|
|
10280
|
-
*
|
|
10720
|
+
* Returns the default `justify` for a radio or checkbox option rendered
|
|
10721
|
+
* inside an overlay. Defaults follow each mode's option-row layout:
|
|
10722
|
+
* - `ios`: `"space-between"` for radio in `alert` and `popover`. The
|
|
10723
|
+
* `modal` interface falls back to `"start"`. Checkbox is always `"start"`
|
|
10724
|
+
* on iOS.
|
|
10725
|
+
* - everything else (e.g. `md`): `"start"`.
|
|
10726
|
+
*
|
|
10727
|
+
* `interfaceType` is optional; only `"modal"` changes the result, so
|
|
10728
|
+
* callers that aren't a modal can omit it.
|
|
10729
|
+
*
|
|
10730
|
+
* Used by `select-popover` and `select-modal` as the fallback when an
|
|
10731
|
+
* option doesn't explicitly set `justify`.
|
|
10281
10732
|
*/
|
|
10282
|
-
|
|
10283
|
-
|
|
10284
|
-
|
|
10285
|
-
};
|
|
10286
|
-
const isSanitizerEnabled = () => {
|
|
10287
|
-
var _a;
|
|
10288
|
-
const win = window;
|
|
10289
|
-
const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
|
|
10290
|
-
if (config) {
|
|
10291
|
-
if (config.get) {
|
|
10292
|
-
return config.get('sanitizerEnabled', true);
|
|
10293
|
-
}
|
|
10294
|
-
else {
|
|
10295
|
-
return config.sanitizerEnabled === true || config.sanitizerEnabled === undefined;
|
|
10296
|
-
}
|
|
10733
|
+
const getOverlayLabelJustify = (mode, control, interfaceType) => {
|
|
10734
|
+
if (mode === 'ios' && control === 'radio' && interfaceType !== 'modal') {
|
|
10735
|
+
return 'space-between';
|
|
10297
10736
|
}
|
|
10298
|
-
return
|
|
10737
|
+
return 'start';
|
|
10299
10738
|
};
|
|
10300
|
-
const allowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];
|
|
10301
|
-
const blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed'];
|
|
10302
|
-
class IonicSafeString {
|
|
10303
|
-
constructor(value) {
|
|
10304
|
-
this.value = value;
|
|
10305
|
-
}
|
|
10306
|
-
}
|
|
10307
10739
|
|
|
10308
10740
|
/**
|
|
10309
10741
|
* iOS Alert Enter Animation
|
|
10310
10742
|
*/
|
|
10311
|
-
const iosEnterAnimation$
|
|
10743
|
+
const iosEnterAnimation$4 = (baseEl) => {
|
|
10312
10744
|
const baseAnimation = createAnimation();
|
|
10313
10745
|
const backdropAnimation = createAnimation();
|
|
10314
10746
|
const wrapperAnimation = createAnimation();
|
|
@@ -10333,7 +10765,7 @@ const iosEnterAnimation$5 = (baseEl) => {
|
|
|
10333
10765
|
/**
|
|
10334
10766
|
* iOS Alert Leave Animation
|
|
10335
10767
|
*/
|
|
10336
|
-
const iosLeaveAnimation$
|
|
10768
|
+
const iosLeaveAnimation$4 = (baseEl) => {
|
|
10337
10769
|
const baseAnimation = createAnimation();
|
|
10338
10770
|
const backdropAnimation = createAnimation();
|
|
10339
10771
|
const wrapperAnimation = createAnimation();
|
|
@@ -10390,9 +10822,9 @@ const mdLeaveAnimation$4 = (baseEl) => {
|
|
|
10390
10822
|
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
10391
10823
|
};
|
|
10392
10824
|
|
|
10393
|
-
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)}`;
|
|
10825
|
+
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)}`;
|
|
10394
10826
|
|
|
10395
|
-
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)}}`;
|
|
10827
|
+
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)}}`;
|
|
10396
10828
|
|
|
10397
10829
|
// TODO(FW-2832): types
|
|
10398
10830
|
/**
|
|
@@ -10566,22 +10998,7 @@ class Alert {
|
|
|
10566
10998
|
this.inputType = inputTypes.values().next().value;
|
|
10567
10999
|
this.processedInputs = inputs.map((i, index) => {
|
|
10568
11000
|
var _a;
|
|
10569
|
-
return ({
|
|
10570
|
-
type: i.type || 'text',
|
|
10571
|
-
name: i.name || `${index}`,
|
|
10572
|
-
placeholder: i.placeholder || '',
|
|
10573
|
-
value: i.value,
|
|
10574
|
-
label: i.label,
|
|
10575
|
-
checked: !!i.checked,
|
|
10576
|
-
disabled: !!i.disabled,
|
|
10577
|
-
id: i.id || `alert-input-${this.overlayIndex}-${index}`,
|
|
10578
|
-
handler: i.handler,
|
|
10579
|
-
min: i.min,
|
|
10580
|
-
max: i.max,
|
|
10581
|
-
cssClass: (_a = i.cssClass) !== null && _a !== void 0 ? _a : '',
|
|
10582
|
-
attributes: i.attributes || {},
|
|
10583
|
-
tabindex: i.type === 'radio' && i !== focusable ? -1 : 0,
|
|
10584
|
-
});
|
|
11001
|
+
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 });
|
|
10585
11002
|
});
|
|
10586
11003
|
}
|
|
10587
11004
|
connectedCallback() {
|
|
@@ -10609,6 +11026,10 @@ class Alert {
|
|
|
10609
11026
|
this.gesture.destroy();
|
|
10610
11027
|
this.gesture = undefined;
|
|
10611
11028
|
}
|
|
11029
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
11030
|
+
if (this.presented) {
|
|
11031
|
+
cleanupRootFocusTrapAccessibility();
|
|
11032
|
+
}
|
|
10612
11033
|
(_a = this.buttonGroupResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
10613
11034
|
this.buttonGroupResizeObserver = undefined;
|
|
10614
11035
|
}
|
|
@@ -10648,7 +11069,7 @@ class Alert {
|
|
|
10648
11069
|
async present() {
|
|
10649
11070
|
const unlock = await this.lockController.lock();
|
|
10650
11071
|
await this.delegateController.attachViewToDom();
|
|
10651
|
-
await present(this, 'alertEnter', iosEnterAnimation$
|
|
11072
|
+
await present(this, 'alertEnter', iosEnterAnimation$4, mdEnterAnimation$4).then(() => {
|
|
10652
11073
|
var _a, _b;
|
|
10653
11074
|
/**
|
|
10654
11075
|
* Check if alert has only one button and no inputs.
|
|
@@ -10679,7 +11100,7 @@ class Alert {
|
|
|
10679
11100
|
*/
|
|
10680
11101
|
async dismiss(data, role) {
|
|
10681
11102
|
const unlock = await this.lockController.lock();
|
|
10682
|
-
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$
|
|
11103
|
+
const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$4, mdLeaveAnimation$4);
|
|
10683
11104
|
if (dismissed) {
|
|
10684
11105
|
this.delegateController.removeViewFromDom();
|
|
10685
11106
|
}
|
|
@@ -10777,14 +11198,61 @@ class Alert {
|
|
|
10777
11198
|
if (inputs.length === 0) {
|
|
10778
11199
|
return null;
|
|
10779
11200
|
}
|
|
10780
|
-
return (hAsync("div", { class: "alert-checkbox-group" }, inputs.map((i) =>
|
|
11201
|
+
return (hAsync("div", { class: "alert-checkbox-group" }, inputs.map((i) => {
|
|
11202
|
+
var _a, _b;
|
|
11203
|
+
/**
|
|
11204
|
+
* Cast to `SelectAlertInput` to access rich content
|
|
11205
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
11206
|
+
* that are passed through from `ion-select` but not
|
|
11207
|
+
* part of the public `AlertInput` interface.
|
|
11208
|
+
*/
|
|
11209
|
+
const richInput = i;
|
|
11210
|
+
const optionLabelOptions = {
|
|
11211
|
+
id: richInput.id,
|
|
11212
|
+
label: richInput.label,
|
|
11213
|
+
startContent: richInput.startContent,
|
|
11214
|
+
endContent: richInput.endContent,
|
|
11215
|
+
description: richInput.description,
|
|
11216
|
+
};
|
|
11217
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox');
|
|
11218
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'checkbox');
|
|
11219
|
+
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: {
|
|
11220
|
+
'alert-button-inner': true,
|
|
11221
|
+
[`checkbox-label-placement-${(_a = richInput.labelPlacement) !== null && _a !== void 0 ? _a : defaultLabelPlacement}`]: true,
|
|
11222
|
+
[`checkbox-justify-${(_b = richInput.justify) !== null && _b !== void 0 ? _b : defaultJustify}`]: true,
|
|
11223
|
+
} }, hAsync("div", { class: "alert-checkbox-icon" }, hAsync("div", { class: "alert-checkbox-inner" })), renderOptionLabel(optionLabelOptions, 'alert-checkbox-label')), mode === 'md' && hAsync("ion-ripple-effect", null)));
|
|
11224
|
+
})));
|
|
10781
11225
|
}
|
|
10782
11226
|
renderRadio() {
|
|
10783
11227
|
const inputs = this.processedInputs;
|
|
11228
|
+
const mode = getIonMode$1(this);
|
|
10784
11229
|
if (inputs.length === 0) {
|
|
10785
11230
|
return null;
|
|
10786
11231
|
}
|
|
10787
|
-
return (hAsync("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) =>
|
|
11232
|
+
return (hAsync("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) => {
|
|
11233
|
+
var _a, _b;
|
|
11234
|
+
/**
|
|
11235
|
+
* Cast to `SelectAlertInput` to access rich content
|
|
11236
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
11237
|
+
* that are passed through from `ion-select` but not
|
|
11238
|
+
* part of the public `AlertInput` interface.
|
|
11239
|
+
*/
|
|
11240
|
+
const richInput = i;
|
|
11241
|
+
const optionLabelOptions = {
|
|
11242
|
+
id: richInput.id,
|
|
11243
|
+
label: richInput.label,
|
|
11244
|
+
startContent: richInput.startContent,
|
|
11245
|
+
endContent: richInput.endContent,
|
|
11246
|
+
description: richInput.description,
|
|
11247
|
+
};
|
|
11248
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'radio');
|
|
11249
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'radio');
|
|
11250
|
+
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: {
|
|
11251
|
+
'alert-button-inner': true,
|
|
11252
|
+
[`radio-label-placement-${(_a = richInput.labelPlacement) !== null && _a !== void 0 ? _a : defaultLabelPlacement}`]: true,
|
|
11253
|
+
[`radio-justify-${(_b = richInput.justify) !== null && _b !== void 0 ? _b : defaultJustify}`]: true,
|
|
11254
|
+
} }, hAsync("div", { class: "alert-radio-icon" }, hAsync("div", { class: "alert-radio-inner" })), renderOptionLabel(optionLabelOptions, 'alert-radio-label'))));
|
|
11255
|
+
})));
|
|
10788
11256
|
}
|
|
10789
11257
|
renderInput() {
|
|
10790
11258
|
const inputs = this.processedInputs;
|
|
@@ -10864,7 +11332,7 @@ class Alert {
|
|
|
10864
11332
|
'alert-button-group': true,
|
|
10865
11333
|
'alert-button-group-vertical': buttons.length > 2 || this.isButtonGroupWrapped,
|
|
10866
11334
|
};
|
|
10867
|
-
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$
|
|
11335
|
+
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))))));
|
|
10868
11336
|
}
|
|
10869
11337
|
renderAlertMessage(msgId) {
|
|
10870
11338
|
const { customHTMLEnabled, message } = this;
|
|
@@ -10887,9 +11355,9 @@ class Alert {
|
|
|
10887
11355
|
* If neither are defined, do not set aria-labelledby.
|
|
10888
11356
|
*/
|
|
10889
11357
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
10890
|
-
return (hAsync(Host, { key: '
|
|
11358
|
+
return (hAsync(Host, { key: '022f3463b8e6c52064b90ec304c524847c3d5ad3', tabindex: "-1", style: {
|
|
10891
11359
|
zIndex: `${20000 + overlayIndex}`,
|
|
10892
|
-
}, 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: '
|
|
11360
|
+
}, 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" })));
|
|
10893
11361
|
}
|
|
10894
11362
|
get el() { return getElement(this); }
|
|
10895
11363
|
static get watchers() { return {
|
|
@@ -10947,7 +11415,7 @@ const inputClass = (input) => {
|
|
|
10947
11415
|
var _a, _b, _c;
|
|
10948
11416
|
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() : ''));
|
|
10949
11417
|
};
|
|
10950
|
-
const buttonClass$
|
|
11418
|
+
const buttonClass$1 = (button) => {
|
|
10951
11419
|
return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
10952
11420
|
};
|
|
10953
11421
|
|
|
@@ -15069,9 +15537,9 @@ const checkForPresentationFormatMismatch = (el, presentation, formatOptions) =>
|
|
|
15069
15537
|
}
|
|
15070
15538
|
};
|
|
15071
15539
|
|
|
15072
|
-
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%}`;
|
|
15540
|
+
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%}`;
|
|
15073
15541
|
|
|
15074
|
-
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}`;
|
|
15542
|
+
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}`;
|
|
15075
15543
|
|
|
15076
15544
|
/**
|
|
15077
15545
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
@@ -15137,12 +15605,6 @@ class Datetime {
|
|
|
15137
15605
|
isAdjacentDay: false,
|
|
15138
15606
|
};
|
|
15139
15607
|
this.isTimePopoverOpen = false;
|
|
15140
|
-
/**
|
|
15141
|
-
* The color to use from your application's color palette.
|
|
15142
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
15143
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
15144
|
-
*/
|
|
15145
|
-
this.color = 'primary';
|
|
15146
15608
|
/**
|
|
15147
15609
|
* The name of the control, which is submitted with the form data.
|
|
15148
15610
|
*/
|
|
@@ -16318,7 +16780,7 @@ class Datetime {
|
|
|
16318
16780
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
|
|
16319
16781
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
|
|
16320
16782
|
ev.stopPropagation();
|
|
16321
|
-
} }, 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)))));
|
|
16783
|
+
} }, 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)))));
|
|
16322
16784
|
}
|
|
16323
16785
|
renderIndividualDatePickerColumns(forcePresentation) {
|
|
16324
16786
|
const { workingParts, isDateEnabled } = this;
|
|
@@ -16391,7 +16853,7 @@ class Datetime {
|
|
|
16391
16853
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
|
|
16392
16854
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
|
|
16393
16855
|
ev.stopPropagation();
|
|
16394
|
-
} }, 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)))));
|
|
16856
|
+
} }, 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)))));
|
|
16395
16857
|
}
|
|
16396
16858
|
renderMonthPickerColumn(months) {
|
|
16397
16859
|
if (months.length === 0) {
|
|
@@ -16406,7 +16868,7 @@ class Datetime {
|
|
|
16406
16868
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
|
|
16407
16869
|
}
|
|
16408
16870
|
ev.stopPropagation();
|
|
16409
|
-
} }, 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)))));
|
|
16871
|
+
} }, 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)))));
|
|
16410
16872
|
}
|
|
16411
16873
|
renderYearPickerColumn(years) {
|
|
16412
16874
|
if (years.length === 0) {
|
|
@@ -16421,7 +16883,7 @@ class Datetime {
|
|
|
16421
16883
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
|
|
16422
16884
|
}
|
|
16423
16885
|
ev.stopPropagation();
|
|
16424
|
-
} }, 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)))));
|
|
16886
|
+
} }, 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)))));
|
|
16425
16887
|
}
|
|
16426
16888
|
renderTimePickerColumns(forcePresentation) {
|
|
16427
16889
|
if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
|
|
@@ -16454,7 +16916,7 @@ class Datetime {
|
|
|
16454
16916
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
16455
16917
|
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
|
|
16456
16918
|
ev.stopPropagation();
|
|
16457
|
-
} }, 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)))));
|
|
16919
|
+
} }, 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)))));
|
|
16458
16920
|
}
|
|
16459
16921
|
renderMinutePickerColumn(minutesData) {
|
|
16460
16922
|
const { disabled, workingParts } = this;
|
|
@@ -16465,7 +16927,7 @@ class Datetime {
|
|
|
16465
16927
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
16466
16928
|
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
|
|
16467
16929
|
ev.stopPropagation();
|
|
16468
|
-
} }, 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)))));
|
|
16930
|
+
} }, 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)))));
|
|
16469
16931
|
}
|
|
16470
16932
|
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
16471
16933
|
const { disabled, workingParts } = this;
|
|
@@ -16479,7 +16941,7 @@ class Datetime {
|
|
|
16479
16941
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
16480
16942
|
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
|
|
16481
16943
|
ev.stopPropagation();
|
|
16482
|
-
} }, 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)))));
|
|
16944
|
+
} }, 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)))));
|
|
16483
16945
|
}
|
|
16484
16946
|
renderWheelView(forcePresentation) {
|
|
16485
16947
|
const { locale } = this;
|
|
@@ -16816,7 +17278,7 @@ class Datetime {
|
|
|
16816
17278
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
16817
17279
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
16818
17280
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
16819
|
-
return (hAsync(Host, { key: '
|
|
17281
|
+
return (hAsync(Host, { key: '79b906669d3e0d9ff356421a5f571d5cf12b6793', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
|
|
16820
17282
|
[mode]: true,
|
|
16821
17283
|
['datetime-readonly']: readonly,
|
|
16822
17284
|
['datetime-disabled']: disabled,
|
|
@@ -16826,7 +17288,7 @@ class Datetime {
|
|
|
16826
17288
|
[`datetime-size-${size}`]: true,
|
|
16827
17289
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
16828
17290
|
[`datetime-grid`]: isGridStyle,
|
|
16829
|
-
})) }, hAsync("div", { key: '
|
|
17291
|
+
})) }, hAsync("div", { key: 'e29ce6edd79f3efb8f7cc4a81bb543d580e5f4c6', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
16830
17292
|
}
|
|
16831
17293
|
get el() { return getElement(this); }
|
|
16832
17294
|
static get watchers() { return {
|
|
@@ -16925,9 +17387,9 @@ const WHEEL_PART = 'wheel';
|
|
|
16925
17387
|
const WHEEL_ITEM_PART = 'wheel-item';
|
|
16926
17388
|
const WHEEL_ITEM_ACTIVE_PART = `active`;
|
|
16927
17389
|
|
|
16928
|
-
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))}`;
|
|
17390
|
+
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))}`;
|
|
16929
17391
|
|
|
16930
|
-
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}`;
|
|
17392
|
+
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}`;
|
|
16931
17393
|
|
|
16932
17394
|
/**
|
|
16933
17395
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
@@ -16944,12 +17406,6 @@ class DatetimeButton {
|
|
|
16944
17406
|
this.overlayEl = null;
|
|
16945
17407
|
this.datetimePresentation = 'date-time';
|
|
16946
17408
|
this.datetimeActive = false;
|
|
16947
|
-
/**
|
|
16948
|
-
* The color to use from your application's color palette.
|
|
16949
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
16950
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
16951
|
-
*/
|
|
16952
|
-
this.color = 'primary';
|
|
16953
17409
|
/**
|
|
16954
17410
|
* If `true`, the user cannot interact with the button.
|
|
16955
17411
|
*/
|
|
@@ -17263,11 +17719,11 @@ class DatetimeButton {
|
|
|
17263
17719
|
render() {
|
|
17264
17720
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
17265
17721
|
const mode = getIonMode$1(this);
|
|
17266
|
-
return (hAsync(Host, { key: '
|
|
17722
|
+
return (hAsync(Host, { key: '2aaa284fe9b53b6347fcb5a1d325fbab1a6f38bd', class: createColorClasses$1(color, {
|
|
17267
17723
|
[mode]: true,
|
|
17268
17724
|
[`${selectedButton}-active`]: datetimeActive,
|
|
17269
17725
|
['datetime-button-disabled']: disabled,
|
|
17270
|
-
}) }, dateText && (hAsync("button", { key: '
|
|
17726
|
+
}) }, 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' })))));
|
|
17271
17727
|
}
|
|
17272
17728
|
get el() { return getElement(this); }
|
|
17273
17729
|
static get style() { return {
|
|
@@ -18732,6 +19188,8 @@ const createColorClasses = (color) => {
|
|
|
18732
19188
|
const imgCss = () => `:host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}`;
|
|
18733
19189
|
|
|
18734
19190
|
/**
|
|
19191
|
+
* @deprecated
|
|
19192
|
+
*
|
|
18735
19193
|
* @part image - The inner `img` element.
|
|
18736
19194
|
*/
|
|
18737
19195
|
class Img {
|
|
@@ -18755,6 +19213,8 @@ class Img {
|
|
|
18755
19213
|
this.inheritedAttributes = inheritAttributes$1(this.el, ['draggable']);
|
|
18756
19214
|
}
|
|
18757
19215
|
componentDidLoad() {
|
|
19216
|
+
printIonWarning('[ion-img] - This component is deprecated and will be removed in Ionic v10. ' +
|
|
19217
|
+
'Use a native <img> with the loading="lazy" attribute instead.', this.el);
|
|
18758
19218
|
this.addIO();
|
|
18759
19219
|
}
|
|
18760
19220
|
disconnectedCallback() {
|
|
@@ -18807,7 +19267,7 @@ class Img {
|
|
|
18807
19267
|
render() {
|
|
18808
19268
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
18809
19269
|
const { draggable } = inheritedAttributes;
|
|
18810
|
-
return (hAsync(Host, { key: '
|
|
19270
|
+
return (hAsync(Host, { key: '57bfb44d9850381fe7b6fcf0c9019b03f7ef86ec', class: getIonMode$1(this) }, hAsync("img", { key: '888ec06a266fa2751fc0147ede6a567f4e2b29a6', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
18811
19271
|
}
|
|
18812
19272
|
get el() { return getElement(this); }
|
|
18813
19273
|
static get watchers() { return {
|
|
@@ -19311,7 +19771,7 @@ class Input {
|
|
|
19311
19771
|
/**
|
|
19312
19772
|
* Whether auto correction should be enabled when the user is entering/editing the text value.
|
|
19313
19773
|
*/
|
|
19314
|
-
this.autocorrect =
|
|
19774
|
+
this.autocorrect = false;
|
|
19315
19775
|
/**
|
|
19316
19776
|
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
19317
19777
|
*
|
|
@@ -19768,7 +20228,7 @@ class Input {
|
|
|
19768
20228
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
19769
20229
|
*/
|
|
19770
20230
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
19771
|
-
return (hAsync(Host, { key: '
|
|
20231
|
+
return (hAsync(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses$1(this.color, {
|
|
19772
20232
|
[mode]: true,
|
|
19773
20233
|
'has-value': hasValue,
|
|
19774
20234
|
'has-focus': hasFocus,
|
|
@@ -19779,14 +20239,14 @@ class Input {
|
|
|
19779
20239
|
'in-item': inItem,
|
|
19780
20240
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
19781
20241
|
'input-disabled': disabled,
|
|
19782
|
-
}) }, hAsync("label", { key: '
|
|
20242
|
+
}) }, 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) => {
|
|
19783
20243
|
/**
|
|
19784
20244
|
* This prevents mobile browsers from
|
|
19785
20245
|
* blurring the input when the clear
|
|
19786
20246
|
* button is activated.
|
|
19787
20247
|
*/
|
|
19788
20248
|
ev.preventDefault();
|
|
19789
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
20249
|
+
}, 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()));
|
|
19790
20250
|
}
|
|
19791
20251
|
get el() { return getElement(this); }
|
|
19792
20252
|
static get watchers() { return {
|
|
@@ -19814,7 +20274,7 @@ class Input {
|
|
|
19814
20274
|
"color": [513],
|
|
19815
20275
|
"autocapitalize": [1],
|
|
19816
20276
|
"autocomplete": [1],
|
|
19817
|
-
"autocorrect": [
|
|
20277
|
+
"autocorrect": [4],
|
|
19818
20278
|
"autofocus": [4],
|
|
19819
20279
|
"clearInput": [4, "clear-input"],
|
|
19820
20280
|
"clearInputIcon": [1, "clear-input-icon"],
|
|
@@ -21818,7 +22278,7 @@ class ListHeader {
|
|
|
21818
22278
|
/**
|
|
21819
22279
|
* iOS Loading Enter Animation
|
|
21820
22280
|
*/
|
|
21821
|
-
const iosEnterAnimation$
|
|
22281
|
+
const iosEnterAnimation$3 = (baseEl) => {
|
|
21822
22282
|
const baseAnimation = createAnimation();
|
|
21823
22283
|
const backdropAnimation = createAnimation();
|
|
21824
22284
|
const wrapperAnimation = createAnimation();
|
|
@@ -21843,7 +22303,7 @@ const iosEnterAnimation$4 = (baseEl) => {
|
|
|
21843
22303
|
/**
|
|
21844
22304
|
* iOS Loading Leave Animation
|
|
21845
22305
|
*/
|
|
21846
|
-
const iosLeaveAnimation$
|
|
22306
|
+
const iosLeaveAnimation$3 = (baseEl) => {
|
|
21847
22307
|
const baseAnimation = createAnimation();
|
|
21848
22308
|
const backdropAnimation = createAnimation();
|
|
21849
22309
|
const wrapperAnimation = createAnimation();
|
|
@@ -22016,6 +22476,10 @@ class Loading {
|
|
|
22016
22476
|
}
|
|
22017
22477
|
disconnectedCallback() {
|
|
22018
22478
|
this.triggerController.removeClickListener();
|
|
22479
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
22480
|
+
if (this.presented) {
|
|
22481
|
+
cleanupRootFocusTrapAccessibility();
|
|
22482
|
+
}
|
|
22019
22483
|
}
|
|
22020
22484
|
/**
|
|
22021
22485
|
* Present the loading overlay after it has been created.
|
|
@@ -22023,7 +22487,7 @@ class Loading {
|
|
|
22023
22487
|
async present() {
|
|
22024
22488
|
const unlock = await this.lockController.lock();
|
|
22025
22489
|
await this.delegateController.attachViewToDom();
|
|
22026
|
-
await present(this, 'loadingEnter', iosEnterAnimation$
|
|
22490
|
+
await present(this, 'loadingEnter', iosEnterAnimation$3, mdEnterAnimation$3);
|
|
22027
22491
|
if (this.duration > 0) {
|
|
22028
22492
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);
|
|
22029
22493
|
}
|
|
@@ -22046,7 +22510,7 @@ class Loading {
|
|
|
22046
22510
|
if (this.durationTimeout) {
|
|
22047
22511
|
clearTimeout(this.durationTimeout);
|
|
22048
22512
|
}
|
|
22049
|
-
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$
|
|
22513
|
+
const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$3, mdLeaveAnimation$3);
|
|
22050
22514
|
if (dismissed) {
|
|
22051
22515
|
this.delegateController.removeViewFromDom();
|
|
22052
22516
|
}
|
|
@@ -22081,9 +22545,9 @@ class Loading {
|
|
|
22081
22545
|
* Otherwise, don't set aria-labelledby.
|
|
22082
22546
|
*/
|
|
22083
22547
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
22084
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
22548
|
+
return (hAsync(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
22085
22549
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
22086
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
22550
|
+
}, 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" })));
|
|
22087
22551
|
}
|
|
22088
22552
|
get el() { return getElement(this); }
|
|
22089
22553
|
static get watchers() { return {
|
|
@@ -24065,14 +24529,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
24065
24529
|
return false;
|
|
24066
24530
|
};
|
|
24067
24531
|
const onStart = (detail) => {
|
|
24068
|
-
var _a;
|
|
24069
24532
|
const { deltaY } = detail;
|
|
24070
|
-
/**
|
|
24071
|
-
* Firefox automatically selects the header text during drag
|
|
24072
|
-
* due to the focusable wrapper (tabindex="-1"). Remove any
|
|
24073
|
-
* selection that may have occurred.
|
|
24074
|
-
*/
|
|
24075
|
-
(_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
|
|
24076
24533
|
/**
|
|
24077
24534
|
* Get the initial scrollY value so
|
|
24078
24535
|
* that we can correctly reset the scrollY
|
|
@@ -24364,7 +24821,7 @@ const createEnterAnimation$1 = () => {
|
|
|
24364
24821
|
/**
|
|
24365
24822
|
* iOS Modal Enter Animation for the Card presentation style
|
|
24366
24823
|
*/
|
|
24367
|
-
const iosEnterAnimation$
|
|
24824
|
+
const iosEnterAnimation$2 = (baseEl, opts) => {
|
|
24368
24825
|
const { presentingEl, currentBreakpoint, expandToScroll } = opts;
|
|
24369
24826
|
const root = getElementRoot(baseEl);
|
|
24370
24827
|
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
@@ -24457,7 +24914,7 @@ const createLeaveAnimation$1 = () => {
|
|
|
24457
24914
|
/**
|
|
24458
24915
|
* iOS Modal Leave Animation
|
|
24459
24916
|
*/
|
|
24460
|
-
const iosLeaveAnimation$
|
|
24917
|
+
const iosLeaveAnimation$2 = (baseEl, opts, duration = 500) => {
|
|
24461
24918
|
const { presentingEl, currentBreakpoint } = opts;
|
|
24462
24919
|
const root = getElementRoot(baseEl);
|
|
24463
24920
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
|
|
@@ -24958,13 +25415,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
24958
25415
|
return true;
|
|
24959
25416
|
};
|
|
24960
25417
|
const onStart = (detail) => {
|
|
24961
|
-
var _a;
|
|
24962
|
-
/**
|
|
24963
|
-
* Firefox automatically selects the header text during drag
|
|
24964
|
-
* due to the focusable wrapper (tabindex="-1"). Remove any
|
|
24965
|
-
* selection that may have occurred.
|
|
24966
|
-
*/
|
|
24967
|
-
(_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
|
|
24968
25418
|
/**
|
|
24969
25419
|
* If canDismiss is anything other than `true`
|
|
24970
25420
|
* then users should be able to swipe down
|
|
@@ -25567,9 +26017,9 @@ const clearSafeAreaOverrides = (hostEl) => {
|
|
|
25567
26017
|
hostEl.style.removeProperty('--ion-safe-area-right');
|
|
25568
26018
|
};
|
|
25569
26019
|
|
|
25570
|
-
const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;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;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-
|
|
26020
|
+
const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;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;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
|
|
25571
26021
|
|
|
25572
|
-
const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;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;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-
|
|
26022
|
+
const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;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;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
|
|
25573
26023
|
|
|
25574
26024
|
// TODO(FW-2832): types
|
|
25575
26025
|
/**
|
|
@@ -25639,13 +26089,20 @@ class Modal {
|
|
|
25639
26089
|
/**
|
|
25640
26090
|
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
25641
26091
|
*
|
|
25642
|
-
*
|
|
25643
|
-
*
|
|
26092
|
+
* Handle behavior is unavailable when the `handle` property is set to
|
|
26093
|
+
* `false` or when the `breakpoints` property is not set (using a
|
|
26094
|
+
* fullscreen or card modal).
|
|
26095
|
+
*
|
|
26096
|
+
* Set to `"cycle"` to make the handle focusable and let the sheet modal
|
|
26097
|
+
* cycle between available breakpoints when pressed. This keeps the sheet
|
|
26098
|
+
* operable with assistive technology.
|
|
26099
|
+
*
|
|
26100
|
+
* Set to `"none"` to make the handle purely decorative when pressed and
|
|
26101
|
+
* removed from the tab order.
|
|
25644
26102
|
*
|
|
25645
|
-
*
|
|
25646
|
-
* when the `breakpoints` property is not set (using a fullscreen or card modal).
|
|
26103
|
+
* Defaults to `"cycle"`.
|
|
25647
26104
|
*/
|
|
25648
|
-
this.handleBehavior = '
|
|
26105
|
+
this.handleBehavior = 'cycle';
|
|
25649
26106
|
/**
|
|
25650
26107
|
* If `true`, the modal will be dismissed when the backdrop is clicked.
|
|
25651
26108
|
*/
|
|
@@ -25837,6 +26294,10 @@ class Modal {
|
|
|
25837
26294
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
25838
26295
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
25839
26296
|
this.cleanupSafeAreaOverrides();
|
|
26297
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
26298
|
+
if (this.presented) {
|
|
26299
|
+
cleanupRootFocusTrapAccessibility();
|
|
26300
|
+
}
|
|
25840
26301
|
}
|
|
25841
26302
|
componentWillLoad() {
|
|
25842
26303
|
var _a;
|
|
@@ -26013,7 +26474,7 @@ class Modal {
|
|
|
26013
26474
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
26014
26475
|
setCardStatusBarDark();
|
|
26015
26476
|
}
|
|
26016
|
-
await present(this, 'modalEnter', iosEnterAnimation$
|
|
26477
|
+
await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
|
|
26017
26478
|
presentingEl: presentingElement,
|
|
26018
26479
|
currentBreakpoint: this.initialBreakpoint,
|
|
26019
26480
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26075,7 +26536,7 @@ class Modal {
|
|
|
26075
26536
|
// All of the elements needed for the swipe gesture
|
|
26076
26537
|
// should be in the DOM and referenced by now, except
|
|
26077
26538
|
// for the presenting el
|
|
26078
|
-
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$
|
|
26539
|
+
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$2);
|
|
26079
26540
|
const ani = (this.animation = animationBuilder(el, {
|
|
26080
26541
|
presentingEl: this.presentingElement,
|
|
26081
26542
|
expandToScroll: this.expandToScroll,
|
|
@@ -26094,7 +26555,7 @@ class Modal {
|
|
|
26094
26555
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
26095
26556
|
return;
|
|
26096
26557
|
}
|
|
26097
|
-
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$
|
|
26558
|
+
const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$2);
|
|
26098
26559
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
26099
26560
|
presentingEl: this.presentingElement,
|
|
26100
26561
|
currentBreakpoint: initialBreakpoint,
|
|
@@ -26284,7 +26745,7 @@ class Modal {
|
|
|
26284
26745
|
window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
26285
26746
|
this.keyboardOpenCallback = undefined;
|
|
26286
26747
|
}
|
|
26287
|
-
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$
|
|
26748
|
+
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$2, mdLeaveAnimation$2, {
|
|
26288
26749
|
presentingEl: presentingElement,
|
|
26289
26750
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
26290
26751
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -26716,26 +27177,20 @@ class Modal {
|
|
|
26716
27177
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
26717
27178
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
26718
27179
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
26719
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
27180
|
+
return (hAsync(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
|
|
26720
27181
|
// Allow the modal to be navigable when the handle is focusable
|
|
26721
27182
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
26722
27183
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
26723
|
-
}, 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: '
|
|
27184
|
+
}, 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',
|
|
26724
27185
|
/*
|
|
26725
27186
|
role and aria-modal must be used on the
|
|
26726
27187
|
same element. They must also be set inside the
|
|
26727
27188
|
shadow DOM otherwise ion-button will not be highlighted
|
|
26728
27189
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
26729
|
-
|
|
26730
|
-
tabIndex={-1} is required so present() can move focus to this
|
|
26731
|
-
element (which carries the dialog role) instead of the role-less
|
|
26732
|
-
host. role="dialog" alone does not make an element focusable, so
|
|
26733
|
-
without the tabindex focus() would be a no-op and screen readers
|
|
26734
|
-
may not properly announce the dialog and its content when it opens.
|
|
26735
27190
|
*/
|
|
26736
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true",
|
|
27191
|
+
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",
|
|
26737
27192
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
26738
|
-
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: '
|
|
27193
|
+
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 }))));
|
|
26739
27194
|
}
|
|
26740
27195
|
get el() { return getElement(this); }
|
|
26741
27196
|
static get watchers() { return {
|
|
@@ -26838,15 +27293,6 @@ class ViewController {
|
|
|
26838
27293
|
this.state = VIEW_STATE_DESTROYED;
|
|
26839
27294
|
}
|
|
26840
27295
|
}
|
|
26841
|
-
const matches = (view, id, params) => {
|
|
26842
|
-
if (!view) {
|
|
26843
|
-
return false;
|
|
26844
|
-
}
|
|
26845
|
-
if (view.component !== id) {
|
|
26846
|
-
return false;
|
|
26847
|
-
}
|
|
26848
|
-
return shallowEqualStringMap(view.params, params);
|
|
26849
|
-
};
|
|
26850
27296
|
const convertToView = (page, params) => {
|
|
26851
27297
|
if (!page) {
|
|
26852
27298
|
return null;
|
|
@@ -26880,7 +27326,6 @@ class Nav {
|
|
|
26880
27326
|
this.ionNavDidChange = createEvent(this, "ionNavDidChange", 3);
|
|
26881
27327
|
this.transInstr = [];
|
|
26882
27328
|
this.gestureOrAnimationInProgress = false;
|
|
26883
|
-
this.useRouter = false;
|
|
26884
27329
|
this.isTransitioning = false;
|
|
26885
27330
|
this.destroyed = false;
|
|
26886
27331
|
this.views = [];
|
|
@@ -26906,14 +27351,9 @@ class Nav {
|
|
|
26906
27351
|
*/
|
|
26907
27352
|
return;
|
|
26908
27353
|
}
|
|
26909
|
-
|
|
26910
|
-
if (this.root !== undefined) {
|
|
26911
|
-
this.setRoot(this.root, this.rootParams);
|
|
26912
|
-
}
|
|
26913
|
-
}
|
|
27354
|
+
this.setRoot(this.root, this.rootParams);
|
|
26914
27355
|
}
|
|
26915
27356
|
componentWillLoad() {
|
|
26916
|
-
this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
|
|
26917
27357
|
if (this.swipeGesture === undefined) {
|
|
26918
27358
|
const mode = getIonMode$1(this);
|
|
26919
27359
|
this.swipeGesture = config.getBoolean('swipeBackEnabled', mode === 'ios');
|
|
@@ -27078,78 +27518,6 @@ class Nav {
|
|
|
27078
27518
|
opts,
|
|
27079
27519
|
}, done);
|
|
27080
27520
|
}
|
|
27081
|
-
/**
|
|
27082
|
-
* Called by the router to update the view.
|
|
27083
|
-
*
|
|
27084
|
-
* @param id The component tag.
|
|
27085
|
-
* @param params The component params.
|
|
27086
|
-
* @param direction A direction hint.
|
|
27087
|
-
* @param animation an AnimationBuilder.
|
|
27088
|
-
*
|
|
27089
|
-
* @return the status.
|
|
27090
|
-
* @internal
|
|
27091
|
-
*/
|
|
27092
|
-
setRouteId(id, params, direction, animation) {
|
|
27093
|
-
const active = this.getActiveSync();
|
|
27094
|
-
if (matches(active, id, params)) {
|
|
27095
|
-
return Promise.resolve({
|
|
27096
|
-
changed: false,
|
|
27097
|
-
element: active.element,
|
|
27098
|
-
});
|
|
27099
|
-
}
|
|
27100
|
-
let resolve;
|
|
27101
|
-
const promise = new Promise((r) => (resolve = r));
|
|
27102
|
-
let finish;
|
|
27103
|
-
const commonOpts = {
|
|
27104
|
-
updateURL: false,
|
|
27105
|
-
viewIsReady: (enteringEl) => {
|
|
27106
|
-
let mark;
|
|
27107
|
-
const p = new Promise((r) => (mark = r));
|
|
27108
|
-
resolve({
|
|
27109
|
-
changed: true,
|
|
27110
|
-
element: enteringEl,
|
|
27111
|
-
markVisible: async () => {
|
|
27112
|
-
mark();
|
|
27113
|
-
await finish;
|
|
27114
|
-
},
|
|
27115
|
-
});
|
|
27116
|
-
return p;
|
|
27117
|
-
},
|
|
27118
|
-
};
|
|
27119
|
-
if (direction === 'root') {
|
|
27120
|
-
finish = this.setRoot(id, params, commonOpts);
|
|
27121
|
-
}
|
|
27122
|
-
else {
|
|
27123
|
-
// Look for a view matching the target in the view stack.
|
|
27124
|
-
const viewController = this.views.find((v) => matches(v, id, params));
|
|
27125
|
-
if (viewController) {
|
|
27126
|
-
finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
|
|
27127
|
-
}
|
|
27128
|
-
else if (direction === 'forward') {
|
|
27129
|
-
finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));
|
|
27130
|
-
}
|
|
27131
|
-
else if (direction === 'back') {
|
|
27132
|
-
finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));
|
|
27133
|
-
}
|
|
27134
|
-
}
|
|
27135
|
-
return promise;
|
|
27136
|
-
}
|
|
27137
|
-
/**
|
|
27138
|
-
* Called by <ion-router> to retrieve the current component.
|
|
27139
|
-
*
|
|
27140
|
-
* @internal
|
|
27141
|
-
*/
|
|
27142
|
-
async getRouteId() {
|
|
27143
|
-
const active = this.getActiveSync();
|
|
27144
|
-
if (active) {
|
|
27145
|
-
return {
|
|
27146
|
-
id: active.element.tagName,
|
|
27147
|
-
params: active.params,
|
|
27148
|
-
element: active.element,
|
|
27149
|
-
};
|
|
27150
|
-
}
|
|
27151
|
-
return undefined;
|
|
27152
|
-
}
|
|
27153
27521
|
/**
|
|
27154
27522
|
* Get the active view.
|
|
27155
27523
|
*/
|
|
@@ -27215,25 +27583,6 @@ class Nav {
|
|
|
27215
27583
|
ti.reject = reject;
|
|
27216
27584
|
});
|
|
27217
27585
|
ti.done = done;
|
|
27218
|
-
/**
|
|
27219
|
-
* If using router, check to see if navigation hooks
|
|
27220
|
-
* will allow us to perform this transition. This
|
|
27221
|
-
* is required in order for hooks to work with
|
|
27222
|
-
* the ion-back-button or swipe to go back.
|
|
27223
|
-
*/
|
|
27224
|
-
if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {
|
|
27225
|
-
const router = document.querySelector('ion-router');
|
|
27226
|
-
if (router) {
|
|
27227
|
-
const canTransition = await router.canTransition();
|
|
27228
|
-
if (canTransition === false) {
|
|
27229
|
-
return false;
|
|
27230
|
-
}
|
|
27231
|
-
if (typeof canTransition === 'string') {
|
|
27232
|
-
router.push(canTransition, ti.opts.direction || 'back');
|
|
27233
|
-
return false;
|
|
27234
|
-
}
|
|
27235
|
-
}
|
|
27236
|
-
}
|
|
27237
27586
|
// Normalize empty
|
|
27238
27587
|
if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
|
|
27239
27588
|
ti.insertViews = undefined;
|
|
@@ -27254,13 +27603,6 @@ class Nav {
|
|
|
27254
27603
|
ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);
|
|
27255
27604
|
}
|
|
27256
27605
|
ti.resolve(result.hasCompleted);
|
|
27257
|
-
if (ti.opts.updateURL !== false && this.useRouter) {
|
|
27258
|
-
const router = document.querySelector('ion-router');
|
|
27259
|
-
if (router) {
|
|
27260
|
-
const direction = result.direction === 'back' ? 'back' : 'forward';
|
|
27261
|
-
router.navChanged(direction);
|
|
27262
|
-
}
|
|
27263
|
-
}
|
|
27264
27606
|
}
|
|
27265
27607
|
failed(rejectReason, ti) {
|
|
27266
27608
|
if (this.destroyed) {
|
|
@@ -27690,7 +28032,7 @@ class Nav {
|
|
|
27690
28032
|
}
|
|
27691
28033
|
}
|
|
27692
28034
|
render() {
|
|
27693
|
-
return hAsync("slot", { key: '
|
|
28035
|
+
return hAsync("slot", { key: 'bb4a201a3a8079548f5474ff42293b28fc7599fb' });
|
|
27694
28036
|
}
|
|
27695
28037
|
get el() { return getElement(this); }
|
|
27696
28038
|
static get watchers() { return {
|
|
@@ -27721,8 +28063,6 @@ class Nav {
|
|
|
27721
28063
|
"removeIndex": [64],
|
|
27722
28064
|
"setRoot": [64],
|
|
27723
28065
|
"setPages": [64],
|
|
27724
|
-
"setRouteId": [64],
|
|
27725
|
-
"getRouteId": [64],
|
|
27726
28066
|
"getActive": [64],
|
|
27727
28067
|
"getByIndex": [64],
|
|
27728
28068
|
"canGoBack": [64],
|
|
@@ -27818,14 +28158,14 @@ class Note {
|
|
|
27818
28158
|
}; }
|
|
27819
28159
|
}
|
|
27820
28160
|
|
|
27821
|
-
const pickerIosCss
|
|
28161
|
+
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)))}`;
|
|
27822
28162
|
|
|
27823
|
-
const pickerMdCss
|
|
28163
|
+
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%)}`;
|
|
27824
28164
|
|
|
27825
28165
|
/**
|
|
27826
28166
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
27827
28167
|
*/
|
|
27828
|
-
|
|
28168
|
+
class Picker {
|
|
27829
28169
|
constructor(hostRef) {
|
|
27830
28170
|
registerInstance(this, hostRef);
|
|
27831
28171
|
this.ionInputModeChange = createEvent(this, "ionInputModeChange", 7);
|
|
@@ -28291,8 +28631,8 @@ let Picker$1 = class Picker {
|
|
|
28291
28631
|
}
|
|
28292
28632
|
get el() { return getElement(this); }
|
|
28293
28633
|
static get style() { return {
|
|
28294
|
-
ios: pickerIosCss
|
|
28295
|
-
md: pickerMdCss
|
|
28634
|
+
ios: pickerIosCss(),
|
|
28635
|
+
md: pickerMdCss()
|
|
28296
28636
|
}; }
|
|
28297
28637
|
static get cmpMeta() { return {
|
|
28298
28638
|
"$flags$": 297,
|
|
@@ -28304,324 +28644,9 @@ let Picker$1 = class Picker {
|
|
|
28304
28644
|
"$lazyBundleId$": "-",
|
|
28305
28645
|
"$attrsToReflect$": []
|
|
28306
28646
|
}; }
|
|
28307
|
-
};
|
|
28308
|
-
|
|
28309
|
-
/**
|
|
28310
|
-
* iOS Picker Enter Animation
|
|
28311
|
-
*/
|
|
28312
|
-
const iosEnterAnimation$2 = (baseEl) => {
|
|
28313
|
-
const baseAnimation = createAnimation();
|
|
28314
|
-
const backdropAnimation = createAnimation();
|
|
28315
|
-
const wrapperAnimation = createAnimation();
|
|
28316
|
-
backdropAnimation
|
|
28317
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
28318
|
-
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
28319
|
-
.beforeStyles({
|
|
28320
|
-
'pointer-events': 'none',
|
|
28321
|
-
})
|
|
28322
|
-
.afterClearStyles(['pointer-events']);
|
|
28323
|
-
wrapperAnimation
|
|
28324
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
28325
|
-
.fromTo('transform', 'translateY(100%)', 'translateY(0%)');
|
|
28326
|
-
return baseAnimation
|
|
28327
|
-
.addElement(baseEl)
|
|
28328
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
28329
|
-
.duration(400)
|
|
28330
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
28331
|
-
};
|
|
28332
|
-
|
|
28333
|
-
/**
|
|
28334
|
-
* iOS Picker Leave Animation
|
|
28335
|
-
*/
|
|
28336
|
-
const iosLeaveAnimation$2 = (baseEl) => {
|
|
28337
|
-
const baseAnimation = createAnimation();
|
|
28338
|
-
const backdropAnimation = createAnimation();
|
|
28339
|
-
const wrapperAnimation = createAnimation();
|
|
28340
|
-
backdropAnimation
|
|
28341
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
28342
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
|
|
28343
|
-
wrapperAnimation
|
|
28344
|
-
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
28345
|
-
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
|
28346
|
-
return baseAnimation
|
|
28347
|
-
.addElement(baseEl)
|
|
28348
|
-
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
28349
|
-
.duration(400)
|
|
28350
|
-
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
28351
|
-
};
|
|
28352
|
-
|
|
28353
|
-
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}`;
|
|
28354
|
-
|
|
28355
|
-
const pickerMdCss = () => `.sc-ion-picker-legacy-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.sc-ion-picker-legacy-md-h{inset-inline-start:0}.overlay-hidden.sc-ion-picker-legacy-md-h{display:none}.picker-wrapper.sc-ion-picker-legacy-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-legacy-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-legacy-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-legacy-md:active,.picker-button.sc-ion-picker-legacy-md:focus{outline:none}.picker-columns.sc-ion-picker-legacy-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-legacy-md,.picker-below-highlight.sc-ion-picker-legacy-md{display:none;pointer-events:none}.sc-ion-picker-legacy-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-legacy-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-legacy-md,.picker-button.ion-activated.sc-ion-picker-legacy-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #0054e9);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}.picker-columns.sc-ion-picker-legacy-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-legacy-md{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}.picker-above-highlight.sc-ion-picker-legacy-md{inset-inline-start:0}.picker-below-highlight.sc-ion-picker-legacy-md{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}.picker-below-highlight.sc-ion-picker-legacy-md{inset-inline-start:0}`;
|
|
28356
|
-
|
|
28357
|
-
// TODO(FW-2832): types
|
|
28358
|
-
/**
|
|
28359
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
28360
|
-
*/
|
|
28361
|
-
class Picker {
|
|
28362
|
-
constructor(hostRef) {
|
|
28363
|
-
registerInstance(this, hostRef);
|
|
28364
|
-
this.didPresent = createEvent(this, "ionPickerDidPresent", 7);
|
|
28365
|
-
this.willPresent = createEvent(this, "ionPickerWillPresent", 7);
|
|
28366
|
-
this.willDismiss = createEvent(this, "ionPickerWillDismiss", 7);
|
|
28367
|
-
this.didDismiss = createEvent(this, "ionPickerDidDismiss", 7);
|
|
28368
|
-
this.didPresentShorthand = createEvent(this, "didPresent", 7);
|
|
28369
|
-
this.willPresentShorthand = createEvent(this, "willPresent", 7);
|
|
28370
|
-
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
28371
|
-
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
28372
|
-
this.delegateController = createDelegateController(this);
|
|
28373
|
-
this.lockController = createLockController();
|
|
28374
|
-
this.triggerController = createTriggerController();
|
|
28375
|
-
this.presented = false;
|
|
28376
|
-
/** @internal */
|
|
28377
|
-
this.hasController = false;
|
|
28378
|
-
/**
|
|
28379
|
-
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
28380
|
-
*/
|
|
28381
|
-
this.keyboardClose = true;
|
|
28382
|
-
/**
|
|
28383
|
-
* Array of buttons to be displayed at the top of the picker.
|
|
28384
|
-
*/
|
|
28385
|
-
this.buttons = [];
|
|
28386
|
-
/**
|
|
28387
|
-
* Array of columns to be displayed in the picker.
|
|
28388
|
-
*/
|
|
28389
|
-
this.columns = [];
|
|
28390
|
-
/**
|
|
28391
|
-
* Number of milliseconds to wait before dismissing the picker.
|
|
28392
|
-
*/
|
|
28393
|
-
this.duration = 0;
|
|
28394
|
-
/**
|
|
28395
|
-
* If `true`, a backdrop will be displayed behind the picker.
|
|
28396
|
-
*/
|
|
28397
|
-
this.showBackdrop = true;
|
|
28398
|
-
/**
|
|
28399
|
-
* If `true`, the picker will be dismissed when the backdrop is clicked.
|
|
28400
|
-
*/
|
|
28401
|
-
this.backdropDismiss = true;
|
|
28402
|
-
/**
|
|
28403
|
-
* If `true`, the picker will animate.
|
|
28404
|
-
*/
|
|
28405
|
-
this.animated = true;
|
|
28406
|
-
/**
|
|
28407
|
-
* If `true`, the picker will open. If `false`, the picker will close.
|
|
28408
|
-
* Use this if you need finer grained control over presentation, otherwise
|
|
28409
|
-
* just use the pickerController or the `trigger` property.
|
|
28410
|
-
* Note: `isOpen` will not automatically be set back to `false` when
|
|
28411
|
-
* the picker dismisses. You will need to do that in your code.
|
|
28412
|
-
*/
|
|
28413
|
-
this.isOpen = false;
|
|
28414
|
-
this.onBackdropTap = () => {
|
|
28415
|
-
this.dismiss(undefined, BACKDROP);
|
|
28416
|
-
};
|
|
28417
|
-
this.dispatchCancelHandler = (ev) => {
|
|
28418
|
-
const role = ev.detail.role;
|
|
28419
|
-
if (isCancel(role)) {
|
|
28420
|
-
const cancelButton = this.buttons.find((b) => b.role === 'cancel');
|
|
28421
|
-
this.callButtonHandler(cancelButton);
|
|
28422
|
-
}
|
|
28423
|
-
};
|
|
28424
|
-
}
|
|
28425
|
-
onIsOpenChange(newValue, oldValue) {
|
|
28426
|
-
if (newValue === true && oldValue === false) {
|
|
28427
|
-
this.present();
|
|
28428
|
-
}
|
|
28429
|
-
else if (newValue === false && oldValue === true) {
|
|
28430
|
-
this.dismiss();
|
|
28431
|
-
}
|
|
28432
|
-
}
|
|
28433
|
-
triggerChanged() {
|
|
28434
|
-
const { trigger, el, triggerController } = this;
|
|
28435
|
-
if (trigger) {
|
|
28436
|
-
triggerController.addClickListener(el, trigger);
|
|
28437
|
-
}
|
|
28438
|
-
}
|
|
28439
|
-
connectedCallback() {
|
|
28440
|
-
prepareOverlay(this.el);
|
|
28441
|
-
this.triggerChanged();
|
|
28442
|
-
}
|
|
28443
|
-
disconnectedCallback() {
|
|
28444
|
-
this.triggerController.removeClickListener();
|
|
28445
|
-
}
|
|
28446
|
-
componentWillLoad() {
|
|
28447
|
-
var _a;
|
|
28448
|
-
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
28449
|
-
setOverlayId(this.el);
|
|
28450
|
-
}
|
|
28451
|
-
}
|
|
28452
|
-
componentDidLoad() {
|
|
28453
|
-
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);
|
|
28454
|
-
/**
|
|
28455
|
-
* If picker was rendered with isOpen="true"
|
|
28456
|
-
* then we should open picker immediately.
|
|
28457
|
-
*/
|
|
28458
|
-
if (this.isOpen === true) {
|
|
28459
|
-
raf(() => this.present());
|
|
28460
|
-
}
|
|
28461
|
-
/**
|
|
28462
|
-
* When binding values in frameworks such as Angular
|
|
28463
|
-
* it is possible for the value to be set after the Web Component
|
|
28464
|
-
* initializes but before the value watcher is set up in Stencil.
|
|
28465
|
-
* As a result, the watcher callback may not be fired.
|
|
28466
|
-
* We work around this by manually calling the watcher
|
|
28467
|
-
* callback when the component has loaded and the watcher
|
|
28468
|
-
* is configured.
|
|
28469
|
-
*/
|
|
28470
|
-
this.triggerChanged();
|
|
28471
|
-
}
|
|
28472
|
-
/**
|
|
28473
|
-
* Present the picker overlay after it has been created.
|
|
28474
|
-
*/
|
|
28475
|
-
async present() {
|
|
28476
|
-
const unlock = await this.lockController.lock();
|
|
28477
|
-
await this.delegateController.attachViewToDom();
|
|
28478
|
-
await present(this, 'pickerEnter', iosEnterAnimation$2, iosEnterAnimation$2, undefined);
|
|
28479
|
-
if (this.duration > 0) {
|
|
28480
|
-
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
|
|
28481
|
-
}
|
|
28482
|
-
unlock();
|
|
28483
|
-
}
|
|
28484
|
-
/**
|
|
28485
|
-
* Dismiss the picker overlay after it has been presented.
|
|
28486
|
-
*
|
|
28487
|
-
* @param data Any data to emit in the dismiss events.
|
|
28488
|
-
* @param role The role of the element that is dismissing the picker.
|
|
28489
|
-
* This can be useful in a button handler for determining which button was
|
|
28490
|
-
* clicked to dismiss the picker.
|
|
28491
|
-
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
28492
|
-
*/
|
|
28493
|
-
async dismiss(data, role) {
|
|
28494
|
-
const unlock = await this.lockController.lock();
|
|
28495
|
-
if (this.durationTimeout) {
|
|
28496
|
-
clearTimeout(this.durationTimeout);
|
|
28497
|
-
}
|
|
28498
|
-
const dismissed = await dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation$2, iosLeaveAnimation$2);
|
|
28499
|
-
if (dismissed) {
|
|
28500
|
-
this.delegateController.removeViewFromDom();
|
|
28501
|
-
}
|
|
28502
|
-
unlock();
|
|
28503
|
-
return dismissed;
|
|
28504
|
-
}
|
|
28505
|
-
/**
|
|
28506
|
-
* Returns a promise that resolves when the picker did dismiss.
|
|
28507
|
-
*/
|
|
28508
|
-
onDidDismiss() {
|
|
28509
|
-
return eventMethod(this.el, 'ionPickerDidDismiss');
|
|
28510
|
-
}
|
|
28511
|
-
/**
|
|
28512
|
-
* Returns a promise that resolves when the picker will dismiss.
|
|
28513
|
-
*/
|
|
28514
|
-
onWillDismiss() {
|
|
28515
|
-
return eventMethod(this.el, 'ionPickerWillDismiss');
|
|
28516
|
-
}
|
|
28517
|
-
/**
|
|
28518
|
-
* Get the column that matches the specified name.
|
|
28519
|
-
*
|
|
28520
|
-
* @param name The name of the column.
|
|
28521
|
-
*/
|
|
28522
|
-
getColumn(name) {
|
|
28523
|
-
return Promise.resolve(this.columns.find((column) => column.name === name));
|
|
28524
|
-
}
|
|
28525
|
-
async buttonClick(button) {
|
|
28526
|
-
const role = button.role;
|
|
28527
|
-
if (isCancel(role)) {
|
|
28528
|
-
return this.dismiss(undefined, role);
|
|
28529
|
-
}
|
|
28530
|
-
const shouldDismiss = await this.callButtonHandler(button);
|
|
28531
|
-
if (shouldDismiss) {
|
|
28532
|
-
return this.dismiss(this.getSelected(), button.role);
|
|
28533
|
-
}
|
|
28534
|
-
return Promise.resolve();
|
|
28535
|
-
}
|
|
28536
|
-
async callButtonHandler(button) {
|
|
28537
|
-
if (button) {
|
|
28538
|
-
// a handler has been provided, execute it
|
|
28539
|
-
// pass the handler the values from the inputs
|
|
28540
|
-
const rtn = await safeCall(button.handler, this.getSelected());
|
|
28541
|
-
if (rtn === false) {
|
|
28542
|
-
// if the return value of the handler is false then do not dismiss
|
|
28543
|
-
return false;
|
|
28544
|
-
}
|
|
28545
|
-
}
|
|
28546
|
-
return true;
|
|
28547
|
-
}
|
|
28548
|
-
getSelected() {
|
|
28549
|
-
const selected = {};
|
|
28550
|
-
this.columns.forEach((col, index) => {
|
|
28551
|
-
const selectedColumn = col.selectedIndex !== undefined ? col.options[col.selectedIndex] : undefined;
|
|
28552
|
-
selected[col.name] = {
|
|
28553
|
-
text: selectedColumn ? selectedColumn.text : undefined,
|
|
28554
|
-
value: selectedColumn ? selectedColumn.value : undefined,
|
|
28555
|
-
columnIndex: index,
|
|
28556
|
-
};
|
|
28557
|
-
});
|
|
28558
|
-
return selected;
|
|
28559
|
-
}
|
|
28560
|
-
render() {
|
|
28561
|
-
const { htmlAttributes } = this;
|
|
28562
|
-
const mode = getIonMode$1(this);
|
|
28563
|
-
return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
28564
|
-
zIndex: `${20000 + this.overlayIndex}`,
|
|
28565
|
-
}, class: Object.assign({ [mode]: true,
|
|
28566
|
-
// Used internally for styling
|
|
28567
|
-
[`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" })));
|
|
28568
|
-
}
|
|
28569
|
-
get el() { return getElement(this); }
|
|
28570
|
-
static get watchers() { return {
|
|
28571
|
-
"isOpen": [{
|
|
28572
|
-
"onIsOpenChange": 0
|
|
28573
|
-
}],
|
|
28574
|
-
"trigger": [{
|
|
28575
|
-
"triggerChanged": 0
|
|
28576
|
-
}]
|
|
28577
|
-
}; }
|
|
28578
|
-
static get style() { return {
|
|
28579
|
-
ios: pickerIosCss(),
|
|
28580
|
-
md: pickerMdCss()
|
|
28581
|
-
}; }
|
|
28582
|
-
static get cmpMeta() { return {
|
|
28583
|
-
"$flags$": 34,
|
|
28584
|
-
"$tagName$": "ion-picker-legacy",
|
|
28585
|
-
"$members$": {
|
|
28586
|
-
"overlayIndex": [2, "overlay-index"],
|
|
28587
|
-
"delegate": [16],
|
|
28588
|
-
"hasController": [4, "has-controller"],
|
|
28589
|
-
"keyboardClose": [4, "keyboard-close"],
|
|
28590
|
-
"enterAnimation": [16],
|
|
28591
|
-
"leaveAnimation": [16],
|
|
28592
|
-
"buttons": [16],
|
|
28593
|
-
"columns": [16],
|
|
28594
|
-
"cssClass": [1, "css-class"],
|
|
28595
|
-
"duration": [2],
|
|
28596
|
-
"showBackdrop": [4, "show-backdrop"],
|
|
28597
|
-
"backdropDismiss": [4, "backdrop-dismiss"],
|
|
28598
|
-
"animated": [4],
|
|
28599
|
-
"htmlAttributes": [16],
|
|
28600
|
-
"isOpen": [4, "is-open"],
|
|
28601
|
-
"trigger": [1],
|
|
28602
|
-
"presented": [32],
|
|
28603
|
-
"present": [64],
|
|
28604
|
-
"dismiss": [64],
|
|
28605
|
-
"onDidDismiss": [64],
|
|
28606
|
-
"onWillDismiss": [64],
|
|
28607
|
-
"getColumn": [64]
|
|
28608
|
-
},
|
|
28609
|
-
"$listeners$": undefined,
|
|
28610
|
-
"$lazyBundleId$": "-",
|
|
28611
|
-
"$attrsToReflect$": []
|
|
28612
|
-
}; }
|
|
28613
28647
|
}
|
|
28614
|
-
const buttonWrapperClass = (button) => {
|
|
28615
|
-
return {
|
|
28616
|
-
[`picker-toolbar-${button.role}`]: button.role !== undefined,
|
|
28617
|
-
'picker-toolbar-button': true,
|
|
28618
|
-
};
|
|
28619
|
-
};
|
|
28620
|
-
const buttonClass$1 = (button) => {
|
|
28621
|
-
return Object.assign({ 'picker-button': true, 'ion-activatable': true }, getClassMap(button.cssClass));
|
|
28622
|
-
};
|
|
28623
28648
|
|
|
28624
|
-
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)}}`;
|
|
28649
|
+
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)}}`;
|
|
28625
28650
|
|
|
28626
28651
|
/**
|
|
28627
28652
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
@@ -28643,12 +28668,6 @@ class PickerColumn {
|
|
|
28643
28668
|
* If `true`, the user cannot interact with the picker.
|
|
28644
28669
|
*/
|
|
28645
28670
|
this.disabled = false;
|
|
28646
|
-
/**
|
|
28647
|
-
* The color to use from your application's color palette.
|
|
28648
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
28649
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
28650
|
-
*/
|
|
28651
|
-
this.color = 'primary';
|
|
28652
28671
|
/**
|
|
28653
28672
|
* If `true`, tapping the picker will
|
|
28654
28673
|
* reveal a number input keyboard that lets
|
|
@@ -29166,14 +29185,14 @@ class PickerColumn {
|
|
|
29166
29185
|
render() {
|
|
29167
29186
|
const { color, disabled, isActive, numericInput } = this;
|
|
29168
29187
|
const mode = getIonMode$1(this);
|
|
29169
|
-
return (hAsync(Host, { key: '
|
|
29188
|
+
return (hAsync(Host, { key: '78b46ad10d88ea1bb43ca8c36748767912f03224', class: createColorClasses$1(color, {
|
|
29170
29189
|
[mode]: true,
|
|
29171
29190
|
['picker-column-active']: isActive,
|
|
29172
29191
|
['picker-column-numeric-input']: numericInput,
|
|
29173
29192
|
['picker-column-disabled']: disabled,
|
|
29174
|
-
}) }, hAsync("slot", { key: '
|
|
29193
|
+
}) }, hAsync("slot", { key: '761e501df77f7de896ffb3ebb99ebf88c5c3bf70', name: "prefix" }), hAsync("div", { key: '9f4caaeef8ab704522a85f30876d371712f47c5c', class: "picker-opts", ref: (el) => {
|
|
29175
29194
|
this.scrollEl = el;
|
|
29176
|
-
}, 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: '
|
|
29195
|
+
}, 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" })));
|
|
29177
29196
|
}
|
|
29178
29197
|
get el() { return getElement(this); }
|
|
29179
29198
|
static get watchers() { return {
|
|
@@ -29206,374 +29225,9 @@ class PickerColumn {
|
|
|
29206
29225
|
}
|
|
29207
29226
|
const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
|
|
29208
29227
|
|
|
29209
|
-
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}}`;
|
|
29210
|
-
|
|
29211
|
-
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)}`;
|
|
29212
|
-
|
|
29213
|
-
/**
|
|
29214
|
-
* @internal
|
|
29215
|
-
*/
|
|
29216
|
-
class PickerColumnCmp {
|
|
29217
|
-
constructor(hostRef) {
|
|
29218
|
-
registerInstance(this, hostRef);
|
|
29219
|
-
this.ionPickerColChange = createEvent(this, "ionPickerColChange", 7);
|
|
29220
|
-
this.optHeight = 0;
|
|
29221
|
-
this.rotateFactor = 0;
|
|
29222
|
-
this.scaleFactor = 1;
|
|
29223
|
-
this.velocity = 0;
|
|
29224
|
-
this.y = 0;
|
|
29225
|
-
this.noAnimate = true;
|
|
29226
|
-
// `colDidChange` is a flag that gets set when the column is changed
|
|
29227
|
-
// dynamically. When this flag is set, the column will refresh
|
|
29228
|
-
// after the component re-renders to incorporate the new column data.
|
|
29229
|
-
// This is necessary because `this.refresh` queries for the option elements,
|
|
29230
|
-
// so it needs to wait for the latest elements to be available in the DOM.
|
|
29231
|
-
// Ex: column is created with 3 options. User updates the column data
|
|
29232
|
-
// to have 5 options. The column will still think it only has 3 options.
|
|
29233
|
-
this.colDidChange = false;
|
|
29234
|
-
}
|
|
29235
|
-
colChanged() {
|
|
29236
|
-
this.colDidChange = true;
|
|
29237
|
-
}
|
|
29238
|
-
async connectedCallback() {
|
|
29239
|
-
let pickerRotateFactor = 0;
|
|
29240
|
-
let pickerScaleFactor = 0.81;
|
|
29241
|
-
const mode = getIonMode$1(this);
|
|
29242
|
-
if (mode === 'ios') {
|
|
29243
|
-
pickerRotateFactor = -0.46;
|
|
29244
|
-
pickerScaleFactor = 1;
|
|
29245
|
-
}
|
|
29246
|
-
this.rotateFactor = pickerRotateFactor;
|
|
29247
|
-
this.scaleFactor = pickerScaleFactor;
|
|
29248
|
-
this.gesture = (await Promise.resolve().then(function () { return index; })).createGesture({
|
|
29249
|
-
el: this.el,
|
|
29250
|
-
gestureName: 'picker-swipe',
|
|
29251
|
-
gesturePriority: 100,
|
|
29252
|
-
threshold: 0,
|
|
29253
|
-
passive: false,
|
|
29254
|
-
onStart: (ev) => this.onStart(ev),
|
|
29255
|
-
onMove: (ev) => this.onMove(ev),
|
|
29256
|
-
onEnd: (ev) => this.onEnd(ev),
|
|
29257
|
-
});
|
|
29258
|
-
this.gesture.enable();
|
|
29259
|
-
// Options have not been initialized yet
|
|
29260
|
-
// Animation must be disabled through the `noAnimate` flag
|
|
29261
|
-
// Otherwise, the options will render
|
|
29262
|
-
// at the top of the column and transition down
|
|
29263
|
-
this.tmrId = setTimeout(() => {
|
|
29264
|
-
this.noAnimate = false;
|
|
29265
|
-
// After initialization, `refresh()` will be called
|
|
29266
|
-
// At this point, animation will be enabled. The options will
|
|
29267
|
-
// animate as they are being selected.
|
|
29268
|
-
this.refresh(true);
|
|
29269
|
-
}, 250);
|
|
29270
|
-
}
|
|
29271
|
-
componentDidLoad() {
|
|
29272
|
-
this.onDomChange();
|
|
29273
|
-
}
|
|
29274
|
-
componentDidUpdate() {
|
|
29275
|
-
// Options may have changed since last update.
|
|
29276
|
-
if (this.colDidChange) {
|
|
29277
|
-
// Animation must be disabled through the `onDomChange` parameter.
|
|
29278
|
-
// Otherwise, the recently added options will render
|
|
29279
|
-
// at the top of the column and transition down
|
|
29280
|
-
this.onDomChange(true, false);
|
|
29281
|
-
this.colDidChange = false;
|
|
29282
|
-
}
|
|
29283
|
-
}
|
|
29284
|
-
disconnectedCallback() {
|
|
29285
|
-
if (this.rafId !== undefined)
|
|
29286
|
-
cancelAnimationFrame(this.rafId);
|
|
29287
|
-
if (this.tmrId)
|
|
29288
|
-
clearTimeout(this.tmrId);
|
|
29289
|
-
if (this.gesture) {
|
|
29290
|
-
this.gesture.destroy();
|
|
29291
|
-
this.gesture = undefined;
|
|
29292
|
-
}
|
|
29293
|
-
}
|
|
29294
|
-
emitColChange() {
|
|
29295
|
-
this.ionPickerColChange.emit(this.col);
|
|
29296
|
-
}
|
|
29297
|
-
setSelected(selectedIndex, duration) {
|
|
29298
|
-
// if there is a selected index, then figure out it's y position
|
|
29299
|
-
// if there isn't a selected index, then just use the top y position
|
|
29300
|
-
const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
|
|
29301
|
-
this.velocity = 0;
|
|
29302
|
-
// set what y position we're at
|
|
29303
|
-
if (this.rafId !== undefined)
|
|
29304
|
-
cancelAnimationFrame(this.rafId);
|
|
29305
|
-
this.update(y, duration, true);
|
|
29306
|
-
this.emitColChange();
|
|
29307
|
-
}
|
|
29308
|
-
update(y, duration, saveY) {
|
|
29309
|
-
if (!this.optsEl) {
|
|
29310
|
-
return;
|
|
29311
|
-
}
|
|
29312
|
-
// ensure we've got a good round number :)
|
|
29313
|
-
let translateY = 0;
|
|
29314
|
-
let translateZ = 0;
|
|
29315
|
-
const { col, rotateFactor } = this;
|
|
29316
|
-
const prevSelected = col.selectedIndex;
|
|
29317
|
-
const selectedIndex = (col.selectedIndex = this.indexForY(-y));
|
|
29318
|
-
const durationStr = duration === 0 ? '' : duration + 'ms';
|
|
29319
|
-
const scaleStr = `scale(${this.scaleFactor})`;
|
|
29320
|
-
const children = this.optsEl.children;
|
|
29321
|
-
for (let i = 0; i < children.length; i++) {
|
|
29322
|
-
const button = children[i];
|
|
29323
|
-
const opt = col.options[i];
|
|
29324
|
-
const optOffset = i * this.optHeight + y;
|
|
29325
|
-
let transform = '';
|
|
29326
|
-
if (rotateFactor !== 0) {
|
|
29327
|
-
const rotateX = optOffset * rotateFactor;
|
|
29328
|
-
if (Math.abs(rotateX) <= 90) {
|
|
29329
|
-
translateY = 0;
|
|
29330
|
-
translateZ = 90;
|
|
29331
|
-
transform = `rotateX(${rotateX}deg) `;
|
|
29332
|
-
}
|
|
29333
|
-
else {
|
|
29334
|
-
translateY = -9999;
|
|
29335
|
-
}
|
|
29336
|
-
}
|
|
29337
|
-
else {
|
|
29338
|
-
translateZ = 0;
|
|
29339
|
-
translateY = optOffset;
|
|
29340
|
-
}
|
|
29341
|
-
const selected = selectedIndex === i;
|
|
29342
|
-
transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
|
|
29343
|
-
if (this.scaleFactor !== 1 && !selected) {
|
|
29344
|
-
transform += scaleStr;
|
|
29345
|
-
}
|
|
29346
|
-
// Update transition duration
|
|
29347
|
-
if (this.noAnimate) {
|
|
29348
|
-
opt.duration = 0;
|
|
29349
|
-
button.style.transitionDuration = '';
|
|
29350
|
-
}
|
|
29351
|
-
else if (duration !== opt.duration) {
|
|
29352
|
-
opt.duration = duration;
|
|
29353
|
-
button.style.transitionDuration = durationStr;
|
|
29354
|
-
}
|
|
29355
|
-
// Update transform
|
|
29356
|
-
if (transform !== opt.transform) {
|
|
29357
|
-
opt.transform = transform;
|
|
29358
|
-
}
|
|
29359
|
-
button.style.transform = transform;
|
|
29360
|
-
/**
|
|
29361
|
-
* Ensure that the select column
|
|
29362
|
-
* item has the selected class
|
|
29363
|
-
*/
|
|
29364
|
-
opt.selected = selected;
|
|
29365
|
-
if (selected) {
|
|
29366
|
-
button.classList.add(PICKER_OPT_SELECTED);
|
|
29367
|
-
}
|
|
29368
|
-
else {
|
|
29369
|
-
button.classList.remove(PICKER_OPT_SELECTED);
|
|
29370
|
-
}
|
|
29371
|
-
}
|
|
29372
|
-
this.col.prevSelected = prevSelected;
|
|
29373
|
-
if (saveY) {
|
|
29374
|
-
this.y = y;
|
|
29375
|
-
}
|
|
29376
|
-
if (this.lastIndex !== selectedIndex) {
|
|
29377
|
-
// have not set a last index yet
|
|
29378
|
-
hapticSelectionChanged();
|
|
29379
|
-
this.lastIndex = selectedIndex;
|
|
29380
|
-
}
|
|
29381
|
-
}
|
|
29382
|
-
decelerate() {
|
|
29383
|
-
if (this.velocity !== 0) {
|
|
29384
|
-
// still decelerating
|
|
29385
|
-
this.velocity *= DECELERATION_FRICTION;
|
|
29386
|
-
// do not let it go slower than a velocity of 1
|
|
29387
|
-
this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
|
|
29388
|
-
let y = this.y + this.velocity;
|
|
29389
|
-
if (y > this.minY) {
|
|
29390
|
-
// whoops, it's trying to scroll up farther than the options we have!
|
|
29391
|
-
y = this.minY;
|
|
29392
|
-
this.velocity = 0;
|
|
29393
|
-
}
|
|
29394
|
-
else if (y < this.maxY) {
|
|
29395
|
-
// gahh, it's trying to scroll down farther than we can!
|
|
29396
|
-
y = this.maxY;
|
|
29397
|
-
this.velocity = 0;
|
|
29398
|
-
}
|
|
29399
|
-
this.update(y, 0, true);
|
|
29400
|
-
const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
|
|
29401
|
-
if (notLockedIn) {
|
|
29402
|
-
// isn't locked in yet, keep decelerating until it is
|
|
29403
|
-
this.rafId = requestAnimationFrame(() => this.decelerate());
|
|
29404
|
-
}
|
|
29405
|
-
else {
|
|
29406
|
-
this.velocity = 0;
|
|
29407
|
-
this.emitColChange();
|
|
29408
|
-
hapticSelectionEnd();
|
|
29409
|
-
}
|
|
29410
|
-
}
|
|
29411
|
-
else if (this.y % this.optHeight !== 0) {
|
|
29412
|
-
// needs to still get locked into a position so options line up
|
|
29413
|
-
const currentPos = Math.abs(this.y % this.optHeight);
|
|
29414
|
-
// create a velocity in the direction it needs to scroll
|
|
29415
|
-
this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
|
|
29416
|
-
this.decelerate();
|
|
29417
|
-
}
|
|
29418
|
-
}
|
|
29419
|
-
indexForY(y) {
|
|
29420
|
-
return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
|
|
29421
|
-
}
|
|
29422
|
-
onStart(detail) {
|
|
29423
|
-
// We have to prevent default in order to block scrolling under the picker
|
|
29424
|
-
// but we DO NOT have to stop propagation, since we still want
|
|
29425
|
-
// some "click" events to capture
|
|
29426
|
-
if (detail.event.cancelable) {
|
|
29427
|
-
detail.event.preventDefault();
|
|
29428
|
-
}
|
|
29429
|
-
detail.event.stopPropagation();
|
|
29430
|
-
hapticSelectionStart();
|
|
29431
|
-
// reset everything
|
|
29432
|
-
if (this.rafId !== undefined)
|
|
29433
|
-
cancelAnimationFrame(this.rafId);
|
|
29434
|
-
const options = this.col.options;
|
|
29435
|
-
let minY = options.length - 1;
|
|
29436
|
-
let maxY = 0;
|
|
29437
|
-
for (let i = 0; i < options.length; i++) {
|
|
29438
|
-
if (!options[i].disabled) {
|
|
29439
|
-
minY = Math.min(minY, i);
|
|
29440
|
-
maxY = Math.max(maxY, i);
|
|
29441
|
-
}
|
|
29442
|
-
}
|
|
29443
|
-
this.minY = -(minY * this.optHeight);
|
|
29444
|
-
this.maxY = -(maxY * this.optHeight);
|
|
29445
|
-
}
|
|
29446
|
-
onMove(detail) {
|
|
29447
|
-
if (detail.event.cancelable) {
|
|
29448
|
-
detail.event.preventDefault();
|
|
29449
|
-
}
|
|
29450
|
-
detail.event.stopPropagation();
|
|
29451
|
-
// update the scroll position relative to pointer start position
|
|
29452
|
-
let y = this.y + detail.deltaY;
|
|
29453
|
-
if (y > this.minY) {
|
|
29454
|
-
// scrolling up higher than scroll area
|
|
29455
|
-
y = Math.pow(y, 0.8);
|
|
29456
|
-
this.bounceFrom = y;
|
|
29457
|
-
}
|
|
29458
|
-
else if (y < this.maxY) {
|
|
29459
|
-
// scrolling down below scroll area
|
|
29460
|
-
y += Math.pow(this.maxY - y, 0.9);
|
|
29461
|
-
this.bounceFrom = y;
|
|
29462
|
-
}
|
|
29463
|
-
else {
|
|
29464
|
-
this.bounceFrom = 0;
|
|
29465
|
-
}
|
|
29466
|
-
this.update(y, 0, false);
|
|
29467
|
-
}
|
|
29468
|
-
onEnd(detail) {
|
|
29469
|
-
if (this.bounceFrom > 0) {
|
|
29470
|
-
// bounce back up
|
|
29471
|
-
this.update(this.minY, 100, true);
|
|
29472
|
-
this.emitColChange();
|
|
29473
|
-
return;
|
|
29474
|
-
}
|
|
29475
|
-
else if (this.bounceFrom < 0) {
|
|
29476
|
-
// bounce back down
|
|
29477
|
-
this.update(this.maxY, 100, true);
|
|
29478
|
-
this.emitColChange();
|
|
29479
|
-
return;
|
|
29480
|
-
}
|
|
29481
|
-
this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
|
|
29482
|
-
if (this.velocity === 0 && detail.deltaY === 0) {
|
|
29483
|
-
const opt = detail.event.target.closest('.picker-opt');
|
|
29484
|
-
if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
|
|
29485
|
-
this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
|
|
29486
|
-
}
|
|
29487
|
-
}
|
|
29488
|
-
else {
|
|
29489
|
-
this.y += detail.deltaY;
|
|
29490
|
-
if (Math.abs(detail.velocityY) < 0.05) {
|
|
29491
|
-
const isScrollingUp = detail.deltaY > 0;
|
|
29492
|
-
const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
|
|
29493
|
-
if (isScrollingUp && optHeightFraction > 0.5) {
|
|
29494
|
-
this.velocity = Math.abs(this.velocity) * -1;
|
|
29495
|
-
}
|
|
29496
|
-
else if (!isScrollingUp && optHeightFraction <= 0.5) {
|
|
29497
|
-
this.velocity = Math.abs(this.velocity);
|
|
29498
|
-
}
|
|
29499
|
-
}
|
|
29500
|
-
this.decelerate();
|
|
29501
|
-
}
|
|
29502
|
-
}
|
|
29503
|
-
refresh(forceRefresh, animated) {
|
|
29504
|
-
var _a;
|
|
29505
|
-
let min = this.col.options.length - 1;
|
|
29506
|
-
let max = 0;
|
|
29507
|
-
const options = this.col.options;
|
|
29508
|
-
for (let i = 0; i < options.length; i++) {
|
|
29509
|
-
if (!options[i].disabled) {
|
|
29510
|
-
min = Math.min(min, i);
|
|
29511
|
-
max = Math.max(max, i);
|
|
29512
|
-
}
|
|
29513
|
-
}
|
|
29514
|
-
/**
|
|
29515
|
-
* Only update selected value if column has a
|
|
29516
|
-
* velocity of 0. If it does not, then the
|
|
29517
|
-
* column is animating might land on
|
|
29518
|
-
* a value different than the value at
|
|
29519
|
-
* selectedIndex
|
|
29520
|
-
*/
|
|
29521
|
-
if (this.velocity !== 0) {
|
|
29522
|
-
return;
|
|
29523
|
-
}
|
|
29524
|
-
const selectedIndex = clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
|
|
29525
|
-
if (this.col.prevSelected !== selectedIndex || forceRefresh) {
|
|
29526
|
-
const y = selectedIndex * this.optHeight * -1;
|
|
29527
|
-
const duration = animated ? TRANSITION_DURATION : 0;
|
|
29528
|
-
this.velocity = 0;
|
|
29529
|
-
this.update(y, duration, true);
|
|
29530
|
-
}
|
|
29531
|
-
}
|
|
29532
|
-
onDomChange(forceRefresh, animated) {
|
|
29533
|
-
const colEl = this.optsEl;
|
|
29534
|
-
if (colEl) {
|
|
29535
|
-
// DOM READ
|
|
29536
|
-
// We perfom a DOM read over a rendered item, this needs to happen after the first render or after the column has changed
|
|
29537
|
-
this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
|
|
29538
|
-
}
|
|
29539
|
-
this.refresh(forceRefresh, animated);
|
|
29540
|
-
}
|
|
29541
|
-
render() {
|
|
29542
|
-
const col = this.col;
|
|
29543
|
-
const mode = getIonMode$1(this);
|
|
29544
|
-
return (hAsync(Host, { key: '86125e95f18837dfd021db01777d72a1562d8ee3', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
29545
|
-
'max-width': this.col.columnWidth,
|
|
29546
|
-
} }, col.prefix && (hAsync("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
29547
|
-
}
|
|
29548
|
-
get el() { return getElement(this); }
|
|
29549
|
-
static get watchers() { return {
|
|
29550
|
-
"col": [{
|
|
29551
|
-
"colChanged": 0
|
|
29552
|
-
}]
|
|
29553
|
-
}; }
|
|
29554
|
-
static get style() { return {
|
|
29555
|
-
ios: pickerColumnIosCss(),
|
|
29556
|
-
md: pickerColumnMdCss()
|
|
29557
|
-
}; }
|
|
29558
|
-
static get cmpMeta() { return {
|
|
29559
|
-
"$flags$": 32,
|
|
29560
|
-
"$tagName$": "ion-picker-legacy-column",
|
|
29561
|
-
"$members$": {
|
|
29562
|
-
"col": [16]
|
|
29563
|
-
},
|
|
29564
|
-
"$listeners$": undefined,
|
|
29565
|
-
"$lazyBundleId$": "-",
|
|
29566
|
-
"$attrsToReflect$": []
|
|
29567
|
-
}; }
|
|
29568
|
-
}
|
|
29569
|
-
const PICKER_OPT_SELECTED = 'picker-opt-selected';
|
|
29570
|
-
const DECELERATION_FRICTION = 0.97;
|
|
29571
|
-
const MAX_PICKER_SPEED = 90;
|
|
29572
|
-
const TRANSITION_DURATION = 150;
|
|
29573
|
-
|
|
29574
29228
|
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}`;
|
|
29575
29229
|
|
|
29576
|
-
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)}`;
|
|
29230
|
+
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)}`;
|
|
29577
29231
|
|
|
29578
29232
|
class PickerColumnOption {
|
|
29579
29233
|
constructor(hostRef) {
|
|
@@ -29597,12 +29251,6 @@ class PickerColumnOption {
|
|
|
29597
29251
|
* If `true`, the user cannot interact with the picker column option.
|
|
29598
29252
|
*/
|
|
29599
29253
|
this.disabled = false;
|
|
29600
|
-
/**
|
|
29601
|
-
* The color to use from your application's color palette.
|
|
29602
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
29603
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
29604
|
-
*/
|
|
29605
|
-
this.color = 'primary';
|
|
29606
29254
|
}
|
|
29607
29255
|
/**
|
|
29608
29256
|
* The aria-label of the option has changed after the
|
|
@@ -29662,10 +29310,10 @@ class PickerColumnOption {
|
|
|
29662
29310
|
render() {
|
|
29663
29311
|
const { color, disabled, ariaLabel } = this;
|
|
29664
29312
|
const mode = getIonMode$1(this);
|
|
29665
|
-
return (hAsync(Host, { key: '
|
|
29313
|
+
return (hAsync(Host, { key: '98109dc9aeced749a3e879394d9a24de24204433', class: createColorClasses$1(color, {
|
|
29666
29314
|
[mode]: true,
|
|
29667
29315
|
['option-disabled']: disabled,
|
|
29668
|
-
}) }, hAsync("div", { key: '
|
|
29316
|
+
}) }, hAsync("div", { key: '42cb75738ea6925a7780b3ec9c1ff6823e340a24', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '1f1b3862cdfb2b432016014e2e56330c0247d0b5' }))));
|
|
29669
29317
|
}
|
|
29670
29318
|
get el() { return getElement(this); }
|
|
29671
29319
|
static get watchers() { return {
|
|
@@ -30766,9 +30414,9 @@ const mdLeaveAnimation$1 = (baseEl) => {
|
|
|
30766
30414
|
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
30767
30415
|
};
|
|
30768
30416
|
|
|
30769
|
-
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)}}`;
|
|
30417
|
+
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)}}`;
|
|
30770
30418
|
|
|
30771
|
-
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}`;
|
|
30419
|
+
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}`;
|
|
30772
30420
|
|
|
30773
30421
|
// TODO(FW-2832): types
|
|
30774
30422
|
/**
|
|
@@ -30992,6 +30640,10 @@ class Popover {
|
|
|
30992
30640
|
this.headerResizeObserver.disconnect();
|
|
30993
30641
|
this.headerResizeObserver = undefined;
|
|
30994
30642
|
}
|
|
30643
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
30644
|
+
if (this.presented) {
|
|
30645
|
+
cleanupRootFocusTrapAccessibility();
|
|
30646
|
+
}
|
|
30995
30647
|
}
|
|
30996
30648
|
componentWillLoad() {
|
|
30997
30649
|
var _a, _b;
|
|
@@ -31230,9 +30882,9 @@ class Popover {
|
|
|
31230
30882
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
31231
30883
|
const desktop = isPlatform('desktop');
|
|
31232
30884
|
const enableArrow = arrow && !parentPopover;
|
|
31233
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30885
|
+
return (hAsync(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
31234
30886
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
31235
|
-
}, 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: '
|
|
30887
|
+
}, 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' })))));
|
|
31236
30888
|
}
|
|
31237
30889
|
get el() { return getElement(this); }
|
|
31238
30890
|
static get watchers() { return {
|
|
@@ -31343,7 +30995,7 @@ class ProgressBar {
|
|
|
31343
30995
|
const mode = getIonMode$1(this);
|
|
31344
30996
|
// If the progress is displayed as a solid bar.
|
|
31345
30997
|
const progressSolid = buffer === 1;
|
|
31346
|
-
return (hAsync(Host, { key: '
|
|
30998
|
+
return (hAsync(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
31347
30999
|
[mode]: true,
|
|
31348
31000
|
[`progress-bar-${type}`]: true,
|
|
31349
31001
|
'progress-paused': paused,
|
|
@@ -31528,7 +31180,7 @@ class Radio {
|
|
|
31528
31180
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
31529
31181
|
const mode = getIonMode$1(this);
|
|
31530
31182
|
const inItem = hostContext('ion-item', el);
|
|
31531
|
-
return (hAsync(Host, { key: '
|
|
31183
|
+
return (hAsync(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
31532
31184
|
[mode]: true,
|
|
31533
31185
|
'in-item': inItem,
|
|
31534
31186
|
'radio-checked': checked,
|
|
@@ -31539,10 +31191,10 @@ class Radio {
|
|
|
31539
31191
|
// Focus and active styling should not apply when the radio is in an item
|
|
31540
31192
|
'ion-activatable': !inItem,
|
|
31541
31193
|
'ion-focusable': !inItem,
|
|
31542
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
31194
|
+
}), 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: {
|
|
31543
31195
|
'label-text-wrapper': true,
|
|
31544
31196
|
'label-text-wrapper-hidden': !hasLabel,
|
|
31545
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
31197
|
+
}, part: "label" }, hAsync("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), hAsync("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
31546
31198
|
}
|
|
31547
31199
|
get el() { return getElement(this); }
|
|
31548
31200
|
static get watchers() { return {
|
|
@@ -31561,7 +31213,7 @@ class Radio {
|
|
|
31561
31213
|
"color": [513],
|
|
31562
31214
|
"name": [1],
|
|
31563
31215
|
"disabled": [4],
|
|
31564
|
-
"value": [
|
|
31216
|
+
"value": [520],
|
|
31565
31217
|
"labelPlacement": [1, "label-placement"],
|
|
31566
31218
|
"justify": [1],
|
|
31567
31219
|
"alignment": [1],
|
|
@@ -31572,7 +31224,7 @@ class Radio {
|
|
|
31572
31224
|
},
|
|
31573
31225
|
"$listeners$": undefined,
|
|
31574
31226
|
"$lazyBundleId$": "-",
|
|
31575
|
-
"$attrsToReflect$": [["color", "color"]]
|
|
31227
|
+
"$attrsToReflect$": [["color", "color"], ["value", "value"]]
|
|
31576
31228
|
}; }
|
|
31577
31229
|
}
|
|
31578
31230
|
let radioButtonIds = 0;
|
|
@@ -32637,7 +32289,7 @@ class Range {
|
|
|
32637
32289
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
32638
32290
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
32639
32291
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
32640
|
-
return (hAsync(Host, { key: '
|
|
32292
|
+
return (hAsync(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
32641
32293
|
[mode]: true,
|
|
32642
32294
|
'in-item': inItem,
|
|
32643
32295
|
'range-disabled': disabled,
|
|
@@ -32651,10 +32303,10 @@ class Range {
|
|
|
32651
32303
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
32652
32304
|
'range-value-min': valueAtMin,
|
|
32653
32305
|
'range-value-max': valueAtMax,
|
|
32654
|
-
}) }, hAsync("label", { key: '
|
|
32306
|
+
}) }, hAsync("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
|
|
32655
32307
|
'label-text-wrapper': true,
|
|
32656
32308
|
'label-text-wrapper-hidden': !hasLabel,
|
|
32657
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
32309
|
+
}, 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" })))));
|
|
32658
32310
|
}
|
|
32659
32311
|
get el() { return getElement(this); }
|
|
32660
32312
|
static get watchers() { return {
|
|
@@ -33725,7 +33377,7 @@ class Refresher {
|
|
|
33725
33377
|
}
|
|
33726
33378
|
render() {
|
|
33727
33379
|
const mode = getIonMode$1(this);
|
|
33728
|
-
return (hAsync(Host, { key: '
|
|
33380
|
+
return (hAsync(Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
|
|
33729
33381
|
[mode]: true,
|
|
33730
33382
|
// Used internally for styling
|
|
33731
33383
|
[`refresher-${mode}`]: true,
|
|
@@ -33951,7 +33603,7 @@ class RefresherContent {
|
|
|
33951
33603
|
const pullingIcon = this.pullingIcon;
|
|
33952
33604
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
33953
33605
|
const mode = getIonMode$1(this);
|
|
33954
|
-
return (hAsync(Host, { key: '
|
|
33606
|
+
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())));
|
|
33955
33607
|
}
|
|
33956
33608
|
get el() { return getElement(this); }
|
|
33957
33609
|
static get cmpMeta() { return {
|
|
@@ -33992,7 +33644,7 @@ class Reorder {
|
|
|
33992
33644
|
render() {
|
|
33993
33645
|
const mode = getIonMode$1(this);
|
|
33994
33646
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
33995
|
-
return (hAsync(Host, { key: '
|
|
33647
|
+
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" }))));
|
|
33996
33648
|
}
|
|
33997
33649
|
get el() { return getElement(this); }
|
|
33998
33650
|
static get style() { return {
|
|
@@ -34263,7 +33915,7 @@ class ReorderGroup {
|
|
|
34263
33915
|
}
|
|
34264
33916
|
render() {
|
|
34265
33917
|
const mode = getIonMode$1(this);
|
|
34266
|
-
return (hAsync(Host, { key: '
|
|
33918
|
+
return (hAsync(Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
|
|
34267
33919
|
[mode]: true,
|
|
34268
33920
|
'reorder-enabled': !this.disabled,
|
|
34269
33921
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -34381,7 +34033,7 @@ class RippleEffect {
|
|
|
34381
34033
|
}
|
|
34382
34034
|
render() {
|
|
34383
34035
|
const mode = getIonMode$1(this);
|
|
34384
|
-
return (hAsync(Host, { key: '
|
|
34036
|
+
return (hAsync(Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
|
|
34385
34037
|
[mode]: true,
|
|
34386
34038
|
unbounded: this.unbounded,
|
|
34387
34039
|
} }));
|
|
@@ -34819,16 +34471,30 @@ const scrollToFragment = async (fragment, shouldContinue = () => true) => {
|
|
|
34819
34471
|
return false;
|
|
34820
34472
|
}
|
|
34821
34473
|
};
|
|
34474
|
+
/** How long the router waits for a navigation outlet before giving up and proceeding. */
|
|
34475
|
+
const NAV_NODE_TIMEOUT = 500;
|
|
34822
34476
|
const waitUntilNavNode = () => {
|
|
34823
34477
|
if (searchNavNode(document.body)) {
|
|
34824
34478
|
return Promise.resolve();
|
|
34825
34479
|
}
|
|
34826
34480
|
return new Promise((resolve) => {
|
|
34827
|
-
|
|
34481
|
+
/**
|
|
34482
|
+
* Outlets emit `ionNavWillLoad` as they load, so resolve as soon as one does.
|
|
34483
|
+
* A timeout backstops the case where the page has no outlet at all: without it
|
|
34484
|
+
* the router would wait forever and its `componentWillLoad` would never settle,
|
|
34485
|
+
* which in turn prevents the app from signalling that it has finished loading.
|
|
34486
|
+
*/
|
|
34487
|
+
const done = () => {
|
|
34488
|
+
window.removeEventListener('ionNavWillLoad', done);
|
|
34489
|
+
clearTimeout(timeout);
|
|
34490
|
+
resolve();
|
|
34491
|
+
};
|
|
34492
|
+
const timeout = setTimeout(done, NAV_NODE_TIMEOUT);
|
|
34493
|
+
window.addEventListener('ionNavWillLoad', done, { once: true });
|
|
34828
34494
|
});
|
|
34829
34495
|
};
|
|
34830
34496
|
/** Selector for all the outlets supported by the router. */
|
|
34831
|
-
const OUTLET_SELECTOR = ':not([no-router]) ion-
|
|
34497
|
+
const OUTLET_SELECTOR = ':not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet';
|
|
34832
34498
|
const searchNavNode = (root) => {
|
|
34833
34499
|
if (!root) {
|
|
34834
34500
|
return undefined;
|
|
@@ -35515,10 +35181,10 @@ class RouterLink {
|
|
|
35515
35181
|
rel: this.rel,
|
|
35516
35182
|
target: this.target,
|
|
35517
35183
|
};
|
|
35518
|
-
return (hAsync(Host, { key: '
|
|
35184
|
+
return (hAsync(Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
35519
35185
|
[mode]: true,
|
|
35520
35186
|
'ion-activatable': true,
|
|
35521
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
35187
|
+
}) }, hAsync("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), hAsync("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
|
|
35522
35188
|
}
|
|
35523
35189
|
static get style() { return routerLinkCss(); }
|
|
35524
35190
|
static get cmpMeta() { return {
|
|
@@ -35557,10 +35223,11 @@ class RouterOutlet {
|
|
|
35557
35223
|
*/
|
|
35558
35224
|
this.animated = true;
|
|
35559
35225
|
}
|
|
35226
|
+
swipeGestureChanged() {
|
|
35227
|
+
this.updateGestureEnabled();
|
|
35228
|
+
}
|
|
35560
35229
|
swipeHandlerChanged() {
|
|
35561
|
-
|
|
35562
|
-
this.gesture.enable(this.swipeHandler !== undefined);
|
|
35563
|
-
}
|
|
35230
|
+
this.updateGestureEnabled();
|
|
35564
35231
|
}
|
|
35565
35232
|
async connectedCallback() {
|
|
35566
35233
|
const onStart = () => {
|
|
@@ -35600,11 +35267,21 @@ class RouterOutlet {
|
|
|
35600
35267
|
this.gestureOrAnimationInProgress = false;
|
|
35601
35268
|
}
|
|
35602
35269
|
});
|
|
35603
|
-
this.
|
|
35270
|
+
if (this.swipeGesture === undefined) {
|
|
35271
|
+
this.swipeGesture = config.getBoolean('swipeBackEnabled', this.mode === 'ios');
|
|
35272
|
+
}
|
|
35273
|
+
else {
|
|
35274
|
+
this.updateGestureEnabled();
|
|
35275
|
+
}
|
|
35604
35276
|
}
|
|
35605
35277
|
componentWillLoad() {
|
|
35606
35278
|
this.ionNavWillLoad.emit();
|
|
35607
35279
|
}
|
|
35280
|
+
updateGestureEnabled() {
|
|
35281
|
+
if (this.gesture) {
|
|
35282
|
+
this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
|
|
35283
|
+
}
|
|
35284
|
+
}
|
|
35608
35285
|
disconnectedCallback() {
|
|
35609
35286
|
if (this.gesture) {
|
|
35610
35287
|
this.gesture.destroy();
|
|
@@ -35715,10 +35392,13 @@ class RouterOutlet {
|
|
|
35715
35392
|
return true;
|
|
35716
35393
|
}
|
|
35717
35394
|
render() {
|
|
35718
|
-
return hAsync("slot", { key: '
|
|
35395
|
+
return hAsync("slot", { key: 'ce09e6fbba7b0a2276cdde5245bb37c9a162c1c7' });
|
|
35719
35396
|
}
|
|
35720
35397
|
get el() { return getElement(this); }
|
|
35721
35398
|
static get watchers() { return {
|
|
35399
|
+
"swipeGesture": [{
|
|
35400
|
+
"swipeGestureChanged": 0
|
|
35401
|
+
}],
|
|
35722
35402
|
"swipeHandler": [{
|
|
35723
35403
|
"swipeHandlerChanged": 0
|
|
35724
35404
|
}]
|
|
@@ -35732,6 +35412,7 @@ class RouterOutlet {
|
|
|
35732
35412
|
"delegate": [16],
|
|
35733
35413
|
"animated": [4],
|
|
35734
35414
|
"animation": [16],
|
|
35415
|
+
"swipeGesture": [1028, "swipe-gesture"],
|
|
35735
35416
|
"swipeHandler": [16],
|
|
35736
35417
|
"commit": [64],
|
|
35737
35418
|
"setRouteId": [64],
|
|
@@ -35750,7 +35431,7 @@ class Row {
|
|
|
35750
35431
|
registerInstance(this, hostRef);
|
|
35751
35432
|
}
|
|
35752
35433
|
render() {
|
|
35753
|
-
return (hAsync(Host, { key: '
|
|
35434
|
+
return (hAsync(Host, { key: 'a9066661fff12baaf3e80b2e8c08591af72fe5b8', class: getIonMode$1(this) }, hAsync("slot", { key: '62b103af46d3a5ec9c146019ae300b68a4ae867a' })));
|
|
35754
35435
|
}
|
|
35755
35436
|
static get style() { return rowCss(); }
|
|
35756
35437
|
static get cmpMeta() { return {
|
|
@@ -35802,7 +35483,7 @@ class Searchbar {
|
|
|
35802
35483
|
/**
|
|
35803
35484
|
* Set the input's autocorrect property.
|
|
35804
35485
|
*/
|
|
35805
|
-
this.autocorrect =
|
|
35486
|
+
this.autocorrect = false;
|
|
35806
35487
|
/**
|
|
35807
35488
|
* Set the cancel button icon. Only applies to `md` mode.
|
|
35808
35489
|
* Defaults to `arrow-back-sharp`.
|
|
@@ -36223,8 +35904,8 @@ class Searchbar {
|
|
|
36223
35904
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
36224
35905
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
36225
35906
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
36226
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
36227
|
-
return (hAsync(Host, { key: '
|
|
35907
|
+
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))));
|
|
35908
|
+
return (hAsync(Host, { key: '1b4f6c4e7dffb02e092f0026ce3875822d98a631', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
36228
35909
|
[mode]: true,
|
|
36229
35910
|
'searchbar-animated': animated,
|
|
36230
35911
|
'searchbar-disabled': this.disabled,
|
|
@@ -36234,14 +35915,14 @@ class Searchbar {
|
|
|
36234
35915
|
'searchbar-has-focus': this.focused,
|
|
36235
35916
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
36236
35917
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
36237
|
-
}) }, hAsync("div", { key: '
|
|
35918
|
+
}) }, 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) => {
|
|
36238
35919
|
/**
|
|
36239
35920
|
* This prevents mobile browsers from
|
|
36240
35921
|
* blurring the input when the clear
|
|
36241
35922
|
* button is activated.
|
|
36242
35923
|
*/
|
|
36243
35924
|
ev.preventDefault();
|
|
36244
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
35925
|
+
}, 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));
|
|
36245
35926
|
}
|
|
36246
35927
|
get el() { return getElement(this); }
|
|
36247
35928
|
static get watchers() { return {
|
|
@@ -36273,7 +35954,7 @@ class Searchbar {
|
|
|
36273
35954
|
"animated": [4],
|
|
36274
35955
|
"autocapitalize": [1],
|
|
36275
35956
|
"autocomplete": [1],
|
|
36276
|
-
"autocorrect": [
|
|
35957
|
+
"autocorrect": [4],
|
|
36277
35958
|
"cancelButtonIcon": [1, "cancel-button-icon"],
|
|
36278
35959
|
"cancelButtonText": [1, "cancel-button-text"],
|
|
36279
35960
|
"clearIcon": [1, "clear-icon"],
|
|
@@ -36850,14 +36531,14 @@ class Segment {
|
|
|
36850
36531
|
}
|
|
36851
36532
|
render() {
|
|
36852
36533
|
const mode = getIonMode$1(this);
|
|
36853
|
-
return (hAsync(Host, { key: '
|
|
36534
|
+
return (hAsync(Host, { key: 'bb626072e73f09c3433e1a769e09789a00822d8f', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
36854
36535
|
[mode]: true,
|
|
36855
36536
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
36856
36537
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
36857
36538
|
'segment-activated': this.activated,
|
|
36858
36539
|
'segment-disabled': this.disabled,
|
|
36859
36540
|
'segment-scrollable': this.scrollable,
|
|
36860
|
-
}) }, hAsync("slot", { key: '
|
|
36541
|
+
}) }, hAsync("slot", { key: '652d5037c2c2dee4d47a5710b1d150e691202d25', onSlotchange: this.onSlottedItemsChange })));
|
|
36861
36542
|
}
|
|
36862
36543
|
get el() { return getElement(this); }
|
|
36863
36544
|
static get watchers() { return {
|
|
@@ -37005,7 +36686,7 @@ class SegmentButton {
|
|
|
37005
36686
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
37006
36687
|
const mode = getIonMode$1(this);
|
|
37007
36688
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
37008
|
-
return (hAsync(Host, { key: '
|
|
36689
|
+
return (hAsync(Host, { key: '792f621c36260b1fceff2b4ec4fa95d98d51d46b', class: {
|
|
37009
36690
|
[mode]: true,
|
|
37010
36691
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
37011
36692
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -37021,7 +36702,7 @@ class SegmentButton {
|
|
|
37021
36702
|
'ion-activatable': true,
|
|
37022
36703
|
'ion-activatable-instant': true,
|
|
37023
36704
|
'ion-focusable': true,
|
|
37024
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
36705
|
+
} }, 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" }))));
|
|
37025
36706
|
}
|
|
37026
36707
|
get el() { return getElement(this); }
|
|
37027
36708
|
static get watchers() { return {
|
|
@@ -37058,7 +36739,7 @@ class SegmentContent {
|
|
|
37058
36739
|
registerInstance(this, hostRef);
|
|
37059
36740
|
}
|
|
37060
36741
|
render() {
|
|
37061
|
-
return (hAsync(Host, { key: '
|
|
36742
|
+
return (hAsync(Host, { key: 'ef39f29c444177c3b083cd35680ba891e4bb6a2a' }, hAsync("slot", { key: '51f9dd9ca084ddd928b376aa9d716509669c32b2' })));
|
|
37062
36743
|
}
|
|
37063
36744
|
static get style() { return segmentContentCss(); }
|
|
37064
36745
|
static get cmpMeta() { return {
|
|
@@ -37177,11 +36858,11 @@ class SegmentView {
|
|
|
37177
36858
|
}
|
|
37178
36859
|
render() {
|
|
37179
36860
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
37180
|
-
return (hAsync(Host, { key: '
|
|
36861
|
+
return (hAsync(Host, { key: 'a6c6ac0232c4bb6f2a954b3de7993019d71f423a', class: {
|
|
37181
36862
|
'segment-view-disabled': disabled,
|
|
37182
36863
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
37183
36864
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
37184
|
-
} }, hAsync("slot", { key: '
|
|
36865
|
+
} }, hAsync("slot", { key: '386305be2a75069c79def12005d9f6b49276763f' })));
|
|
37185
36866
|
}
|
|
37186
36867
|
get el() { return getElement(this); }
|
|
37187
36868
|
static get style() { return {
|
|
@@ -37203,9 +36884,9 @@ class SegmentView {
|
|
|
37203
36884
|
}; }
|
|
37204
36885
|
}
|
|
37205
36886
|
|
|
37206
|
-
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}`;
|
|
36887
|
+
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}`;
|
|
37207
36888
|
|
|
37208
|
-
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}`;
|
|
36889
|
+
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}`;
|
|
37209
36890
|
|
|
37210
36891
|
// TODO(FW-2832): types
|
|
37211
36892
|
/**
|
|
@@ -37240,6 +36921,7 @@ class Select {
|
|
|
37240
36921
|
this.helperTextId = `${this.inputId}-helper-text`;
|
|
37241
36922
|
this.errorTextId = `${this.inputId}-error-text`;
|
|
37242
36923
|
this.inheritedAttributes = {};
|
|
36924
|
+
this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
37243
36925
|
this.isExpanded = false;
|
|
37244
36926
|
/**
|
|
37245
36927
|
* The `hasFocus` state ensures the focus class is
|
|
@@ -37365,9 +37047,40 @@ class Select {
|
|
|
37365
37047
|
this.emitStyle();
|
|
37366
37048
|
}
|
|
37367
37049
|
setValue(value) {
|
|
37050
|
+
if (this.isValueEqual(this.value, value)) {
|
|
37051
|
+
return;
|
|
37052
|
+
}
|
|
37368
37053
|
this.value = value;
|
|
37369
37054
|
this.ionChange.emit({ value });
|
|
37370
37055
|
}
|
|
37056
|
+
isValueEqual(currentValue, newValue) {
|
|
37057
|
+
if (this.multiple) {
|
|
37058
|
+
const currentArr = Array.isArray(currentValue) ? currentValue : [];
|
|
37059
|
+
const newArr = Array.isArray(newValue) ? newValue : [];
|
|
37060
|
+
if (currentArr.length !== newArr.length) {
|
|
37061
|
+
return false;
|
|
37062
|
+
}
|
|
37063
|
+
// Multiset compare: each new value must match a distinct current value.
|
|
37064
|
+
// A plain `every(isOptionSelected)` would accept ['a','a'] as equal to
|
|
37065
|
+
// ['a','b'] when both 'a' and 'b' map to options whose values overlap.
|
|
37066
|
+
const remaining = currentArr.slice();
|
|
37067
|
+
return newArr.every((val) => {
|
|
37068
|
+
const idx = remaining.findIndex((c) => compareOptions(c, val, this.compareWith));
|
|
37069
|
+
if (idx === -1) {
|
|
37070
|
+
return false;
|
|
37071
|
+
}
|
|
37072
|
+
remaining.splice(idx, 1);
|
|
37073
|
+
return true;
|
|
37074
|
+
});
|
|
37075
|
+
}
|
|
37076
|
+
if (currentValue == null && newValue == null) {
|
|
37077
|
+
return true;
|
|
37078
|
+
}
|
|
37079
|
+
if (currentValue == null || newValue == null) {
|
|
37080
|
+
return false;
|
|
37081
|
+
}
|
|
37082
|
+
return compareOptions(currentValue, newValue, this.compareWith);
|
|
37083
|
+
}
|
|
37371
37084
|
async connectedCallback() {
|
|
37372
37085
|
const { el } = this;
|
|
37373
37086
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
@@ -37561,10 +37274,11 @@ class Select {
|
|
|
37561
37274
|
.join(' ');
|
|
37562
37275
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
37563
37276
|
const isSelected = isOptionSelected(selectValue, value, this.compareWith);
|
|
37277
|
+
const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
|
|
37564
37278
|
return {
|
|
37565
|
-
|
|
37566
|
-
text: option.textContent,
|
|
37279
|
+
text: content !== null && content !== void 0 ? content : '',
|
|
37567
37280
|
cssClass: optClass,
|
|
37281
|
+
disabled: option.disabled,
|
|
37568
37282
|
handler: () => {
|
|
37569
37283
|
this.setValue(value);
|
|
37570
37284
|
},
|
|
@@ -37572,6 +37286,9 @@ class Select {
|
|
|
37572
37286
|
'aria-checked': isSelected ? 'true' : 'false',
|
|
37573
37287
|
role: 'radio',
|
|
37574
37288
|
},
|
|
37289
|
+
startContent,
|
|
37290
|
+
endContent,
|
|
37291
|
+
description: option.description,
|
|
37575
37292
|
};
|
|
37576
37293
|
});
|
|
37577
37294
|
// Add "cancel" button
|
|
@@ -37592,13 +37309,19 @@ class Select {
|
|
|
37592
37309
|
.filter((cls) => cls !== 'hydrated')
|
|
37593
37310
|
.join(' ');
|
|
37594
37311
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
37312
|
+
const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
|
|
37595
37313
|
return {
|
|
37596
37314
|
type: inputType,
|
|
37597
37315
|
cssClass: optClass,
|
|
37598
|
-
label:
|
|
37316
|
+
label: content !== null && content !== void 0 ? content : '',
|
|
37599
37317
|
value,
|
|
37600
37318
|
checked: isOptionSelected(selectValue, value, this.compareWith),
|
|
37601
37319
|
disabled: option.disabled,
|
|
37320
|
+
startContent,
|
|
37321
|
+
endContent,
|
|
37322
|
+
description: option.description,
|
|
37323
|
+
labelPlacement: option.labelPlacement,
|
|
37324
|
+
justify: option.justify,
|
|
37602
37325
|
};
|
|
37603
37326
|
});
|
|
37604
37327
|
return alertInputs;
|
|
@@ -37611,8 +37334,9 @@ class Select {
|
|
|
37611
37334
|
.filter((cls) => cls !== 'hydrated')
|
|
37612
37335
|
.join(' ');
|
|
37613
37336
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
37337
|
+
const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
|
|
37614
37338
|
return {
|
|
37615
|
-
text:
|
|
37339
|
+
text: content !== null && content !== void 0 ? content : '',
|
|
37616
37340
|
cssClass: optClass,
|
|
37617
37341
|
value,
|
|
37618
37342
|
checked: isOptionSelected(selectValue, value, this.compareWith),
|
|
@@ -37623,6 +37347,11 @@ class Select {
|
|
|
37623
37347
|
this.close();
|
|
37624
37348
|
}
|
|
37625
37349
|
},
|
|
37350
|
+
startContent,
|
|
37351
|
+
endContent,
|
|
37352
|
+
description: option.description,
|
|
37353
|
+
labelPlacement: option.labelPlacement,
|
|
37354
|
+
justify: option.justify,
|
|
37626
37355
|
};
|
|
37627
37356
|
});
|
|
37628
37357
|
return popoverOptions;
|
|
@@ -37655,15 +37384,21 @@ class Select {
|
|
|
37655
37384
|
ionShadowTarget: this.nativeWrapperEl,
|
|
37656
37385
|
} });
|
|
37657
37386
|
}
|
|
37387
|
+
const options = this.createOverlaySelectOptions(this.childOpts, value);
|
|
37388
|
+
const hasRichContent = options.some((opt) => opt.startContent || opt.endContent || opt.description);
|
|
37658
37389
|
const popoverOpts = Object.assign(Object.assign({ mode,
|
|
37659
37390
|
event, alignment: 'center', size,
|
|
37660
|
-
showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: [
|
|
37391
|
+
showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: [
|
|
37392
|
+
'select-popover',
|
|
37393
|
+
hasRichContent ? 'select-popover-rich-content' : undefined,
|
|
37394
|
+
interfaceOptions.cssClass,
|
|
37395
|
+
], componentProps: {
|
|
37661
37396
|
header: interfaceOptions.header,
|
|
37662
37397
|
subHeader: interfaceOptions.subHeader,
|
|
37663
37398
|
message: interfaceOptions.message,
|
|
37664
37399
|
multiple,
|
|
37665
37400
|
value,
|
|
37666
|
-
options
|
|
37401
|
+
options,
|
|
37667
37402
|
} });
|
|
37668
37403
|
return popoverController.create(popoverOpts);
|
|
37669
37404
|
}
|
|
@@ -37744,12 +37479,18 @@ class Select {
|
|
|
37744
37479
|
}
|
|
37745
37480
|
return;
|
|
37746
37481
|
}
|
|
37747
|
-
|
|
37482
|
+
/**
|
|
37483
|
+
* Returns the text to display in the select based on the selected value.
|
|
37484
|
+
*
|
|
37485
|
+
* @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`.
|
|
37486
|
+
* @returns The text to display in the select, either with or without HTML based on the `useHTML` parameter.
|
|
37487
|
+
*/
|
|
37488
|
+
getText(useHTML = false) {
|
|
37748
37489
|
const selectedText = this.selectedText;
|
|
37749
37490
|
if (selectedText != null && selectedText !== '') {
|
|
37750
37491
|
return selectedText;
|
|
37751
37492
|
}
|
|
37752
|
-
return generateText(this.childOpts, this.value, this.compareWith);
|
|
37493
|
+
return generateText(this.childOpts, this.value, this.compareWith, useHTML);
|
|
37753
37494
|
}
|
|
37754
37495
|
setFocus() {
|
|
37755
37496
|
if (this.focusEl) {
|
|
@@ -37819,6 +37560,47 @@ class Select {
|
|
|
37819
37560
|
*/
|
|
37820
37561
|
return this.renderLabel();
|
|
37821
37562
|
}
|
|
37563
|
+
/**
|
|
37564
|
+
* Wraps text nodes in the select text with span elements
|
|
37565
|
+
* so spacing can be added between elements without
|
|
37566
|
+
* changing the display to prevent losing the ellipses
|
|
37567
|
+
* behavior.
|
|
37568
|
+
*
|
|
37569
|
+
* Only wraps when the string contains HTML elements
|
|
37570
|
+
* alongside text.
|
|
37571
|
+
*/
|
|
37572
|
+
wrapSelectTextNodes(html) {
|
|
37573
|
+
const temp = document.createElement('div');
|
|
37574
|
+
temp.innerHTML = html;
|
|
37575
|
+
const hasElements = Array.from(temp.childNodes).some((n) => n.nodeType === Node.ELEMENT_NODE);
|
|
37576
|
+
// Return the plain text
|
|
37577
|
+
if (!hasElements) {
|
|
37578
|
+
return html;
|
|
37579
|
+
}
|
|
37580
|
+
Array.from(temp.childNodes).forEach((node) => {
|
|
37581
|
+
var _a, _b, _c, _d;
|
|
37582
|
+
if (node.nodeType === Node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
37583
|
+
const text = node.textContent;
|
|
37584
|
+
/**
|
|
37585
|
+
* Split comma separator from the text content
|
|
37586
|
+
* e.g., ", Bacon" becomes ", " text node + <span>Bacon</span>.
|
|
37587
|
+
*/
|
|
37588
|
+
const commaMatch = text.match(/^(,\s*)(.*)/);
|
|
37589
|
+
if (commaMatch) {
|
|
37590
|
+
const commaNode = document.createTextNode(commaMatch[1]);
|
|
37591
|
+
const wrapper = document.createElement('span');
|
|
37592
|
+
wrapper.textContent = commaMatch[2];
|
|
37593
|
+
(_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(wrapper, node);
|
|
37594
|
+
(_c = wrapper.parentNode) === null || _c === void 0 ? void 0 : _c.insertBefore(commaNode, wrapper);
|
|
37595
|
+
return;
|
|
37596
|
+
}
|
|
37597
|
+
const wrapper = document.createElement('span');
|
|
37598
|
+
(_d = node.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(wrapper, node);
|
|
37599
|
+
wrapper.appendChild(node);
|
|
37600
|
+
}
|
|
37601
|
+
});
|
|
37602
|
+
return temp.innerHTML;
|
|
37603
|
+
}
|
|
37822
37604
|
/**
|
|
37823
37605
|
* Renders either the placeholder
|
|
37824
37606
|
* or the selected values based on
|
|
@@ -37826,7 +37608,7 @@ class Select {
|
|
|
37826
37608
|
*/
|
|
37827
37609
|
renderSelectText() {
|
|
37828
37610
|
const { placeholder } = this;
|
|
37829
|
-
const displayValue = this.getText();
|
|
37611
|
+
const displayValue = this.getText(true);
|
|
37830
37612
|
let addPlaceholderClass = false;
|
|
37831
37613
|
let selectText = displayValue;
|
|
37832
37614
|
if (selectText === '' && placeholder !== undefined) {
|
|
@@ -37838,6 +37620,10 @@ class Select {
|
|
|
37838
37620
|
'select-placeholder': addPlaceholderClass,
|
|
37839
37621
|
};
|
|
37840
37622
|
const textPart = addPlaceholderClass ? 'placeholder' : 'text';
|
|
37623
|
+
if (this.customHTMLEnabled) {
|
|
37624
|
+
const wrapped = this.wrapSelectTextNodes(selectText);
|
|
37625
|
+
return hAsync("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart, innerHTML: wrapped });
|
|
37626
|
+
}
|
|
37841
37627
|
return (hAsync("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart }, selectText));
|
|
37842
37628
|
}
|
|
37843
37629
|
/**
|
|
@@ -37860,6 +37646,7 @@ class Select {
|
|
|
37860
37646
|
get ariaLabel() {
|
|
37861
37647
|
var _a;
|
|
37862
37648
|
const { placeholder, inheritedAttributes } = this;
|
|
37649
|
+
// Get the plain text from the selected text
|
|
37863
37650
|
const displayValue = this.getText();
|
|
37864
37651
|
// The aria label should be preferred over visible text if both are specified
|
|
37865
37652
|
const definedLabel = (_a = inheritedAttributes['aria-label']) !== null && _a !== void 0 ? _a : this.labelText;
|
|
@@ -37953,7 +37740,7 @@ class Select {
|
|
|
37953
37740
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
37954
37741
|
*/
|
|
37955
37742
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
37956
|
-
return (hAsync(Host, { key: '
|
|
37743
|
+
return (hAsync(Host, { key: 'a3036d51e0db13332641e9523264ddd1ab031912', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37957
37744
|
[mode]: true,
|
|
37958
37745
|
'in-item': inItem,
|
|
37959
37746
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -37971,7 +37758,7 @@ class Select {
|
|
|
37971
37758
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
37972
37759
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
37973
37760
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
37974
|
-
}) }, hAsync("label", { key: '
|
|
37761
|
+
}) }, 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()));
|
|
37975
37762
|
}
|
|
37976
37763
|
get el() { return getElement(this); }
|
|
37977
37764
|
static get watchers() { return {
|
|
@@ -38042,34 +37829,232 @@ const parseValue = (value) => {
|
|
|
38042
37829
|
}
|
|
38043
37830
|
return value.toString();
|
|
38044
37831
|
};
|
|
38045
|
-
const generateText = (opts, value, compareWith) => {
|
|
37832
|
+
const generateText = (opts, value, compareWith, useHTML = false) => {
|
|
38046
37833
|
if (value === undefined) {
|
|
38047
37834
|
return '';
|
|
38048
37835
|
}
|
|
38049
37836
|
if (Array.isArray(value)) {
|
|
38050
37837
|
return value
|
|
38051
|
-
.map((v) => textForValue(opts, v, compareWith))
|
|
37838
|
+
.map((v) => textForValue(opts, v, compareWith, useHTML))
|
|
38052
37839
|
.filter((opt) => opt !== null)
|
|
38053
37840
|
.join(', ');
|
|
38054
37841
|
}
|
|
38055
37842
|
else {
|
|
38056
|
-
return textForValue(opts, value, compareWith) || '';
|
|
37843
|
+
return textForValue(opts, value, compareWith, useHTML) || '';
|
|
38057
37844
|
}
|
|
38058
37845
|
};
|
|
38059
|
-
|
|
37846
|
+
/**
|
|
37847
|
+
* Returns the display text for a given value from the list of options.
|
|
37848
|
+
* When `useHTML` is true, returns sanitized HTML for the select text.
|
|
37849
|
+
* When `useHTML` is false, returns plain text for aria-label and other
|
|
37850
|
+
* text-only contexts.
|
|
37851
|
+
*
|
|
37852
|
+
* @param opts - The list of ion-select-option elements.
|
|
37853
|
+
* @param value - The value to find the matching option for.
|
|
37854
|
+
* @param compareWith - Custom comparison function or property name.
|
|
37855
|
+
* @param useHTML - If true, returns HTML string. If false, returns plain text.
|
|
37856
|
+
*/
|
|
37857
|
+
const textForValue = (opts, value, compareWith, useHTML = false) => {
|
|
38060
37858
|
const selectOpt = opts.find((opt) => {
|
|
38061
37859
|
return compareOptions(value, getOptionValue(opt), compareWith);
|
|
38062
37860
|
});
|
|
38063
|
-
|
|
37861
|
+
const customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
37862
|
+
if (!selectOpt) {
|
|
37863
|
+
return null;
|
|
37864
|
+
}
|
|
37865
|
+
// Return sanitized HTML for the select text
|
|
37866
|
+
if (customHTMLEnabled && useHTML) {
|
|
37867
|
+
return getOptionContent(selectOpt, undefined, true);
|
|
37868
|
+
}
|
|
37869
|
+
/**
|
|
37870
|
+
* When custom HTML is enabled, extract only the default slot content.
|
|
37871
|
+
* This ensures aria-label and other text-only contexts read only
|
|
37872
|
+
* the relevant option text.
|
|
37873
|
+
*/
|
|
37874
|
+
if (customHTMLEnabled) {
|
|
37875
|
+
const content = getOptionContent(selectOpt);
|
|
37876
|
+
if (typeof content === 'string') {
|
|
37877
|
+
return content;
|
|
37878
|
+
}
|
|
37879
|
+
/**
|
|
37880
|
+
* Elements were found in the default slot, extract and concatenate
|
|
37881
|
+
* their text content while trimming whitespace.
|
|
37882
|
+
*/
|
|
37883
|
+
if (content) {
|
|
37884
|
+
const texts = Array.from(content.childNodes)
|
|
37885
|
+
.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
|
|
37886
|
+
.filter((t) => t);
|
|
37887
|
+
return texts.join(' ') || null;
|
|
37888
|
+
}
|
|
37889
|
+
// Empty option
|
|
37890
|
+
return null;
|
|
37891
|
+
}
|
|
37892
|
+
return getDefaultSlotPlainText(selectOpt);
|
|
37893
|
+
};
|
|
37894
|
+
/**
|
|
37895
|
+
* Trims whitespace from all text nodes within a DOM tree.
|
|
37896
|
+
* This prevents invisible layout shifts and unwanted gaps between
|
|
37897
|
+
* elements when HTML content is injected via innerHTML or cloneNode,
|
|
37898
|
+
* as browsers preserve whitespace (tabs, newlines, spaces) from
|
|
37899
|
+
* the original source markup.
|
|
37900
|
+
*
|
|
37901
|
+
* @param node The root node to start trimming text nodes from.
|
|
37902
|
+
*/
|
|
37903
|
+
const trimTextNodes = (node) => {
|
|
37904
|
+
node.childNodes.forEach((child) => {
|
|
37905
|
+
var _a;
|
|
37906
|
+
if (child.nodeType === Node.TEXT_NODE) {
|
|
37907
|
+
child.textContent = ((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
|
|
37908
|
+
}
|
|
37909
|
+
else if (child.nodeType === Node.ELEMENT_NODE) {
|
|
37910
|
+
trimTextNodes(child);
|
|
37911
|
+
}
|
|
37912
|
+
});
|
|
37913
|
+
};
|
|
37914
|
+
/**
|
|
37915
|
+
* Extracts and clones content from an `ion-select-option` element
|
|
37916
|
+
* for rendering within overlay interfaces or the select text when `customHTMLEnabled` is `true`.
|
|
37917
|
+
*
|
|
37918
|
+
* @param option - The `ion-select-option` element to extract content from.
|
|
37919
|
+
* @param slotName - Optional slot name to extract. If omitted, extracts the default slot content.
|
|
37920
|
+
* @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.
|
|
37921
|
+
* @returns When `useHTML` is `true`, a sanitized HTML string. When `false`, a
|
|
37922
|
+
* div element containing cloned child nodes. Returns `null` if no matching
|
|
37923
|
+
* content is found.
|
|
37924
|
+
*/
|
|
37925
|
+
const getOptionContent = (option, slotName, useHTML = false) => {
|
|
37926
|
+
let nodes;
|
|
37927
|
+
if (slotName) {
|
|
37928
|
+
// Named slot: get elements with matching slot attribute
|
|
37929
|
+
nodes = Array.from(option.children).filter((el) => el.getAttribute('slot') === slotName);
|
|
37930
|
+
}
|
|
37931
|
+
else {
|
|
37932
|
+
// Default slot: get nodes without a slot attribute
|
|
37933
|
+
const defaultSlot = getOptionDefaultSlot(option) || [];
|
|
37934
|
+
nodes = defaultSlot.filter((node) => {
|
|
37935
|
+
var _a;
|
|
37936
|
+
/**
|
|
37937
|
+
* Exclude whitespace-only text nodes (newline noise between
|
|
37938
|
+
* markup elements). Element nodes are always kept, even when
|
|
37939
|
+
* their textContent is empty (e.g. <svg>, <img>).
|
|
37940
|
+
*/
|
|
37941
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
37942
|
+
return ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim().length) !== 0;
|
|
37943
|
+
}
|
|
37944
|
+
return true;
|
|
37945
|
+
});
|
|
37946
|
+
}
|
|
37947
|
+
if (nodes.length === 0) {
|
|
37948
|
+
return null;
|
|
37949
|
+
}
|
|
37950
|
+
// Return plain text if no elements are found
|
|
37951
|
+
if (!slotName && nodes.every((n) => n.nodeType === Node.TEXT_NODE)) {
|
|
37952
|
+
return nodes.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); }).join(' ') || null;
|
|
37953
|
+
}
|
|
37954
|
+
/**
|
|
37955
|
+
* Mirror known custom-element properties (e.g. ion-icon's `icon`)
|
|
37956
|
+
* onto attributes before cloning. Frameworks like Vue set these as
|
|
37957
|
+
* DOM properties, which `cloneNode` doesn't copy, so without this
|
|
37958
|
+
* step the cloned overlay copy renders without the prop's value.
|
|
37959
|
+
*/
|
|
37960
|
+
nodes.forEach((n) => {
|
|
37961
|
+
if (n.nodeType === Node.ELEMENT_NODE) {
|
|
37962
|
+
reflectPropertiesToAttributes(n);
|
|
37963
|
+
}
|
|
37964
|
+
});
|
|
37965
|
+
// Clone each node into a temporary container
|
|
37966
|
+
const container = document.createElement('div');
|
|
37967
|
+
nodes.forEach((n) => {
|
|
37968
|
+
var _a;
|
|
37969
|
+
const clone = n.cloneNode(true);
|
|
37970
|
+
if (clone.nodeType === Node.TEXT_NODE) {
|
|
37971
|
+
clone.textContent = ((_a = clone.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
|
|
37972
|
+
}
|
|
37973
|
+
else {
|
|
37974
|
+
trimTextNodes(clone);
|
|
37975
|
+
}
|
|
37976
|
+
container.appendChild(clone);
|
|
37977
|
+
});
|
|
37978
|
+
/**
|
|
37979
|
+
* Sanitize the cloned DOM in place. Trusted attributes (size, color,
|
|
37980
|
+
* shape, etc.) are preserved; event handlers, javascript: URLs, and
|
|
37981
|
+
* blocked tags are stripped.
|
|
37982
|
+
*/
|
|
37983
|
+
sanitizeDOMTree(container);
|
|
37984
|
+
if (useHTML) {
|
|
37985
|
+
return container.innerHTML.trim() || null;
|
|
37986
|
+
}
|
|
37987
|
+
return container;
|
|
37988
|
+
};
|
|
37989
|
+
/**
|
|
37990
|
+
* Returns the child nodes that belong to the default slot of an
|
|
37991
|
+
* option element, excluding any nodes that are assigned to named
|
|
37992
|
+
* slots.
|
|
37993
|
+
*
|
|
37994
|
+
* @param option - The `ion-select-option` element to extract default-slot nodes from.
|
|
37995
|
+
* @returns An array of default slot nodes, or `null` if none are found.
|
|
37996
|
+
*/
|
|
37997
|
+
const getOptionDefaultSlot = (option) => {
|
|
37998
|
+
const defaultSlotNodes = Array.from(option.childNodes).filter((node) => {
|
|
37999
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
38000
|
+
return !node.hasAttribute('slot');
|
|
38001
|
+
}
|
|
38002
|
+
return node.nodeType === Node.TEXT_NODE;
|
|
38003
|
+
});
|
|
38004
|
+
if (defaultSlotNodes.length === 0) {
|
|
38005
|
+
return null;
|
|
38006
|
+
}
|
|
38007
|
+
return defaultSlotNodes;
|
|
38008
|
+
};
|
|
38009
|
+
/**
|
|
38010
|
+
* Extracts plain text from only the default slot of an option,
|
|
38011
|
+
* excluding content assigned to named slots (start/end).
|
|
38012
|
+
*/
|
|
38013
|
+
const getDefaultSlotPlainText = (option) => {
|
|
38014
|
+
const texts = Array.from(option.childNodes)
|
|
38015
|
+
.filter((node) => {
|
|
38016
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
38017
|
+
return !node.hasAttribute('slot');
|
|
38018
|
+
}
|
|
38019
|
+
return node.nodeType === Node.TEXT_NODE;
|
|
38020
|
+
})
|
|
38021
|
+
.filter((node) => node.nodeType === Node.TEXT_NODE)
|
|
38022
|
+
.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
|
|
38023
|
+
.filter((t) => t);
|
|
38024
|
+
return texts.join(' ');
|
|
38025
|
+
};
|
|
38026
|
+
/**
|
|
38027
|
+
* Extracts the rich content from an `ion-select-option`.
|
|
38028
|
+
* When `customHTMLEnabled` is `false`, only the plain text from the
|
|
38029
|
+
* default slot is read and the start and end slots are skipped.
|
|
38030
|
+
*
|
|
38031
|
+
* @param option - The `ion-select-option` element to extract content from.
|
|
38032
|
+
* @param customHTMLEnabled - Whether custom HTML rendering is enabled
|
|
38033
|
+
* via the `innerHTMLTemplatesEnabled` config.
|
|
38034
|
+
*/
|
|
38035
|
+
const extractOptionContent = (option, customHTMLEnabled) => {
|
|
38036
|
+
var _a, _b;
|
|
38037
|
+
if (!customHTMLEnabled) {
|
|
38038
|
+
return {
|
|
38039
|
+
content: getDefaultSlotPlainText(option),
|
|
38040
|
+
startContent: undefined,
|
|
38041
|
+
endContent: undefined,
|
|
38042
|
+
};
|
|
38043
|
+
}
|
|
38044
|
+
return {
|
|
38045
|
+
content: getOptionContent(option),
|
|
38046
|
+
startContent: (_a = getOptionContent(option, 'start')) !== null && _a !== void 0 ? _a : undefined,
|
|
38047
|
+
endContent: (_b = getOptionContent(option, 'end')) !== null && _b !== void 0 ? _b : undefined,
|
|
38048
|
+
};
|
|
38064
38049
|
};
|
|
38065
38050
|
let selectIds = 0;
|
|
38066
38051
|
const OPTION_CLASS = 'select-interface-option';
|
|
38067
38052
|
|
|
38068
|
-
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)}`;
|
|
38053
|
+
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)}`;
|
|
38069
38054
|
|
|
38070
|
-
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)}`;
|
|
38055
|
+
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)}`;
|
|
38071
38056
|
|
|
38072
|
-
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)}`;
|
|
38057
|
+
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)}`;
|
|
38073
38058
|
|
|
38074
38059
|
class SelectModal {
|
|
38075
38060
|
constructor(hostRef) {
|
|
@@ -38123,39 +38108,90 @@ class SelectModal {
|
|
|
38123
38108
|
}
|
|
38124
38109
|
}
|
|
38125
38110
|
renderRadioOptions() {
|
|
38111
|
+
const mode = getIonMode$1(this);
|
|
38126
38112
|
const checked = this.options.filter((o) => o.checked).map((o) => o.value)[0];
|
|
38127
|
-
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) =>
|
|
38113
|
+
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option, index) => {
|
|
38114
|
+
var _a, _b;
|
|
38115
|
+
/**
|
|
38116
|
+
* Cast to `SelectOverlayOption` to access rich content
|
|
38117
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
38118
|
+
* that are passed through from `ion-select` but not
|
|
38119
|
+
* part of the public `SelectModalOption` interface.
|
|
38120
|
+
*/
|
|
38121
|
+
const richOption = option;
|
|
38122
|
+
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
38123
|
+
const optionLabelOptions = {
|
|
38124
|
+
id: `modal-option-${index}`,
|
|
38125
|
+
label: richOption.text,
|
|
38126
|
+
startContent: richOption.startContent,
|
|
38127
|
+
endContent: richOption.endContent,
|
|
38128
|
+
description: richOption.description,
|
|
38129
|
+
};
|
|
38130
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'radio', 'modal');
|
|
38131
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'radio', 'modal');
|
|
38132
|
+
return (hAsync("ion-item", { lines: "none",
|
|
38128
38133
|
// TODO FW-4784
|
|
38129
|
-
|
|
38130
|
-
|
|
38131
|
-
|
|
38132
|
-
|
|
38133
|
-
|
|
38134
|
-
|
|
38135
|
-
|
|
38136
|
-
|
|
38137
|
-
|
|
38138
|
-
}
|
|
38139
|
-
|
|
38140
|
-
|
|
38141
|
-
this.pendingEnterTarget = null;
|
|
38142
|
-
if (shouldClose) {
|
|
38134
|
+
disabled: option.disabled, class: Object.assign({
|
|
38135
|
+
// TODO FW-4784
|
|
38136
|
+
'item-radio-checked': option.value === checked
|
|
38137
|
+
}, getClassMap(option.cssClass)) }, hAsync("ion-radio", { class: {
|
|
38138
|
+
'select-option-has-rich-content': hasRichContent,
|
|
38139
|
+
}, 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) => {
|
|
38140
|
+
if (ev.key === 'Enter' && !ev.repeat) {
|
|
38141
|
+
this.pendingEnterTarget = ev.currentTarget;
|
|
38142
|
+
}
|
|
38143
|
+
}, onKeyUp: (ev) => {
|
|
38144
|
+
if (ev.key === ' ') {
|
|
38145
|
+
// Space selects and dismisses in one press.
|
|
38143
38146
|
this.closeModal();
|
|
38144
38147
|
}
|
|
38145
|
-
|
|
38146
|
-
|
|
38148
|
+
else if (ev.key === 'Enter') {
|
|
38149
|
+
const shouldClose = this.pendingEnterTarget === ev.currentTarget;
|
|
38150
|
+
this.pendingEnterTarget = null;
|
|
38151
|
+
if (shouldClose) {
|
|
38152
|
+
this.closeModal();
|
|
38153
|
+
}
|
|
38154
|
+
}
|
|
38155
|
+
} }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
|
|
38156
|
+
})));
|
|
38147
38157
|
}
|
|
38148
38158
|
renderCheckboxOptions() {
|
|
38149
|
-
|
|
38159
|
+
const mode = getIonMode$1(this);
|
|
38160
|
+
return this.options.map((option, index) => {
|
|
38161
|
+
var _a, _b;
|
|
38162
|
+
/**
|
|
38163
|
+
* Cast to `SelectOverlayOption` to access rich content
|
|
38164
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
38165
|
+
* that are passed through from `ion-select` but not
|
|
38166
|
+
* part of the public `SelectModalOption` interface.
|
|
38167
|
+
*/
|
|
38168
|
+
const richOption = option;
|
|
38169
|
+
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
38170
|
+
const optionLabelOptions = {
|
|
38171
|
+
id: `modal-option-${index}`,
|
|
38172
|
+
label: richOption.text,
|
|
38173
|
+
startContent: richOption.startContent,
|
|
38174
|
+
endContent: richOption.endContent,
|
|
38175
|
+
description: richOption.description,
|
|
38176
|
+
};
|
|
38177
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox', 'modal');
|
|
38178
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'checkbox', 'modal');
|
|
38179
|
+
return (hAsync("ion-item", {
|
|
38150
38180
|
// TODO FW-4784
|
|
38151
|
-
|
|
38152
|
-
|
|
38153
|
-
|
|
38154
|
-
|
|
38155
|
-
}
|
|
38181
|
+
disabled: option.disabled, class: Object.assign({
|
|
38182
|
+
// TODO FW-4784
|
|
38183
|
+
'item-checkbox-checked': option.checked
|
|
38184
|
+
}, getClassMap(option.cssClass))
|
|
38185
|
+
}, hAsync("ion-checkbox", { class: {
|
|
38186
|
+
'select-option-has-rich-content': hasRichContent,
|
|
38187
|
+
}, 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) => {
|
|
38188
|
+
this.setChecked(ev);
|
|
38189
|
+
this.callOptionHandler(ev);
|
|
38190
|
+
} }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
|
|
38191
|
+
});
|
|
38156
38192
|
}
|
|
38157
38193
|
render() {
|
|
38158
|
-
return (hAsync(Host, { key: '
|
|
38194
|
+
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()))));
|
|
38159
38195
|
}
|
|
38160
38196
|
get el() { return getElement(this); }
|
|
38161
38197
|
static get style() { return {
|
|
@@ -38180,17 +38216,24 @@ class SelectModal {
|
|
|
38180
38216
|
|
|
38181
38217
|
const selectOptionCss = () => `:host{display:none}`;
|
|
38182
38218
|
|
|
38219
|
+
/**
|
|
38220
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
38221
|
+
*
|
|
38222
|
+
* @slot - Content is placed between the named slots if provided without a slot.
|
|
38223
|
+
* @slot start - Content is placed to the left of the select option text in LTR, and to the right in RTL.
|
|
38224
|
+
* @slot end - Content is placed to the right of the select option text in LTR, and to the left in RTL.
|
|
38225
|
+
*/
|
|
38183
38226
|
class SelectOption {
|
|
38184
38227
|
constructor(hostRef) {
|
|
38185
38228
|
registerInstance(this, hostRef);
|
|
38186
38229
|
this.inputId = `ion-selopt-${selectOptionIds++}`;
|
|
38187
38230
|
/**
|
|
38188
|
-
* If `true`, the user cannot interact with the select option.
|
|
38231
|
+
* If `true`, the user cannot interact with the select option.
|
|
38189
38232
|
*/
|
|
38190
38233
|
this.disabled = false;
|
|
38191
38234
|
}
|
|
38192
38235
|
render() {
|
|
38193
|
-
return hAsync(Host, { key: '
|
|
38236
|
+
return hAsync(Host, { key: '8b8bef0f5a55f18048708c34d3ea3ff0ff2f1d47', role: "option", id: this.inputId, class: getIonMode$1(this) });
|
|
38194
38237
|
}
|
|
38195
38238
|
get el() { return getElement(this); }
|
|
38196
38239
|
static get style() { return selectOptionCss(); }
|
|
@@ -38199,7 +38242,10 @@ class SelectOption {
|
|
|
38199
38242
|
"$tagName$": "ion-select-option",
|
|
38200
38243
|
"$members$": {
|
|
38201
38244
|
"disabled": [4],
|
|
38202
|
-
"value": [8]
|
|
38245
|
+
"value": [8],
|
|
38246
|
+
"description": [1],
|
|
38247
|
+
"labelPlacement": [1, "label-placement"],
|
|
38248
|
+
"justify": [1]
|
|
38203
38249
|
},
|
|
38204
38250
|
"$listeners$": undefined,
|
|
38205
38251
|
"$lazyBundleId$": "-",
|
|
@@ -38208,9 +38254,9 @@ class SelectOption {
|
|
|
38208
38254
|
}
|
|
38209
38255
|
let selectOptionIds = 0;
|
|
38210
38256
|
|
|
38211
|
-
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}`;
|
|
38257
|
+
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}`;
|
|
38212
38258
|
|
|
38213
|
-
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)}`;
|
|
38259
|
+
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)}`;
|
|
38214
38260
|
|
|
38215
38261
|
/**
|
|
38216
38262
|
* @internal
|
|
@@ -38284,41 +38330,91 @@ class SelectPopover {
|
|
|
38284
38330
|
}
|
|
38285
38331
|
}
|
|
38286
38332
|
renderCheckboxOptions(options) {
|
|
38287
|
-
|
|
38333
|
+
const mode = getIonMode$1(this);
|
|
38334
|
+
return options.map((option, index) => {
|
|
38335
|
+
var _a, _b;
|
|
38336
|
+
/**
|
|
38337
|
+
* Cast to `SelectOverlayOption` to access rich content
|
|
38338
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
38339
|
+
* that are passed through from `ion-select` but not
|
|
38340
|
+
* part of the public `SelectPopoverOption` interface.
|
|
38341
|
+
*/
|
|
38342
|
+
const richOption = option;
|
|
38343
|
+
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
38344
|
+
const optionLabelOptions = {
|
|
38345
|
+
id: `popover-option-${index}`,
|
|
38346
|
+
label: richOption.text,
|
|
38347
|
+
startContent: richOption.startContent,
|
|
38348
|
+
endContent: richOption.endContent,
|
|
38349
|
+
description: richOption.description,
|
|
38350
|
+
};
|
|
38351
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox');
|
|
38352
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'checkbox');
|
|
38353
|
+
return (hAsync("ion-item", {
|
|
38288
38354
|
// TODO FW-4784
|
|
38289
|
-
|
|
38290
|
-
|
|
38291
|
-
|
|
38292
|
-
|
|
38293
|
-
}
|
|
38355
|
+
disabled: option.disabled, class: Object.assign({
|
|
38356
|
+
// TODO FW-4784
|
|
38357
|
+
'item-checkbox-checked': option.checked
|
|
38358
|
+
}, getClassMap(option.cssClass))
|
|
38359
|
+
}, hAsync("ion-checkbox", { class: {
|
|
38360
|
+
'select-option-has-rich-content': hasRichContent,
|
|
38361
|
+
}, 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) => {
|
|
38362
|
+
this.setChecked(ev);
|
|
38363
|
+
this.callOptionHandler(ev);
|
|
38364
|
+
} }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
|
|
38365
|
+
});
|
|
38294
38366
|
}
|
|
38295
38367
|
renderRadioOptions(options) {
|
|
38368
|
+
const mode = getIonMode$1(this);
|
|
38296
38369
|
const checked = options.filter((o) => o.checked).map((o) => o.value)[0];
|
|
38297
|
-
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option) =>
|
|
38370
|
+
return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option, index) => {
|
|
38371
|
+
var _a, _b;
|
|
38372
|
+
/**
|
|
38373
|
+
* Cast to `SelectOverlayOption` to access rich content
|
|
38374
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
38375
|
+
* that are passed through from `ion-select` but not
|
|
38376
|
+
* part of the public `SelectPopoverOption` interface.
|
|
38377
|
+
*/
|
|
38378
|
+
const richOption = option;
|
|
38379
|
+
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
38380
|
+
const optionLabelOptions = {
|
|
38381
|
+
id: `popover-option-${index}`,
|
|
38382
|
+
label: richOption.text,
|
|
38383
|
+
startContent: richOption.startContent,
|
|
38384
|
+
endContent: richOption.endContent,
|
|
38385
|
+
description: richOption.description,
|
|
38386
|
+
};
|
|
38387
|
+
return (hAsync("ion-item", {
|
|
38298
38388
|
// TODO FW-4784
|
|
38299
|
-
|
|
38300
|
-
|
|
38301
|
-
|
|
38302
|
-
|
|
38303
|
-
|
|
38304
|
-
|
|
38305
|
-
|
|
38306
|
-
|
|
38307
|
-
|
|
38308
|
-
|
|
38309
|
-
|
|
38310
|
-
|
|
38311
|
-
|
|
38312
|
-
if (shouldDismiss) {
|
|
38389
|
+
disabled: option.disabled, class: Object.assign({
|
|
38390
|
+
// TODO FW-4784
|
|
38391
|
+
'item-radio-checked': option.value === checked
|
|
38392
|
+
}, getClassMap(option.cssClass))
|
|
38393
|
+
}, hAsync("ion-radio", { class: {
|
|
38394
|
+
'select-option-has-rich-content': hasRichContent,
|
|
38395
|
+
}, 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) => {
|
|
38396
|
+
if (ev.key === 'Enter' && !ev.repeat) {
|
|
38397
|
+
this.pendingEnterTarget = ev.currentTarget;
|
|
38398
|
+
}
|
|
38399
|
+
}, onKeyUp: (ev) => {
|
|
38400
|
+
if (ev.key === ' ') {
|
|
38401
|
+
// Space selects and dismisses in one press.
|
|
38313
38402
|
this.dismissParentPopover();
|
|
38314
38403
|
}
|
|
38315
|
-
|
|
38316
|
-
|
|
38404
|
+
else if (ev.key === 'Enter') {
|
|
38405
|
+
const shouldDismiss = this.pendingEnterTarget === ev.currentTarget;
|
|
38406
|
+
this.pendingEnterTarget = null;
|
|
38407
|
+
if (shouldDismiss) {
|
|
38408
|
+
this.dismissParentPopover();
|
|
38409
|
+
}
|
|
38410
|
+
}
|
|
38411
|
+
} }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
|
|
38412
|
+
})));
|
|
38317
38413
|
}
|
|
38318
38414
|
render() {
|
|
38319
38415
|
const { header, message, options, subHeader } = this;
|
|
38320
38416
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
38321
|
-
return (hAsync(Host, { key: '
|
|
38417
|
+
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))));
|
|
38322
38418
|
}
|
|
38323
38419
|
get el() { return getElement(this); }
|
|
38324
38420
|
static get style() { return {
|
|
@@ -38368,11 +38464,11 @@ class SkeletonText {
|
|
|
38368
38464
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
38369
38465
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
38370
38466
|
const mode = getIonMode$1(this);
|
|
38371
|
-
return (hAsync(Host, { key: '
|
|
38467
|
+
return (hAsync(Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
|
|
38372
38468
|
[mode]: true,
|
|
38373
38469
|
'skeleton-text-animated': animated,
|
|
38374
38470
|
'in-media': inMedia,
|
|
38375
|
-
} }, hAsync("span", { key: '
|
|
38471
|
+
} }, hAsync("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
|
|
38376
38472
|
}
|
|
38377
38473
|
get el() { return getElement(this); }
|
|
38378
38474
|
static get style() { return skeletonTextCss(); }
|
|
@@ -38424,7 +38520,7 @@ class Spinner {
|
|
|
38424
38520
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
38425
38521
|
}
|
|
38426
38522
|
}
|
|
38427
|
-
return (hAsync(Host, { key: '
|
|
38523
|
+
return (hAsync(Host, { key: 'c35ebd01186e860acb9cac260193f0836424fdf4', class: createColorClasses$1(self.color, {
|
|
38428
38524
|
[mode]: true,
|
|
38429
38525
|
[`spinner-${spinnerName}`]: true,
|
|
38430
38526
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -38523,12 +38619,12 @@ class SplitPane {
|
|
|
38523
38619
|
}
|
|
38524
38620
|
render() {
|
|
38525
38621
|
const mode = getIonMode$1(this);
|
|
38526
|
-
return (hAsync(Host, { key: '
|
|
38622
|
+
return (hAsync(Host, { key: '694e989fafcfe2453e0a83b3cb736efaa1eb4fec', class: {
|
|
38527
38623
|
[mode]: true,
|
|
38528
38624
|
// Used internally for styling
|
|
38529
38625
|
[`split-pane-${mode}`]: true,
|
|
38530
38626
|
'split-pane-visible': this.visible,
|
|
38531
|
-
} }, hAsync("slot", { key: '
|
|
38627
|
+
} }, hAsync("slot", { key: 'dde7e9382b62cc11971aa233cf98c2314ae4f720' })));
|
|
38532
38628
|
}
|
|
38533
38629
|
get el() { return getElement(this); }
|
|
38534
38630
|
static get watchers() { return {
|
|
@@ -38600,10 +38696,10 @@ class Tab {
|
|
|
38600
38696
|
}
|
|
38601
38697
|
render() {
|
|
38602
38698
|
const { tab, active, component } = this;
|
|
38603
|
-
return (hAsync(Host, { key: '
|
|
38699
|
+
return (hAsync(Host, { key: '745262368a7f45244da459f4fa1730a46dd3e257', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
38604
38700
|
'ion-page': component === undefined,
|
|
38605
38701
|
'tab-hidden': !active,
|
|
38606
|
-
} }, hAsync("slot", { key: '
|
|
38702
|
+
} }, hAsync("slot", { key: '823d09a6f93bf7c0dc74f2b8717d1d3a62df1ad8' })));
|
|
38607
38703
|
}
|
|
38608
38704
|
get el() { return getElement(this); }
|
|
38609
38705
|
static get watchers() { return {
|
|
@@ -38717,11 +38813,11 @@ class TabBar {
|
|
|
38717
38813
|
const { color, translucent, keyboardVisible } = this;
|
|
38718
38814
|
const mode = getIonMode$1(this);
|
|
38719
38815
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
38720
|
-
return (hAsync(Host, { key: '
|
|
38816
|
+
return (hAsync(Host, { key: '148f65df0818e9d220a9b46db74cb89ab94e62d2', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
38721
38817
|
[mode]: true,
|
|
38722
38818
|
'tab-bar-translucent': translucent,
|
|
38723
38819
|
'tab-bar-hidden': shouldHide,
|
|
38724
|
-
}) }, hAsync("slot", { key: '
|
|
38820
|
+
}) }, hAsync("slot", { key: 'a64e235f3703662e2dd7a834f752cc5b1490adbc' })));
|
|
38725
38821
|
}
|
|
38726
38822
|
get el() { return getElement(this); }
|
|
38727
38823
|
static get watchers() { return {
|
|
@@ -38819,7 +38915,7 @@ class TabButton {
|
|
|
38819
38915
|
rel,
|
|
38820
38916
|
target,
|
|
38821
38917
|
};
|
|
38822
|
-
return (hAsync(Host, { key: '
|
|
38918
|
+
return (hAsync(Host, { key: '1034b5a928ecec49bd8efec3730ea1b11a579cf3', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
38823
38919
|
[mode]: true,
|
|
38824
38920
|
'tab-selected': selected,
|
|
38825
38921
|
'tab-disabled': disabled,
|
|
@@ -38831,7 +38927,7 @@ class TabButton {
|
|
|
38831
38927
|
'ion-activatable': true,
|
|
38832
38928
|
'ion-selectable': true,
|
|
38833
38929
|
'ion-focusable': true,
|
|
38834
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
38930
|
+
} }, 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" }))));
|
|
38835
38931
|
}
|
|
38836
38932
|
get el() { return getElement(this); }
|
|
38837
38933
|
static get style() { return {
|
|
@@ -39022,7 +39118,7 @@ class Tabs {
|
|
|
39022
39118
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
39023
39119
|
}
|
|
39024
39120
|
render() {
|
|
39025
|
-
return (hAsync(Host, { key: '
|
|
39121
|
+
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" })));
|
|
39026
39122
|
}
|
|
39027
39123
|
get el() { return getElement(this); }
|
|
39028
39124
|
static get style() { return tabsCss(); }
|
|
@@ -39062,9 +39158,9 @@ class Text {
|
|
|
39062
39158
|
}
|
|
39063
39159
|
render() {
|
|
39064
39160
|
const mode = getIonMode$1(this);
|
|
39065
|
-
return (hAsync(Host, { key: '
|
|
39161
|
+
return (hAsync(Host, { key: '41ed8da617ed0e07bbfe96e32a000e1c6503e24e', class: createColorClasses$1(this.color, {
|
|
39066
39162
|
[mode]: true,
|
|
39067
|
-
}) }, hAsync("slot", { key: '
|
|
39163
|
+
}) }, hAsync("slot", { key: 'db8de04a2493537b3037f276b03abd92dfa56847' })));
|
|
39068
39164
|
}
|
|
39069
39165
|
static get style() { return textCss(); }
|
|
39070
39166
|
static get cmpMeta() { return {
|
|
@@ -39525,7 +39621,7 @@ class Textarea {
|
|
|
39525
39621
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
39526
39622
|
*/
|
|
39527
39623
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
39528
|
-
return (hAsync(Host, { key: '
|
|
39624
|
+
return (hAsync(Host, { key: 'eca1dfed53189408f614661ef3902cdb73d5f5de', class: createColorClasses$1(this.color, {
|
|
39529
39625
|
[mode]: true,
|
|
39530
39626
|
'has-value': hasValue,
|
|
39531
39627
|
'has-focus': hasFocus,
|
|
@@ -39534,7 +39630,7 @@ class Textarea {
|
|
|
39534
39630
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
39535
39631
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
39536
39632
|
'textarea-disabled': disabled,
|
|
39537
|
-
}) }, hAsync("label", { key: '
|
|
39633
|
+
}) }, 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()));
|
|
39538
39634
|
}
|
|
39539
39635
|
get el() { return getElement(this); }
|
|
39540
39636
|
static get watchers() { return {
|
|
@@ -39603,7 +39699,7 @@ class Thumbnail {
|
|
|
39603
39699
|
registerInstance(this, hostRef);
|
|
39604
39700
|
}
|
|
39605
39701
|
render() {
|
|
39606
|
-
return (hAsync(Host, { key: '
|
|
39702
|
+
return (hAsync(Host, { key: '833e947c683b482a78f8f0df8c9a68e99478bbaa', class: getIonMode$1(this) }, hAsync("slot", { key: '6d1e9e686db88d91379f14121058dbf035d8ded2' })));
|
|
39607
39703
|
}
|
|
39608
39704
|
static get style() { return thumbnailCss(); }
|
|
39609
39705
|
static get cmpMeta() { return {
|
|
@@ -40463,9 +40559,9 @@ class Toast {
|
|
|
40463
40559
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
40464
40560
|
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);
|
|
40465
40561
|
}
|
|
40466
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
40562
|
+
return (hAsync(Host, Object.assign({ key: '2acb2cd2e12ea0082986495929e4a596d4da2f38', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
40467
40563
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
40468
|
-
}, 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: '
|
|
40564
|
+
}, 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')))));
|
|
40469
40565
|
}
|
|
40470
40566
|
get el() { return getElement(this); }
|
|
40471
40567
|
static get watchers() { return {
|
|
@@ -40783,7 +40879,7 @@ class Toggle {
|
|
|
40783
40879
|
const value = this.getValue();
|
|
40784
40880
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
40785
40881
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
40786
|
-
return (hAsync(Host, { key: '
|
|
40882
|
+
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, {
|
|
40787
40883
|
[mode]: true,
|
|
40788
40884
|
'in-item': hostContext('ion-item', el),
|
|
40789
40885
|
'toggle-activated': activated,
|
|
@@ -40793,10 +40889,10 @@ class Toggle {
|
|
|
40793
40889
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
40794
40890
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
40795
40891
|
[`toggle-${rtl}`]: true,
|
|
40796
|
-
}) }, hAsync("label", { key: '
|
|
40892
|
+
}) }, 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: {
|
|
40797
40893
|
'label-text-wrapper': true,
|
|
40798
40894
|
'label-text-wrapper-hidden': !hasLabel,
|
|
40799
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
40895
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'c480b96a0ddd926568f73291d71253d6f74438c7' }), this.renderHintText()), hAsync("div", { key: '96a2cbd1673e051a78f8b2b16535ecd3f0ed4339', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
40800
40896
|
}
|
|
40801
40897
|
get el() { return getElement(this); }
|
|
40802
40898
|
static get watchers() { return {
|
|
@@ -40908,10 +41004,10 @@ class Toolbar {
|
|
|
40908
41004
|
this.childrenStyles.forEach((value) => {
|
|
40909
41005
|
Object.assign(childStyles, value);
|
|
40910
41006
|
});
|
|
40911
|
-
return (hAsync(Host, { key: '
|
|
41007
|
+
return (hAsync(Host, { key: '40bad6fa7e94262438da4bbe037dcf8a5fa2df22', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
40912
41008
|
[mode]: true,
|
|
40913
41009
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
40914
|
-
})) }, hAsync("div", { key: '
|
|
41010
|
+
})) }, 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" }))));
|
|
40915
41011
|
}
|
|
40916
41012
|
get el() { return getElement(this); }
|
|
40917
41013
|
static get style() { return {
|
|
@@ -40957,11 +41053,11 @@ class ToolbarTitle {
|
|
|
40957
41053
|
render() {
|
|
40958
41054
|
const mode = getIonMode$1(this);
|
|
40959
41055
|
const size = this.getSize();
|
|
40960
|
-
return (hAsync(Host, { key: '
|
|
41056
|
+
return (hAsync(Host, { key: 'd9317e8e66cb6112717f5a9c252658777efbd873', class: createColorClasses$1(this.color, {
|
|
40961
41057
|
[mode]: true,
|
|
40962
41058
|
[`title-${size}`]: true,
|
|
40963
41059
|
'title-rtl': document.dir === 'rtl',
|
|
40964
|
-
}) }, hAsync("div", { key: '
|
|
41060
|
+
}) }, hAsync("div", { key: 'a4d011d6d409bf006d8efe33667002edb109820a', class: "toolbar-title" }, hAsync("slot", { key: '4ca3303b957a0e5387f1e9058e5adb4c6275afcc' }))));
|
|
40965
41061
|
}
|
|
40966
41062
|
get el() { return getElement(this); }
|
|
40967
41063
|
static get watchers() { return {
|
|
@@ -41041,10 +41137,8 @@ registerComponents([
|
|
|
41041
41137
|
Nav,
|
|
41042
41138
|
NavLink,
|
|
41043
41139
|
Note,
|
|
41044
|
-
Picker$1,
|
|
41045
41140
|
Picker,
|
|
41046
41141
|
PickerColumn,
|
|
41047
|
-
PickerColumnCmp,
|
|
41048
41142
|
PickerColumnOption,
|
|
41049
41143
|
Popover,
|
|
41050
41144
|
ProgressBar,
|