@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
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { d as doc } from './index-ZjP4CjeZ.js';
|
|
5
|
-
import { n as focusVisibleElement, c as componentOnReady, g as getElementRoot, f as addEventListener, m as removeEventListener } from './helpers-
|
|
6
|
-
import { OVERLAY_BACK_BUTTON_PRIORITY, shouldUseCloseWatcher } from './hardware-back-button-
|
|
7
|
-
import { e as config, j as printIonError, f as printIonWarning } from './index-
|
|
8
|
-
import { b as getIonMode } from './ionic-global-
|
|
9
|
-
import { C as CoreDelegate } from './framework-delegate
|
|
10
|
-
import { B as BACKDROP_NO_SCROLL } from './gesture-controller-
|
|
5
|
+
import { n as focusVisibleElement, c as componentOnReady, g as getElementRoot, f as addEventListener, m as removeEventListener } from './helpers-DexiPLIC.js';
|
|
6
|
+
import { OVERLAY_BACK_BUTTON_PRIORITY, shouldUseCloseWatcher } from './hardware-back-button-gLJHMX_F.js';
|
|
7
|
+
import { e as config, j as printIonError, f as printIonWarning } from './index-ChhhtsGZ.js';
|
|
8
|
+
import { b as getIonMode } from './ionic-global-BVB7BrLT.js';
|
|
9
|
+
import { C as CoreDelegate } from './framework-delegate--ajhSeKH.js';
|
|
10
|
+
import { B as BACKDROP_NO_SCROLL } from './gesture-controller-TXPDHL13.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* This query string selects elements that
|
|
@@ -34,7 +34,7 @@ const focusableQueryString = '[tabindex]:not([tabindex^="-"]):not([hidden]):not(
|
|
|
34
34
|
*/
|
|
35
35
|
const focusFirstDescendant = (ref, fallbackElement) => {
|
|
36
36
|
const firstInput = ref.querySelector(focusableQueryString);
|
|
37
|
-
focusElementInContext(firstInput, fallbackElement
|
|
37
|
+
focusElementInContext(firstInput, fallbackElement ?? ref);
|
|
38
38
|
};
|
|
39
39
|
/**
|
|
40
40
|
* Focuses the last descendant in a context
|
|
@@ -49,7 +49,7 @@ const focusFirstDescendant = (ref, fallbackElement) => {
|
|
|
49
49
|
const focusLastDescendant = (ref, fallbackElement) => {
|
|
50
50
|
const inputs = Array.from(ref.querySelectorAll(focusableQueryString));
|
|
51
51
|
const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
|
|
52
|
-
focusElementInContext(lastInput, fallbackElement
|
|
52
|
+
focusElementInContext(lastInput, fallbackElement ?? ref);
|
|
53
53
|
};
|
|
54
54
|
/**
|
|
55
55
|
* Focuses a particular element in a context. If the element
|
|
@@ -70,7 +70,7 @@ const focusLastDescendant = (ref, fallbackElement) => {
|
|
|
70
70
|
*/
|
|
71
71
|
const focusElementInContext = (hostToFocus, fallbackElement) => {
|
|
72
72
|
let elementToFocus = hostToFocus;
|
|
73
|
-
const shadowRoot = hostToFocus
|
|
73
|
+
const shadowRoot = hostToFocus?.shadowRoot;
|
|
74
74
|
if (shadowRoot) {
|
|
75
75
|
// If there are no inner focusable elements, just focus the host element.
|
|
76
76
|
elementToFocus = shadowRoot.querySelector(focusableQueryString) || hostToFocus;
|
|
@@ -98,8 +98,7 @@ const activeAnimations = new WeakMap();
|
|
|
98
98
|
* Returns false if showBackdrop=false or backdropBreakpoint > 0.
|
|
99
99
|
*/
|
|
100
100
|
const isBackdropAlwaysBlocking = (el) => {
|
|
101
|
-
|
|
102
|
-
return el.showBackdrop !== false && !(((_a = el.backdropBreakpoint) !== null && _a !== void 0 ? _a : 0) > 0);
|
|
101
|
+
return el.showBackdrop !== false && !((el.backdropBreakpoint ?? 0) > 0);
|
|
103
102
|
};
|
|
104
103
|
const createController = (tagName) => {
|
|
105
104
|
return {
|
|
@@ -118,10 +117,6 @@ const alertController = /*@__PURE__*/ createController('ion-alert');
|
|
|
118
117
|
const actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');
|
|
119
118
|
const loadingController = /*@__PURE__*/ createController('ion-loading');
|
|
120
119
|
const modalController = /*@__PURE__*/ createController('ion-modal');
|
|
121
|
-
/**
|
|
122
|
-
* @deprecated Use the inline ion-picker component instead.
|
|
123
|
-
*/
|
|
124
|
-
const pickerController = /*@__PURE__*/ createController('ion-picker-legacy');
|
|
125
120
|
const popoverController = /*@__PURE__*/ createController('ion-popover');
|
|
126
121
|
const toastController = /*@__PURE__*/ createController('ion-toast');
|
|
127
122
|
/**
|
|
@@ -161,7 +156,6 @@ const setOverlayId = (el) => {
|
|
|
161
156
|
return el.id;
|
|
162
157
|
};
|
|
163
158
|
const createOverlay = (tagName, opts) => {
|
|
164
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
165
159
|
if (typeof window !== 'undefined' && typeof window.customElements !== 'undefined') {
|
|
166
160
|
return window.customElements.whenDefined(tagName).then(() => {
|
|
167
161
|
const element = document.createElement(tagName);
|
|
@@ -170,7 +164,7 @@ const createOverlay = (tagName, opts) => {
|
|
|
170
164
|
* Convert the passed in overlay options into props
|
|
171
165
|
* that get passed down into the new overlay.
|
|
172
166
|
*/
|
|
173
|
-
Object.assign(element,
|
|
167
|
+
Object.assign(element, { ...opts, hasController: true });
|
|
174
168
|
// append the overlay element to the document body
|
|
175
169
|
getAppRoot(document).appendChild(element);
|
|
176
170
|
return new Promise((resolve) => componentOnReady(element, resolve));
|
|
@@ -194,7 +188,7 @@ const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden'
|
|
|
194
188
|
*/
|
|
195
189
|
const focusElementInOverlay = (hostToFocus, overlay) => {
|
|
196
190
|
let elementToFocus = hostToFocus;
|
|
197
|
-
const shadowRoot = hostToFocus
|
|
191
|
+
const shadowRoot = hostToFocus?.shadowRoot;
|
|
198
192
|
if (shadowRoot) {
|
|
199
193
|
// If there are no inner focusable elements, just focus the host element.
|
|
200
194
|
elementToFocus = shadowRoot.querySelector(focusableQueryString) || hostToFocus;
|
|
@@ -215,7 +209,7 @@ const focusElementInOverlay = (hostToFocus, overlay) => {
|
|
|
215
209
|
* Should NOT include: Toast
|
|
216
210
|
*/
|
|
217
211
|
const trapKeyboardFocus = (ev, doc) => {
|
|
218
|
-
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
212
|
+
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover');
|
|
219
213
|
const target = ev.target;
|
|
220
214
|
/**
|
|
221
215
|
* If no active overlay, ignore this event.
|
|
@@ -401,7 +395,7 @@ const connectListeners = (doc) => {
|
|
|
401
395
|
// handle back-button click
|
|
402
396
|
doc.addEventListener('ionBackButton', (ev) => {
|
|
403
397
|
const lastOverlay = getPresentedOverlay(doc);
|
|
404
|
-
if (lastOverlay
|
|
398
|
+
if (lastOverlay?.backdropDismiss) {
|
|
405
399
|
ev.detail.register(OVERLAY_BACK_BUTTON_PRIORITY, () => {
|
|
406
400
|
/**
|
|
407
401
|
* Do not return this promise otherwise
|
|
@@ -429,7 +423,7 @@ const connectListeners = (doc) => {
|
|
|
429
423
|
doc.addEventListener('keydown', (ev) => {
|
|
430
424
|
if (ev.key === 'Escape') {
|
|
431
425
|
const lastOverlay = getPresentedOverlay(doc);
|
|
432
|
-
if (lastOverlay
|
|
426
|
+
if (lastOverlay?.backdropDismiss) {
|
|
433
427
|
lastOverlay.dismiss(undefined, BACKDROP);
|
|
434
428
|
}
|
|
435
429
|
}
|
|
@@ -449,7 +443,7 @@ const dismissOverlay = (doc, data, role, overlayTag, id) => {
|
|
|
449
443
|
*/
|
|
450
444
|
const getOverlays = (doc, selector) => {
|
|
451
445
|
if (selector === undefined) {
|
|
452
|
-
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-
|
|
446
|
+
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover,ion-toast';
|
|
453
447
|
}
|
|
454
448
|
return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
|
|
455
449
|
};
|
|
@@ -511,8 +505,30 @@ const setRootAriaHidden = (hidden = false) => {
|
|
|
511
505
|
viewContainer.removeAttribute('aria-hidden');
|
|
512
506
|
}
|
|
513
507
|
};
|
|
508
|
+
/**
|
|
509
|
+
* Cleans up root `aria-hidden` and `backdrop-no-scroll` when
|
|
510
|
+
* an overlay is removed from the DOM without going through
|
|
511
|
+
* the `dismiss()` flow (e.g., when a framework unmounts the
|
|
512
|
+
* overlay during a route change).
|
|
513
|
+
*
|
|
514
|
+
* Should be called from an overlay's `disconnectedCallback`
|
|
515
|
+
* when the overlay was still presented at the time of removal.
|
|
516
|
+
*/
|
|
517
|
+
const cleanupRootFocusTrapAccessibility = () => {
|
|
518
|
+
if (typeof document === 'undefined') {
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
521
|
+
const remainingOverlays = getPresentedOverlays(document);
|
|
522
|
+
const hasRemainingLocking = remainingOverlays.some((o) => {
|
|
523
|
+
const el = o;
|
|
524
|
+
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
525
|
+
});
|
|
526
|
+
if (!hasRemainingLocking) {
|
|
527
|
+
setRootAriaHidden(false);
|
|
528
|
+
document.body.classList.remove(BACKDROP_NO_SCROLL);
|
|
529
|
+
}
|
|
530
|
+
};
|
|
514
531
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
515
|
-
var _a, _b;
|
|
516
532
|
if (overlay.presented) {
|
|
517
533
|
return;
|
|
518
534
|
}
|
|
@@ -558,7 +574,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
558
574
|
}
|
|
559
575
|
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
560
576
|
}
|
|
561
|
-
|
|
577
|
+
overlay.willPresentShorthand?.emit();
|
|
562
578
|
const mode = getIonMode(overlay);
|
|
563
579
|
// get the user's animation fn if one was provided
|
|
564
580
|
const animationBuilder = overlay.enterAnimation
|
|
@@ -567,7 +583,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
567
583
|
const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
568
584
|
if (completed) {
|
|
569
585
|
overlay.didPresent.emit();
|
|
570
|
-
|
|
586
|
+
overlay.didPresentShorthand?.emit();
|
|
571
587
|
}
|
|
572
588
|
/**
|
|
573
589
|
* If the focused element is already
|
|
@@ -587,7 +603,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
587
603
|
* exists (e.g. picker-legacy), we fall back to the host.
|
|
588
604
|
*/
|
|
589
605
|
const overlayWrapper = getElementRoot(overlay.el).querySelector('[role="dialog"][tabindex]');
|
|
590
|
-
const focusTarget = overlayWrapper
|
|
606
|
+
const focusTarget = overlayWrapper ?? overlay.el;
|
|
591
607
|
/**
|
|
592
608
|
* `preventScroll` keeps this a pure focus move so the viewport does not
|
|
593
609
|
* jump when the wrapper is partially off-screen (e.g. a sheet modal).
|
|
@@ -597,7 +613,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
597
613
|
try {
|
|
598
614
|
focusTarget.focus({ preventScroll: true });
|
|
599
615
|
}
|
|
600
|
-
catch
|
|
616
|
+
catch {
|
|
601
617
|
focusTarget.focus();
|
|
602
618
|
}
|
|
603
619
|
}
|
|
@@ -633,7 +649,7 @@ const restoreElementFocus = async (overlayEl) => {
|
|
|
633
649
|
}
|
|
634
650
|
// Ensure active element is blurred to prevent a11y warning issues
|
|
635
651
|
previousElement.blur();
|
|
636
|
-
const shadowRoot = previousElement
|
|
652
|
+
const shadowRoot = previousElement?.shadowRoot;
|
|
637
653
|
if (shadowRoot) {
|
|
638
654
|
// If there are no inner focusable elements, just focus the host element.
|
|
639
655
|
previousElement = shadowRoot.querySelector(focusableQueryString) || previousElement;
|
|
@@ -668,7 +684,6 @@ const restoreElementFocus = async (overlayEl) => {
|
|
|
668
684
|
}
|
|
669
685
|
};
|
|
670
686
|
const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
|
|
671
|
-
var _a, _b;
|
|
672
687
|
if (!overlay.presented) {
|
|
673
688
|
return false;
|
|
674
689
|
}
|
|
@@ -703,7 +718,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
703
718
|
// Overlay contents should not be clickable during dismiss
|
|
704
719
|
overlay.el.style.setProperty('pointer-events', 'none');
|
|
705
720
|
overlay.willDismiss.emit({ data, role });
|
|
706
|
-
|
|
721
|
+
overlay.willDismissShorthand?.emit({ data, role });
|
|
707
722
|
const mode = getIonMode(overlay);
|
|
708
723
|
const animationBuilder = overlay.leaveAnimation
|
|
709
724
|
? overlay.leaveAnimation
|
|
@@ -713,7 +728,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
713
728
|
await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
714
729
|
}
|
|
715
730
|
overlay.didDismiss.emit({ data, role });
|
|
716
|
-
|
|
731
|
+
overlay.didDismissShorthand?.emit({ data, role });
|
|
717
732
|
// Get a reference to all animations currently assigned to this overlay
|
|
718
733
|
// Then tear them down to return the overlay to its initial visual state
|
|
719
734
|
const animations = activeAnimations.get(overlay) || [];
|
|
@@ -754,7 +769,7 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
|
|
|
754
769
|
if (overlay.keyboardClose) {
|
|
755
770
|
animation.beforeAddWrite(() => {
|
|
756
771
|
const activeElement = baseEl.ownerDocument.activeElement;
|
|
757
|
-
if (activeElement
|
|
772
|
+
if (activeElement?.matches('input,ion-input, ion-textarea')) {
|
|
758
773
|
activeElement.blur();
|
|
759
774
|
}
|
|
760
775
|
});
|
|
@@ -935,4 +950,4 @@ const createTriggerController = () => {
|
|
|
935
950
|
};
|
|
936
951
|
const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
|
|
937
952
|
|
|
938
|
-
export { BACKDROP as B, FOCUS_TRAP_DISABLE_CLASS as F, GESTURE as G, OVERLAY_GESTURE_PRIORITY as O, alertController as a, actionSheetController as b,
|
|
953
|
+
export { BACKDROP as B, FOCUS_TRAP_DISABLE_CLASS as F, GESTURE as G, OVERLAY_GESTURE_PRIORITY as O, alertController as a, actionSheetController as b, createDelegateController as c, createTriggerController as d, present as e, dismiss as f, eventMethod as g, prepareOverlay as h, isCancel as i, cleanupRootFocusTrapAccessibility as j, setOverlayId as k, loadingController as l, modalController as m, focusFirstDescendant as n, getPresentedOverlay as o, popoverController as p, focusLastDescendant as q, safeCall as s, toastController as t };
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { h } from './index-ChhhtsGZ.js';
|
|
5
|
+
import { a as sanitizeDOMTree } from './index-CKM1DdGm.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Converts a DOM node into a Stencil VNode (or text string) so the
|
|
9
|
+
* resulting tree is rendered through the component's normal render
|
|
10
|
+
* path. Rendering through Stencil ensures that scoped CSS classes
|
|
11
|
+
* (e.g. `sc-ion-action-sheet-ionic`) are applied to every element.
|
|
12
|
+
*
|
|
13
|
+
* Highly recommended to pre-sanitize the source DOM (see
|
|
14
|
+
* `getOptionContent` in select.tsx). This function performs pure
|
|
15
|
+
* structural conversion — no security filtering.
|
|
16
|
+
*
|
|
17
|
+
* Preserves attributes only — properties set imperatively on the source
|
|
18
|
+
* element (e.g. `input.value` after a user types) won't carry through.
|
|
19
|
+
* In practice this isn't a concern: interactive controls shouldn't
|
|
20
|
+
* appear in select-option rich content since they'd nest inside the
|
|
21
|
+
* overlay's button/radio/checkbox wrapper, which is invalid HTML and
|
|
22
|
+
* an accessibility issue.
|
|
23
|
+
*
|
|
24
|
+
* @param node - The DOM node to convert. Text nodes become strings,
|
|
25
|
+
* element nodes become VNodes, and any other node types are skipped.
|
|
26
|
+
* @param keyPrefix - String prefix used to build a stable VNode key,
|
|
27
|
+
* so Stencil's diff can preserve elements across re-renders.
|
|
28
|
+
* @param index - Position of this node among its siblings. Combined
|
|
29
|
+
* with `keyPrefix` to form the final unique key.
|
|
30
|
+
* @returns The converted VNode, a text string, or `null` if the node
|
|
31
|
+
* type isn't supported.
|
|
32
|
+
*
|
|
33
|
+
* @internal Exported only so it can be unit tested; not part of the
|
|
34
|
+
* public API.
|
|
35
|
+
*/
|
|
36
|
+
const cloneToVNode = (node, keyPrefix, index) => {
|
|
37
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
38
|
+
return node.textContent ?? '';
|
|
39
|
+
}
|
|
40
|
+
if (node.nodeType !== Node.ELEMENT_NODE) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
const el = node;
|
|
44
|
+
const tag = el.tagName.toLowerCase();
|
|
45
|
+
const key = `${keyPrefix}-${index}`;
|
|
46
|
+
const attrs = { key };
|
|
47
|
+
for (let i = 0; i < el.attributes.length; i++) {
|
|
48
|
+
const attr = el.attributes.item(i);
|
|
49
|
+
attrs[attr.name] = attr.value;
|
|
50
|
+
}
|
|
51
|
+
const children = Array.from(el.childNodes)
|
|
52
|
+
.map((child, i) => cloneToVNode(child, key, i))
|
|
53
|
+
.filter((c) => c !== null);
|
|
54
|
+
return h(tag, attrs, children);
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Renders cloned DOM content as Stencil JSX. Walking the source DOM
|
|
58
|
+
* into VNodes (rather than injecting it via innerHTML) keeps the
|
|
59
|
+
* content inside Stencil's render path, so scoped CSS classes are
|
|
60
|
+
* applied automatically and component attributes like `size` or
|
|
61
|
+
* `color` survive intact.
|
|
62
|
+
*
|
|
63
|
+
* Span elements should be used when this content renders within buttons,
|
|
64
|
+
* depending on the select interface. Buttons can only have phrasing
|
|
65
|
+
* content to prevent accessibility issues.
|
|
66
|
+
*
|
|
67
|
+
* @param id - Unique identifier for generating stable virtual DOM keys.
|
|
68
|
+
* @param content - The HTMLElement container whose child nodes will be cloned.
|
|
69
|
+
* @param className - CSS class applied to the wrapper element.
|
|
70
|
+
* @param useSpan - Whether to use a span element instead of a div for the wrapper.
|
|
71
|
+
*/
|
|
72
|
+
const renderClonedContent = (id, content, className, useSpan = false) => {
|
|
73
|
+
const Tag = useSpan ? 'span' : 'div';
|
|
74
|
+
const keyPrefix = `${className}-${id}`;
|
|
75
|
+
/**
|
|
76
|
+
* Do not remove. This is the only sanitization pass for callers that pass
|
|
77
|
+
* an `HTMLElement` straight to `renderOptionLabel` (e.g. vanilla JS)
|
|
78
|
+
* without going through `getOptionContent`, which sanitizes upstream.
|
|
79
|
+
* `cloneToVNode` does pure structural conversion and no security
|
|
80
|
+
* filtering, so dropping this call would reopen an XSS hole on the
|
|
81
|
+
* direct `HTMLElement` path.
|
|
82
|
+
*/
|
|
83
|
+
sanitizeDOMTree(content);
|
|
84
|
+
return (h(Tag, { class: className, key: keyPrefix }, Array.from(content.childNodes).map((child, i) => cloneToVNode(child, keyPrefix, i))));
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Renders the label content for a select option within an overlay
|
|
88
|
+
* interface based on the presence of rich content.
|
|
89
|
+
*
|
|
90
|
+
* Span elements should be used when this content renders within buttons,
|
|
91
|
+
* depending on the select interface. Buttons can only have phrasing
|
|
92
|
+
* content to prevent accessibility issues.
|
|
93
|
+
*
|
|
94
|
+
* @param option - The content option data containing label, slots,
|
|
95
|
+
* and description.
|
|
96
|
+
* @param className - The base CSS class for the label element.
|
|
97
|
+
* @param useSpan - Whether to use a span element instead of a div for the label.
|
|
98
|
+
*/
|
|
99
|
+
const renderOptionLabel = (option, className, useSpan = false) => {
|
|
100
|
+
const { id, label, startContent, endContent, description } = option;
|
|
101
|
+
const hasRichContent = !!startContent || !!endContent || !!description;
|
|
102
|
+
const Tag = useSpan ? 'span' : 'div';
|
|
103
|
+
// Render simple string label if there is no rich content to display
|
|
104
|
+
if (!hasRichContent && (typeof label === 'string' || !label)) {
|
|
105
|
+
return (h(Tag, { class: className, key: `${className}-${id}` }, label));
|
|
106
|
+
}
|
|
107
|
+
// Render the main label
|
|
108
|
+
const labelEl = typeof label === 'string' || !label ? (
|
|
109
|
+
// Label is a simple string or undefined
|
|
110
|
+
h(Tag, { key: `${className}-label-${id}` }, label)) : (
|
|
111
|
+
// Label is an HTMLElement with potential rich content
|
|
112
|
+
renderClonedContent(id, label, `${className}-text`, useSpan));
|
|
113
|
+
// No rich content, render just the label
|
|
114
|
+
if (!hasRichContent) {
|
|
115
|
+
return (h(Tag, { class: className, key: `${className}-${id}` }, labelEl));
|
|
116
|
+
}
|
|
117
|
+
// Render label with rich content (start, end, description)
|
|
118
|
+
return (h(Tag, { class: `${className} ${className}-has-rich-content`, key: `${className}-${id}` }, startContent && renderClonedContent(id, startContent, 'select-option-start', useSpan), h(Tag, { class: "select-option-content", key: `${className}-content-${id}` }, labelEl, description && (h(Tag, { class: "select-option-description", key: `${className}-desc-${id}` }, description))), endContent && renderClonedContent(id, endContent, 'select-option-end', useSpan)));
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
export { renderOptionLabel as r };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { a as readTask, w as writeTask } from './index-
|
|
5
|
-
import { a as findClosestIonContent, s as scrollToTop } from './index-
|
|
6
|
-
import { c as componentOnReady } from './helpers-
|
|
4
|
+
import { a as readTask, w as writeTask } from './index-ChhhtsGZ.js';
|
|
5
|
+
import { a as findClosestIonContent, s as scrollToTop } from './index-_Za5VB9w.js';
|
|
6
|
+
import { c as componentOnReady } from './helpers-DexiPLIC.js';
|
|
7
7
|
|
|
8
8
|
const startStatusTap = () => {
|
|
9
9
|
const win = window;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { e as clamp } from './helpers-
|
|
5
|
-
import { i as isRTL } from './dir-
|
|
6
|
-
import { createGesture } from './index-
|
|
7
|
-
import './index-
|
|
8
|
-
import './gesture-controller-
|
|
4
|
+
import { e as clamp } from './helpers-DexiPLIC.js';
|
|
5
|
+
import { i as isRTL } from './dir-B-FxiyeI.js';
|
|
6
|
+
import { createGesture } from './index-DppOcPFQ.js';
|
|
7
|
+
import './index-ChhhtsGZ.js';
|
|
8
|
+
import './gesture-controller-TXPDHL13.js';
|
|
9
9
|
|
|
10
10
|
const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
|
|
11
11
|
const win = el.ownerDocument.defaultView;
|
|
@@ -9,7 +9,12 @@ const hostContext = (selector, el) => {
|
|
|
9
9
|
*/
|
|
10
10
|
const createColorClasses = (color, cssClassMap) => {
|
|
11
11
|
return typeof color === 'string' && color.length > 0
|
|
12
|
-
?
|
|
12
|
+
? {
|
|
13
|
+
'ion-color': true,
|
|
14
|
+
[`ion-color-${color}`]: true,
|
|
15
|
+
...cssClassMap,
|
|
16
|
+
}
|
|
17
|
+
: cssClassMap;
|
|
13
18
|
};
|
|
14
19
|
const getClassList = (classes) => {
|
|
15
20
|
if (classes !== undefined) {
|
package/dist/html.html-data.json
CHANGED
|
@@ -2441,15 +2441,7 @@
|
|
|
2441
2441
|
},
|
|
2442
2442
|
{
|
|
2443
2443
|
"name": "autocorrect",
|
|
2444
|
-
"description": "Whether auto correction should be enabled when the user is entering/editing the text value."
|
|
2445
|
-
"values": [
|
|
2446
|
-
{
|
|
2447
|
-
"name": "off"
|
|
2448
|
-
},
|
|
2449
|
-
{
|
|
2450
|
-
"name": "on"
|
|
2451
|
-
}
|
|
2452
|
-
]
|
|
2444
|
+
"description": "Whether auto correction should be enabled when the user is entering/editing the text value."
|
|
2453
2445
|
},
|
|
2454
2446
|
{
|
|
2455
2447
|
"name": "autofocus",
|
|
@@ -3830,7 +3822,7 @@
|
|
|
3830
3822
|
},
|
|
3831
3823
|
{
|
|
3832
3824
|
"name": "handle-behavior",
|
|
3833
|
-
"description": "The interaction behavior for the sheet modal when the handle is pressed.\n\
|
|
3825
|
+
"description": "The interaction behavior for the sheet modal when the handle is pressed.\n\nHandle behavior is unavailable when the `handle` property is set to\n`false` or when the `breakpoints` property is not set (using a\nfullscreen or card modal).\n\nSet to `\"cycle\"` to make the handle focusable and let the sheet modal\ncycle between available breakpoints when pressed. This keeps the sheet\noperable with assistive technology.\n\nSet to `\"none\"` to make the handle purely decorative when pressed and\nremoved from the tab order.\n\nDefaults to `\"cycle\"`.",
|
|
3834
3826
|
"values": [
|
|
3835
3827
|
{
|
|
3836
3828
|
"name": "cycle"
|
|
@@ -4156,65 +4148,6 @@
|
|
|
4156
4148
|
}
|
|
4157
4149
|
]
|
|
4158
4150
|
},
|
|
4159
|
-
{
|
|
4160
|
-
"name": "ion-picker-legacy",
|
|
4161
|
-
"description": {
|
|
4162
|
-
"kind": "markdown",
|
|
4163
|
-
"value": ""
|
|
4164
|
-
},
|
|
4165
|
-
"attributes": [
|
|
4166
|
-
{
|
|
4167
|
-
"name": "animated",
|
|
4168
|
-
"description": "If `true`, the picker will animate."
|
|
4169
|
-
},
|
|
4170
|
-
{
|
|
4171
|
-
"name": "backdrop-dismiss",
|
|
4172
|
-
"description": "If `true`, the picker will be dismissed when the backdrop is clicked."
|
|
4173
|
-
},
|
|
4174
|
-
{
|
|
4175
|
-
"name": "css-class",
|
|
4176
|
-
"description": "Additional classes to apply for custom CSS. If multiple classes are\nprovided they should be separated by spaces."
|
|
4177
|
-
},
|
|
4178
|
-
{
|
|
4179
|
-
"name": "duration",
|
|
4180
|
-
"description": "Number of milliseconds to wait before dismissing the picker."
|
|
4181
|
-
},
|
|
4182
|
-
{
|
|
4183
|
-
"name": "is-open",
|
|
4184
|
-
"description": "If `true`, the picker will open. If `false`, the picker will close.\nUse this if you need finer grained control over presentation, otherwise\njust use the pickerController or the `trigger` property.\nNote: `isOpen` will not automatically be set back to `false` when\nthe picker dismisses. You will need to do that in your code."
|
|
4185
|
-
},
|
|
4186
|
-
{
|
|
4187
|
-
"name": "keyboard-close",
|
|
4188
|
-
"description": "If `true`, the keyboard will be automatically dismissed when the overlay is presented."
|
|
4189
|
-
},
|
|
4190
|
-
{
|
|
4191
|
-
"name": "mode",
|
|
4192
|
-
"description": "The mode determines which platform styles to use.",
|
|
4193
|
-
"values": [
|
|
4194
|
-
{
|
|
4195
|
-
"name": "ios"
|
|
4196
|
-
},
|
|
4197
|
-
{
|
|
4198
|
-
"name": "md"
|
|
4199
|
-
}
|
|
4200
|
-
]
|
|
4201
|
-
},
|
|
4202
|
-
{
|
|
4203
|
-
"name": "show-backdrop",
|
|
4204
|
-
"description": "If `true`, a backdrop will be displayed behind the picker."
|
|
4205
|
-
},
|
|
4206
|
-
{
|
|
4207
|
-
"name": "trigger",
|
|
4208
|
-
"description": "An ID corresponding to the trigger element that\ncauses the picker to open when clicked."
|
|
4209
|
-
}
|
|
4210
|
-
],
|
|
4211
|
-
"references": [
|
|
4212
|
-
{
|
|
4213
|
-
"name": "Source code",
|
|
4214
|
-
"url": "https:/github.com/ionic-team/ionic-framework/tree/main/core/src/components/picker-legacy/picker.tsx"
|
|
4215
|
-
}
|
|
4216
|
-
]
|
|
4217
|
-
},
|
|
4218
4151
|
{
|
|
4219
4152
|
"name": "ion-popover",
|
|
4220
4153
|
"description": {
|
|
@@ -4922,7 +4855,7 @@
|
|
|
4922
4855
|
"attributes": [
|
|
4923
4856
|
{
|
|
4924
4857
|
"name": "component",
|
|
4925
|
-
"description": "Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-
|
|
4858
|
+
"description": "Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-router-outlet`)\nwhen the route matches.\n\nThe value of this property is not always the tagname of the component to load,\nin `ion-tabs` it actually refers to the name of the `ion-tab` to select."
|
|
4926
4859
|
},
|
|
4927
4860
|
{
|
|
4928
4861
|
"name": "url",
|
|
@@ -5079,6 +5012,10 @@
|
|
|
5079
5012
|
"name": "md"
|
|
5080
5013
|
}
|
|
5081
5014
|
]
|
|
5015
|
+
},
|
|
5016
|
+
{
|
|
5017
|
+
"name": "swipe-gesture",
|
|
5018
|
+
"description": "If `true`, the router-outlet should allow navigation via swipe-to-go-back gesture.\nDefaults to `true` for `\"ios\"` mode and `false` for `\"md\"` mode."
|
|
5082
5019
|
}
|
|
5083
5020
|
],
|
|
5084
5021
|
"references": [
|
|
@@ -5287,15 +5224,7 @@
|
|
|
5287
5224
|
},
|
|
5288
5225
|
{
|
|
5289
5226
|
"name": "autocorrect",
|
|
5290
|
-
"description": "Set the input's autocorrect property."
|
|
5291
|
-
"values": [
|
|
5292
|
-
{
|
|
5293
|
-
"name": "off"
|
|
5294
|
-
},
|
|
5295
|
-
{
|
|
5296
|
-
"name": "on"
|
|
5297
|
-
}
|
|
5298
|
-
]
|
|
5227
|
+
"description": "Set the input's autocorrect property."
|
|
5299
5228
|
},
|
|
5300
5229
|
{
|
|
5301
5230
|
"name": "cancel-button-icon",
|
|
@@ -5940,9 +5869,52 @@
|
|
|
5940
5869
|
"value": ""
|
|
5941
5870
|
},
|
|
5942
5871
|
"attributes": [
|
|
5872
|
+
{
|
|
5873
|
+
"name": "description",
|
|
5874
|
+
"description": "Text that is placed underneath the option text to provide additional details about the option."
|
|
5875
|
+
},
|
|
5943
5876
|
{
|
|
5944
5877
|
"name": "disabled",
|
|
5945
|
-
"description": "If `true`, the user cannot interact with the select option.
|
|
5878
|
+
"description": "If `true`, the user cannot interact with the select option."
|
|
5879
|
+
},
|
|
5880
|
+
{
|
|
5881
|
+
"name": "justify",
|
|
5882
|
+
"description": "How to pack the label and the option's selection control within a line.\n`\"start\"`: The label and radio will appear on the left in LTR and\non the right in RTL.\n`\"end\"`: The label and radio will appear on the right in LTR and\non the left in RTL.\n`\"space-between\"`: The label and radio will appear on opposite\nends of the line with space between the two elements.\n\nApplies to the `alert`, `popover`, and `modal` interfaces, but has no\nvisible effect on radio options in `popover` or `modal` on `md` (the radio control is hidden there).\n\nWhen unset, the interface picks a default based on mode and control\ntype.",
|
|
5883
|
+
"values": [
|
|
5884
|
+
{
|
|
5885
|
+
"name": "end"
|
|
5886
|
+
},
|
|
5887
|
+
{
|
|
5888
|
+
"name": "space-between"
|
|
5889
|
+
},
|
|
5890
|
+
{
|
|
5891
|
+
"name": "start"
|
|
5892
|
+
}
|
|
5893
|
+
]
|
|
5894
|
+
},
|
|
5895
|
+
{
|
|
5896
|
+
"name": "label-placement",
|
|
5897
|
+
"description": "Where the label is placed relative to the option's selection control\n(radio circle or checkbox box) when the option is rendered in an\n`alert`, `popover`, or `modal` interface.\n`\"start\"`: The label will appear to the left of the radio in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the radio in LTR and to the left in RTL.\n\nApplies to the `alert`, `popover`, and `modal` interfaces, but has no\nvisible effect on radio options in `popover` or `modal` on `md` (the radio control is hidden there).\n\nWhen unset, the interface picks a default based on mode and control\ntype.",
|
|
5898
|
+
"values": [
|
|
5899
|
+
{
|
|
5900
|
+
"name": "end"
|
|
5901
|
+
},
|
|
5902
|
+
{
|
|
5903
|
+
"name": "start"
|
|
5904
|
+
}
|
|
5905
|
+
]
|
|
5906
|
+
},
|
|
5907
|
+
{
|
|
5908
|
+
"name": "mode",
|
|
5909
|
+
"description": "The mode determines the platform behaviors of the component.",
|
|
5910
|
+
"values": [
|
|
5911
|
+
{
|
|
5912
|
+
"name": "ios"
|
|
5913
|
+
},
|
|
5914
|
+
{
|
|
5915
|
+
"name": "md"
|
|
5916
|
+
}
|
|
5917
|
+
]
|
|
5946
5918
|
},
|
|
5947
5919
|
{
|
|
5948
5920
|
"name": "value",
|
package/dist/ionic/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
export{c as createAnimation}from"./p-
|
|
4
|
+
export{c as createAnimation}from"./p-4eOQC00Z.js";export{a as LIFECYCLE_DID_ENTER,c as LIFECYCLE_DID_LEAVE,L as LIFECYCLE_WILL_ENTER,b as LIFECYCLE_WILL_LEAVE,d as LIFECYCLE_WILL_UNLOAD,g as getIonPageElement}from"./p-DDhtUaaA.js";export{iosTransitionAnimation}from"./p-C6eME8Ey.js";export{mdTransitionAnimation}from"./p-BQ8oNV0v.js";export{g as getTimeGivenProgression}from"./p-hHmYLOfE.js";export{createGesture}from"./p-CmKf4pgI.js";export{g as getPlatforms,i as initialize,a as isPlatform}from"./p-CMRtMbJc.js";export{c as componentOnReady}from"./p-CKUuSnDR.js";export{L as LogLevel}from"./p-ChhhtsGZ.js";export{I as IonicSafeString}from"./p-Dn0mqQ_R.js";export{g as getMode,s as setupConfig}from"./p-DWCzVL3Y.js";export{o as openURL}from"./p-byZM6qHV.js";export{m as menuController}from"./p-I3In7hMC.js";export{b as actionSheetController,a as alertController,l as loadingController,m as modalController,p as popoverController,t as toastController}from"./p-0FNc80PN.js";import"./p-ZjP4CjeZ.js";import"./p-TXPDHL13.js";import"./p-BB0LlG4y.js";import"./p-DCI3rXQo.js";const e=e=>{const{swiper:o,extendParams:t}=e,s={effect:void 0,direction:"horizontal",initialSlide:0,loop:!1,parallax:!1,slidesPerView:1,spaceBetween:0,speed:300,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,touchEventsTarget:"container",freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,zoom:{maxRatio:3,minRatio:1,toggle:!1},touchRatio:1,touchAngle:45,simulateTouch:!0,touchStartPreventDefault:!1,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,threshold:0,touchMoveStopPropagation:!0,touchReleaseOnEdges:!1,iOSEdgeSwipeDetection:!1,iOSEdgeSwipeThreshold:20,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loopAdditionalSlides:0,noSwiping:!0,runCallbacksOnInit:!0,coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0},flipEffect:{slideShadows:!0,limitRotation:!0},cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94},fadeEffect:{crossFade:!1},a11y:{prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide"}};o.pagination&&(s.pagination={type:"bullets",clickable:!1,hideOnClick:!1}),o.scrollbar&&(s.scrollbar={hide:!0}),t(s)};export{e as IonicSlides}
|