@ionic/core 8.8.2 → 8.8.3-dev.11774545677.151db026
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-divider.d.ts +11 -0
- package/components/ion-divider.js +4 -0
- 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-legacy-column.js +1 -1
- package/components/ion-picker-legacy.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-0sa2JgYA.js +4 -0
- package/components/{p-CO7fmmxt.js → p-0tC5Bj8z.js} +1 -1
- package/components/p-3Ni1Z654.js +4 -0
- package/{dist/ionic/p-D13Eaw-8.js → components/p-9gxM3tAr.js} +1 -1
- package/components/{p-ak_d-z48.js → p-B636tzQ7.js} +1 -1
- package/components/p-B6czg-mf.js +4 -0
- package/components/p-BCDEEm9n.js +4 -0
- package/components/p-BDndEqui.js +4 -0
- package/components/p-BDqjX7Z_.js +4 -0
- package/components/p-BErKjY03.js +4 -0
- package/components/p-BFCM_1oE.js +4 -0
- package/components/p-BGHaEUgp.js +4 -0
- package/components/{p-cyNmxje6.js → p-BLysWQA1.js} +1 -1
- package/components/p-BO4aickU.js +4 -0
- package/components/p-BR9Yxas9.js +4 -0
- package/components/p-BU8N7ZrK.js +4 -0
- package/components/p-BYSs-jZz.js +4 -0
- package/components/p-BcbmT6b3.js +4 -0
- package/components/p-BeVlsaLA.js +4 -0
- package/components/p-BfHB6wX_.js +4 -0
- package/components/p-BhfW3d9j.js +4 -0
- package/components/p-BjW8SOqw.js +4 -0
- package/components/p-BqDiJgC_.js +4 -0
- package/components/p-Br3pqTOz.js +4 -0
- package/components/p-BtAlyZ0b.js +4 -0
- package/components/p-C-_EGKki.js +4 -0
- package/components/p-C00Y_WJv.js +4 -0
- package/components/p-C2cZvGcF.js +4 -0
- package/components/p-CBH_owa5.js +4 -0
- package/components/{p-BUbsoBOV.js → p-CHgKFg32.js} +1 -1
- package/components/p-CKfNwyAb.js +4 -0
- package/components/p-CVBkx7m1.js +4 -0
- package/components/p-Cb9imMZh.js +4 -0
- package/components/p-CdYTq34D.js +4 -0
- package/components/p-CeYwuysM.js +4 -0
- package/components/p-Cf9-xP7P.js +4 -0
- package/components/p-Ch9P0ikq.js +4 -0
- package/components/{p-Cwv-vmkN.js → p-CjSx8W-k.js} +1 -1
- package/components/p-CoarhFWH.js +4 -0
- package/components/p-D1t981Ih.js +4 -0
- package/components/p-D5lMX0xt.js +4 -0
- package/components/p-D8NAdIPC.js +4 -0
- package/components/p-DAeMHNER.js +4 -0
- package/components/p-DDw-NYxz.js +4 -0
- package/components/p-DVcs-2q3.js +4 -0
- package/components/p-DaJxRxSQ.js +4 -0
- package/components/p-Dhi5xtNS.js +4 -0
- package/components/p-DrhTPUzN.js +4 -0
- package/components/p-GnGGIfCd.js +4 -0
- package/components/p-GytrfCp8.js +4 -0
- package/components/p-UzXrYTAJ.js +4 -0
- package/components/p-XegQjlzJ.js +4 -0
- package/components/p-ZeIAjDcZ.js +4 -0
- package/components/p-fIOYmaqA.js +4 -0
- package/components/p-iwGbwewM.js +4 -0
- package/components/p-lIOqnNXn.js +4 -0
- package/{dist/ionic/p-BvFYtOdE.js → components/p-oF-CwZ0b.js} +1 -1
- package/components/p-sK-FK9CT.js +4 -0
- package/components/p-t98_NeNv.js +4 -0
- package/components/p-vCpF32Z7.js +4 -0
- package/components/p-vXpMhGrs.js +4 -0
- package/components/p-wCDzv5Q8.js +4 -0
- package/components/{p-YLXPWgVj.js → p-zWP0sUV_.js} +1 -1
- 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/bundle.ionic.css +1 -0
- package/css/ionic/bundle.ionic.css.map +1 -0
- package/css/ionic/core.ionic.css +1 -0
- package/css/ionic/core.ionic.css.map +1 -0
- package/css/ionic/global.bundle.ionic.css +1 -0
- package/css/ionic/global.bundle.ionic.css.map +1 -0
- package/css/ionic/ionic-swiper.ionic.css +1 -0
- package/css/ionic/ionic-swiper.ionic.css.map +1 -0
- package/css/ionic/link.ionic.css +1 -0
- package/css/ionic/link.ionic.css.map +1 -0
- package/css/ionic/structure.ionic.css +1 -0
- package/css/ionic/structure.ionic.css.map +1 -0
- package/css/ionic/typography.ionic.css +1 -0
- package/css/ionic/typography.ionic.css.map +1 -0
- package/css/ionic/utils.bundle.ionic.css +1 -0
- package/css/ionic/utils.bundle.ionic.css.map +1 -0
- 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-Dg4yiuR2.js → animation-DknMeJ3x.js} +3 -3
- package/dist/cjs/{app-globals-CLI8xCmk.js → app-globals-DtAeky3x.js} +1 -1
- package/dist/cjs/{button-active-FscMI17-.js → button-active-JoIWyYri.js} +2 -2
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BnRBm_ys.js} +3 -3
- package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
- package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
- package/dist/cjs/caret-right-CRCgv98E.js +8 -0
- package/dist/cjs/{config-BukYi_pW.js → config-B0utyWaD.js} +1 -1
- package/dist/cjs/{data-BYlBjkMU.js → data-DuOuKG7I.js} +6 -6
- package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
- package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-Dx9FrqAC.js} +4 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-D3Ay9mmg.js} +1 -1
- package/dist/cjs/{helpers-CxTYJdbT.js → helpers-DJYxKN5U.js} +57 -4
- package/dist/cjs/{index-MbaBbWXk.js → index-BJrpF9T3.js} +2 -2
- package/dist/cjs/{index-CFUwM5x_.js → index-Cer2Qy4I.js} +15 -15
- package/dist/cjs/{index-CqT-2gKy.js → index-CzcLEdQ5.js} +41 -4
- package/dist/cjs/{index-YcSftOMz.js → index-DMJjUhXH.js} +9 -8
- package/dist/cjs/{index-C845Ti6K.js → index-D_mPAIqF.js} +4 -4
- package/dist/cjs/index.cjs.js +13 -14
- package/dist/cjs/{input-shims-Dl5cnc_e.js → input-shims-Dn33gFln.js} +18 -17
- package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-DnVnhWEF.js} +5 -5
- package/dist/cjs/ion-accordion_2.cjs.entry.js +60 -28
- package/dist/cjs/ion-action-sheet.cjs.entry.js +25 -22
- package/dist/cjs/ion-alert.cjs.entry.js +25 -23
- package/dist/cjs/ion-app_8.cjs.entry.js +292 -157
- package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -13
- package/dist/cjs/ion-back-button.cjs.entry.js +30 -21
- package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +53 -17
- package/dist/cjs/ion-button_2.cjs.entry.js +59 -22
- package/dist/cjs/ion-card_5.cjs.entry.js +55 -33
- package/dist/cjs/ion-checkbox.cjs.entry.js +34 -16
- package/dist/cjs/ion-chip.cjs.entry.js +50 -9
- package/dist/cjs/ion-col_3.cjs.entry.js +54 -57
- package/dist/cjs/ion-datetime-button.cjs.entry.js +13 -9
- package/dist/cjs/ion-datetime_3.cjs.entry.js +117 -41
- package/dist/cjs/ion-divider.cjs.entry.js +51 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +43 -27
- package/dist/cjs/ion-img.cjs.entry.js +8 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
- package/dist/cjs/ion-input-otp.cjs.entry.js +92 -12
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +52 -14
- package/dist/cjs/ion-input.cjs.entry.js +123 -33
- package/dist/cjs/ion-item-option_3.cjs.entry.js +50 -21
- package/dist/cjs/ion-item_8.cjs.entry.js +115 -48
- package/dist/cjs/ion-loading.cjs.entry.js +20 -18
- package/dist/cjs/ion-menu_3.cjs.entry.js +46 -28
- package/dist/cjs/ion-modal.cjs.entry.js +105 -78
- package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
- package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
- package/dist/cjs/ion-picker.cjs.entry.js +10 -6
- package/dist/cjs/ion-popover.cjs.entry.js +20 -18
- package/dist/cjs/ion-progress-bar.cjs.entry.js +27 -9
- package/dist/cjs/ion-radio_2.cjs.entry.js +35 -17
- package/dist/cjs/ion-range.cjs.entry.js +16 -12
- package/dist/cjs/ion-refresher_2.cjs.entry.js +38 -20
- package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
- package/dist/cjs/ion-route_4.cjs.entry.js +10 -9
- package/dist/cjs/ion-searchbar.cjs.entry.js +136 -23
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +23 -16
- package/dist/cjs/ion-select-modal.cjs.entry.js +17 -11
- package/dist/cjs/ion-select_3.cjs.entry.js +132 -41
- package/dist/cjs/ion-spinner.cjs.entry.js +30 -8
- package/dist/cjs/ion-split-pane.cjs.entry.js +12 -9
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +77 -23
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-text.cjs.entry.js +7 -7
- package/dist/cjs/ion-textarea.cjs.entry.js +137 -23
- package/dist/cjs/ion-toast.cjs.entry.js +68 -45
- package/dist/cjs/ion-toggle.cjs.entry.js +81 -24
- package/dist/cjs/ionic-global-CSEbHD_F.js +519 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-UCjoxA3D.js} +7 -5
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Bhav6x-R.js} +4 -3
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Dsczf-iT.js} +1 -1
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-tqGDP9SU.js} +11 -9
- package/dist/cjs/list-a-7GSA6K.js +8 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-CNwlchQn.js} +6 -5
- package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-CgtkBzy0.js} +4 -4
- package/dist/cjs/{overlays-C2jiBSNQ.js → overlays-Dhoy6v_5.js} +102 -12
- package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-CTY2dMsZ.js} +4 -3
- package/dist/cjs/{swipe-back-BGhTQ1CU.js → swipe-back-jJFi5KCB.js} +3 -2
- package/dist/cjs/{theme-CeDs6Hcv.js → theme-IlOsGAz7.js} +25 -1
- package/dist/cjs/validity-QmuwEptc.js +51 -0
- package/dist/cjs/x-BTF99yFH.js +8 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.ionic.css +201 -0
- package/dist/collection/components/accordion/accordion.ios.css +73 -58
- package/dist/collection/components/accordion/accordion.js +41 -27
- package/dist/collection/components/accordion/accordion.md.css +67 -59
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
- package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
- package/dist/collection/components/accordion-group/accordion-group.js +44 -8
- package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
- package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
- package/dist/collection/components/action-sheet/action-sheet.js +17 -13
- package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
- package/dist/collection/components/alert/alert.ios.css +19 -1
- package/dist/collection/components/alert/alert.js +16 -13
- package/dist/collection/components/alert/alert.md.css +19 -1
- package/dist/collection/components/app/app.js +15 -83
- package/dist/collection/components/avatar/avatar.ionic.css +391 -0
- package/dist/collection/components/avatar/avatar.ios.css +7 -33
- package/dist/collection/components/avatar/avatar.js +120 -4
- package/dist/collection/components/avatar/avatar.md.css +51 -0
- package/dist/collection/components/back-button/back-button.ios.css +60 -48
- package/dist/collection/components/back-button/back-button.js +27 -19
- package/dist/collection/components/back-button/back-button.md.css +60 -48
- package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
- package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
- package/dist/collection/components/backdrop/backdrop.js +12 -6
- package/dist/collection/components/backdrop/backdrop.md.css +56 -19
- package/dist/collection/components/badge/badge.ionic.css +275 -0
- package/dist/collection/components/badge/badge.ios.css +139 -12
- package/dist/collection/components/badge/badge.js +145 -9
- package/dist/collection/components/badge/badge.md.css +123 -12
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
- package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
- package/dist/collection/components/button/button.ionic.css +646 -0
- package/dist/collection/components/button/button.ios.css +154 -46
- package/dist/collection/components/button/button.js +63 -27
- package/dist/collection/components/button/button.md.css +150 -50
- package/dist/collection/components/buttons/buttons.ionic.css +97 -0
- package/dist/collection/components/buttons/buttons.ios.css +59 -7
- package/dist/collection/components/buttons/buttons.js +15 -9
- package/dist/collection/components/buttons/buttons.md.css +55 -3
- package/dist/collection/components/card/card.ionic.css +144 -0
- package/dist/collection/components/card/card.ios.css +65 -14
- package/dist/collection/components/card/card.js +41 -10
- package/dist/collection/components/card/card.md.css +65 -14
- package/dist/collection/components/card-content/card-content.ionic.css +89 -0
- package/dist/collection/components/card-content/card-content.ios.css +20 -35
- package/dist/collection/components/card-content/card-content.js +12 -10
- package/dist/collection/components/card-content/card-content.md.css +20 -35
- package/dist/collection/components/card-header/card-header.ionic.css +85 -0
- package/dist/collection/components/card-header/card-header.ios.css +27 -15
- package/dist/collection/components/card-header/card-header.js +13 -10
- package/dist/collection/components/card-header/card-header.md.css +27 -15
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
- package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
- package/dist/collection/components/card-title/card-title.ios.css +73 -0
- package/dist/collection/components/card-title/card-title.js +11 -8
- package/dist/collection/components/card-title/card-title.md.css +73 -0
- package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
- package/dist/collection/components/checkbox/checkbox.js +70 -14
- package/dist/collection/components/checkbox/checkbox.md.css +162 -102
- package/dist/collection/components/chip/chip.ionic.css +217 -0
- package/dist/collection/components/chip/chip.ios.css +67 -14
- package/dist/collection/components/chip/chip.js +108 -8
- package/dist/collection/components/chip/chip.md.css +67 -14
- package/dist/collection/components/col/col.css +192 -4
- package/dist/collection/components/col/col.js +210 -61
- package/dist/collection/components/content/content.css +8 -2
- package/dist/collection/components/content/content.js +16 -11
- package/dist/collection/components/datetime/datetime.ionic.css +703 -0
- package/dist/collection/components/datetime/datetime.ios.css +302 -106
- package/dist/collection/components/datetime/datetime.js +100 -21
- package/dist/collection/components/datetime/datetime.md.css +293 -96
- package/dist/collection/components/datetime/utils/data.js +5 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
- package/dist/collection/components/datetime-button/datetime-button.js +11 -8
- package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
- package/dist/collection/components/divider/divider.ionic.css +148 -0
- package/dist/collection/components/divider/divider.ios.css +87 -0
- package/dist/collection/components/divider/divider.js +94 -0
- package/dist/collection/components/divider/divider.md.css +87 -0
- package/dist/collection/components/fab/fab.css +25 -1
- package/dist/collection/components/fab/fab.js +9 -5
- package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
- package/dist/collection/components/fab-button/fab-button.js +36 -21
- package/dist/collection/components/fab-button/fab-button.md.css +20 -8
- package/dist/collection/components/fab-list/fab-list.css +12 -0
- package/dist/collection/components/fab-list/fab-list.js +9 -5
- package/dist/collection/components/footer/footer.ios.css +14 -2
- package/dist/collection/components/footer/footer.js +21 -16
- package/dist/collection/components/footer/footer.md.css +12 -0
- package/dist/collection/components/grid/grid.css +12 -0
- package/dist/collection/components/grid/grid.js +9 -5
- package/dist/collection/components/header/header.ionic.css +97 -0
- package/dist/collection/components/header/header.ios.css +25 -10
- package/dist/collection/components/header/header.js +50 -19
- package/dist/collection/components/header/header.md.css +23 -8
- package/dist/collection/components/header/header.utils.js +5 -5
- package/dist/collection/components/img/img.js +8 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
- package/dist/collection/components/input/input.ionic.css +889 -0
- package/dist/collection/components/input/input.ios.css +223 -135
- package/dist/collection/components/input/input.js +148 -37
- package/dist/collection/components/input/input.md.css +193 -207
- package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
- package/dist/collection/components/input-otp/input-otp.js +91 -9
- package/dist/collection/components/input-otp/input-otp.md.css +105 -60
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
- package/dist/collection/components/item/item.ionic.css +508 -0
- package/dist/collection/components/item/item.ios.css +109 -69
- package/dist/collection/components/item/item.js +51 -20
- package/dist/collection/components/item/item.md.css +120 -68
- package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
- package/dist/collection/components/item-divider/item-divider.js +11 -8
- package/dist/collection/components/item-divider/item-divider.md.css +18 -0
- package/dist/collection/components/item-group/item-group.ios.css +12 -0
- package/dist/collection/components/item-group/item-group.js +13 -7
- package/dist/collection/components/item-group/item-group.md.css +12 -0
- package/dist/collection/components/item-option/item-option.ionic.css +278 -0
- package/dist/collection/components/item-option/item-option.ios.css +136 -29
- package/dist/collection/components/item-option/item-option.js +73 -9
- package/dist/collection/components/item-option/item-option.md.css +136 -29
- package/dist/collection/components/item-options/item-options.ionic.css +221 -0
- package/dist/collection/components/item-options/item-options.ios.css +77 -34
- package/dist/collection/components/item-options/item-options.js +13 -7
- package/dist/collection/components/item-options/item-options.md.css +77 -34
- package/dist/collection/components/item-sliding/item-sliding.css +6 -0
- package/dist/collection/components/item-sliding/item-sliding.js +8 -4
- package/dist/collection/components/label/label.ios.css +18 -0
- package/dist/collection/components/label/label.js +11 -8
- package/dist/collection/components/label/label.md.css +18 -0
- package/dist/collection/components/list/list.ionic.css +212 -0
- package/dist/collection/components/list/list.ios.css +54 -14
- package/dist/collection/components/list/list.js +48 -9
- package/dist/collection/components/list/list.md.css +56 -16
- package/dist/collection/components/list-header/list-header.ionic.css +190 -0
- package/dist/collection/components/list-header/list-header.ios.css +82 -38
- package/dist/collection/components/list-header/list-header.js +11 -8
- package/dist/collection/components/list-header/list-header.md.css +82 -38
- package/dist/collection/components/loading/loading.ios.css +13 -1
- package/dist/collection/components/loading/loading.js +14 -11
- package/dist/collection/components/loading/loading.md.css +13 -1
- package/dist/collection/components/menu/menu.ios.css +15 -3
- package/dist/collection/components/menu/menu.js +12 -7
- package/dist/collection/components/menu/menu.md.css +15 -3
- package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
- package/dist/collection/components/menu-button/menu-button.js +26 -10
- package/dist/collection/components/menu-button/menu-button.md.css +49 -15
- package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
- package/dist/collection/components/modal/animations/sheet.js +8 -2
- package/dist/collection/components/modal/gestures/sheet.js +10 -6
- package/dist/collection/components/modal/modal.ionic.css +247 -0
- package/dist/collection/components/modal/modal.ios.css +178 -70
- package/dist/collection/components/modal/modal.js +48 -11
- package/dist/collection/components/modal/modal.md.css +178 -70
- package/dist/collection/components/nav/nav.css +7 -1
- package/dist/collection/components/nav/nav.js +11 -5
- package/dist/collection/components/nav-link/nav-link.js +5 -1
- package/dist/collection/components/note/note.ios.css +12 -0
- package/dist/collection/components/note/note.js +11 -8
- package/dist/collection/components/note/note.md.css +12 -0
- package/dist/collection/components/picker/picker.ios.css +15 -3
- package/dist/collection/components/picker/picker.js +8 -5
- package/dist/collection/components/picker/picker.md.css +15 -3
- package/dist/collection/components/picker-column/picker-column.css +9 -2
- package/dist/collection/components/picker-column/picker-column.js +8 -7
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
- package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
- package/dist/collection/components/picker-legacy/picker.js +7 -6
- package/dist/collection/components/picker-legacy/picker.md.css +13 -1
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
- package/dist/collection/components/popover/popover.ionic.css +274 -0
- package/dist/collection/components/popover/popover.ios.css +13 -1
- package/dist/collection/components/popover/popover.js +17 -14
- package/dist/collection/components/popover/popover.md.css +13 -1
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
- package/dist/collection/components/progress-bar/progress-bar.js +43 -7
- package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
- package/dist/collection/components/radio/radio.ionic.css +422 -0
- package/dist/collection/components/radio/radio.ios.css +134 -91
- package/dist/collection/components/radio/radio.js +14 -9
- package/dist/collection/components/radio/radio.md.css +134 -91
- package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
- package/dist/collection/components/radio-group/radio-group.js +48 -7
- package/dist/collection/components/radio-group/radio-group.md.css +43 -19
- package/dist/collection/components/range/range.ionic.css +563 -0
- package/dist/collection/components/range/range.ios.css +128 -85
- package/dist/collection/components/range/range.js +12 -9
- package/dist/collection/components/range/range.md.css +128 -85
- package/dist/collection/components/refresher/refresher.ios.css +14 -1
- package/dist/collection/components/refresher/refresher.js +11 -8
- package/dist/collection/components/refresher/refresher.md.css +15 -2
- package/dist/collection/components/refresher-content/refresher-content.js +28 -7
- package/dist/collection/components/reorder/reorder.ios.css +6 -0
- package/dist/collection/components/reorder/reorder.js +33 -6
- package/dist/collection/components/reorder/reorder.md.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.js +8 -4
- package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
- package/dist/collection/components/route/route.js +4 -0
- package/dist/collection/components/router/router.js +4 -0
- package/dist/collection/components/router-link/router-link.css +8 -2
- package/dist/collection/components/router-link/router-link.js +9 -5
- package/dist/collection/components/router-outlet/router-outlet.css +7 -1
- package/dist/collection/components/router-outlet/router-outlet.js +6 -3
- package/dist/collection/components/row/row.css +16 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +180 -33
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +115 -0
- package/dist/collection/components/segment/segment.ios.css +45 -2
- package/dist/collection/components/segment/segment.js +11 -8
- package/dist/collection/components/segment/segment.md.css +45 -2
- package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
- package/dist/collection/components/segment-button/segment-button.js +11 -8
- package/dist/collection/components/segment-button/segment-button.md.css +148 -107
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
- package/dist/collection/components/segment-view/segment-view.js +6 -4
- package/dist/collection/components/segment-view/segment-view.md.css +6 -0
- package/dist/collection/components/select/select.ionic.css +777 -0
- package/dist/collection/components/select/select.ios.css +315 -176
- package/dist/collection/components/select/select.js +156 -53
- package/dist/collection/components/select/select.md.css +331 -178
- package/dist/collection/components/select-modal/select-modal.ionic.css +130 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
- package/dist/collection/components/select-modal/select-modal.js +11 -4
- package/dist/collection/components/select-modal/select-modal.md.css +7 -3
- package/dist/collection/components/select-option/select-option.js +9 -2
- package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
- package/dist/collection/components/select-popover/select-popover.js +12 -4
- package/dist/collection/components/select-popover/select-popover.md.css +18 -0
- package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
- package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
- package/dist/collection/components/spinner/spinner.js +47 -6
- package/dist/collection/components/spinner/spinner.native.css +199 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
- package/dist/collection/components/split-pane/split-pane.js +14 -8
- package/dist/collection/components/split-pane/split-pane.md.css +20 -2
- package/dist/collection/components/tab/tab.js +6 -2
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +201 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
- package/dist/collection/components/tab-bar/tab-bar.js +78 -11
- package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +348 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
- package/dist/collection/components/tab-button/tab-button.js +54 -9
- package/dist/collection/components/tab-button/tab-button.md.css +137 -93
- package/dist/collection/components/tabs/tabs.css +7 -1
- package/dist/collection/components/tabs/tabs.js +4 -1
- package/dist/collection/components/text/text.css +6 -0
- package/dist/collection/components/text/text.js +7 -6
- package/dist/collection/components/textarea/textarea.ionic.css +898 -0
- package/dist/collection/components/textarea/textarea.ios.css +298 -158
- package/dist/collection/components/textarea/textarea.js +162 -24
- package/dist/collection/components/textarea/textarea.md.css +312 -159
- package/dist/collection/components/thumbnail/thumbnail.css +6 -0
- package/dist/collection/components/thumbnail/thumbnail.js +9 -2
- package/dist/collection/components/title/title.ionic.css +127 -0
- package/dist/collection/components/title/title.ios.css +32 -4
- package/dist/collection/components/title/title.js +13 -7
- package/dist/collection/components/title/title.md.css +32 -4
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ionic.css +394 -0
- package/dist/collection/components/toast/toast.ios.css +84 -45
- package/dist/collection/components/toast/toast.js +75 -12
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +508 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -131
- package/dist/collection/components/toggle/toggle.js +73 -18
- package/dist/collection/components/toggle/toggle.md.css +244 -131
- package/dist/collection/components/toolbar/test/image.svg +1 -0
- package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +218 -13
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/ionic-global.js +241 -13
- package/dist/collection/utils/focus-trap.js +13 -2
- package/dist/collection/utils/focus-visible.js +22 -0
- package/dist/collection/utils/forms/validity.js +31 -0
- package/dist/collection/utils/framework-delegate.js +3 -1
- package/dist/collection/utils/hardware-back-button.js +15 -0
- package/dist/collection/utils/helpers.js +57 -3
- package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +2 -1
- package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
- package/dist/collection/utils/overlays.js +82 -1
- package/dist/collection/utils/test/playwright/generator.js +48 -23
- package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
- package/dist/collection/utils/theme.js +25 -1
- package/dist/collection/utils/transition/ios.transition.js +1 -0
- package/dist/docs.json +8302 -282
- package/dist/esm/{animation-CnGMT4ji.js → animation-Cqe2x-Pt.js} +2 -2
- package/dist/esm/{app-globals-DhZjtldk.js → app-globals-Dk1rB3aE.js} +1 -1
- package/dist/esm/{button-active-BBx21brx.js → button-active-g6ZnZzDZ.js} +2 -2
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-C4lYa1nV.js} +1 -1
- package/dist/esm/caret-down-D1t981Ih.js +6 -0
- package/dist/esm/caret-left-fIOYmaqA.js +6 -0
- package/dist/esm/caret-right-BYSs-jZz.js +6 -0
- package/dist/esm/{config-TO1rZH52.js → config-BvDxfLa-.js} +1 -1
- package/dist/esm/{data-B9iGR5YO.js → data-BNKYavC3.js} +6 -6
- package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
- package/dist/esm/{framework-delegate-CyxE1S_P.js → framework-delegate-CjVwn_KZ.js} +4 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-_88k1V5U.js} +1 -1
- package/dist/esm/{helpers-Tl8jw6S2.js → helpers-Do7zwvM1.js} +58 -5
- package/dist/esm/{index-hW6eNZ3o.js → index-BmkLokUL.js} +2 -2
- package/dist/esm/{index-BtUdxPjv.js → index-C5t9-ciC.js} +4 -3
- package/dist/esm/{index-B-hkiOUh.js → index-CGthURny.js} +4 -4
- package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
- package/dist/esm/{index-IGIE5vDm.js → index-Omi_TcwW.js} +41 -4
- package/dist/esm/{index-B2KwgBLx.js → index-hpH08p5s.js} +11 -11
- package/dist/esm/index.js +13 -14
- package/dist/esm/{input-shims-AaDhOpKN.js → input-shims-vDjCsx95.js} +7 -6
- package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-B9Q5xHp6.js} +3 -3
- package/dist/esm/ion-accordion_2.entry.js +61 -29
- package/dist/esm/ion-action-sheet.entry.js +25 -22
- package/dist/esm/ion-alert.entry.js +25 -23
- package/dist/esm/ion-app_8.entry.js +292 -157
- package/dist/esm/ion-avatar_3.entry.js +125 -13
- package/dist/esm/ion-back-button.entry.js +31 -22
- package/dist/esm/ion-backdrop.entry.js +10 -7
- package/dist/esm/ion-breadcrumb_2.entry.js +54 -18
- package/dist/esm/ion-button_2.entry.js +59 -22
- package/dist/esm/ion-card_5.entry.js +55 -33
- package/dist/esm/ion-checkbox.entry.js +34 -16
- package/dist/esm/ion-chip.entry.js +50 -9
- package/dist/esm/ion-col_3.entry.js +54 -57
- package/dist/esm/ion-datetime-button.entry.js +13 -9
- package/dist/esm/ion-datetime_3.entry.js +118 -42
- package/dist/esm/ion-divider.entry.js +49 -0
- package/dist/esm/ion-fab_3.entry.js +44 -28
- package/dist/esm/ion-img.entry.js +8 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
- package/dist/esm/ion-input-otp.entry.js +92 -12
- package/dist/esm/ion-input-password-toggle.entry.js +53 -15
- package/dist/esm/ion-input.entry.js +124 -34
- package/dist/esm/ion-item-option_3.entry.js +50 -21
- package/dist/esm/ion-item_8.entry.js +116 -49
- package/dist/esm/ion-loading.entry.js +20 -18
- package/dist/esm/ion-menu_3.entry.js +47 -29
- package/dist/esm/ion-modal.entry.js +58 -31
- package/dist/esm/ion-nav_2.entry.js +14 -11
- package/dist/esm/ion-picker-column-option.entry.js +12 -8
- package/dist/esm/ion-picker-column.entry.js +13 -13
- package/dist/esm/ion-picker.entry.js +10 -6
- package/dist/esm/ion-popover.entry.js +20 -18
- package/dist/esm/ion-progress-bar.entry.js +27 -9
- package/dist/esm/ion-radio_2.entry.js +35 -17
- package/dist/esm/ion-range.entry.js +16 -12
- package/dist/esm/ion-refresher_2.entry.js +39 -21
- package/dist/esm/ion-reorder_2.entry.js +38 -14
- package/dist/esm/ion-ripple-effect.entry.js +15 -7
- package/dist/esm/ion-route_4.entry.js +10 -9
- package/dist/esm/ion-searchbar.entry.js +137 -24
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +6 -3
- package/dist/esm/ion-segment_2.entry.js +23 -16
- package/dist/esm/ion-select-modal.entry.js +17 -11
- package/dist/esm/ion-select_3.entry.js +133 -42
- package/dist/esm/ion-spinner.entry.js +30 -8
- package/dist/esm/ion-split-pane.entry.js +12 -9
- package/dist/esm/ion-tab-bar_2.entry.js +77 -23
- package/dist/esm/ion-tab_2.entry.js +8 -7
- package/dist/esm/ion-text.entry.js +7 -7
- package/dist/esm/ion-textarea.entry.js +137 -23
- package/dist/esm/ion-toast.entry.js +43 -20
- package/dist/esm/ion-toggle.entry.js +82 -25
- package/dist/esm/ionic-global-CAZb-5i-.js +508 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-CzSncKQg.js} +7 -5
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cpw6xVLJ.js} +1 -1
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DJpS2IGK.js} +4 -3
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-CAc33ylR.js} +5 -3
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-DIsWqYBZ.js} +6 -5
- package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-DiBq57w8.js} +2 -2
- package/dist/esm/{overlays-F8GHPo-e.js → overlays-CvFHfO3y.js} +99 -9
- package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-fYFdZg6z.js} +4 -3
- package/dist/esm/{swipe-back-BZBFwTQV.js → swipe-back-BzGqTrrq.js} +3 -2
- package/dist/esm/{theme-DiVJyqlX.js → theme-DaJxRxSQ.js} +25 -1
- package/dist/esm/validity-BjW8SOqw.js +48 -0
- package/dist/esm/x-BDqjX7Z_.js +6 -0
- package/dist/html.html-data.json +2486 -138
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-01bc266f.entry.js +4 -0
- package/dist/ionic/p-01f414fd.entry.js +4 -0
- package/dist/ionic/p-07d3388f.entry.js +4 -0
- package/dist/ionic/p-11nqcMM3.js +4 -0
- package/dist/ionic/p-139d02eb.entry.js +4 -0
- package/dist/ionic/p-1855fcb6.entry.js +4 -0
- package/dist/ionic/p-2095969c.entry.js +4 -0
- package/dist/ionic/p-2193e875.entry.js +4 -0
- package/dist/ionic/p-2311e660.entry.js +4 -0
- package/dist/ionic/p-27edb91a.entry.js +4 -0
- package/dist/ionic/p-2aa44c65.entry.js +4 -0
- package/dist/ionic/p-2bf931ae.entry.js +4 -0
- package/dist/ionic/p-2ed694b1.entry.js +4 -0
- package/dist/ionic/p-2effd05d.entry.js +4 -0
- package/dist/ionic/p-304f8b0f.entry.js +4 -0
- package/dist/ionic/p-3093958a.entry.js +4 -0
- package/dist/ionic/p-3884bfa4.entry.js +4 -0
- package/dist/ionic/p-3bf01c2c.entry.js +4 -0
- package/dist/ionic/p-4091ad21.entry.js +4 -0
- package/dist/ionic/p-41914dc2.entry.js +4 -0
- package/dist/ionic/p-45825c2c.entry.js +4 -0
- package/dist/ionic/p-49799a34.entry.js +4 -0
- package/dist/ionic/p-4b0f5ffd.entry.js +4 -0
- package/dist/ionic/p-4e46439d.entry.js +4 -0
- package/dist/ionic/p-4e837210.entry.js +4 -0
- package/dist/ionic/p-50d90690.entry.js +4 -0
- package/dist/ionic/p-5239fc93.entry.js +4 -0
- package/dist/ionic/p-64341e32.entry.js +4 -0
- package/dist/ionic/p-68c21b2a.entry.js +4 -0
- package/dist/ionic/p-6be2b2d3.entry.js +4 -0
- package/dist/ionic/p-6bffc700.entry.js +4 -0
- package/dist/ionic/p-6c8c37c2.entry.js +4 -0
- package/dist/ionic/p-7194f6fa.entry.js +4 -0
- package/dist/ionic/p-727bb80c.entry.js +4 -0
- package/dist/ionic/p-76d0e7ef.entry.js +4 -0
- package/dist/ionic/p-7d267dc6.entry.js +4 -0
- package/dist/ionic/p-8e42d109.entry.js +4 -0
- package/dist/ionic/p-8fc3b5de.entry.js +4 -0
- package/dist/ionic/p-8uDL7fql.js +4 -0
- package/dist/ionic/p-91e242e4.entry.js +4 -0
- package/dist/ionic/p-98c34fd7.entry.js +4 -0
- package/dist/ionic/p-9acd3fd3.entry.js +4 -0
- package/dist/ionic/p-9b9b1450.entry.js +4 -0
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BYtS2rae.js +4 -0
- package/dist/ionic/p-BjW8SOqw.js +4 -0
- package/{components/p-9VcRUwdB.js → dist/ionic/p-BsfuYVMP.js} +1 -1
- package/dist/ionic/p-Bx0bt2Ar.js +4 -0
- package/dist/ionic/p-C2mpVKI1.js +4 -0
- package/dist/ionic/p-C5zxLmJ_.js +4 -0
- package/{components/p-BS1TtEiJ.js → dist/ionic/p-C8IHbcuP.js} +1 -1
- package/dist/ionic/p-CBV-BGvD.js +4 -0
- package/dist/ionic/p-CDn0uNJA.js +4 -0
- package/dist/ionic/p-CHE1xWbg.js +4 -0
- package/dist/ionic/p-CIk5QtPm.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
- package/dist/ionic/p-CQKe4n56.js +4 -0
- package/dist/ionic/p-CVp2D--1.js +4 -0
- package/dist/ionic/p-CXqdKf1K.js +4 -0
- package/dist/ionic/p-Cb-0O4h8.js +4 -0
- package/dist/ionic/{p-CKvCXMs9.js → p-CbkICFBN.js} +1 -1
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/{p-B8xlpH8p.js → p-DKWXAwlR.js} +1 -1
- package/dist/ionic/p-DaJxRxSQ.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-DoyDJ2X5.js +4 -0
- package/dist/ionic/p-FvDKM4Ax.js +4 -0
- package/dist/ionic/p-Omi_TcwW.js +5 -0
- package/{components/p-D13Eaw-8.js → dist/ionic/p-SJmaFQ0H.js} +1 -1
- package/dist/ionic/p-SOASChNu.js +4 -0
- package/dist/ionic/{p-DjriolRs.js → p-ZqkJDyhe.js} +1 -1
- package/dist/ionic/p-a283aa4d.entry.js +4 -0
- package/dist/ionic/p-a53a3ecc.entry.js +4 -0
- package/dist/ionic/p-b00bbeb7.entry.js +4 -0
- package/dist/ionic/p-b049ae0f.entry.js +4 -0
- package/dist/ionic/p-bc5713f7.entry.js +4 -0
- package/dist/ionic/p-c136fa43.entry.js +4 -0
- package/dist/ionic/p-cdfbe4cc.entry.js +4 -0
- package/dist/ionic/p-dbf13f50.entry.js +4 -0
- package/dist/ionic/p-e1d04699.entry.js +4 -0
- package/dist/ionic/p-e9d6ce67.entry.js +4 -0
- package/dist/ionic/p-edb0b0c8.entry.js +4 -0
- package/dist/ionic/p-ef0c281a.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-qETiT38a.js +4 -0
- package/dist/ionic/{p-gbVXD275.js → p-qYp06FUk.js} +1 -1
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +6 -3
- package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
- package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
- package/dist/types/components/alert/alert-interface.d.ts +3 -7
- package/dist/types/components/alert/alert.d.ts +3 -2
- package/dist/types/components/app/app.d.ts +4 -5
- package/dist/types/components/avatar/avatar.d.ts +32 -0
- package/dist/types/components/back-button/back-button.d.ts +2 -1
- package/dist/types/components/backdrop/backdrop.d.ts +4 -0
- package/dist/types/components/badge/badge.d.ts +34 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +23 -8
- package/dist/types/components/buttons/buttons.d.ts +5 -1
- package/dist/types/components/card/card.d.ts +8 -1
- package/dist/types/components/card-content/card-content.d.ts +2 -1
- package/dist/types/components/card-header/card-header.d.ts +3 -2
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
- package/dist/types/components/card-title/card-title.d.ts +2 -1
- package/dist/types/components/checkbox/checkbox.d.ts +14 -4
- package/dist/types/components/chip/chip.d.ts +26 -1
- package/dist/types/components/col/col.d.ts +52 -5
- package/dist/types/components/content/content.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +26 -1
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
- package/dist/types/components/divider/divider.d.ts +20 -0
- package/dist/types/components/fab/fab.d.ts +4 -0
- package/dist/types/components/fab-button/fab-button.d.ts +5 -3
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer.d.ts +4 -3
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header.d.ts +9 -3
- package/dist/types/components/header/header.utils.d.ts +3 -3
- package/dist/types/components/img/img.d.ts +3 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +31 -5
- package/dist/types/components/input-otp/input-otp.d.ts +37 -0
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
- package/dist/types/components/item/item.d.ts +11 -4
- package/dist/types/components/item-divider/item-divider.d.ts +2 -1
- package/dist/types/components/item-group/item-group.d.ts +4 -0
- package/dist/types/components/item-option/item-option.d.ts +18 -1
- package/dist/types/components/item-options/item-options.d.ts +4 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
- package/dist/types/components/label/label.d.ts +2 -1
- package/dist/types/components/list/list.d.ts +15 -1
- package/dist/types/components/list-header/list-header.d.ts +2 -1
- package/dist/types/components/loading/loading-interface.d.ts +2 -7
- package/dist/types/components/loading/loading.d.ts +3 -2
- package/dist/types/components/menu/menu.d.ts +3 -0
- package/dist/types/components/menu-button/menu-button.d.ts +3 -1
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +4 -7
- package/dist/types/components/modal/modal.d.ts +11 -1
- package/dist/types/components/nav/nav-interface.d.ts +9 -1
- package/dist/types/components/nav/nav.d.ts +5 -1
- package/dist/types/components/nav-link/nav-link.d.ts +4 -0
- package/dist/types/components/note/note.d.ts +2 -1
- package/dist/types/components/picker/picker.d.ts +2 -1
- package/dist/types/components/picker-column/picker-column.d.ts +2 -1
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
- package/dist/types/components/picker-legacy/picker.d.ts +2 -1
- package/dist/types/components/popover/popover-interface.d.ts +3 -6
- package/dist/types/components/popover/popover.d.ts +6 -5
- package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
- package/dist/types/components/radio/radio.d.ts +2 -1
- package/dist/types/components/radio-group/radio-group.d.ts +12 -0
- package/dist/types/components/range/range.d.ts +2 -1
- package/dist/types/components/refresher/refresher.d.ts +2 -1
- package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
- package/dist/types/components/reorder/reorder.d.ts +9 -0
- package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
- package/dist/types/components/route/route.d.ts +4 -0
- package/dist/types/components/router/router.d.ts +4 -0
- package/dist/types/components/router-link/router-link.d.ts +4 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar.d.ts +51 -9
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +41 -13
- package/dist/types/components/select-modal/select-modal.d.ts +1 -0
- package/dist/types/components/select-option/select-option.d.ts +4 -0
- package/dist/types/components/select-popover/select-popover.d.ts +3 -0
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
- package/dist/types/components/spinner/spinner.d.ts +15 -0
- package/dist/types/components/split-pane/split-pane.d.ts +4 -0
- package/dist/types/components/tab/tab.d.ts +4 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
- package/dist/types/components/tab-button/tab-button.d.ts +12 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components/text/text.d.ts +2 -1
- package/dist/types/components/textarea/textarea.d.ts +53 -4
- package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
- package/dist/types/components/title/title.d.ts +4 -0
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +3 -7
- package/dist/types/components/toast/toast.d.ts +19 -2
- package/dist/types/components/toggle/toggle.d.ts +15 -1
- package/dist/types/components/toolbar/toolbar.d.ts +43 -3
- package/dist/types/components.d.ts +1684 -205
- package/dist/types/global/ionic-global.d.ts +28 -2
- package/dist/types/interface.d.ts +3 -0
- package/dist/types/utils/config.d.ts +106 -2
- package/dist/types/utils/focus-trap.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +13 -0
- package/dist/types/utils/forms/validity.d.ts +7 -0
- package/dist/types/utils/helpers.d.ts +11 -0
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/test/playwright/generator.d.ts +31 -2
- package/dist/types/utils/theme.d.ts +9 -0
- package/hydrate/index.js +3308 -998
- package/hydrate/index.mjs +3308 -998
- package/package.json +11 -7
- package/components/p-1KVKSLu5.js +0 -4
- package/components/p-ApmKVjaE.js +0 -4
- package/components/p-B6FQ0cKR.js +0 -4
- package/components/p-B6HaBl3o.js +0 -4
- package/components/p-B8b1Ukl9.js +0 -4
- package/components/p-BJoMtgfR.js +0 -4
- package/components/p-BNAG-aVv.js +0 -4
- package/components/p-BR3tZJmu.js +0 -4
- package/components/p-BSB38Tek.js +0 -4
- package/components/p-BTeL5HCK.js +0 -4
- package/components/p-BVnB3eEn.js +0 -4
- package/components/p-BYDc3hSE.js +0 -4
- package/components/p-BagjAGC0.js +0 -4
- package/components/p-BegtE7nr.js +0 -4
- package/components/p-BgwEQWW6.js +0 -4
- package/components/p-Bk2zuNWT.js +0 -4
- package/components/p-BmVRXR1y.js +0 -4
- package/components/p-BxwWvu-b.js +0 -4
- package/components/p-C4jPsTQa.js +0 -4
- package/components/p-C59ryAuS.js +0 -4
- package/components/p-C7AoMl7c.js +0 -4
- package/components/p-CBzELu-H.js +0 -4
- package/components/p-CDfQnFrd.js +0 -4
- package/components/p-CH0NYjKq.js +0 -4
- package/components/p-CIGNaXM1.js +0 -4
- package/components/p-CU1SSH8_.js +0 -4
- package/components/p-CgfaEEem.js +0 -4
- package/components/p-CgqKJg96.js +0 -4
- package/components/p-CneGxKsZ.js +0 -4
- package/components/p-CoA-aqGF.js +0 -4
- package/components/p-Cq8cQ0NL.js +0 -4
- package/components/p-Csw8xuz4.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-Cy5XSfIk.js +0 -4
- package/components/p-Cyxa_4PV.js +0 -4
- package/components/p-Cz5nLPGT.js +0 -4
- package/components/p-D6NJwNJN.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-D6pdfDIA.js +0 -4
- package/components/p-DHsZWn1l.js +0 -4
- package/components/p-DJMZehmW.js +0 -4
- package/components/p-DJztqcrH.js +0 -4
- package/components/p-DYdpXONG.js +0 -4
- package/components/p-DgbT0exM.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-ZjP4CjeZ.js +0 -4
- package/components/p-cvHphHJA.js +0 -4
- package/components/p-e-EDj2CO.js +0 -4
- package/components/p-fpbh6w3f.js +0 -4
- package/components/p-kvaDs24J.js +0 -4
- package/components/p-vEbVo2hO.js +0 -4
- package/dist/cjs/hardware-back-button-C4rMJ5uI.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/cjs/ionic-global-Bc3kJi1Z.js +0 -151
- package/dist/cjs/validity-BpS37YFM.js +0 -19
- package/dist/esm/hardware-back-button-CTe4XmL7.js +0 -115
- package/dist/esm/index-ZjP4CjeZ.js +0 -7
- package/dist/esm/ionic-global-DfbeLwcV.js +0 -146
- package/dist/esm/validity-DJztqcrH.js +0 -17
- package/dist/ionic/p-031b76f7.entry.js +0 -4
- package/dist/ionic/p-045a6a42.entry.js +0 -4
- package/dist/ionic/p-07506134.entry.js +0 -4
- package/dist/ionic/p-084c25b2.entry.js +0 -4
- package/dist/ionic/p-0d8b5c38.entry.js +0 -4
- package/dist/ionic/p-16813ce7.entry.js +0 -4
- package/dist/ionic/p-16b65553.entry.js +0 -4
- package/dist/ionic/p-1b02923f.entry.js +0 -4
- package/dist/ionic/p-1b169fb6.entry.js +0 -4
- package/dist/ionic/p-23fac490.entry.js +0 -4
- package/dist/ionic/p-294f4bb5.entry.js +0 -4
- package/dist/ionic/p-2a68388b.entry.js +0 -4
- package/dist/ionic/p-2d4eb1b4.entry.js +0 -4
- package/dist/ionic/p-2f5a8140.entry.js +0 -4
- package/dist/ionic/p-2fd110aa.entry.js +0 -4
- package/dist/ionic/p-301c43f8.entry.js +0 -4
- package/dist/ionic/p-370a60ee.entry.js +0 -4
- package/dist/ionic/p-3e143d1d.entry.js +0 -4
- package/dist/ionic/p-4819b469.entry.js +0 -4
- package/dist/ionic/p-4dd5e8e0.entry.js +0 -4
- package/dist/ionic/p-51c11c47.entry.js +0 -4
- package/dist/ionic/p-53f750a5.entry.js +0 -4
- package/dist/ionic/p-6af16209.entry.js +0 -4
- package/dist/ionic/p-6b701daa.entry.js +0 -4
- package/dist/ionic/p-6b97f2a3.entry.js +0 -4
- package/dist/ionic/p-7620be24.entry.js +0 -4
- package/dist/ionic/p-771b27a5.entry.js +0 -4
- package/dist/ionic/p-7ca71c83.entry.js +0 -4
- package/dist/ionic/p-80cac7a2.entry.js +0 -4
- package/dist/ionic/p-9833cf63.entry.js +0 -4
- package/dist/ionic/p-9cbc6f1f.entry.js +0 -4
- package/dist/ionic/p-9cdbabbb.entry.js +0 -4
- package/dist/ionic/p-9eac4eb1.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-9fae83d8.entry.js +0 -4
- package/dist/ionic/p-BAt5H1ac.js +0 -4
- package/dist/ionic/p-BW_TRJm8.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-Bum7H1fw.js +0 -4
- package/dist/ionic/p-BxIcPWoV.js +0 -4
- package/dist/ionic/p-C0JvVFMv.js +0 -4
- package/dist/ionic/p-CGmVTdWh.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-CYbRmDdy.js +0 -4
- package/dist/ionic/p-CYvM5g3q.js +0 -4
- package/dist/ionic/p-CmFz1Mjc.js +0 -4
- package/dist/ionic/p-CtA-yJYy.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-D8HJQ1qq.js +0 -4
- package/dist/ionic/p-DB_iPQC-.js +0 -4
- package/dist/ionic/p-DJztqcrH.js +0 -4
- package/dist/ionic/p-DLbbmF9h.js +0 -4
- package/dist/ionic/p-DTPR1Wpn.js +0 -4
- package/dist/ionic/p-DiVJyqlX.js +0 -4
- package/dist/ionic/p-DtVZDHlS.js +0 -4
- package/dist/ionic/p-IGIE5vDm.js +0 -5
- package/dist/ionic/p-NFFyoJ4Q.js +0 -4
- package/dist/ionic/p-ZjP4CjeZ.js +0 -4
- package/dist/ionic/p-a805674e.entry.js +0 -4
- package/dist/ionic/p-a84f2d21.entry.js +0 -4
- package/dist/ionic/p-b325a113.entry.js +0 -4
- package/dist/ionic/p-b6e0ff03.entry.js +0 -4
- package/dist/ionic/p-bcaa827e.entry.js +0 -4
- package/dist/ionic/p-c3cce9d8.entry.js +0 -4
- package/dist/ionic/p-c744307d.entry.js +0 -4
- package/dist/ionic/p-ca31010f.entry.js +0 -4
- package/dist/ionic/p-d4e8b473.entry.js +0 -4
- package/dist/ionic/p-e663bc5a.entry.js +0 -4
- package/dist/ionic/p-e6c5f060.entry.js +0 -4
- package/dist/ionic/p-e6cedcd7.entry.js +0 -4
- package/dist/ionic/p-e863ffe8.entry.js +0 -4
- package/dist/ionic/p-f2deaceb.entry.js +0 -4
- package/dist/ionic/p-f5dfb9a3.entry.js +0 -4
- package/dist/ionic/p-f69a5f71.entry.js +0 -4
- package/dist/ionic/p-f8186550.entry.js +0 -4
- package/dist/ionic/p-fdbc90d4.entry.js +0 -4
- package/dist/ionic/p-hNN3VvaC.js +0 -4
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -2,11 +2,22 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Fragment, Host, h } from "@stencil/core";
|
|
5
|
+
import { reportValidityToElementInternals } from "../../utils/forms/index";
|
|
5
6
|
import { inheritAriaAttributes } from "../../utils/helpers";
|
|
6
7
|
import { printIonWarning } from "../../utils/logging/index";
|
|
7
8
|
import { isRTL } from "../../utils/rtl/index";
|
|
8
9
|
import { createColorClasses } from "../../utils/theme";
|
|
9
10
|
import { getIonMode } from "../../global/ionic-global";
|
|
11
|
+
/**
|
|
12
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
13
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
14
|
+
*
|
|
15
|
+
* @part group - The container element that wraps all input boxes.
|
|
16
|
+
* @part container - The wrapper element for each individual input box.
|
|
17
|
+
* @part native - The native input element.
|
|
18
|
+
* @part separator - The separator element displayed between input boxes.
|
|
19
|
+
* @part description - The container element for the description text.
|
|
20
|
+
*/
|
|
10
21
|
export class InputOTP {
|
|
11
22
|
constructor() {
|
|
12
23
|
this.inheritedAttributes = {};
|
|
@@ -130,9 +141,18 @@ export class InputOTP {
|
|
|
130
141
|
* - Tab: Allows normal tab navigation between components
|
|
131
142
|
*/
|
|
132
143
|
this.onKeyDown = (index) => (event) => {
|
|
133
|
-
const { length } = this;
|
|
144
|
+
const { disabled, length, readonly } = this;
|
|
134
145
|
const rtl = isRTL(this.el);
|
|
135
146
|
const input = event.target;
|
|
147
|
+
if (disabled) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
if (readonly) {
|
|
151
|
+
if (event.key === 'Backspace' || event.key === 'Delete') {
|
|
152
|
+
event.preventDefault();
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
136
156
|
// Meta shortcuts are used to copy, paste, and select text
|
|
137
157
|
// We don't want to handle these keys here
|
|
138
158
|
const metaShortcuts = ['a', 'c', 'v', 'x', 'r', 'z', 'y'];
|
|
@@ -195,10 +215,13 @@ export class InputOTP {
|
|
|
195
215
|
*/
|
|
196
216
|
this.onInput = (index) => (event) => {
|
|
197
217
|
var _a, _b;
|
|
198
|
-
const { length, validKeyPattern } = this;
|
|
218
|
+
const { disabled, length, readonly, validKeyPattern } = this;
|
|
199
219
|
const input = event.target;
|
|
200
220
|
const value = input.value;
|
|
201
221
|
const previousValue = this.previousInputValues[index] || '';
|
|
222
|
+
if (disabled || readonly) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
202
225
|
// 1. Autofill handling
|
|
203
226
|
// If the length of the value increases by more than 1 from the previous
|
|
204
227
|
// value, treat this as autofill. This is to prevent the case where the
|
|
@@ -317,8 +340,11 @@ export class InputOTP {
|
|
|
317
340
|
*/
|
|
318
341
|
this.onPaste = (event) => {
|
|
319
342
|
var _a, _b;
|
|
320
|
-
const { inputRefs, length, validKeyPattern } = this;
|
|
343
|
+
const { disabled, inputRefs, length, readonly, validKeyPattern } = this;
|
|
321
344
|
event.preventDefault();
|
|
345
|
+
if (disabled || readonly) {
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
322
348
|
const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
|
|
323
349
|
// If there is no pasted text, still emit the input change event
|
|
324
350
|
// because this is how the native input element behaves
|
|
@@ -347,6 +373,12 @@ export class InputOTP {
|
|
|
347
373
|
(_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
348
374
|
};
|
|
349
375
|
}
|
|
376
|
+
/**
|
|
377
|
+
* Update element internals when disabled prop changes
|
|
378
|
+
*/
|
|
379
|
+
disabledChanged() {
|
|
380
|
+
this.updateElementInternals();
|
|
381
|
+
}
|
|
350
382
|
/**
|
|
351
383
|
* Sets focus to an input box.
|
|
352
384
|
* @param index - The index of the input box to focus (0-based).
|
|
@@ -367,6 +399,7 @@ export class InputOTP {
|
|
|
367
399
|
valueChanged() {
|
|
368
400
|
this.initializeValues();
|
|
369
401
|
this.updateTabIndexes();
|
|
402
|
+
this.updateElementInternals();
|
|
370
403
|
}
|
|
371
404
|
/**
|
|
372
405
|
* Processes the separators prop into an array of numbers.
|
|
@@ -423,6 +456,7 @@ export class InputOTP {
|
|
|
423
456
|
}
|
|
424
457
|
componentDidLoad() {
|
|
425
458
|
this.updateTabIndexes();
|
|
459
|
+
this.updateElementInternals();
|
|
426
460
|
}
|
|
427
461
|
/**
|
|
428
462
|
* Get the regex pattern for allowed characters.
|
|
@@ -499,6 +533,47 @@ export class InputOTP {
|
|
|
499
533
|
this.ionComplete.emit({ value: newValue });
|
|
500
534
|
}
|
|
501
535
|
}
|
|
536
|
+
/**
|
|
537
|
+
* Gets the value of the input group as a string for form submission.
|
|
538
|
+
* Returns an empty string if the value is null or undefined.
|
|
539
|
+
*/
|
|
540
|
+
getValue() {
|
|
541
|
+
return this.value != null ? this.value.toString() : '';
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Called when the form state is restored.
|
|
545
|
+
* Restores the component's value.
|
|
546
|
+
*/
|
|
547
|
+
formStateRestoreCallback(value) {
|
|
548
|
+
this.value = value;
|
|
549
|
+
}
|
|
550
|
+
/**
|
|
551
|
+
* Called when the form is reset.
|
|
552
|
+
* Resets the component's value.
|
|
553
|
+
*/
|
|
554
|
+
formResetCallback() {
|
|
555
|
+
this.value = '';
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Updates the form value and reports validity state to the browser via
|
|
559
|
+
* ElementInternals. This should be called when the component loads, when
|
|
560
|
+
* the disabled prop changes, and when the value changes to ensure the form
|
|
561
|
+
* value stays in sync and validation state is updated.
|
|
562
|
+
*/
|
|
563
|
+
updateElementInternals() {
|
|
564
|
+
var _a;
|
|
565
|
+
// Disabled form controls should not be included in form data
|
|
566
|
+
// Pass null to setFormValue when disabled to exclude it from form submission
|
|
567
|
+
const value = this.disabled ? null : this.getValue();
|
|
568
|
+
// ElementInternals may not be fully available in test environments
|
|
569
|
+
// so we need to check if the method exists before calling it
|
|
570
|
+
if (typeof this.internals.setFormValue === 'function') {
|
|
571
|
+
this.internals.setFormValue(value);
|
|
572
|
+
}
|
|
573
|
+
// Use the first input element for validity reporting since all inputs
|
|
574
|
+
// share the same validation state
|
|
575
|
+
reportValidityToElementInternals((_a = this.inputRefs[0]) !== null && _a !== void 0 ? _a : null, this.internals);
|
|
576
|
+
}
|
|
502
577
|
/**
|
|
503
578
|
* Emits an `ionChange` event.
|
|
504
579
|
* This API should be called for user committed changes.
|
|
@@ -605,7 +680,7 @@ export class InputOTP {
|
|
|
605
680
|
const tabbableIndex = this.getTabbableIndex();
|
|
606
681
|
const pattern = this.getPattern();
|
|
607
682
|
const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
|
|
608
|
-
return (h(Host, { key: '
|
|
683
|
+
return (h(Host, { key: 'aee59cdba3f3c3783519cf114c668ae92f74fcef', class: createColorClasses(color, {
|
|
609
684
|
[mode]: true,
|
|
610
685
|
'has-focus': hasFocus,
|
|
611
686
|
[`input-otp-size-${size}`]: true,
|
|
@@ -613,23 +688,26 @@ export class InputOTP {
|
|
|
613
688
|
[`input-otp-fill-${fill}`]: true,
|
|
614
689
|
'input-otp-disabled': disabled,
|
|
615
690
|
'input-otp-readonly': readonly,
|
|
616
|
-
}) }, h("div", Object.assign({ key: '
|
|
691
|
+
}) }, h("div", Object.assign({ key: 'a0b26b833a20807019114a78e4512a639b82a61f', role: "group", "aria-label": "One-time password input", class: "input-otp-group", part: "group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper", part: "container" }, h("input", { class: "native-input", part: "native", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator", part: "separator" }))))), h("div", { key: 'e525d1841bab5378b165ec1cca9fc45274c2c0ec', class: {
|
|
617
692
|
'input-otp-description': true,
|
|
618
693
|
'input-otp-description-hidden': !hasDescription,
|
|
619
|
-
} }, h("slot", { key: '
|
|
694
|
+
}, part: "description" }, h("slot", { key: '9fd331ceff04ab93f8d4aec251565cc201f19294' }))));
|
|
620
695
|
}
|
|
621
696
|
static get is() { return "ion-input-otp"; }
|
|
622
|
-
static get encapsulation() { return "
|
|
697
|
+
static get encapsulation() { return "shadow"; }
|
|
698
|
+
static get formAssociated() { return true; }
|
|
623
699
|
static get originalStyleUrls() {
|
|
624
700
|
return {
|
|
625
701
|
"ios": ["input-otp.ios.scss"],
|
|
626
|
-
"md": ["input-otp.md.scss"]
|
|
702
|
+
"md": ["input-otp.md.scss"],
|
|
703
|
+
"ionic": ["input-otp.ionic.scss"]
|
|
627
704
|
};
|
|
628
705
|
}
|
|
629
706
|
static get styleUrls() {
|
|
630
707
|
return {
|
|
631
708
|
"ios": ["input-otp.ios.css"],
|
|
632
|
-
"md": ["input-otp.md.css"]
|
|
709
|
+
"md": ["input-otp.md.css"],
|
|
710
|
+
"ionic": ["input-otp.ionic.css"]
|
|
633
711
|
};
|
|
634
712
|
}
|
|
635
713
|
static get properties() {
|
|
@@ -1046,6 +1124,9 @@ export class InputOTP {
|
|
|
1046
1124
|
static get elementRef() { return "el"; }
|
|
1047
1125
|
static get watchers() {
|
|
1048
1126
|
return [{
|
|
1127
|
+
"propName": "disabled",
|
|
1128
|
+
"methodName": "disabledChanged"
|
|
1129
|
+
}, {
|
|
1049
1130
|
"propName": "value",
|
|
1050
1131
|
"methodName": "valueChanged"
|
|
1051
1132
|
}, {
|
|
@@ -1056,5 +1137,6 @@ export class InputOTP {
|
|
|
1056
1137
|
"methodName": "processSeparators"
|
|
1057
1138
|
}];
|
|
1058
1139
|
}
|
|
1140
|
+
static get attachInternalsMemberName() { return "internals"; }
|
|
1059
1141
|
}
|
|
1060
1142
|
let inputIds = 0;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a pixels given value into rem
|
|
3
|
+
*
|
|
4
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
5
|
+
* @param context (optional) - Baseline value
|
|
6
|
+
*/
|
|
1
7
|
/**
|
|
2
8
|
* Convert a font size to a dynamic font size.
|
|
3
9
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -53,6 +59,28 @@
|
|
|
53
59
|
* }
|
|
54
60
|
* }
|
|
55
61
|
*/
|
|
62
|
+
/**
|
|
63
|
+
* A heuristic that applies CSS to tablet
|
|
64
|
+
* viewports.
|
|
65
|
+
*
|
|
66
|
+
* Usage:
|
|
67
|
+
* @include tablet-viewport() {
|
|
68
|
+
* :host {
|
|
69
|
+
* background-color: green;
|
|
70
|
+
* }
|
|
71
|
+
* }
|
|
72
|
+
*/
|
|
73
|
+
/**
|
|
74
|
+
* A heuristic that applies CSS to mobile
|
|
75
|
+
* viewports (i.e. phones, not tablets).
|
|
76
|
+
*
|
|
77
|
+
* Usage:
|
|
78
|
+
* @include mobile-viewport() {
|
|
79
|
+
* :host {
|
|
80
|
+
* background-color: blue;
|
|
81
|
+
* }
|
|
82
|
+
* }
|
|
83
|
+
*/
|
|
56
84
|
:host {
|
|
57
85
|
/**
|
|
58
86
|
* @prop --background: Background color of the input boxes
|
|
@@ -60,6 +88,7 @@
|
|
|
60
88
|
* @prop --border-radius: Border radius of the input boxes
|
|
61
89
|
*
|
|
62
90
|
* @prop --border-width: Border width of the input boxes
|
|
91
|
+
* @prop --border-style: Border style of the input boxes
|
|
63
92
|
* @prop --border-color: Border color of the input boxes
|
|
64
93
|
*
|
|
65
94
|
* @prop --color: Text color of the input
|
|
@@ -91,19 +120,7 @@
|
|
|
91
120
|
--margin-end: 0;
|
|
92
121
|
--margin-bottom: 0;
|
|
93
122
|
--margin-start: 0;
|
|
94
|
-
--padding-top: 16px;
|
|
95
|
-
--padding-end: 0;
|
|
96
|
-
--padding-bottom: 16px;
|
|
97
|
-
--padding-start: 0;
|
|
98
|
-
--color: initial;
|
|
99
|
-
--min-width: 40px;
|
|
100
|
-
--separator-width: 8px;
|
|
101
123
|
--separator-height: var(--separator-width);
|
|
102
|
-
--separator-border-radius: 999px;
|
|
103
|
-
--separator-color: var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));
|
|
104
|
-
--highlight-color-focused: var(--ion-color-primary, #0054e9);
|
|
105
|
-
--highlight-color-valid: var(--ion-color-success, #2dd55b);
|
|
106
|
-
--highlight-color-invalid: var(--ion-color-danger, #c5000f);
|
|
107
124
|
/**
|
|
108
125
|
* This is a private API that is used to switch
|
|
109
126
|
* out the highlight color based on the state
|
|
@@ -113,7 +130,6 @@
|
|
|
113
130
|
--highlight-color: var(--highlight-color-focused);
|
|
114
131
|
display: block;
|
|
115
132
|
position: relative;
|
|
116
|
-
font-size: 0.875rem;
|
|
117
133
|
}
|
|
118
134
|
|
|
119
135
|
.input-otp-group {
|
|
@@ -147,13 +163,15 @@
|
|
|
147
163
|
min-width: inherit;
|
|
148
164
|
height: var(--height);
|
|
149
165
|
border-width: var(--border-width);
|
|
150
|
-
border-style:
|
|
166
|
+
border-style: var(--border-style);
|
|
151
167
|
border-color: var(--border-color);
|
|
152
168
|
background: var(--background);
|
|
153
169
|
color: var(--color);
|
|
170
|
+
font-family: inherit;
|
|
154
171
|
font-size: inherit;
|
|
155
172
|
text-align: center;
|
|
156
173
|
appearance: none;
|
|
174
|
+
box-sizing: border-box;
|
|
157
175
|
}
|
|
158
176
|
|
|
159
177
|
:host(.has-focus) .native-input {
|
|
@@ -161,9 +179,6 @@
|
|
|
161
179
|
}
|
|
162
180
|
|
|
163
181
|
.input-otp-description {
|
|
164
|
-
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
165
|
-
font-size: 0.75rem;
|
|
166
|
-
line-height: 1.25rem;
|
|
167
182
|
text-align: center;
|
|
168
183
|
}
|
|
169
184
|
|
|
@@ -179,6 +194,73 @@
|
|
|
179
194
|
background: var(--separator-color);
|
|
180
195
|
}
|
|
181
196
|
|
|
197
|
+
:host(.input-otp-disabled),
|
|
198
|
+
:host(.input-otp-disabled) .native-input:disabled {
|
|
199
|
+
cursor: not-allowed;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
:host(.has-focus) .native-input:focus {
|
|
203
|
+
--border-color: var(--highlight-color);
|
|
204
|
+
outline: none;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
:host(.ion-touched.ion-invalid) {
|
|
208
|
+
--highlight-color: var(--highlight-color-invalid);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* The component highlight is only shown
|
|
213
|
+
* on focus, so we can safely set the valid
|
|
214
|
+
* color state when valid. If we
|
|
215
|
+
* set it when .has-focus is present then
|
|
216
|
+
* the highlight color would change
|
|
217
|
+
* from the valid color to the component's
|
|
218
|
+
* color during the transition after the
|
|
219
|
+
* component loses focus.
|
|
220
|
+
*/
|
|
221
|
+
:host(.ion-valid) {
|
|
222
|
+
--highlight-color: var(--highlight-color-valid);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* If the input has a validity state, the
|
|
227
|
+
* border should reflect that as a color.
|
|
228
|
+
* The invalid state should show if the input is
|
|
229
|
+
* invalid and has already been touched.
|
|
230
|
+
* The valid state should show if the input
|
|
231
|
+
* is valid, has already been touched, and
|
|
232
|
+
* is currently focused. Do not show the valid
|
|
233
|
+
* highlight when the input is blurred.
|
|
234
|
+
*/
|
|
235
|
+
:host(.has-focus.ion-valid),
|
|
236
|
+
:host(.ion-touched.ion-invalid) {
|
|
237
|
+
--border-color: var(--highlight-color);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
:host {
|
|
241
|
+
--padding-top: 16px;
|
|
242
|
+
--padding-end: 0;
|
|
243
|
+
--padding-bottom: 16px;
|
|
244
|
+
--padding-start: 0;
|
|
245
|
+
--color: initial;
|
|
246
|
+
--min-width: 40px;
|
|
247
|
+
--border-style: solid;
|
|
248
|
+
--separator-width: 8px;
|
|
249
|
+
--separator-border-radius: 999px;
|
|
250
|
+
--separator-color: var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));
|
|
251
|
+
--highlight-color-focused: var(--ion-color-primary, #0054e9);
|
|
252
|
+
--highlight-color-valid: var(--ion-color-success, #2dd55b);
|
|
253
|
+
--highlight-color-invalid: var(--ion-color-danger, #c5000f);
|
|
254
|
+
font-family: var(--ion-font-family, inherit);
|
|
255
|
+
font-size: 0.875rem;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.input-otp-description {
|
|
259
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
260
|
+
font-size: 0.75rem;
|
|
261
|
+
line-height: 1.25rem;
|
|
262
|
+
}
|
|
263
|
+
|
|
182
264
|
:host(.input-otp-size-small) {
|
|
183
265
|
--width: 40px;
|
|
184
266
|
--height: 40px;
|
|
@@ -233,16 +315,6 @@
|
|
|
233
315
|
--border-color: var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));
|
|
234
316
|
}
|
|
235
317
|
|
|
236
|
-
:host(.input-otp-disabled),
|
|
237
|
-
:host(.input-otp-disabled) .native-input:disabled {
|
|
238
|
-
cursor: not-allowed;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
:host(.has-focus) .native-input:focus {
|
|
242
|
-
--border-color: var(--highlight-color);
|
|
243
|
-
outline: none;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
318
|
:host(.input-otp-fill-outline.input-otp-readonly) {
|
|
247
319
|
--background: var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));
|
|
248
320
|
}
|
|
@@ -253,39 +325,6 @@
|
|
|
253
325
|
--background: var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));
|
|
254
326
|
}
|
|
255
327
|
|
|
256
|
-
:host(.ion-touched.ion-invalid) {
|
|
257
|
-
--highlight-color: var(--highlight-color-invalid);
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
/**
|
|
261
|
-
* The component highlight is only shown
|
|
262
|
-
* on focus, so we can safely set the valid
|
|
263
|
-
* color state when valid. If we
|
|
264
|
-
* set it when .has-focus is present then
|
|
265
|
-
* the highlight color would change
|
|
266
|
-
* from the valid color to the component's
|
|
267
|
-
* color during the transition after the
|
|
268
|
-
* component loses focus.
|
|
269
|
-
*/
|
|
270
|
-
:host(.ion-valid) {
|
|
271
|
-
--highlight-color: var(--highlight-color-valid);
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* If the input has a validity state, the
|
|
276
|
-
* border should reflect that as a color.
|
|
277
|
-
* The invalid state should show if the input is
|
|
278
|
-
* invalid and has already been touched.
|
|
279
|
-
* The valid state should show if the input
|
|
280
|
-
* is valid, has already been touched, and
|
|
281
|
-
* is currently focused. Do not show the valid
|
|
282
|
-
* highlight when the input is blurred.
|
|
283
|
-
*/
|
|
284
|
-
:host(.has-focus.ion-valid),
|
|
285
|
-
:host(.ion-touched.ion-invalid) {
|
|
286
|
-
--border-color: var(--highlight-color);
|
|
287
|
-
}
|
|
288
|
-
|
|
289
328
|
:host(.ion-color) {
|
|
290
329
|
--highlight-color-focused: var(--ion-color-base);
|
|
291
330
|
}
|
|
@@ -313,6 +352,12 @@
|
|
|
313
352
|
border-color: rgba(var(--ion-color-base-rgb), 0.3);
|
|
314
353
|
}
|
|
315
354
|
|
|
355
|
+
/**
|
|
356
|
+
* Convert a pixels given value into rem
|
|
357
|
+
*
|
|
358
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
359
|
+
* @param context (optional) - Baseline value
|
|
360
|
+
*/
|
|
316
361
|
/**
|
|
317
362
|
* Convert a font size to a dynamic font size.
|
|
318
363
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A heuristic that applies CSS to tablet
|
|
3
|
+
* viewports.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* @include tablet-viewport() {
|
|
7
|
+
* :host {
|
|
8
|
+
* background-color: green;
|
|
9
|
+
* }
|
|
10
|
+
* }
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* A heuristic that applies CSS to mobile
|
|
14
|
+
* viewports (i.e. phones, not tablets).
|
|
15
|
+
*
|
|
16
|
+
* Usage:
|
|
17
|
+
* @include mobile-viewport() {
|
|
18
|
+
* :host {
|
|
19
|
+
* background-color: blue;
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Convert a pixels given value into rem
|
|
25
|
+
*
|
|
26
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
27
|
+
* @param context (optional) - Baseline value
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Convert a font size to a dynamic font size.
|
|
31
|
+
* Fonts that participate in Dynamic Type should use
|
|
32
|
+
* dynamic font sizes.
|
|
33
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
34
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
35
|
+
* convert to a unit other than $baselineUnit.
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* Convert a font size to a dynamic font size but impose
|
|
39
|
+
* a maximum font size.
|
|
40
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
41
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
42
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
43
|
+
* convert to a unit other than $baselineUnit.
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* Convert a font size to a dynamic font size but impose
|
|
47
|
+
* a minimum font size.
|
|
48
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
49
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
50
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
51
|
+
* convert to a unit other than $baselineUnit.
|
|
52
|
+
*/
|
|
53
|
+
/**
|
|
54
|
+
* Convert a font size to a dynamic font size but impose
|
|
55
|
+
* maximum and minimum font sizes.
|
|
56
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
57
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
58
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
59
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
60
|
+
* convert to a unit other than $baselineUnit.
|
|
61
|
+
*/
|
|
62
|
+
:host ion-button {
|
|
63
|
+
--color: var(--token-primitives-neutral-800, #626262);
|
|
64
|
+
--margin-end: calc(-1 * var(--padding-end));
|
|
65
|
+
--padding-end: inherit;
|
|
66
|
+
--icon-size: var(--token-font-size-400, 1rem);
|
|
67
|
+
-webkit-margin-start: 0;
|
|
68
|
+
margin-inline-start: 0;
|
|
69
|
+
-webkit-margin-end: var(--margin-end);
|
|
70
|
+
margin-inline-end: var(--margin-end);
|
|
71
|
+
margin-top: 0;
|
|
72
|
+
margin-bottom: 0;
|
|
73
|
+
width: var(--size);
|
|
74
|
+
height: var(--size);
|
|
75
|
+
}
|
|
76
|
+
:host ion-button ion-icon {
|
|
77
|
+
font-size: var(--icon-size);
|
|
78
|
+
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import eyeSlashRegular from "@phosphor-icons/core/assets/regular/eye-slash.svg";
|
|
5
|
+
import eyeRegular from "@phosphor-icons/core/assets/regular/eye.svg";
|
|
4
6
|
import { Host, h } from "@stencil/core";
|
|
5
7
|
import { printIonWarning } from "../../utils/logging/index";
|
|
6
8
|
import { createColorClasses } from "../../utils/theme";
|
|
7
9
|
import { eyeOff, eye } from "ionicons/icons";
|
|
8
|
-
import {
|
|
10
|
+
import { config } from "../../global/config";
|
|
11
|
+
import { getIonMode, getIonTheme } from "../../global/ionic-global";
|
|
9
12
|
/**
|
|
10
13
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
11
14
|
*/
|
|
@@ -53,36 +56,69 @@ export class InputPasswordToggle {
|
|
|
53
56
|
disconnectedCallback() {
|
|
54
57
|
this.inputElRef = null;
|
|
55
58
|
}
|
|
59
|
+
get inputPasswordHideIcon() {
|
|
60
|
+
// Return the icon if it is explicitly set
|
|
61
|
+
if (this.hideIcon != null) {
|
|
62
|
+
return this.hideIcon;
|
|
63
|
+
}
|
|
64
|
+
// Determine the theme and map to default icons
|
|
65
|
+
const theme = getIonTheme(this);
|
|
66
|
+
const defaultIcons = {
|
|
67
|
+
ios: eyeOff,
|
|
68
|
+
ionic: eyeSlashRegular,
|
|
69
|
+
md: eyeOff,
|
|
70
|
+
};
|
|
71
|
+
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
72
|
+
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
73
|
+
// Return the configured input password hide icon or the default icon
|
|
74
|
+
return config.get('inputPasswordHideIcon', defaultIcon);
|
|
75
|
+
}
|
|
76
|
+
get inputPasswordShowIcon() {
|
|
77
|
+
// Return the icon if it is explicitly set
|
|
78
|
+
if (this.showIcon != null) {
|
|
79
|
+
return this.showIcon;
|
|
80
|
+
}
|
|
81
|
+
// Determine the theme and map to default icons
|
|
82
|
+
const theme = getIonTheme(this);
|
|
83
|
+
const defaultIcons = {
|
|
84
|
+
ios: eye,
|
|
85
|
+
ionic: eyeRegular,
|
|
86
|
+
md: eye,
|
|
87
|
+
};
|
|
88
|
+
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
89
|
+
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
90
|
+
// Return the configured input password show icon or the default icon
|
|
91
|
+
return config.get('inputPasswordShowIcon', defaultIcon);
|
|
92
|
+
}
|
|
56
93
|
render() {
|
|
57
|
-
|
|
58
|
-
const { color, type } = this;
|
|
94
|
+
const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
|
|
59
95
|
const mode = getIonMode(this);
|
|
60
|
-
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
61
|
-
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
62
96
|
const isPasswordVisible = type === 'text';
|
|
63
|
-
return (h(Host, { key: '
|
|
97
|
+
return (h(Host, { key: 'e3c21d5bedebeadb57c0c9b7f065d15ab0d49e4a', class: createColorClasses(color, {
|
|
64
98
|
[mode]: true,
|
|
65
|
-
}) }, h("ion-button", { key: '
|
|
99
|
+
}) }, h("ion-button", { key: '0a83d58e059bc3b7ef604270e92351d7fa5d129c', mode: mode, color: color, fill: "clear", shape: "round", "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', "aria-pressed": isPasswordVisible ? 'true' : 'false', type: "button", onPointerDown: (ev) => {
|
|
66
100
|
/**
|
|
67
101
|
* This prevents mobile browsers from
|
|
68
102
|
* blurring the input when the password toggle
|
|
69
103
|
* button is activated.
|
|
70
104
|
*/
|
|
71
105
|
ev.preventDefault();
|
|
72
|
-
}, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '
|
|
106
|
+
}, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: 'af9a7e202fe0b3f75f10b3e13bf1e5fb653194d1', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
|
|
73
107
|
}
|
|
74
108
|
static get is() { return "ion-input-password-toggle"; }
|
|
75
109
|
static get encapsulation() { return "shadow"; }
|
|
76
110
|
static get originalStyleUrls() {
|
|
77
111
|
return {
|
|
78
|
-
"ios": ["input-password-toggle.scss"],
|
|
79
|
-
"md": ["input-password-toggle.scss"]
|
|
112
|
+
"ios": ["input-password-toggle.native.scss"],
|
|
113
|
+
"md": ["input-password-toggle.native.scss"],
|
|
114
|
+
"ionic": ["input-password-toggle.ionic.scss"]
|
|
80
115
|
};
|
|
81
116
|
}
|
|
82
117
|
static get styleUrls() {
|
|
83
118
|
return {
|
|
84
|
-
"ios": ["input-password-toggle.css"],
|
|
85
|
-
"md": ["input-password-toggle.css"]
|
|
119
|
+
"ios": ["input-password-toggle.native.css"],
|
|
120
|
+
"md": ["input-password-toggle.native.css"],
|
|
121
|
+
"ionic": ["input-password-toggle.ionic.css"]
|
|
86
122
|
};
|
|
87
123
|
}
|
|
88
124
|
static get properties() {
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a pixels given value into rem
|
|
3
|
+
*
|
|
4
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
5
|
+
* @param context (optional) - Baseline value
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Convert a font size to a dynamic font size.
|
|
9
|
+
* Fonts that participate in Dynamic Type should use
|
|
10
|
+
* dynamic font sizes.
|
|
11
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
12
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
13
|
+
* convert to a unit other than $baselineUnit.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Convert a font size to a dynamic font size but impose
|
|
17
|
+
* a maximum font size.
|
|
18
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
19
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
20
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
21
|
+
* convert to a unit other than $baselineUnit.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Convert a font size to a dynamic font size but impose
|
|
25
|
+
* a minimum font size.
|
|
26
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
27
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
28
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
29
|
+
* convert to a unit other than $baselineUnit.
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* Convert a font size to a dynamic font size but impose
|
|
33
|
+
* maximum and minimum font sizes.
|
|
34
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
35
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
36
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
37
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
38
|
+
* convert to a unit other than $baselineUnit.
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* A heuristic that applies CSS to tablet
|
|
42
|
+
* viewports.
|
|
43
|
+
*
|
|
44
|
+
* Usage:
|
|
45
|
+
* @include tablet-viewport() {
|
|
46
|
+
* :host {
|
|
47
|
+
* background-color: green;
|
|
48
|
+
* }
|
|
49
|
+
* }
|
|
50
|
+
*/
|
|
51
|
+
/**
|
|
52
|
+
* A heuristic that applies CSS to mobile
|
|
53
|
+
* viewports (i.e. phones, not tablets).
|
|
54
|
+
*
|
|
55
|
+
* Usage:
|
|
56
|
+
* @include mobile-viewport() {
|
|
57
|
+
* :host {
|
|
58
|
+
* background-color: blue;
|
|
59
|
+
* }
|
|
60
|
+
* }
|
|
61
|
+
*/
|