voyager-ionic-core 8.5.1 → 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/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 +5 -5
- 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/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 +5 -5
- 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-b0e53bc7.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-4888cb66.system.entry.js → p-8048804d.system.entry.js} +1 -1
- 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 +121 -156
- package/hydrate/index.mjs +121 -156
- package/package.json +2 -2
- 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-c8402249.js +0 -4
- package/dist/ionic/p-ed768b77.entry.js +0 -4
- package/dist/ionic/p-eeee3990.system.entry.js +0 -4
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
const index = require('./index-c8d52405.js');
|
|
7
|
-
const helpers = require('./helpers-
|
|
7
|
+
const helpers = require('./helpers-3a248559.js');
|
|
8
8
|
const hardwareBackButton = require('./hardware-back-button-5a99001f.js');
|
|
9
9
|
const ionicGlobal = require('./ionic-global-acb665ad.js');
|
|
10
|
-
const frameworkDelegate = require('./framework-delegate-
|
|
10
|
+
const frameworkDelegate = require('./framework-delegate-50a86d56.js');
|
|
11
11
|
const gestureController = require('./gesture-controller-9436f482.js');
|
|
12
12
|
const index$1 = require('./index-48b2a28e.js');
|
|
13
13
|
|
|
@@ -517,8 +517,8 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
517
517
|
*/
|
|
518
518
|
if (overlay.el.tagName !== 'ION-TOAST') {
|
|
519
519
|
setRootAriaHidden(true);
|
|
520
|
+
document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
|
|
520
521
|
}
|
|
521
|
-
document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
|
|
522
522
|
hideUnderlyingOverlaysFromScreenReaders(overlay.el);
|
|
523
523
|
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
524
524
|
overlay.presented = true;
|
|
@@ -622,6 +622,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
622
622
|
if (!overlay.presented) {
|
|
623
623
|
return false;
|
|
624
624
|
}
|
|
625
|
+
const presentedOverlays = index.doc !== undefined ? getPresentedOverlays(index.doc) : [];
|
|
625
626
|
/**
|
|
626
627
|
* For accessibility, toasts lack focus traps and don’t receive
|
|
627
628
|
* `aria-hidden` on the root element when presented.
|
|
@@ -633,7 +634,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
633
634
|
* Therefore, we must remove `aria-hidden` from the root element
|
|
634
635
|
* when the last non-toast overlay is dismissed.
|
|
635
636
|
*/
|
|
636
|
-
const overlaysNotToast =
|
|
637
|
+
const overlaysNotToast = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST');
|
|
637
638
|
const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
|
|
638
639
|
/**
|
|
639
640
|
* If this is the last visible overlay that is not a toast
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
const index = require('./index-2e236a04.js');
|
|
7
|
-
const index$1 = require('./index-
|
|
8
|
-
const helpers = require('./helpers-
|
|
7
|
+
const index$1 = require('./index-509ca0d3.js');
|
|
8
|
+
const helpers = require('./helpers-3a248559.js');
|
|
9
9
|
require('./index-48b2a28e.js');
|
|
10
10
|
require('./ionic-global-acb665ad.js');
|
|
11
11
|
|
|
@@ -145,23 +145,12 @@
|
|
|
145
145
|
display: none;
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
+
/**
|
|
149
|
+
* The native input must be hidden with display instead of visibility or
|
|
150
|
+
* aria-hidden to avoid accessibility issues with nested interactive elements.
|
|
151
|
+
*/
|
|
148
152
|
input {
|
|
149
|
-
|
|
150
|
-
top: 0;
|
|
151
|
-
left: 0;
|
|
152
|
-
right: 0;
|
|
153
|
-
bottom: 0;
|
|
154
|
-
width: 100%;
|
|
155
|
-
height: 100%;
|
|
156
|
-
margin: 0;
|
|
157
|
-
padding: 0;
|
|
158
|
-
border: 0;
|
|
159
|
-
outline: 0;
|
|
160
|
-
clip: rect(0 0 0 0);
|
|
161
|
-
opacity: 0;
|
|
162
|
-
overflow: hidden;
|
|
163
|
-
-webkit-appearance: none;
|
|
164
|
-
-moz-appearance: none;
|
|
153
|
+
display: none;
|
|
165
154
|
}
|
|
166
155
|
|
|
167
156
|
.native-wrapper {
|
|
@@ -20,6 +20,7 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
20
20
|
export class Checkbox {
|
|
21
21
|
constructor() {
|
|
22
22
|
this.inputId = `ion-cb-${checkboxIds++}`;
|
|
23
|
+
this.inputLabelId = `${this.inputId}-lbl`;
|
|
23
24
|
this.helperTextId = `${this.inputId}-helper-text`;
|
|
24
25
|
this.errorTextId = `${this.inputId}-error-text`;
|
|
25
26
|
this.inheritedAttributes = {};
|
|
@@ -48,6 +49,14 @@ export class Checkbox {
|
|
|
48
49
|
this.onBlur = () => {
|
|
49
50
|
this.ionBlur.emit();
|
|
50
51
|
};
|
|
52
|
+
this.onKeyDown = (ev) => {
|
|
53
|
+
if (ev.key === ' ') {
|
|
54
|
+
ev.preventDefault();
|
|
55
|
+
if (!this.disabled) {
|
|
56
|
+
this.toggleChecked(ev);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
51
60
|
this.onClick = (ev) => {
|
|
52
61
|
if (this.disabled) {
|
|
53
62
|
return;
|
|
@@ -106,8 +115,11 @@ export class Checkbox {
|
|
|
106
115
|
const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
|
|
107
116
|
const mode = getIonMode(this);
|
|
108
117
|
const path = getSVGPath(mode, indeterminate);
|
|
118
|
+
const hasLabelContent = el.textContent !== '';
|
|
109
119
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
110
|
-
|
|
120
|
+
// The host element must have a checkbox role to ensure proper VoiceOver
|
|
121
|
+
// support in Safari for accessibility.
|
|
122
|
+
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, {
|
|
111
123
|
[mode]: true,
|
|
112
124
|
'in-item': hostContext('ion-item', el),
|
|
113
125
|
'checkbox-checked': checked,
|
|
@@ -117,10 +129,10 @@ export class Checkbox {
|
|
|
117
129
|
[`checkbox-justify-${justify}`]: justify !== undefined,
|
|
118
130
|
[`checkbox-alignment-${alignment}`]: alignment !== undefined,
|
|
119
131
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
120
|
-
}), onClick: this.onClick }, h("label", { key: '
|
|
132
|
+
}), 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: {
|
|
121
133
|
'label-text-wrapper': true,
|
|
122
|
-
'label-text-wrapper-hidden':
|
|
123
|
-
}, part: "label" }, h("slot", { key: '
|
|
134
|
+
'label-text-wrapper-hidden': !hasLabelContent,
|
|
135
|
+
}, 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)))));
|
|
124
136
|
}
|
|
125
137
|
getSVGPath(mode, indeterminate) {
|
|
126
138
|
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" }));
|
|
@@ -145,23 +145,12 @@
|
|
|
145
145
|
display: none;
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
+
/**
|
|
149
|
+
* The native input must be hidden with display instead of visibility or
|
|
150
|
+
* aria-hidden to avoid accessibility issues with nested interactive elements.
|
|
151
|
+
*/
|
|
148
152
|
input {
|
|
149
|
-
|
|
150
|
-
top: 0;
|
|
151
|
-
left: 0;
|
|
152
|
-
right: 0;
|
|
153
|
-
bottom: 0;
|
|
154
|
-
width: 100%;
|
|
155
|
-
height: 100%;
|
|
156
|
-
margin: 0;
|
|
157
|
-
padding: 0;
|
|
158
|
-
border: 0;
|
|
159
|
-
outline: 0;
|
|
160
|
-
clip: rect(0 0 0 0);
|
|
161
|
-
opacity: 0;
|
|
162
|
-
overflow: hidden;
|
|
163
|
-
-webkit-appearance: none;
|
|
164
|
-
-moz-appearance: none;
|
|
153
|
+
display: none;
|
|
165
154
|
}
|
|
166
155
|
|
|
167
156
|
.native-wrapper {
|
|
@@ -1225,7 +1225,7 @@ export class Datetime {
|
|
|
1225
1225
|
const activePart = this.getActivePartsWithFallback();
|
|
1226
1226
|
return (h("ion-picker-column", { "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1227
1227
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
1228
|
-
this.setActiveParts(Object.assign(Object.assign({},
|
|
1228
|
+
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
|
|
1229
1229
|
ev.stopPropagation();
|
|
1230
1230
|
} }, 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)))));
|
|
1231
1231
|
}
|
|
@@ -1236,7 +1236,7 @@ export class Datetime {
|
|
|
1236
1236
|
const activePart = this.getActivePartsWithFallback();
|
|
1237
1237
|
return (h("ion-picker-column", { "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1238
1238
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
1239
|
-
this.setActiveParts(Object.assign(Object.assign({},
|
|
1239
|
+
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
|
|
1240
1240
|
ev.stopPropagation();
|
|
1241
1241
|
} }, 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)))));
|
|
1242
1242
|
}
|
|
@@ -1250,7 +1250,7 @@ export class Datetime {
|
|
|
1250
1250
|
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) => {
|
|
1251
1251
|
const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
|
|
1252
1252
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
1253
|
-
this.setActiveParts(Object.assign(Object.assign({},
|
|
1253
|
+
this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
|
|
1254
1254
|
ev.stopPropagation();
|
|
1255
1255
|
} }, 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)))));
|
|
1256
1256
|
}
|
|
@@ -1557,7 +1557,7 @@ export class Datetime {
|
|
|
1557
1557
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1558
1558
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1559
1559
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1560
|
-
return (h(Host, { key: '
|
|
1560
|
+
return (h(Host, { key: '08d429533a09c600b936ad1e022658051c765595', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1561
1561
|
[mode]: true,
|
|
1562
1562
|
['datetime-readonly']: readonly,
|
|
1563
1563
|
['datetime-disabled']: disabled,
|
|
@@ -1567,7 +1567,7 @@ export class Datetime {
|
|
|
1567
1567
|
[`datetime-size-${size}`]: true,
|
|
1568
1568
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1569
1569
|
[`datetime-grid`]: isGridStyle,
|
|
1570
|
-
})) }, h("div", { key: '
|
|
1570
|
+
})) }, h("div", { key: 'f4ff0fcd1e059767a7ef14fcc76ebfd55d23a97b', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1571
1571
|
}
|
|
1572
1572
|
static get is() { return "ion-datetime"; }
|
|
1573
1573
|
static get encapsulation() { return "shadow"; }
|
|
@@ -313,13 +313,59 @@ export class Picker {
|
|
|
313
313
|
* or trailing zeros when looking at the item text.
|
|
314
314
|
*/
|
|
315
315
|
this.searchColumn = (colEl, value, zeroBehavior = 'start') => {
|
|
316
|
+
if (!value) {
|
|
317
|
+
return false;
|
|
318
|
+
}
|
|
316
319
|
const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;
|
|
320
|
+
value = value.replace(behavior, '');
|
|
317
321
|
const option = Array.from(colEl.querySelectorAll('ion-picker-column-option')).find((el) => {
|
|
318
322
|
return el.disabled !== true && el.textContent.replace(behavior, '') === value;
|
|
319
323
|
});
|
|
320
324
|
if (option) {
|
|
321
325
|
colEl.setValue(option.value);
|
|
322
326
|
}
|
|
327
|
+
return !!option;
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* Attempts to intelligently search the first and second
|
|
331
|
+
* column as if they're number columns for the provided numbers
|
|
332
|
+
* where the first two numbers are the first column
|
|
333
|
+
* and the last 2 are the last column. Tries to allow for the first
|
|
334
|
+
* number to be ignored for situations where typos occurred.
|
|
335
|
+
*/
|
|
336
|
+
this.multiColumnSearch = (firstColumn, secondColumn, input) => {
|
|
337
|
+
if (input.length === 0) {
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
const inputArray = input.split('');
|
|
341
|
+
const hourValue = inputArray.slice(0, 2).join('');
|
|
342
|
+
// Try to find a match for the first two digits in the first column
|
|
343
|
+
const foundHour = this.searchColumn(firstColumn, hourValue);
|
|
344
|
+
// If we have more than 2 digits and found a match for hours,
|
|
345
|
+
// use the remaining digits for the second column (minutes)
|
|
346
|
+
if (inputArray.length > 2 && foundHour) {
|
|
347
|
+
const minuteValue = inputArray.slice(2, 4).join('');
|
|
348
|
+
this.searchColumn(secondColumn, minuteValue);
|
|
349
|
+
}
|
|
350
|
+
// If we couldn't find a match for the two-digit hour, try single digit approaches
|
|
351
|
+
else if (!foundHour && inputArray.length >= 1) {
|
|
352
|
+
// First try the first digit as a single-digit hour
|
|
353
|
+
let singleDigitHour = inputArray[0];
|
|
354
|
+
let singleDigitFound = this.searchColumn(firstColumn, singleDigitHour);
|
|
355
|
+
// If that didn't work, try the second digit as a single-digit hour
|
|
356
|
+
// (handles case where user made a typo in the first digit, or they typed over themselves)
|
|
357
|
+
if (!singleDigitFound) {
|
|
358
|
+
inputArray.shift();
|
|
359
|
+
singleDigitHour = inputArray[0];
|
|
360
|
+
singleDigitFound = this.searchColumn(firstColumn, singleDigitHour);
|
|
361
|
+
}
|
|
362
|
+
// If we found a single-digit hour and have remaining digits,
|
|
363
|
+
// use up to 2 of the remaining digits for the second column
|
|
364
|
+
if (singleDigitFound && inputArray.length > 1) {
|
|
365
|
+
const remainingDigits = inputArray.slice(1, 3).join('');
|
|
366
|
+
this.searchColumn(secondColumn, remainingDigits);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
323
369
|
};
|
|
324
370
|
this.selectMultiColumn = () => {
|
|
325
371
|
const { inputEl, el } = this;
|
|
@@ -330,82 +376,13 @@ export class Picker {
|
|
|
330
376
|
const firstColumn = numericPickers[0];
|
|
331
377
|
const lastColumn = numericPickers[1];
|
|
332
378
|
let value = inputEl.value;
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
case 2:
|
|
339
|
-
/**
|
|
340
|
-
* If the first character is `0` or `1` it is
|
|
341
|
-
* possible that users are trying to type `09`
|
|
342
|
-
* or `11` into the hour field, so we should look
|
|
343
|
-
* at that first.
|
|
344
|
-
*/
|
|
345
|
-
const firstCharacter = inputEl.value.substring(0, 1);
|
|
346
|
-
value = firstCharacter === '0' || firstCharacter === '1' ? inputEl.value : firstCharacter;
|
|
347
|
-
this.searchColumn(firstColumn, value);
|
|
348
|
-
/**
|
|
349
|
-
* If only checked the first value,
|
|
350
|
-
* we can check the second value
|
|
351
|
-
* for a match in the minutes column
|
|
352
|
-
*/
|
|
353
|
-
if (value.length === 1) {
|
|
354
|
-
minuteValue = inputEl.value.substring(inputEl.value.length - 1);
|
|
355
|
-
this.searchColumn(lastColumn, minuteValue, 'end');
|
|
356
|
-
}
|
|
357
|
-
break;
|
|
358
|
-
case 3:
|
|
359
|
-
/**
|
|
360
|
-
* If the first character is `0` or `1` it is
|
|
361
|
-
* possible that users are trying to type `09`
|
|
362
|
-
* or `11` into the hour field, so we should look
|
|
363
|
-
* at that first.
|
|
364
|
-
*/
|
|
365
|
-
const firstCharacterAgain = inputEl.value.substring(0, 1);
|
|
366
|
-
value =
|
|
367
|
-
firstCharacterAgain === '0' || firstCharacterAgain === '1'
|
|
368
|
-
? inputEl.value.substring(0, 2)
|
|
369
|
-
: firstCharacterAgain;
|
|
370
|
-
this.searchColumn(firstColumn, value);
|
|
371
|
-
/**
|
|
372
|
-
* If only checked the first value,
|
|
373
|
-
* we can check the second value
|
|
374
|
-
* for a match in the minutes column
|
|
375
|
-
*/
|
|
376
|
-
minuteValue = value.length === 1 ? inputEl.value.substring(1) : inputEl.value.substring(2);
|
|
377
|
-
this.searchColumn(lastColumn, minuteValue, 'end');
|
|
378
|
-
break;
|
|
379
|
-
case 4:
|
|
380
|
-
/**
|
|
381
|
-
* If the first character is `0` or `1` it is
|
|
382
|
-
* possible that users are trying to type `09`
|
|
383
|
-
* or `11` into the hour field, so we should look
|
|
384
|
-
* at that first.
|
|
385
|
-
*/
|
|
386
|
-
const firstCharacterAgainAgain = inputEl.value.substring(0, 1);
|
|
387
|
-
value =
|
|
388
|
-
firstCharacterAgainAgain === '0' || firstCharacterAgainAgain === '1'
|
|
389
|
-
? inputEl.value.substring(0, 2)
|
|
390
|
-
: firstCharacterAgainAgain;
|
|
391
|
-
this.searchColumn(firstColumn, value);
|
|
392
|
-
/**
|
|
393
|
-
* If only checked the first value,
|
|
394
|
-
* we can check the second value
|
|
395
|
-
* for a match in the minutes column
|
|
396
|
-
*/
|
|
397
|
-
const minuteValueAgain = value.length === 1
|
|
398
|
-
? inputEl.value.substring(1, inputEl.value.length)
|
|
399
|
-
: inputEl.value.substring(2, inputEl.value.length);
|
|
400
|
-
this.searchColumn(lastColumn, minuteValueAgain, 'end');
|
|
401
|
-
break;
|
|
402
|
-
default:
|
|
403
|
-
const startIndex = inputEl.value.length - 4;
|
|
404
|
-
const newString = inputEl.value.substring(startIndex);
|
|
405
|
-
inputEl.value = newString;
|
|
406
|
-
this.selectMultiColumn();
|
|
407
|
-
break;
|
|
379
|
+
if (value.length > 4) {
|
|
380
|
+
const startIndex = inputEl.value.length - 4;
|
|
381
|
+
const newString = inputEl.value.substring(startIndex);
|
|
382
|
+
inputEl.value = newString;
|
|
383
|
+
value = newString;
|
|
408
384
|
}
|
|
385
|
+
this.multiColumnSearch(firstColumn, lastColumn, value);
|
|
409
386
|
};
|
|
410
387
|
/**
|
|
411
388
|
* Searches the value of the active column
|
|
@@ -474,7 +451,7 @@ export class Picker {
|
|
|
474
451
|
this.emitInputModeChange();
|
|
475
452
|
}
|
|
476
453
|
render() {
|
|
477
|
-
return (h(Host, { key: '
|
|
454
|
+
return (h(Host, { key: '28f81e4ed44a633178561757c5199c2c98f94b74', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, h("input", { key: 'abb3d1ad25ef63856af7804111175a4d50008bc0', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
|
|
478
455
|
var _a;
|
|
479
456
|
/**
|
|
480
457
|
* The "Enter" key represents
|
|
@@ -489,7 +466,7 @@ export class Picker {
|
|
|
489
466
|
if (ev.key === 'Enter') {
|
|
490
467
|
(_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
|
|
491
468
|
}
|
|
492
|
-
}, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h("div", { key: '
|
|
469
|
+
}, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h("div", { key: '334a5abdc02e6b127c57177f626d7e4ff5526183', class: "picker-before" }), h("div", { key: 'ffd6271931129e88fc7c820e919d684899e420c5', class: "picker-after" }), h("div", { key: '78d1d95fd09e04f154ea59f24a1cece72c47ed7b', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), h("slot", { key: '0bd5b9f875d3c71f6cbbde2054baeb1b0a2e8cd5' })));
|
|
493
470
|
}
|
|
494
471
|
static get is() { return "ion-picker"; }
|
|
495
472
|
static get encapsulation() { return "shadow"; }
|
|
@@ -34,6 +34,19 @@ export class Range {
|
|
|
34
34
|
this.inheritedAttributes = {};
|
|
35
35
|
this.contentEl = null;
|
|
36
36
|
this.initialContentScrollY = true;
|
|
37
|
+
/**
|
|
38
|
+
* Compares two RangeValue inputs to determine if they are different.
|
|
39
|
+
*
|
|
40
|
+
* @param newVal - The new value.
|
|
41
|
+
* @param oldVal - The old value.
|
|
42
|
+
* @returns `true` if the values are different, `false` otherwise.
|
|
43
|
+
*/
|
|
44
|
+
this.compareValues = (newVal, oldVal) => {
|
|
45
|
+
if (typeof newVal === 'object' && typeof oldVal === 'object') {
|
|
46
|
+
return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
|
|
47
|
+
}
|
|
48
|
+
return newVal !== oldVal;
|
|
49
|
+
};
|
|
37
50
|
this.clampBounds = (value) => {
|
|
38
51
|
return clamp(this.min, value, this.max);
|
|
39
52
|
};
|
|
@@ -167,7 +180,11 @@ export class Range {
|
|
|
167
180
|
this.gesture.enable(!this.disabled);
|
|
168
181
|
}
|
|
169
182
|
}
|
|
170
|
-
valueChanged() {
|
|
183
|
+
valueChanged(newValue, oldValue) {
|
|
184
|
+
const valuesChanged = this.compareValues(newValue, oldValue);
|
|
185
|
+
if (valuesChanged) {
|
|
186
|
+
this.ionInput.emit({ value: this.value });
|
|
187
|
+
}
|
|
171
188
|
if (!this.noUpdate) {
|
|
172
189
|
this.updateRatio();
|
|
173
190
|
}
|
|
@@ -412,7 +429,6 @@ export class Range {
|
|
|
412
429
|
lower: Math.min(valA, valB),
|
|
413
430
|
upper: Math.max(valA, valB),
|
|
414
431
|
};
|
|
415
|
-
this.ionInput.emit({ value: this.value });
|
|
416
432
|
this.noUpdate = false;
|
|
417
433
|
}
|
|
418
434
|
setFocus(knob) {
|
|
@@ -580,7 +596,7 @@ export class Range {
|
|
|
580
596
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
581
597
|
const mode = getIonMode(this);
|
|
582
598
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
583
|
-
return (h(Host, { key: '
|
|
599
|
+
return (h(Host, { key: 'e97cb7eab877eb1624429b4a79107130c6809cf5', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
584
600
|
[mode]: true,
|
|
585
601
|
'in-item': inItem,
|
|
586
602
|
'range-disabled': disabled,
|
|
@@ -589,10 +605,10 @@ export class Range {
|
|
|
589
605
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
590
606
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
591
607
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
592
|
-
}) }, h("label", { key: '
|
|
608
|
+
}) }, h("label", { key: 'a43e9859f74f83460439efefccb5fbb9f387c9ee', class: "range-wrapper", id: "range-label" }, h("div", { key: '75352a30f30dbd0228c6138eb4324a5c021dbb48', class: {
|
|
593
609
|
'label-text-wrapper': true,
|
|
594
610
|
'label-text-wrapper-hidden': !hasLabel,
|
|
595
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
611
|
+
}, 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" })))));
|
|
596
612
|
}
|
|
597
613
|
static get is() { return "ion-range"; }
|
|
598
614
|
static get encapsulation() { return "shadow"; }
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Host, forceUpdate, h } from "@stencil/core";
|
|
5
|
-
import { addEventListener, removeEventListener, inheritAttributes
|
|
5
|
+
import { addEventListener, removeEventListener, inheritAttributes } from "../../utils/helpers";
|
|
6
6
|
import { hostContext } from "../../utils/theme";
|
|
7
7
|
import { getIonMode } from "../../global/ionic-global";
|
|
8
8
|
let ids = 0;
|
|
@@ -39,61 +39,15 @@ export class SegmentButton {
|
|
|
39
39
|
valueChanged() {
|
|
40
40
|
this.updateState();
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
return new Promise((resolve, reject) => {
|
|
44
|
-
let timeoutId = undefined;
|
|
45
|
-
let animationFrameId;
|
|
46
|
-
const check = () => {
|
|
47
|
-
if (!ionSegment) {
|
|
48
|
-
reject(new Error(`Segment not found when looking for Segment Content`));
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const segmentView = getNextSiblingOfType(ionSegment); // Skip the text nodes
|
|
52
|
-
const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
|
|
53
|
-
if (segmentContent && timeoutId) {
|
|
54
|
-
clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
|
|
55
|
-
cancelAnimationFrame(animationFrameId);
|
|
56
|
-
resolve(segmentContent);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
check();
|
|
63
|
-
// Set a timeout to reject the promise
|
|
64
|
-
timeoutId = setTimeout(() => {
|
|
65
|
-
cancelAnimationFrame(animationFrameId);
|
|
66
|
-
reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
|
|
67
|
-
}, 1000);
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
async connectedCallback() {
|
|
42
|
+
connectedCallback() {
|
|
71
43
|
const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
|
|
72
44
|
if (segmentEl) {
|
|
73
45
|
this.updateState();
|
|
74
46
|
addEventListener(segmentEl, 'ionSelect', this.updateState);
|
|
75
47
|
addEventListener(segmentEl, 'ionStyle', this.updateStyle);
|
|
76
48
|
}
|
|
77
|
-
// Return if there is no contentId defined
|
|
78
|
-
if (!this.contentId)
|
|
79
|
-
return;
|
|
80
|
-
let segmentContent;
|
|
81
|
-
try {
|
|
82
|
-
// Attempt to find the Segment Content by its contentId
|
|
83
|
-
segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
// If no associated Segment Content exists, log an error and return
|
|
87
|
-
console.error('Segment Button: ', error.message);
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
91
|
-
if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
|
|
92
|
-
console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
49
|
// Prevent buttons from being disabled when associated with segment content
|
|
96
|
-
if (this.disabled) {
|
|
50
|
+
if (this.contentId && this.disabled) {
|
|
97
51
|
console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
|
|
98
52
|
this.disabled = false;
|
|
99
53
|
}
|
|
@@ -108,6 +62,21 @@ export class SegmentButton {
|
|
|
108
62
|
}
|
|
109
63
|
componentWillLoad() {
|
|
110
64
|
this.inheritedAttributes = Object.assign({}, inheritAttributes(this.el, ['aria-label']));
|
|
65
|
+
// Return if there is no contentId defined
|
|
66
|
+
if (!this.contentId)
|
|
67
|
+
return;
|
|
68
|
+
// Attempt to find the Segment Content by its contentId
|
|
69
|
+
const segmentContent = document.getElementById(this.contentId);
|
|
70
|
+
// If no associated Segment Content exists, log an error and return
|
|
71
|
+
if (!segmentContent) {
|
|
72
|
+
console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
76
|
+
if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
|
|
77
|
+
console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
111
80
|
}
|
|
112
81
|
get hasLabel() {
|
|
113
82
|
return !!this.el.querySelector('ion-label');
|
|
@@ -130,7 +99,7 @@ export class SegmentButton {
|
|
|
130
99
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
131
100
|
const mode = getIonMode(this);
|
|
132
101
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
133
|
-
return (h(Host, { key: '
|
|
102
|
+
return (h(Host, { key: 'f2f679a08b131cd35d63f649b9d1f1907df30a89', class: {
|
|
134
103
|
[mode]: true,
|
|
135
104
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
136
105
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -146,7 +115,7 @@ export class SegmentButton {
|
|
|
146
115
|
'ion-activatable': true,
|
|
147
116
|
'ion-activatable-instant': true,
|
|
148
117
|
'ion-focusable': true,
|
|
149
|
-
} }, h("button", Object.assign({ key: '
|
|
118
|
+
} }, 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" }))));
|
|
150
119
|
}
|
|
151
120
|
static get is() { return "ion-segment-button"; }
|
|
152
121
|
static get encapsulation() { return "shadow"; }
|
|
@@ -3,4 +3,13 @@
|
|
|
3
3
|
scroll-snap-stop: always;
|
|
4
4
|
flex-shrink: 0;
|
|
5
5
|
width: 100%;
|
|
6
|
+
overflow-y: scroll;
|
|
7
|
+
/* Hide scrollbar in Firefox */
|
|
8
|
+
scrollbar-width: none;
|
|
9
|
+
/* Hide scrollbar in IE and Edge */
|
|
10
|
+
-ms-overflow-style: none;
|
|
11
|
+
/* Hide scrollbar in webkit */
|
|
12
|
+
}
|
|
13
|
+
:host::-webkit-scrollbar {
|
|
14
|
+
display: none;
|
|
6
15
|
}
|
|
@@ -336,16 +336,6 @@ export const shallowEqualStringMap = (map1, map2) => {
|
|
|
336
336
|
}
|
|
337
337
|
return true;
|
|
338
338
|
};
|
|
339
|
-
export const getNextSiblingOfType = (element) => {
|
|
340
|
-
let sibling = element.nextSibling;
|
|
341
|
-
while (sibling) {
|
|
342
|
-
if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
|
|
343
|
-
return sibling;
|
|
344
|
-
}
|
|
345
|
-
sibling = sibling.nextSibling;
|
|
346
|
-
}
|
|
347
|
-
return null;
|
|
348
|
-
};
|
|
349
339
|
/**
|
|
350
340
|
* Checks input for usable number. Not NaN and not Infinite.
|
|
351
341
|
*/
|
|
@@ -437,8 +437,8 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
|
|
|
437
437
|
*/
|
|
438
438
|
if (overlay.el.tagName !== 'ION-TOAST') {
|
|
439
439
|
setRootAriaHidden(true);
|
|
440
|
+
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
440
441
|
}
|
|
441
|
-
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
442
442
|
hideUnderlyingOverlaysFromScreenReaders(overlay.el);
|
|
443
443
|
hideAnimatingOverlayFromScreenReaders(overlay.el);
|
|
444
444
|
overlay.presented = true;
|
|
@@ -542,6 +542,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
|
|
|
542
542
|
if (!overlay.presented) {
|
|
543
543
|
return false;
|
|
544
544
|
}
|
|
545
|
+
const presentedOverlays = doc !== undefined ? getPresentedOverlays(doc) : [];
|
|
545
546
|
/**
|
|
546
547
|
* For accessibility, toasts lack focus traps and don’t receive
|
|
547
548
|
* `aria-hidden` on the root element when presented.
|
|
@@ -553,7 +554,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
|
|
|
553
554
|
* Therefore, we must remove `aria-hidden` from the root element
|
|
554
555
|
* when the last non-toast overlay is dismissed.
|
|
555
556
|
*/
|
|
556
|
-
const overlaysNotToast =
|
|
557
|
+
const overlaysNotToast = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST');
|
|
557
558
|
const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
|
|
558
559
|
/**
|
|
559
560
|
* If this is the last visible overlay that is not a toast
|
package/dist/docs.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { c as componentOnReady } from './helpers-
|
|
4
|
+
import { c as componentOnReady } from './helpers-78efeec3.js';
|
|
5
5
|
|
|
6
6
|
// TODO(FW-2832): types
|
|
7
7
|
const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
|