@ionic/core 8.8.18 → 8.8.19-dev.11786730389.1a1927bf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-0Pyit076.js +4 -0
- package/components/{p-C_hpsif8.js → p-30_sZS2V.js} +1 -1
- package/components/p-83oP9gzn.js +4 -0
- package/components/p-8FN7p701.js +4 -0
- package/components/p-B-FxiyeI.js +4 -0
- package/components/p-B6dUPQXq.js +4 -0
- package/components/p-BMPN55of.js +4 -0
- package/components/p-BMS4t-kJ.js +4 -0
- package/components/p-BO4sUqUv.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/components/p-Bc4wROfM.js +4 -0
- package/components/p-BhamHSw3.js +4 -0
- package/components/{p-D3xo7hqU.js → p-BpG8kBfD.js} +1 -1
- package/components/p-BqPNzJf6.js +4 -0
- package/components/p-BsVxQGUT.js +4 -0
- package/components/p-BxUIQcD9.js +4 -0
- package/components/p-C1O9GEug.js +4 -0
- package/components/p-C5KYjZWD.js +4 -0
- package/components/p-C9BGR5fy.js +4 -0
- package/components/p-CD4fmpem.js +4 -0
- package/components/p-CEW4RXZO.js +4 -0
- package/components/p-CKhiNOEg.js +4 -0
- package/components/p-CO2zzh3W.js +4 -0
- package/components/p-CVnwvOBD.js +4 -0
- package/components/p-CbhUdtjf.js +4 -0
- package/components/p-CejmQs3h.js +4 -0
- package/components/p-CfnGxjv-.js +4 -0
- package/components/p-ClFYbgND.js +4 -0
- package/components/p-CmKf4pgI.js +4 -0
- package/components/p-Cs5f-uOS.js +4 -0
- package/components/p-D7-vHX0A.js +4 -0
- package/{dist/ionic/p-DC3RagnA.js → components/p-DIgGHN7D.js} +1 -1
- package/components/p-DRfgH82D.js +4 -0
- package/components/p-DTY4otpr.js +4 -0
- package/components/{p--JUspHvy.js → p-DV85C0e0.js} +1 -1
- package/components/p-DVKS-ovH.js +4 -0
- package/components/p-DWCzVL3Y.js +4 -0
- package/components/p-D_XD0pVT.js +4 -0
- package/components/p-Dd8ajo9a.js +4 -0
- package/components/p-DdnhY_oj.js +4 -0
- package/components/p-Dm7h4Nyv.js +4 -0
- package/components/{p-BkKAANMJ.js → p-DwpKZ6rl.js} +1 -1
- package/components/p-DyePCNGr.js +4 -0
- package/components/p-G0TxqHfe.js +4 -0
- package/components/{p-ChIZKXUu.js → p-J-p0EtHR.js} +1 -1
- package/components/p-LXu5-6Ti.js +4 -0
- package/components/p-MCJ7HjWe.js +4 -0
- package/components/p-Obm7si-x.js +4 -0
- package/components/p-TXPDHL13.js +4 -0
- package/components/p-UuPYCOZE.js +4 -0
- package/components/p-WeeS7GvC.js +4 -0
- package/components/{p-D7uN07a3.js → p-_0JhwClE.js} +1 -1
- package/components/p-_IKFD3ID.js +4 -0
- package/components/p-byZM6qHV.js +4 -0
- package/components/p-hh7qIC-X.js +4 -0
- package/components/p-idq4JFo2.js +4 -0
- package/components/{p-DqLB8yFQ.js → p-ryyf_ItD.js} +1 -1
- package/components/p-tYCT3JGl.js +4 -0
- package/components/p-wzAhIh03.js +4 -0
- package/components/p-xOjr4bwc.js +4 -0
- package/components/p-yuj4Nkm_.js +4 -0
- package/dist/cjs/{animation-Ch16T-Nb.js → animation-C0mOHzej.js} +4 -4
- package/dist/cjs/{app-globals-Dd89e0MR.js → app-globals-BREG4twP.js} +1 -1
- package/dist/cjs/{button-active-COnxOe4X.js → button-active-BKj1rdFx.js} +3 -3
- package/dist/cjs/config-CjUbvdPW.js +36 -0
- package/dist/cjs/{dir-Cn0z1rJH.js → dir-Brx7VkvP.js} +1 -1
- package/dist/cjs/{format-BUFWn4Bn.js → format-pp0Du3K-.js} +40 -30
- package/dist/cjs/{framework-delegate-BgU6U9Ez.js → framework-delegate-NTLQ5YzV.js} +5 -7
- package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-BDUH7687.js} +15 -8
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Ch-X4gRx.js} +2 -3
- package/dist/cjs/{hardware-back-button-CXmUnTJC.js → hardware-back-button-fqpYh-kd.js} +4 -4
- package/dist/cjs/{helpers-gntk8bfm.js → helpers-CaLhEmTE.js} +3 -3
- package/dist/cjs/index-B7zJsYWS.js +429 -0
- package/dist/cjs/{index-BhhuJ1Yx.js → index-BlshL9ib.js} +2 -2
- package/dist/cjs/{index-BS2uhvhT.js → index-Ck9advCT.js} +5 -5
- package/dist/cjs/{index-ooS8B4p9.js → index-D2X6b92x.js} +6 -7
- package/dist/cjs/{index-BiRrzGDi.js → index-D48vawBq.js} +2 -2
- package/dist/cjs/{index-CAvQ7Tka.js → index-P1nQxrpZ.js} +10 -4
- package/dist/cjs/{index-BfaXsATC.js → index-uvry__L4.js} +31 -14
- package/dist/cjs/{index-DqmRDbxg.js → index-wOmugbdg.js} +1 -1
- package/dist/cjs/index.cjs.js +18 -18
- package/dist/cjs/{input-shims-Bn1cXfCM.js → input-shims-DvHAFqiP.js} +9 -11
- package/dist/cjs/{input.utils-BwhxZooW.js → input.utils-CP4fzrqk.js} +3 -4
- package/dist/cjs/ion-accordion_2.cjs.entry.js +368 -340
- package/dist/cjs/ion-action-sheet.cjs.entry.js +187 -76
- package/dist/cjs/ion-alert.cjs.entry.js +273 -111
- package/dist/cjs/ion-app_8.cjs.entry.js +307 -190
- package/dist/cjs/ion-avatar_3.cjs.entry.js +10 -4
- package/dist/cjs/ion-back-button.cjs.entry.js +47 -23
- package/dist/cjs/ion-backdrop.cjs.entry.js +18 -14
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +199 -121
- package/dist/cjs/ion-button_2.cjs.entry.js +138 -66
- package/dist/cjs/ion-card_5.cjs.entry.js +82 -30
- package/dist/cjs/ion-checkbox.cjs.entry.js +152 -101
- package/dist/cjs/ion-chip.cjs.entry.js +17 -11
- package/dist/cjs/ion-col_3.cjs.entry.js +134 -10
- package/dist/cjs/ion-datetime-button.cjs.entry.js +253 -241
- package/dist/cjs/ion-datetime.cjs.entry.js +2770 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +139 -81
- package/dist/cjs/ion-img.cjs.entry.js +34 -12
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +100 -72
- package/dist/cjs/ion-input-otp.cjs.entry.js +433 -370
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +33 -19
- package/dist/cjs/ion-input.cjs.entry.js +314 -168
- package/dist/cjs/ion-item-option_3.cjs.entry.js +91 -51
- package/dist/cjs/ion-item_8.cjs.entry.js +181 -82
- package/dist/cjs/ion-loading.cjs.entry.js +146 -60
- package/dist/cjs/ion-menu_3.cjs.entry.js +163 -101
- package/dist/cjs/ion-modal.cjs.entry.js +455 -261
- package/dist/cjs/ion-nav_2.cjs.entry.js +100 -157
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +37 -33
- package/dist/cjs/ion-picker-column.cjs.entry.js +417 -405
- package/dist/cjs/ion-picker.cjs.entry.js +401 -392
- package/dist/cjs/ion-popover.cjs.entry.js +319 -205
- package/dist/cjs/ion-progress-bar.cjs.entry.js +31 -25
- package/dist/cjs/ion-radio_2.cjs.entry.js +206 -133
- package/dist/cjs/ion-range.cjs.entry.js +302 -237
- package/dist/cjs/ion-refresher_2.cjs.entry.js +165 -93
- package/dist/cjs/ion-reorder_2.cjs.entry.js +53 -23
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -14
- package/dist/cjs/ion-route_4.cjs.entry.js +175 -71
- package/dist/cjs/ion-searchbar.cjs.entry.js +291 -200
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +28 -17
- package/dist/cjs/ion-segment_2.cjs.entry.js +169 -126
- package/dist/cjs/ion-select-modal.cjs.entry.js +104 -48
- package/dist/cjs/ion-select_3.cjs.entry.js +759 -214
- package/dist/cjs/ion-spinner.cjs.entry.js +24 -10
- package/dist/cjs/ion-split-pane.cjs.entry.js +29 -16
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +100 -41
- package/dist/cjs/ion-tab_2.cjs.entry.js +53 -27
- package/dist/cjs/ion-text.cjs.entry.js +11 -5
- package/dist/cjs/ion-textarea.cjs.entry.js +263 -144
- package/dist/cjs/ion-toast.cjs.entry.js +236 -117
- package/dist/cjs/ion-toggle.cjs.entry.js +175 -122
- package/dist/cjs/{ionic-global-BerQGEpE.js → ionic-global-k6hOWWpn.js} +13 -8
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-IMJRwn29.js → ios.transition-KvuRAe2W.js} +13 -17
- package/dist/cjs/{item-multiple-inputs-jOJZE_I0.js → item-multiple-inputs-BdYSbfKN.js} +1 -1
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Cix5TVkD.js} +2 -2
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-cHxZlTyz.js} +2 -2
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-PtZoN2GS.js} +6 -6
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-CgQZxcoT.js → md.transition-Bjl5Ozph.js} +7 -8
- package/dist/cjs/{notch-controller-_SwR025y.js → notch-controller-BEUpEgb5.js} +1 -1
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-DuSEMhIW.js → overlays-IlP4H2Gn.js} +48 -33
- package/dist/cjs/select-option-render-pULCGldr.js +123 -0
- package/dist/cjs/{status-tap-CSvBT7FV.js → status-tap-BR_ujYHg.js} +3 -3
- package/dist/cjs/{swipe-back-CuIiziaa.js → swipe-back-DzQKEl5g.js} +5 -5
- package/dist/cjs/{theme-CeDs6Hcv.js → theme-Bw0rpaNN.js} +6 -1
- package/dist/collection/collection-manifest.json +6 -10
- package/dist/collection/components/accordion/accordion.js +315 -312
- package/dist/collection/components/accordion-group/accordion-group.js +48 -25
- package/dist/collection/components/action-sheet/action-sheet.ios.css +228 -2
- package/dist/collection/components/action-sheet/action-sheet.js +173 -64
- package/dist/collection/components/action-sheet/action-sheet.md.css +174 -2
- package/dist/collection/components/action-sheet/test/basic/fixture.js +3 -0
- package/dist/collection/components/alert/alert.ios.css +279 -10
- package/dist/collection/components/alert/alert.js +257 -97
- package/dist/collection/components/alert/alert.md.css +268 -20
- package/dist/collection/components/app/app.js +3 -0
- package/dist/collection/components/back-button/back-button.js +42 -19
- package/dist/collection/components/backdrop/backdrop.js +16 -14
- package/dist/collection/components/badge/badge.js +6 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +91 -30
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +103 -88
- package/dist/collection/components/button/button.js +132 -61
- package/dist/collection/components/buttons/buttons.js +13 -15
- package/dist/collection/components/card/card.js +54 -21
- package/dist/collection/components/card-header/card-header.js +12 -8
- package/dist/collection/components/card-subtitle/card-subtitle.js +6 -0
- package/dist/collection/components/card-title/card-title.js +6 -0
- package/dist/collection/components/checkbox/checkbox.js +147 -97
- package/dist/collection/components/chip/chip.js +14 -10
- package/dist/collection/components/col/col.js +127 -3
- package/dist/collection/components/content/content.js +93 -64
- package/dist/collection/components/datetime/datetime.ios.css +42 -2
- package/dist/collection/components/datetime/datetime.js +1042 -807
- package/dist/collection/components/datetime/datetime.md.css +42 -1
- package/dist/collection/components/datetime/utils/data.js +13 -14
- package/dist/collection/components/datetime/utils/format.js +21 -11
- package/dist/collection/components/datetime/utils/manipulation.js +8 -8
- package/dist/collection/components/datetime/utils/parse.js +10 -10
- package/dist/collection/components/datetime/utils/state.js +8 -2
- package/dist/collection/components/datetime/utils/validate.js +4 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
- package/dist/collection/components/datetime-button/datetime-button.js +247 -237
- package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
- package/dist/collection/components/fab/fab.js +20 -13
- package/dist/collection/components/fab-button/fab-button.js +104 -55
- package/dist/collection/components/fab-list/fab-list.js +10 -11
- package/dist/collection/components/footer/footer.js +50 -44
- package/dist/collection/components/grid/grid.js +4 -6
- package/dist/collection/components/header/header.js +35 -25
- package/dist/collection/components/img/img.js +34 -10
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +73 -66
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +20 -3
- package/dist/collection/components/input/input.ios.css +1 -2
- package/dist/collection/components/input/input.js +309 -164
- package/dist/collection/components/input/input.md.css +1 -2
- package/dist/collection/components/input-otp/input-otp.js +428 -366
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +29 -16
- package/dist/collection/components/item/item.js +99 -53
- package/dist/collection/components/item-divider/item-divider.js +15 -10
- package/dist/collection/components/item-option/item-option.js +49 -21
- package/dist/collection/components/item-options/item-options.js +10 -7
- package/dist/collection/components/item-sliding/item-sliding.js +26 -20
- package/dist/collection/components/label/label.js +24 -4
- package/dist/collection/components/list/list.js +10 -7
- package/dist/collection/components/list-header/list-header.js +10 -0
- package/dist/collection/components/loading/loading.js +135 -51
- package/dist/collection/components/menu/menu.js +101 -59
- package/dist/collection/components/menu-button/menu-button.js +29 -20
- package/dist/collection/components/menu-toggle/menu-toggle.js +20 -13
- package/dist/collection/components/modal/animations/ios.enter.js +1 -1
- package/dist/collection/components/modal/animations/md.enter.js +1 -1
- package/dist/collection/components/modal/gestures/sheet.js +22 -10
- package/dist/collection/components/modal/gestures/swipe-to-close.js +15 -3
- package/dist/collection/components/modal/modal.js +398 -228
- package/dist/collection/components/modal/safe-area-utils.js +6 -7
- package/dist/collection/components/modal/test/fixtures.js +3 -0
- package/dist/collection/components/nav/nav.js +69 -247
- package/dist/collection/components/nav/view-controller.js +7 -1
- package/dist/collection/components/nav-link/nav-link.js +20 -9
- package/dist/collection/components/note/note.js +6 -0
- package/dist/collection/components/picker/picker.js +398 -390
- package/dist/collection/components/picker-column/picker-column.css +3 -0
- package/dist/collection/components/picker-column/picker-column.js +414 -404
- package/dist/collection/components/picker-column-option/picker-column-option.js +33 -31
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
- package/dist/collection/components/popover/animations/ios.enter.js +1 -2
- package/dist/collection/components/popover/animations/md.enter.js +1 -2
- package/dist/collection/components/popover/popover.ios.css +15 -0
- package/dist/collection/components/popover/popover.js +302 -185
- package/dist/collection/components/popover/popover.md.css +15 -0
- package/dist/collection/components/popover/test/fixture.js +1 -0
- package/dist/collection/components/popover/utils.js +4 -6
- package/dist/collection/components/progress-bar/progress-bar.js +27 -23
- package/dist/collection/components/radio/radio.js +102 -66
- package/dist/collection/components/radio-group/radio-group.js +100 -65
- package/dist/collection/components/radio-group/test/fixtures.js +2 -0
- package/dist/collection/components/range/range.js +296 -232
- package/dist/collection/components/refresher/refresher.js +110 -78
- package/dist/collection/components/refresher-content/refresher-content.js +41 -4
- package/dist/collection/components/reorder/reorder.js +2 -1
- package/dist/collection/components/reorder-group/reorder-group.js +44 -15
- package/dist/collection/components/ripple-effect/ripple-effect.js +12 -13
- package/dist/collection/components/route/route.js +39 -10
- package/dist/collection/components/route-redirect/route-redirect.js +31 -0
- package/dist/collection/components/router/router.js +37 -33
- package/dist/collection/components/router/utils/dom.js +25 -7
- package/dist/collection/components/router/utils/matching.js +7 -9
- package/dist/collection/components/router/utils/parser.js +1 -1
- package/dist/collection/components/router/utils/path.js +0 -1
- package/dist/collection/components/router-link/router-link.js +37 -12
- package/dist/collection/components/router-outlet/router-outlet.js +82 -21
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +289 -199
- package/dist/collection/components/segment/segment.js +120 -85
- package/dist/collection/components/segment-button/segment-button.js +43 -37
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +26 -16
- package/dist/collection/components/select/select.ios.css +33 -0
- package/dist/collection/components/select/select.js +597 -166
- package/dist/collection/components/select/select.md.css +33 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +218 -0
- package/dist/collection/components/select-modal/select-modal.js +92 -38
- package/dist/collection/components/select-modal/select-modal.md.css +164 -0
- package/dist/collection/components/select-modal/test/fixtures.js +8 -1
- package/dist/collection/components/select-option/select-option.js +110 -9
- package/dist/collection/components/select-popover/select-popover.ios.css +218 -0
- package/dist/collection/components/select-popover/select-popover.js +103 -36
- package/dist/collection/components/select-popover/select-popover.md.css +164 -0
- package/dist/collection/components/select-popover/test/fixtures.js +8 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +12 -8
- package/dist/collection/components/spinner/spinner.js +21 -9
- package/dist/collection/components/split-pane/split-pane.js +27 -15
- package/dist/collection/components/tab/tab.js +17 -6
- package/dist/collection/components/tab-bar/tab-bar.js +32 -14
- package/dist/collection/components/tab-button/tab-button.js +62 -23
- package/dist/collection/components/tabs/tabs.js +33 -20
- package/dist/collection/components/text/text.js +8 -2
- package/dist/collection/components/textarea/textarea.js +257 -139
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +18 -2
- package/dist/collection/components/toast/toast.js +223 -106
- package/dist/collection/components/toggle/toggle.js +167 -115
- package/dist/collection/components/toolbar/toolbar.js +15 -7
- package/dist/collection/global/config.js +4 -6
- package/dist/collection/global/ionic-global.js +8 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/animation/animation.js +3 -3
- package/dist/collection/utils/config.js +5 -4
- package/dist/collection/utils/focus-controller/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +3 -3
- package/dist/collection/utils/framework-delegate.js +4 -6
- package/dist/collection/utils/gesture/gesture-controller.js +15 -8
- package/dist/collection/utils/gesture/index.js +10 -2
- package/dist/collection/utils/gesture/listener.js +1 -1
- package/dist/collection/utils/hardware-back-button.js +3 -3
- package/dist/collection/utils/helpers.js +2 -2
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
- package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
- package/dist/collection/utils/keyboard/keyboard.js +1 -1
- package/dist/collection/utils/logging/index.js +23 -4
- package/dist/collection/utils/menu-controller/index.js +1 -2
- package/dist/collection/utils/native/haptic.js +2 -3
- package/dist/collection/utils/native/keyboard.js +2 -2
- package/dist/collection/utils/native/status-bar.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +45 -0
- package/dist/collection/utils/overlays.js +38 -23
- package/dist/collection/utils/platform.js +4 -5
- package/dist/collection/utils/rtl/dir.js +1 -1
- package/dist/collection/utils/sanitization/index.js +276 -20
- package/dist/collection/utils/select-option-render.js +118 -0
- package/dist/collection/utils/slot-mutation-controller.js +1 -2
- package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
- package/dist/collection/utils/test/playwright/drag-element.js +2 -3
- package/dist/collection/utils/test/playwright/generator.js +3 -4
- package/dist/collection/utils/test/playwright/page/event-spy.js +11 -12
- package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
- package/dist/collection/utils/test/press-keys.js +10 -17
- package/dist/collection/utils/theme.js +6 -1
- package/dist/collection/utils/transition/ios.transition.js +9 -13
- package/dist/collection/utils/transition/md.transition.js +3 -4
- package/dist/docs.json +557 -1273
- package/dist/esm/{animation-DLJpuoEz.js → animation-CGFdmGk9.js} +4 -4
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-CYmMeGdU.js} +1 -1
- package/dist/esm/{button-active-BSpTQmS9.js → button-active--80YqSHA.js} +3 -3
- package/dist/esm/config-DWCzVL3Y.js +32 -0
- package/dist/esm/{dir-C53feagD.js → dir-B-FxiyeI.js} +1 -1
- package/dist/esm/{format-CAmvpAez.js → format-Dcwga61t.js} +41 -31
- package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate--ajhSeKH.js} +5 -7
- package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-TXPDHL13.js} +15 -8
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
- package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-gLJHMX_F.js} +4 -4
- package/dist/esm/{helpers-HEqiOzXb.js → helpers-DexiPLIC.js} +3 -3
- package/dist/esm/{index-B_dQk_WE.js → index-8s8kZKJ7.js} +5 -5
- package/dist/esm/{index-BRHzoo00.js → index-BCgUwrV0.js} +2 -2
- package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
- package/dist/esm/index-CKM1DdGm.js +424 -0
- package/dist/esm/{index-tcQvqkiX.js → index-ChhhtsGZ.js} +32 -15
- package/dist/esm/{index-Q6UPU0Ay.js → index-CumkqGQF.js} +6 -7
- package/dist/esm/{index-CfgBF1SE.js → index-DppOcPFQ.js} +10 -4
- package/dist/esm/{index-Dw-wN0Ja.js → index-_Za5VB9w.js} +2 -2
- package/dist/esm/index.js +16 -15
- package/dist/esm/{input-shims-LXhI7LEx.js → input-shims-BB0AKb_k.js} +9 -11
- package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-J6HWocLA.js} +3 -4
- package/dist/esm/ion-accordion_2.entry.js +368 -340
- package/dist/esm/ion-action-sheet.entry.js +187 -76
- package/dist/esm/ion-alert.entry.js +272 -110
- package/dist/esm/ion-app_8.entry.js +307 -190
- package/dist/esm/ion-avatar_3.entry.js +10 -4
- package/dist/esm/ion-back-button.entry.js +47 -23
- package/dist/esm/ion-backdrop.entry.js +18 -14
- package/dist/esm/ion-breadcrumb_2.entry.js +199 -121
- package/dist/esm/ion-button_2.entry.js +138 -66
- package/dist/esm/ion-card_5.entry.js +82 -30
- package/dist/esm/ion-checkbox.entry.js +152 -101
- package/dist/esm/ion-chip.entry.js +17 -11
- package/dist/esm/ion-col_3.entry.js +134 -10
- package/dist/esm/ion-datetime-button.entry.js +253 -241
- package/dist/esm/ion-datetime.entry.js +2768 -0
- package/dist/esm/ion-fab_3.entry.js +139 -81
- package/dist/esm/ion-img.entry.js +34 -12
- package/dist/esm/ion-infinite-scroll_2.entry.js +99 -71
- package/dist/esm/ion-input-otp.entry.js +433 -370
- package/dist/esm/ion-input-password-toggle.entry.js +33 -19
- package/dist/esm/ion-input.entry.js +314 -168
- package/dist/esm/ion-item-option_3.entry.js +91 -51
- package/dist/esm/ion-item_8.entry.js +181 -82
- package/dist/esm/ion-loading.entry.js +145 -59
- package/dist/esm/ion-menu_3.entry.js +163 -101
- package/dist/esm/ion-modal.entry.js +455 -261
- package/dist/esm/ion-nav_2.entry.js +100 -157
- package/dist/esm/ion-picker-column-option.entry.js +37 -33
- package/dist/esm/ion-picker-column.entry.js +417 -405
- package/dist/esm/ion-picker.entry.js +401 -392
- package/dist/esm/ion-popover.entry.js +319 -205
- package/dist/esm/ion-progress-bar.entry.js +31 -25
- package/dist/esm/ion-radio_2.entry.js +206 -133
- package/dist/esm/ion-range.entry.js +302 -237
- package/dist/esm/ion-refresher_2.entry.js +163 -91
- package/dist/esm/ion-reorder_2.entry.js +53 -23
- package/dist/esm/ion-ripple-effect.entry.js +14 -14
- package/dist/esm/ion-route_4.entry.js +175 -71
- package/dist/esm/ion-searchbar.entry.js +291 -200
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +28 -17
- package/dist/esm/ion-segment_2.entry.js +169 -126
- package/dist/esm/ion-select-modal.entry.js +104 -48
- package/dist/esm/ion-select_3.entry.js +760 -215
- package/dist/esm/ion-spinner.entry.js +24 -10
- package/dist/esm/ion-split-pane.entry.js +29 -16
- package/dist/esm/ion-tab-bar_2.entry.js +100 -41
- package/dist/esm/ion-tab_2.entry.js +53 -27
- package/dist/esm/ion-text.entry.js +11 -5
- package/dist/esm/ion-textarea.entry.js +263 -144
- package/dist/esm/ion-toast.entry.js +235 -116
- package/dist/esm/ion-toggle.entry.js +175 -122
- package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-BVB7BrLT.js} +13 -8
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-BdhybwLl.js} +13 -17
- package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-rU8VaNNg.js} +1 -1
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-D0msQmzI.js → md.transition-B5lqKGCs.js} +7 -8
- package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-CrUGyHYz.js} +1 -1
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-CjWwtvf1.js} +48 -33
- package/dist/esm/select-option-render-C4m76VGH.js +121 -0
- package/dist/esm/{status-tap-vO-6s4Yp.js → status-tap-DpLhkDWs.js} +3 -3
- package/dist/esm/{swipe-back-DQ1q5MgD.js → swipe-back-cz4-lyG3.js} +5 -5
- package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
- package/dist/html.html-data.json +52 -80
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-0266b7e1.entry.js +4 -0
- package/dist/ionic/p-08443c08.entry.js +4 -0
- package/dist/ionic/p-08f1ed1c.entry.js +4 -0
- package/dist/ionic/p-09b47b7d.entry.js +4 -0
- package/dist/ionic/p-0FNc80PN.js +4 -0
- package/dist/ionic/p-12589d59.entry.js +4 -0
- package/dist/ionic/p-1d2e53e8.entry.js +4 -0
- package/dist/ionic/p-1edf0573.entry.js +4 -0
- package/dist/ionic/p-214e000a.entry.js +4 -0
- package/dist/ionic/p-21a7fb2a.entry.js +4 -0
- package/dist/ionic/p-2ce59395.entry.js +4 -0
- package/dist/ionic/p-33829e94.entry.js +4 -0
- package/dist/ionic/p-374b10cb.entry.js +4 -0
- package/dist/ionic/p-3835a020.entry.js +4 -0
- package/dist/ionic/p-3c5fdd27.entry.js +4 -0
- package/dist/ionic/{p-c6e49f3f.entry.js → p-40424a88.entry.js} +1 -1
- package/dist/ionic/p-48b6835f.entry.js +4 -0
- package/dist/ionic/p-4eOQC00Z.js +4 -0
- package/dist/ionic/p-5394e1d4.entry.js +4 -0
- package/dist/ionic/p-53bac1c9.entry.js +4 -0
- package/dist/ionic/p-5506caeb.entry.js +4 -0
- package/dist/ionic/p-5993a77f.entry.js +4 -0
- package/dist/ionic/p-6277efba.entry.js +4 -0
- package/dist/ionic/p-62e71297.entry.js +4 -0
- package/dist/ionic/p-6b286c5c.entry.js +4 -0
- package/dist/ionic/p-7116e558.entry.js +4 -0
- package/dist/ionic/p-74f30659.entry.js +4 -0
- package/dist/ionic/p-7bb3e957.entry.js +4 -0
- package/dist/ionic/p-82525fb0.entry.js +4 -0
- package/dist/ionic/p-865fa114.entry.js +4 -0
- package/dist/ionic/p-8a21bdbd.entry.js +4 -0
- package/dist/ionic/p-8e1d9e3a.entry.js +4 -0
- package/dist/ionic/p-8f3a1995.entry.js +4 -0
- package/dist/ionic/p-91c6faf1.entry.js +4 -0
- package/dist/ionic/{p-aaeedb6b.entry.js → p-9b865fe6.entry.js} +1 -1
- package/dist/ionic/p-9nmHvEvw.js +4 -0
- package/dist/ionic/p-B-FxiyeI.js +4 -0
- package/dist/ionic/p-BB0LlG4y.js +4 -0
- package/dist/ionic/p-BMPN55of.js +4 -0
- package/dist/ionic/p-BQ8oNV0v.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BhamHSw3.js +4 -0
- package/dist/ionic/p-BjvtSsVI.js +4 -0
- package/dist/ionic/p-BkfAWuv6.js +4 -0
- package/dist/ionic/p-BnMQxWON.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
- package/dist/ionic/p-BwIp10KV.js +4 -0
- package/dist/ionic/p-C-94tAim.js +4 -0
- package/dist/ionic/p-C6eME8Ey.js +4 -0
- package/dist/ionic/{p-DIuEbVLu.js → p-CKUuSnDR.js} +1 -1
- package/dist/ionic/p-CMRtMbJc.js +4 -0
- package/dist/ionic/p-CPcPmkGv.js +4 -0
- package/dist/ionic/{p-biz8zWmJ.js → p-CQ_4TirR.js} +1 -1
- package/dist/ionic/p-CaRuIadB.js +4 -0
- package/dist/ionic/p-Cdjxf_yg.js +4 -0
- package/dist/ionic/p-ChhhtsGZ.js +5 -0
- package/dist/ionic/p-CmKf4pgI.js +4 -0
- package/dist/ionic/p-D5t_-oMk.js +4 -0
- package/dist/ionic/p-D94b61er.js +4 -0
- package/dist/ionic/p-DCI3rXQo.js +4 -0
- package/dist/ionic/p-DDhtUaaA.js +4 -0
- package/dist/ionic/p-DWCzVL3Y.js +4 -0
- package/dist/ionic/p-Dn0mqQ_R.js +4 -0
- package/dist/ionic/{p-KjNvRoEp.js → p-I3In7hMC.js} +1 -1
- package/dist/ionic/p-T71k3C35.js +4 -0
- package/dist/ionic/p-TXPDHL13.js +4 -0
- package/dist/ionic/p-a641d428.entry.js +4 -0
- package/dist/ionic/p-ac6ef997.entry.js +4 -0
- package/dist/ionic/p-acf0a6af.entry.js +4 -0
- package/dist/ionic/p-ad98e3ff.entry.js +4 -0
- package/dist/ionic/p-af5166f5.entry.js +4 -0
- package/dist/ionic/p-b24dc0a1.entry.js +4 -0
- package/dist/ionic/p-ba8a598f.entry.js +4 -0
- package/dist/ionic/p-bf7c1f05.entry.js +4 -0
- package/dist/ionic/p-byZM6qHV.js +4 -0
- package/dist/ionic/p-c3f65965.entry.js +4 -0
- package/dist/ionic/p-c8fbe544.entry.js +4 -0
- package/dist/ionic/p-cb12f6c3.entry.js +4 -0
- package/dist/ionic/p-cec87704.entry.js +4 -0
- package/dist/ionic/p-dbfd2d52.entry.js +4 -0
- package/dist/ionic/p-e1e5b507.entry.js +4 -0
- package/dist/ionic/p-ede019ef.entry.js +4 -0
- package/dist/ionic/p-efef6788.entry.js +4 -0
- package/dist/ionic/p-f046aa37.entry.js +4 -0
- package/dist/ionic/p-f402f5a4.entry.js +4 -0
- package/dist/ionic/p-f622796d.entry.js +4 -0
- package/{components/p-B-JJgYSG.js → dist/ionic/p-kJA95YWg.js} +1 -1
- package/dist/types/components/img/img.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +9 -0
- package/dist/types/components/modal/modal.d.ts +11 -4
- package/dist/types/components/nav/nav-interface.d.ts +0 -1
- package/dist/types/components/nav/nav.d.ts +2 -22
- package/dist/types/components/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +31 -0
- package/dist/types/components/select/select.d.ts +18 -0
- package/dist/types/components/select-option/select-option.d.ts +42 -1
- package/dist/types/components.d.ts +74 -311
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/utils/config.d.ts +1 -8
- package/dist/types/utils/logging/index.d.ts +2 -1
- package/dist/types/utils/overlay-control-label.d.ts +32 -0
- package/dist/types/utils/overlays.d.ts +11 -9
- package/dist/types/utils/sanitization/index.d.ts +58 -2
- package/dist/types/utils/select-option-render.d.ts +53 -0
- package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
- package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
- package/hydrate/index.js +10343 -7070
- package/hydrate/index.mjs +10343 -7070
- package/package.json +55 -12
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -4
- package/components/ion-picker-legacy.d.ts +0 -11
- package/components/ion-picker-legacy.js +0 -4
- package/components/p-A3O24YmY.js +0 -4
- package/components/p-ABkNVeU9.js +0 -4
- package/components/p-B9jFTlwE.js +0 -4
- package/components/p-BLmJ0zRm.js +0 -4
- package/components/p-BMI53wYL.js +0 -4
- package/components/p-BSEgsdFI.js +0 -4
- package/components/p-BTEOs1at.js +0 -4
- package/components/p-BlIAuGv2.js +0 -4
- package/components/p-Bnsn6KaP.js +0 -4
- package/components/p-BsBCoGa-.js +0 -4
- package/components/p-Bz0dSlXZ.js +0 -4
- package/components/p-C53feagD.js +0 -4
- package/components/p-CHqRYvYm.js +0 -4
- package/components/p-CQGnMY3n.js +0 -4
- package/components/p-CSZf8_j0.js +0 -4
- package/components/p-C_xFdyXe.js +0 -4
- package/components/p-Cf2jSDS8.js +0 -4
- package/components/p-Cfx4M1Bn.js +0 -4
- package/components/p-CkMSOsFF.js +0 -4
- package/components/p-Cl0B-RWe.js +0 -4
- package/components/p-CmR5uXej.js +0 -4
- package/components/p-Cp4GRDqq.js +0 -4
- package/components/p-CsNJ1ULL.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-CzCbeKys.js +0 -4
- package/components/p-D-aHdMxW.js +0 -4
- package/components/p-D0d8qTwj.js +0 -4
- package/components/p-D13Eaw-8.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-DCnGU1fF.js +0 -4
- package/components/p-DGvrK8dD.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-DRxvM2Ic.js +0 -4
- package/components/p-DV5mPYQS.js +0 -4
- package/components/p-DWkAgceV.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-DqZAXv2t.js +0 -4
- package/components/p-Osve4qkc.js +0 -4
- package/components/p-R8zmRi4c.js +0 -4
- package/components/p-SLS1rDZM.js +0 -4
- package/components/p-aJ6PBUvj.js +0 -4
- package/components/p-cyNmxje6.js +0 -4
- package/components/p-gAg0kXZp.js +0 -4
- package/components/p-gYiraiT_.js +0 -4
- package/components/p-j5IxBIan.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-oD4kcBRX.js +0 -4
- package/components/p-rCa2eL0j.js +0 -4
- package/components/p-vRBNsYbs.js +0 -4
- package/components/p-yEQxMl70.js +0 -4
- package/components/p-yzCsOZE2.js +0 -4
- package/dist/cjs/config-D6C-KlA9.js +0 -201
- package/dist/cjs/ion-datetime_3.cjs.entry.js +0 -3167
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
- package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
- package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
- package/dist/collection/components/picker-legacy/picker.js +0 -890
- package/dist/collection/components/picker-legacy/picker.md.css +0 -287
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
- package/dist/esm/config-DQCONYYp.js +0 -195
- package/dist/esm/ion-datetime_3.entry.js +0 -3163
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-06c232a4.entry.js +0 -4
- package/dist/ionic/p-0caa922c.entry.js +0 -4
- package/dist/ionic/p-0dc33652.entry.js +0 -4
- package/dist/ionic/p-0fa9c382.entry.js +0 -4
- package/dist/ionic/p-10e833ef.entry.js +0 -4
- package/dist/ionic/p-21eb76d5.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-2a05aa64.entry.js +0 -4
- package/dist/ionic/p-2b204c59.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.entry.js +0 -4
- package/dist/ionic/p-2fa58e80.entry.js +0 -4
- package/dist/ionic/p-3353c229.entry.js +0 -4
- package/dist/ionic/p-34586ead.entry.js +0 -4
- package/dist/ionic/p-37e720da.entry.js +0 -4
- package/dist/ionic/p-390ca786.entry.js +0 -4
- package/dist/ionic/p-3ae5f277.entry.js +0 -4
- package/dist/ionic/p-4654ae1c.entry.js +0 -4
- package/dist/ionic/p-4745f534.entry.js +0 -4
- package/dist/ionic/p-4858af1f.entry.js +0 -4
- package/dist/ionic/p-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-4e92a11f.entry.js +0 -4
- package/dist/ionic/p-50e1194a.entry.js +0 -4
- package/dist/ionic/p-5334df12.entry.js +0 -4
- package/dist/ionic/p-5d1da0a2.entry.js +0 -4
- package/dist/ionic/p-5e2f73ee.entry.js +0 -4
- package/dist/ionic/p-5eb8e86d.entry.js +0 -4
- package/dist/ionic/p-65ebdf1b.entry.js +0 -4
- package/dist/ionic/p-746fa988.entry.js +0 -4
- package/dist/ionic/p-75dc25ba.entry.js +0 -4
- package/dist/ionic/p-7c319341.entry.js +0 -4
- package/dist/ionic/p-829367ed.entry.js +0 -4
- package/dist/ionic/p-84d5ce05.entry.js +0 -4
- package/dist/ionic/p-874b4bd8.entry.js +0 -4
- package/dist/ionic/p-8eb8ee76.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-9f9db3a2.entry.js +0 -4
- package/dist/ionic/p-9fa3c405.entry.js +0 -4
- package/dist/ionic/p-BGqMS-oh.js +0 -4
- package/dist/ionic/p-BTEOs1at.js +0 -4
- package/dist/ionic/p-BUFIpxKM.js +0 -4
- package/dist/ionic/p-C0eMdTCW.js +0 -4
- package/dist/ionic/p-C53feagD.js +0 -4
- package/dist/ionic/p-CFlfIb2g.js +0 -4
- package/dist/ionic/p-CKvCXMs9.js +0 -4
- package/dist/ionic/p-Cl0B-RWe.js +0 -4
- package/dist/ionic/p-CmcFnK-B.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-Cx3IXROA.js +0 -4
- package/dist/ionic/p-D-3ycHmd.js +0 -4
- package/dist/ionic/p-D13Eaw-8.js +0 -4
- package/dist/ionic/p-D4uTWt4-.js +0 -4
- package/dist/ionic/p-DiVJyqlX.js +0 -4
- package/dist/ionic/p-DoJvtrbw.js +0 -4
- package/dist/ionic/p-DqN5EA2O.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-Nqf6uvGh.js +0 -4
- package/dist/ionic/p-SNAkTDfm.js +0 -4
- package/dist/ionic/p-VAemlbDS.js +0 -4
- package/dist/ionic/p-a3bdcae6.entry.js +0 -4
- package/dist/ionic/p-af55a72f.entry.js +0 -4
- package/dist/ionic/p-b2020591.entry.js +0 -4
- package/dist/ionic/p-b9fadbfe.entry.js +0 -4
- package/dist/ionic/p-c0fb8edd.entry.js +0 -4
- package/dist/ionic/p-c38b648e.entry.js +0 -4
- package/dist/ionic/p-c4d8641b.entry.js +0 -4
- package/dist/ionic/p-ca2ab74d.entry.js +0 -4
- package/dist/ionic/p-d889ff6d.entry.js +0 -4
- package/dist/ionic/p-dfa8d673.entry.js +0 -4
- package/dist/ionic/p-ea56626d.entry.js +0 -4
- package/dist/ionic/p-ef4c3bee.entry.js +0 -4
- package/dist/ionic/p-f386f6ae.entry.js +0 -4
- package/dist/ionic/p-mjKAFv89.js +0 -4
- package/dist/ionic/p-tcQvqkiX.js +0 -5
- package/dist/ionic/p-uWtqTrG8.js +0 -4
- package/dist/ionic/p-viFHDgRs.js +0 -4
- package/dist/ionic/p-xWb6fgfq.js +0 -4
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
- /package/components/{p-CO7fmmxt.js → p-LpMHEu3v.js} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, e as config, h, d as Host } from './index-
|
|
5
|
-
import { e as clamp } from './helpers-
|
|
6
|
-
import { c as createColorClasses } from './theme-
|
|
7
|
-
import { b as getIonMode } from './ionic-global-
|
|
4
|
+
import { r as registerInstance, e as config, h, d as Host } from './index-ChhhtsGZ.js';
|
|
5
|
+
import { e as clamp } from './helpers-DexiPLIC.js';
|
|
6
|
+
import { c as createColorClasses } from './theme-byZM6qHV.js';
|
|
7
|
+
import { b as getIonMode } from './ionic-global-BVB7BrLT.js';
|
|
8
8
|
|
|
9
9
|
const progressBarIosCss = () => `:host{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.3);--progress-background:var(--ion-color-primary, #0054e9);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.buffer-circles-container,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute}.buffer-circles{right:-10px;left:-10px;}.progress,.progress-buffer-bar,.buffer-circles-container{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms linear;transition:-webkit-transform 150ms linear;transition:transform 150ms linear;transition:transform 150ms linear, -webkit-transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:var(--background);z-index:1}.buffer-circles-container{overflow:hidden}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;-webkit-animation:primary-indeterminate-translate 2s infinite linear;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{-webkit-animation:primary-indeterminate-scale 2s infinite linear;animation:primary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;-webkit-animation:secondary-indeterminate-translate 2s infinite linear;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{-webkit-animation:secondary-indeterminate-scale 2s infinite linear;animation:secondary-indeterminate-scale 2s infinite linear;-webkit-animation-play-state:inherit;animation-play-state:inherit}.buffer-circles{background-image:radial-gradient(ellipse at center, var(--background) 0%, var(--background) 30%, transparent 30%);background-repeat:repeat-x;background-position:5px center;background-size:10px 10px;z-index:0;-webkit-animation:buffering 450ms infinite linear;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed){-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{-webkit-animation-play-state:paused;animation-play-state:paused}:host(.ion-color) .buffer-circles{background-image:radial-gradient(ellipse at center, rgba(var(--ion-color-base-rgb), 0.3) 0%, rgba(var(--ion-color-base-rgb), 0.3) 30%, transparent 30%)}:host(.ion-color) .progress,:host(.ion-color) .progress-indeterminate{background:var(--ion-color-base)}@-webkit-keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@keyframes primary-indeterminate-translate{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);-webkit-transform:translateX(0);transform:translateX(0)}59.15%{-webkit-animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);-webkit-transform:translateX(83.67142%);transform:translateX(83.67142%)}100%{-webkit-transform:translateX(200.611057%);transform:translateX(200.611057%)}}@-webkit-keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes primary-indeterminate-scale{0%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}36.65%{-webkit-animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}69.15%{-webkit-animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);-webkit-transform:scaleX(0.661479);transform:scaleX(0.661479)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-translate{0%{-webkit-animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);-webkit-transform:translateX(37.651913%);transform:translateX(37.651913%)}48.35%{-webkit-animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);-webkit-transform:translateX(84.386165%);transform:translateX(84.386165%)}100%{-webkit-transform:translateX(160.277782%);transform:translateX(160.277782%)}}@-webkit-keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{-webkit-animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}19.15%{-webkit-animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);-webkit-transform:scaleX(0.457104);transform:scaleX(0.457104)}44.15%{-webkit-animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);-webkit-transform:scaleX(0.72796);transform:scaleX(0.72796)}100%{-webkit-transform:scaleX(0.08);transform:scaleX(0.08)}}@-webkit-keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes buffering{to{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}:host{border-radius:9999px;height:4px}:host(.progress-bar-solid){--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}`;
|
|
10
10
|
|
|
@@ -13,34 +13,40 @@ const progressBarMdCss = () => `:host{--background:rgba(var(--ion-color-primary-
|
|
|
13
13
|
const ProgressBar = class {
|
|
14
14
|
constructor(hostRef) {
|
|
15
15
|
registerInstance(this, hostRef);
|
|
16
|
-
/**
|
|
17
|
-
* The state of the progress bar, based on if the time the process takes is known or not.
|
|
18
|
-
* Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
|
|
19
|
-
*/
|
|
20
|
-
this.type = 'determinate';
|
|
21
|
-
/**
|
|
22
|
-
* If true, reverse the progress bar direction.
|
|
23
|
-
*/
|
|
24
|
-
this.reversed = false;
|
|
25
|
-
/**
|
|
26
|
-
* The value determines how much of the active bar should display when the
|
|
27
|
-
* `type` is `"determinate"`.
|
|
28
|
-
* The value should be between [0, 1].
|
|
29
|
-
*/
|
|
30
|
-
this.value = 0;
|
|
31
|
-
/**
|
|
32
|
-
* If the buffer and value are smaller than 1, the buffer circles will show.
|
|
33
|
-
* The buffer should be between [0, 1].
|
|
34
|
-
*/
|
|
35
|
-
this.buffer = 1;
|
|
36
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* The state of the progress bar, based on if the time the process takes is known or not.
|
|
19
|
+
* Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
|
|
20
|
+
*/
|
|
21
|
+
type = 'determinate';
|
|
22
|
+
/**
|
|
23
|
+
* If true, reverse the progress bar direction.
|
|
24
|
+
*/
|
|
25
|
+
reversed = false;
|
|
26
|
+
/**
|
|
27
|
+
* The value determines how much of the active bar should display when the
|
|
28
|
+
* `type` is `"determinate"`.
|
|
29
|
+
* The value should be between [0, 1].
|
|
30
|
+
*/
|
|
31
|
+
value = 0;
|
|
32
|
+
/**
|
|
33
|
+
* If the buffer and value are smaller than 1, the buffer circles will show.
|
|
34
|
+
* The buffer should be between [0, 1].
|
|
35
|
+
*/
|
|
36
|
+
buffer = 1;
|
|
37
|
+
/**
|
|
38
|
+
* The color to use from your application's color palette.
|
|
39
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
40
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
41
|
+
*/
|
|
42
|
+
color;
|
|
37
43
|
render() {
|
|
38
44
|
const { color, type, reversed, value, buffer } = this;
|
|
39
45
|
const paused = config.getBoolean('_testing');
|
|
40
46
|
const mode = getIonMode(this);
|
|
41
47
|
// If the progress is displayed as a solid bar.
|
|
42
48
|
const progressSolid = buffer === 1;
|
|
43
|
-
return (h(Host, { key: '
|
|
49
|
+
return (h(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
|
|
44
50
|
[mode]: true,
|
|
45
51
|
[`progress-bar-${type}`]: true,
|
|
46
52
|
'progress-paused': paused,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, h, d as Host,
|
|
5
|
-
import { f as addEventListener, m as removeEventListener, a as renderHiddenInput } from './helpers-
|
|
4
|
+
import { r as registerInstance, c as createEvent, g as getElement, h, d as Host, i as forceUpdate } from './index-ChhhtsGZ.js';
|
|
5
|
+
import { f as addEventListener, m as removeEventListener, a as renderHiddenInput } from './helpers-DexiPLIC.js';
|
|
6
6
|
import { i as isOptionSelected } from './compare-with-utils-sObYyvOy.js';
|
|
7
|
-
import { c as createItemMultipleInputsObserver } from './item-multiple-inputs-
|
|
8
|
-
import { h as hostContext, c as createColorClasses } from './theme-
|
|
9
|
-
import { b as getIonMode } from './ionic-global-
|
|
7
|
+
import { c as createItemMultipleInputsObserver } from './item-multiple-inputs-rU8VaNNg.js';
|
|
8
|
+
import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
|
|
9
|
+
import { b as getIonMode } from './ionic-global-BVB7BrLT.js';
|
|
10
10
|
import { c as checkInvalidState } from './validity-DJztqcrH.js';
|
|
11
11
|
|
|
12
12
|
const radioIosCss = () => `:host{--inner-border-radius:50%;display:inline-block;position:relative;max-width:100%;min-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #1a65eb);content:"";opacity:0.2}.radio-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.radio-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.radio-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between) .radio-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.radio-justify-start) .radio-wrapper{-ms-flex-pack:start;justify-content:start}:host(.radio-justify-end) .radio-wrapper{-ms-flex-pack:end;justify-content:end}:host(.radio-alignment-start) .radio-wrapper{-ms-flex-align:start;align-items:start}:host(.radio-alignment-center) .radio-wrapper{-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between),:host(.radio-justify-start),:host(.radio-justify-end),:host(.radio-alignment-start),:host(.radio-alignment-center){display:block}:host(.radio-label-placement-start) .radio-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.radio-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-end) .radio-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.radio-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.radio-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px}:host(.radio-label-placement-stacked) .radio-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.radio-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host{--color-checked:var(--ion-color-primary, #0054e9)}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{-webkit-margin-start:0;margin-inline-start:0}.radio-inner{width:33%;height:50%}:host(.radio-checked) .radio-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:0.125rem;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--color-checked)}:host(.radio-disabled){opacity:0.3}.native-wrapper .radio-icon{width:0.9375rem;height:1.5rem}`;
|
|
@@ -18,67 +18,38 @@ const Radio = class {
|
|
|
18
18
|
registerInstance(this, hostRef);
|
|
19
19
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
20
20
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
21
|
-
this.inputId = `ion-rb-${radioButtonIds++}`;
|
|
22
|
-
this.radioGroup = null;
|
|
23
|
-
/**
|
|
24
|
-
* If `true`, the radio is selected.
|
|
25
|
-
*/
|
|
26
|
-
this.checked = false;
|
|
27
|
-
/**
|
|
28
|
-
* The tabindex of the radio button.
|
|
29
|
-
* @internal
|
|
30
|
-
*/
|
|
31
|
-
this.buttonTabindex = -1;
|
|
32
|
-
/**
|
|
33
|
-
* The name of the control, which is submitted with the form data.
|
|
34
|
-
*/
|
|
35
|
-
this.name = this.inputId;
|
|
36
|
-
/**
|
|
37
|
-
* If `true`, the user cannot interact with the radio.
|
|
38
|
-
*/
|
|
39
|
-
this.disabled = false;
|
|
40
|
-
/**
|
|
41
|
-
* Where to place the label relative to the radio.
|
|
42
|
-
* `"start"`: The label will appear to the left of the radio in LTR and to the right in RTL.
|
|
43
|
-
* `"end"`: The label will appear to the right of the radio in LTR and to the left in RTL.
|
|
44
|
-
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
45
|
-
* `"stacked"`: The label will appear above the radio regardless of the direction. The alignment of the label can be controlled with the `alignment` property.
|
|
46
|
-
*/
|
|
47
|
-
this.labelPlacement = 'start';
|
|
48
|
-
this.updateState = () => {
|
|
49
|
-
if (this.radioGroup) {
|
|
50
|
-
const { compareWith, value: radioGroupValue } = this.radioGroup;
|
|
51
|
-
this.checked = isOptionSelected(radioGroupValue, this.value, compareWith);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
this.onClick = () => {
|
|
55
|
-
const { radioGroup, checked, disabled } = this;
|
|
56
|
-
if (disabled) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* The modern control does not use a native input
|
|
61
|
-
* inside of the radio host, so we cannot rely on the
|
|
62
|
-
* ev.preventDefault() behavior above. If the radio
|
|
63
|
-
* is checked and the parent radio group allows for empty
|
|
64
|
-
* selection, then we can set the checked state to false.
|
|
65
|
-
* Otherwise, the checked state should always be set
|
|
66
|
-
* to true because the checked state cannot be toggled.
|
|
67
|
-
*/
|
|
68
|
-
if (checked && (radioGroup === null || radioGroup === void 0 ? void 0 : radioGroup.allowEmptySelection)) {
|
|
69
|
-
this.checked = false;
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
this.checked = true;
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
this.onFocus = () => {
|
|
76
|
-
this.ionFocus.emit();
|
|
77
|
-
};
|
|
78
|
-
this.onBlur = () => {
|
|
79
|
-
this.ionBlur.emit();
|
|
80
|
-
};
|
|
81
21
|
}
|
|
22
|
+
inputId = `ion-rb-${radioButtonIds++}`;
|
|
23
|
+
radioGroup = null;
|
|
24
|
+
itemFocusObserver;
|
|
25
|
+
get el() { return getElement(this); }
|
|
26
|
+
/**
|
|
27
|
+
* If `true`, the radio is selected.
|
|
28
|
+
*/
|
|
29
|
+
checked = false;
|
|
30
|
+
/**
|
|
31
|
+
* The tabindex of the radio button.
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
buttonTabindex = -1;
|
|
35
|
+
/**
|
|
36
|
+
* The color to use from your application's color palette.
|
|
37
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
38
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
39
|
+
*/
|
|
40
|
+
color;
|
|
41
|
+
/**
|
|
42
|
+
* The name of the control, which is submitted with the form data.
|
|
43
|
+
*/
|
|
44
|
+
name = this.inputId;
|
|
45
|
+
/**
|
|
46
|
+
* If `true`, the user cannot interact with the radio.
|
|
47
|
+
*/
|
|
48
|
+
disabled = false;
|
|
49
|
+
/**
|
|
50
|
+
* the value of the radio.
|
|
51
|
+
*/
|
|
52
|
+
value;
|
|
82
53
|
valueChanged() {
|
|
83
54
|
/**
|
|
84
55
|
* The new value of the radio may
|
|
@@ -87,6 +58,40 @@ const Radio = class {
|
|
|
87
58
|
*/
|
|
88
59
|
this.updateState();
|
|
89
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Where to place the label relative to the radio.
|
|
63
|
+
* `"start"`: The label will appear to the left of the radio in LTR and to the right in RTL.
|
|
64
|
+
* `"end"`: The label will appear to the right of the radio in LTR and to the left in RTL.
|
|
65
|
+
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
66
|
+
* `"stacked"`: The label will appear above the radio regardless of the direction. The alignment of the label can be controlled with the `alignment` property.
|
|
67
|
+
*/
|
|
68
|
+
labelPlacement = 'start';
|
|
69
|
+
/**
|
|
70
|
+
* How to pack the label and radio within a line.
|
|
71
|
+
* `"start"`: The label and radio will appear on the left in LTR and
|
|
72
|
+
* on the right in RTL.
|
|
73
|
+
* `"end"`: The label and radio will appear on the right in LTR and
|
|
74
|
+
* on the left in RTL.
|
|
75
|
+
* `"space-between"`: The label and radio will appear on opposite
|
|
76
|
+
* ends of the line with space between the two elements.
|
|
77
|
+
* Setting this property will change the radio `display` to `block`.
|
|
78
|
+
*/
|
|
79
|
+
justify;
|
|
80
|
+
/**
|
|
81
|
+
* How to control the alignment of the radio and label on the cross axis.
|
|
82
|
+
* `"start"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.
|
|
83
|
+
* `"center"`: The label and control will appear at the center of the cross axis in both LTR and RTL.
|
|
84
|
+
* Setting this property will change the radio `display` to `block`.
|
|
85
|
+
*/
|
|
86
|
+
alignment;
|
|
87
|
+
/**
|
|
88
|
+
* Emitted when the radio button has focus.
|
|
89
|
+
*/
|
|
90
|
+
ionFocus;
|
|
91
|
+
/**
|
|
92
|
+
* Emitted when the radio button loses focus.
|
|
93
|
+
*/
|
|
94
|
+
ionBlur;
|
|
90
95
|
componentDidLoad() {
|
|
91
96
|
/**
|
|
92
97
|
* The value may be `undefined` if it
|
|
@@ -132,6 +137,39 @@ const Radio = class {
|
|
|
132
137
|
this.itemFocusObserver = undefined;
|
|
133
138
|
}
|
|
134
139
|
}
|
|
140
|
+
updateState = () => {
|
|
141
|
+
if (this.radioGroup) {
|
|
142
|
+
const { compareWith, value: radioGroupValue } = this.radioGroup;
|
|
143
|
+
this.checked = isOptionSelected(radioGroupValue, this.value, compareWith);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
onClick = () => {
|
|
147
|
+
const { radioGroup, checked, disabled } = this;
|
|
148
|
+
if (disabled) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* The modern control does not use a native input
|
|
153
|
+
* inside of the radio host, so we cannot rely on the
|
|
154
|
+
* ev.preventDefault() behavior above. If the radio
|
|
155
|
+
* is checked and the parent radio group allows for empty
|
|
156
|
+
* selection, then we can set the checked state to false.
|
|
157
|
+
* Otherwise, the checked state should always be set
|
|
158
|
+
* to true because the checked state cannot be toggled.
|
|
159
|
+
*/
|
|
160
|
+
if (checked && radioGroup?.allowEmptySelection) {
|
|
161
|
+
this.checked = false;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
this.checked = true;
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
onFocus = () => {
|
|
168
|
+
this.ionFocus.emit();
|
|
169
|
+
};
|
|
170
|
+
onBlur = () => {
|
|
171
|
+
this.ionBlur.emit();
|
|
172
|
+
};
|
|
135
173
|
get hasLabel() {
|
|
136
174
|
return this.el.textContent !== '';
|
|
137
175
|
}
|
|
@@ -143,7 +181,7 @@ const Radio = class {
|
|
|
143
181
|
const mode = getIonMode(this);
|
|
144
182
|
const inItem = hostContext('ion-item', el);
|
|
145
183
|
const inMultipleInputsItem = hostContext('ion-item.item-multiple-inputs', el);
|
|
146
|
-
return (h(Host, { key: '
|
|
184
|
+
return (h(Host, { key: '093884548134579b1d1ea6ee4b318185543cf8d6', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
|
|
147
185
|
[mode]: true,
|
|
148
186
|
'in-item': inItem,
|
|
149
187
|
'radio-checked': checked,
|
|
@@ -156,12 +194,11 @@ const Radio = class {
|
|
|
156
194
|
// styling stays suppressed either way.
|
|
157
195
|
'ion-activatable': !inItem,
|
|
158
196
|
'ion-focusable': !inItem || inMultipleInputsItem,
|
|
159
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '
|
|
197
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: 'c263300816ee9b91401bb0b4c99a007465d31e2a', class: "radio-wrapper" }, h("div", { key: 'e78d45f2878e560eed64a2ad88e297cdba8d5426', class: {
|
|
160
198
|
'label-text-wrapper': true,
|
|
161
199
|
'label-text-wrapper-hidden': !hasLabel,
|
|
162
|
-
}, part: "label" }, h("slot", { key: '
|
|
200
|
+
}, part: "label" }, h("slot", { key: '6c5df964e3dcc64796cebd8500a68bd8a14d05cd' })), h("div", { key: '3af5cd21f7e41510f9a8eaef104d6d01a5c00679', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
163
201
|
}
|
|
164
|
-
get el() { return getElement(this); }
|
|
165
202
|
static get watchers() { return {
|
|
166
203
|
"value": [{
|
|
167
204
|
"valueChanged": 0
|
|
@@ -183,73 +220,64 @@ const RadioGroup = class {
|
|
|
183
220
|
registerInstance(this, hostRef);
|
|
184
221
|
this.ionChange = createEvent(this, "ionChange", 7);
|
|
185
222
|
this.ionValueChange = createEvent(this, "ionValueChange", 7);
|
|
186
|
-
this.inputId = `ion-rg-${radioGroupIds++}`;
|
|
187
|
-
this.helperTextId = `${this.inputId}-helper-text`;
|
|
188
|
-
this.errorTextId = `${this.inputId}-error-text`;
|
|
189
|
-
this.labelId = `${this.inputId}-lbl`;
|
|
190
|
-
/**
|
|
191
|
-
* Track validation state for proper aria-live announcements.
|
|
192
|
-
*/
|
|
193
|
-
this.isInvalid = false;
|
|
194
|
-
/**
|
|
195
|
-
* If `true`, the radios can be deselected.
|
|
196
|
-
*/
|
|
197
|
-
this.allowEmptySelection = false;
|
|
198
|
-
/**
|
|
199
|
-
* The name of the control, which is submitted with the form data.
|
|
200
|
-
*/
|
|
201
|
-
this.name = this.inputId;
|
|
202
|
-
this.setRadioTabindex = (value) => {
|
|
203
|
-
const radios = this.getRadios();
|
|
204
|
-
// Get the first radio that is not disabled and the checked one
|
|
205
|
-
const first = radios.find((radio) => !radio.disabled);
|
|
206
|
-
const checked = radios.find((radio) => radio.value === value && !radio.disabled);
|
|
207
|
-
if (!first && !checked) {
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
// If an enabled checked radio exists, set it to be the focusable radio
|
|
211
|
-
// otherwise we default to focus the first radio
|
|
212
|
-
const focusable = checked || first;
|
|
213
|
-
for (const radio of radios) {
|
|
214
|
-
const tabindex = radio === focusable ? 0 : -1;
|
|
215
|
-
radio.setButtonTabindex(tabindex);
|
|
216
|
-
}
|
|
217
|
-
};
|
|
218
|
-
this.onClick = (ev) => {
|
|
219
|
-
ev.preventDefault();
|
|
220
|
-
/**
|
|
221
|
-
* The Radio Group component mandates that only one radio button
|
|
222
|
-
* within the group can be selected at any given time. Since `ion-radio`
|
|
223
|
-
* is a shadow DOM component, it cannot natively perform this behavior
|
|
224
|
-
* using the `name` attribute.
|
|
225
|
-
*/
|
|
226
|
-
const selectedRadio = ev.target && ev.target.closest('ion-radio');
|
|
227
|
-
/**
|
|
228
|
-
* Our current disabled prop definition causes Stencil to mark it
|
|
229
|
-
* as optional. While this is not desired, fixing this behavior
|
|
230
|
-
* in Stencil is a significant breaking change, so this effort is
|
|
231
|
-
* being de-risked in STENCIL-917. Until then, we compromise
|
|
232
|
-
* here by checking for falsy `disabled` values instead of strictly
|
|
233
|
-
* checking `disabled === false`.
|
|
234
|
-
*/
|
|
235
|
-
if (selectedRadio && !selectedRadio.disabled) {
|
|
236
|
-
const currentValue = this.value;
|
|
237
|
-
const newValue = selectedRadio.value;
|
|
238
|
-
if (newValue !== currentValue) {
|
|
239
|
-
this.value = newValue;
|
|
240
|
-
this.emitValueChange(ev);
|
|
241
|
-
}
|
|
242
|
-
else if (this.allowEmptySelection) {
|
|
243
|
-
this.value = undefined;
|
|
244
|
-
this.emitValueChange(ev);
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
223
|
}
|
|
224
|
+
inputId = `ion-rg-${radioGroupIds++}`;
|
|
225
|
+
helperTextId = `${this.inputId}-helper-text`;
|
|
226
|
+
errorTextId = `${this.inputId}-error-text`;
|
|
227
|
+
labelId = `${this.inputId}-lbl`;
|
|
228
|
+
label;
|
|
229
|
+
validationObserver;
|
|
230
|
+
get el() { return getElement(this); }
|
|
231
|
+
/**
|
|
232
|
+
* Track validation state for proper aria-live announcements.
|
|
233
|
+
*/
|
|
234
|
+
isInvalid = false;
|
|
235
|
+
hintTextId;
|
|
236
|
+
/**
|
|
237
|
+
* If `true`, the radios can be deselected.
|
|
238
|
+
*/
|
|
239
|
+
allowEmptySelection = false;
|
|
240
|
+
/**
|
|
241
|
+
* This property allows developers to specify a custom function or property
|
|
242
|
+
* name for comparing objects when determining the selected option in the
|
|
243
|
+
* ion-radio-group. When not specified, the default behavior will use strict
|
|
244
|
+
* equality (===) for comparison.
|
|
245
|
+
*/
|
|
246
|
+
compareWith;
|
|
247
|
+
/**
|
|
248
|
+
* The name of the control, which is submitted with the form data.
|
|
249
|
+
*/
|
|
250
|
+
name = this.inputId;
|
|
251
|
+
/**
|
|
252
|
+
* the value of the radio group.
|
|
253
|
+
*/
|
|
254
|
+
value;
|
|
255
|
+
/**
|
|
256
|
+
* The helper text to display at the top of the radio group.
|
|
257
|
+
*/
|
|
258
|
+
helperText;
|
|
259
|
+
/**
|
|
260
|
+
* The error text to display at the top of the radio group.
|
|
261
|
+
*/
|
|
262
|
+
errorText;
|
|
249
263
|
valueChanged(value) {
|
|
250
264
|
this.setRadioTabindex(value);
|
|
251
265
|
this.ionValueChange.emit({ value });
|
|
252
266
|
}
|
|
267
|
+
/**
|
|
268
|
+
* Emitted when the value has changed.
|
|
269
|
+
*
|
|
270
|
+
* This event will not emit when programmatically setting the `value` property.
|
|
271
|
+
*/
|
|
272
|
+
ionChange;
|
|
273
|
+
/**
|
|
274
|
+
* Emitted when the `value` property has changed.
|
|
275
|
+
* This is used to ensure that `ion-radio` can respond
|
|
276
|
+
* to any value property changes from the group.
|
|
277
|
+
*
|
|
278
|
+
* @internal
|
|
279
|
+
*/
|
|
280
|
+
ionValueChange;
|
|
253
281
|
componentDidLoad() {
|
|
254
282
|
/**
|
|
255
283
|
* There's an issue when assigning a value to the radio group
|
|
@@ -262,6 +290,22 @@ const RadioGroup = class {
|
|
|
262
290
|
*/
|
|
263
291
|
this.valueChanged(this.value);
|
|
264
292
|
}
|
|
293
|
+
setRadioTabindex = (value) => {
|
|
294
|
+
const radios = this.getRadios();
|
|
295
|
+
// Get the first radio that is not disabled and the checked one
|
|
296
|
+
const first = radios.find((radio) => !radio.disabled);
|
|
297
|
+
const checked = radios.find((radio) => radio.value === value && !radio.disabled);
|
|
298
|
+
if (!first && !checked) {
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
// If an enabled checked radio exists, set it to be the focusable radio
|
|
302
|
+
// otherwise we default to focus the first radio
|
|
303
|
+
const focusable = checked || first;
|
|
304
|
+
for (const radio of radios) {
|
|
305
|
+
const tabindex = radio === focusable ? 0 : -1;
|
|
306
|
+
radio.setButtonTabindex(tabindex);
|
|
307
|
+
}
|
|
308
|
+
};
|
|
265
309
|
async connectedCallback() {
|
|
266
310
|
// Get the list header if it exists and set the id
|
|
267
311
|
// this is used to set aria-labelledby
|
|
@@ -332,6 +376,36 @@ const RadioGroup = class {
|
|
|
332
376
|
const { value } = this;
|
|
333
377
|
this.ionChange.emit({ value, event });
|
|
334
378
|
}
|
|
379
|
+
onClick = (ev) => {
|
|
380
|
+
ev.preventDefault();
|
|
381
|
+
/**
|
|
382
|
+
* The Radio Group component mandates that only one radio button
|
|
383
|
+
* within the group can be selected at any given time. Since `ion-radio`
|
|
384
|
+
* is a shadow DOM component, it cannot natively perform this behavior
|
|
385
|
+
* using the `name` attribute.
|
|
386
|
+
*/
|
|
387
|
+
const selectedRadio = ev.target && ev.target.closest('ion-radio');
|
|
388
|
+
/**
|
|
389
|
+
* Our current disabled prop definition causes Stencil to mark it
|
|
390
|
+
* as optional. While this is not desired, fixing this behavior
|
|
391
|
+
* in Stencil is a significant breaking change, so this effort is
|
|
392
|
+
* being de-risked in STENCIL-917. Until then, we compromise
|
|
393
|
+
* here by checking for falsy `disabled` values instead of strictly
|
|
394
|
+
* checking `disabled === false`.
|
|
395
|
+
*/
|
|
396
|
+
if (selectedRadio && !selectedRadio.disabled) {
|
|
397
|
+
const currentValue = this.value;
|
|
398
|
+
const newValue = selectedRadio.value;
|
|
399
|
+
if (newValue !== currentValue) {
|
|
400
|
+
this.value = newValue;
|
|
401
|
+
this.emitValueChange(ev);
|
|
402
|
+
}
|
|
403
|
+
else if (this.allowEmptySelection) {
|
|
404
|
+
this.value = undefined;
|
|
405
|
+
this.emitValueChange(ev);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
};
|
|
335
409
|
onKeydown(ev) {
|
|
336
410
|
// We don't want the value to automatically change/emit when the radio group is part of a select interface
|
|
337
411
|
// as this will cause the interface to close when navigating through the radio group options
|
|
@@ -399,7 +473,7 @@ const RadioGroup = class {
|
|
|
399
473
|
/** @internal */
|
|
400
474
|
async setFocus() {
|
|
401
475
|
const radioToFocus = this.getRadios().find((r) => r.tabIndex !== -1);
|
|
402
|
-
radioToFocus
|
|
476
|
+
radioToFocus?.setFocus();
|
|
403
477
|
}
|
|
404
478
|
/**
|
|
405
479
|
* Renders the helper text or error text values
|
|
@@ -428,7 +502,6 @@ const RadioGroup = class {
|
|
|
428
502
|
renderHiddenInput(true, el, name, value, false);
|
|
429
503
|
return (h(Host, { key: '377e4aa3a656cc84b742f9d7a7d4be65d20c69f5', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, class: mode }, this.renderHintText(), h("slot", { key: 'c3187a2497773b4f15cea3b413b036502bcec8c0' })));
|
|
430
504
|
}
|
|
431
|
-
get el() { return getElement(this); }
|
|
432
505
|
static get watchers() { return {
|
|
433
506
|
"value": [{
|
|
434
507
|
"valueChanged": 0
|