@ionic/core 8.4.4-dev.11741206641.18dd4e91 → 8.4.4-dev.11741222721.14322935
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 +5 -37
- package/components/helpers.js +11 -1
- package/components/index9.js +1 -1
- package/components/ion-input.js +2 -2
- package/components/ion-segment-button.js +40 -9
- package/components/ion-select.js +39 -12
- package/components/ion-textarea.js +2 -2
- package/dist/cjs/{framework-delegate-55f5683a.js → framework-delegate-05579976.js} +1 -1
- package/dist/cjs/{helpers-afaa9001.js → helpers-4be3f90d.js} +11 -0
- package/dist/cjs/{index-3652c918.js → index-0ff61d0b.js} +1 -1
- package/dist/cjs/{index-e975c92b.js → index-26bb7e42.js} +3 -3
- package/dist/cjs/{index-0d762bba.js → index-6770fc00.js} +1 -1
- package/dist/cjs/{index-9509ecad.js → index-ad7a712e.js} +1 -1
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/{input-shims-cd05268a.js → input-shims-fd997b01.js} +2 -2
- package/dist/cjs/{input.utils-ffb2f81b.js → input.utils-c15a1814.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 +6 -36
- package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
- 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 +5 -5
- 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 +1 -1
- 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 +2 -2
- 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_2.cjs.entry.js +40 -9
- package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
- package/dist/cjs/ion-select_3.cjs.entry.js +42 -15
- 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 +5 -5
- package/dist/cjs/ion-toast.cjs.entry.js +3 -3
- package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-0e664e88.js → ios.transition-a4f35c55.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-2e8aef2c.js → md.transition-cdf904e6.js} +2 -2
- package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-a0c464d1.js} +1 -1
- package/dist/cjs/{overlays-65fdaff6.js → overlays-86695cf1.js} +2 -2
- package/dist/cjs/{status-tap-d74f1429.js → status-tap-1a2485c1.js} +2 -2
- package/dist/cjs/{swipe-back-0303a5e4.js → swipe-back-47a52b83.js} +1 -1
- package/dist/collection/components/checkbox/checkbox.ios.css +15 -52
- package/dist/collection/components/checkbox/checkbox.js +3 -70
- package/dist/collection/components/checkbox/checkbox.md.css +15 -52
- package/dist/collection/components/input/input.ios.css +3 -2
- package/dist/collection/components/input/input.md.css +7 -2
- package/dist/collection/components/segment-button/segment-button.js +40 -9
- package/dist/collection/components/select/select.js +38 -11
- package/dist/collection/components/textarea/textarea.ios.css +3 -2
- package/dist/collection/components/textarea/textarea.md.css +7 -2
- package/dist/collection/utils/helpers.js +10 -0
- package/dist/docs.json +1 -73
- package/dist/esm/{framework-delegate-63d1a679.js → framework-delegate-f683816e.js} +1 -1
- package/dist/esm/{helpers-da915de8.js → helpers-9b49d7d2.js} +11 -1
- package/dist/esm/{index-79b30591.js → index-5a0f5fd0.js} +1 -1
- package/dist/esm/{index-2f7fde3d.js → index-6a5baab0.js} +3 -3
- package/dist/esm/{index-cb21eccb.js → index-7105cd59.js} +1 -1
- package/dist/esm/{index-efb8ecdf.js → index-dd0f7395.js} +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/{input-shims-2fd7c6ef.js → input-shims-dff819a9.js} +2 -2
- package/dist/esm/{input.utils-961c9f17.js → input.utils-2f1029cf.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 +6 -36
- package/dist/esm/ion-datetime-button.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +3 -3
- 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 +5 -5
- 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 +1 -1
- 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 +2 -2
- 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_2.entry.js +40 -9
- package/dist/esm/ion-select-modal.entry.js +3 -3
- package/dist/esm/ion-select_3.entry.js +42 -15
- 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 +5 -5
- package/dist/esm/ion-toast.entry.js +3 -3
- package/dist/esm/ion-toggle.entry.js +1 -1
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-b1da3753.js → ios.transition-314468a2.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-571b3859.js → md.transition-a560e0e2.js} +2 -2
- package/dist/esm/{notch-controller-55b09e11.js → notch-controller-3dc61260.js} +1 -1
- package/dist/esm/{overlays-5deab4de.js → overlays-9a81f230.js} +2 -2
- package/dist/esm/{status-tap-79eac0ac.js → status-tap-d07dbc82.js} +2 -2
- package/dist/esm/{swipe-back-e5394307.js → swipe-back-23ee7ab1.js} +1 -1
- package/dist/esm-es5/{framework-delegate-63d1a679.js → framework-delegate-f683816e.js} +1 -1
- package/dist/esm-es5/{helpers-da915de8.js → helpers-9b49d7d2.js} +1 -1
- package/dist/esm-es5/{index-79b30591.js → index-5a0f5fd0.js} +1 -1
- package/dist/esm-es5/{index-2f7fde3d.js → index-6a5baab0.js} +1 -1
- package/dist/esm-es5/{index-cb21eccb.js → index-7105cd59.js} +1 -1
- package/dist/esm-es5/{index-efb8ecdf.js → index-dd0f7395.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{input-shims-2fd7c6ef.js → input-shims-dff819a9.js} +1 -1
- package/dist/esm-es5/{input.utils-961c9f17.js → input.utils-2f1029cf.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_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/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-b1da3753.js → ios.transition-314468a2.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-a560e0e2.js +4 -0
- package/dist/esm-es5/{notch-controller-55b09e11.js → notch-controller-3dc61260.js} +1 -1
- package/dist/esm-es5/{overlays-5deab4de.js → overlays-9a81f230.js} +1 -1
- package/dist/esm-es5/{status-tap-79eac0ac.js → status-tap-d07dbc82.js} +1 -1
- package/dist/esm-es5/{swipe-back-e5394307.js → swipe-back-23ee7ab1.js} +1 -1
- package/dist/html.html-data.json +0 -8
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-937a7e21.entry.js → p-02e23f26.entry.js} +1 -1
- package/dist/ionic/{p-9b428d25.entry.js → p-037fc3f3.entry.js} +1 -1
- package/dist/ionic/p-04e08129.entry.js +4 -0
- package/dist/ionic/{p-b3c60433.system.js → p-058e61eb.system.js} +1 -1
- package/dist/ionic/{p-bdf2cb2e.system.entry.js → p-0bfffa34.system.entry.js} +1 -1
- package/dist/ionic/{p-7ed1657c.system.entry.js → p-0eb2553a.system.entry.js} +1 -1
- package/dist/ionic/{p-9b122e3c.system.entry.js → p-10327ad2.system.entry.js} +1 -1
- package/dist/ionic/{p-f63c2d12.entry.js → p-155c2bb0.entry.js} +1 -1
- package/dist/ionic/{p-a8f2c254.entry.js → p-155f4d90.entry.js} +1 -1
- package/dist/ionic/{p-2346ab53.system.entry.js → p-18e101b7.system.entry.js} +1 -1
- package/dist/ionic/p-1f405274.js +4 -0
- package/dist/ionic/p-21227121.js +4 -0
- package/dist/ionic/{p-7513b0c4.js → p-22149a4f.js} +1 -1
- package/dist/ionic/{p-2b838f86.system.entry.js → p-2515cb4d.system.entry.js} +1 -1
- package/dist/ionic/{p-de930745.entry.js → p-265939f0.entry.js} +1 -1
- package/dist/ionic/{p-34b11c24.js → p-2bc73fb5.js} +1 -1
- package/dist/ionic/p-2c9eb774.system.js +4 -0
- package/dist/ionic/{p-61db139d.entry.js → p-2cbe5399.entry.js} +1 -1
- package/dist/ionic/{p-2e46590d.system.entry.js → p-2ef3c7ee.system.entry.js} +1 -1
- package/dist/ionic/{p-cba1f9bc.system.entry.js → p-31a6efce.system.entry.js} +1 -1
- package/dist/ionic/p-322c5fb4.system.js +1 -1
- package/dist/ionic/{p-0430c2e0.entry.js → p-34479cfb.entry.js} +1 -1
- package/dist/ionic/p-346b2baf.js +4 -0
- package/dist/ionic/{p-b1eb86fd.entry.js → p-36c448fe.entry.js} +1 -1
- package/dist/ionic/{p-1ab13b2b.js → p-39dd4f62.js} +1 -1
- package/dist/ionic/p-3e99e3e0.entry.js +4 -0
- package/dist/ionic/p-4129228f.system.entry.js +4 -0
- package/dist/ionic/{p-9df2c6fb.entry.js → p-41780810.entry.js} +1 -1
- package/dist/ionic/{p-577bc414.entry.js → p-42c9deb1.entry.js} +1 -1
- package/dist/ionic/{p-a15ddedb.system.js → p-4452a8ac.system.js} +1 -1
- package/dist/ionic/{p-933727f9.system.entry.js → p-484d855b.system.entry.js} +2 -2
- package/dist/ionic/{p-52d7a191.entry.js → p-4ad78edc.entry.js} +1 -1
- package/dist/ionic/{p-28706c6f.js → p-4d3a5f86.js} +1 -1
- package/dist/ionic/{p-6933c482.system.entry.js → p-4d413973.system.entry.js} +1 -1
- package/dist/ionic/{p-74e3f0af.system.entry.js → p-5010643d.system.entry.js} +2 -2
- package/dist/ionic/{p-19ea7bff.system.js → p-5126cf1e.system.js} +1 -1
- package/dist/ionic/p-52245809.js +4 -0
- package/dist/ionic/p-56da53ad.system.entry.js +4 -0
- package/dist/ionic/{p-a88dec0d.system.js → p-578efda4.system.js} +1 -1
- package/dist/ionic/{p-a0eb506c.system.entry.js → p-5882bffa.system.entry.js} +1 -1
- package/dist/ionic/{p-a3db8ee3.js → p-5c9324c6.js} +1 -1
- package/dist/ionic/{p-6d6cedc5.entry.js → p-6190d0d6.entry.js} +1 -1
- package/dist/ionic/{p-ab674093.system.entry.js → p-63c09585.system.entry.js} +1 -1
- package/dist/ionic/{p-585b455c.system.entry.js → p-65346408.system.entry.js} +1 -1
- package/dist/ionic/{p-a4a2420e.system.entry.js → p-655723eb.system.entry.js} +1 -1
- package/dist/ionic/{p-120fb79a.entry.js → p-70af0afb.entry.js} +1 -1
- package/dist/ionic/{p-7ddc46c3.system.entry.js → p-70ccc275.system.entry.js} +1 -1
- package/dist/ionic/p-712fedc9.entry.js +4 -0
- package/dist/ionic/{p-5c9eb9af.entry.js → p-72ec9a26.entry.js} +1 -1
- package/dist/ionic/{p-0eb35a7f.system.js → p-73897169.system.js} +1 -1
- package/dist/ionic/{p-98ff6b32.entry.js → p-76446a85.entry.js} +1 -1
- package/dist/ionic/{p-98231c01.system.entry.js → p-77e7b7b6.system.entry.js} +1 -1
- package/dist/ionic/{p-72812e99.js → p-7a1766d6.js} +1 -1
- package/dist/ionic/{p-9f364443.system.entry.js → p-7ae680ba.system.entry.js} +1 -1
- package/dist/ionic/{p-16188af7.entry.js → p-7b98cebe.entry.js} +1 -1
- package/dist/ionic/{p-fceec762.entry.js → p-80c6d619.entry.js} +1 -1
- package/dist/ionic/{p-1e67b266.system.entry.js → p-84d08aae.system.entry.js} +1 -1
- package/dist/ionic/{p-7de1e42c.system.js → p-860eb968.system.js} +1 -1
- package/dist/ionic/{p-7a02f476.entry.js → p-8818edd8.entry.js} +1 -1
- package/dist/ionic/{p-c4238c12.system.js → p-8e407469.system.js} +1 -1
- package/dist/ionic/{p-567de071.system.entry.js → p-92365bc1.system.entry.js} +1 -1
- package/dist/ionic/{p-f1120724.system.entry.js → p-93e3654c.system.entry.js} +1 -1
- package/dist/ionic/{p-d7aa6b00.entry.js → p-955c3eb8.entry.js} +1 -1
- package/dist/ionic/{p-8635f5e6.system.js → p-95da3ae2.system.js} +1 -1
- package/dist/ionic/{p-b6efeab8.js → p-990630ca.js} +1 -1
- package/dist/ionic/{p-92763d3d.entry.js → p-9962f63f.entry.js} +1 -1
- package/dist/ionic/p-9a100adc.entry.js +4 -0
- package/dist/ionic/{p-b9d7015f.entry.js → p-9b3bb24e.entry.js} +1 -1
- package/dist/ionic/{p-f1060cd8.entry.js → p-9de5c787.entry.js} +1 -1
- package/dist/ionic/{p-e3171ff3.entry.js → p-a18470c6.entry.js} +1 -1
- package/dist/ionic/{p-e06057c9.entry.js → p-a5b31c0f.entry.js} +1 -1
- package/dist/ionic/{p-01186920.system.entry.js → p-a9e24ae2.system.entry.js} +1 -1
- package/dist/ionic/{p-5c08627a.system.js → p-acb30a5c.system.js} +1 -1
- package/dist/ionic/p-acc8399c.system.entry.js +4 -0
- package/dist/ionic/p-af09741c.entry.js +4 -0
- package/dist/ionic/{p-d22e2a38.system.js → p-af452fa4.system.js} +1 -1
- package/dist/ionic/{p-e09d6392.system.entry.js → p-af744710.system.entry.js} +1 -1
- package/dist/ionic/{p-3ad285e3.system.js → p-b3680e2f.system.js} +1 -1
- package/dist/ionic/p-b936eb7e.system.entry.js +4 -0
- package/dist/ionic/{p-b51e4004.js → p-bb11d9fb.js} +1 -1
- package/dist/ionic/{p-081a4ce4.entry.js → p-bb2a6761.entry.js} +1 -1
- package/dist/ionic/{p-948e6c6a.entry.js → p-bc616455.entry.js} +1 -1
- package/dist/ionic/{p-bb0db172.entry.js → p-c32644d7.entry.js} +1 -1
- package/dist/ionic/{p-4c98e2cf.system.js → p-c3802319.system.js} +1 -1
- package/dist/ionic/{p-c41ac815.entry.js → p-c8d645b3.entry.js} +1 -1
- package/dist/ionic/{p-f1c4dcd4.js → p-c935cfc9.js} +1 -1
- package/dist/ionic/{p-6dfb0f39.system.entry.js → p-d1172fe3.system.entry.js} +1 -1
- package/dist/ionic/{p-3cc276f4.js → p-d4ca0475.js} +1 -1
- package/dist/ionic/{p-7a6eaf9e.entry.js → p-d7bb5325.entry.js} +1 -1
- package/dist/ionic/{p-a090bce8.system.entry.js → p-d821466d.system.entry.js} +1 -1
- package/dist/ionic/{p-ada36597.system.js → p-d99e8644.system.js} +1 -1
- package/dist/ionic/{p-58d5df0c.system.entry.js → p-da8ef548.system.entry.js} +1 -1
- package/dist/ionic/{p-985a7e17.system.entry.js → p-dc146a2a.system.entry.js} +1 -1
- package/dist/ionic/{p-cac0e0b3.system.entry.js → p-dd0c9350.system.entry.js} +1 -1
- package/dist/ionic/p-df862603.entry.js +4 -0
- package/dist/ionic/{p-2172893e.system.entry.js → p-e2e19375.system.entry.js} +1 -1
- package/dist/ionic/{p-05b74e45.system.entry.js → p-e32557bb.system.entry.js} +1 -1
- package/dist/ionic/{p-2da9c8a7.entry.js → p-e5849f8d.entry.js} +1 -1
- package/dist/ionic/{p-15e76dd1.entry.js → p-e8f34871.entry.js} +1 -1
- package/dist/ionic/{p-d6eaffb1.system.entry.js → p-eeb5cb45.system.entry.js} +2 -2
- package/dist/ionic/{p-744c8672.system.entry.js → p-efbf5af5.system.entry.js} +1 -1
- package/dist/ionic/{p-e6376b93.system.entry.js → p-f2613334.system.entry.js} +1 -1
- package/dist/ionic/{p-e4ee80be.system.entry.js → p-f301a694.system.entry.js} +1 -1
- package/dist/ionic/{p-fbd41a7e.system.entry.js → p-f56752be.system.entry.js} +1 -1
- package/dist/ionic/{p-e76dae93.entry.js → p-f5d6624d.entry.js} +1 -1
- package/dist/ionic/{p-797eeea8.system.entry.js → p-f78af648.system.entry.js} +1 -1
- package/dist/ionic/{p-63b0abde.system.entry.js → p-f89cf011.system.entry.js} +1 -1
- package/dist/ionic/p-fbf86e62.system.js +4 -0
- package/dist/ionic/{p-7b9a2b23.entry.js → p-fca17935.entry.js} +1 -1
- package/dist/ionic/{p-eef505e8.entry.js → p-fec13c57.entry.js} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +0 -19
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components.d.ts +0 -16
- package/dist/types/utils/helpers.d.ts +1 -0
- package/hydrate/index.js +96 -63
- package/hydrate/index.mjs +96 -63
- package/package.json +2 -2
- package/dist/esm-es5/md.transition-571b3859.js +0 -4
- package/dist/ionic/p-0af823e1.js +0 -4
- package/dist/ionic/p-1132ffee.entry.js +0 -4
- package/dist/ionic/p-15d18206.entry.js +0 -4
- package/dist/ionic/p-248318e0.system.entry.js +0 -4
- package/dist/ionic/p-302b50bb.system.entry.js +0 -4
- package/dist/ionic/p-4c2d5b80.system.js +0 -4
- package/dist/ionic/p-4ec778aa.entry.js +0 -4
- package/dist/ionic/p-72bc8a1c.js +0 -4
- package/dist/ionic/p-8694928f.entry.js +0 -4
- package/dist/ionic/p-9343a445.js +0 -4
- package/dist/ionic/p-c4b53b16.system.entry.js +0 -4
- package/dist/ionic/p-cb13696c.js +0 -4
- package/dist/ionic/p-cdc83025.entry.js +0 -4
- package/dist/ionic/p-d1c5b60e.system.js +0 -4
- package/dist/ionic/p-d7dd8fb1.entry.js +0 -4
- package/dist/ionic/p-e4fde4fb.system.entry.js +0 -4
|
@@ -13,15 +13,10 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
13
13
|
* @part container - The container for the checkbox mark.
|
|
14
14
|
* @part label - The label text describing the checkbox.
|
|
15
15
|
* @part mark - The checkmark used to indicate the checked state.
|
|
16
|
-
* @part supporting-text - Supporting text displayed beneath the checkbox label.
|
|
17
|
-
* @part helper-text - Supporting text displayed beneath the checkbox label when the checkbox is valid.
|
|
18
|
-
* @part error-text - Supporting text displayed beneath the checkbox label when the checkbox is invalid and touched.
|
|
19
16
|
*/
|
|
20
17
|
export class Checkbox {
|
|
21
18
|
constructor() {
|
|
22
19
|
this.inputId = `ion-cb-${checkboxIds++}`;
|
|
23
|
-
this.helperTextId = `${this.inputId}-helper-text`;
|
|
24
|
-
this.errorTextId = `${this.inputId}-error-text`;
|
|
25
20
|
this.inheritedAttributes = {};
|
|
26
21
|
/**
|
|
27
22
|
* Sets the checked property and emits
|
|
@@ -59,8 +54,6 @@ export class Checkbox {
|
|
|
59
54
|
this.checked = false;
|
|
60
55
|
this.indeterminate = false;
|
|
61
56
|
this.disabled = false;
|
|
62
|
-
this.errorText = undefined;
|
|
63
|
-
this.helperText = undefined;
|
|
64
57
|
this.value = 'on';
|
|
65
58
|
this.labelPlacement = 'start';
|
|
66
59
|
this.justify = undefined;
|
|
@@ -76,38 +69,12 @@ export class Checkbox {
|
|
|
76
69
|
this.focusEl.focus();
|
|
77
70
|
}
|
|
78
71
|
}
|
|
79
|
-
getHintTextID() {
|
|
80
|
-
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
81
|
-
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
82
|
-
return errorTextId;
|
|
83
|
-
}
|
|
84
|
-
if (helperText) {
|
|
85
|
-
return helperTextId;
|
|
86
|
-
}
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Responsible for rendering helper text and error text.
|
|
91
|
-
* This element should only be rendered if hint text is set.
|
|
92
|
-
*/
|
|
93
|
-
renderHintText() {
|
|
94
|
-
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
95
|
-
/**
|
|
96
|
-
* undefined and empty string values should
|
|
97
|
-
* be treated as not having helper/error text.
|
|
98
|
-
*/
|
|
99
|
-
const hasHintText = !!helperText || !!errorText;
|
|
100
|
-
if (!hasHintText) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
return (h("div", { class: "checkbox-bottom" }, h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text" }, helperText), h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text" }, errorText)));
|
|
104
|
-
}
|
|
105
72
|
render() {
|
|
106
73
|
const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
|
|
107
74
|
const mode = getIonMode(this);
|
|
108
75
|
const path = getSVGPath(mode, indeterminate);
|
|
109
76
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
110
|
-
return (h(Host, { key: '
|
|
77
|
+
return (h(Host, { key: '07a5884062dd256b570e856270c74a5a09d2f2a5', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
|
|
111
78
|
[mode]: true,
|
|
112
79
|
'in-item': hostContext('ion-item', el),
|
|
113
80
|
'checkbox-checked': checked,
|
|
@@ -117,10 +84,10 @@ export class Checkbox {
|
|
|
117
84
|
[`checkbox-justify-${justify}`]: justify !== undefined,
|
|
118
85
|
[`checkbox-alignment-${alignment}`]: alignment !== undefined,
|
|
119
86
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
120
|
-
}), onClick: this.onClick }, h("label", { key: '
|
|
87
|
+
}), onClick: this.onClick }, h("label", { key: '3439d546e8b60187421db698eab63a0bdd31c973', class: "checkbox-wrapper" }, h("input", Object.assign({ key: '9f45cf7dbdedcf01ec132c11e16979adb1aa102f', 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: '4e882f98939cc4b7c7ab7459c751d3f4bb2023fe', class: {
|
|
121
88
|
'label-text-wrapper': true,
|
|
122
89
|
'label-text-wrapper-hidden': el.textContent === '',
|
|
123
|
-
}, part: "label" }, h("slot", { key: '
|
|
90
|
+
}, part: "label" }, h("slot", { key: '0abda81297a086d02c4a56af75005547971dfcfe' })), h("div", { key: '36489ea3f48a7d0ec46b77c243f9f253ef5c2b3b', class: "native-wrapper" }, h("svg", { key: '4c53b52f5e93752672a34eb6f180b75fa9af9046', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
|
|
124
91
|
}
|
|
125
92
|
getSVGPath(mode, indeterminate) {
|
|
126
93
|
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" }));
|
|
@@ -240,40 +207,6 @@ export class Checkbox {
|
|
|
240
207
|
"reflect": false,
|
|
241
208
|
"defaultValue": "false"
|
|
242
209
|
},
|
|
243
|
-
"errorText": {
|
|
244
|
-
"type": "string",
|
|
245
|
-
"mutable": false,
|
|
246
|
-
"complexType": {
|
|
247
|
-
"original": "string",
|
|
248
|
-
"resolved": "string | undefined",
|
|
249
|
-
"references": {}
|
|
250
|
-
},
|
|
251
|
-
"required": false,
|
|
252
|
-
"optional": true,
|
|
253
|
-
"docs": {
|
|
254
|
-
"tags": [],
|
|
255
|
-
"text": "Text that is placed under the checkbox label and displayed when an error is detected."
|
|
256
|
-
},
|
|
257
|
-
"attribute": "error-text",
|
|
258
|
-
"reflect": false
|
|
259
|
-
},
|
|
260
|
-
"helperText": {
|
|
261
|
-
"type": "string",
|
|
262
|
-
"mutable": false,
|
|
263
|
-
"complexType": {
|
|
264
|
-
"original": "string",
|
|
265
|
-
"resolved": "string | undefined",
|
|
266
|
-
"references": {}
|
|
267
|
-
},
|
|
268
|
-
"required": false,
|
|
269
|
-
"optional": true,
|
|
270
|
-
"docs": {
|
|
271
|
-
"tags": [],
|
|
272
|
-
"text": "Text that is placed under the checkbox label and displayed when no error is detected."
|
|
273
|
-
},
|
|
274
|
-
"attribute": "helper-text",
|
|
275
|
-
"reflect": false
|
|
276
|
-
},
|
|
277
210
|
"value": {
|
|
278
211
|
"type": "any",
|
|
279
212
|
"mutable": false,
|
|
@@ -189,39 +189,32 @@ input {
|
|
|
189
189
|
opacity: 0;
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
.checkbox-
|
|
193
|
-
padding-top: 4px;
|
|
194
|
-
display: flex;
|
|
192
|
+
:host(.checkbox-justify-space-between) .checkbox-wrapper {
|
|
195
193
|
justify-content: space-between;
|
|
196
|
-
font-size: 0.75rem;
|
|
197
|
-
white-space: normal;
|
|
198
194
|
}
|
|
199
195
|
|
|
200
|
-
:host(.checkbox-
|
|
201
|
-
|
|
196
|
+
:host(.checkbox-justify-start) .checkbox-wrapper {
|
|
197
|
+
justify-content: start;
|
|
202
198
|
}
|
|
203
199
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
* present on the checkbox. Otherwise the helper text should
|
|
207
|
-
* be shown.
|
|
208
|
-
*/
|
|
209
|
-
.checkbox-bottom .error-text {
|
|
210
|
-
display: none;
|
|
211
|
-
color: var(--ion-color-danger, #c5000f);
|
|
200
|
+
:host(.checkbox-justify-end) .checkbox-wrapper {
|
|
201
|
+
justify-content: end;
|
|
212
202
|
}
|
|
213
203
|
|
|
214
|
-
.checkbox-
|
|
215
|
-
|
|
216
|
-
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
204
|
+
:host(.checkbox-alignment-start) .checkbox-wrapper {
|
|
205
|
+
align-items: start;
|
|
217
206
|
}
|
|
218
207
|
|
|
219
|
-
:host(.
|
|
220
|
-
|
|
208
|
+
:host(.checkbox-alignment-center) .checkbox-wrapper {
|
|
209
|
+
align-items: center;
|
|
221
210
|
}
|
|
222
211
|
|
|
223
|
-
:host(.
|
|
224
|
-
|
|
212
|
+
:host(.checkbox-justify-space-between),
|
|
213
|
+
:host(.checkbox-justify-start),
|
|
214
|
+
:host(.checkbox-justify-end),
|
|
215
|
+
:host(.checkbox-alignment-start),
|
|
216
|
+
:host(.checkbox-alignment-center) {
|
|
217
|
+
display: block;
|
|
225
218
|
}
|
|
226
219
|
|
|
227
220
|
/**
|
|
@@ -250,7 +243,6 @@ input {
|
|
|
250
243
|
*/
|
|
251
244
|
:host(.checkbox-label-placement-end) .checkbox-wrapper {
|
|
252
245
|
flex-direction: row-reverse;
|
|
253
|
-
justify-content: start;
|
|
254
246
|
}
|
|
255
247
|
|
|
256
248
|
/**
|
|
@@ -293,7 +285,6 @@ input {
|
|
|
293
285
|
*/
|
|
294
286
|
:host(.checkbox-label-placement-stacked) .checkbox-wrapper {
|
|
295
287
|
flex-direction: column;
|
|
296
|
-
text-align: center;
|
|
297
288
|
}
|
|
298
289
|
|
|
299
290
|
:host(.checkbox-label-placement-stacked) .label-text-wrapper {
|
|
@@ -339,34 +330,6 @@ input {
|
|
|
339
330
|
}
|
|
340
331
|
}
|
|
341
332
|
|
|
342
|
-
:host(.checkbox-justify-space-between) .checkbox-wrapper {
|
|
343
|
-
justify-content: space-between;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
:host(.checkbox-justify-start) .checkbox-wrapper {
|
|
347
|
-
justify-content: start;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
:host(.checkbox-justify-end) .checkbox-wrapper {
|
|
351
|
-
justify-content: end;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
:host(.checkbox-alignment-start) .checkbox-wrapper {
|
|
355
|
-
align-items: start;
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
:host(.checkbox-alignment-center) .checkbox-wrapper {
|
|
359
|
-
align-items: center;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
:host(.checkbox-justify-space-between),
|
|
363
|
-
:host(.checkbox-justify-start),
|
|
364
|
-
:host(.checkbox-justify-end),
|
|
365
|
-
:host(.checkbox-alignment-start),
|
|
366
|
-
:host(.checkbox-alignment-center) {
|
|
367
|
-
display: block;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
333
|
:host(.checkbox-checked) .checkbox-icon,
|
|
371
334
|
:host(.checkbox-indeterminate) .checkbox-icon {
|
|
372
335
|
border-color: var(--border-color-checked);
|
|
@@ -311,6 +311,7 @@
|
|
|
311
311
|
justify-content: space-between;
|
|
312
312
|
border-top: var(--border-width) var(--border-style) var(--border-color);
|
|
313
313
|
font-size: 0.75rem;
|
|
314
|
+
white-space: normal;
|
|
314
315
|
}
|
|
315
316
|
|
|
316
317
|
/**
|
|
@@ -340,7 +341,7 @@
|
|
|
340
341
|
|
|
341
342
|
.input-bottom .helper-text {
|
|
342
343
|
display: block;
|
|
343
|
-
color: var(--ion-color-step-
|
|
344
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
344
345
|
}
|
|
345
346
|
|
|
346
347
|
:host(.ion-touched.ion-invalid) .input-bottom .error-text {
|
|
@@ -359,7 +360,7 @@
|
|
|
359
360
|
*/
|
|
360
361
|
-webkit-margin-start: auto;
|
|
361
362
|
margin-inline-start: auto;
|
|
362
|
-
color: var(--ion-color-step-
|
|
363
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
363
364
|
white-space: nowrap;
|
|
364
365
|
padding-inline-start: 16px;
|
|
365
366
|
}
|
|
@@ -311,6 +311,7 @@
|
|
|
311
311
|
justify-content: space-between;
|
|
312
312
|
border-top: var(--border-width) var(--border-style) var(--border-color);
|
|
313
313
|
font-size: 0.75rem;
|
|
314
|
+
white-space: normal;
|
|
314
315
|
}
|
|
315
316
|
|
|
316
317
|
/**
|
|
@@ -340,7 +341,7 @@
|
|
|
340
341
|
|
|
341
342
|
.input-bottom .helper-text {
|
|
342
343
|
display: block;
|
|
343
|
-
color: var(--ion-color-step-
|
|
344
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
344
345
|
}
|
|
345
346
|
|
|
346
347
|
:host(.ion-touched.ion-invalid) .input-bottom .error-text {
|
|
@@ -359,7 +360,7 @@
|
|
|
359
360
|
*/
|
|
360
361
|
-webkit-margin-start: auto;
|
|
361
362
|
margin-inline-start: auto;
|
|
362
|
-
color: var(--ion-color-step-
|
|
363
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
363
364
|
white-space: nowrap;
|
|
364
365
|
padding-inline-start: 16px;
|
|
365
366
|
}
|
|
@@ -799,6 +800,10 @@
|
|
|
799
800
|
--border-color: var(--highlight-color);
|
|
800
801
|
}
|
|
801
802
|
|
|
803
|
+
/**
|
|
804
|
+
* The bottom content should never have
|
|
805
|
+
* a border with the solid style.
|
|
806
|
+
*/
|
|
802
807
|
:host(.input-fill-solid) .input-bottom {
|
|
803
808
|
border-top: none;
|
|
804
809
|
}
|
|
@@ -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 } from "../../utils/helpers";
|
|
5
|
+
import { addEventListener, removeEventListener, inheritAttributes, getNextSiblingOfType } from "../../utils/helpers";
|
|
6
6
|
import { hostContext } from "../../utils/theme";
|
|
7
7
|
import { getIonMode } from "../../global/ionic-global";
|
|
8
8
|
let ids = 0;
|
|
@@ -39,7 +39,35 @@ export class SegmentButton {
|
|
|
39
39
|
valueChanged() {
|
|
40
40
|
this.updateState();
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
waitForSegmentContent(ionSegment, contentId) {
|
|
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() {
|
|
43
71
|
const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
|
|
44
72
|
if (segmentEl) {
|
|
45
73
|
this.updateState();
|
|
@@ -49,11 +77,14 @@ export class SegmentButton {
|
|
|
49
77
|
// Return if there is no contentId defined
|
|
50
78
|
if (!this.contentId)
|
|
51
79
|
return;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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);
|
|
57
88
|
return;
|
|
58
89
|
}
|
|
59
90
|
// Ensure the found element is a valid ION-SEGMENT-CONTENT
|
|
@@ -99,7 +130,7 @@ export class SegmentButton {
|
|
|
99
130
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
100
131
|
const mode = getIonMode(this);
|
|
101
132
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
102
|
-
return (h(Host, { key: '
|
|
133
|
+
return (h(Host, { key: 'f9da656c8eccb80e4ef30e3fa977f2dbbefbc988', class: {
|
|
103
134
|
[mode]: true,
|
|
104
135
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
105
136
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -115,7 +146,7 @@ export class SegmentButton {
|
|
|
115
146
|
'ion-activatable': true,
|
|
116
147
|
'ion-activatable-instant': true,
|
|
117
148
|
'ion-focusable': true,
|
|
118
|
-
} }, h("button", Object.assign({ key: '
|
|
149
|
+
} }, h("button", Object.assign({ key: '00dbcdbd81cd74abdd39803f6840a6e477cc7b0c', "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: '5200c082a9c4788010c4fc33fe75e2b2ad28364a', class: "button-inner" }, h("slot", { key: 'cf3fce2b5d22436b84cd4367a5885df7d6a2715f' })), mode === 'md' && h("ion-ripple-effect", { key: 'f1a2816465f4c2c06644be07315bff2da77e2342' })), h("div", { key: 'aaf31c0ed39641fca698ee98d0773131f4eea6bd', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'fc556651361b7ac305aaedd25ea4afe3173abd20', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
119
150
|
}
|
|
120
151
|
static get is() { return "ion-segment-button"; }
|
|
121
152
|
static get encapsulation() { return "shadow"; }
|
|
@@ -154,15 +154,8 @@ export class Select {
|
|
|
154
154
|
}
|
|
155
155
|
this.isExpanded = true;
|
|
156
156
|
const overlay = (this.overlay = await this.createOverlay(event));
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
this.isExpanded = false;
|
|
160
|
-
this.ionDismiss.emit();
|
|
161
|
-
this.setFocus();
|
|
162
|
-
});
|
|
163
|
-
await overlay.present();
|
|
164
|
-
// focus selected option for popovers and modals
|
|
165
|
-
if (this.interface === 'popover' || this.interface === 'modal') {
|
|
157
|
+
// Add logic to scroll selected item into view before presenting
|
|
158
|
+
const scrollSelectedIntoView = () => {
|
|
166
159
|
const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);
|
|
167
160
|
if (indexOfSelected > -1) {
|
|
168
161
|
const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
|
|
@@ -180,6 +173,7 @@ export class Select {
|
|
|
180
173
|
*/
|
|
181
174
|
const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
|
|
182
175
|
if (interactiveEl) {
|
|
176
|
+
selectedItem.scrollIntoView({ block: 'nearest' });
|
|
183
177
|
// Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
|
|
184
178
|
// and removing `ion-focused` style
|
|
185
179
|
interactiveEl.setFocus();
|
|
@@ -203,7 +197,40 @@ export class Select {
|
|
|
203
197
|
focusVisibleElement(firstEnabledOption.closest('ion-item'));
|
|
204
198
|
}
|
|
205
199
|
}
|
|
200
|
+
};
|
|
201
|
+
// For modals and popovers, we can scroll before they're visible
|
|
202
|
+
if (this.interface === 'modal') {
|
|
203
|
+
overlay.addEventListener('ionModalWillPresent', scrollSelectedIntoView, { once: true });
|
|
204
|
+
}
|
|
205
|
+
else if (this.interface === 'popover') {
|
|
206
|
+
overlay.addEventListener('ionPopoverWillPresent', scrollSelectedIntoView, { once: true });
|
|
206
207
|
}
|
|
208
|
+
else {
|
|
209
|
+
/**
|
|
210
|
+
* For alerts and action sheets, we need to wait a frame after willPresent
|
|
211
|
+
* because these overlays don't have their content in the DOM immediately
|
|
212
|
+
* when willPresent fires. By waiting a frame, we ensure the content is
|
|
213
|
+
* rendered and can be properly scrolled into view.
|
|
214
|
+
*/
|
|
215
|
+
const scrollAfterRender = () => {
|
|
216
|
+
requestAnimationFrame(() => {
|
|
217
|
+
scrollSelectedIntoView();
|
|
218
|
+
});
|
|
219
|
+
};
|
|
220
|
+
if (this.interface === 'alert') {
|
|
221
|
+
overlay.addEventListener('ionAlertWillPresent', scrollAfterRender, { once: true });
|
|
222
|
+
}
|
|
223
|
+
else if (this.interface === 'action-sheet') {
|
|
224
|
+
overlay.addEventListener('ionActionSheetWillPresent', scrollAfterRender, { once: true });
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
overlay.onDidDismiss().then(() => {
|
|
228
|
+
this.overlay = undefined;
|
|
229
|
+
this.isExpanded = false;
|
|
230
|
+
this.ionDismiss.emit();
|
|
231
|
+
this.setFocus();
|
|
232
|
+
});
|
|
233
|
+
await overlay.present();
|
|
207
234
|
return overlay;
|
|
208
235
|
}
|
|
209
236
|
createOverlay(ev) {
|
|
@@ -661,7 +688,7 @@ export class Select {
|
|
|
661
688
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
662
689
|
*/
|
|
663
690
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
664
|
-
return (h(Host, { key: '
|
|
691
|
+
return (h(Host, { key: 'f7cf03de773cd85da42978e274d65cc1eb6ed8a3', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
665
692
|
[mode]: true,
|
|
666
693
|
'in-item': inItem,
|
|
667
694
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -677,7 +704,7 @@ export class Select {
|
|
|
677
704
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
678
705
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
679
706
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
680
|
-
}) }, h("label", { key: '
|
|
707
|
+
}) }, h("label", { key: '91674f8f5cce37c87a7096d09b3f1d351cba1527', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '2229333833047db13ed2a01cb10bb6e6f774031d', class: "select-wrapper-inner" }, h("slot", { key: 'f2766bdf8bff261efa5711f72d9edef407e45189', name: "start" }), h("div", { key: '84fec020ecaaac41298a01dbffdbb2f3744170b4', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '9b91237d7a1621bce1e15546abcb4f6b74cccc5f', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'e02aea3e8f344376013257f5261a29408e62b359', class: "select-highlight" }))));
|
|
681
708
|
}
|
|
682
709
|
static get is() { return "ion-select"; }
|
|
683
710
|
static get encapsulation() { return "shadow"; }
|
|
@@ -373,6 +373,7 @@
|
|
|
373
373
|
justify-content: space-between;
|
|
374
374
|
border-top: var(--border-width) var(--border-style) var(--border-color);
|
|
375
375
|
font-size: 0.75rem;
|
|
376
|
+
white-space: normal;
|
|
376
377
|
}
|
|
377
378
|
|
|
378
379
|
/**
|
|
@@ -396,7 +397,7 @@
|
|
|
396
397
|
|
|
397
398
|
.textarea-bottom .helper-text {
|
|
398
399
|
display: block;
|
|
399
|
-
color: var(--ion-color-step-
|
|
400
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
400
401
|
}
|
|
401
402
|
|
|
402
403
|
:host(.ion-touched.ion-invalid) .textarea-bottom .error-text {
|
|
@@ -415,7 +416,7 @@
|
|
|
415
416
|
*/
|
|
416
417
|
-webkit-margin-start: auto;
|
|
417
418
|
margin-inline-start: auto;
|
|
418
|
-
color: var(--ion-color-step-
|
|
419
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
419
420
|
white-space: nowrap;
|
|
420
421
|
padding-inline-start: 16px;
|
|
421
422
|
}
|
|
@@ -373,6 +373,7 @@
|
|
|
373
373
|
justify-content: space-between;
|
|
374
374
|
border-top: var(--border-width) var(--border-style) var(--border-color);
|
|
375
375
|
font-size: 0.75rem;
|
|
376
|
+
white-space: normal;
|
|
376
377
|
}
|
|
377
378
|
|
|
378
379
|
/**
|
|
@@ -396,7 +397,7 @@
|
|
|
396
397
|
|
|
397
398
|
.textarea-bottom .helper-text {
|
|
398
399
|
display: block;
|
|
399
|
-
color: var(--ion-color-step-
|
|
400
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
400
401
|
}
|
|
401
402
|
|
|
402
403
|
:host(.ion-touched.ion-invalid) .textarea-bottom .error-text {
|
|
@@ -415,7 +416,7 @@
|
|
|
415
416
|
*/
|
|
416
417
|
-webkit-margin-start: auto;
|
|
417
418
|
margin-inline-start: auto;
|
|
418
|
-
color: var(--ion-color-step-
|
|
419
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
419
420
|
white-space: nowrap;
|
|
420
421
|
padding-inline-start: 16px;
|
|
421
422
|
}
|
|
@@ -928,6 +929,10 @@
|
|
|
928
929
|
--border-color: var(--highlight-color);
|
|
929
930
|
}
|
|
930
931
|
|
|
932
|
+
/**
|
|
933
|
+
* The bottom content should never have
|
|
934
|
+
* a border with the solid style.
|
|
935
|
+
*/
|
|
931
936
|
:host(.textarea-fill-solid) .textarea-bottom {
|
|
932
937
|
border-top: none;
|
|
933
938
|
}
|
|
@@ -364,3 +364,13 @@ export const shallowEqualStringMap = (map1, map2) => {
|
|
|
364
364
|
}
|
|
365
365
|
return true;
|
|
366
366
|
};
|
|
367
|
+
export const getNextSiblingOfType = (element) => {
|
|
368
|
+
let sibling = element.nextSibling;
|
|
369
|
+
while (sibling) {
|
|
370
|
+
if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
|
|
371
|
+
return sibling;
|
|
372
|
+
}
|
|
373
|
+
sibling = sibling.nextSibling;
|
|
374
|
+
}
|
|
375
|
+
return null;
|
|
376
|
+
};
|
package/dist/docs.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2025-03-
|
|
2
|
+
"timestamp": "2025-03-06T01:00:41",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.20.0",
|
|
@@ -5742,18 +5742,6 @@
|
|
|
5742
5742
|
{
|
|
5743
5743
|
"name": "part",
|
|
5744
5744
|
"text": "mark - The checkmark used to indicate the checked state."
|
|
5745
|
-
},
|
|
5746
|
-
{
|
|
5747
|
-
"name": "part",
|
|
5748
|
-
"text": "supporting-text - Supporting text displayed beneath the checkbox label."
|
|
5749
|
-
},
|
|
5750
|
-
{
|
|
5751
|
-
"name": "part",
|
|
5752
|
-
"text": "helper-text - Supporting text displayed beneath the checkbox label when the checkbox is valid."
|
|
5753
|
-
},
|
|
5754
|
-
{
|
|
5755
|
-
"name": "part",
|
|
5756
|
-
"text": "error-text - Supporting text displayed beneath the checkbox label when the checkbox is invalid and touched."
|
|
5757
5745
|
}
|
|
5758
5746
|
],
|
|
5759
5747
|
"usage": {},
|
|
@@ -5897,54 +5885,6 @@
|
|
|
5897
5885
|
"optional": false,
|
|
5898
5886
|
"required": false
|
|
5899
5887
|
},
|
|
5900
|
-
{
|
|
5901
|
-
"name": "errorText",
|
|
5902
|
-
"type": "string | undefined",
|
|
5903
|
-
"complexType": {
|
|
5904
|
-
"original": "string",
|
|
5905
|
-
"resolved": "string | undefined",
|
|
5906
|
-
"references": {}
|
|
5907
|
-
},
|
|
5908
|
-
"mutable": false,
|
|
5909
|
-
"attr": "error-text",
|
|
5910
|
-
"reflectToAttr": false,
|
|
5911
|
-
"docs": "Text that is placed under the checkbox label and displayed when an error is detected.",
|
|
5912
|
-
"docsTags": [],
|
|
5913
|
-
"values": [
|
|
5914
|
-
{
|
|
5915
|
-
"type": "string"
|
|
5916
|
-
},
|
|
5917
|
-
{
|
|
5918
|
-
"type": "undefined"
|
|
5919
|
-
}
|
|
5920
|
-
],
|
|
5921
|
-
"optional": true,
|
|
5922
|
-
"required": false
|
|
5923
|
-
},
|
|
5924
|
-
{
|
|
5925
|
-
"name": "helperText",
|
|
5926
|
-
"type": "string | undefined",
|
|
5927
|
-
"complexType": {
|
|
5928
|
-
"original": "string",
|
|
5929
|
-
"resolved": "string | undefined",
|
|
5930
|
-
"references": {}
|
|
5931
|
-
},
|
|
5932
|
-
"mutable": false,
|
|
5933
|
-
"attr": "helper-text",
|
|
5934
|
-
"reflectToAttr": false,
|
|
5935
|
-
"docs": "Text that is placed under the checkbox label and displayed when no error is detected.",
|
|
5936
|
-
"docsTags": [],
|
|
5937
|
-
"values": [
|
|
5938
|
-
{
|
|
5939
|
-
"type": "string"
|
|
5940
|
-
},
|
|
5941
|
-
{
|
|
5942
|
-
"type": "undefined"
|
|
5943
|
-
}
|
|
5944
|
-
],
|
|
5945
|
-
"optional": true,
|
|
5946
|
-
"required": false
|
|
5947
|
-
},
|
|
5948
5888
|
{
|
|
5949
5889
|
"name": "indeterminate",
|
|
5950
5890
|
"type": "boolean",
|
|
@@ -6320,14 +6260,6 @@
|
|
|
6320
6260
|
"name": "container",
|
|
6321
6261
|
"docs": "The container for the checkbox mark."
|
|
6322
6262
|
},
|
|
6323
|
-
{
|
|
6324
|
-
"name": "error-text",
|
|
6325
|
-
"docs": "Supporting text displayed beneath the checkbox label when the checkbox is invalid and touched."
|
|
6326
|
-
},
|
|
6327
|
-
{
|
|
6328
|
-
"name": "helper-text",
|
|
6329
|
-
"docs": "Supporting text displayed beneath the checkbox label when the checkbox is valid."
|
|
6330
|
-
},
|
|
6331
6263
|
{
|
|
6332
6264
|
"name": "label",
|
|
6333
6265
|
"docs": "The label text describing the checkbox."
|
|
@@ -6335,10 +6267,6 @@
|
|
|
6335
6267
|
{
|
|
6336
6268
|
"name": "mark",
|
|
6337
6269
|
"docs": "The checkmark used to indicate the checked state."
|
|
6338
|
-
},
|
|
6339
|
-
{
|
|
6340
|
-
"name": "supporting-text",
|
|
6341
|
-
"docs": "Supporting text displayed beneath the checkbox label."
|
|
6342
6270
|
}
|
|
6343
6271
|
],
|
|
6344
6272
|
"dependents": [
|
|
@@ -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-9b49d7d2.js';
|
|
5
5
|
|
|
6
6
|
// TODO(FW-2832): types
|
|
7
7
|
const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
|