@ionic/core 8.8.14-dev.11783455203.1cbca643 → 8.8.14-dev.11783706459.1d5a7aae
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-279dFMvg.js +4 -0
- package/components/p-B7KXos3u.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/components/p-BimUi1zU.js +4 -0
- package/components/{p-BHrrc-3d.js → p-Buf_7zcy.js} +1 -1
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-C-Rx1zny.js +4 -0
- package/components/p-CHzfYZbv.js +4 -0
- package/components/p-D4h1H_hh.js +4 -0
- package/components/{p-BSEgsdFI.js → p-DhkITZ-y.js} +1 -1
- package/components/{p-5bE_Wz4Y.js → p-DpV-p5Xs.js} +1 -1
- package/components/{p-Cfx4M1Bn.js → p-Dz74mwlk.js} +1 -1
- package/components/p-LMGfIvTf.js +4 -0
- package/components/{p-BLmJ0zRm.js → p-XJWMAP8m.js} +1 -1
- package/components/p-_lHSumhG.js +4 -0
- package/components/p-j9Da6cYO.js +4 -0
- package/components/p-jOtMJMv8.js +4 -0
- package/components/{p-B60hm8Qv.js → p-r0aq7dpt.js} +1 -1
- package/components/p-uTR_dEqg.js +4 -0
- package/components/{p-rCa2eL0j.js → p-wk2QqrAo.js} +1 -1
- package/dist/cjs/config-DWdFbSNK.js +35 -0
- package/dist/cjs/index-Cueg3U4w.js +429 -0
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/ion-action-sheet.cjs.entry.js +27 -7
- package/dist/cjs/ion-alert.cjs.entry.js +64 -25
- package/dist/cjs/ion-app_8.cjs.entry.js +23 -9
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -10
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +12 -656
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -2
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +10 -5
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +21 -22
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -9
- package/dist/cjs/ion-picker-column.cjs.entry.js +4 -10
- package/dist/cjs/ion-popover.cjs.entry.js +9 -5
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -5
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +84 -30
- package/dist/cjs/ion-select_3.cjs.entry.js +407 -49
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +6 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-B9WEMRRo.js → overlays-DSmSrd_4.js} +27 -33
- package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
- package/dist/collection/collection-manifest.json +6 -10
- package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
- package/dist/collection/components/action-sheet/action-sheet.js +24 -5
- package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
- package/dist/collection/components/alert/alert.ios.css +280 -10
- package/dist/collection/components/alert/alert.js +59 -21
- package/dist/collection/components/alert/alert.md.css +269 -20
- package/dist/collection/components/datetime/datetime.ios.css +42 -2
- package/dist/collection/components/datetime/datetime.js +10 -17
- package/dist/collection/components/datetime/datetime.md.css +42 -1
- package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
- package/dist/collection/components/datetime-button/datetime-button.js +3 -10
- package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
- package/dist/collection/components/input/input.js +8 -8
- package/dist/collection/components/loading/loading.js +7 -3
- package/dist/collection/components/modal/modal.js +23 -24
- package/dist/collection/components/picker-column/picker-column.css +3 -0
- package/dist/collection/components/picker-column/picker-column.js +4 -11
- package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
- package/dist/collection/components/popover/popover.ios.css +15 -0
- package/dist/collection/components/popover/popover.js +7 -3
- package/dist/collection/components/popover/popover.md.css +15 -0
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +4 -4
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +38 -5
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +9 -9
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.ios.css +33 -0
- package/dist/collection/components/select/select.js +323 -16
- package/dist/collection/components/select/select.md.css +33 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
- package/dist/collection/components/select-modal/select-modal.js +79 -26
- package/dist/collection/components/select-modal/select-modal.md.css +165 -0
- package/dist/collection/components/select-option/select-option.js +67 -3
- package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
- package/dist/collection/components/select-popover/select-popover.js +78 -26
- package/dist/collection/components/select-popover/select-popover.md.css +165 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +45 -0
- package/dist/collection/utils/overlays.js +26 -32
- package/dist/collection/utils/sanitization/index.js +274 -18
- package/dist/collection/utils/select-option-render.js +119 -0
- package/dist/docs.json +440 -1160
- package/dist/esm/config-BwKpO3Is.js +31 -0
- package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
- package/dist/esm/index-DQSkZyOJ.js +424 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +27 -7
- package/dist/esm/ion-alert.entry.js +63 -24
- package/dist/esm/ion-app_8.entry.js +23 -9
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/ion-datetime-button.entry.js +4 -10
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +16 -658
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -1
- package/dist/esm/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +9 -4
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +21 -22
- package/dist/esm/ion-picker-column-option.entry.js +3 -9
- package/dist/esm/ion-picker-column.entry.js +4 -10
- package/dist/esm/ion-popover.entry.js +9 -5
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +3 -3
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +5 -4
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +6 -6
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +84 -30
- package/dist/esm/ion-select_3.entry.js +410 -52
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +5 -4
- package/dist/esm/ion-toggle.entry.js +4 -4
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays--4JLDr6C.js → overlays-DLNOHWNc.js} +28 -34
- package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
- package/dist/html.html-data.json +51 -79
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-038eb991.entry.js +4 -0
- package/dist/ionic/{p-8fce95d5.entry.js → p-14095ba5.entry.js} +1 -1
- package/dist/ionic/p-17827b13.entry.js +4 -0
- package/dist/ionic/p-1ebe2739.entry.js +4 -0
- package/dist/ionic/{p-3a126bca.entry.js → p-259d0d98.entry.js} +1 -1
- package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
- package/dist/ionic/{p-3a7d1e91.entry.js → p-4502a274.entry.js} +1 -1
- package/dist/ionic/p-4621c387.entry.js +4 -0
- package/dist/ionic/p-4ace7762.entry.js +4 -0
- package/dist/ionic/p-4bb3eb60.entry.js +4 -0
- package/dist/ionic/p-4e9ec5c5.entry.js +4 -0
- package/dist/ionic/{p-874b4bd8.entry.js → p-51cd1643.entry.js} +1 -1
- package/dist/ionic/p-5c3ec490.entry.js +4 -0
- package/dist/ionic/p-5d1ac2c7.entry.js +4 -0
- package/dist/ionic/{p-3ae5f277.entry.js → p-627fabd9.entry.js} +1 -1
- package/dist/ionic/{p-e0be05c5.entry.js → p-629e4703.entry.js} +1 -1
- package/dist/ionic/{p-5d1da0a2.entry.js → p-76e92a84.entry.js} +1 -1
- package/dist/ionic/p-79a36078.entry.js +4 -0
- package/dist/ionic/{p-9f1103ce.entry.js → p-7a37b3ce.entry.js} +1 -1
- package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
- package/dist/ionic/p-8b3a64a5.entry.js +4 -0
- package/dist/ionic/p-913b218a.entry.js +4 -0
- package/dist/ionic/{p-390ca786.entry.js → p-9177f4ac.entry.js} +1 -1
- package/dist/ionic/p-93a7e5a1.entry.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
- package/dist/ionic/p-BDtODLZ4.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BwKpO3Is.js +4 -0
- package/dist/ionic/p-Cg5-OQYy.js +4 -0
- package/dist/ionic/p-DCOvXkOm.js +4 -0
- package/dist/ionic/{p-4858af1f.entry.js → p-a5213260.entry.js} +1 -1
- package/dist/ionic/{p-37e720da.entry.js → p-a7628bc7.entry.js} +1 -1
- package/dist/ionic/p-a9a33367.entry.js +4 -0
- package/dist/ionic/p-ad728198.entry.js +4 -0
- package/dist/ionic/{p-ef4c3bee.entry.js → p-b1599fca.entry.js} +1 -1
- package/dist/ionic/{p-84d5ce05.entry.js → p-b9ac1fe0.entry.js} +1 -1
- package/dist/ionic/p-bfc8c629.entry.js +4 -0
- package/dist/ionic/p-c08e666a.entry.js +4 -0
- package/dist/ionic/{p-a6ad9c29.entry.js → p-c93553d2.entry.js} +1 -1
- package/dist/ionic/p-ce7992c4.entry.js +4 -0
- package/dist/ionic/{p-75dc25ba.entry.js → p-d2c7f046.entry.js} +1 -1
- package/dist/ionic/{p-c4d8641b.entry.js → p-d8387b99.entry.js} +1 -1
- package/dist/ionic/{p-9a65ac7f.entry.js → p-db1b6738.entry.js} +1 -1
- package/dist/ionic/p-ed797c72.entry.js +4 -0
- package/dist/ionic/{p-8eb8ee76.entry.js → p-ef93ca92.entry.js} +1 -1
- package/dist/ionic/p-f09f9642.entry.js +4 -0
- package/dist/ionic/p-f1c06f82.entry.js +4 -0
- package/dist/ionic/{p-0fa9c382.entry.js → p-fe4aa1db.entry.js} +1 -1
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +11 -4
- package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +31 -0
- package/dist/types/components/select/select.d.ts +18 -0
- package/dist/types/components/select-option/select-option.d.ts +42 -1
- package/dist/types/components.d.ts +60 -296
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/utils/config.d.ts +0 -8
- package/dist/types/utils/overlay-control-label.d.ts +32 -0
- package/dist/types/utils/overlays.d.ts +11 -9
- package/dist/types/utils/sanitization/index.d.ts +58 -2
- package/dist/types/utils/select-option-render.d.ts +53 -0
- package/hydrate/index.js +1416 -1219
- package/hydrate/index.mjs +1416 -1219
- package/package.json +37 -5
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -4
- package/components/ion-picker-legacy.d.ts +0 -11
- package/components/ion-picker-legacy.js +0 -4
- package/components/p-BI99_O7M.js +0 -4
- package/components/p-BeaZQGdD.js +0 -4
- package/components/p-BhiHTRHr.js +0 -4
- package/components/p-BjfgFSSR.js +0 -4
- package/components/p-BsPelv04.js +0 -4
- package/components/p-CU5rbWAW.js +0 -4
- package/components/p-Cg0yUncF.js +0 -4
- package/components/p-CiZjmDRO.js +0 -4
- package/components/p-CoDFQCkp.js +0 -4
- package/components/p-DfAYowgb.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/dist/cjs/config-xninhj0J.js +0 -201
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
- package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
- package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
- package/dist/collection/components/picker-legacy/picker.js +0 -890
- package/dist/collection/components/picker-legacy/picker.md.css +0 -287
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
- package/dist/esm/config-DQCONYYp.js +0 -195
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-06c232a4.entry.js +0 -4
- package/dist/ionic/p-20b1a044.entry.js +0 -4
- package/dist/ionic/p-21eb76d5.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-28df2088.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.entry.js +0 -4
- package/dist/ionic/p-485fda23.entry.js +0 -4
- package/dist/ionic/p-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-57e31cc8.entry.js +0 -4
- package/dist/ionic/p-766bbdff.entry.js +0 -4
- package/dist/ionic/p-8b4e6e7f.entry.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-Dzyqeklk.js +0 -4
- package/dist/ionic/p-a21add2f.entry.js +0 -4
- package/dist/ionic/p-aa56131f.entry.js +0 -4
- package/dist/ionic/p-b580c366.entry.js +0 -4
- package/dist/ionic/p-badb48f9.entry.js +0 -4
- package/dist/ionic/p-c0fb8edd.entry.js +0 -4
- package/dist/ionic/p-c38b648e.entry.js +0 -4
- package/dist/ionic/p-c8739c33.entry.js +0 -4
- package/dist/ionic/p-e930122a.entry.js +0 -4
- package/dist/ionic/p-ec090e0a.entry.js +0 -4
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
|
@@ -23,12 +23,6 @@ export class DatetimeButton {
|
|
|
23
23
|
this.overlayEl = null;
|
|
24
24
|
this.datetimePresentation = 'date-time';
|
|
25
25
|
this.datetimeActive = false;
|
|
26
|
-
/**
|
|
27
|
-
* The color to use from your application's color palette.
|
|
28
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
29
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
30
|
-
*/
|
|
31
|
-
this.color = 'primary';
|
|
32
26
|
/**
|
|
33
27
|
* If `true`, the user cannot interact with the button.
|
|
34
28
|
*/
|
|
@@ -342,11 +336,11 @@ export class DatetimeButton {
|
|
|
342
336
|
render() {
|
|
343
337
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
344
338
|
const mode = getIonMode(this);
|
|
345
|
-
return (h(Host, { key: '
|
|
339
|
+
return (h(Host, { key: '2aaa284fe9b53b6347fcb5a1d325fbab1a6f38bd', class: createColorClasses(color, {
|
|
346
340
|
[mode]: true,
|
|
347
341
|
[`${selectedButton}-active`]: datetimeActive,
|
|
348
342
|
['datetime-button-disabled']: disabled,
|
|
349
|
-
}) }, dateText && (h("button", { key: '
|
|
343
|
+
}) }, dateText && (h("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) }, h("slot", { key: 'c8761a7f25ae5b93c953b3486dd6335f5ad4fd53', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '3dd5e97af8d35a2b008de4ab01f690b3c2223135' }))), timeText && (h("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) }, h("slot", { key: '5cff53e486923b03715b9ab4dc0947e26f4ea1d9', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '5aac1facb6fc7457307c4f59a241e3a5b31facc8' })))));
|
|
350
344
|
}
|
|
351
345
|
static get is() { return "ion-datetime-button"; }
|
|
352
346
|
static get encapsulation() { return "shadow"; }
|
|
@@ -388,8 +382,7 @@ export class DatetimeButton {
|
|
|
388
382
|
"getter": false,
|
|
389
383
|
"setter": false,
|
|
390
384
|
"reflect": true,
|
|
391
|
-
"attribute": "color"
|
|
392
|
-
"defaultValue": "'primary'"
|
|
385
|
+
"attribute": "color"
|
|
393
386
|
},
|
|
394
387
|
"disabled": {
|
|
395
388
|
"type": "boolean",
|
|
@@ -82,6 +82,11 @@
|
|
|
82
82
|
|
|
83
83
|
:host(.time-active) #time-button,
|
|
84
84
|
:host(.date-active) #date-button {
|
|
85
|
+
color: var(--ion-color-primary, #0054e9);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
:host(.ion-color.time-active) #time-button,
|
|
89
|
+
:host(.ion-color.date-active) #date-button {
|
|
85
90
|
color: var(--ion-color-base);
|
|
86
91
|
}
|
|
87
92
|
|
|
@@ -56,7 +56,7 @@ export class Input {
|
|
|
56
56
|
/**
|
|
57
57
|
* Whether auto correction should be enabled when the user is entering/editing the text value.
|
|
58
58
|
*/
|
|
59
|
-
this.autocorrect =
|
|
59
|
+
this.autocorrect = false;
|
|
60
60
|
/**
|
|
61
61
|
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
62
62
|
*
|
|
@@ -540,7 +540,7 @@ export class Input {
|
|
|
540
540
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
541
541
|
*/
|
|
542
542
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
543
|
-
return (h(Host, { key: '
|
|
543
|
+
return (h(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses(this.color, {
|
|
544
544
|
[mode]: true,
|
|
545
545
|
'has-value': hasValue,
|
|
546
546
|
'has-focus': hasFocus,
|
|
@@ -551,14 +551,14 @@ export class Input {
|
|
|
551
551
|
'in-item': inItem,
|
|
552
552
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
553
553
|
'input-disabled': disabled,
|
|
554
|
-
}) }, h("label", { key: '
|
|
554
|
+
}) }, h("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), h("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 && (h("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
555
555
|
/**
|
|
556
556
|
* This prevents mobile browsers from
|
|
557
557
|
* blurring the input when the clear
|
|
558
558
|
* button is activated.
|
|
559
559
|
*/
|
|
560
560
|
ev.preventDefault();
|
|
561
|
-
}, onClick: this.clearTextInput }, h("ion-icon", { key: '
|
|
561
|
+
}, onClick: this.clearTextInput }, h("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && h("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
|
|
562
562
|
}
|
|
563
563
|
static get is() { return "ion-input"; }
|
|
564
564
|
static get encapsulation() { return "scoped"; }
|
|
@@ -650,11 +650,11 @@ export class Input {
|
|
|
650
650
|
"defaultValue": "'off'"
|
|
651
651
|
},
|
|
652
652
|
"autocorrect": {
|
|
653
|
-
"type": "
|
|
653
|
+
"type": "boolean",
|
|
654
654
|
"mutable": false,
|
|
655
655
|
"complexType": {
|
|
656
|
-
"original": "
|
|
657
|
-
"resolved": "
|
|
656
|
+
"original": "boolean",
|
|
657
|
+
"resolved": "boolean",
|
|
658
658
|
"references": {}
|
|
659
659
|
},
|
|
660
660
|
"required": false,
|
|
@@ -667,7 +667,7 @@ export class Input {
|
|
|
667
667
|
"setter": false,
|
|
668
668
|
"reflect": false,
|
|
669
669
|
"attribute": "autocorrect",
|
|
670
|
-
"defaultValue": "
|
|
670
|
+
"defaultValue": "false"
|
|
671
671
|
},
|
|
672
672
|
"autofocus": {
|
|
673
673
|
"type": "boolean",
|
|
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
|
|
6
6
|
import { raf } from "../../utils/helpers";
|
|
7
7
|
import { createLockController } from "../../utils/lock-controller";
|
|
8
|
-
import { BACKDROP, dismiss, eventMethod, prepareOverlay, present,
|
|
8
|
+
import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
|
|
9
9
|
import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
10
10
|
import { getClassMap } from "../../utils/theme";
|
|
11
11
|
import { config } from "../../global/config";
|
|
@@ -114,6 +114,10 @@ export class Loading {
|
|
|
114
114
|
}
|
|
115
115
|
disconnectedCallback() {
|
|
116
116
|
this.triggerController.removeClickListener();
|
|
117
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
118
|
+
if (this.presented) {
|
|
119
|
+
cleanupRootFocusTrapAccessibility();
|
|
120
|
+
}
|
|
117
121
|
}
|
|
118
122
|
/**
|
|
119
123
|
* Present the loading overlay after it has been created.
|
|
@@ -179,9 +183,9 @@ export class Loading {
|
|
|
179
183
|
* Otherwise, don't set aria-labelledby.
|
|
180
184
|
*/
|
|
181
185
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
182
|
-
return (h(Host, Object.assign({ key: '
|
|
186
|
+
return (h(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
183
187
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
184
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '
|
|
188
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, h("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
|
|
185
189
|
}
|
|
186
190
|
static get is() { return "ion-loading"; }
|
|
187
191
|
static get encapsulation() { return "scoped"; }
|
|
@@ -8,7 +8,7 @@ import { raf, inheritAttributes, hasLazyBuild, getElementRoot } from "../../util
|
|
|
8
8
|
import { createLockController } from "../../utils/lock-controller";
|
|
9
9
|
import { printIonWarning } from "../../utils/logging/index";
|
|
10
10
|
import { Style as StatusBarStyle, StatusBar } from "../../utils/native/status-bar";
|
|
11
|
-
import {
|
|
11
|
+
import { BACKDROP, cleanupRootFocusTrapAccessibility, createTriggerController, dismiss, eventMethod, FOCUS_TRAP_DISABLE_CLASS, GESTURE, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
|
|
12
12
|
import { getClassMap } from "../../utils/theme";
|
|
13
13
|
import { deepReady, waitForMount } from "../../utils/transition/index";
|
|
14
14
|
import { config } from "../../global/config";
|
|
@@ -77,13 +77,20 @@ export class Modal {
|
|
|
77
77
|
/**
|
|
78
78
|
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
79
79
|
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
80
|
+
* Handle behavior is unavailable when the `handle` property is set to
|
|
81
|
+
* `false` or when the `breakpoints` property is not set (using a
|
|
82
|
+
* fullscreen or card modal).
|
|
82
83
|
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
84
|
+
* Set to `"cycle"` to make the handle focusable and let the sheet modal
|
|
85
|
+
* cycle between available breakpoints when pressed. This keeps the sheet
|
|
86
|
+
* operable with assistive technology.
|
|
87
|
+
*
|
|
88
|
+
* Set to `"none"` to make the handle purely decorative when pressed and
|
|
89
|
+
* removed from the tab order.
|
|
90
|
+
*
|
|
91
|
+
* Defaults to `"cycle"`.
|
|
85
92
|
*/
|
|
86
|
-
this.handleBehavior = '
|
|
93
|
+
this.handleBehavior = 'cycle';
|
|
87
94
|
/**
|
|
88
95
|
* If `true`, the modal will be dismissed when the backdrop is clicked.
|
|
89
96
|
*/
|
|
@@ -275,6 +282,10 @@ export class Modal {
|
|
|
275
282
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
276
283
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
277
284
|
this.cleanupSafeAreaOverrides();
|
|
285
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
286
|
+
if (this.presented) {
|
|
287
|
+
cleanupRootFocusTrapAccessibility();
|
|
288
|
+
}
|
|
278
289
|
}
|
|
279
290
|
componentWillLoad() {
|
|
280
291
|
var _a;
|
|
@@ -1162,32 +1173,20 @@ export class Modal {
|
|
|
1162
1173
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1163
1174
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1164
1175
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
1165
|
-
return (h(Host, Object.assign({ key: '
|
|
1176
|
+
return (h(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
|
|
1166
1177
|
// Allow the modal to be navigable when the handle is focusable
|
|
1167
1178
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
1168
1179
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1169
|
-
}, 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 }), h("ion-backdrop", { key: '
|
|
1180
|
+
}, 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 }), h("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), h("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
|
|
1170
1181
|
/*
|
|
1171
1182
|
role and aria-modal must be used on the
|
|
1172
1183
|
same element. They must also be set inside the
|
|
1173
1184
|
shadow DOM otherwise ion-button will not be highlighted
|
|
1174
1185
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
1175
|
-
|
|
1176
|
-
tabIndex={-1} makes this element (rather than the role-less
|
|
1177
|
-
host) the thing that `present()` in overlays.ts focuses when
|
|
1178
|
-
the modal opens, so assistive technologies get a focus target
|
|
1179
|
-
that actually carries the dialog's role/label. It is not part
|
|
1180
|
-
of the Tab order since -1 is never Tab-reachable.
|
|
1181
|
-
|
|
1182
|
-
This is only applied to default modals. For sheet and iOS card
|
|
1183
|
-
modals the wrapper doubles as the drag-gesture surface, and
|
|
1184
|
-
leaving focus on that surface interferes with the pointer
|
|
1185
|
-
gesture (most visibly on Firefox). Those modals keep focusing
|
|
1186
|
-
the host as before.
|
|
1187
1186
|
*/
|
|
1188
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true",
|
|
1187
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
|
|
1189
1188
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1190
|
-
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) })), h("slot", { key: '
|
|
1189
|
+
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) })), h("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
|
|
1191
1190
|
}
|
|
1192
1191
|
static get is() { return "ion-modal"; }
|
|
1193
1192
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1459,13 +1458,13 @@ export class Modal {
|
|
|
1459
1458
|
"optional": true,
|
|
1460
1459
|
"docs": {
|
|
1461
1460
|
"tags": [],
|
|
1462
|
-
"text": "The interaction behavior for the sheet modal when the handle is pressed.\n\
|
|
1461
|
+
"text": "The interaction behavior for the sheet modal when the handle is pressed.\n\nHandle behavior is unavailable when the `handle` property is set to\n`false` or when the `breakpoints` property is not set (using a\nfullscreen or card modal).\n\nSet to `\"cycle\"` to make the handle focusable and let the sheet modal\ncycle between available breakpoints when pressed. This keeps the sheet\noperable with assistive technology.\n\nSet to `\"none\"` to make the handle purely decorative when pressed and\nremoved from the tab order.\n\nDefaults to `\"cycle\"`."
|
|
1463
1462
|
},
|
|
1464
1463
|
"getter": false,
|
|
1465
1464
|
"setter": false,
|
|
1466
1465
|
"reflect": false,
|
|
1467
1466
|
"attribute": "handle-behavior",
|
|
1468
|
-
"defaultValue": "'
|
|
1467
|
+
"defaultValue": "'cycle'"
|
|
1469
1468
|
},
|
|
1470
1469
|
"component": {
|
|
1471
1470
|
"type": "string",
|
|
@@ -223,6 +223,9 @@
|
|
|
223
223
|
@media (any-hover: hover) {
|
|
224
224
|
:host(:focus) .picker-opts {
|
|
225
225
|
outline: none;
|
|
226
|
+
background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
|
|
227
|
+
}
|
|
228
|
+
:host(.ion-color:focus) .picker-opts {
|
|
226
229
|
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
227
230
|
}
|
|
228
231
|
}
|
|
@@ -26,12 +26,6 @@ export class PickerColumn {
|
|
|
26
26
|
* If `true`, the user cannot interact with the picker.
|
|
27
27
|
*/
|
|
28
28
|
this.disabled = false;
|
|
29
|
-
/**
|
|
30
|
-
* The color to use from your application's color palette.
|
|
31
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
32
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
33
|
-
*/
|
|
34
|
-
this.color = 'primary';
|
|
35
29
|
/**
|
|
36
30
|
* If `true`, tapping the picker will
|
|
37
31
|
* reveal a number input keyboard that lets
|
|
@@ -551,14 +545,14 @@ export class PickerColumn {
|
|
|
551
545
|
render() {
|
|
552
546
|
const { color, disabled, isActive, numericInput } = this;
|
|
553
547
|
const mode = getIonMode(this);
|
|
554
|
-
return (h(Host, { key: '
|
|
548
|
+
return (h(Host, { key: '78b46ad10d88ea1bb43ca8c36748767912f03224', class: createColorClasses(color, {
|
|
555
549
|
[mode]: true,
|
|
556
550
|
['picker-column-active']: isActive,
|
|
557
551
|
['picker-column-numeric-input']: numericInput,
|
|
558
552
|
['picker-column-disabled']: disabled,
|
|
559
|
-
}) }, h("slot", { key: '
|
|
553
|
+
}) }, h("slot", { key: '761e501df77f7de896ffb3ebb99ebf88c5c3bf70', name: "prefix" }), h("div", { key: '9f4caaeef8ab704522a85f30876d371712f47c5c', class: "picker-opts", ref: (el) => {
|
|
560
554
|
this.scrollEl = el;
|
|
561
|
-
}, 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) }, h("div", { key: '
|
|
555
|
+
}, 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) }, h("div", { key: '9d3533436aba6c61c93f65f84a077fba832194a0', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '3f18d3a47361f06f55321b65fdf5742a61722b26', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'eac0d20ab8c533ef829875e323e93e1ee2067d6d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '92e25989ef41cf6f910c73238e1a0a5ac03f1c1f' }), h("div", { key: '33a84644ebdc84108b44a8e3a129b54e824939c8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '128ad61a3a68c7ff2d2e44a6e968424fcc608a15', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '6e4d59a4f75befcbbf47279a263f28a69b12dbbd', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: '3c6621b64438792a3024c90e3d9916a0a3614506', name: "suffix" })));
|
|
562
556
|
}
|
|
563
557
|
static get is() { return "ion-picker-column"; }
|
|
564
558
|
static get encapsulation() { return "shadow"; }
|
|
@@ -637,8 +631,7 @@ export class PickerColumn {
|
|
|
637
631
|
"getter": false,
|
|
638
632
|
"setter": false,
|
|
639
633
|
"reflect": true,
|
|
640
|
-
"attribute": "color"
|
|
641
|
-
"defaultValue": "'primary'"
|
|
634
|
+
"attribute": "color"
|
|
642
635
|
},
|
|
643
636
|
"numericInput": {
|
|
644
637
|
"type": "boolean",
|
|
@@ -26,12 +26,6 @@ export class PickerColumnOption {
|
|
|
26
26
|
* If `true`, the user cannot interact with the picker column option.
|
|
27
27
|
*/
|
|
28
28
|
this.disabled = false;
|
|
29
|
-
/**
|
|
30
|
-
* The color to use from your application's color palette.
|
|
31
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
32
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
33
|
-
*/
|
|
34
|
-
this.color = 'primary';
|
|
35
29
|
}
|
|
36
30
|
/**
|
|
37
31
|
* The aria-label of the option has changed after the
|
|
@@ -91,10 +85,10 @@ export class PickerColumnOption {
|
|
|
91
85
|
render() {
|
|
92
86
|
const { color, disabled, ariaLabel } = this;
|
|
93
87
|
const mode = getIonMode(this);
|
|
94
|
-
return (h(Host, { key: '
|
|
88
|
+
return (h(Host, { key: '98109dc9aeced749a3e879394d9a24de24204433', class: createColorClasses(color, {
|
|
95
89
|
[mode]: true,
|
|
96
90
|
['option-disabled']: disabled,
|
|
97
|
-
}) }, h("div", { key: '
|
|
91
|
+
}) }, h("div", { key: '42cb75738ea6925a7780b3ec9c1ff6823e340a24', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, h("slot", { key: '1f1b3862cdfb2b432016014e2e56330c0247d0b5' }))));
|
|
98
92
|
}
|
|
99
93
|
static get is() { return "ion-picker-column-option"; }
|
|
100
94
|
static get encapsulation() { return "shadow"; }
|
|
@@ -175,8 +169,7 @@ export class PickerColumnOption {
|
|
|
175
169
|
"getter": false,
|
|
176
170
|
"setter": false,
|
|
177
171
|
"reflect": true,
|
|
178
|
-
"attribute": "color"
|
|
179
|
-
"defaultValue": "'primary'"
|
|
172
|
+
"attribute": "color"
|
|
180
173
|
}
|
|
181
174
|
};
|
|
182
175
|
}
|
|
@@ -93,11 +93,16 @@
|
|
|
93
93
|
* - datetime sets `part="... active"` on the option. This is the reliable
|
|
94
94
|
* value-based source of truth and keeps the option colored when the column
|
|
95
95
|
* lives inside datetime's shadow DOM, where the class can be missed
|
|
96
|
-
* (WebKit's elementsFromPoint is unreliable in a shadow root).
|
|
96
|
+
* (WebKit's elementsFromPoint is unreliable in a shadow root).
|
|
97
97
|
* TODO(FW-6594): Determine if this workaround can be removed when iOS 16 is
|
|
98
98
|
* no longer supported.
|
|
99
99
|
*/
|
|
100
100
|
:host(.option-active),
|
|
101
101
|
:host([part~=active]) {
|
|
102
|
+
color: var(--ion-color-primary, #0054e9);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
:host(.ion-color.option-active),
|
|
106
|
+
:host(.ion-color[part~=active]) {
|
|
102
107
|
color: var(--ion-color-base);
|
|
103
108
|
}
|
|
@@ -177,6 +177,21 @@
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
+
:host(.select-popover-rich-content) {
|
|
181
|
+
/**
|
|
182
|
+
* Rich content options (start/end slots, descriptions) need
|
|
183
|
+
* more horizontal space than the default fixed width provides,
|
|
184
|
+
* otherwise content gets cut off.
|
|
185
|
+
*
|
|
186
|
+
* A viewport-relative value is used instead of `auto` or
|
|
187
|
+
* `max-content` because the enter animation reads `--width`
|
|
188
|
+
* via getBoundingClientRect() before the first layout pass
|
|
189
|
+
* completes. Intrinsic values return 0 at that point and
|
|
190
|
+
* cause the popover to be positioned off-screen on first open.
|
|
191
|
+
*/
|
|
192
|
+
--width: clamp(250px, calc(100vw - 40px), 400px);
|
|
193
|
+
}
|
|
194
|
+
|
|
180
195
|
/**
|
|
181
196
|
* Convert a font size to a dynamic font size.
|
|
182
197
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -7,7 +7,7 @@ import { CoreDelegate, attachComponent, detachComponent } from "../../utils/fram
|
|
|
7
7
|
import { addEventListener, raf, hasLazyBuild } from "../../utils/helpers";
|
|
8
8
|
import { createLockController } from "../../utils/lock-controller";
|
|
9
9
|
import { printIonWarning } from "../../utils/logging/index";
|
|
10
|
-
import { BACKDROP, dismiss, eventMethod, prepareOverlay, present, setOverlayId,
|
|
10
|
+
import { BACKDROP, cleanupRootFocusTrapAccessibility, dismiss, eventMethod, FOCUS_TRAP_DISABLE_CLASS, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
|
|
11
11
|
import { isPlatform } from "../../utils/platform";
|
|
12
12
|
import { getClassMap } from "../../utils/theme";
|
|
13
13
|
import { deepReady, waitForMount } from "../../utils/transition/index";
|
|
@@ -229,6 +229,10 @@ export class Popover {
|
|
|
229
229
|
this.headerResizeObserver.disconnect();
|
|
230
230
|
this.headerResizeObserver = undefined;
|
|
231
231
|
}
|
|
232
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
233
|
+
if (this.presented) {
|
|
234
|
+
cleanupRootFocusTrapAccessibility();
|
|
235
|
+
}
|
|
232
236
|
}
|
|
233
237
|
componentWillLoad() {
|
|
234
238
|
var _a, _b;
|
|
@@ -467,9 +471,9 @@ export class Popover {
|
|
|
467
471
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
468
472
|
const desktop = isPlatform('desktop');
|
|
469
473
|
const enableArrow = arrow && !parentPopover;
|
|
470
|
-
return (h(Host, Object.assign({ key: '
|
|
474
|
+
return (h(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
471
475
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
472
|
-
}, 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 && h("ion-backdrop", { key: '
|
|
476
|
+
}, 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 && h("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), h("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, h("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
|
|
473
477
|
}
|
|
474
478
|
static get is() { return "ion-popover"; }
|
|
475
479
|
static get encapsulation() { return "shadow"; }
|
|
@@ -177,6 +177,21 @@
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
+
:host(.select-popover-rich-content) {
|
|
181
|
+
/**
|
|
182
|
+
* Rich content options (start/end slots, descriptions) need
|
|
183
|
+
* more horizontal space than the default fixed width provides,
|
|
184
|
+
* otherwise content gets cut off.
|
|
185
|
+
*
|
|
186
|
+
* A viewport-relative value is used instead of `auto` or
|
|
187
|
+
* `max-content` because the enter animation reads `--width`
|
|
188
|
+
* via getBoundingClientRect() before the first layout pass
|
|
189
|
+
* completes. Intrinsic values return 0 at that point and
|
|
190
|
+
* cause the popover to be positioned off-screen on first open.
|
|
191
|
+
*/
|
|
192
|
+
--width: clamp(250px, calc(100vw - 40px), 400px);
|
|
193
|
+
}
|
|
194
|
+
|
|
180
195
|
/**
|
|
181
196
|
* Convert a font size to a dynamic font size.
|
|
182
197
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -43,7 +43,7 @@ export class ProgressBar {
|
|
|
43
43
|
const mode = getIonMode(this);
|
|
44
44
|
// If the progress is displayed as a solid bar.
|
|
45
45
|
const progressSolid = buffer === 1;
|
|
46
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
|
|
47
47
|
[mode]: true,
|
|
48
48
|
[`progress-bar-${type}`]: true,
|
|
49
49
|
'progress-paused': paused,
|
|
@@ -136,7 +136,7 @@ export class Radio {
|
|
|
136
136
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
137
137
|
const mode = getIonMode(this);
|
|
138
138
|
const inItem = hostContext('ion-item', el);
|
|
139
|
-
return (h(Host, { key: '
|
|
139
|
+
return (h(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
|
|
140
140
|
[mode]: true,
|
|
141
141
|
'in-item': inItem,
|
|
142
142
|
'radio-checked': checked,
|
|
@@ -147,10 +147,10 @@ export class Radio {
|
|
|
147
147
|
// Focus and active styling should not apply when the radio is in an item
|
|
148
148
|
'ion-activatable': !inItem,
|
|
149
149
|
'ion-focusable': !inItem,
|
|
150
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '
|
|
150
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, h("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
|
|
151
151
|
'label-text-wrapper': true,
|
|
152
152
|
'label-text-wrapper-hidden': !hasLabel,
|
|
153
|
-
}, part: "label" }, h("slot", { key: '
|
|
153
|
+
}, part: "label" }, h("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), h("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
154
154
|
}
|
|
155
155
|
static get is() { return "ion-radio"; }
|
|
156
156
|
static get encapsulation() { return "shadow"; }
|
|
@@ -250,7 +250,7 @@ export class Radio {
|
|
|
250
250
|
},
|
|
251
251
|
"getter": false,
|
|
252
252
|
"setter": false,
|
|
253
|
-
"reflect":
|
|
253
|
+
"reflect": true,
|
|
254
254
|
"attribute": "value"
|
|
255
255
|
},
|
|
256
256
|
"labelPlacement": {
|
|
@@ -769,7 +769,7 @@ export class Range {
|
|
|
769
769
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
770
770
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
771
771
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
772
|
-
return (h(Host, { key: '
|
|
772
|
+
return (h(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
773
773
|
[mode]: true,
|
|
774
774
|
'in-item': inItem,
|
|
775
775
|
'range-disabled': disabled,
|
|
@@ -783,10 +783,10 @@ export class Range {
|
|
|
783
783
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
784
784
|
'range-value-min': valueAtMin,
|
|
785
785
|
'range-value-max': valueAtMax,
|
|
786
|
-
}) }, h("label", { key: '
|
|
786
|
+
}) }, h("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, h("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
|
|
787
787
|
'label-text-wrapper': true,
|
|
788
788
|
'label-text-wrapper-hidden': !hasLabel,
|
|
789
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
789
|
+
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, h("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), h("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
|
|
790
790
|
}
|
|
791
791
|
static get is() { return "ion-range"; }
|
|
792
792
|
static get encapsulation() { return "shadow"; }
|
|
@@ -716,7 +716,7 @@ export class Refresher {
|
|
|
716
716
|
}
|
|
717
717
|
render() {
|
|
718
718
|
const mode = getIonMode(this);
|
|
719
|
-
return (h(Host, { key: '
|
|
719
|
+
return (h(Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
|
|
720
720
|
[mode]: true,
|
|
721
721
|
// Used internally for styling
|
|
722
722
|
[`refresher-${mode}`]: true,
|
|
@@ -48,7 +48,7 @@ export class RefresherContent {
|
|
|
48
48
|
const pullingIcon = this.pullingIcon;
|
|
49
49
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
50
50
|
const mode = getIonMode(this);
|
|
51
|
-
return (h(Host, { key: '
|
|
51
|
+
return (h(Host, { key: 'ec378d6a302be697c12c4f973a57c6ad2ada070f', class: mode }, h("div", { key: '0055f98f8c5a1ed7979dc8146ec1f82a575860c7', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: '4f88468e26370df6889e72aa54ebb395ebf3757d', class: "refresher-pulling-icon" }, h("div", { key: '05b3f8679576aaa6c2d84d60df6629a392df29e2', class: "spinner-arrow-container" }, h("ion-spinner", { key: '0bf6ceea416ce1140c0f10a5bede063cae7054f4', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: 'b71ede8455837968218edae28504e5e14bbc1f5c', class: "arrow-container" }, h("ion-icon", { key: '30b808288d23d3eac681b1225cd8392fdacfefe1', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: 'fee1ae7e57ef8a02f5654808dff9dca3002b6702', class: "refresher-pulling-icon" }, h("ion-icon", { key: '55b34a98028adb497fbc2ac66bdb3d5ae5b1705b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'ef8f987daa8060cb6f8fd83c0864095042b9eecf', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: 'cd6fe0e81b34eeae11478fcc8a42044bff6f7a52', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '9cd778229582b538d54589c4d8e4d470efb64aad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
52
52
|
}
|
|
53
53
|
static get is() { return "ion-refresher-content"; }
|
|
54
54
|
static get properties() {
|
|
@@ -20,7 +20,7 @@ export class Reorder {
|
|
|
20
20
|
render() {
|
|
21
21
|
const mode = getIonMode(this);
|
|
22
22
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
23
|
-
return (h(Host, { key: '
|
|
23
|
+
return (h(Host, { key: '4d35db30b5b3df2020d2212abb3cfac94f9bc2b8', class: mode }, h("slot", { key: '68a565ae4a47f6a9f5d6ba845b596fdfa629ece8' }, h("ion-icon", { key: '168fb0f8eb9c02329274488900fcdb05d44cb895', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "ion-reorder"; }
|
|
26
26
|
static get encapsulation() { return "shadow"; }
|
|
@@ -253,7 +253,7 @@ export class ReorderGroup {
|
|
|
253
253
|
}
|
|
254
254
|
render() {
|
|
255
255
|
const mode = getIonMode(this);
|
|
256
|
-
return (h(Host, { key: '
|
|
256
|
+
return (h(Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
|
|
257
257
|
[mode]: true,
|
|
258
258
|
'reorder-enabled': !this.disabled,
|
|
259
259
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -68,7 +68,7 @@ export class RippleEffect {
|
|
|
68
68
|
}
|
|
69
69
|
render() {
|
|
70
70
|
const mode = getIonMode(this);
|
|
71
|
-
return (h(Host, { key: '
|
|
71
|
+
return (h(Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
|
|
72
72
|
[mode]: true,
|
|
73
73
|
unbounded: this.unbounded,
|
|
74
74
|
} }));
|
|
@@ -22,10 +22,10 @@ export class RouterLink {
|
|
|
22
22
|
rel: this.rel,
|
|
23
23
|
target: this.target,
|
|
24
24
|
};
|
|
25
|
-
return (h(Host, { key: '
|
|
25
|
+
return (h(Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
26
26
|
[mode]: true,
|
|
27
27
|
'ion-activatable': true,
|
|
28
|
-
}) }, h("a", Object.assign({ key: '
|
|
28
|
+
}) }, h("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), h("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "ion-router-link"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|