voyager-ionic-core 8.5.0 → 8.5.3
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/checkbox.js +18 -6
- package/components/helpers.js +1 -11
- package/components/index9.js +1 -1
- package/components/ion-datetime.js +5 -5
- package/components/ion-range.js +21 -5
- package/components/ion-segment-button.js +20 -51
- package/components/ion-segment-content.js +1 -1
- package/components/modal.js +22 -3
- package/components/overlays.js +3 -2
- package/components/picker.js +54 -77
- package/dist/cjs/{framework-delegate-11b0ba2f.js → framework-delegate-50a86d56.js} +1 -1
- package/dist/cjs/{helpers-d0dfbb50.js → helpers-3a248559.js} +0 -11
- package/dist/cjs/{index-fd6383b6.js → index-4b70187a.js} +1 -1
- package/dist/cjs/{index-9b945a2d.js → index-509ca0d3.js} +1 -1
- package/dist/cjs/{index-363fe6b2.js → index-e36bd277.js} +1 -1
- package/dist/cjs/{index-f68a486a.js → index-e630fd95.js} +3 -3
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/{input-shims-2d27a5be.js → input-shims-22a9973f.js} +2 -2
- package/dist/cjs/{input.utils-2f642324.js → input.utils-e82b8ed0.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
- package/dist/cjs/ion-alert.cjs.entry.js +3 -3
- package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
- package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +19 -7
- package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-img.cjs.entry.js +1 -1
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +3 -3
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
- package/dist/cjs/ion-loading.cjs.entry.js +3 -3
- package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-modal.cjs.entry.js +27 -8
- package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +1 -1
- package/dist/cjs/ion-picker-column.cjs.entry.js +1 -1
- package/dist/cjs/ion-picker.cjs.entry.js +55 -78
- package/dist/cjs/ion-popover.cjs.entry.js +4 -4
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-range.cjs.entry.js +23 -7
- package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
- package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +20 -51
- package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
- package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ion-toast.cjs.entry.js +3 -3
- package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
- package/dist/cjs/{ios.transition-f970164c.js → ios.transition-ae7afca9.js} +2 -2
- package/dist/cjs/{md.transition-aa8820dd.js → md.transition-26003e25.js} +2 -2
- package/dist/cjs/{notch-controller-58d2e557.js → notch-controller-ae03a497.js} +1 -1
- package/dist/cjs/{overlays-737576a2.js → overlays-32e1b66b.js} +5 -4
- package/dist/cjs/{status-tap-08d1ac81.js → status-tap-03023755.js} +2 -2
- package/dist/cjs/{swipe-back-5c0003bd.js → swipe-back-652bdd0b.js} +1 -1
- package/dist/collection/components/checkbox/checkbox.ios.css +5 -16
- package/dist/collection/components/checkbox/checkbox.js +16 -4
- package/dist/collection/components/checkbox/checkbox.md.css +5 -16
- package/dist/collection/components/datetime/datetime.js +5 -5
- package/dist/collection/components/modal/gestures/sheet.js +24 -5
- package/dist/collection/components/picker/picker.js +54 -77
- package/dist/collection/components/range/range.js +21 -5
- package/dist/collection/components/segment-button/segment-button.js +20 -51
- package/dist/collection/components/segment-content/segment-content.css +9 -0
- package/dist/collection/utils/helpers.js +0 -10
- package/dist/collection/utils/overlays.js +3 -2
- package/dist/docs.json +1 -1
- package/dist/esm/{framework-delegate-c7d92b77.js → framework-delegate-2eea1763.js} +1 -1
- package/dist/esm/{helpers-e48b0397.js → helpers-78efeec3.js} +1 -11
- package/dist/esm/{index-8222b29f.js → index-40894f4b.js} +1 -1
- package/dist/esm/{index-933ca126.js → index-e919e353.js} +1 -1
- package/dist/esm/{index-a313df53.js → index-ecb55b8d.js} +3 -3
- package/dist/esm/{index-c63afbe6.js → index-f9f5d018.js} +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/{input-shims-3070628a.js → input-shims-7dc1f6dc.js} +2 -2
- package/dist/esm/{input.utils-926c04a8.js → input.utils-28bf4ef0.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +3 -3
- package/dist/esm/ion-alert.entry.js +3 -3
- package/dist/esm/ion-app_8.entry.js +8 -8
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ion-button_2.entry.js +1 -1
- package/dist/esm/ion-card_5.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +19 -7
- package/dist/esm/ion-datetime-button.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +8 -8
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-img.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +3 -3
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-item_8.entry.js +1 -1
- package/dist/esm/ion-loading.entry.js +3 -3
- package/dist/esm/ion-menu_3.entry.js +4 -4
- package/dist/esm/ion-modal.entry.js +27 -8
- package/dist/esm/ion-nav_2.entry.js +4 -4
- package/dist/esm/ion-picker-column-option.entry.js +1 -1
- package/dist/esm/ion-picker-column.entry.js +1 -1
- package/dist/esm/ion-picker.entry.js +55 -78
- package/dist/esm/ion-popover.entry.js +4 -4
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +1 -1
- package/dist/esm/ion-range.entry.js +23 -7
- package/dist/esm/ion-refresher_2.entry.js +2 -2
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +1 -1
- package/dist/esm/ion-searchbar.entry.js +1 -1
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +20 -51
- package/dist/esm/ion-select-modal.entry.js +3 -3
- package/dist/esm/ion-select_3.entry.js +4 -4
- package/dist/esm/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm/ion-tab_2.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +3 -3
- package/dist/esm/ion-toast.entry.js +3 -3
- package/dist/esm/ion-toggle.entry.js +1 -1
- package/dist/esm/{ios.transition-5fe4d6c8.js → ios.transition-7fe5dbea.js} +2 -2
- package/dist/esm/{md.transition-3d0d3730.js → md.transition-8dc58b46.js} +2 -2
- package/dist/esm/{notch-controller-381a5334.js → notch-controller-00d92e89.js} +1 -1
- package/dist/esm/{overlays-7579a420.js → overlays-41a5d51b.js} +5 -4
- package/dist/esm/{status-tap-6367b913.js → status-tap-f6d08e9e.js} +2 -2
- package/dist/esm/{swipe-back-326faa1c.js → swipe-back-5c7708b8.js} +1 -1
- package/dist/esm-es5/{framework-delegate-c7d92b77.js → framework-delegate-2eea1763.js} +1 -1
- package/dist/esm-es5/helpers-78efeec3.js +4 -0
- package/dist/esm-es5/{index-8222b29f.js → index-40894f4b.js} +1 -1
- package/dist/esm-es5/{index-933ca126.js → index-e919e353.js} +1 -1
- package/dist/esm-es5/index-ecb55b8d.js +4 -0
- package/dist/esm-es5/{index-c63afbe6.js → index-f9f5d018.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{input-shims-3070628a.js → input-shims-7dc1f6dc.js} +1 -1
- package/dist/esm-es5/{input.utils-926c04a8.js → input.utils-28bf4ef0.js} +1 -1
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column.entry.js +1 -1
- package/dist/esm-es5/ion-picker.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment-content.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select-modal.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/{ios.transition-5fe4d6c8.js → ios.transition-7fe5dbea.js} +1 -1
- package/dist/esm-es5/md.transition-8dc58b46.js +4 -0
- package/dist/esm-es5/{notch-controller-381a5334.js → notch-controller-00d92e89.js} +1 -1
- package/dist/esm-es5/{overlays-7579a420.js → overlays-41a5d51b.js} +1 -1
- package/dist/esm-es5/{status-tap-6367b913.js → status-tap-f6d08e9e.js} +1 -1
- package/dist/esm-es5/swipe-back-5c7708b8.js +4 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-bf77d6fa.entry.js → p-0186a592.entry.js} +1 -1
- package/dist/ionic/p-027a48f1.entry.js +4 -0
- package/dist/ionic/{p-ceaea4ce.js → p-058b7f35.js} +1 -1
- package/dist/ionic/{p-c25c0ba4.entry.js → p-05b65d7a.entry.js} +1 -1
- package/dist/ionic/{p-d7032956.system.js → p-09d185ff.system.js} +1 -1
- package/dist/ionic/{p-bbc6db8c.entry.js → p-0a456b7f.entry.js} +1 -1
- package/dist/ionic/{p-472c7e08.system.entry.js → p-0d1be7c9.system.entry.js} +1 -1
- package/dist/ionic/{p-e0c43e11.system.entry.js → p-14114a59.system.entry.js} +1 -1
- package/dist/ionic/{p-3e86b4fa.system.js → p-15bb1dde.system.js} +1 -1
- package/dist/ionic/{p-a9f2c0a7.entry.js → p-180b4f9a.entry.js} +1 -1
- package/dist/ionic/{p-42f6e75c.entry.js → p-1b0b2210.entry.js} +1 -1
- package/dist/ionic/{p-8fc426e2.entry.js → p-1c8b3ac9.entry.js} +1 -1
- package/dist/ionic/{p-0c9b8240.system.entry.js → p-1de5dfcd.system.entry.js} +1 -1
- package/dist/ionic/p-2567237c.entry.js +4 -0
- package/dist/ionic/{p-4493c1ac.entry.js → p-29da3dcd.entry.js} +1 -1
- package/dist/ionic/p-2a2c6bf4.system.entry.js +4 -0
- package/dist/ionic/{p-c5b5f44a.entry.js → p-3281aab3.entry.js} +1 -1
- package/dist/ionic/{p-7f39653f.entry.js → p-33518a04.entry.js} +1 -1
- package/dist/ionic/p-33cf8185.system.js +4 -0
- package/dist/ionic/{p-1f837356.entry.js → p-383a6058.entry.js} +1 -1
- package/dist/ionic/{p-44e168f3.system.js → p-3855fef7.system.js} +2 -2
- package/dist/ionic/{p-b2296998.system.entry.js → p-38eaf9cf.system.entry.js} +1 -1
- package/dist/ionic/{p-3bd5fedc.system.js → p-3ba2a2cd.system.js} +1 -1
- package/dist/ionic/{p-7ff4f502.entry.js → p-41e70fa2.entry.js} +1 -1
- package/dist/ionic/{p-d37fdc68.system.entry.js → p-44fde7d5.system.entry.js} +1 -1
- package/dist/ionic/{p-4c44d04c.js → p-44ff75ea.js} +1 -1
- package/dist/ionic/{p-297d6806.system.js → p-455cd7cc.system.js} +1 -1
- package/dist/ionic/{p-c8331397.system.entry.js → p-4662a25c.system.entry.js} +1 -1
- package/dist/ionic/{p-2fa5a4b1.entry.js → p-48ded460.entry.js} +1 -1
- package/dist/ionic/{p-9df36075.system.entry.js → p-49d53551.system.entry.js} +1 -1
- package/dist/ionic/p-4b07c60a.system.js +4 -0
- package/dist/ionic/{p-1a9613bf.system.entry.js → p-4c7e6fec.system.entry.js} +1 -1
- package/dist/ionic/{p-1164ff6b.system.entry.js → p-4ea4c73a.system.entry.js} +1 -1
- package/dist/ionic/{p-2ab4a324.system.entry.js → p-4eeca839.system.entry.js} +1 -1
- package/dist/ionic/{p-5f4ff20a.entry.js → p-50e0ce13.entry.js} +1 -1
- package/dist/ionic/{p-def7a8bd.system.entry.js → p-51479be0.system.entry.js} +1 -1
- package/dist/ionic/{p-67163d4a.entry.js → p-552d9d62.entry.js} +1 -1
- package/dist/ionic/{p-4470f87b.system.entry.js → p-5578033e.system.entry.js} +1 -1
- package/dist/ionic/p-5fb1321f.entry.js +4 -0
- package/dist/ionic/p-61373098.js +4 -0
- package/dist/ionic/{p-023e8017.system.entry.js → p-6155027f.system.entry.js} +1 -1
- package/dist/ionic/{p-e00b72ce.js → p-624ecf03.js} +1 -1
- package/dist/ionic/{p-060e4551.js → p-64d8ac48.js} +1 -1
- package/dist/ionic/{p-b85d199c.entry.js → p-657ada6a.entry.js} +1 -1
- package/dist/ionic/{p-491de063.system.entry.js → p-65943bec.system.entry.js} +1 -1
- package/dist/ionic/{p-54893ae3.entry.js → p-65e732b9.entry.js} +1 -1
- package/dist/ionic/{p-a587b2ae.system.js → p-6c044a1d.system.js} +1 -1
- package/dist/ionic/{p-e0c0218f.system.entry.js → p-7058a5e4.system.entry.js} +1 -1
- package/dist/ionic/p-707408c5.system.entry.js +4 -0
- package/dist/ionic/{p-a63b345e.system.entry.js → p-70abb1f2.system.entry.js} +1 -1
- package/dist/ionic/{p-e0a05506.js → p-756e4559.js} +1 -1
- package/dist/ionic/p-772d1657.system.js +4 -0
- package/dist/ionic/{p-606887b7.system.entry.js → p-7b886108.system.entry.js} +1 -1
- package/dist/ionic/p-7c9daa6f.entry.js +4 -0
- package/dist/ionic/{p-0be8a0b5.entry.js → p-7f49a9c4.entry.js} +1 -1
- package/dist/ionic/p-8048804d.system.entry.js +4 -0
- package/dist/ionic/{p-b9eb1465.system.entry.js → p-843ac05d.system.entry.js} +1 -1
- package/dist/ionic/{p-13886789.entry.js → p-87b0d2c9.entry.js} +1 -1
- package/dist/ionic/{p-ff4a1ba0.system.entry.js → p-8b22be32.system.entry.js} +1 -1
- package/dist/ionic/{p-f02e9382.system.entry.js → p-8cf6f383.system.entry.js} +1 -1
- package/dist/ionic/{p-1d98a7f1.entry.js → p-8d98e2bb.entry.js} +1 -1
- package/dist/ionic/{p-2b59470f.system.entry.js → p-9263275e.system.entry.js} +1 -1
- package/dist/ionic/p-96eec056.entry.js +4 -0
- package/dist/ionic/{p-042d5353.system.js → p-978bdf4c.system.js} +1 -1
- package/dist/ionic/p-9870728f.js +4 -0
- package/dist/ionic/{p-b055d618.entry.js → p-99803283.entry.js} +1 -1
- package/dist/ionic/{p-9a2ff5ea.system.js → p-9e45532a.system.js} +1 -1
- package/dist/ionic/{p-3be7cdeb.system.entry.js → p-a26d7667.system.entry.js} +1 -1
- package/dist/ionic/{p-24ae7b33.system.js → p-a3c931ad.system.js} +1 -1
- package/dist/ionic/{p-e5c27d9f.system.entry.js → p-a75a9e5a.system.entry.js} +1 -1
- package/dist/ionic/{p-ace2d2be.entry.js → p-a7830ff8.entry.js} +1 -1
- package/dist/ionic/{p-888d383b.system.entry.js → p-a9198501.system.entry.js} +1 -1
- package/dist/ionic/{p-524ad57e.system.entry.js → p-ac09b6e9.system.entry.js} +1 -1
- package/dist/ionic/{p-ada878ce.entry.js → p-b1673667.entry.js} +1 -1
- package/dist/ionic/{p-c6a20407.system.entry.js → p-b1f9fbe8.system.entry.js} +1 -1
- package/dist/ionic/{p-838cc359.entry.js → p-b87a9f1d.entry.js} +1 -1
- package/dist/ionic/{p-e5708e5d.system.entry.js → p-b8a461f5.system.entry.js} +1 -1
- package/dist/ionic/{p-f554845e.js → p-b9fa7882.js} +1 -1
- package/dist/ionic/p-bf64af90.system.js +1 -1
- package/dist/ionic/{p-daf1e8ec.system.entry.js → p-c27c57ea.system.entry.js} +1 -1
- package/dist/ionic/{p-e7309bfa.js → p-c3f9d9fe.js} +1 -1
- package/dist/ionic/{p-49cb79a1.system.entry.js → p-c53c414d.system.entry.js} +1 -1
- package/dist/ionic/{p-b9f2e353.entry.js → p-ccb740ea.entry.js} +1 -1
- package/dist/ionic/{p-37a438ad.system.entry.js → p-cec54707.system.entry.js} +1 -1
- package/dist/ionic/{p-5f8cd560.entry.js → p-cf14f70d.entry.js} +1 -1
- package/dist/ionic/{p-efa0f3f5.entry.js → p-cfc08422.entry.js} +1 -1
- package/dist/ionic/{p-eec4b772.entry.js → p-cff4f96c.entry.js} +1 -1
- package/dist/ionic/{p-a6df5168.system.entry.js → p-d046659b.system.entry.js} +1 -1
- package/dist/ionic/p-d40f2b7a.js +4 -0
- package/dist/ionic/{p-6bb846d3.entry.js → p-d455de62.entry.js} +1 -1
- package/dist/ionic/{p-3479f51b.system.js → p-d70a9e6d.system.js} +1 -1
- package/dist/ionic/{p-4d0190ad.system.entry.js → p-d882f1e2.system.entry.js} +2 -2
- package/dist/ionic/{p-d8c9d5ac.system.entry.js → p-db3b409e.system.entry.js} +1 -1
- package/dist/ionic/{p-c8bf9ba7.entry.js → p-e11ff516.entry.js} +1 -1
- package/dist/ionic/{p-81474833.system.entry.js → p-e29c5aab.system.entry.js} +1 -1
- package/dist/ionic/{p-3af7b907.entry.js → p-e2ce5f8b.entry.js} +1 -1
- package/dist/ionic/p-e3012c2d.js +4 -0
- package/dist/ionic/p-e3284879.system.entry.js +4 -0
- package/dist/ionic/{p-6e24cf82.entry.js → p-e3e4eed7.entry.js} +1 -1
- package/dist/ionic/{p-50f38461.entry.js → p-e4d2c281.entry.js} +1 -1
- package/dist/ionic/p-e8245753.entry.js +4 -0
- package/dist/ionic/p-ece78e7b.js +4 -0
- package/dist/ionic/{p-51c363e7.system.js → p-ee86cfff.system.js} +1 -1
- package/dist/ionic/{p-6797c66e.system.js → p-f23124c4.system.js} +1 -1
- package/dist/ionic/{p-8deac7df.system.entry.js → p-f387b3c6.system.entry.js} +1 -1
- package/dist/ionic/p-f53ee2e7.js +4 -0
- package/dist/ionic/{p-f94b2f2f.system.entry.js → p-f5a04e5e.system.entry.js} +1 -1
- package/dist/ionic/p-f70fc14a.entry.js +4 -0
- package/dist/ionic/{p-b6174297.entry.js → p-f834322a.entry.js} +1 -1
- package/dist/ionic/{p-96450929.system.entry.js → p-f84f4d8e.system.entry.js} +1 -1
- package/dist/ionic/{p-0749768d.entry.js → p-fa70eaab.entry.js} +1 -1
- package/dist/ionic/{p-4c94580e.js → p-ffa3ba3c.js} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +2 -0
- package/dist/types/components/picker/picker.d.ts +8 -0
- package/dist/types/components/range/range.d.ts +9 -1
- package/dist/types/components/segment-button/segment-button.d.ts +1 -2
- package/dist/types/utils/helpers.d.ts +0 -1
- package/hydrate/index.js +143 -159
- package/hydrate/index.mjs +143 -159
- package/package.json +6 -6
- package/dist/esm-es5/helpers-e48b0397.js +0 -4
- package/dist/esm-es5/index-a313df53.js +0 -4
- package/dist/esm-es5/md.transition-3d0d3730.js +0 -4
- package/dist/esm-es5/swipe-back-326faa1c.js +0 -4
- package/dist/ionic/p-094c82d7.entry.js +0 -4
- package/dist/ionic/p-143ff664.system.entry.js +0 -4
- package/dist/ionic/p-18f9b6d5.entry.js +0 -4
- package/dist/ionic/p-1d2844a5.system.entry.js +0 -4
- package/dist/ionic/p-2027221d.js +0 -4
- package/dist/ionic/p-294271c7.system.js +0 -4
- package/dist/ionic/p-2ee9a2c6.entry.js +0 -4
- package/dist/ionic/p-54e9620f.js +0 -4
- package/dist/ionic/p-58c482af.entry.js +0 -4
- package/dist/ionic/p-5eb6f582.system.js +0 -4
- package/dist/ionic/p-72e6a9c6.entry.js +0 -4
- package/dist/ionic/p-77991411.system.js +0 -4
- package/dist/ionic/p-85f6070f.entry.js +0 -4
- package/dist/ionic/p-9a5420dd.js +0 -4
- package/dist/ionic/p-9e51f822.js +0 -4
- package/dist/ionic/p-b9ea58ef.js +0 -4
- package/dist/ionic/p-bdd6102f.system.entry.js +0 -4
- package/dist/ionic/p-c8402249.js +0 -4
- package/dist/ionic/p-ed768b77.entry.js +0 -4
- package/dist/ionic/p-eeee3990.system.entry.js +0 -4
package/components/checkbox.js
CHANGED
|
@@ -6,10 +6,10 @@ import { i as inheritAriaAttributes, e as renderHiddenInput } from './helpers.js
|
|
|
6
6
|
import { c as createColorClasses, h as hostContext } from './theme.js';
|
|
7
7
|
import { b as getIonMode } from './ionic-global.js';
|
|
8
8
|
|
|
9
|
-
const checkboxIosCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{
|
|
9
|
+
const checkboxIosCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}.checkbox-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.checkbox-label-placement-stacked) .checkbox-bottom{font-size:1rem}.checkbox-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.checkbox-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .checkbox-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text{display:none}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:50%;--border-width:0.125rem;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--size:min(1.375rem, 55.836px);--checkmark-width:1.5px}:host(.checkbox-disabled){opacity:0.3}";
|
|
10
10
|
const IonCheckboxIosStyle0 = checkboxIosCss;
|
|
11
11
|
|
|
12
|
-
const checkboxMdCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{
|
|
12
|
+
const checkboxMdCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}.checkbox-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.checkbox-label-placement-stacked) .checkbox-bottom{font-size:1rem}.checkbox-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.checkbox-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .checkbox-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text{display:none}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:calc(var(--size) * .125);--border-width:2px;--border-style:solid;--border-color:rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--checkmark-width:3;--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--transition:background 180ms cubic-bezier(0.4, 0, 0.2, 1);--size:18px}.checkbox-icon path{stroke-dasharray:30;stroke-dashoffset:30}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{stroke-dashoffset:0;-webkit-transition:stroke-dashoffset 90ms linear 90ms;transition:stroke-dashoffset 90ms linear 90ms}:host(.checkbox-disabled) .label-text-wrapper{opacity:0.38}:host(.checkbox-disabled) .native-wrapper{opacity:0.63}";
|
|
13
13
|
const IonCheckboxMdStyle0 = checkboxMdCss;
|
|
14
14
|
|
|
15
15
|
const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLElement {
|
|
@@ -21,6 +21,7 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
|
|
|
21
21
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
22
22
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
23
23
|
this.inputId = `ion-cb-${checkboxIds++}`;
|
|
24
|
+
this.inputLabelId = `${this.inputId}-lbl`;
|
|
24
25
|
this.helperTextId = `${this.inputId}-helper-text`;
|
|
25
26
|
this.errorTextId = `${this.inputId}-error-text`;
|
|
26
27
|
this.inheritedAttributes = {};
|
|
@@ -49,6 +50,14 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
|
|
|
49
50
|
this.onBlur = () => {
|
|
50
51
|
this.ionBlur.emit();
|
|
51
52
|
};
|
|
53
|
+
this.onKeyDown = (ev) => {
|
|
54
|
+
if (ev.key === ' ') {
|
|
55
|
+
ev.preventDefault();
|
|
56
|
+
if (!this.disabled) {
|
|
57
|
+
this.toggleChecked(ev);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
52
61
|
this.onClick = (ev) => {
|
|
53
62
|
if (this.disabled) {
|
|
54
63
|
return;
|
|
@@ -107,8 +116,11 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
|
|
|
107
116
|
const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
|
|
108
117
|
const mode = getIonMode(this);
|
|
109
118
|
const path = getSVGPath(mode, indeterminate);
|
|
119
|
+
const hasLabelContent = el.textContent !== '';
|
|
110
120
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
111
|
-
|
|
121
|
+
// The host element must have a checkbox role to ensure proper VoiceOver
|
|
122
|
+
// support in Safari for accessibility.
|
|
123
|
+
return (h(Host, { key: '90bb17a4fae17088524555968a002327400807cf', role: "checkbox", "aria-checked": indeterminate ? 'mixed' : `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, "aria-labelledby": hasLabelContent ? this.inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses(color, {
|
|
112
124
|
[mode]: true,
|
|
113
125
|
'in-item': hostContext('ion-item', el),
|
|
114
126
|
'checkbox-checked': checked,
|
|
@@ -118,10 +130,10 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
|
|
|
118
130
|
[`checkbox-justify-${justify}`]: justify !== undefined,
|
|
119
131
|
[`checkbox-alignment-${alignment}`]: alignment !== undefined,
|
|
120
132
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
121
|
-
}), onClick: this.onClick }, h("label", { key: '
|
|
133
|
+
}), onClick: this.onClick }, h("label", { key: '58b5762aa358dff81910874631e06620a2ae1561', class: "checkbox-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: '6abe299d690c345d36d6fd76ab113fdccfbbac52', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), h("div", { key: '2654168e45ccfdbcfe13af8c97e0e21d61ba0150', class: {
|
|
122
134
|
'label-text-wrapper': true,
|
|
123
|
-
'label-text-wrapper-hidden':
|
|
124
|
-
}, part: "label" }, h("slot", { key: '
|
|
135
|
+
'label-text-wrapper-hidden': !hasLabelContent,
|
|
136
|
+
}, part: "label", id: this.inputLabelId }, h("slot", { key: 'a91f3f67d9ddd6b616e48799aba11cae3564d1ab' }), this.renderHintText()), h("div", { key: 'd5a9170b084d09df6b02f416e744085b5bcf0dde', class: "native-wrapper" }, h("svg", { key: 'b1968ce4aa9d652a9f2bdc427ea3a65e6c04df51', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
|
|
125
137
|
}
|
|
126
138
|
getSVGPath(mode, indeterminate) {
|
|
127
139
|
let path = indeterminate ? (h("path", { d: "M6 12L18 12", part: "mark" })) : (h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
|
package/components/helpers.js
CHANGED
|
@@ -330,16 +330,6 @@ const shallowEqualStringMap = (map1, map2) => {
|
|
|
330
330
|
}
|
|
331
331
|
return true;
|
|
332
332
|
};
|
|
333
|
-
const getNextSiblingOfType = (element) => {
|
|
334
|
-
let sibling = element.nextSibling;
|
|
335
|
-
while (sibling) {
|
|
336
|
-
if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
|
|
337
|
-
return sibling;
|
|
338
|
-
}
|
|
339
|
-
sibling = sibling.nextSibling;
|
|
340
|
-
}
|
|
341
|
-
return null;
|
|
342
|
-
};
|
|
343
333
|
/**
|
|
344
334
|
* Checks input for usable number. Not NaN and not Infinite.
|
|
345
335
|
*/
|
|
@@ -347,4 +337,4 @@ const isSafeNumber = (input) => {
|
|
|
347
337
|
return typeof input === 'number' && !isNaN(input) && isFinite(input);
|
|
348
338
|
};
|
|
349
339
|
|
|
350
|
-
export { addEventListener as a, removeEventListener as b, componentOnReady as c, inheritAttributes as d, renderHiddenInput as e, focusVisibleElement as f, getElementRoot as g, hasShadowDom as h, inheritAriaAttributes as i, hasLazyBuild as j, clamp as k, debounceEvent as l, isEndSide as m, assert as n, isSafeNumber as o, debounce as p,
|
|
340
|
+
export { addEventListener as a, removeEventListener as b, componentOnReady as c, inheritAttributes as d, renderHiddenInput as e, focusVisibleElement as f, getElementRoot as g, hasShadowDom as h, inheritAriaAttributes as i, hasLazyBuild as j, clamp as k, debounceEvent as l, isEndSide as m, assert as n, isSafeNumber as o, debounce as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
|
package/components/index9.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { d as doc } from './index5.js';
|
|
5
|
-
import {
|
|
5
|
+
import { q as pointerCoord } from './helpers.js';
|
|
6
6
|
|
|
7
7
|
const startTapClick = (config) => {
|
|
8
8
|
if (doc === undefined) {
|
|
@@ -1429,7 +1429,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1429
1429
|
const activePart = this.getActivePartsWithFallback();
|
|
1430
1430
|
return (h("ion-picker-column", { "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1431
1431
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
1432
|
-
this.setActiveParts(Object.assign(Object.assign({},
|
|
1432
|
+
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
|
|
1433
1433
|
ev.stopPropagation();
|
|
1434
1434
|
} }, hoursData.map((hour) => (h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
|
|
1435
1435
|
}
|
|
@@ -1440,7 +1440,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1440
1440
|
const activePart = this.getActivePartsWithFallback();
|
|
1441
1441
|
return (h("ion-picker-column", { "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1442
1442
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
1443
|
-
this.setActiveParts(Object.assign(Object.assign({},
|
|
1443
|
+
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
|
|
1444
1444
|
ev.stopPropagation();
|
|
1445
1445
|
} }, minutesData.map((minute) => (h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
|
|
1446
1446
|
}
|
|
@@ -1454,7 +1454,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1454
1454
|
return (h("ion-picker-column", { "aria-label": "Select a day period", style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
|
|
1455
1455
|
const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
|
|
1456
1456
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
1457
|
-
this.setActiveParts(Object.assign(Object.assign({},
|
|
1457
|
+
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
|
|
1458
1458
|
ev.stopPropagation();
|
|
1459
1459
|
} }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
|
|
1460
1460
|
}
|
|
@@ -1761,7 +1761,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1761
1761
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1762
1762
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1763
1763
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1764
|
-
return (h(Host, { key: '
|
|
1764
|
+
return (h(Host, { key: '08d429533a09c600b936ad1e022658051c765595', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1765
1765
|
[mode]: true,
|
|
1766
1766
|
['datetime-readonly']: readonly,
|
|
1767
1767
|
['datetime-disabled']: disabled,
|
|
@@ -1771,7 +1771,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1771
1771
|
[`datetime-size-${size}`]: true,
|
|
1772
1772
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1773
1773
|
[`datetime-grid`]: isGridStyle,
|
|
1774
|
-
})) }, h("div", { key: '
|
|
1774
|
+
})) }, h("div", { key: 'f4ff0fcd1e059767a7ef14fcc76ebfd55d23a97b', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1775
1775
|
}
|
|
1776
1776
|
get el() { return this; }
|
|
1777
1777
|
static get watchers() { return {
|
package/components/ion-range.js
CHANGED
|
@@ -79,6 +79,19 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
|
|
|
79
79
|
this.inheritedAttributes = {};
|
|
80
80
|
this.contentEl = null;
|
|
81
81
|
this.initialContentScrollY = true;
|
|
82
|
+
/**
|
|
83
|
+
* Compares two RangeValue inputs to determine if they are different.
|
|
84
|
+
*
|
|
85
|
+
* @param newVal - The new value.
|
|
86
|
+
* @param oldVal - The old value.
|
|
87
|
+
* @returns `true` if the values are different, `false` otherwise.
|
|
88
|
+
*/
|
|
89
|
+
this.compareValues = (newVal, oldVal) => {
|
|
90
|
+
if (typeof newVal === 'object' && typeof oldVal === 'object') {
|
|
91
|
+
return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
|
|
92
|
+
}
|
|
93
|
+
return newVal !== oldVal;
|
|
94
|
+
};
|
|
82
95
|
this.clampBounds = (value) => {
|
|
83
96
|
return clamp(this.min, value, this.max);
|
|
84
97
|
};
|
|
@@ -212,7 +225,11 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
|
|
|
212
225
|
this.gesture.enable(!this.disabled);
|
|
213
226
|
}
|
|
214
227
|
}
|
|
215
|
-
valueChanged() {
|
|
228
|
+
valueChanged(newValue, oldValue) {
|
|
229
|
+
const valuesChanged = this.compareValues(newValue, oldValue);
|
|
230
|
+
if (valuesChanged) {
|
|
231
|
+
this.ionInput.emit({ value: this.value });
|
|
232
|
+
}
|
|
216
233
|
if (!this.noUpdate) {
|
|
217
234
|
this.updateRatio();
|
|
218
235
|
}
|
|
@@ -457,7 +474,6 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
|
|
|
457
474
|
lower: Math.min(valA, valB),
|
|
458
475
|
upper: Math.max(valA, valB),
|
|
459
476
|
};
|
|
460
|
-
this.ionInput.emit({ value: this.value });
|
|
461
477
|
this.noUpdate = false;
|
|
462
478
|
}
|
|
463
479
|
setFocus(knob) {
|
|
@@ -625,7 +641,7 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
|
|
|
625
641
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
626
642
|
const mode = getIonMode(this);
|
|
627
643
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
628
|
-
return (h(Host, { key: '
|
|
644
|
+
return (h(Host, { key: 'e97cb7eab877eb1624429b4a79107130c6809cf5', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
629
645
|
[mode]: true,
|
|
630
646
|
'in-item': inItem,
|
|
631
647
|
'range-disabled': disabled,
|
|
@@ -634,10 +650,10 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
|
|
|
634
650
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
635
651
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
636
652
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
637
|
-
}) }, h("label", { key: '
|
|
653
|
+
}) }, h("label", { key: 'a43e9859f74f83460439efefccb5fbb9f387c9ee', class: "range-wrapper", id: "range-label" }, h("div", { key: '75352a30f30dbd0228c6138eb4324a5c021dbb48', class: {
|
|
638
654
|
'label-text-wrapper': true,
|
|
639
655
|
'label-text-wrapper-hidden': !hasLabel,
|
|
640
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
656
|
+
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '6a3e147c3e5d938bb2b50522a290f6fdfcf40f05', class: "native-wrapper" }, h("slot", { key: '6627236eac9f711fa9c27879a017dd994e65811e', name: "start" }), this.renderRangeSlider(), h("slot", { key: '6af3bbadacd036bc7cd30732227f76d7c64117fb', name: "end" })))));
|
|
641
657
|
}
|
|
642
658
|
get el() { return this; }
|
|
643
659
|
static get watchers() { return {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, forceUpdate, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { a as addEventListener, b as removeEventListener, d as inheritAttributes
|
|
5
|
+
import { a as addEventListener, b as removeEventListener, d as inheritAttributes } from './helpers.js';
|
|
6
6
|
import { h as hostContext } from './theme.js';
|
|
7
7
|
import { b as getIonMode } from './ionic-global.js';
|
|
8
8
|
import { d as defineCustomElement$2 } from './ripple-effect.js';
|
|
@@ -43,61 +43,15 @@ const SegmentButton = /*@__PURE__*/ proxyCustomElement(class SegmentButton exten
|
|
|
43
43
|
valueChanged() {
|
|
44
44
|
this.updateState();
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
return new Promise((resolve, reject) => {
|
|
48
|
-
let timeoutId = undefined;
|
|
49
|
-
let animationFrameId;
|
|
50
|
-
const check = () => {
|
|
51
|
-
if (!ionSegment) {
|
|
52
|
-
reject(new Error(`Segment not found when looking for Segment Content`));
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
const segmentView = getNextSiblingOfType(ionSegment); // Skip the text nodes
|
|
56
|
-
const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
|
|
57
|
-
if (segmentContent && timeoutId) {
|
|
58
|
-
clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
|
|
59
|
-
cancelAnimationFrame(animationFrameId);
|
|
60
|
-
resolve(segmentContent);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
check();
|
|
67
|
-
// Set a timeout to reject the promise
|
|
68
|
-
timeoutId = setTimeout(() => {
|
|
69
|
-
cancelAnimationFrame(animationFrameId);
|
|
70
|
-
reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
|
|
71
|
-
}, 1000);
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
async connectedCallback() {
|
|
46
|
+
connectedCallback() {
|
|
75
47
|
const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
|
|
76
48
|
if (segmentEl) {
|
|
77
49
|
this.updateState();
|
|
78
50
|
addEventListener(segmentEl, 'ionSelect', this.updateState);
|
|
79
51
|
addEventListener(segmentEl, 'ionStyle', this.updateStyle);
|
|
80
52
|
}
|
|
81
|
-
// Return if there is no contentId defined
|
|
82
|
-
if (!this.contentId)
|
|
83
|
-
return;
|
|
84
|
-
let segmentContent;
|
|
85
|
-
try {
|
|
86
|
-
// Attempt to find the Segment Content by its contentId
|
|
87
|
-
segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
// If no associated Segment Content exists, log an error and return
|
|
91
|
-
console.error('Segment Button: ', error.message);
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
95
|
-
if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
|
|
96
|
-
console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
53
|
// Prevent buttons from being disabled when associated with segment content
|
|
100
|
-
if (this.disabled) {
|
|
54
|
+
if (this.contentId && this.disabled) {
|
|
101
55
|
console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
|
|
102
56
|
this.disabled = false;
|
|
103
57
|
}
|
|
@@ -112,6 +66,21 @@ const SegmentButton = /*@__PURE__*/ proxyCustomElement(class SegmentButton exten
|
|
|
112
66
|
}
|
|
113
67
|
componentWillLoad() {
|
|
114
68
|
this.inheritedAttributes = Object.assign({}, inheritAttributes(this.el, ['aria-label']));
|
|
69
|
+
// Return if there is no contentId defined
|
|
70
|
+
if (!this.contentId)
|
|
71
|
+
return;
|
|
72
|
+
// Attempt to find the Segment Content by its contentId
|
|
73
|
+
const segmentContent = document.getElementById(this.contentId);
|
|
74
|
+
// If no associated Segment Content exists, log an error and return
|
|
75
|
+
if (!segmentContent) {
|
|
76
|
+
console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
80
|
+
if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
|
|
81
|
+
console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
115
84
|
}
|
|
116
85
|
get hasLabel() {
|
|
117
86
|
return !!this.el.querySelector('ion-label');
|
|
@@ -134,7 +103,7 @@ const SegmentButton = /*@__PURE__*/ proxyCustomElement(class SegmentButton exten
|
|
|
134
103
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
135
104
|
const mode = getIonMode(this);
|
|
136
105
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
137
|
-
return (h(Host, { key: '
|
|
106
|
+
return (h(Host, { key: 'f2f679a08b131cd35d63f649b9d1f1907df30a89', class: {
|
|
138
107
|
[mode]: true,
|
|
139
108
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
140
109
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -150,7 +119,7 @@ const SegmentButton = /*@__PURE__*/ proxyCustomElement(class SegmentButton exten
|
|
|
150
119
|
'ion-activatable': true,
|
|
151
120
|
'ion-activatable-instant': true,
|
|
152
121
|
'ion-focusable': true,
|
|
153
|
-
} }, h("button", Object.assign({ key: '
|
|
122
|
+
} }, h("button", Object.assign({ key: '8e887b5031da705a3695c0870be08696d66188de', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '73b795c39cb09438e50922abf6b3a010e31fa2b6', class: "button-inner" }, h("slot", { key: '9769ddc917d7e459bd80dcd81c10c379e73d1b3e' })), mode === 'md' && h("ion-ripple-effect", { key: '8e4c06d6bae1034af8cc5db86fcca0ae72d042b1' })), h("div", { key: 'ae73ee0e429e54a43269f99b6d3d7e1c6e8f60cc', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'd38eabe8161403799cfbad73dd6bf912d965442c', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
154
123
|
}
|
|
155
124
|
get el() { return this; }
|
|
156
125
|
static get watchers() { return {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
5
|
|
|
6
|
-
const segmentContentCss = ":host{scroll-snap-align:center;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100
|
|
6
|
+
const segmentContentCss = ":host{scroll-snap-align:center;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none;}:host::-webkit-scrollbar{display:none}";
|
|
7
7
|
const IonSegmentContentStyle0 = segmentContentCss;
|
|
8
8
|
|
|
9
9
|
const SegmentContent = /*@__PURE__*/ proxyCustomElement(class SegmentContent extends HTMLElement {
|
package/components/modal.js
CHANGED
|
@@ -950,6 +950,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
950
950
|
let currentBreakpoint = initialBreakpoint;
|
|
951
951
|
let offset = 0;
|
|
952
952
|
let canDismissBlocksGesture = false;
|
|
953
|
+
let cachedScrollEl = null;
|
|
953
954
|
const canDismissMaxStep = 0.95;
|
|
954
955
|
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
955
956
|
const minBreakpoint = breakpoints[0];
|
|
@@ -1083,6 +1084,16 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1083
1084
|
* Remove undefined check
|
|
1084
1085
|
*/
|
|
1085
1086
|
canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
|
|
1087
|
+
/**
|
|
1088
|
+
* Cache the scroll element reference when the gesture starts,
|
|
1089
|
+
* this allows us to avoid querying the DOM for the target in onMove,
|
|
1090
|
+
* which would impact performance significantly.
|
|
1091
|
+
*/
|
|
1092
|
+
if (!expandToScroll) {
|
|
1093
|
+
const targetEl = findClosestIonContent(detail.event.target);
|
|
1094
|
+
cachedScrollEl =
|
|
1095
|
+
targetEl && isIonContent(targetEl) ? getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
|
|
1096
|
+
}
|
|
1086
1097
|
/**
|
|
1087
1098
|
* If expandToScroll is disabled, we need to swap
|
|
1088
1099
|
* the footer visibility to the original, so if the modal
|
|
@@ -1110,10 +1121,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1110
1121
|
};
|
|
1111
1122
|
const onMove = (detail) => {
|
|
1112
1123
|
/**
|
|
1113
|
-
* If `expandToScroll` is disabled,
|
|
1114
|
-
*
|
|
1124
|
+
* If `expandToScroll` is disabled, and an upwards swipe gesture is done within
|
|
1125
|
+
* the scrollable content, we should not allow the swipe gesture to continue.
|
|
1115
1126
|
*/
|
|
1116
|
-
if (!expandToScroll && detail.deltaY <= 0) {
|
|
1127
|
+
if (!expandToScroll && detail.deltaY <= 0 && cachedScrollEl) {
|
|
1117
1128
|
return;
|
|
1118
1129
|
}
|
|
1119
1130
|
/**
|
|
@@ -1162,6 +1173,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1162
1173
|
animation.progressStep(offset);
|
|
1163
1174
|
};
|
|
1164
1175
|
const onEnd = (detail) => {
|
|
1176
|
+
/**
|
|
1177
|
+
* If expandToScroll is disabled, we should not allow the moveSheetToBreakpoint
|
|
1178
|
+
* function to be called if the user is trying to swipe content upwards and the content
|
|
1179
|
+
* is not scrolled to the top.
|
|
1180
|
+
*/
|
|
1181
|
+
if (!expandToScroll && detail.deltaY <= 0 && cachedScrollEl && cachedScrollEl.scrollTop > 0) {
|
|
1182
|
+
return;
|
|
1183
|
+
}
|
|
1165
1184
|
/**
|
|
1166
1185
|
* When the gesture releases, we need to determine
|
|
1167
1186
|
* the closest breakpoint to snap to.
|
package/components/overlays.js
CHANGED
|
@@ -515,8 +515,8 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
515
515
|
*/
|
|
516
516
|
if (overlay.el.tagName !== 'ION-TOAST') {
|
|
517
517
|
setRootAriaHidden(true);
|
|
518
|
+
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
518
519
|
}
|
|
519
|
-
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
520
520
|
hideUnderlyingOverlaysFromScreenReaders(overlay.el);
|
|
521
521
|
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
522
522
|
overlay.presented = true;
|
|
@@ -620,6 +620,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
620
620
|
if (!overlay.presented) {
|
|
621
621
|
return false;
|
|
622
622
|
}
|
|
623
|
+
const presentedOverlays = doc !== undefined ? getPresentedOverlays(doc) : [];
|
|
623
624
|
/**
|
|
624
625
|
* For accessibility, toasts lack focus traps and don’t receive
|
|
625
626
|
* `aria-hidden` on the root element when presented.
|
|
@@ -631,7 +632,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
631
632
|
* Therefore, we must remove `aria-hidden` from the root element
|
|
632
633
|
* when the last non-toast overlay is dismissed.
|
|
633
634
|
*/
|
|
634
|
-
const overlaysNotToast =
|
|
635
|
+
const overlaysNotToast = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST');
|
|
635
636
|
const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
|
|
636
637
|
/**
|
|
637
638
|
* If this is the last visible overlay that is not a toast
|