@ionic/core 8.8.14-dev.11784222473.142aed23 → 8.8.14-dev.11784243422.11f0110c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-279dFMvg.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/components/{p-BHrrc-3d.js → p-Buf_7zcy.js} +1 -1
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-C-Rx1zny.js +4 -0
- package/components/p-CHzfYZbv.js +4 -0
- package/components/p-D4h1H_hh.js +4 -0
- package/components/{p-BSEgsdFI.js → p-DhkITZ-y.js} +1 -1
- package/components/{p-5bE_Wz4Y.js → p-DpV-p5Xs.js} +1 -1
- package/components/{p-Cfx4M1Bn.js → p-Dz74mwlk.js} +1 -1
- package/components/p-LMGfIvTf.js +4 -0
- package/components/{p-BLmJ0zRm.js → p-XJWMAP8m.js} +1 -1
- package/components/p-_lHSumhG.js +4 -0
- package/components/p-j9Da6cYO.js +4 -0
- package/components/p-jOtMJMv8.js +4 -0
- package/components/{p-B60hm8Qv.js → p-r0aq7dpt.js} +1 -1
- package/components/p-uTR_dEqg.js +4 -0
- package/components/{p-rCa2eL0j.js → p-wk2QqrAo.js} +1 -1
- package/dist/cjs/config-DWdFbSNK.js +35 -0
- package/dist/cjs/index-Cueg3U4w.js +429 -0
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/ion-action-sheet.cjs.entry.js +27 -7
- package/dist/cjs/ion-alert.cjs.entry.js +64 -25
- package/dist/cjs/ion-app_8.cjs.entry.js +23 -9
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +1 -639
- package/dist/cjs/ion-img.cjs.entry.js +3 -1
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -2
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +10 -5
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +23 -18
- package/dist/cjs/ion-popover.cjs.entry.js +9 -5
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -5
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +84 -30
- package/dist/cjs/ion-select_3.cjs.entry.js +407 -49
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +6 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-DdtIYQUH.js → overlays-DSmSrd_4.js} +27 -31
- 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/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/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/popover/popover.ios.css +15 -0
- package/dist/collection/components/popover/popover.js +7 -3
- package/dist/collection/components/popover/popover.md.css +15 -0
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +4 -4
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +38 -5
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +9 -9
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.ios.css +33 -0
- package/dist/collection/components/select/select.js +323 -16
- package/dist/collection/components/select/select.md.css +33 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
- package/dist/collection/components/select-modal/select-modal.js +79 -26
- package/dist/collection/components/select-modal/select-modal.md.css +165 -0
- package/dist/collection/components/select-option/select-option.js +67 -3
- package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
- package/dist/collection/components/select-popover/select-popover.js +78 -26
- package/dist/collection/components/select-popover/select-popover.md.css +165 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +45 -0
- package/dist/collection/utils/overlays.js +26 -30
- package/dist/collection/utils/sanitization/index.js +274 -18
- package/dist/collection/utils/select-option-render.js +119 -0
- package/dist/docs.json +485 -1177
- package/dist/esm/config-BwKpO3Is.js +31 -0
- package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
- package/dist/esm/index-DQSkZyOJ.js +424 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +27 -7
- package/dist/esm/ion-alert.entry.js +63 -24
- package/dist/esm/ion-app_8.entry.js +23 -9
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +5 -641
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-img.entry.js +4 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -1
- package/dist/esm/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +9 -4
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +23 -18
- package/dist/esm/ion-popover.entry.js +9 -5
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +3 -3
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +5 -4
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +6 -6
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +84 -30
- package/dist/esm/ion-select_3.entry.js +410 -52
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +5 -4
- package/dist/esm/ion-toggle.entry.js +4 -4
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DLNOHWNc.js} +28 -32
- package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
- package/dist/html.html-data.json +51 -79
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-038eb991.entry.js +4 -0
- package/dist/ionic/{p-8fce95d5.entry.js → p-14095ba5.entry.js} +1 -1
- package/dist/ionic/{p-3a126bca.entry.js → p-259d0d98.entry.js} +1 -1
- package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
- package/dist/ionic/{p-3a7d1e91.entry.js → p-4502a274.entry.js} +1 -1
- package/dist/ionic/p-4621c387.entry.js +4 -0
- package/dist/ionic/p-4ace7762.entry.js +4 -0
- package/dist/ionic/p-4bb3eb60.entry.js +4 -0
- package/dist/ionic/p-4e9ec5c5.entry.js +4 -0
- package/dist/ionic/{p-874b4bd8.entry.js → p-51cd1643.entry.js} +1 -1
- package/dist/ionic/p-5c3ec490.entry.js +4 -0
- package/dist/ionic/p-5d1ac2c7.entry.js +4 -0
- package/dist/ionic/{p-3ae5f277.entry.js → p-627fabd9.entry.js} +1 -1
- package/dist/ionic/{p-e0be05c5.entry.js → p-629e4703.entry.js} +1 -1
- package/dist/ionic/p-700795f6.entry.js +4 -0
- package/dist/ionic/{p-5d1da0a2.entry.js → p-76e92a84.entry.js} +1 -1
- package/dist/ionic/p-79a36078.entry.js +4 -0
- package/dist/ionic/{p-9f1103ce.entry.js → p-7a37b3ce.entry.js} +1 -1
- package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
- package/dist/ionic/p-913b218a.entry.js +4 -0
- package/dist/ionic/{p-390ca786.entry.js → p-9177f4ac.entry.js} +1 -1
- package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
- package/dist/ionic/p-BDtODLZ4.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BwKpO3Is.js +4 -0
- package/dist/ionic/p-Cg5-OQYy.js +4 -0
- package/dist/ionic/p-DCOvXkOm.js +4 -0
- package/dist/ionic/{p-4858af1f.entry.js → p-a5213260.entry.js} +1 -1
- package/dist/ionic/{p-37e720da.entry.js → p-a7628bc7.entry.js} +1 -1
- package/dist/ionic/p-a9a33367.entry.js +4 -0
- package/dist/ionic/p-ad728198.entry.js +4 -0
- package/dist/ionic/{p-ef4c3bee.entry.js → p-b1599fca.entry.js} +1 -1
- package/dist/ionic/{p-84d5ce05.entry.js → p-b9ac1fe0.entry.js} +1 -1
- package/dist/ionic/p-bfc8c629.entry.js +4 -0
- package/dist/ionic/p-c08e666a.entry.js +4 -0
- package/dist/ionic/{p-34586ead.entry.js → p-c93553d2.entry.js} +1 -1
- package/dist/ionic/p-ce7992c4.entry.js +4 -0
- package/dist/ionic/{p-75dc25ba.entry.js → p-d2c7f046.entry.js} +1 -1
- package/dist/ionic/{p-c4d8641b.entry.js → p-d8387b99.entry.js} +1 -1
- package/dist/ionic/{p-9a65ac7f.entry.js → p-db1b6738.entry.js} +1 -1
- package/dist/ionic/p-ed797c72.entry.js +4 -0
- package/dist/ionic/{p-8eb8ee76.entry.js → p-ef93ca92.entry.js} +1 -1
- package/dist/ionic/p-f09f9642.entry.js +4 -0
- package/dist/ionic/p-f1c06f82.entry.js +4 -0
- package/dist/ionic/p-f718fccb.entry.js +4 -0
- package/dist/ionic/{p-0fa9c382.entry.js → p-fe4aa1db.entry.js} +1 -1
- 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/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 +72 -288
- 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 +1408 -1175
- package/hydrate/index.mjs +1408 -1175
- 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-3hGiN2uq.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-BqpciLfi.js +0 -4
- package/components/p-BsQPAqo9.js +0 -4
- package/components/p-CU5rbWAW.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-0cc11f99.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-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-a21add2f.entry.js +0 -4
- package/dist/ionic/p-ca2ab74d.entry.js +0 -4
- package/dist/ionic/p-ec090e0a.entry.js +0 -4
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
|
@@ -1,3 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A heuristic that applies CSS to tablet
|
|
3
|
+
* viewports.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* @include tablet-viewport() {
|
|
7
|
+
* :host {
|
|
8
|
+
* background-color: green;
|
|
9
|
+
* }
|
|
10
|
+
* }
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* A heuristic that applies CSS to mobile
|
|
14
|
+
* viewports (i.e. phones, not tablets).
|
|
15
|
+
*
|
|
16
|
+
* Usage:
|
|
17
|
+
* @include mobile-viewport() {
|
|
18
|
+
* :host {
|
|
19
|
+
* background-color: blue;
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Convert a font size to a dynamic font size.
|
|
25
|
+
* Fonts that participate in Dynamic Type should use
|
|
26
|
+
* dynamic font sizes.
|
|
27
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
28
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
29
|
+
* convert to a unit other than $baselineUnit.
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* Convert a font size to a dynamic font size but impose
|
|
33
|
+
* a maximum font size.
|
|
34
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
35
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
36
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
37
|
+
* convert to a unit other than $baselineUnit.
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* Convert a font size to a dynamic font size but impose
|
|
41
|
+
* a minimum font size.
|
|
42
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
43
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
44
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
45
|
+
* convert to a unit other than $baselineUnit.
|
|
46
|
+
*/
|
|
47
|
+
/**
|
|
48
|
+
* Convert a font size to a dynamic font size but impose
|
|
49
|
+
* maximum and minimum font sizes.
|
|
50
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
51
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
52
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
53
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
54
|
+
* convert to a unit other than $baselineUnit.
|
|
55
|
+
*/
|
|
56
|
+
.action-sheet-button-label-has-rich-content,
|
|
57
|
+
.alert-radio-label-has-rich-content,
|
|
58
|
+
.alert-checkbox-label-has-rich-content,
|
|
59
|
+
.select-option-label-has-rich-content {
|
|
60
|
+
display: flex;
|
|
61
|
+
align-items: center;
|
|
62
|
+
gap: 16px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Outer label container has rich content
|
|
67
|
+
* (start, content, description, end) that needs the
|
|
68
|
+
* label to span the available row width.
|
|
69
|
+
*/
|
|
70
|
+
.action-sheet-button-label-has-rich-content,
|
|
71
|
+
.alert-radio-label-has-rich-content,
|
|
72
|
+
.alert-checkbox-label-has-rich-content,
|
|
73
|
+
.select-option-content {
|
|
74
|
+
flex: 1;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.action-sheet-button-label-text,
|
|
78
|
+
.alert-checkbox-label-text,
|
|
79
|
+
.alert-radio-label-text,
|
|
80
|
+
.select-option-label-text {
|
|
81
|
+
display: flex;
|
|
82
|
+
align-items: center;
|
|
83
|
+
gap: 12px;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.select-option-start,
|
|
87
|
+
.select-option-end {
|
|
88
|
+
display: flex;
|
|
89
|
+
align-items: center;
|
|
90
|
+
gap: 8px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.select-option-description {
|
|
94
|
+
padding-left: 0;
|
|
95
|
+
padding-right: 0;
|
|
96
|
+
padding-top: 5px;
|
|
97
|
+
padding-bottom: 0;
|
|
98
|
+
display: block;
|
|
99
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
100
|
+
font-size: 0.75rem;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Non-rich labels are plain text and should ellipsize when they
|
|
105
|
+
* overflow the row. Rich-content labels switch to flex so the
|
|
106
|
+
* start / content / end pieces can lay out side-by-side and wrap.
|
|
107
|
+
*/
|
|
108
|
+
.select-option-label:not(.select-option-label-has-rich-content) {
|
|
109
|
+
text-overflow: ellipsis;
|
|
110
|
+
white-space: nowrap;
|
|
111
|
+
overflow: hidden;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.select-option-label-has-rich-content {
|
|
115
|
+
display: flex;
|
|
116
|
+
align-items: center;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
ion-radio.select-option-has-rich-content::part(label),
|
|
120
|
+
ion-checkbox.select-option-has-rich-content::part(label),
|
|
121
|
+
.select-option-content {
|
|
122
|
+
flex: 1;
|
|
123
|
+
/**
|
|
124
|
+
* Let rich content wrap instead of inheriting the label part's
|
|
125
|
+
* single-line truncation, so arbitrary slotted elements render
|
|
126
|
+
* without clipping.
|
|
127
|
+
*/
|
|
128
|
+
white-space: normal;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Convert a font size to a dynamic font size.
|
|
133
|
+
* Fonts that participate in Dynamic Type should use
|
|
134
|
+
* dynamic font sizes.
|
|
135
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
136
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
137
|
+
* convert to a unit other than $baselineUnit.
|
|
138
|
+
*/
|
|
139
|
+
/**
|
|
140
|
+
* Convert a font size to a dynamic font size but impose
|
|
141
|
+
* a maximum font size.
|
|
142
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
143
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
144
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
145
|
+
* convert to a unit other than $baselineUnit.
|
|
146
|
+
*/
|
|
147
|
+
/**
|
|
148
|
+
* Convert a font size to a dynamic font size but impose
|
|
149
|
+
* a minimum font size.
|
|
150
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
151
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
152
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
153
|
+
* convert to a unit other than $baselineUnit.
|
|
154
|
+
*/
|
|
155
|
+
/**
|
|
156
|
+
* Convert a font size to a dynamic font size but impose
|
|
157
|
+
* maximum and minimum font sizes.
|
|
158
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
159
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
160
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
161
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
162
|
+
* convert to a unit other than $baselineUnit.
|
|
163
|
+
*/
|
|
164
|
+
/**
|
|
165
|
+
* A heuristic that applies CSS to tablet
|
|
166
|
+
* viewports.
|
|
167
|
+
*
|
|
168
|
+
* Usage:
|
|
169
|
+
* @include tablet-viewport() {
|
|
170
|
+
* :host {
|
|
171
|
+
* background-color: green;
|
|
172
|
+
* }
|
|
173
|
+
* }
|
|
174
|
+
*/
|
|
175
|
+
/**
|
|
176
|
+
* A heuristic that applies CSS to mobile
|
|
177
|
+
* viewports (i.e. phones, not tablets).
|
|
178
|
+
*
|
|
179
|
+
* Usage:
|
|
180
|
+
* @include mobile-viewport() {
|
|
181
|
+
* :host {
|
|
182
|
+
* background-color: blue;
|
|
183
|
+
* }
|
|
184
|
+
* }
|
|
185
|
+
*/
|
|
186
|
+
/**
|
|
187
|
+
* Cap slotted children so they can't stretch the option
|
|
188
|
+
* row out of proportion, keeping rows visually uniform
|
|
189
|
+
* regardless of the content.
|
|
190
|
+
*/
|
|
191
|
+
.select-option-start > ion-avatar,
|
|
192
|
+
.select-option-start > ion-img,
|
|
193
|
+
.select-option-start > ion-thumbnail,
|
|
194
|
+
.select-option-start > img,
|
|
195
|
+
.select-option-start > svg,
|
|
196
|
+
.select-option-end > ion-avatar,
|
|
197
|
+
.select-option-end > ion-img,
|
|
198
|
+
.select-option-end > ion-thumbnail,
|
|
199
|
+
.select-option-end > img,
|
|
200
|
+
.select-option-end > svg {
|
|
201
|
+
width: 44px;
|
|
202
|
+
height: 44px;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.select-option-start > ion-icon,
|
|
206
|
+
.select-option-end > ion-icon {
|
|
207
|
+
width: 28px;
|
|
208
|
+
height: 28px;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.action-sheet-button-label-text {
|
|
212
|
+
justify-content: center;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.select-option-has-rich-content {
|
|
216
|
+
-webkit-padding-end: 16px;
|
|
217
|
+
padding-inline-end: 16px;
|
|
218
|
+
}
|
|
219
|
+
|
|
1
220
|
/**
|
|
2
221
|
* Convert a font size to a dynamic font size.
|
|
3
222
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -242,6 +461,39 @@
|
|
|
242
461
|
min-height: inherit;
|
|
243
462
|
}
|
|
244
463
|
|
|
464
|
+
/**
|
|
465
|
+
* Label is on the right of the radio in LTR and
|
|
466
|
+
* on the left in RTL.
|
|
467
|
+
*/
|
|
468
|
+
.radio-label-placement-start,
|
|
469
|
+
.checkbox-label-placement-start {
|
|
470
|
+
flex-direction: row-reverse;
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
/**
|
|
474
|
+
* Label is on the left of the radio in LTR and
|
|
475
|
+
* on the right in RTL.
|
|
476
|
+
*/
|
|
477
|
+
.radio-label-placement-end,
|
|
478
|
+
.checkbox-label-placement-end {
|
|
479
|
+
flex-direction: row;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
.radio-justify-start,
|
|
483
|
+
.checkbox-justify-start {
|
|
484
|
+
justify-content: start;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
.radio-justify-end,
|
|
488
|
+
.checkbox-justify-end {
|
|
489
|
+
justify-content: end;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
.radio-justify-space-between,
|
|
493
|
+
.checkbox-justify-space-between {
|
|
494
|
+
justify-content: space-between;
|
|
495
|
+
}
|
|
496
|
+
|
|
245
497
|
.alert-input-disabled,
|
|
246
498
|
.alert-checkbox-button-disabled .alert-button-inner,
|
|
247
499
|
.alert-radio-button-disabled .alert-button-inner {
|
|
@@ -529,8 +781,6 @@ textarea.alert-input {
|
|
|
529
781
|
padding-inline-end: 13px;
|
|
530
782
|
padding-top: 13px;
|
|
531
783
|
padding-bottom: 13px;
|
|
532
|
-
flex: 1;
|
|
533
|
-
order: 0;
|
|
534
784
|
color: var(--ion-text-color, #000);
|
|
535
785
|
}
|
|
536
786
|
|
|
@@ -540,7 +790,7 @@ textarea.alert-input {
|
|
|
540
790
|
|
|
541
791
|
.alert-radio-icon {
|
|
542
792
|
position: relative;
|
|
543
|
-
|
|
793
|
+
flex-shrink: 0;
|
|
544
794
|
min-width: 30px;
|
|
545
795
|
}
|
|
546
796
|
|
|
@@ -556,7 +806,12 @@ textarea.alert-input {
|
|
|
556
806
|
border-style: solid;
|
|
557
807
|
border-color: var(--ion-color-primary, #0054e9);
|
|
558
808
|
}
|
|
559
|
-
|
|
809
|
+
|
|
810
|
+
[aria-checked=true] .radio-label-placement-end .alert-radio-inner {
|
|
811
|
+
inset-inline-end: 7px;
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
[aria-checked=true] .radio-label-placement-start .alert-radio-inner {
|
|
560
815
|
inset-inline-start: 7px;
|
|
561
816
|
}
|
|
562
817
|
|
|
@@ -567,19 +822,15 @@ textarea.alert-input {
|
|
|
567
822
|
padding-inline-end: 13px;
|
|
568
823
|
padding-top: 13px;
|
|
569
824
|
padding-bottom: 13px;
|
|
570
|
-
flex: 1;
|
|
571
825
|
color: var(--ion-text-color, #000);
|
|
572
826
|
}
|
|
573
827
|
|
|
574
828
|
.alert-checkbox-icon {
|
|
575
829
|
border-radius: 50%;
|
|
576
|
-
-webkit-margin-start: 16px;
|
|
577
|
-
margin-inline-start: 16px;
|
|
578
|
-
-webkit-margin-end: 6px;
|
|
579
|
-
margin-inline-end: 6px;
|
|
580
830
|
margin-top: 10px;
|
|
581
831
|
margin-bottom: 10px;
|
|
582
832
|
position: relative;
|
|
833
|
+
flex-shrink: 0;
|
|
583
834
|
width: min(1.375rem, 55.836px);
|
|
584
835
|
height: min(1.375rem, 55.836px);
|
|
585
836
|
border-width: 0.125rem;
|
|
@@ -589,6 +840,20 @@ textarea.alert-input {
|
|
|
589
840
|
contain: strict;
|
|
590
841
|
}
|
|
591
842
|
|
|
843
|
+
.checkbox-label-placement-end .alert-checkbox-icon {
|
|
844
|
+
-webkit-margin-start: 16px;
|
|
845
|
+
margin-inline-start: 16px;
|
|
846
|
+
-webkit-margin-end: 6px;
|
|
847
|
+
margin-inline-end: 6px;
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
.checkbox-label-placement-start .alert-checkbox-icon {
|
|
851
|
+
-webkit-margin-start: 6px;
|
|
852
|
+
margin-inline-start: 6px;
|
|
853
|
+
-webkit-margin-end: 16px;
|
|
854
|
+
margin-inline-end: 16px;
|
|
855
|
+
}
|
|
856
|
+
|
|
592
857
|
[aria-checked=true] .alert-checkbox-icon {
|
|
593
858
|
border-color: var(--ion-color-primary, #0054e9);
|
|
594
859
|
background-color: var(--ion-color-primary, #0054e9);
|
|
@@ -606,10 +871,15 @@ textarea.alert-input {
|
|
|
606
871
|
border-style: solid;
|
|
607
872
|
border-color: var(--ion-background-color, #fff);
|
|
608
873
|
}
|
|
609
|
-
|
|
874
|
+
|
|
875
|
+
[aria-checked=true] .checkbox-label-placement-end .alert-checkbox-inner {
|
|
610
876
|
inset-inline-start: calc(min(1.375rem, 55.836px) / 3);
|
|
611
877
|
}
|
|
612
878
|
|
|
879
|
+
[aria-checked=true] .checkbox-label-placement-start .alert-checkbox-inner {
|
|
880
|
+
inset-inline-end: calc(min(1.375rem, 55.836px) / 3);
|
|
881
|
+
}
|
|
882
|
+
|
|
613
883
|
.alert-button-group {
|
|
614
884
|
-webkit-margin-end: -0.55px;
|
|
615
885
|
margin-inline-end: -0.55px;
|
|
@@ -7,8 +7,10 @@ import { createButtonActiveGesture } from "../../utils/gesture/button-active";
|
|
|
7
7
|
import { raf } from "../../utils/helpers";
|
|
8
8
|
import { createLockController } from "../../utils/lock-controller";
|
|
9
9
|
import { printIonWarning } from "../../utils/logging/index";
|
|
10
|
-
import {
|
|
10
|
+
import { getOverlayLabelJustify, getOverlayLabelPlacement } from "../../utils/overlay-control-label";
|
|
11
|
+
import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
|
|
11
12
|
import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
13
|
+
import { renderOptionLabel } from "../../utils/select-option-render";
|
|
12
14
|
import { getClassMap } from "../../utils/theme";
|
|
13
15
|
import { config } from "../../global/config";
|
|
14
16
|
import { getIonMode } from "../../global/ionic-global";
|
|
@@ -179,22 +181,7 @@ export class Alert {
|
|
|
179
181
|
this.inputType = inputTypes.values().next().value;
|
|
180
182
|
this.processedInputs = inputs.map((i, index) => {
|
|
181
183
|
var _a;
|
|
182
|
-
return ({
|
|
183
|
-
type: i.type || 'text',
|
|
184
|
-
name: i.name || `${index}`,
|
|
185
|
-
placeholder: i.placeholder || '',
|
|
186
|
-
value: i.value,
|
|
187
|
-
label: i.label,
|
|
188
|
-
checked: !!i.checked,
|
|
189
|
-
disabled: !!i.disabled,
|
|
190
|
-
id: i.id || `alert-input-${this.overlayIndex}-${index}`,
|
|
191
|
-
handler: i.handler,
|
|
192
|
-
min: i.min,
|
|
193
|
-
max: i.max,
|
|
194
|
-
cssClass: (_a = i.cssClass) !== null && _a !== void 0 ? _a : '',
|
|
195
|
-
attributes: i.attributes || {},
|
|
196
|
-
tabindex: i.type === 'radio' && i !== focusable ? -1 : 0,
|
|
197
|
-
});
|
|
184
|
+
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 });
|
|
198
185
|
});
|
|
199
186
|
}
|
|
200
187
|
connectedCallback() {
|
|
@@ -222,6 +209,10 @@ export class Alert {
|
|
|
222
209
|
this.gesture.destroy();
|
|
223
210
|
this.gesture = undefined;
|
|
224
211
|
}
|
|
212
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
213
|
+
if (this.presented) {
|
|
214
|
+
cleanupRootFocusTrapAccessibility();
|
|
215
|
+
}
|
|
225
216
|
(_a = this.buttonGroupResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
226
217
|
this.buttonGroupResizeObserver = undefined;
|
|
227
218
|
}
|
|
@@ -392,14 +383,61 @@ export class Alert {
|
|
|
392
383
|
if (inputs.length === 0) {
|
|
393
384
|
return null;
|
|
394
385
|
}
|
|
395
|
-
return (h("div", { class: "alert-checkbox-group" }, inputs.map((i) =>
|
|
386
|
+
return (h("div", { class: "alert-checkbox-group" }, inputs.map((i) => {
|
|
387
|
+
var _a, _b;
|
|
388
|
+
/**
|
|
389
|
+
* Cast to `SelectAlertInput` to access rich content
|
|
390
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
391
|
+
* that are passed through from `ion-select` but not
|
|
392
|
+
* part of the public `AlertInput` interface.
|
|
393
|
+
*/
|
|
394
|
+
const richInput = i;
|
|
395
|
+
const optionLabelOptions = {
|
|
396
|
+
id: richInput.id,
|
|
397
|
+
label: richInput.label,
|
|
398
|
+
startContent: richInput.startContent,
|
|
399
|
+
endContent: richInput.endContent,
|
|
400
|
+
description: richInput.description,
|
|
401
|
+
};
|
|
402
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox');
|
|
403
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'checkbox');
|
|
404
|
+
return (h("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 }) }, h("div", { class: {
|
|
405
|
+
'alert-button-inner': true,
|
|
406
|
+
[`checkbox-label-placement-${(_a = richInput.labelPlacement) !== null && _a !== void 0 ? _a : defaultLabelPlacement}`]: true,
|
|
407
|
+
[`checkbox-justify-${(_b = richInput.justify) !== null && _b !== void 0 ? _b : defaultJustify}`]: true,
|
|
408
|
+
} }, h("div", { class: "alert-checkbox-icon" }, h("div", { class: "alert-checkbox-inner" })), renderOptionLabel(optionLabelOptions, 'alert-checkbox-label')), mode === 'md' && h("ion-ripple-effect", null)));
|
|
409
|
+
})));
|
|
396
410
|
}
|
|
397
411
|
renderRadio() {
|
|
398
412
|
const inputs = this.processedInputs;
|
|
413
|
+
const mode = getIonMode(this);
|
|
399
414
|
if (inputs.length === 0) {
|
|
400
415
|
return null;
|
|
401
416
|
}
|
|
402
|
-
return (h("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) =>
|
|
417
|
+
return (h("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) => {
|
|
418
|
+
var _a, _b;
|
|
419
|
+
/**
|
|
420
|
+
* Cast to `SelectAlertInput` to access rich content
|
|
421
|
+
* fields (`startContent`, `endContent`, `description`)
|
|
422
|
+
* that are passed through from `ion-select` but not
|
|
423
|
+
* part of the public `AlertInput` interface.
|
|
424
|
+
*/
|
|
425
|
+
const richInput = i;
|
|
426
|
+
const optionLabelOptions = {
|
|
427
|
+
id: richInput.id,
|
|
428
|
+
label: richInput.label,
|
|
429
|
+
startContent: richInput.startContent,
|
|
430
|
+
endContent: richInput.endContent,
|
|
431
|
+
description: richInput.description,
|
|
432
|
+
};
|
|
433
|
+
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'radio');
|
|
434
|
+
const defaultJustify = getOverlayLabelJustify(mode, 'radio');
|
|
435
|
+
return (h("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" }, h("div", { class: {
|
|
436
|
+
'alert-button-inner': true,
|
|
437
|
+
[`radio-label-placement-${(_a = richInput.labelPlacement) !== null && _a !== void 0 ? _a : defaultLabelPlacement}`]: true,
|
|
438
|
+
[`radio-justify-${(_b = richInput.justify) !== null && _b !== void 0 ? _b : defaultJustify}`]: true,
|
|
439
|
+
} }, h("div", { class: "alert-radio-icon" }, h("div", { class: "alert-radio-inner" })), renderOptionLabel(optionLabelOptions, 'alert-radio-label'))));
|
|
440
|
+
})));
|
|
403
441
|
}
|
|
404
442
|
renderInput() {
|
|
405
443
|
const inputs = this.processedInputs;
|
|
@@ -502,9 +540,9 @@ export class Alert {
|
|
|
502
540
|
* If neither are defined, do not set aria-labelledby.
|
|
503
541
|
*/
|
|
504
542
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
505
|
-
return (h(Host, { key: '
|
|
543
|
+
return (h(Host, { key: '022f3463b8e6c52064b90ec304c524847c3d5ad3', tabindex: "-1", style: {
|
|
506
544
|
zIndex: `${20000 + overlayIndex}`,
|
|
507
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '
|
|
545
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: 'c3cd05738bc2834f54707edeb2fae06ec10d6fd2', tappable: this.backdropDismiss }), h("div", { key: 'b44fadd9ba7ddf073854c5035538d11ae8e66bc2', tabindex: "0", "aria-hidden": "true" }), h("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), h("div", { key: '3ad9d2d4b7cf425eab8293ddc12eff0fe8df1517', class: "alert-head" }, header && (h("h2", { key: '7d9154f5ee595b7e4da6ecf3a20871f104c1256e', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: '1f891f38004be6964e9406b84dd580145c42516a', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: '2ab4d344ecb7e384e8f6d3d3e59ee5a1bbcc832c', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '78a4ff09aa3aaafcd0dc2a42d036767d83b3cfa2', tabindex: "0", "aria-hidden": "true" })));
|
|
508
546
|
}
|
|
509
547
|
static get is() { return "ion-alert"; }
|
|
510
548
|
static get encapsulation() { return "scoped"; }
|