@ionic/core 8.8.14-dev.11783984044.10eaba06 → 8.8.14-dev.11784037956.17449639
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-picker-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +4 -0
- package/components/ion-picker-legacy.d.ts +11 -0
- package/components/ion-picker-legacy.js +4 -0
- 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-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
- package/components/p-B1BWKArA.js +4 -0
- package/components/p-B4PlLGHT.js +4 -0
- package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
- package/components/p-BFsEcwW9.js +4 -0
- package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
- package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
- package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
- package/components/p-CFRyvUvJ.js +4 -0
- package/components/p-CU5rbWAW.js +4 -0
- package/components/{p-Dz74mwlk.js → p-Cfx4M1Bn.js} +1 -1
- package/components/p-CgLiHbz0.js +4 -0
- package/components/p-MLyEeL3Q.js +4 -0
- package/components/p-PgMVWD8U.js +4 -0
- package/components/p-k_E4tX5Z.js +4 -0
- package/components/{p-wk2QqrAo.js → p-rCa2eL0j.js} +1 -1
- package/dist/cjs/config-xninhj0J.js +201 -0
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -27
- package/dist/cjs/ion-alert.cjs.entry.js +25 -64
- package/dist/cjs/ion-app_8.cjs.entry.js +9 -23
- 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.cjs.entry.js → ion-datetime_3.cjs.entry.js} +639 -1
- package/dist/cjs/ion-img.cjs.entry.js +1 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
- 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 +5 -10
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +33 -23
- package/dist/cjs/ion-popover.cjs.entry.js +5 -9
- 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 +5 -6
- 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 +30 -84
- package/dist/cjs/ion-select_3.cjs.entry.js +49 -407
- 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 +5 -6
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{overlays-DSmSrd_4.js → overlays-B9UiYZ4R.js} +30 -27
- package/dist/collection/collection-manifest.json +10 -6
- package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -229
- package/dist/collection/components/action-sheet/action-sheet.js +5 -24
- package/dist/collection/components/action-sheet/action-sheet.md.css +2 -175
- package/dist/collection/components/alert/alert.ios.css +10 -280
- package/dist/collection/components/alert/alert.js +21 -59
- package/dist/collection/components/alert/alert.md.css +20 -269
- package/dist/collection/components/img/img.js +1 -6
- package/dist/collection/components/input/input.js +8 -8
- package/dist/collection/components/loading/loading.js +3 -7
- package/dist/collection/components/modal/gestures/sheet.js +8 -0
- package/dist/collection/components/modal/gestures/swipe-to-close.js +8 -0
- package/dist/collection/components/modal/modal.ios.css +8 -0
- package/dist/collection/components/modal/modal.js +17 -23
- package/dist/collection/components/modal/modal.md.css +8 -0
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
- package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
- package/dist/collection/components/picker-legacy/picker.js +890 -0
- package/dist/collection/components/picker-legacy/picker.md.css +287 -0
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
- package/dist/collection/components/popover/popover.ios.css +0 -15
- package/dist/collection/components/popover/popover.js +3 -7
- package/dist/collection/components/popover/popover.md.css +0 -15
- 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 +5 -38
- 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 +0 -33
- package/dist/collection/components/select/select.js +16 -323
- package/dist/collection/components/select/select.md.css +0 -33
- package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
- package/dist/collection/components/select-modal/select-modal.js +26 -79
- package/dist/collection/components/select-modal/select-modal.md.css +0 -165
- package/dist/collection/components/select-option/select-option.js +3 -67
- package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
- package/dist/collection/components/select-popover/select-popover.js +26 -78
- package/dist/collection/components/select-popover/select-popover.md.css +0 -165
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/overlays.js +29 -26
- package/dist/collection/utils/sanitization/index.js +18 -274
- package/dist/docs.json +1177 -485
- package/dist/esm/config-DQCONYYp.js +195 -0
- package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +7 -27
- package/dist/esm/ion-alert.entry.js +24 -63
- package/dist/esm/ion-app_8.entry.js +9 -23
- 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.entry.js → ion-datetime_3.entry.js} +641 -5
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-img.entry.js +2 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
- 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 +4 -9
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +33 -23
- package/dist/esm/ion-popover.entry.js +5 -9
- 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 +4 -5
- 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 +30 -84
- package/dist/esm/ion-select_3.entry.js +52 -410
- 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 +4 -5
- package/dist/esm/ion-toggle.entry.js +4 -4
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{overlays-DLNOHWNc.js → overlays-Bmfhux69.js} +31 -28
- package/dist/html.html-data.json +79 -51
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-01f81ea5.entry.js +4 -0
- package/dist/ionic/p-02473803.entry.js +4 -0
- package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
- package/dist/ionic/p-20b1a044.entry.js +4 -0
- package/dist/ionic/p-21eb76d5.entry.js +4 -0
- package/dist/ionic/p-27d30585.entry.js +4 -0
- package/dist/ionic/p-2bb2cb18.entry.js +4 -0
- package/dist/ionic/p-2f529a55.entry.js +4 -0
- package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
- package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
- package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
- package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
- package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
- package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
- package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
- package/dist/ionic/p-485fda23.entry.js +4 -0
- package/dist/ionic/p-48fa7fb1.entry.js +4 -0
- package/dist/ionic/p-4baa5b82.entry.js +4 -0
- package/dist/ionic/p-4d9181c7.entry.js +4 -0
- package/dist/ionic/p-50e1194a.entry.js +4 -0
- package/dist/ionic/p-532eb373.entry.js +4 -0
- package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
- package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
- package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
- package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
- package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
- package/dist/ionic/{p-14095ba5.entry.js → p-8fce95d5.entry.js} +1 -1
- package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
- package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
- package/dist/ionic/p-B0zdMdR0.js +4 -0
- package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
- package/dist/ionic/p-DzWaWHGc.js +4 -0
- package/dist/ionic/p-a21add2f.entry.js +4 -0
- package/dist/ionic/p-ab60b48a.entry.js +4 -0
- package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
- package/dist/ionic/{p-c93553d2.entry.js → p-cf91e738.entry.js} +1 -1
- package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
- package/dist/ionic/p-ec090e0a.entry.js +4 -0
- package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
- package/dist/ionic/p-f994dc44.entry.js +4 -0
- package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
- package/dist/ionic/p-fd76f647.entry.js +4 -0
- package/dist/ionic/p-fda60562.entry.js +4 -0
- package/dist/types/components/img/img.d.ts +0 -2
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +4 -11
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
- package/dist/types/components/picker-legacy/picker.d.ts +158 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +0 -31
- package/dist/types/components/select/select.d.ts +0 -18
- package/dist/types/components/select-option/select-option.d.ts +1 -42
- package/dist/types/components.d.ts +288 -72
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/utils/config.d.ts +8 -0
- package/dist/types/utils/overlays.d.ts +9 -11
- package/dist/types/utils/sanitization/index.d.ts +2 -58
- package/hydrate/index.js +1188 -1407
- package/hydrate/index.mjs +1188 -1407
- package/package.json +5 -37
- package/components/p-279dFMvg.js +0 -4
- package/components/p-BSQPZ79H.js +0 -4
- package/components/p-BwKpO3Is.js +0 -4
- package/components/p-C-Rx1zny.js +0 -4
- package/components/p-CHzfYZbv.js +0 -4
- package/components/p-D4h1H_hh.js +0 -4
- package/components/p-LMGfIvTf.js +0 -4
- package/components/p-_lHSumhG.js +0 -4
- package/components/p-j9Da6cYO.js +0 -4
- package/components/p-jOtMJMv8.js +0 -4
- package/components/p-uTR_dEqg.js +0 -4
- package/dist/cjs/config-DWdFbSNK.js +0 -35
- package/dist/cjs/index-Cueg3U4w.js +0 -429
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
- package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
- package/dist/collection/utils/overlay-control-label.js +0 -45
- package/dist/collection/utils/select-option-render.js +0 -119
- package/dist/esm/config-BwKpO3Is.js +0 -31
- package/dist/esm/index-DQSkZyOJ.js +0 -424
- package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
- package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
- package/dist/ionic/p-038eb991.entry.js +0 -4
- package/dist/ionic/p-4621c387.entry.js +0 -4
- package/dist/ionic/p-4ace7762.entry.js +0 -4
- package/dist/ionic/p-4bb3eb60.entry.js +0 -4
- package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
- package/dist/ionic/p-5c3ec490.entry.js +0 -4
- package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
- package/dist/ionic/p-700795f6.entry.js +0 -4
- package/dist/ionic/p-79a36078.entry.js +0 -4
- package/dist/ionic/p-913b218a.entry.js +0 -4
- package/dist/ionic/p-BDtODLZ4.js +0 -4
- package/dist/ionic/p-BSQPZ79H.js +0 -4
- package/dist/ionic/p-BwKpO3Is.js +0 -4
- package/dist/ionic/p-Cg5-OQYy.js +0 -4
- package/dist/ionic/p-DCOvXkOm.js +0 -4
- package/dist/ionic/p-a9a33367.entry.js +0 -4
- package/dist/ionic/p-ad728198.entry.js +0 -4
- package/dist/ionic/p-bfc8c629.entry.js +0 -4
- package/dist/ionic/p-c08e666a.entry.js +0 -4
- package/dist/ionic/p-ce7992c4.entry.js +0 -4
- package/dist/ionic/p-ed797c72.entry.js +0 -4
- package/dist/ionic/p-f09f9642.entry.js +0 -4
- package/dist/ionic/p-f1c06f82.entry.js +0 -4
- package/dist/ionic/p-f718fccb.entry.js +0 -4
- package/dist/types/utils/overlay-control-label.d.ts +0 -32
- package/dist/types/utils/select-option-render.d.ts +0 -53
|
@@ -1,222 +1,3 @@
|
|
|
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
|
-
|
|
220
1
|
/**
|
|
221
2
|
* Convert a font size to a dynamic font size.
|
|
222
3
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h, forceUpdate } from "@stencil/core";
|
|
5
|
-
import { getOverlayLabelJustify, getOverlayLabelPlacement } from "../../utils/overlay-control-label";
|
|
6
5
|
import { safeCall } from "../../utils/overlays";
|
|
7
|
-
import { renderOptionLabel } from "../../utils/select-option-render";
|
|
8
6
|
import { getClassMap } from "../../utils/theme";
|
|
9
7
|
import { getIonMode } from "../../global/ionic-global";
|
|
10
8
|
/**
|
|
@@ -78,93 +76,43 @@ export class SelectPopover {
|
|
|
78
76
|
}
|
|
79
77
|
}
|
|
80
78
|
renderCheckboxOptions(options) {
|
|
81
|
-
|
|
82
|
-
return options.map((option, index) => {
|
|
83
|
-
var _a, _b;
|
|
84
|
-
/**
|
|
85
|
-
* Cast to `SelectOverlayOption` to access rich content
|
|
86
|
-
* fields (`startContent`, `endContent`, `description`)
|
|
87
|
-
* that are passed through from `ion-select` but not
|
|
88
|
-
* part of the public `SelectPopoverOption` interface.
|
|
89
|
-
*/
|
|
90
|
-
const richOption = option;
|
|
91
|
-
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
92
|
-
const optionLabelOptions = {
|
|
93
|
-
id: `popover-option-${index}`,
|
|
94
|
-
label: richOption.text,
|
|
95
|
-
startContent: richOption.startContent,
|
|
96
|
-
endContent: richOption.endContent,
|
|
97
|
-
description: richOption.description,
|
|
98
|
-
};
|
|
99
|
-
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox');
|
|
100
|
-
const defaultJustify = getOverlayLabelJustify(mode, 'checkbox');
|
|
101
|
-
return (h("ion-item", {
|
|
79
|
+
return options.map((option) => (h("ion-item", { class: Object.assign({
|
|
102
80
|
// TODO FW-4784
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
this.setChecked(ev);
|
|
111
|
-
this.callOptionHandler(ev);
|
|
112
|
-
// TODO FW-4784
|
|
113
|
-
forceUpdate(this);
|
|
114
|
-
} }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
|
|
115
|
-
});
|
|
81
|
+
'item-checkbox-checked': option.checked
|
|
82
|
+
}, getClassMap(option.cssClass)) }, h("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
|
|
83
|
+
this.setChecked(ev);
|
|
84
|
+
this.callOptionHandler(ev);
|
|
85
|
+
// TODO FW-4784
|
|
86
|
+
forceUpdate(this);
|
|
87
|
+
} }, option.text))));
|
|
116
88
|
}
|
|
117
89
|
renderRadioOptions(options) {
|
|
118
|
-
const mode = getIonMode(this);
|
|
119
90
|
const checked = options.filter((o) => o.checked).map((o) => o.value)[0];
|
|
120
|
-
return (h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option
|
|
121
|
-
var _a, _b;
|
|
122
|
-
/**
|
|
123
|
-
* Cast to `SelectOverlayOption` to access rich content
|
|
124
|
-
* fields (`startContent`, `endContent`, `description`)
|
|
125
|
-
* that are passed through from `ion-select` but not
|
|
126
|
-
* part of the public `SelectPopoverOption` interface.
|
|
127
|
-
*/
|
|
128
|
-
const richOption = option;
|
|
129
|
-
const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
|
|
130
|
-
const optionLabelOptions = {
|
|
131
|
-
id: `popover-option-${index}`,
|
|
132
|
-
label: richOption.text,
|
|
133
|
-
startContent: richOption.startContent,
|
|
134
|
-
endContent: richOption.endContent,
|
|
135
|
-
description: richOption.description,
|
|
136
|
-
};
|
|
137
|
-
return (h("ion-item", {
|
|
91
|
+
return (h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option) => (h("ion-item", { class: Object.assign({
|
|
138
92
|
// TODO FW-4784
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
93
|
+
'item-radio-checked': option.value === checked
|
|
94
|
+
}, getClassMap(option.cssClass)) }, h("ion-radio", { value: option.value, disabled: option.disabled, onClick: () => this.dismissParentPopover(), onKeyDown: (ev) => {
|
|
95
|
+
if (ev.key === 'Enter' && !ev.repeat) {
|
|
96
|
+
this.pendingEnterTarget = ev.currentTarget;
|
|
97
|
+
}
|
|
98
|
+
}, onKeyUp: (ev) => {
|
|
99
|
+
if (ev.key === ' ') {
|
|
100
|
+
// Space selects and dismisses in one press.
|
|
101
|
+
this.dismissParentPopover();
|
|
102
|
+
}
|
|
103
|
+
else if (ev.key === 'Enter') {
|
|
104
|
+
const shouldDismiss = this.pendingEnterTarget === ev.currentTarget;
|
|
105
|
+
this.pendingEnterTarget = null;
|
|
106
|
+
if (shouldDismiss) {
|
|
152
107
|
this.dismissParentPopover();
|
|
153
108
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
this.pendingEnterTarget = null;
|
|
157
|
-
if (shouldDismiss) {
|
|
158
|
-
this.dismissParentPopover();
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
} }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
|
|
162
|
-
})));
|
|
109
|
+
}
|
|
110
|
+
} }, option.text))))));
|
|
163
111
|
}
|
|
164
112
|
render() {
|
|
165
113
|
const { header, message, options, subHeader } = this;
|
|
166
114
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
167
|
-
return (h(Host, { key: '
|
|
115
|
+
return (h(Host, { key: 'e7449a1ecfcdbf45a79f8e26a00253c4e146448a', class: getIonMode(this) }, h("ion-list", { key: '52abdfc8668c3429a0dcefef8ddedb6647fdd894' }, header !== undefined && h("ion-list-header", { key: '978e5c03728756feafcc60a0e10e6ec59bf2ae11' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: 'e93c44e7f07a76def16e4b11f0fb4780d84ed402' }, h("ion-label", { key: 'bba1aac43b0bc7f4f00978dd8301985233f3725c', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'ad96f6017cf2cc5219540bded2c4f1ca3b532de2' }, subHeader), message !== undefined && h("p", { key: '3fd038921dc40c4d0c29734433984b279ccaeec3' }, message)))), this.renderOptions(options))));
|
|
168
116
|
}
|
|
169
117
|
static get is() { return "ion-select-popover"; }
|
|
170
118
|
static get encapsulation() { return "scoped"; }
|
|
@@ -1,168 +1,3 @@
|
|
|
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
|
-
* Cap slotted children so they can't stretch the option
|
|
133
|
-
* row out of proportion, keeping rows visually uniform
|
|
134
|
-
* regardless of the content.
|
|
135
|
-
*/
|
|
136
|
-
.select-option-start > ion-avatar,
|
|
137
|
-
.select-option-end > ion-avatar {
|
|
138
|
-
width: 40px;
|
|
139
|
-
height: 40px;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
.select-option-start > ion-icon,
|
|
143
|
-
.select-option-end > ion-icon {
|
|
144
|
-
width: 24px;
|
|
145
|
-
height: 24px;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
.select-option-start > ion-img,
|
|
149
|
-
.select-option-start > img,
|
|
150
|
-
.select-option-start > svg,
|
|
151
|
-
.select-option-start > ion-thumbnail,
|
|
152
|
-
.select-option-end > ion-img,
|
|
153
|
-
.select-option-end > img,
|
|
154
|
-
.select-option-end > svg,
|
|
155
|
-
.select-option-end > ion-thumbnail {
|
|
156
|
-
width: 56px;
|
|
157
|
-
height: 56px;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
.select-option-start > video,
|
|
161
|
-
.select-option-end > video {
|
|
162
|
-
width: 114px;
|
|
163
|
-
height: 56px;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
1
|
/**
|
|
167
2
|
* Convert a font size to a dynamic font size.
|
|
168
3
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -28,11 +28,11 @@ export class SkeletonText {
|
|
|
28
28
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
29
29
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
30
30
|
const mode = getIonMode(this);
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
|
|
32
32
|
[mode]: true,
|
|
33
33
|
'skeleton-text-animated': animated,
|
|
34
34
|
'in-media': inMedia,
|
|
35
|
-
} }, h("span", { key: '
|
|
35
|
+
} }, h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
|
|
36
36
|
}
|
|
37
37
|
static get is() { return "ion-skeleton-text"; }
|
|
38
38
|
static get encapsulation() { return "shadow"; }
|
|
@@ -39,7 +39,7 @@ export class Spinner {
|
|
|
39
39
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
return (h(Host, { key: '
|
|
42
|
+
return (h(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses(self.color, {
|
|
43
43
|
[mode]: true,
|
|
44
44
|
[`spinner-${spinnerName}`]: true,
|
|
45
45
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -126,12 +126,12 @@ export class SplitPane {
|
|
|
126
126
|
}
|
|
127
127
|
render() {
|
|
128
128
|
const mode = getIonMode(this);
|
|
129
|
-
return (h(Host, { key: '
|
|
129
|
+
return (h(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
|
|
130
130
|
[mode]: true,
|
|
131
131
|
// Used internally for styling
|
|
132
132
|
[`split-pane-${mode}`]: true,
|
|
133
133
|
'split-pane-visible': this.visible,
|
|
134
|
-
} }, h("slot", { key: '
|
|
134
|
+
} }, h("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
|
|
135
135
|
}
|
|
136
136
|
static get is() { return "ion-split-pane"; }
|
|
137
137
|
static get encapsulation() { return "shadow"; }
|
|
@@ -47,10 +47,10 @@ export class Tab {
|
|
|
47
47
|
}
|
|
48
48
|
render() {
|
|
49
49
|
const { tab, active, component } = this;
|
|
50
|
-
return (h(Host, { key: '
|
|
50
|
+
return (h(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
51
51
|
'ion-page': component === undefined,
|
|
52
52
|
'tab-hidden': !active,
|
|
53
|
-
} }, h("slot", { key: '
|
|
53
|
+
} }, h("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
|
|
54
54
|
}
|
|
55
55
|
static get is() { return "ion-tab"; }
|
|
56
56
|
static get encapsulation() { return "shadow"; }
|
|
@@ -87,11 +87,11 @@ export class TabBar {
|
|
|
87
87
|
const { color, translucent, keyboardVisible } = this;
|
|
88
88
|
const mode = getIonMode(this);
|
|
89
89
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
90
|
-
return (h(Host, { key: '
|
|
90
|
+
return (h(Host, { key: '24e164eaf81a0bec9237b561465618f10990806c', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
|
|
91
91
|
[mode]: true,
|
|
92
92
|
'tab-bar-translucent': translucent,
|
|
93
93
|
'tab-bar-hidden': shouldHide,
|
|
94
|
-
}) }, h("slot", { key: '
|
|
94
|
+
}) }, h("slot", { key: '0ca29a2d97a7c38bbf43f8d79e271b874b4d9be8' })));
|
|
95
95
|
}
|
|
96
96
|
static get is() { return "ion-tab-bar"; }
|
|
97
97
|
static get encapsulation() { return "shadow"; }
|
|
@@ -70,7 +70,7 @@ export class TabButton {
|
|
|
70
70
|
rel,
|
|
71
71
|
target,
|
|
72
72
|
};
|
|
73
|
-
return (h(Host, { key: '
|
|
73
|
+
return (h(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
74
74
|
[mode]: true,
|
|
75
75
|
'tab-selected': selected,
|
|
76
76
|
'tab-disabled': disabled,
|
|
@@ -82,7 +82,7 @@ export class TabButton {
|
|
|
82
82
|
'ion-activatable': true,
|
|
83
83
|
'ion-selectable': true,
|
|
84
84
|
'ion-focusable': true,
|
|
85
|
-
} }, h("a", Object.assign({ key: '
|
|
85
|
+
} }, h("a", Object.assign({ key: 'c053d32fbcdad8d5e4a409956b47164d7a080c6b' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: 'b3b460d33ec978a46b069442280d31b23bc8e794', class: "button-inner" }, h("slot", { key: '87b3928475c941263261101b8fae27c6370d4671' })), mode === 'md' && h("ion-ripple-effect", { key: '6532e5b4546aebe4becaebe1c93ce0e6aedaffe7', type: "unbounded" }))));
|
|
86
86
|
}
|
|
87
87
|
static get is() { return "ion-tab-button"; }
|
|
88
88
|
static get encapsulation() { return "shadow"; }
|
|
@@ -162,7 +162,7 @@ export class Tabs {
|
|
|
162
162
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
163
163
|
}
|
|
164
164
|
render() {
|
|
165
|
-
return (h(Host, { key: '
|
|
165
|
+
return (h(Host, { key: 'c7131135b31aa312dc0207602561e1c0f4ac3e53', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '6c46e91c0389bbcea1f15f35cf3ea513a74ac545', name: "top" }), h("div", { key: '4f1b649d8bb60b61402b97359de204979c5eda52', class: "tabs-inner" }, h("slot", { key: '8d1ef4952be4fb33567376e1083ea4da697fcae0' })), h("slot", { key: '260b8da8031494e9cb4635b3d22c49a433042db1', name: "bottom" })));
|
|
166
166
|
}
|
|
167
167
|
static get is() { return "ion-tabs"; }
|
|
168
168
|
static get encapsulation() { return "shadow"; }
|
|
@@ -10,9 +10,9 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
10
10
|
export class Text {
|
|
11
11
|
render() {
|
|
12
12
|
const mode = getIonMode(this);
|
|
13
|
-
return (h(Host, { key: '
|
|
13
|
+
return (h(Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: createColorClasses(this.color, {
|
|
14
14
|
[mode]: true,
|
|
15
|
-
}) }, h("slot", { key: '
|
|
15
|
+
}) }, h("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "ion-text"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -471,7 +471,7 @@ export class Textarea {
|
|
|
471
471
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
472
472
|
*/
|
|
473
473
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
474
|
-
return (h(Host, { key: '
|
|
474
|
+
return (h(Host, { key: '4257e84acd46f43390fa2413d0b8f40e16a37499', class: createColorClasses(this.color, {
|
|
475
475
|
[mode]: true,
|
|
476
476
|
'has-value': hasValue,
|
|
477
477
|
'has-focus': hasFocus,
|
|
@@ -480,7 +480,7 @@ export class Textarea {
|
|
|
480
480
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
481
481
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
482
482
|
'textarea-disabled': disabled,
|
|
483
|
-
}) }, h("label", { key: '
|
|
483
|
+
}) }, h("label", { key: '003da35bad92ab36777b7ae40855541bf900c64a', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '3cae2d19f96ba2b18a2d64298fdcc4b64ad34ac7', class: "textarea-wrapper-inner" }, h("div", { key: 'e26cb06763d551f7f83b6ea80349871aab18a016', class: "start-slot-wrapper" }, h("slot", { key: '135ba6db893eaca5f2a785fe61e24f33f56f3765', name: "start" })), h("div", { key: '951eabdd01c5e370790cec8578268361dcc8abdc', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ key: '13d78f1a934b9f8d85cd9ed386dabc786f953f1d', 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)), h("div", { key: '699038558019470bccb4853fa65e7aeb069e0baa', class: "end-slot-wrapper" }, h("slot", { key: '19d8c212d7c718aeb6924e10bf8e48cad01314ea', name: "end" }))), shouldRenderHighlight && h("div", { key: '910a9437437ce7cab21e37a1cb4a6b309afda58f', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
484
484
|
}
|
|
485
485
|
static get is() { return "ion-textarea"; }
|
|
486
486
|
static get encapsulation() { return "scoped"; }
|