@ionic/core 8.8.6-dev.11777569278.1613db2e → 8.8.6-dev.11777572994.1147595d
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/{dist/ionic/p-BsfuYVMP.js → components/p-9VcRUwdB.js} +1 -1
- package/components/p-B6FQ0cKR.js +4 -0
- package/components/p-B6HaBl3o.js +4 -0
- package/components/p-B8b1Ukl9.js +4 -0
- package/components/p-BGHGpkPX.js +4 -0
- package/components/p-BHlzkIpO.js +4 -0
- package/components/p-BJoMtgfR.js +4 -0
- package/components/p-BNAG-aVv.js +4 -0
- package/components/p-BR3tZJmu.js +4 -0
- package/{dist/ionic/p-C8IHbcuP.js → components/p-BS1TtEiJ.js} +1 -1
- package/components/p-BUbsoBOV.js +4 -0
- package/components/p-BYDc3hSE.js +4 -0
- package/components/p-BagjAGC0.js +4 -0
- package/components/p-BeL7B3Bb.js +4 -0
- package/components/p-Bg7NsGS9.js +4 -0
- package/components/p-BgwEQWW6.js +4 -0
- package/components/p-BmVRXR1y.js +4 -0
- package/components/p-BxwWvu-b.js +4 -0
- package/components/p-C4jPsTQa.js +4 -0
- package/components/p-C59ryAuS.js +4 -0
- package/components/p-CBzELu-H.js +4 -0
- package/components/p-CDXBV7oG.js +4 -0
- package/components/p-CDfQnFrd.js +4 -0
- package/components/p-CIGNaXM1.js +4 -0
- package/components/p-CO7fmmxt.js +4 -0
- package/components/p-CU1SSH8_.js +4 -0
- package/components/p-CWpbvhwY.js +4 -0
- package/components/p-CgqKJg96.js +4 -0
- package/components/p-CneGxKsZ.js +4 -0
- package/components/p-CoA-aqGF.js +4 -0
- package/components/p-Csw8xuz4.js +4 -0
- package/components/p-Ct3FLpwo.js +4 -0
- package/components/p-CtWGkNnJ.js +4 -0
- package/components/{p-CjSx8W-k.js → p-Cwv-vmkN.js} +1 -1
- package/components/p-Cy5XSfIk.js +4 -0
- package/components/p-Cz5nLPGT.js +4 -0
- package/components/{p-9gxM3tAr.js → p-D13Eaw-8.js} +1 -1
- package/components/p-D6NJwNJN.js +4 -0
- package/components/p-D6Ynv7Xh.js +4 -0
- package/components/p-DBHdZu4y.js +4 -0
- package/components/p-DJztqcrH.js +4 -0
- package/components/p-DL2W2mt3.js +4 -0
- package/components/p-DPdqO7R6.js +4 -0
- package/components/p-DYdpXONG.js +4 -0
- package/components/p-DbISMmiI.js +4 -0
- package/components/p-DgbT0exM.js +4 -0
- package/components/p-DiVJyqlX.js +4 -0
- package/components/p-DrIm1s9R.js +4 -0
- package/components/p-DvOO1fxp.js +4 -0
- package/components/p-DxXmSp9Y.js +4 -0
- package/components/p-FBcnjE5W.js +4 -0
- package/components/p-OOMJP0jy.js +4 -0
- package/components/p-SBseW5KJ.js +4 -0
- package/components/{p-zWP0sUV_.js → p-YLXPWgVj.js} +1 -1
- package/components/p-ZjP4CjeZ.js +4 -0
- package/{dist/ionic/p-ZqkJDyhe.js → components/p-ak_d-z48.js} +1 -1
- package/{dist/ionic/p-CbkICFBN.js → components/p-cyNmxje6.js} +1 -1
- package/components/p-nPoOPlPt.js +4 -0
- package/components/p-vEbVo2hO.js +4 -0
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-swiper.css +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-DknMeJ3x.js → animation-Dg4yiuR2.js} +3 -3
- package/dist/cjs/{app-globals-DtAeky3x.js → app-globals-CLI8xCmk.js} +1 -1
- package/dist/cjs/{button-active-JoIWyYri.js → button-active-FscMI17-.js} +2 -2
- package/dist/cjs/{capacitor-BnRBm_ys.js → capacitor-DmA66EwP.js} +3 -3
- package/dist/cjs/{index-BJlwOs11.js → config-BukYi_pW.js} +31 -1
- package/dist/cjs/{data-DuOuKG7I.js → data-BYlBjkMU.js} +6 -6
- package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
- package/dist/cjs/{framework-delegate-Dx9FrqAC.js → framework-delegate-CRgp8o_p.js} +2 -4
- package/dist/cjs/{haptic-D3Ay9mmg.js → haptic-ClPPQ_PS.js} +1 -1
- package/dist/cjs/hardware-back-button-C4rMJ5uI.js +121 -0
- package/dist/cjs/{helpers-DJYxKN5U.js → helpers-CxTYJdbT.js} +4 -57
- package/dist/cjs/{index-D_mPAIqF.js → index-C845Ti6K.js} +4 -4
- package/dist/cjs/{index-Cer2Qy4I.js → index-CFUwM5x_.js} +15 -15
- package/dist/cjs/{index-CzcLEdQ5.js → index-CqT-2gKy.js} +4 -41
- package/dist/cjs/index-DkNv4J_i.js +10 -0
- package/dist/cjs/{index-CgAbCW6L.js → index-DqmRDbxg.js} +0 -2
- package/dist/cjs/{index-BJrpF9T3.js → index-MbaBbWXk.js} +2 -2
- package/dist/cjs/{index-DMJjUhXH.js → index-YcSftOMz.js} +8 -9
- package/dist/cjs/index.cjs.js +16 -17
- package/dist/cjs/{input-shims-Dn33gFln.js → input-shims-Dl5cnc_e.js} +17 -18
- package/dist/cjs/{input.utils-DnVnhWEF.js → input.utils-DmeJ8dmo.js} +5 -5
- package/dist/cjs/ion-accordion_2.cjs.entry.js +29 -61
- package/dist/cjs/ion-action-sheet.cjs.entry.js +26 -41
- package/dist/cjs/ion-alert.cjs.entry.js +45 -62
- package/dist/cjs/ion-app_8.cjs.entry.js +175 -296
- package/dist/cjs/ion-avatar_3.cjs.entry.js +13 -125
- package/dist/cjs/ion-back-button.cjs.entry.js +22 -31
- package/dist/cjs/ion-backdrop.cjs.entry.js +7 -10
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +18 -54
- package/dist/cjs/ion-button_2.cjs.entry.js +22 -59
- package/dist/cjs/ion-card_5.cjs.entry.js +33 -55
- package/dist/cjs/ion-checkbox.cjs.entry.js +16 -34
- package/dist/cjs/ion-chip.cjs.entry.js +9 -50
- package/dist/cjs/ion-col_3.cjs.entry.js +57 -56
- package/dist/cjs/ion-datetime-button.cjs.entry.js +9 -13
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +29 -742
- package/dist/cjs/ion-fab_3.cjs.entry.js +28 -44
- package/dist/cjs/ion-img.cjs.entry.js +4 -8
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -93
- package/dist/cjs/ion-input-otp.cjs.entry.js +9 -74
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +15 -53
- package/dist/cjs/ion-input.cjs.entry.js +34 -124
- package/dist/cjs/ion-item-option_3.cjs.entry.js +21 -186
- package/dist/cjs/ion-item_8.cjs.entry.js +49 -116
- package/dist/cjs/ion-loading.cjs.entry.js +23 -22
- package/dist/cjs/ion-menu_3.cjs.entry.js +29 -47
- package/dist/cjs/ion-modal.cjs.entry.js +142 -262
- package/dist/cjs/ion-nav_2.cjs.entry.js +11 -14
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -12
- package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
- package/dist/cjs/ion-picker.cjs.entry.js +6 -10
- package/dist/cjs/ion-popover.cjs.entry.js +23 -21
- package/dist/cjs/ion-progress-bar.cjs.entry.js +9 -27
- package/dist/cjs/ion-radio_2.cjs.entry.js +17 -35
- package/dist/cjs/ion-range.cjs.entry.js +13 -20
- package/dist/cjs/ion-refresher_2.cjs.entry.js +23 -42
- package/dist/cjs/ion-reorder_2.cjs.entry.js +14 -38
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -15
- package/dist/cjs/ion-route_4.cjs.entry.js +9 -10
- package/dist/cjs/ion-searchbar.cjs.entry.js +24 -137
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +3 -6
- package/dist/cjs/ion-segment_2.cjs.entry.js +16 -23
- package/dist/cjs/ion-select-modal.cjs.entry.js +40 -97
- package/dist/cjs/ion-select_3.cjs.entry.js +84 -453
- package/dist/cjs/ion-spinner.cjs.entry.js +8 -30
- package/dist/cjs/ion-split-pane.cjs.entry.js +9 -13
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +23 -147
- package/dist/cjs/ion-tab_2.cjs.entry.js +7 -8
- package/dist/cjs/ion-text.cjs.entry.js +7 -7
- package/dist/cjs/ion-textarea.cjs.entry.js +23 -137
- package/dist/cjs/ion-toast.cjs.entry.js +46 -70
- package/dist/cjs/ion-toggle.cjs.entry.js +25 -82
- package/dist/cjs/ionic-global-Bc3kJi1Z.js +151 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-UCjoxA3D.js → ios.transition-trBiC95R.js} +5 -7
- package/dist/cjs/{keyboard-Dsczf-iT.js → keyboard-UuAS4D_9.js} +1 -1
- package/dist/cjs/{keyboard-controller-tqGDP9SU.js → keyboard-controller-GXBiBRKS.js} +9 -11
- package/dist/cjs/{keyboard-Bhav6x-R.js → keyboard-hHzlEQpk.js} +3 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-CNwlchQn.js → md.transition-CUQECuvD.js} +5 -6
- package/dist/cjs/{notch-controller-CgtkBzy0.js → notch-controller-sD-lTpdc.js} +4 -4
- package/dist/cjs/{overlays-Hci_7vw_.js → overlays-DIfHxkst.js} +42 -117
- package/dist/cjs/{status-tap-CTY2dMsZ.js → status-tap-CCJk5VgT.js} +3 -4
- package/dist/cjs/{swipe-back-jJFi5KCB.js → swipe-back-BGhTQ1CU.js} +2 -3
- package/dist/cjs/{theme-IlOsGAz7.js → theme-CeDs6Hcv.js} +1 -25
- package/dist/cjs/validity-BpS37YFM.js +19 -0
- package/dist/collection/collection-manifest.json +1 -12
- package/dist/collection/components/accordion/accordion.ios.css +58 -73
- package/dist/collection/components/accordion/accordion.js +27 -41
- package/dist/collection/components/accordion/accordion.md.css +59 -67
- package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
- package/dist/collection/components/accordion-group/accordion-group.js +8 -44
- package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
- package/dist/collection/components/action-sheet/action-sheet.ios.css +6 -102
- package/dist/collection/components/action-sheet/action-sheet.js +18 -33
- package/dist/collection/components/action-sheet/action-sheet.md.css +5 -101
- package/dist/collection/components/alert/alert.ios.css +1 -102
- package/dist/collection/components/alert/alert.js +35 -52
- package/dist/collection/components/alert/alert.md.css +1 -102
- package/dist/collection/components/app/app.js +83 -15
- package/dist/collection/components/avatar/avatar.ios.css +33 -7
- package/dist/collection/components/avatar/avatar.js +4 -120
- package/dist/collection/components/avatar/avatar.md.css +0 -51
- package/dist/collection/components/back-button/back-button.ios.css +48 -60
- package/dist/collection/components/back-button/back-button.js +19 -27
- package/dist/collection/components/back-button/back-button.md.css +48 -60
- package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
- package/dist/collection/components/backdrop/backdrop.js +6 -12
- package/dist/collection/components/backdrop/backdrop.md.css +19 -56
- package/dist/collection/components/badge/badge.ios.css +12 -139
- package/dist/collection/components/badge/badge.js +9 -145
- package/dist/collection/components/badge/badge.md.css +12 -123
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
- package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
- package/dist/collection/components/button/button.ios.css +46 -154
- package/dist/collection/components/button/button.js +27 -63
- package/dist/collection/components/button/button.md.css +50 -150
- package/dist/collection/components/buttons/buttons.ios.css +7 -59
- package/dist/collection/components/buttons/buttons.js +9 -15
- package/dist/collection/components/buttons/buttons.md.css +3 -55
- package/dist/collection/components/card/card.ios.css +14 -65
- package/dist/collection/components/card/card.js +10 -41
- package/dist/collection/components/card/card.md.css +14 -65
- package/dist/collection/components/card-content/card-content.ios.css +35 -20
- package/dist/collection/components/card-content/card-content.js +10 -12
- package/dist/collection/components/card-content/card-content.md.css +35 -20
- package/dist/collection/components/card-header/card-header.ios.css +15 -27
- package/dist/collection/components/card-header/card-header.js +10 -13
- package/dist/collection/components/card-header/card-header.md.css +15 -27
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
- package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
- package/dist/collection/components/card-title/card-title.ios.css +0 -73
- package/dist/collection/components/card-title/card-title.js +8 -11
- package/dist/collection/components/card-title/card-title.md.css +0 -73
- package/dist/collection/components/checkbox/checkbox.ios.css +101 -161
- package/dist/collection/components/checkbox/checkbox.js +14 -70
- package/dist/collection/components/checkbox/checkbox.md.css +102 -162
- package/dist/collection/components/chip/chip.ios.css +14 -67
- package/dist/collection/components/chip/chip.js +8 -108
- package/dist/collection/components/chip/chip.md.css +14 -67
- package/dist/collection/components/col/col.css +4 -192
- package/dist/collection/components/col/col.js +61 -211
- package/dist/collection/components/content/content.css +2 -8
- package/dist/collection/components/content/content.js +11 -16
- package/dist/collection/components/datetime/datetime.ios.css +106 -302
- package/dist/collection/components/datetime/datetime.js +20 -98
- package/dist/collection/components/datetime/datetime.md.css +96 -293
- package/dist/collection/components/datetime/utils/data.js +5 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
- package/dist/collection/components/datetime-button/datetime-button.js +8 -11
- package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
- package/dist/collection/components/fab/fab.css +1 -25
- package/dist/collection/components/fab/fab.js +5 -9
- package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
- package/dist/collection/components/fab-button/fab-button.js +21 -36
- package/dist/collection/components/fab-button/fab-button.md.css +8 -20
- package/dist/collection/components/fab-list/fab-list.css +0 -12
- package/dist/collection/components/fab-list/fab-list.js +5 -9
- package/dist/collection/components/footer/footer.ios.css +2 -14
- package/dist/collection/components/footer/footer.js +16 -21
- package/dist/collection/components/footer/footer.md.css +0 -12
- package/dist/collection/components/grid/grid.css +0 -12
- package/dist/collection/components/grid/grid.js +5 -9
- package/dist/collection/components/header/header.ios.css +10 -25
- package/dist/collection/components/header/header.js +19 -50
- package/dist/collection/components/header/header.md.css +8 -23
- package/dist/collection/components/header/header.utils.js +5 -5
- package/dist/collection/components/img/img.js +2 -8
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
- package/dist/collection/components/input/input.ios.css +135 -223
- package/dist/collection/components/input/input.js +37 -148
- package/dist/collection/components/input/input.md.css +207 -193
- package/dist/collection/components/input-otp/input-otp.ios.css +60 -105
- package/dist/collection/components/input-otp/input-otp.js +6 -73
- package/dist/collection/components/input-otp/input-otp.md.css +60 -105
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
- package/dist/collection/components/item/item.ios.css +69 -109
- package/dist/collection/components/item/item.js +20 -51
- package/dist/collection/components/item/item.md.css +68 -120
- package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
- package/dist/collection/components/item-divider/item-divider.js +8 -11
- package/dist/collection/components/item-divider/item-divider.md.css +0 -18
- package/dist/collection/components/item-group/item-group.ios.css +0 -12
- package/dist/collection/components/item-group/item-group.js +7 -13
- package/dist/collection/components/item-group/item-group.md.css +0 -12
- package/dist/collection/components/item-option/item-option.ios.css +29 -136
- package/dist/collection/components/item-option/item-option.js +9 -73
- package/dist/collection/components/item-option/item-option.md.css +29 -136
- package/dist/collection/components/item-options/item-options.ios.css +34 -77
- package/dist/collection/components/item-options/item-options.js +7 -13
- package/dist/collection/components/item-options/item-options.md.css +34 -77
- package/dist/collection/components/item-sliding/item-sliding.css +0 -6
- package/dist/collection/components/item-sliding/item-sliding.js +4 -144
- package/dist/collection/components/item-sliding/test/test.utils.js +0 -13
- package/dist/collection/components/label/label.ios.css +0 -18
- package/dist/collection/components/label/label.js +8 -11
- package/dist/collection/components/label/label.md.css +0 -18
- package/dist/collection/components/list/list.ios.css +14 -54
- package/dist/collection/components/list/list.js +9 -48
- package/dist/collection/components/list/list.md.css +16 -56
- package/dist/collection/components/list-header/list-header.ios.css +38 -82
- package/dist/collection/components/list-header/list-header.js +8 -11
- package/dist/collection/components/list-header/list-header.md.css +38 -82
- package/dist/collection/components/loading/loading.ios.css +1 -13
- package/dist/collection/components/loading/loading.js +16 -15
- package/dist/collection/components/loading/loading.md.css +1 -13
- package/dist/collection/components/menu/menu.ios.css +3 -15
- package/dist/collection/components/menu/menu.js +7 -12
- package/dist/collection/components/menu/menu.md.css +3 -15
- package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
- package/dist/collection/components/menu-button/menu-button.js +10 -26
- package/dist/collection/components/menu-button/menu-button.md.css +15 -49
- package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
- package/dist/collection/components/modal/animations/sheet.js +2 -8
- package/dist/collection/components/modal/gestures/sheet.js +10 -76
- package/dist/collection/components/modal/modal.ios.css +70 -178
- package/dist/collection/components/modal/modal.js +17 -51
- package/dist/collection/components/modal/modal.md.css +70 -178
- package/dist/collection/components/nav/nav.css +1 -7
- package/dist/collection/components/nav/nav.js +5 -11
- package/dist/collection/components/nav-link/nav-link.js +1 -5
- package/dist/collection/components/note/note.ios.css +0 -12
- package/dist/collection/components/note/note.js +8 -11
- package/dist/collection/components/note/note.md.css +0 -12
- package/dist/collection/components/picker/picker.ios.css +3 -15
- package/dist/collection/components/picker/picker.js +5 -8
- package/dist/collection/components/picker/picker.md.css +3 -15
- package/dist/collection/components/picker-column/picker-column.css +2 -9
- package/dist/collection/components/picker-column/picker-column.js +7 -8
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
- package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
- package/dist/collection/components/popover/popover.ios.css +1 -29
- package/dist/collection/components/popover/popover.js +20 -19
- package/dist/collection/components/popover/popover.md.css +1 -29
- package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
- package/dist/collection/components/progress-bar/progress-bar.js +7 -43
- package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
- package/dist/collection/components/radio/radio.ios.css +91 -134
- package/dist/collection/components/radio/radio.js +10 -15
- package/dist/collection/components/radio/radio.md.css +91 -134
- package/dist/collection/components/radio-group/radio-group.ios.css +19 -43
- package/dist/collection/components/radio-group/radio-group.js +7 -48
- package/dist/collection/components/radio-group/radio-group.md.css +19 -43
- package/dist/collection/components/range/range.ios.css +85 -128
- package/dist/collection/components/range/range.js +10 -16
- package/dist/collection/components/range/range.md.css +85 -128
- package/dist/collection/components/refresher/refresher.ios.css +1 -14
- package/dist/collection/components/refresher/refresher.js +8 -11
- package/dist/collection/components/refresher/refresher.md.css +2 -15
- package/dist/collection/components/refresher-content/refresher-content.js +7 -28
- package/dist/collection/components/reorder/reorder.ios.css +0 -6
- package/dist/collection/components/reorder/reorder.js +6 -33
- package/dist/collection/components/reorder/reorder.md.css +0 -6
- package/dist/collection/components/reorder-group/reorder-group.css +0 -6
- package/dist/collection/components/reorder-group/reorder-group.js +4 -8
- package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
- package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
- package/dist/collection/components/route/route.js +0 -4
- package/dist/collection/components/router/router.js +0 -4
- package/dist/collection/components/router-link/router-link.css +2 -8
- package/dist/collection/components/router-link/router-link.js +5 -9
- package/dist/collection/components/router-outlet/router-outlet.css +1 -7
- package/dist/collection/components/router-outlet/router-outlet.js +40 -10
- package/dist/collection/components/row/row.css +0 -16
- package/dist/collection/components/row/row.js +2 -9
- package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
- package/dist/collection/components/searchbar/searchbar.js +33 -180
- package/dist/collection/components/searchbar/searchbar.md.css +18 -56
- package/dist/collection/components/segment/segment.ios.css +2 -45
- package/dist/collection/components/segment/segment.js +8 -11
- package/dist/collection/components/segment/segment.md.css +2 -45
- package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
- package/dist/collection/components/segment-button/segment-button.js +8 -11
- package/dist/collection/components/segment-button/segment-button.md.css +107 -148
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
- package/dist/collection/components/segment-view/segment-view.js +4 -6
- package/dist/collection/components/segment-view/segment-view.md.css +0 -6
- package/dist/collection/components/select/select.ios.css +176 -348
- package/dist/collection/components/select/select.js +66 -434
- package/dist/collection/components/select/select.md.css +178 -364
- package/dist/collection/components/select-modal/select-modal.ios.css +0 -95
- package/dist/collection/components/select-modal/select-modal.js +32 -109
- package/dist/collection/components/select-modal/select-modal.md.css +0 -83
- package/dist/collection/components/select-option/select-option.js +2 -32
- package/dist/collection/components/select-popover/select-popover.ios.css +0 -100
- package/dist/collection/components/select-popover/select-popover.js +31 -72
- package/dist/collection/components/select-popover/select-popover.md.css +0 -100
- package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
- package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
- package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -78
- package/dist/collection/components/spinner/spinner.js +6 -47
- package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
- package/dist/collection/components/split-pane/split-pane.js +8 -15
- package/dist/collection/components/split-pane/split-pane.md.css +2 -20
- package/dist/collection/components/tab/tab.js +2 -6
- package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
- package/dist/collection/components/tab-bar/tab-bar.js +13 -171
- package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
- package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
- package/dist/collection/components/tab-button/tab-button.js +9 -54
- package/dist/collection/components/tab-button/tab-button.md.css +93 -137
- package/dist/collection/components/tabs/tabs.css +1 -7
- package/dist/collection/components/tabs/tabs.js +1 -4
- package/dist/collection/components/text/text.css +0 -6
- package/dist/collection/components/text/text.js +6 -7
- package/dist/collection/components/textarea/textarea.ios.css +158 -298
- package/dist/collection/components/textarea/textarea.js +24 -162
- package/dist/collection/components/textarea/textarea.md.css +159 -312
- package/dist/collection/components/thumbnail/thumbnail.css +0 -6
- package/dist/collection/components/thumbnail/thumbnail.js +2 -9
- package/dist/collection/components/title/title.ios.css +4 -32
- package/dist/collection/components/title/title.js +7 -13
- package/dist/collection/components/title/title.md.css +4 -32
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ios.css +45 -84
- package/dist/collection/components/toast/toast.js +13 -76
- package/dist/collection/components/toast/toast.md.css +45 -84
- package/dist/collection/components/toggle/toggle.ios.css +131 -247
- package/dist/collection/components/toggle/toggle.js +18 -73
- package/dist/collection/components/toggle/toggle.md.css +131 -244
- package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
- package/dist/collection/components/toolbar/toolbar.js +13 -218
- package/dist/collection/components/toolbar/toolbar.md.css +47 -90
- package/dist/collection/global/ionic-global.js +13 -241
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +2 -13
- package/dist/collection/utils/focus-visible.js +0 -22
- package/dist/collection/utils/forms/validity.js +0 -31
- package/dist/collection/utils/framework-delegate.js +1 -3
- package/dist/collection/utils/hardware-back-button.js +0 -15
- package/dist/collection/utils/helpers.js +3 -57
- package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
- package/dist/collection/utils/media.js +0 -1
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +1 -2
- package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
- package/dist/collection/utils/overlays.js +31 -97
- package/dist/collection/utils/test/playwright/drag-element.js +9 -32
- package/dist/collection/utils/test/playwright/generator.js +23 -48
- package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
- package/dist/collection/utils/theme.js +1 -25
- package/dist/collection/utils/transition/ios.transition.js +0 -1
- package/dist/docs.json +677 -10088
- package/dist/esm/{animation-Cqe2x-Pt.js → animation-CnGMT4ji.js} +2 -2
- package/dist/esm/{app-globals-Dk1rB3aE.js → app-globals-DhZjtldk.js} +1 -1
- package/dist/esm/{button-active-g6ZnZzDZ.js → button-active-BBx21brx.js} +2 -2
- package/dist/esm/{capacitor-C4lYa1nV.js → capacitor-CFERIeaU.js} +1 -1
- package/dist/esm/{index-D4ugF_sT.js → config-TO1rZH52.js} +29 -2
- package/dist/esm/{data-BNKYavC3.js → data-B9iGR5YO.js} +6 -6
- package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
- package/dist/esm/{framework-delegate-CjVwn_KZ.js → framework-delegate-CyxE1S_P.js} +2 -4
- package/dist/esm/{haptic-_88k1V5U.js → haptic-DzAMWJuk.js} +1 -1
- package/dist/esm/hardware-back-button-CTe4XmL7.js +115 -0
- package/dist/esm/{helpers-Do7zwvM1.js → helpers-Tl8jw6S2.js} +5 -58
- package/dist/esm/{index-D2tu5BUg.js → index-AlrZKoWR.js} +1 -2
- package/dist/esm/{index-CGthURny.js → index-B-hkiOUh.js} +4 -4
- package/dist/esm/{index-hpH08p5s.js → index-B2KwgBLx.js} +11 -11
- package/dist/esm/{index-C5t9-ciC.js → index-BtUdxPjv.js} +3 -4
- package/dist/esm/{index-Omi_TcwW.js → index-IGIE5vDm.js} +4 -41
- package/dist/esm/index-ZjP4CjeZ.js +7 -0
- package/dist/esm/{index-BmkLokUL.js → index-hW6eNZ3o.js} +2 -2
- package/dist/esm/index.js +14 -14
- package/dist/esm/{input-shims-vDjCsx95.js → input-shims-AaDhOpKN.js} +6 -7
- package/dist/esm/{input.utils-B9Q5xHp6.js → input.utils-Bxa_DQ7-.js} +3 -3
- package/dist/esm/ion-accordion_2.entry.js +29 -61
- package/dist/esm/ion-action-sheet.entry.js +26 -41
- package/dist/esm/ion-alert.entry.js +44 -61
- package/dist/esm/ion-app_8.entry.js +175 -296
- package/dist/esm/ion-avatar_3.entry.js +13 -125
- package/dist/esm/ion-back-button.entry.js +22 -31
- package/dist/esm/ion-backdrop.entry.js +7 -10
- package/dist/esm/ion-breadcrumb_2.entry.js +18 -54
- package/dist/esm/ion-button_2.entry.js +22 -59
- package/dist/esm/ion-card_5.entry.js +33 -55
- package/dist/esm/ion-checkbox.entry.js +16 -34
- package/dist/esm/ion-chip.entry.js +9 -50
- package/dist/esm/ion-col_3.entry.js +57 -56
- package/dist/esm/ion-datetime-button.entry.js +9 -13
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +30 -741
- package/dist/esm/ion-fab_3.entry.js +28 -44
- package/dist/esm/ion-img.entry.js +4 -8
- package/dist/esm/ion-infinite-scroll_2.entry.js +16 -92
- package/dist/esm/ion-input-otp.entry.js +9 -74
- package/dist/esm/ion-input-password-toggle.entry.js +15 -53
- package/dist/esm/ion-input.entry.js +34 -124
- package/dist/esm/ion-item-option_3.entry.js +21 -186
- package/dist/esm/ion-item_8.entry.js +49 -116
- package/dist/esm/ion-loading.entry.js +22 -21
- package/dist/esm/ion-menu_3.entry.js +29 -47
- package/dist/esm/ion-modal.entry.js +95 -215
- package/dist/esm/ion-nav_2.entry.js +11 -14
- package/dist/esm/ion-picker-column-option.entry.js +8 -12
- package/dist/esm/ion-picker-column.entry.js +13 -13
- package/dist/esm/ion-picker.entry.js +6 -10
- package/dist/esm/ion-popover.entry.js +23 -21
- package/dist/esm/ion-progress-bar.entry.js +9 -27
- package/dist/esm/ion-radio_2.entry.js +17 -35
- package/dist/esm/ion-range.entry.js +13 -20
- package/dist/esm/ion-refresher_2.entry.js +21 -40
- package/dist/esm/ion-reorder_2.entry.js +14 -38
- package/dist/esm/ion-ripple-effect.entry.js +7 -15
- package/dist/esm/ion-route_4.entry.js +9 -10
- package/dist/esm/ion-searchbar.entry.js +24 -137
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +3 -6
- package/dist/esm/ion-segment_2.entry.js +16 -23
- package/dist/esm/ion-select-modal.entry.js +40 -97
- package/dist/esm/ion-select_3.entry.js +84 -453
- package/dist/esm/ion-spinner.entry.js +8 -30
- package/dist/esm/ion-split-pane.entry.js +9 -13
- package/dist/esm/ion-tab-bar_2.entry.js +23 -147
- package/dist/esm/ion-tab_2.entry.js +7 -8
- package/dist/esm/ion-text.entry.js +7 -7
- package/dist/esm/ion-textarea.entry.js +23 -137
- package/dist/esm/ion-toast.entry.js +21 -45
- package/dist/esm/ion-toggle.entry.js +25 -82
- package/dist/esm/ionic-global-DfbeLwcV.js +146 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-CzSncKQg.js → ios.transition--aMF-pDH.js} +5 -7
- package/dist/esm/{keyboard-Cpw6xVLJ.js → keyboard-CUw4ekVy.js} +1 -1
- package/dist/esm/{keyboard-controller-CAc33ylR.js → keyboard-controller-BaaVITYt.js} +3 -5
- package/dist/esm/{keyboard-DJpS2IGK.js → keyboard-ywgs5efA.js} +3 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-DIsWqYBZ.js → md.transition-BEVbfm8j.js} +5 -6
- package/dist/esm/{notch-controller-DiBq57w8.js → notch-controller-DAcvKU57.js} +2 -2
- package/dist/esm/{overlays-rwDDzEs4.js → overlays-BDGzTP3L.js} +39 -114
- package/dist/esm/{status-tap-fYFdZg6z.js → status-tap-BfJqFSLF.js} +3 -4
- package/dist/esm/{swipe-back-BzGqTrrq.js → swipe-back-BZBFwTQV.js} +2 -3
- package/dist/esm/{theme-DaJxRxSQ.js → theme-DiVJyqlX.js} +1 -25
- package/dist/esm/validity-DJztqcrH.js +17 -0
- package/dist/html.html-data.json +182 -2671
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-045a6a42.entry.js +4 -0
- package/dist/ionic/p-078037da.entry.js +4 -0
- package/dist/ionic/p-18b5d5ff.entry.js +4 -0
- package/dist/ionic/p-19adf785.entry.js +4 -0
- package/dist/ionic/p-1d2163ad.entry.js +4 -0
- package/dist/ionic/p-2089f9cb.entry.js +4 -0
- package/dist/ionic/p-23ec35e4.entry.js +4 -0
- package/dist/ionic/p-30f5ad9e.entry.js +4 -0
- package/dist/ionic/p-34b3a309.entry.js +4 -0
- package/dist/ionic/p-370a60ee.entry.js +4 -0
- package/dist/ionic/p-3b58996c.entry.js +4 -0
- package/dist/ionic/p-460fbe5b.entry.js +4 -0
- package/dist/ionic/p-4c8d8c55.entry.js +4 -0
- package/dist/ionic/p-4ea520a4.entry.js +4 -0
- package/dist/ionic/p-4ed63122.entry.js +4 -0
- package/dist/ionic/p-4f3a8ccf.entry.js +4 -0
- package/dist/ionic/p-506038d3.entry.js +4 -0
- package/dist/ionic/p-528d4c1d.entry.js +4 -0
- package/dist/ionic/p-5430ae94.entry.js +4 -0
- package/dist/ionic/p-5c2cc090.entry.js +4 -0
- package/dist/ionic/p-6406d5a9.entry.js +4 -0
- package/dist/ionic/p-66494f9b.entry.js +4 -0
- package/dist/ionic/p-6af16209.entry.js +4 -0
- package/dist/ionic/p-6b97f2a3.entry.js +4 -0
- package/dist/ionic/p-6da572e7.entry.js +4 -0
- package/dist/ionic/p-6e99ae8d.entry.js +4 -0
- package/dist/ionic/p-7f269aff.entry.js +4 -0
- package/dist/ionic/p-7f9db51b.entry.js +4 -0
- package/dist/ionic/p-7fe42b71.entry.js +4 -0
- package/dist/ionic/p-87125490.entry.js +4 -0
- package/dist/ionic/p-898f9d11.entry.js +4 -0
- package/dist/ionic/p-8a3a936b.entry.js +4 -0
- package/dist/ionic/p-9833cf63.entry.js +4 -0
- package/dist/ionic/p-9eeaBrnk.js +4 -0
- package/dist/ionic/p-AlrZKoWR.js +4 -0
- package/dist/ionic/{p-DKWXAwlR.js → p-B8xlpH8p.js} +1 -1
- package/dist/ionic/p-BAt5H1ac.js +4 -0
- package/dist/ionic/p-BW_TRJm8.js +4 -0
- package/dist/ionic/p-BmVRXR1y.js +4 -0
- package/dist/ionic/p-Bum7H1fw.js +4 -0
- package/{components/p-oF-CwZ0b.js → dist/ionic/p-BvFYtOdE.js} +1 -1
- package/dist/ionic/p-BxIcPWoV.js +4 -0
- package/dist/ionic/p-C0JvVFMv.js +4 -0
- package/dist/ionic/p-CGmVTdWh.js +4 -0
- package/dist/ionic/p-CIGNaXM1.js +4 -0
- package/{components/p-BLysWQA1.js → dist/ionic/p-CKvCXMs9.js} +1 -1
- package/dist/ionic/p-CYbRmDdy.js +4 -0
- package/dist/ionic/p-CYvM5g3q.js +4 -0
- package/dist/ionic/p-CmFz1Mjc.js +4 -0
- package/dist/ionic/p-Csx_Ej2k.js +4 -0
- package/dist/ionic/p-CtA-yJYy.js +4 -0
- package/dist/ionic/p-CtWGkNnJ.js +4 -0
- package/dist/ionic/{p-SJmaFQ0H.js → p-D13Eaw-8.js} +1 -1
- package/dist/ionic/p-D8HJQ1qq.js +4 -0
- package/dist/ionic/p-DB_iPQC-.js +4 -0
- package/dist/ionic/p-DJztqcrH.js +4 -0
- package/dist/ionic/p-DLbbmF9h.js +4 -0
- package/dist/ionic/p-DiVJyqlX.js +4 -0
- package/{components/p-B636tzQ7.js → dist/ionic/p-DjriolRs.js} +1 -1
- package/dist/ionic/p-DtVZDHlS.js +4 -0
- package/dist/ionic/p-IGIE5vDm.js +5 -0
- package/dist/ionic/p-NFFyoJ4Q.js +4 -0
- package/dist/ionic/p-ZjP4CjeZ.js +4 -0
- package/dist/ionic/p-a39db980.entry.js +4 -0
- package/dist/ionic/p-a805674e.entry.js +4 -0
- package/dist/ionic/p-b553828c.entry.js +4 -0
- package/dist/ionic/p-b5e3e1f7.entry.js +4 -0
- package/dist/ionic/p-b6e0ff03.entry.js +4 -0
- package/dist/ionic/p-b6f16f18.entry.js +4 -0
- package/dist/ionic/p-b8f4a31c.entry.js +4 -0
- package/dist/ionic/p-ca31010f.entry.js +4 -0
- package/dist/ionic/p-cce0cd26.entry.js +4 -0
- package/dist/ionic/p-d92ba088.entry.js +4 -0
- package/dist/ionic/p-dc198c3a.entry.js +4 -0
- package/dist/ionic/p-e663bc5a.entry.js +4 -0
- package/dist/ionic/p-e6cedcd7.entry.js +4 -0
- package/dist/ionic/p-e9dd191b.entry.js +4 -0
- package/dist/ionic/p-ede28b71.entry.js +4 -0
- package/dist/ionic/p-f17d05e3.entry.js +4 -0
- package/dist/ionic/p-f5dfb9a3.entry.js +4 -0
- package/dist/ionic/p-f7762013.entry.js +4 -0
- package/dist/ionic/p-fed27c64.entry.js +4 -0
- package/dist/ionic/p-gbVXD275.js +4 -0
- package/dist/ionic/p-hNN3VvaC.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +3 -6
- package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
- package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
- package/dist/types/components/alert/alert-interface.d.ts +7 -3
- package/dist/types/components/alert/alert.d.ts +2 -3
- package/dist/types/components/app/app.d.ts +5 -4
- package/dist/types/components/avatar/avatar.d.ts +0 -32
- package/dist/types/components/back-button/back-button.d.ts +1 -2
- package/dist/types/components/backdrop/backdrop.d.ts +0 -4
- package/dist/types/components/badge/badge.d.ts +1 -34
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +8 -23
- package/dist/types/components/buttons/buttons.d.ts +1 -5
- package/dist/types/components/card/card.d.ts +1 -8
- package/dist/types/components/card-content/card-content.d.ts +1 -2
- package/dist/types/components/card-header/card-header.d.ts +2 -3
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
- package/dist/types/components/card-title/card-title.d.ts +1 -2
- package/dist/types/components/checkbox/checkbox.d.ts +4 -14
- package/dist/types/components/chip/chip.d.ts +1 -26
- package/dist/types/components/col/col.d.ts +5 -52
- package/dist/types/components/content/content.d.ts +0 -3
- package/dist/types/components/datetime/datetime.d.ts +1 -26
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
- package/dist/types/components/fab/fab.d.ts +0 -4
- package/dist/types/components/fab-button/fab-button.d.ts +3 -5
- package/dist/types/components/fab-list/fab-list.d.ts +0 -4
- package/dist/types/components/footer/footer.d.ts +3 -4
- package/dist/types/components/grid/grid.d.ts +0 -4
- package/dist/types/components/header/header.d.ts +3 -9
- package/dist/types/components/header/header.utils.d.ts +3 -3
- package/dist/types/components/img/img.d.ts +0 -3
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
- package/dist/types/components/input/input.d.ts +5 -31
- package/dist/types/components/input-otp/input-otp.d.ts +0 -37
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
- package/dist/types/components/item/item.d.ts +4 -11
- package/dist/types/components/item-divider/item-divider.d.ts +1 -2
- package/dist/types/components/item-group/item-group.d.ts +0 -4
- package/dist/types/components/item-option/item-option.d.ts +1 -18
- package/dist/types/components/item-options/item-options.d.ts +0 -4
- package/dist/types/components/item-sliding/item-sliding.d.ts +1 -32
- package/dist/types/components/item-sliding/test/test.utils.d.ts +0 -13
- package/dist/types/components/label/label.d.ts +1 -2
- package/dist/types/components/list/list.d.ts +1 -15
- package/dist/types/components/list-header/list-header.d.ts +1 -2
- package/dist/types/components/loading/loading-interface.d.ts +7 -2
- package/dist/types/components/loading/loading.d.ts +2 -3
- package/dist/types/components/menu/menu.d.ts +0 -3
- package/dist/types/components/menu-button/menu-button.d.ts +1 -3
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +7 -4
- package/dist/types/components/modal/modal.d.ts +1 -11
- package/dist/types/components/nav/nav-interface.d.ts +1 -9
- package/dist/types/components/nav/nav.d.ts +1 -5
- package/dist/types/components/nav-link/nav-link.d.ts +0 -4
- package/dist/types/components/note/note.d.ts +1 -2
- package/dist/types/components/picker/picker.d.ts +1 -2
- package/dist/types/components/picker-column/picker-column.d.ts +1 -2
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
- package/dist/types/components/popover/popover-interface.d.ts +6 -3
- package/dist/types/components/popover/popover.d.ts +5 -6
- package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
- package/dist/types/components/radio/radio.d.ts +1 -2
- package/dist/types/components/radio-group/radio-group.d.ts +0 -12
- package/dist/types/components/range/range.d.ts +1 -2
- package/dist/types/components/refresher/refresher.d.ts +1 -2
- package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
- package/dist/types/components/reorder/reorder.d.ts +0 -9
- package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
- package/dist/types/components/route/route.d.ts +0 -4
- package/dist/types/components/router/router.d.ts +0 -4
- package/dist/types/components/router-link/router-link.d.ts +0 -4
- package/dist/types/components/router-outlet/router-outlet.d.ts +8 -4
- package/dist/types/components/row/row.d.ts +0 -4
- package/dist/types/components/searchbar/searchbar.d.ts +9 -51
- package/dist/types/components/segment/segment.d.ts +1 -2
- package/dist/types/components/segment-button/segment-button.d.ts +1 -2
- package/dist/types/components/select/select-interface.d.ts +0 -23
- package/dist/types/components/select/select.d.ts +13 -66
- package/dist/types/components/select-modal/select-modal.d.ts +0 -8
- package/dist/types/components/select-option/select-option.d.ts +0 -12
- package/dist/types/components/select-popover/select-popover.d.ts +0 -3
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
- package/dist/types/components/spinner/spinner.d.ts +0 -15
- package/dist/types/components/split-pane/split-pane.d.ts +0 -4
- package/dist/types/components/tab/tab.d.ts +0 -4
- package/dist/types/components/tab-bar/tab-bar.d.ts +2 -37
- package/dist/types/components/tab-button/tab-button.d.ts +1 -12
- package/dist/types/components/tabs/tabs.d.ts +0 -3
- package/dist/types/components/text/text.d.ts +1 -2
- package/dist/types/components/textarea/textarea.d.ts +4 -53
- package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
- package/dist/types/components/title/title.d.ts +0 -4
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +7 -3
- package/dist/types/components/toast/toast.d.ts +2 -19
- package/dist/types/components/toggle/toggle.d.ts +1 -15
- package/dist/types/components/toolbar/toolbar.d.ts +3 -43
- package/dist/types/components.d.ts +251 -2101
- package/dist/types/global/ionic-global.d.ts +2 -28
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -4
- package/dist/types/utils/config.d.ts +2 -114
- package/dist/types/utils/focus-trap.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +0 -13
- package/dist/types/utils/forms/validity.d.ts +0 -7
- package/dist/types/utils/helpers.d.ts +0 -11
- package/dist/types/utils/overlays-interface.d.ts +1 -31
- package/dist/types/utils/overlays.d.ts +12 -10
- package/dist/types/utils/test/playwright/drag-element.d.ts +3 -16
- package/dist/types/utils/test/playwright/generator.d.ts +2 -31
- package/dist/types/utils/theme.d.ts +0 -9
- package/hydrate/index.js +1380 -5385
- package/hydrate/index.mjs +1380 -5385
- package/package.json +6 -10
- package/components/ion-divider.d.ts +0 -11
- package/components/ion-divider.js +0 -4
- package/components/ion-gallery.d.ts +0 -11
- package/components/ion-gallery.js +0 -4
- 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-0sa2JgYA.js +0 -4
- package/components/p-3Ni1Z654.js +0 -4
- package/components/p-B2rpt1JV.js +0 -4
- package/components/p-B6zr9RZN.js +0 -4
- package/components/p-B71c6yUH.js +0 -4
- package/components/p-B8Oa6a_k.js +0 -4
- package/components/p-BCDEEm9n.js +0 -4
- package/components/p-BCFZKMI6.js +0 -4
- package/components/p-BDndEqui.js +0 -4
- package/components/p-BDqjX7Z_.js +0 -4
- package/components/p-BErKjY03.js +0 -4
- package/components/p-BFCM_1oE.js +0 -4
- package/components/p-BFbsici0.js +0 -4
- package/components/p-BLCuPAtN.js +0 -4
- package/components/p-BO4aickU.js +0 -4
- package/components/p-BRWWcnBq.js +0 -4
- package/components/p-BXcCGjEc.js +0 -4
- package/components/p-BYSs-jZz.js +0 -4
- package/components/p-BaPtaYEC.js +0 -4
- package/components/p-BbQGmZyu.js +0 -4
- package/components/p-BcbmT6b3.js +0 -4
- package/components/p-BeVlsaLA.js +0 -4
- package/components/p-BjW8SOqw.js +0 -4
- package/components/p-Bp__mr16.js +0 -4
- package/components/p-BqDiJgC_.js +0 -4
- package/components/p-BqImG3uk.js +0 -4
- package/components/p-BwKpO3Is.js +0 -4
- package/components/p-C00Y_WJv.js +0 -4
- package/components/p-C0U8YqYW.js +0 -4
- package/components/p-C8ktKu9j.js +0 -4
- package/components/p-CIoAIKEr.js +0 -4
- package/components/p-CKfNwyAb.js +0 -4
- package/components/p-CN-WzkJE.js +0 -4
- package/components/p-CVBkx7m1.js +0 -4
- package/components/p-Cb9imMZh.js +0 -4
- package/components/p-Cf9-xP7P.js +0 -4
- package/components/p-Cmql_g3_.js +0 -4
- package/components/p-CoFqDNc5.js +0 -4
- package/components/p-CtiqM786.js +0 -4
- package/components/p-D1t981Ih.js +0 -4
- package/components/p-DAv9P_LE.js +0 -4
- package/components/p-DDw-NYxz.js +0 -4
- package/components/p-DH_9VCbD.js +0 -4
- package/components/p-DTtRWhIZ.js +0 -4
- package/components/p-DVcs-2q3.js +0 -4
- package/components/p-DXUyXgVL.js +0 -4
- package/components/p-DaJxRxSQ.js +0 -4
- package/components/p-Dhi5xtNS.js +0 -4
- package/components/p-Di5rHO3q.js +0 -4
- package/components/p-IMXp2Inn.js +0 -4
- package/components/p-TR4ubkPu.js +0 -4
- package/components/p-XegQjlzJ.js +0 -4
- package/components/p-fIOYmaqA.js +0 -4
- package/components/p-lIOqnNXn.js +0 -4
- package/components/p-sK-FK9CT.js +0 -4
- package/components/p-t98_NeNv.js +0 -4
- package/components/p-vCpF32Z7.js +0 -4
- package/components/p-vXpMhGrs.js +0 -4
- package/components/p-wCDzv5Q8.js +0 -4
- package/css/ionic/bundle.ionic.css +0 -1
- package/css/ionic/bundle.ionic.css.map +0 -1
- package/css/ionic/core.ionic.css +0 -1
- package/css/ionic/core.ionic.css.map +0 -1
- package/css/ionic/global.bundle.ionic.css +0 -1
- package/css/ionic/global.bundle.ionic.css.map +0 -1
- package/css/ionic/ionic-swiper.ionic.css +0 -1
- package/css/ionic/ionic-swiper.ionic.css.map +0 -1
- package/css/ionic/link.ionic.css +0 -1
- package/css/ionic/link.ionic.css.map +0 -1
- package/css/ionic/structure.ionic.css +0 -1
- package/css/ionic/structure.ionic.css.map +0 -1
- package/css/ionic/typography.ionic.css +0 -1
- package/css/ionic/typography.ionic.css.map +0 -1
- package/css/ionic/utils.bundle.ionic.css +0 -1
- package/css/ionic/utils.bundle.ionic.css.map +0 -1
- package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
- package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
- package/dist/cjs/caret-right-CRCgv98E.js +0 -8
- package/dist/cjs/config-DWdFbSNK.js +0 -35
- package/dist/cjs/ion-divider.cjs.entry.js +0 -51
- package/dist/cjs/ion-gallery.cjs.entry.js +0 -330
- package/dist/cjs/ionic-global-CSEbHD_F.js +0 -519
- package/dist/cjs/list-a-7GSA6K.js +0 -8
- package/dist/cjs/select-option-render-C7klBX2H.js +0 -81
- package/dist/cjs/validity-QmuwEptc.js +0 -51
- package/dist/cjs/x-BTF99yFH.js +0 -8
- package/dist/collection/components/accordion/accordion.ionic.css +0 -201
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
- package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -834
- package/dist/collection/components/alert/alert.ionic.css +0 -1165
- package/dist/collection/components/avatar/avatar.ionic.css +0 -391
- package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
- package/dist/collection/components/badge/badge.ionic.css +0 -275
- package/dist/collection/components/button/button.ionic.css +0 -646
- package/dist/collection/components/buttons/buttons.ionic.css +0 -97
- package/dist/collection/components/card/card.ionic.css +0 -144
- package/dist/collection/components/card-content/card-content.ionic.css +0 -89
- package/dist/collection/components/card-header/card-header.ionic.css +0 -85
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
- package/dist/collection/components/checkbox/checkbox.ionic.css +0 -539
- package/dist/collection/components/chip/chip.ionic.css +0 -217
- package/dist/collection/components/datetime/datetime.ionic.css +0 -703
- package/dist/collection/components/divider/divider.ionic.css +0 -148
- package/dist/collection/components/divider/divider.ios.css +0 -87
- package/dist/collection/components/divider/divider.js +0 -94
- package/dist/collection/components/divider/divider.md.css +0 -87
- package/dist/collection/components/gallery/gallery-interface.js +0 -1
- package/dist/collection/components/gallery/gallery.css +0 -103
- package/dist/collection/components/gallery/gallery.js +0 -421
- package/dist/collection/components/gallery/test/utils.js +0 -100
- package/dist/collection/components/header/header.ionic.css +0 -97
- package/dist/collection/components/input/input.ionic.css +0 -889
- package/dist/collection/components/input-otp/input-otp.ionic.css +0 -371
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
- package/dist/collection/components/item/item.ionic.css +0 -508
- package/dist/collection/components/item-option/item-option.ionic.css +0 -278
- package/dist/collection/components/item-options/item-options.ionic.css +0 -221
- package/dist/collection/components/list/list.ionic.css +0 -212
- package/dist/collection/components/list-header/list-header.ionic.css +0 -190
- package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
- package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
- package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
- package/dist/collection/components/modal/modal.ionic.css +0 -247
- 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 -312
- package/dist/collection/components/picker-legacy/picker.js +0 -891
- package/dist/collection/components/picker-legacy/picker.md.css +0 -299
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -243
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -234
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
- package/dist/collection/components/popover/popover.ionic.css +0 -290
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
- package/dist/collection/components/radio/radio.ionic.css +0 -422
- package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
- package/dist/collection/components/range/range.ionic.css +0 -567
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
- package/dist/collection/components/searchbar/searchbar.ionic.css +0 -626
- package/dist/collection/components/segment/segment.ionic.css +0 -115
- package/dist/collection/components/segment-button/segment-button.ionic.css +0 -353
- package/dist/collection/components/select/select.ionic.css +0 -810
- package/dist/collection/components/select-modal/select-modal.ionic.css +0 -154
- package/dist/collection/components/select-popover/select-popover.ionic.css +0 -499
- package/dist/collection/components/spinner/spinner.native.css +0 -199
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -227
- package/dist/collection/components/tab-button/tab-button.ionic.css +0 -348
- package/dist/collection/components/textarea/textarea.ionic.css +0 -898
- package/dist/collection/components/title/title.ionic.css +0 -127
- package/dist/collection/components/toast/toast.ionic.css +0 -394
- package/dist/collection/components/toggle/toggle.ionic.css +0 -508
- package/dist/collection/components/toolbar/test/image.svg +0 -1
- package/dist/collection/components/toolbar/toolbar.ionic.css +0 -249
- package/dist/collection/utils/select-option-render.js +0 -76
- package/dist/esm/caret-down-D1t981Ih.js +0 -6
- package/dist/esm/caret-left-fIOYmaqA.js +0 -6
- package/dist/esm/caret-right-BYSs-jZz.js +0 -6
- package/dist/esm/config-BwKpO3Is.js +0 -31
- package/dist/esm/ion-divider.entry.js +0 -49
- package/dist/esm/ion-gallery.entry.js +0 -328
- package/dist/esm/ionic-global-CAZb-5i-.js +0 -508
- package/dist/esm/list-Dhi5xtNS.js +0 -6
- package/dist/esm/select-option-render-B2qc5ZP7.js +0 -79
- package/dist/esm/validity-BjW8SOqw.js +0 -48
- package/dist/esm/x-BDqjX7Z_.js +0 -6
- package/dist/ionic/p-00c0bd38.entry.js +0 -4
- package/dist/ionic/p-05a30032.entry.js +0 -4
- package/dist/ionic/p-07d3388f.entry.js +0 -4
- package/dist/ionic/p-11nqcMM3.js +0 -4
- package/dist/ionic/p-139d02eb.entry.js +0 -4
- package/dist/ionic/p-15e3e8f5.entry.js +0 -4
- package/dist/ionic/p-1709b0aa.entry.js +0 -4
- package/dist/ionic/p-1c2c1869.entry.js +0 -4
- package/dist/ionic/p-1c4de46b.entry.js +0 -4
- package/dist/ionic/p-1e1c8d61.entry.js +0 -4
- package/dist/ionic/p-2311e660.entry.js +0 -4
- package/dist/ionic/p-24b35f99.entry.js +0 -4
- package/dist/ionic/p-2aa7567e.entry.js +0 -4
- package/dist/ionic/p-2ad79c23.entry.js +0 -4
- package/dist/ionic/p-2f0073af.entry.js +0 -4
- package/dist/ionic/p-37ccbee4.entry.js +0 -4
- package/dist/ionic/p-3aba19e2.entry.js +0 -4
- package/dist/ionic/p-3f79f594.entry.js +0 -4
- package/dist/ionic/p-4079cee3.entry.js +0 -4
- package/dist/ionic/p-45825c2c.entry.js +0 -4
- package/dist/ionic/p-48026d15.entry.js +0 -4
- package/dist/ionic/p-488992b6.entry.js +0 -4
- package/dist/ionic/p-4a0260e6.entry.js +0 -4
- package/dist/ionic/p-50b61fab.entry.js +0 -4
- package/dist/ionic/p-50cd2d57.entry.js +0 -4
- package/dist/ionic/p-5274f999.entry.js +0 -4
- package/dist/ionic/p-586d4270.entry.js +0 -4
- package/dist/ionic/p-68c21b2a.entry.js +0 -4
- package/dist/ionic/p-6fbead83.entry.js +0 -4
- package/dist/ionic/p-7194f6fa.entry.js +0 -4
- package/dist/ionic/p-71b6014c.entry.js +0 -4
- package/dist/ionic/p-72491468.entry.js +0 -4
- package/dist/ionic/p-7d267dc6.entry.js +0 -4
- package/dist/ionic/p-7d5057c4.entry.js +0 -4
- package/dist/ionic/p-83c693c4.entry.js +0 -4
- package/dist/ionic/p-8537b2fb.entry.js +0 -4
- package/dist/ionic/p-8f127a9c.entry.js +0 -4
- package/dist/ionic/p-8uDL7fql.js +0 -4
- package/dist/ionic/p-9d789053.entry.js +0 -4
- package/dist/ionic/p-BDqjX7Z_.js +0 -4
- package/dist/ionic/p-BYSs-jZz.js +0 -4
- package/dist/ionic/p-BjW8SOqw.js +0 -4
- package/dist/ionic/p-BwKpO3Is.js +0 -4
- package/dist/ionic/p-Bx0bt2Ar.js +0 -4
- package/dist/ionic/p-C2mpVKI1.js +0 -4
- package/dist/ionic/p-C4uUM9DM.js +0 -4
- package/dist/ionic/p-C5zxLmJ_.js +0 -4
- package/dist/ionic/p-CBV-BGvD.js +0 -4
- package/dist/ionic/p-CDn0uNJA.js +0 -4
- package/dist/ionic/p-CFjI63GE.js +0 -4
- package/dist/ionic/p-CHE1xWbg.js +0 -4
- package/dist/ionic/p-CIk5QtPm.js +0 -4
- package/dist/ionic/p-CQKe4n56.js +0 -4
- package/dist/ionic/p-CVp2D--1.js +0 -4
- package/dist/ionic/p-CWJdc8f_.js +0 -4
- package/dist/ionic/p-CXqdKf1K.js +0 -4
- package/dist/ionic/p-Cb-0O4h8.js +0 -4
- package/dist/ionic/p-D1t981Ih.js +0 -4
- package/dist/ionic/p-D2tu5BUg.js +0 -4
- package/dist/ionic/p-DaJxRxSQ.js +0 -4
- package/dist/ionic/p-Dhi5xtNS.js +0 -4
- package/dist/ionic/p-DoyDJ2X5.js +0 -4
- package/dist/ionic/p-FvDKM4Ax.js +0 -4
- package/dist/ionic/p-Omi_TcwW.js +0 -5
- package/dist/ionic/p-SOASChNu.js +0 -4
- package/dist/ionic/p-a9fb086b.entry.js +0 -4
- package/dist/ionic/p-acdc21a6.entry.js +0 -4
- package/dist/ionic/p-ae667493.entry.js +0 -4
- package/dist/ionic/p-b2fe6c1c.entry.js +0 -4
- package/dist/ionic/p-b3c9f19c.entry.js +0 -4
- package/dist/ionic/p-b653f4c2.entry.js +0 -4
- package/dist/ionic/p-bd71a4a7.entry.js +0 -4
- package/dist/ionic/p-bf972309.entry.js +0 -4
- package/dist/ionic/p-c10fa162.entry.js +0 -4
- package/dist/ionic/p-d4ed5710.entry.js +0 -4
- package/dist/ionic/p-d6299c37.entry.js +0 -4
- package/dist/ionic/p-d976e777.entry.js +0 -4
- package/dist/ionic/p-e18d3fdb.entry.js +0 -4
- package/dist/ionic/p-e3abffbe.entry.js +0 -4
- package/dist/ionic/p-f02ba305.entry.js +0 -4
- package/dist/ionic/p-f85942f8.entry.js +0 -4
- package/dist/ionic/p-fIOYmaqA.js +0 -4
- package/dist/ionic/p-fad05840.entry.js +0 -4
- package/dist/ionic/p-qETiT38a.js +0 -4
- package/dist/ionic/p-vXpMhGrs.js +0 -4
- package/dist/types/components/divider/divider.d.ts +0 -20
- package/dist/types/components/gallery/gallery-interface.d.ts +0 -9
- package/dist/types/components/gallery/gallery.d.ts +0 -125
- package/dist/types/components/gallery/test/utils.d.ts +0 -2
- package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
- package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
- 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 -159
- 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/dist/types/utils/select-option-render.d.ts +0 -22
- /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import caretDownRegular from "@phosphor-icons/core/assets/regular/caret-down.svg";
|
|
5
4
|
import { Build, Host, h, forceUpdate } from "@stencil/core";
|
|
6
|
-
import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
|
|
7
5
|
import { compareOptions, createNotchController, isOptionSelected, checkInvalidState } from "../../utils/forms/index";
|
|
8
6
|
import { focusVisibleElement, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
|
|
9
7
|
import { printIonWarning } from "../../utils/logging/index";
|
|
10
8
|
import { actionSheetController, alertController, popoverController, modalController } from "../../utils/overlays";
|
|
11
9
|
import { isRTL } from "../../utils/rtl/index";
|
|
12
|
-
import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
13
10
|
import { createColorClasses, hostContext } from "../../utils/theme";
|
|
14
11
|
import { watchForOptions } from "../../utils/watch-options";
|
|
15
12
|
import { caretDownSharp, chevronExpand } from "ionicons/icons";
|
|
16
|
-
import {
|
|
17
|
-
import { getIonTheme } from "../../global/ionic-global";
|
|
13
|
+
import { getIonMode } from "../../global/ionic-global";
|
|
18
14
|
// TODO(FW-2832): types
|
|
19
15
|
/**
|
|
20
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines
|
|
21
|
-
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
16
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
22
17
|
*
|
|
23
18
|
* @slot label - The label text to associate with the select. Use the `labelPlacement` property to control where the label is placed relative to the select. Use this if you need to render a label with custom HTML.
|
|
24
19
|
* @slot start - Content to display at the leading edge of the select.
|
|
@@ -42,7 +37,6 @@ export class Select {
|
|
|
42
37
|
this.helperTextId = `${this.inputId}-helper-text`;
|
|
43
38
|
this.errorTextId = `${this.inputId}-error-text`;
|
|
44
39
|
this.inheritedAttributes = {};
|
|
45
|
-
this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
46
40
|
this.isExpanded = false;
|
|
47
41
|
/**
|
|
48
42
|
* The `hasFocus` state ensures the focus class is
|
|
@@ -61,14 +55,6 @@ export class Select {
|
|
|
61
55
|
* The text to display on the cancel button.
|
|
62
56
|
*/
|
|
63
57
|
this.cancelText = 'Cancel';
|
|
64
|
-
/**
|
|
65
|
-
* If `true`, the cancel button will display an icon instead of the `cancelText`.
|
|
66
|
-
* Only applies when `interface` is set to `"modal"`. Has no effect on `"action-sheet"`,
|
|
67
|
-
* `"alert"`, or `"popover"` interfaces.
|
|
68
|
-
* When `cancelIcon` is `true`, the `cancelText` property is ignored for display
|
|
69
|
-
* but is used as the accessible label for the icon button.
|
|
70
|
-
*/
|
|
71
|
-
this.cancelIcon = false;
|
|
72
58
|
/**
|
|
73
59
|
* If `true`, the user cannot interact with the select.
|
|
74
60
|
*/
|
|
@@ -413,14 +399,9 @@ export class Select {
|
|
|
413
399
|
.join(' ');
|
|
414
400
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
415
401
|
const isSelected = isOptionSelected(selectValue, value, this.compareWith);
|
|
416
|
-
const text = this.customHTMLEnabled ? getOptionContent(option) : getDefaultSlotPlainText(option);
|
|
417
|
-
const startContent = this.customHTMLEnabled
|
|
418
|
-
? getOptionContent(option, 'start')
|
|
419
|
-
: undefined;
|
|
420
|
-
const endContent = this.customHTMLEnabled ? getOptionContent(option, 'end') : undefined;
|
|
421
402
|
return {
|
|
422
403
|
role: isSelected ? 'selected' : '',
|
|
423
|
-
text:
|
|
404
|
+
text: option.textContent,
|
|
424
405
|
cssClass: optClass,
|
|
425
406
|
handler: () => {
|
|
426
407
|
this.setValue(value);
|
|
@@ -429,9 +410,6 @@ export class Select {
|
|
|
429
410
|
'aria-checked': isSelected ? 'true' : 'false',
|
|
430
411
|
role: 'radio',
|
|
431
412
|
},
|
|
432
|
-
startContent: startContent !== null && startContent !== void 0 ? startContent : undefined,
|
|
433
|
-
endContent: endContent !== null && endContent !== void 0 ? endContent : undefined,
|
|
434
|
-
description: option.description,
|
|
435
413
|
};
|
|
436
414
|
});
|
|
437
415
|
// Add "cancel" button
|
|
@@ -452,21 +430,13 @@ export class Select {
|
|
|
452
430
|
.filter((cls) => cls !== 'hydrated')
|
|
453
431
|
.join(' ');
|
|
454
432
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
455
|
-
const label = this.customHTMLEnabled ? getOptionContent(option) : getDefaultSlotPlainText(option);
|
|
456
|
-
const startContent = this.customHTMLEnabled
|
|
457
|
-
? getOptionContent(option, 'start')
|
|
458
|
-
: undefined;
|
|
459
|
-
const endContent = this.customHTMLEnabled ? getOptionContent(option, 'end') : undefined;
|
|
460
433
|
return {
|
|
461
434
|
type: inputType,
|
|
462
435
|
cssClass: optClass,
|
|
463
|
-
label:
|
|
436
|
+
label: option.textContent || '',
|
|
464
437
|
value,
|
|
465
438
|
checked: isOptionSelected(selectValue, value, this.compareWith),
|
|
466
439
|
disabled: option.disabled,
|
|
467
|
-
startContent: startContent !== null && startContent !== void 0 ? startContent : undefined,
|
|
468
|
-
endContent: endContent !== null && endContent !== void 0 ? endContent : undefined,
|
|
469
|
-
description: option.description,
|
|
470
440
|
};
|
|
471
441
|
});
|
|
472
442
|
return alertInputs;
|
|
@@ -479,13 +449,8 @@ export class Select {
|
|
|
479
449
|
.filter((cls) => cls !== 'hydrated')
|
|
480
450
|
.join(' ');
|
|
481
451
|
const optClass = `${OPTION_CLASS} ${copyClasses}`;
|
|
482
|
-
const text = this.customHTMLEnabled ? getOptionContent(option) : getDefaultSlotPlainText(option);
|
|
483
|
-
const startContent = this.customHTMLEnabled
|
|
484
|
-
? getOptionContent(option, 'start')
|
|
485
|
-
: undefined;
|
|
486
|
-
const endContent = this.customHTMLEnabled ? getOptionContent(option, 'end') : undefined;
|
|
487
452
|
return {
|
|
488
|
-
text:
|
|
453
|
+
text: option.textContent || '',
|
|
489
454
|
cssClass: optClass,
|
|
490
455
|
value,
|
|
491
456
|
checked: isOptionSelected(selectValue, value, this.compareWith),
|
|
@@ -496,9 +461,6 @@ export class Select {
|
|
|
496
461
|
this.close();
|
|
497
462
|
}
|
|
498
463
|
},
|
|
499
|
-
startContent: startContent !== null && startContent !== void 0 ? startContent : undefined,
|
|
500
|
-
endContent: endContent !== null && endContent !== void 0 ? endContent : undefined,
|
|
501
|
-
description: option.description,
|
|
502
464
|
};
|
|
503
465
|
});
|
|
504
466
|
return popoverOptions;
|
|
@@ -506,8 +468,8 @@ export class Select {
|
|
|
506
468
|
async openPopover(ev) {
|
|
507
469
|
const { fill, labelPlacement } = this;
|
|
508
470
|
const interfaceOptions = this.interfaceOptions;
|
|
509
|
-
const
|
|
510
|
-
const showBackdrop =
|
|
471
|
+
const mode = getIonMode(this);
|
|
472
|
+
const showBackdrop = mode === 'md' ? false : true;
|
|
511
473
|
const multiple = this.multiple;
|
|
512
474
|
const value = this.value;
|
|
513
475
|
let event = ev;
|
|
@@ -518,7 +480,7 @@ export class Select {
|
|
|
518
480
|
* when using a fill in MD mode or if the
|
|
519
481
|
* label is floating/stacked.
|
|
520
482
|
*/
|
|
521
|
-
if (hasFloatingOrStackedLabel || (
|
|
483
|
+
if (hasFloatingOrStackedLabel || (mode === 'md' && fill !== undefined)) {
|
|
522
484
|
size = 'cover';
|
|
523
485
|
/**
|
|
524
486
|
* Otherwise the popover
|
|
@@ -531,21 +493,15 @@ export class Select {
|
|
|
531
493
|
ionShadowTarget: this.nativeWrapperEl,
|
|
532
494
|
} });
|
|
533
495
|
}
|
|
534
|
-
const
|
|
535
|
-
const hasRichContent = options.some((opt) => opt.startContent || opt.endContent || opt.description);
|
|
536
|
-
const popoverOpts = Object.assign(Object.assign({ theme,
|
|
496
|
+
const popoverOpts = Object.assign(Object.assign({ mode,
|
|
537
497
|
event, alignment: 'center', size,
|
|
538
|
-
showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: [
|
|
539
|
-
'select-popover',
|
|
540
|
-
hasRichContent ? 'select-popover-rich-content' : undefined,
|
|
541
|
-
interfaceOptions.cssClass,
|
|
542
|
-
], componentProps: {
|
|
498
|
+
showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], componentProps: {
|
|
543
499
|
header: interfaceOptions.header,
|
|
544
500
|
subHeader: interfaceOptions.subHeader,
|
|
545
501
|
message: interfaceOptions.message,
|
|
546
502
|
multiple,
|
|
547
503
|
value,
|
|
548
|
-
options,
|
|
504
|
+
options: this.createOverlaySelectOptions(this.childOpts, value),
|
|
549
505
|
} });
|
|
550
506
|
/**
|
|
551
507
|
* Workaround for Stencil to autodefine
|
|
@@ -562,9 +518,9 @@ export class Select {
|
|
|
562
518
|
return popoverController.create(popoverOpts);
|
|
563
519
|
}
|
|
564
520
|
async openActionSheet() {
|
|
565
|
-
const
|
|
521
|
+
const mode = getIonMode(this);
|
|
566
522
|
const interfaceOptions = this.interfaceOptions;
|
|
567
|
-
const actionSheetOpts = Object.assign(Object.assign({
|
|
523
|
+
const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
|
|
568
524
|
/**
|
|
569
525
|
* Workaround for Stencil to autodefine
|
|
570
526
|
* ion-action-sheet when
|
|
@@ -581,8 +537,8 @@ export class Select {
|
|
|
581
537
|
async openAlert() {
|
|
582
538
|
const interfaceOptions = this.interfaceOptions;
|
|
583
539
|
const inputType = this.multiple ? 'checkbox' : 'radio';
|
|
584
|
-
const
|
|
585
|
-
const alertOpts = Object.assign(Object.assign({
|
|
540
|
+
const mode = getIonMode(this);
|
|
541
|
+
const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : this.labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
|
|
586
542
|
{
|
|
587
543
|
text: this.cancelText,
|
|
588
544
|
role: 'cancel',
|
|
@@ -616,11 +572,10 @@ export class Select {
|
|
|
616
572
|
}
|
|
617
573
|
openModal() {
|
|
618
574
|
const { multiple, value, interfaceOptions } = this;
|
|
619
|
-
const
|
|
620
|
-
const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode
|
|
575
|
+
const mode = getIonMode(this);
|
|
576
|
+
const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {
|
|
621
577
|
header: interfaceOptions.header,
|
|
622
578
|
cancelText: this.cancelText,
|
|
623
|
-
cancelIcon: this.cancelIcon,
|
|
624
579
|
multiple,
|
|
625
580
|
value,
|
|
626
581
|
options: this.createOverlaySelectOptions(this.childOpts, value),
|
|
@@ -673,18 +628,12 @@ export class Select {
|
|
|
673
628
|
}
|
|
674
629
|
return;
|
|
675
630
|
}
|
|
676
|
-
|
|
677
|
-
* Returns the text to display in the select based on the selected value.
|
|
678
|
-
*
|
|
679
|
-
* @param useHTML If `true`, the returned text will include any custom HTML content from the selected option. If `false`, the returned text will be plain text without any HTML. Defaults to `false`.
|
|
680
|
-
* @returns The text to display in the select, either with or without HTML based on the `useHTML` parameter.
|
|
681
|
-
*/
|
|
682
|
-
getText(useHTML = false) {
|
|
631
|
+
getText() {
|
|
683
632
|
const selectedText = this.selectedText;
|
|
684
633
|
if (selectedText != null && selectedText !== '') {
|
|
685
634
|
return selectedText;
|
|
686
635
|
}
|
|
687
|
-
return generateText(this.childOpts, this.value, this.compareWith
|
|
636
|
+
return generateText(this.childOpts, this.value, this.compareWith);
|
|
688
637
|
}
|
|
689
638
|
setFocus() {
|
|
690
639
|
if (this.focusEl) {
|
|
@@ -698,18 +647,6 @@ export class Select {
|
|
|
698
647
|
};
|
|
699
648
|
this.ionStyle.emit(style);
|
|
700
649
|
}
|
|
701
|
-
getSize() {
|
|
702
|
-
const theme = getIonTheme(this);
|
|
703
|
-
const { size } = this;
|
|
704
|
-
// TODO(ROU-11370): Remove theme check when sizes are defined for all themes.
|
|
705
|
-
if (theme !== 'ionic') {
|
|
706
|
-
return undefined;
|
|
707
|
-
}
|
|
708
|
-
if (size === undefined) {
|
|
709
|
-
return 'medium';
|
|
710
|
-
}
|
|
711
|
-
return size;
|
|
712
|
-
}
|
|
713
650
|
renderLabel() {
|
|
714
651
|
const { label } = this;
|
|
715
652
|
return (h("div", { class: {
|
|
@@ -742,8 +679,8 @@ export class Select {
|
|
|
742
679
|
* when fill="outline".
|
|
743
680
|
*/
|
|
744
681
|
renderLabelContainer() {
|
|
745
|
-
const
|
|
746
|
-
const hasOutlineFill =
|
|
682
|
+
const mode = getIonMode(this);
|
|
683
|
+
const hasOutlineFill = mode === 'md' && this.fill === 'outline';
|
|
747
684
|
if (hasOutlineFill) {
|
|
748
685
|
/**
|
|
749
686
|
* The outline fill has a special outline
|
|
@@ -766,47 +703,6 @@ export class Select {
|
|
|
766
703
|
*/
|
|
767
704
|
return this.renderLabel();
|
|
768
705
|
}
|
|
769
|
-
/**
|
|
770
|
-
* Wraps text nodes in the select text with span elements
|
|
771
|
-
* so spacing can be added between elements without
|
|
772
|
-
* changing the display to prevent losing the ellipses
|
|
773
|
-
* behavior.
|
|
774
|
-
*
|
|
775
|
-
* Only wraps when the string contains HTML elements
|
|
776
|
-
* alongside text.
|
|
777
|
-
*/
|
|
778
|
-
wrapSelectTextNodes(html) {
|
|
779
|
-
const temp = document.createElement('div');
|
|
780
|
-
temp.innerHTML = html;
|
|
781
|
-
const hasElements = Array.from(temp.childNodes).some((n) => n.nodeType === Node.ELEMENT_NODE);
|
|
782
|
-
// Return the plain text
|
|
783
|
-
if (!hasElements) {
|
|
784
|
-
return html;
|
|
785
|
-
}
|
|
786
|
-
Array.from(temp.childNodes).forEach((node) => {
|
|
787
|
-
var _a, _b, _c, _d;
|
|
788
|
-
if (node.nodeType === Node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
789
|
-
const text = node.textContent;
|
|
790
|
-
/**
|
|
791
|
-
* Split comma separator from the text content
|
|
792
|
-
* e.g., ", Bacon" becomes ", " text node + <span>Bacon</span>.
|
|
793
|
-
*/
|
|
794
|
-
const commaMatch = text.match(/^(,\s*)(.*)/);
|
|
795
|
-
if (commaMatch) {
|
|
796
|
-
const commaNode = document.createTextNode(commaMatch[1]);
|
|
797
|
-
const wrapper = document.createElement('span');
|
|
798
|
-
wrapper.textContent = commaMatch[2];
|
|
799
|
-
(_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(wrapper, node);
|
|
800
|
-
(_c = wrapper.parentNode) === null || _c === void 0 ? void 0 : _c.insertBefore(commaNode, wrapper);
|
|
801
|
-
return;
|
|
802
|
-
}
|
|
803
|
-
const wrapper = document.createElement('span');
|
|
804
|
-
(_d = node.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(wrapper, node);
|
|
805
|
-
wrapper.appendChild(node);
|
|
806
|
-
}
|
|
807
|
-
});
|
|
808
|
-
return temp.innerHTML;
|
|
809
|
-
}
|
|
810
706
|
/**
|
|
811
707
|
* Renders either the placeholder
|
|
812
708
|
* or the selected values based on
|
|
@@ -814,7 +710,7 @@ export class Select {
|
|
|
814
710
|
*/
|
|
815
711
|
renderSelectText() {
|
|
816
712
|
const { placeholder } = this;
|
|
817
|
-
const displayValue = this.getText(
|
|
713
|
+
const displayValue = this.getText();
|
|
818
714
|
let addPlaceholderClass = false;
|
|
819
715
|
let selectText = displayValue;
|
|
820
716
|
if (selectText === '' && placeholder !== undefined) {
|
|
@@ -826,10 +722,6 @@ export class Select {
|
|
|
826
722
|
'select-placeholder': addPlaceholderClass,
|
|
827
723
|
};
|
|
828
724
|
const textPart = addPlaceholderClass ? 'placeholder' : 'text';
|
|
829
|
-
if (this.customHTMLEnabled) {
|
|
830
|
-
const wrapped = this.wrapSelectTextNodes(selectText);
|
|
831
|
-
return h("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart, innerHTML: wrapped });
|
|
832
|
-
}
|
|
833
725
|
return (h("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart }, selectText));
|
|
834
726
|
}
|
|
835
727
|
/**
|
|
@@ -837,17 +729,21 @@ export class Select {
|
|
|
837
729
|
* next to the select text.
|
|
838
730
|
*/
|
|
839
731
|
renderSelectIcon() {
|
|
840
|
-
const
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
732
|
+
const mode = getIonMode(this);
|
|
733
|
+
const { isExpanded, toggleIcon, expandedIcon } = this;
|
|
734
|
+
let icon;
|
|
735
|
+
if (isExpanded && expandedIcon !== undefined) {
|
|
736
|
+
icon = expandedIcon;
|
|
737
|
+
}
|
|
738
|
+
else {
|
|
739
|
+
const defaultIcon = mode === 'ios' ? chevronExpand : caretDownSharp;
|
|
740
|
+
icon = toggleIcon !== null && toggleIcon !== void 0 ? toggleIcon : defaultIcon;
|
|
844
741
|
}
|
|
845
742
|
return h("ion-icon", { class: "select-icon", part: "icon", "aria-hidden": "true", icon: icon });
|
|
846
743
|
}
|
|
847
744
|
get ariaLabel() {
|
|
848
745
|
var _a;
|
|
849
746
|
const { placeholder, inheritedAttributes } = this;
|
|
850
|
-
// Get the plain text from the selected text
|
|
851
747
|
const displayValue = this.getText();
|
|
852
748
|
// The aria label should be preferred over visible text if both are specified
|
|
853
749
|
const definedLabel = (_a = inheritedAttributes['aria-label']) !== null && _a !== void 0 ? _a : this.labelText;
|
|
@@ -876,63 +772,6 @@ export class Select {
|
|
|
876
772
|
const { disabled, inputId, isExpanded, required } = this;
|
|
877
773
|
return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
|
|
878
774
|
}
|
|
879
|
-
getShape() {
|
|
880
|
-
const theme = getIonTheme(this);
|
|
881
|
-
const { shape } = this;
|
|
882
|
-
// TODO(ROU-11366): Remove theme check when shapes are defined for all themes.
|
|
883
|
-
if (theme === 'ionic' && shape === undefined) {
|
|
884
|
-
return 'round';
|
|
885
|
-
}
|
|
886
|
-
return shape;
|
|
887
|
-
}
|
|
888
|
-
/**
|
|
889
|
-
* Get the icon to use for the expand icon.
|
|
890
|
-
* If an icon is set on the component, use that.
|
|
891
|
-
* Otherwise, use the icon set in the config.
|
|
892
|
-
* If no icon is set in the config, use the default icon.
|
|
893
|
-
*/
|
|
894
|
-
get selectExpandedIcon() {
|
|
895
|
-
// Return the expandedIcon or toggleIcon if either is explicitly set
|
|
896
|
-
if (this.expandedIcon != null) {
|
|
897
|
-
return this.expandedIcon;
|
|
898
|
-
}
|
|
899
|
-
else if (this.toggleIcon != null) {
|
|
900
|
-
return this.toggleIcon;
|
|
901
|
-
}
|
|
902
|
-
// Determine the theme and map to default icons
|
|
903
|
-
const theme = getIonTheme(this);
|
|
904
|
-
const defaultIcons = {
|
|
905
|
-
ios: chevronExpand,
|
|
906
|
-
ionic: caretDownRegular,
|
|
907
|
-
md: caretDownSharp,
|
|
908
|
-
};
|
|
909
|
-
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
910
|
-
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
911
|
-
// Return the configured select expanded icon or the default icon
|
|
912
|
-
return config.get('selectExpandedIcon', defaultIcon);
|
|
913
|
-
}
|
|
914
|
-
/**
|
|
915
|
-
* Get the icon to use for the collapsed icon.
|
|
916
|
-
* If an icon is set on the component, use that.
|
|
917
|
-
* Otherwise, use the icon set in the config.
|
|
918
|
-
* If no icon is set in the config, use the default icon.
|
|
919
|
-
*/
|
|
920
|
-
get selectCollapsedIcon() {
|
|
921
|
-
// Return the toggleIcon if it is explicitly set
|
|
922
|
-
if (this.toggleIcon) {
|
|
923
|
-
return this.toggleIcon;
|
|
924
|
-
}
|
|
925
|
-
// Determine the theme and map to default icons
|
|
926
|
-
const theme = getIonTheme(this);
|
|
927
|
-
const defaultIcons = {
|
|
928
|
-
ios: chevronExpand,
|
|
929
|
-
ionic: caretDownRegular,
|
|
930
|
-
md: caretDownSharp,
|
|
931
|
-
};
|
|
932
|
-
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
933
|
-
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
934
|
-
return config.get('selectCollapsedIcon', defaultIcon);
|
|
935
|
-
}
|
|
936
775
|
getHintTextId() {
|
|
937
776
|
const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
|
|
938
777
|
if (isInvalid && errorText) {
|
|
@@ -970,17 +809,13 @@ export class Select {
|
|
|
970
809
|
return (h("div", { class: "select-bottom", part: "bottom" }, this.renderHintText()));
|
|
971
810
|
}
|
|
972
811
|
render() {
|
|
973
|
-
const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, name, value, hasFocus, } = this;
|
|
974
|
-
const
|
|
975
|
-
const shape = this.getShape();
|
|
812
|
+
const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value, hasFocus, } = this;
|
|
813
|
+
const mode = getIonMode(this);
|
|
976
814
|
const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
|
|
977
|
-
const shouldRenderOuterIcon = theme !== 'ionic' && hasFloatingOrStackedLabel;
|
|
978
|
-
const shouldRenderInnerIcon = theme === 'ionic' || !hasFloatingOrStackedLabel;
|
|
979
815
|
const justifyEnabled = !hasFloatingOrStackedLabel && justify !== undefined;
|
|
980
816
|
const rtl = isRTL(el) ? 'rtl' : 'ltr';
|
|
981
817
|
const inItem = hostContext('ion-item', this.el);
|
|
982
|
-
const
|
|
983
|
-
const shouldRenderHighlight = theme === 'md' && fill !== 'outline' && !inItem;
|
|
818
|
+
const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
|
|
984
819
|
const hasValue = this.hasValue();
|
|
985
820
|
const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
|
|
986
821
|
renderHiddenInput(true, el, name, parseValue(value), disabled);
|
|
@@ -1002,8 +837,8 @@ export class Select {
|
|
|
1002
837
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
1003
838
|
*/
|
|
1004
839
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
1005
|
-
return (h(Host, { key: '
|
|
1006
|
-
[
|
|
840
|
+
return (h(Host, { key: 'ee7f8da9cbd2922f23e7b7984c418f79e6d491d6', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
841
|
+
[mode]: true,
|
|
1007
842
|
'in-item': inItem,
|
|
1008
843
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
1009
844
|
'select-disabled': disabled,
|
|
@@ -1020,33 +855,20 @@ export class Select {
|
|
|
1020
855
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
1021
856
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
1022
857
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
1023
|
-
|
|
1024
|
-
}) }, h("label", { key: '66808fb8c26f7a5db356b22d43751463cbb4bcaa', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '3e80160009e0e5b47952d666ca621166067adbea', class: "select-wrapper-inner", part: "inner" },
|
|
1025
|
-
/**
|
|
1026
|
-
* For the ionic theme, we render the outline container here
|
|
1027
|
-
* instead of higher up, so it can be positioned relative to
|
|
1028
|
-
* the native wrapper instead of the <label> element or the
|
|
1029
|
-
* entire component. This allows the label text to be positioned
|
|
1030
|
-
* above the outline, while staying within the bounds of the
|
|
1031
|
-
* <label> element, ensuring that clicking the label text
|
|
1032
|
-
* focuses the select.
|
|
1033
|
-
*/
|
|
1034
|
-
theme === 'ionic' && fill === 'outline' && h("div", { key: '8ea2530c4dc535661bf97d16724bdca3b9e23560', class: "select-outline" }), h("slot", { key: '2526c811e6f0f250421f6de9834d96d21df528b7', name: "start" }), h("div", { key: '95d0b2432c9e656166bf35ddd457a74052c91a27', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '0864febe104e3ac77aa10ce397e7c7569855636e', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'c83f3992d7a0ee55ca635b391421626a9131c8eb', class: "select-highlight" })), this.renderBottomContent()));
|
|
858
|
+
}) }, h("label", { key: '1841d570664579a8adbb1426474d906c9583c866', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '658a9003d9f142b53b5834cb058b250d96e633d7', class: "select-wrapper-inner", part: "inner" }, h("slot", { key: '86a83eac51070ae2ba7291d7be346807ff5dc93f', name: "start" }), h("div", { key: '5bb6f5f5df8c75ef84056f929298f215eeaefb19', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '4691dc89bdb257c36418619fa6d107d55012a492', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '991af5d72a83721d48ce51dfb84c62b00a8250fc', class: "select-highlight" })), this.renderBottomContent()));
|
|
1035
859
|
}
|
|
1036
860
|
static get is() { return "ion-select"; }
|
|
1037
861
|
static get encapsulation() { return "shadow"; }
|
|
1038
862
|
static get originalStyleUrls() {
|
|
1039
863
|
return {
|
|
1040
864
|
"ios": ["select.ios.scss"],
|
|
1041
|
-
"md": ["select.md.scss"]
|
|
1042
|
-
"ionic": ["select.ionic.scss"]
|
|
865
|
+
"md": ["select.md.scss"]
|
|
1043
866
|
};
|
|
1044
867
|
}
|
|
1045
868
|
static get styleUrls() {
|
|
1046
869
|
return {
|
|
1047
870
|
"ios": ["select.ios.css"],
|
|
1048
|
-
"md": ["select.md.css"]
|
|
1049
|
-
"ionic": ["select.ionic.css"]
|
|
871
|
+
"md": ["select.md.css"]
|
|
1050
872
|
};
|
|
1051
873
|
}
|
|
1052
874
|
static get properties() {
|
|
@@ -1071,26 +893,6 @@ export class Select {
|
|
|
1071
893
|
"attribute": "cancel-text",
|
|
1072
894
|
"defaultValue": "'Cancel'"
|
|
1073
895
|
},
|
|
1074
|
-
"cancelIcon": {
|
|
1075
|
-
"type": "boolean",
|
|
1076
|
-
"mutable": false,
|
|
1077
|
-
"complexType": {
|
|
1078
|
-
"original": "boolean",
|
|
1079
|
-
"resolved": "boolean",
|
|
1080
|
-
"references": {}
|
|
1081
|
-
},
|
|
1082
|
-
"required": false,
|
|
1083
|
-
"optional": false,
|
|
1084
|
-
"docs": {
|
|
1085
|
-
"tags": [],
|
|
1086
|
-
"text": "If `true`, the cancel button will display an icon instead of the `cancelText`.\nOnly applies when `interface` is set to `\"modal\"`. Has no effect on `\"action-sheet\"`,\n`\"alert\"`, or `\"popover\"` interfaces.\nWhen `cancelIcon` is `true`, the `cancelText` property is ignored for display\nbut is used as the accessible label for the icon button."
|
|
1087
|
-
},
|
|
1088
|
-
"getter": false,
|
|
1089
|
-
"setter": false,
|
|
1090
|
-
"reflect": false,
|
|
1091
|
-
"attribute": "cancel-icon",
|
|
1092
|
-
"defaultValue": "false"
|
|
1093
|
-
},
|
|
1094
896
|
"color": {
|
|
1095
897
|
"type": "string",
|
|
1096
898
|
"mutable": false,
|
|
@@ -1175,7 +977,7 @@ export class Select {
|
|
|
1175
977
|
"optional": true,
|
|
1176
978
|
"docs": {
|
|
1177
979
|
"tags": [],
|
|
1178
|
-
"text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in
|
|
980
|
+
"text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in `md` mode."
|
|
1179
981
|
},
|
|
1180
982
|
"getter": false,
|
|
1181
983
|
"setter": false,
|
|
@@ -1435,7 +1237,7 @@ export class Select {
|
|
|
1435
1237
|
"optional": true,
|
|
1436
1238
|
"docs": {
|
|
1437
1239
|
"tags": [],
|
|
1438
|
-
"text": "The toggle icon to use. Defaults to
|
|
1240
|
+
"text": "The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,\nor `caretDownSharp` for `md` mode."
|
|
1439
1241
|
},
|
|
1440
1242
|
"getter": false,
|
|
1441
1243
|
"setter": false,
|
|
@@ -1454,89 +1256,70 @@ export class Select {
|
|
|
1454
1256
|
"optional": true,
|
|
1455
1257
|
"docs": {
|
|
1456
1258
|
"tags": [],
|
|
1457
|
-
"text": "The toggle icon to show when the select is open. If defined, the icon\nrotation behavior in
|
|
1259
|
+
"text": "The toggle icon to show when the select is open. If defined, the icon\nrotation behavior in `md` mode will be disabled. If undefined, `toggleIcon`\nwill be used for when the select is both open and closed."
|
|
1458
1260
|
},
|
|
1459
1261
|
"getter": false,
|
|
1460
1262
|
"setter": false,
|
|
1461
1263
|
"reflect": false,
|
|
1462
1264
|
"attribute": "expanded-icon"
|
|
1463
1265
|
},
|
|
1464
|
-
"required": {
|
|
1465
|
-
"type": "boolean",
|
|
1466
|
-
"mutable": false,
|
|
1467
|
-
"complexType": {
|
|
1468
|
-
"original": "boolean",
|
|
1469
|
-
"resolved": "boolean",
|
|
1470
|
-
"references": {}
|
|
1471
|
-
},
|
|
1472
|
-
"required": false,
|
|
1473
|
-
"optional": false,
|
|
1474
|
-
"docs": {
|
|
1475
|
-
"tags": [],
|
|
1476
|
-
"text": "If true, screen readers will announce it as a required field. This property\nworks only for accessibility purposes, it will not prevent the form from\nsubmitting if the value is invalid."
|
|
1477
|
-
},
|
|
1478
|
-
"getter": false,
|
|
1479
|
-
"setter": false,
|
|
1480
|
-
"reflect": false,
|
|
1481
|
-
"attribute": "required",
|
|
1482
|
-
"defaultValue": "false"
|
|
1483
|
-
},
|
|
1484
1266
|
"shape": {
|
|
1485
1267
|
"type": "string",
|
|
1486
1268
|
"mutable": false,
|
|
1487
1269
|
"complexType": {
|
|
1488
|
-
"original": "'
|
|
1489
|
-
"resolved": "\"
|
|
1270
|
+
"original": "'round'",
|
|
1271
|
+
"resolved": "\"round\" | undefined",
|
|
1490
1272
|
"references": {}
|
|
1491
1273
|
},
|
|
1492
1274
|
"required": false,
|
|
1493
1275
|
"optional": true,
|
|
1494
1276
|
"docs": {
|
|
1495
1277
|
"tags": [],
|
|
1496
|
-
"text": "
|
|
1278
|
+
"text": "The shape of the select. If \"round\" it will have an increased border radius."
|
|
1497
1279
|
},
|
|
1498
1280
|
"getter": false,
|
|
1499
1281
|
"setter": false,
|
|
1500
1282
|
"reflect": false,
|
|
1501
1283
|
"attribute": "shape"
|
|
1502
1284
|
},
|
|
1503
|
-
"
|
|
1504
|
-
"type": "
|
|
1505
|
-
"mutable":
|
|
1285
|
+
"value": {
|
|
1286
|
+
"type": "any",
|
|
1287
|
+
"mutable": true,
|
|
1506
1288
|
"complexType": {
|
|
1507
|
-
"original": "
|
|
1508
|
-
"resolved": "
|
|
1289
|
+
"original": "any | null",
|
|
1290
|
+
"resolved": "any",
|
|
1509
1291
|
"references": {}
|
|
1510
1292
|
},
|
|
1511
1293
|
"required": false,
|
|
1512
1294
|
"optional": true,
|
|
1513
1295
|
"docs": {
|
|
1514
1296
|
"tags": [],
|
|
1515
|
-
"text": "The
|
|
1297
|
+
"text": "The value of the select."
|
|
1516
1298
|
},
|
|
1517
1299
|
"getter": false,
|
|
1518
1300
|
"setter": false,
|
|
1519
1301
|
"reflect": false,
|
|
1520
|
-
"attribute": "
|
|
1302
|
+
"attribute": "value"
|
|
1521
1303
|
},
|
|
1522
|
-
"
|
|
1523
|
-
"type": "
|
|
1524
|
-
"mutable":
|
|
1304
|
+
"required": {
|
|
1305
|
+
"type": "boolean",
|
|
1306
|
+
"mutable": false,
|
|
1525
1307
|
"complexType": {
|
|
1526
|
-
"original": "
|
|
1527
|
-
"resolved": "
|
|
1308
|
+
"original": "boolean",
|
|
1309
|
+
"resolved": "boolean",
|
|
1528
1310
|
"references": {}
|
|
1529
1311
|
},
|
|
1530
1312
|
"required": false,
|
|
1531
|
-
"optional":
|
|
1313
|
+
"optional": false,
|
|
1532
1314
|
"docs": {
|
|
1533
1315
|
"tags": [],
|
|
1534
|
-
"text": "
|
|
1316
|
+
"text": "If true, screen readers will announce it as a required field. This property\nworks only for accessibility purposes, it will not prevent the form from\nsubmitting if the value is invalid."
|
|
1535
1317
|
},
|
|
1536
1318
|
"getter": false,
|
|
1537
1319
|
"setter": false,
|
|
1538
1320
|
"reflect": false,
|
|
1539
|
-
"attribute": "
|
|
1321
|
+
"attribute": "required",
|
|
1322
|
+
"defaultValue": "false"
|
|
1540
1323
|
}
|
|
1541
1324
|
};
|
|
1542
1325
|
}
|
|
@@ -1732,176 +1515,25 @@ const parseValue = (value) => {
|
|
|
1732
1515
|
}
|
|
1733
1516
|
return value.toString();
|
|
1734
1517
|
};
|
|
1735
|
-
const generateText = (opts, value, compareWith
|
|
1518
|
+
const generateText = (opts, value, compareWith) => {
|
|
1736
1519
|
if (value === undefined) {
|
|
1737
1520
|
return '';
|
|
1738
1521
|
}
|
|
1739
1522
|
if (Array.isArray(value)) {
|
|
1740
1523
|
return value
|
|
1741
|
-
.map((v) => textForValue(opts, v, compareWith
|
|
1524
|
+
.map((v) => textForValue(opts, v, compareWith))
|
|
1742
1525
|
.filter((opt) => opt !== null)
|
|
1743
1526
|
.join(', ');
|
|
1744
1527
|
}
|
|
1745
1528
|
else {
|
|
1746
|
-
return textForValue(opts, value, compareWith
|
|
1529
|
+
return textForValue(opts, value, compareWith) || '';
|
|
1747
1530
|
}
|
|
1748
1531
|
};
|
|
1749
|
-
|
|
1750
|
-
* Returns the display text for a given value from the list of options.
|
|
1751
|
-
* When `useHTML` is true, returns sanitized HTML for the select text.
|
|
1752
|
-
* When `useHTML` is false, returns plain text for aria-label and other
|
|
1753
|
-
* text-only contexts.
|
|
1754
|
-
*
|
|
1755
|
-
* @param opts - The list of ion-select-option elements.
|
|
1756
|
-
* @param value - The value to find the matching option for.
|
|
1757
|
-
* @param compareWith - Custom comparison function or property name.
|
|
1758
|
-
* @param useHTML - If true, returns HTML string. If false, returns plain text.
|
|
1759
|
-
*/
|
|
1760
|
-
const textForValue = (opts, value, compareWith, useHTML = false) => {
|
|
1532
|
+
const textForValue = (opts, value, compareWith) => {
|
|
1761
1533
|
const selectOpt = opts.find((opt) => {
|
|
1762
1534
|
return compareOptions(value, getOptionValue(opt), compareWith);
|
|
1763
1535
|
});
|
|
1764
|
-
|
|
1765
|
-
if (!selectOpt) {
|
|
1766
|
-
return null;
|
|
1767
|
-
}
|
|
1768
|
-
// Return sanitized HTML for the select text
|
|
1769
|
-
if (customHTMLEnabled && useHTML) {
|
|
1770
|
-
return getOptionContent(selectOpt, undefined, true);
|
|
1771
|
-
}
|
|
1772
|
-
/**
|
|
1773
|
-
* When custom HTML is enabled, extract only the default slot content.
|
|
1774
|
-
* This ensures aria-label and other text-only contexts read only
|
|
1775
|
-
* the relevant option text.
|
|
1776
|
-
*/
|
|
1777
|
-
if (customHTMLEnabled) {
|
|
1778
|
-
const content = getOptionContent(selectOpt);
|
|
1779
|
-
if (typeof content === 'string') {
|
|
1780
|
-
return content;
|
|
1781
|
-
}
|
|
1782
|
-
/**
|
|
1783
|
-
* Elements were found in the default slot, extract and concatenate
|
|
1784
|
-
* their text content while trimming whitespace.
|
|
1785
|
-
*/
|
|
1786
|
-
if (content) {
|
|
1787
|
-
const texts = Array.from(content.childNodes)
|
|
1788
|
-
.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
|
|
1789
|
-
.filter((t) => t);
|
|
1790
|
-
return texts.join(' ') || null;
|
|
1791
|
-
}
|
|
1792
|
-
// Empty option
|
|
1793
|
-
return null;
|
|
1794
|
-
}
|
|
1795
|
-
return getDefaultSlotPlainText(selectOpt);
|
|
1796
|
-
};
|
|
1797
|
-
/**
|
|
1798
|
-
* Trims whitespace from all text nodes within a DOM tree.
|
|
1799
|
-
* This prevents invisible layout shifts and unwanted gaps between
|
|
1800
|
-
* elements when HTML content is injected via innerHTML or cloneNode,
|
|
1801
|
-
* as browsers preserve whitespace (tabs, newlines, spaces) from
|
|
1802
|
-
* the original source markup.
|
|
1803
|
-
*
|
|
1804
|
-
* @param node The root node to start trimming text nodes from.
|
|
1805
|
-
*/
|
|
1806
|
-
const trimTextNodes = (node) => {
|
|
1807
|
-
node.childNodes.forEach((child) => {
|
|
1808
|
-
var _a;
|
|
1809
|
-
if (child.nodeType === Node.TEXT_NODE) {
|
|
1810
|
-
child.textContent = ((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
|
|
1811
|
-
}
|
|
1812
|
-
else if (child.nodeType === Node.ELEMENT_NODE) {
|
|
1813
|
-
trimTextNodes(child);
|
|
1814
|
-
}
|
|
1815
|
-
});
|
|
1816
|
-
};
|
|
1817
|
-
/**
|
|
1818
|
-
* Extracts and clones content from an `ion-select-option` element
|
|
1819
|
-
* for rendering within overlay interfaces or the select text when `customHTMLEnabled` is `true`.
|
|
1820
|
-
*
|
|
1821
|
-
* @param option - The `ion-select-option` element to extract content from.
|
|
1822
|
-
* @param slotName - Optional slot name to extract. If omitted, extracts the default slot content.
|
|
1823
|
-
* @param useHTML - If `true`, the returned string will include any custom HTML content. If `false`, the returned string will be plain text without any HTML.
|
|
1824
|
-
* @returns When `useHTML` is `true`, a sanitized HTML string. When `false`, a
|
|
1825
|
-
* div element containing cloned child nodes. Returns `null` if no matching
|
|
1826
|
-
* content is found.
|
|
1827
|
-
*/
|
|
1828
|
-
const getOptionContent = (option, slotName, useHTML = false) => {
|
|
1829
|
-
let nodes;
|
|
1830
|
-
if (slotName) {
|
|
1831
|
-
// Named slot: get elements with matching slot attribute
|
|
1832
|
-
nodes = Array.from(option.children).filter((el) => el.getAttribute('slot') === slotName);
|
|
1833
|
-
}
|
|
1834
|
-
else {
|
|
1835
|
-
// Default slot: get nodes without a slot attribute
|
|
1836
|
-
const defaultSlot = getOptionDefaultSlot(option) || [];
|
|
1837
|
-
nodes = defaultSlot.filter((node) => {
|
|
1838
|
-
var _a;
|
|
1839
|
-
// Exclude whitespace-only text nodes to prevent empty container returns
|
|
1840
|
-
return ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim().length) !== 0;
|
|
1841
|
-
});
|
|
1842
|
-
}
|
|
1843
|
-
if (nodes.length === 0) {
|
|
1844
|
-
return null;
|
|
1845
|
-
}
|
|
1846
|
-
// Return plain text if no elements are found
|
|
1847
|
-
if (!slotName && nodes.every((n) => n.nodeType === Node.TEXT_NODE)) {
|
|
1848
|
-
return nodes.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); }).join(' ') || null;
|
|
1849
|
-
}
|
|
1850
|
-
// Clone each node into a temporary container
|
|
1851
|
-
const container = document.createElement('div');
|
|
1852
|
-
nodes.forEach((n) => {
|
|
1853
|
-
var _a;
|
|
1854
|
-
const clone = n.cloneNode(true);
|
|
1855
|
-
if (clone.nodeType === Node.TEXT_NODE) {
|
|
1856
|
-
clone.textContent = ((_a = clone.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
|
|
1857
|
-
}
|
|
1858
|
-
else {
|
|
1859
|
-
trimTextNodes(clone);
|
|
1860
|
-
}
|
|
1861
|
-
container.appendChild(clone);
|
|
1862
|
-
});
|
|
1863
|
-
if (useHTML) {
|
|
1864
|
-
return sanitizeDOMString(container.innerHTML.trim()) || null;
|
|
1865
|
-
}
|
|
1866
|
-
// Already sanitized through `renderOptionLabel`
|
|
1867
|
-
return container;
|
|
1868
|
-
};
|
|
1869
|
-
/**
|
|
1870
|
-
* Returns the child nodes that belong to the default slot of an
|
|
1871
|
-
* option element, excluding any nodes that are assigned to named
|
|
1872
|
-
* slots.
|
|
1873
|
-
*
|
|
1874
|
-
* @param option - The `ion-select-option` element to extract default-slot nodes from.
|
|
1875
|
-
* @returns An array of default slot nodes, or `null` if none are found.
|
|
1876
|
-
*/
|
|
1877
|
-
const getOptionDefaultSlot = (option) => {
|
|
1878
|
-
const defaultSlotNodes = Array.from(option.childNodes).filter((node) => {
|
|
1879
|
-
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
1880
|
-
return !node.hasAttribute('slot');
|
|
1881
|
-
}
|
|
1882
|
-
return node.nodeType === Node.TEXT_NODE;
|
|
1883
|
-
});
|
|
1884
|
-
if (defaultSlotNodes.length === 0) {
|
|
1885
|
-
return null;
|
|
1886
|
-
}
|
|
1887
|
-
return defaultSlotNodes;
|
|
1888
|
-
};
|
|
1889
|
-
/**
|
|
1890
|
-
* Extracts plain text from only the default slot of an option,
|
|
1891
|
-
* excluding content assigned to named slots (start/end).
|
|
1892
|
-
*/
|
|
1893
|
-
const getDefaultSlotPlainText = (option) => {
|
|
1894
|
-
const texts = Array.from(option.childNodes)
|
|
1895
|
-
.filter((node) => {
|
|
1896
|
-
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
1897
|
-
return !node.hasAttribute('slot');
|
|
1898
|
-
}
|
|
1899
|
-
return node.nodeType === Node.TEXT_NODE;
|
|
1900
|
-
})
|
|
1901
|
-
.filter((node) => node.nodeType === Node.TEXT_NODE)
|
|
1902
|
-
.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
|
|
1903
|
-
.filter((t) => t);
|
|
1904
|
-
return texts.join(' ');
|
|
1536
|
+
return selectOpt ? selectOpt.textContent : null;
|
|
1905
1537
|
};
|
|
1906
1538
|
let selectIds = 0;
|
|
1907
1539
|
const OPTION_CLASS = 'select-interface-option';
|