@ionic/core 8.6.5-dev.11752329407.10f7fc80 → 8.6.5-dev.11752762577.1857565b
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/action-sheet.js +13 -9
- package/components/alert.js +14 -11
- package/components/animation.js +1 -1
- package/components/backdrop.js +9 -6
- package/components/button.js +41 -10
- package/components/buttons.js +11 -8
- package/components/capacitor.js +1 -1
- package/components/caret-down.js +6 -0
- package/components/caret-left.js +6 -0
- package/components/caret-right.js +6 -0
- package/components/checkbox.js +31 -12
- package/components/content.js +14 -12
- package/components/data.js +5 -5
- package/components/focus-visible.js +23 -1
- package/components/framework-delegate.js +3 -1
- package/components/header.js +28 -16
- package/components/helpers.js +42 -3
- package/components/index5.js +8 -8
- package/components/index6.js +3 -3
- package/components/index7.js +111 -150
- package/components/index8.js +150 -111
- package/components/input-shims.js +2 -2
- package/components/input.utils.js +1 -1
- package/components/ion-accordion-group.js +23 -5
- package/components/ion-accordion.js +32 -21
- package/components/ion-app.js +12 -77
- package/components/ion-avatar.js +58 -5
- package/components/ion-back-button.js +27 -19
- package/components/ion-badge.js +73 -9
- package/components/ion-breadcrumb.js +43 -10
- package/components/ion-breadcrumbs.js +8 -5
- package/components/ion-card-content.js +10 -7
- package/components/ion-card-header.js +9 -6
- package/components/ion-card-subtitle.js +8 -5
- package/components/ion-card-title.js +8 -5
- package/components/ion-card.js +21 -9
- package/components/ion-chip.js +53 -8
- package/components/ion-col.js +5 -5
- package/components/ion-datetime-button.js +8 -5
- package/components/ion-datetime.js +98 -21
- package/components/ion-divider.d.ts +11 -0
- package/components/ion-divider.js +70 -0
- package/components/ion-fab-button.js +31 -15
- package/components/ion-fab-list.js +5 -5
- package/components/ion-fab.js +6 -6
- package/components/ion-footer.js +18 -13
- package/components/ion-grid.js +5 -5
- package/components/ion-img.js +5 -2
- package/components/ion-infinite-scroll-content.js +11 -8
- package/components/ion-infinite-scroll.js +5 -5
- package/components/ion-input-otp.js +56 -106
- package/components/ion-input-password-toggle.js +51 -13
- package/components/ion-input.js +120 -28
- package/components/ion-item-divider.js +8 -5
- package/components/ion-item-group.js +8 -5
- package/components/ion-item-option.js +36 -9
- package/components/ion-item-options.js +10 -7
- package/components/ion-item-sliding.js +5 -5
- package/components/ion-loading.js +12 -9
- package/components/ion-menu-button.js +26 -10
- package/components/ion-menu-toggle.js +5 -5
- package/components/ion-menu.js +10 -8
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +7 -5
- package/components/ion-note.js +8 -5
- package/components/ion-picker-legacy.js +7 -7
- package/components/ion-progress-bar.js +25 -7
- package/components/ion-range.js +12 -9
- package/components/ion-refresher-content.js +23 -8
- package/components/ion-refresher.js +10 -7
- package/components/ion-reorder-group.js +5 -5
- package/components/ion-reorder.js +30 -5
- package/components/ion-router-link.js +6 -6
- package/components/ion-router-outlet.js +4 -4
- package/components/ion-row.js +5 -2
- package/components/ion-searchbar.js +137 -23
- package/components/ion-segment-button.js +10 -7
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +5 -2
- package/components/ion-segment.js +10 -7
- package/components/ion-select-option.js +5 -2
- package/components/ion-select.js +117 -33
- package/components/ion-skeleton-text.js +5 -5
- package/components/ion-split-pane.js +11 -8
- package/components/ion-tab-bar.js +39 -9
- package/components/ion-tab-button.js +25 -7
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +2 -2
- package/components/ion-text.js +5 -5
- package/components/ion-textarea.js +52 -11
- package/components/ion-thumbnail.js +5 -2
- package/components/ion-toast.js +37 -12
- package/components/ion-toggle.js +74 -17
- package/components/ionic-global.js +349 -15
- package/components/ios.transition.js +1 -0
- package/components/item.js +39 -14
- package/components/keyboard-controller.js +4 -2
- package/components/label.js +8 -5
- package/components/list-header.js +10 -7
- package/components/list.js +27 -6
- package/components/list2.js +6 -0
- package/components/modal.js +48 -105
- package/components/notch-controller.js +1 -1
- package/components/overlays.js +3 -4
- package/components/picker-column-option.js +8 -5
- package/components/picker-column.js +7 -8
- package/components/picker-column2.js +4 -4
- package/components/picker.js +7 -4
- package/components/popover.js +12 -9
- package/components/radio-group.js +10 -5
- package/components/radio.js +11 -8
- package/components/ripple-effect.js +15 -7
- package/components/select-modal.js +4 -4
- package/components/select-popover.js +8 -2
- package/components/spinner.js +31 -8
- package/components/status-tap.js +1 -1
- package/components/title.js +10 -7
- package/components/toolbar.js +153 -9
- package/components/x.js +6 -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/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-0T7gKwOt.js → animation-Bcz4qmJk.js} +2 -3
- package/dist/cjs/{button-active-C-4ud7Ht.js → button-active-1nO6qpCH.js} +2 -2
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CzFst28-.js} +1 -1
- 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-U7OAuj53.js → config-DGKt4XfG.js} +1 -1
- package/dist/cjs/{data-DRqa6oM4.js → data-B3i-krcw.js} +6 -6
- package/dist/{esm/focus-visible-BmVRXR1y.js → cjs/focus-visible-BIj-I3-C.js} +27 -1
- package/dist/cjs/{framework-delegate-C7sIJyT5.js → framework-delegate-DfEY5uyC.js} +4 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-DbqPcCc9.js} +1 -1
- package/dist/cjs/{helpers-BITAzJfi.js → helpers-DmAvmm2T.js} +42 -3
- package/dist/cjs/{index-CVa6JE57.js → index-CaZ3uzAD.js} +2 -2
- package/dist/cjs/{index-DODXXb_r.js → index-CmckMMX1.js} +352 -12
- package/dist/cjs/{index-CPbAsnJK.js → index-DPBLiXfW.js} +2 -2
- package/dist/cjs/{index-CxfLS2mX.js → index-DcPe_YcG.js} +12 -12
- package/dist/cjs/{index-y0QaNtCi.js → index-DxVhwe3d.js} +4 -4
- package/dist/cjs/{index-BDBT0u4l.js → index-YEjC0pvJ.js} +3 -3
- package/dist/cjs/index.cjs.js +11 -12
- package/dist/cjs/{input-shims-D1Mfgd4s.js → input-shims-BwdlNkON.js} +6 -6
- package/dist/cjs/{input.utils-DSoBEyUu.js → input.utils-CfjyQhpu.js} +3 -4
- package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -27
- package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
- package/dist/cjs/ion-alert.cjs.entry.js +23 -21
- package/dist/cjs/ion-app_8.cjs.entry.js +243 -144
- package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
- package/dist/cjs/ion-back-button.cjs.entry.js +29 -20
- package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +52 -16
- package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
- package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
- package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
- package/dist/cjs/ion-chip.cjs.entry.js +48 -7
- package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
- package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
- package/dist/cjs/ion-datetime_3.cjs.entry.js +114 -39
- package/dist/cjs/ion-divider.cjs.entry.js +50 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +42 -26
- package/dist/cjs/ion-img.cjs.entry.js +7 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +18 -14
- package/dist/cjs/ion-input-otp.cjs.entry.js +58 -106
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -13
- package/dist/cjs/ion-input.cjs.entry.js +121 -31
- package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
- package/dist/cjs/ion-item_8.cjs.entry.js +106 -46
- package/dist/cjs/ion-loading.cjs.entry.js +18 -16
- package/dist/cjs/ion-menu_3.cjs.entry.js +45 -27
- package/dist/cjs/ion-modal.cjs.entry.js +83 -141
- package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -6
- package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
- package/dist/cjs/ion-picker.cjs.entry.js +10 -6
- package/dist/cjs/ion-popover.cjs.entry.js +18 -16
- package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
- package/dist/cjs/ion-radio_2.cjs.entry.js +22 -13
- package/dist/cjs/ion-range.cjs.entry.js +14 -10
- 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 +14 -6
- package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
- package/dist/cjs/ion-searchbar.cjs.entry.js +135 -22
- 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 +21 -14
- package/dist/cjs/ion-select-modal.cjs.entry.js +8 -9
- package/dist/cjs/ion-select_3.cjs.entry.js +130 -39
- package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
- package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +65 -20
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-text.cjs.entry.js +5 -5
- package/dist/cjs/ion-textarea.cjs.entry.js +55 -15
- package/dist/cjs/ion-toast.cjs.entry.js +65 -42
- package/dist/cjs/ion-toggle.cjs.entry.js +79 -22
- package/dist/cjs/ionic.cjs.js +2 -2
- package/dist/cjs/{ios.transition-baEy2tr4.js → ios.transition-BMRClUxZ.js} +6 -5
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Chl5cusY.js} +1 -1
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-yLvXRMuh.js} +4 -3
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-nXDIskl9.js} +3 -3
- package/dist/cjs/list-a-7GSA6K.js +8 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{md.transition-Bvc-JrM5.js → md.transition-D2ZL4jgW.js} +5 -5
- package/dist/cjs/{notch-controller-BAbqGXRi.js → notch-controller-S50JyZJs.js} +2 -2
- package/dist/cjs/{overlays-DRDumz2b.js → overlays-DbrifhWu.js} +13 -14
- package/dist/cjs/{status-tap-Db3WeCkO.js → status-tap-DMaRrHIS.js} +4 -3
- package/dist/cjs/{swipe-back-D_VN6H9r.js → swipe-back-CEVlQT7C.js} +3 -2
- package/dist/cjs/x-BTF99yFH.js +8 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.ionic.css +197 -0
- package/dist/collection/components/accordion/accordion.ios.css +73 -58
- package/dist/collection/components/accordion/accordion.js +36 -26
- package/dist/collection/components/accordion/accordion.md.css +67 -59
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -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 +15 -11
- 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 -78
- package/dist/collection/components/avatar/avatar.ionic.css +365 -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 +111 -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 +277 -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 +622 -0
- package/dist/collection/components/button/button.ios.css +135 -46
- package/dist/collection/components/button/button.js +48 -17
- package/dist/collection/components/button/button.md.css +126 -50
- package/dist/collection/components/buttons/buttons.ionic.css +100 -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 +146 -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 +94 -0
- package/dist/collection/components/card-content/card-content.ios.css +16 -1
- package/dist/collection/components/card-content/card-content.js +11 -8
- package/dist/collection/components/card-content/card-content.md.css +16 -1
- package/dist/collection/components/card-header/card-header.ionic.css +87 -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 +146 -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 +527 -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 +230 -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 +12 -0
- package/dist/collection/components/col/col.js +9 -5
- 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 +699 -0
- package/dist/collection/components/datetime/datetime.ios.css +242 -86
- package/dist/collection/components/datetime/datetime.js +98 -20
- package/dist/collection/components/datetime/datetime.md.css +242 -86
- 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 +150 -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 +100 -0
- package/dist/collection/components/header/header.ios.css +25 -10
- package/dist/collection/components/header/header.js +49 -18
- package/dist/collection/components/header/header.md.css +23 -8
- package/dist/collection/components/img/img.js +8 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
- 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 +883 -0
- package/dist/collection/components/input/input.ios.css +223 -140
- package/dist/collection/components/input/input.js +149 -38
- package/dist/collection/components/input/input.md.css +194 -213
- package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +106 -60
- package/dist/collection/components/input-otp/input-otp.js +55 -106
- package/dist/collection/components/input-otp/input-otp.md.css +106 -60
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +80 -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 +502 -0
- package/dist/collection/components/item/item.ios.css +109 -69
- package/dist/collection/components/item/item.js +43 -19
- 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 +280 -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 +223 -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 +214 -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 +192 -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 +238 -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 +243 -0
- package/dist/collection/components/modal/modal.ios.css +174 -70
- package/dist/collection/components/modal/modal.js +48 -96
- package/dist/collection/components/modal/modal.md.css +174 -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.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 +289 -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 +424 -0
- package/dist/collection/components/radio/radio.ios.css +134 -91
- package/dist/collection/components/radio/radio.js +12 -9
- package/dist/collection/components/radio/radio.md.css +134 -91
- package/dist/collection/components/radio-group/radio-group.ionic.css +127 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
- package/dist/collection/components/radio-group/radio-group.js +13 -5
- package/dist/collection/components/radio-group/radio-group.md.css +42 -18
- package/dist/collection/components/range/range.ionic.css +555 -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 +217 -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 +12 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +628 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +181 -34
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +117 -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 +355 -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 +765 -0
- package/dist/collection/components/select/select.ios.css +315 -176
- package/dist/collection/components/select/select.js +157 -54
- package/dist/collection/components/select/select.md.css +331 -178
- package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
- package/dist/collection/components/select-modal/select-modal.js +3 -3
- 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} +79 -10
- package/dist/collection/components/spinner/spinner.js +47 -6
- package/dist/collection/components/spinner/spinner.native.css +198 -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 +188 -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 +338 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
- package/dist/collection/components/tab-button/tab-button.js +44 -8
- 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 +830 -0
- package/dist/collection/components/textarea/textarea.ios.css +275 -139
- package/dist/collection/components/textarea/textarea.js +76 -16
- package/dist/collection/components/textarea/textarea.md.css +288 -140
- 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 +129 -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 +396 -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 +511 -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 +243 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +157 -13
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/ionic-global.js +228 -13
- package/dist/collection/utils/focus-visible.js +22 -0
- package/dist/collection/utils/framework-delegate.js +3 -1
- package/dist/collection/utils/helpers.js +42 -2
- 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 +2 -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 +24 -3
- package/dist/collection/utils/transition/ios.transition.js +1 -0
- package/dist/docs.json +7887 -359
- package/dist/esm/{animation-BWcUKtbn.js → animation-Cgfm6Out.js} +1 -2
- package/dist/esm/{button-active-Bxcnevju.js → button-active-DvzVF2u_.js} +2 -2
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-Dvc8Ydvg.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-AaTyISnm.js → config-DwiPHIF5.js} +1 -1
- package/dist/esm/{data-GIsHsYIB.js → data-HHZs0eLV.js} +6 -6
- package/dist/{cjs/focus-visible-CCvKiLh3.js → esm/focus-visible-vXpMhGrs.js} +23 -3
- package/dist/esm/{framework-delegate-DxcnWic_.js → framework-delegate-B4Rily6A.js} +4 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-ZZTn7IWt.js} +1 -1
- package/dist/esm/{helpers-1O4D2b7y.js → helpers-D_90HVv6.js} +42 -3
- package/dist/esm/{index-B_U9CtaY.js → index-BBrR3goV.js} +347 -13
- package/dist/esm/{index-DfBA5ztX.js → index-BoSPzYKk.js} +4 -4
- package/dist/esm/{index-BlJTBdxG.js → index-ByqmqxGO.js} +2 -2
- package/dist/esm/{index-BLV6ykCk.js → index-CFd-a2gp.js} +3 -3
- package/dist/esm/{index-D8sncTHY.js → index-D4D_NUAr.js} +10 -10
- package/dist/esm/{index-CWbP1eJz.js → index-k4x4i7EL.js} +3 -3
- package/dist/esm/index.js +11 -12
- package/dist/esm/{input-shims-C3lNp93k.js → input-shims-DEtEJcaS.js} +6 -6
- package/dist/esm/{input.utils-zWijNCrx.js → input.utils-DNE0LB5g.js} +2 -3
- package/dist/esm/ion-accordion_2.entry.js +56 -27
- package/dist/esm/ion-action-sheet.entry.js +21 -18
- package/dist/esm/ion-alert.entry.js +23 -21
- package/dist/esm/ion-app_8.entry.js +243 -144
- package/dist/esm/ion-avatar_3.entry.js +124 -12
- package/dist/esm/ion-back-button.entry.js +29 -20
- package/dist/esm/ion-backdrop.entry.js +9 -6
- package/dist/esm/ion-breadcrumb_2.entry.js +52 -16
- package/dist/esm/ion-button_2.entry.js +43 -11
- package/dist/esm/ion-card_5.entry.js +53 -29
- package/dist/esm/ion-checkbox.entry.js +31 -13
- package/dist/esm/ion-chip.entry.js +48 -7
- package/dist/esm/ion-col_3.entry.js +13 -10
- package/dist/esm/ion-datetime-button.entry.js +11 -7
- package/dist/esm/ion-datetime_3.entry.js +114 -39
- package/dist/esm/ion-divider.entry.js +48 -0
- package/dist/esm/ion-fab_3.entry.js +42 -26
- package/dist/esm/ion-img.entry.js +7 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +18 -14
- package/dist/esm/ion-input-otp.entry.js +58 -106
- package/dist/esm/ion-input-password-toggle.entry.js +51 -13
- package/dist/esm/ion-input.entry.js +121 -31
- package/dist/esm/ion-item-option_3.entry.js +48 -19
- package/dist/esm/ion-item_8.entry.js +106 -46
- package/dist/esm/ion-loading.entry.js +18 -16
- package/dist/esm/ion-menu_3.entry.js +45 -27
- package/dist/esm/ion-modal.entry.js +56 -114
- package/dist/esm/ion-nav_2.entry.js +13 -10
- package/dist/esm/ion-picker-column-option.entry.js +10 -6
- package/dist/esm/ion-picker-column.entry.js +11 -11
- package/dist/esm/ion-picker.entry.js +10 -6
- package/dist/esm/ion-popover.entry.js +18 -16
- package/dist/esm/ion-progress-bar.entry.js +25 -7
- package/dist/esm/ion-radio_2.entry.js +22 -13
- package/dist/esm/ion-range.entry.js +14 -10
- package/dist/esm/ion-refresher_2.entry.js +38 -20
- package/dist/esm/ion-reorder_2.entry.js +37 -13
- package/dist/esm/ion-ripple-effect.entry.js +14 -6
- package/dist/esm/ion-route_4.entry.js +8 -7
- package/dist/esm/ion-searchbar.entry.js +136 -23
- 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 +21 -14
- package/dist/esm/ion-select-modal.entry.js +8 -9
- package/dist/esm/ion-select_3.entry.js +130 -39
- package/dist/esm/ion-spinner.entry.js +28 -6
- package/dist/esm/ion-split-pane.entry.js +11 -8
- package/dist/esm/ion-tab-bar_2.entry.js +65 -20
- package/dist/esm/ion-tab_2.entry.js +8 -7
- package/dist/esm/ion-text.entry.js +5 -5
- package/dist/esm/ion-textarea.entry.js +55 -15
- package/dist/esm/ion-toast.entry.js +41 -18
- package/dist/esm/ion-toggle.entry.js +79 -22
- package/dist/esm/ionic.js +3 -3
- package/dist/esm/{ios.transition-BmXtMRXZ.js → ios.transition-C_-UP8wE.js} +6 -5
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BsZp3qPH.js} +3 -3
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cvigb3Rv.js} +1 -1
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-lts2Pswq.js} +4 -3
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{md.transition-CLI683c7.js → md.transition-BDWkLsNw.js} +5 -5
- package/dist/esm/{notch-controller-C5LPspO8.js → notch-controller-ClKrf2l9.js} +2 -2
- package/dist/esm/{overlays-8Y2rA-ps.js → overlays-DDeOq6un.js} +5 -6
- package/dist/esm/{status-tap-7t9T91bG.js → status-tap-DLatL9pG.js} +4 -3
- package/dist/esm/{swipe-back-VdaUzLWy.js → swipe-back-YYylMb0l.js} +3 -2
- package/dist/esm/x-BDqjX7Z_.js +6 -0
- package/dist/html.html-data.json +2508 -230
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-034b2ca2.entry.js +4 -0
- package/dist/ionic/p-08dfb85e.entry.js +4 -0
- package/dist/ionic/p-0db4cc59.entry.js +4 -0
- package/dist/ionic/p-0eab9ecf.entry.js +4 -0
- package/dist/ionic/p-13c72b4e.entry.js +4 -0
- package/dist/ionic/p-1761f72f.entry.js +4 -0
- package/dist/ionic/p-1984e701.entry.js +4 -0
- package/dist/ionic/p-19959eec.entry.js +4 -0
- package/dist/ionic/p-1f976fad.entry.js +4 -0
- package/dist/ionic/p-1fd06a55.entry.js +4 -0
- package/dist/ionic/p-1fedceb6.entry.js +4 -0
- package/dist/ionic/p-208954ca.entry.js +4 -0
- package/dist/ionic/p-2d5f9656.entry.js +4 -0
- package/dist/ionic/p-30c2256c.entry.js +4 -0
- package/dist/ionic/p-32f9c041.entry.js +4 -0
- package/dist/ionic/p-3a2af867.entry.js +4 -0
- package/dist/ionic/p-3c361403.entry.js +4 -0
- package/dist/ionic/p-40f4609e.entry.js +4 -0
- package/dist/ionic/p-4d4dcd38.entry.js +4 -0
- package/dist/ionic/p-4d7443cd.entry.js +4 -0
- package/dist/ionic/p-4d7ac4db.entry.js +4 -0
- package/dist/ionic/p-50ce7a3d.entry.js +4 -0
- package/dist/ionic/p-63766f09.entry.js +4 -0
- package/dist/ionic/p-6957ab67.entry.js +4 -0
- package/dist/ionic/p-6e6ce506.entry.js +4 -0
- package/dist/ionic/p-6ea34add.entry.js +4 -0
- package/dist/ionic/p-6f17f8ed.entry.js +4 -0
- package/dist/ionic/p-7049bf1c.entry.js +4 -0
- package/dist/ionic/p-7ace7638.entry.js +4 -0
- package/dist/ionic/p-7f1e83a4.entry.js +4 -0
- package/dist/ionic/p-82796bb0.entry.js +4 -0
- package/dist/ionic/p-9cb0fd91.entry.js +4 -0
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BJ-EYogw.js +4 -0
- package/dist/ionic/p-BK3Vo2GA.js +4 -0
- package/dist/ionic/p-BKDxK6_S.js +4 -0
- package/dist/ionic/p-BMPzyWDm.js +4 -0
- package/dist/ionic/p-BTqHM5hg.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BZR5I9yn.js +4 -0
- package/dist/ionic/p-BZSKvxFv.js +4 -0
- package/dist/ionic/p-BaAcx1TO.js +4 -0
- package/dist/ionic/p-BeJdFlAB.js +4 -0
- package/dist/ionic/{p-D13Eaw-8.js → p-Bi_aZreq.js} +1 -1
- package/dist/ionic/p-BpUl-Ubc.js +4 -0
- package/dist/ionic/{p-CKvCXMs9.js → p-BuAY53fC.js} +1 -1
- package/dist/ionic/{p-BLV6ykCk.js → p-CFd-a2gp.js} +1 -1
- package/dist/ionic/p-CnPZjTVf.js +4 -0
- package/dist/ionic/{p-7qk7mxdr.js → p-D-g7JYuH.js} +1 -1
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/p-D6quDhlh.js +4 -0
- package/dist/ionic/{p-CPgXVSua.js → p-DIZM2shZ.js} +1 -1
- package/dist/ionic/p-DJD59Sq4.js +4 -0
- package/dist/ionic/p-DZmL55Qn.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-DjxV6ul_.js +4 -0
- package/dist/ionic/p-DkXsr7m2.js +4 -0
- package/dist/ionic/p-Dpa-63kX.js +4 -0
- package/dist/ionic/p-HOJ_eq4V.js +5 -0
- package/dist/ionic/p-MBiM0IFp.js +4 -0
- package/dist/ionic/p-a036ba35.entry.js +4 -0
- package/dist/ionic/p-a1af546a.entry.js +4 -0
- package/dist/ionic/p-ae3dad82.entry.js +4 -0
- package/dist/ionic/{p-a9ac80bd.entry.js → p-b2fe9962.entry.js} +1 -1
- package/dist/ionic/p-b493f149.entry.js +4 -0
- package/dist/ionic/p-b767c96a.entry.js +4 -0
- package/dist/ionic/p-bb85830d.entry.js +4 -0
- package/dist/ionic/p-c565e353.entry.js +4 -0
- package/dist/ionic/p-ccf3b065.entry.js +4 -0
- package/dist/ionic/p-d2ca6a9d.entry.js +4 -0
- package/dist/ionic/p-db6e0330.entry.js +4 -0
- package/dist/ionic/p-dd5e8e7a.entry.js +4 -0
- package/dist/ionic/p-deb1d888.entry.js +4 -0
- package/dist/ionic/p-dec5b3dc.entry.js +4 -0
- package/dist/ionic/p-e4ed2971.entry.js +4 -0
- package/dist/ionic/p-e89e89eb.entry.js +4 -0
- package/dist/ionic/{p-ei_RiGrl.js → p-eZzo_1L1.js} +1 -1
- package/dist/ionic/p-ed214a9c.entry.js +4 -0
- package/dist/ionic/p-eebf0420.entry.js +4 -0
- package/dist/ionic/p-f2cd0d41.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-fbd73129.entry.js +4 -0
- package/dist/ionic/p-fc8e47a4.entry.js +4 -0
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/ionic/svg/accessibility-outline.svg +1 -1
- package/dist/ionic/svg/accessibility-sharp.svg +1 -1
- package/dist/ionic/svg/accessibility.svg +1 -1
- package/dist/ionic/svg/arrow-down-left-box-outline.svg +1 -0
- package/dist/ionic/svg/arrow-down-left-box-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-down-left-box.svg +1 -0
- package/dist/ionic/svg/arrow-down-right-box-outline.svg +1 -0
- package/dist/ionic/svg/arrow-down-right-box-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-down-right-box.svg +1 -0
- package/dist/ionic/svg/arrow-up-left-box-outline.svg +1 -0
- package/dist/ionic/svg/arrow-up-left-box-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-up-left-box.svg +1 -0
- package/dist/ionic/svg/arrow-up-right-box-outline.svg +1 -0
- package/dist/ionic/svg/arrow-up-right-box-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-up-right-box.svg +1 -0
- package/dist/ionic/svg/bag-add-outline.svg +1 -1
- package/dist/ionic/svg/bag-add-sharp.svg +1 -1
- package/dist/ionic/svg/bag-add.svg +1 -1
- package/dist/ionic/svg/bag-check-outline.svg +1 -1
- package/dist/ionic/svg/bag-check-sharp.svg +1 -1
- package/dist/ionic/svg/bag-check.svg +1 -1
- package/dist/ionic/svg/bag-handle-outline.svg +1 -1
- package/dist/ionic/svg/bag-handle-sharp.svg +1 -1
- package/dist/ionic/svg/bag-handle.svg +1 -1
- package/dist/ionic/svg/bag-outline.svg +1 -1
- package/dist/ionic/svg/bag-remove-outline.svg +1 -1
- package/dist/ionic/svg/bag-remove-sharp.svg +1 -1
- package/dist/ionic/svg/bag-remove.svg +1 -1
- package/dist/ionic/svg/bag-sharp.svg +1 -1
- package/dist/ionic/svg/bag.svg +1 -1
- package/dist/ionic/svg/balloon-outline.svg +1 -1
- package/dist/ionic/svg/balloon-sharp.svg +1 -1
- package/dist/ionic/svg/balloon.svg +1 -1
- package/dist/ionic/svg/ban-outline.svg +1 -1
- package/dist/ionic/svg/ban-sharp.svg +1 -1
- package/dist/ionic/svg/ban.svg +1 -1
- package/dist/ionic/svg/binoculars-outline.svg +1 -0
- package/dist/ionic/svg/binoculars-sharp.svg +1 -0
- package/dist/ionic/svg/binoculars.svg +1 -0
- package/dist/ionic/svg/body-outline.svg +1 -1
- package/dist/ionic/svg/bowling-ball-outline.svg +1 -1
- package/dist/ionic/svg/bowling-ball-sharp.svg +1 -1
- package/dist/ionic/svg/bowling-ball.svg +1 -1
- package/dist/ionic/svg/calendar-clear-outline.svg +1 -1
- package/dist/ionic/svg/calendar-clear-sharp.svg +1 -1
- package/dist/ionic/svg/calendar-clear.svg +1 -1
- package/dist/ionic/svg/calendar-number-outline.svg +1 -1
- package/dist/ionic/svg/calendar-number-sharp.svg +1 -1
- package/dist/ionic/svg/calendar-number.svg +1 -1
- package/dist/ionic/svg/calendar-outline.svg +1 -1
- package/dist/ionic/svg/calendar-sharp.svg +1 -1
- package/dist/ionic/svg/calendar.svg +1 -1
- package/dist/ionic/svg/chevron-collapse-outline.svg +1 -1
- package/dist/ionic/svg/chevron-collapse-sharp.svg +1 -1
- package/dist/ionic/svg/chevron-collapse.svg +1 -1
- package/dist/ionic/svg/chevron-expand-outline.svg +1 -1
- package/dist/ionic/svg/chevron-expand-sharp.svg +1 -1
- package/dist/ionic/svg/chevron-expand.svg +1 -1
- package/dist/ionic/svg/color-wand-outline.svg +1 -1
- package/dist/ionic/svg/color-wand.svg +1 -1
- package/dist/ionic/svg/diamond-outline.svg +1 -1
- package/dist/ionic/svg/diamond-sharp.svg +1 -1
- package/dist/ionic/svg/diamond.svg +1 -1
- package/dist/ionic/svg/dice-outline.svg +1 -1
- package/dist/ionic/svg/dice-sharp.svg +1 -1
- package/dist/ionic/svg/dice.svg +1 -1
- package/dist/ionic/svg/document-lock-outline.svg +1 -1
- package/dist/ionic/svg/document-lock-sharp.svg +1 -1
- package/dist/ionic/svg/document-lock.svg +1 -1
- package/dist/ionic/svg/extension-puzzle-outline.svg +1 -1
- package/dist/ionic/svg/extension-puzzle-sharp.svg +1 -1
- package/dist/ionic/svg/extension-puzzle.svg +1 -1
- package/dist/ionic/svg/filter-circle-outline.svg +1 -1
- package/dist/ionic/svg/filter-circle-sharp.svg +1 -1
- package/dist/ionic/svg/filter-circle.svg +1 -1
- package/dist/ionic/svg/fish-outline.svg +1 -1
- package/dist/ionic/svg/fish-sharp.svg +1 -1
- package/dist/ionic/svg/fish.svg +1 -1
- package/dist/ionic/svg/footsteps-outline.svg +1 -1
- package/dist/ionic/svg/footsteps-sharp.svg +1 -1
- package/dist/ionic/svg/footsteps.svg +1 -1
- package/dist/ionic/svg/id-card-outline.svg +1 -1
- package/dist/ionic/svg/id-card-sharp.svg +1 -1
- package/dist/ionic/svg/id-card.svg +1 -1
- package/dist/ionic/svg/invert-mode-outline.svg +1 -1
- package/dist/ionic/svg/invert-mode-sharp.svg +1 -1
- package/dist/ionic/svg/invert-mode.svg +1 -1
- package/dist/ionic/svg/logo-alipay.svg +1 -1
- package/dist/ionic/svg/logo-android.svg +1 -1
- package/dist/ionic/svg/logo-appflow.svg +1 -0
- package/dist/ionic/svg/logo-apple-ar.svg +1 -1
- package/dist/ionic/svg/logo-behance.svg +1 -1
- package/dist/ionic/svg/logo-bitbucket.svg +1 -1
- package/dist/ionic/svg/logo-deviantart.svg +1 -1
- package/dist/ionic/svg/logo-discord.svg +1 -1
- package/dist/ionic/svg/logo-docker.svg +1 -1
- package/dist/ionic/svg/logo-edge.svg +1 -1
- package/dist/ionic/svg/logo-facebook.svg +1 -1
- package/dist/ionic/svg/logo-figma.svg +1 -1
- package/dist/ionic/svg/logo-firebase.svg +1 -1
- package/dist/ionic/svg/logo-gitlab.svg +1 -1
- package/dist/ionic/svg/logo-ionic.svg +1 -1
- package/dist/ionic/svg/logo-mastodon.svg +1 -1
- package/dist/ionic/svg/logo-medium.svg +1 -1
- package/dist/ionic/svg/logo-microsoft.svg +1 -1
- package/dist/ionic/svg/logo-npm.svg +1 -1
- package/dist/ionic/svg/logo-paypal.svg +1 -1
- package/dist/ionic/svg/logo-soundcloud.svg +1 -1
- package/dist/ionic/svg/logo-tableau.svg +1 -1
- package/dist/ionic/svg/logo-tiktok.svg +1 -1
- package/dist/ionic/svg/logo-trapeze.svg +1 -0
- package/dist/ionic/svg/logo-venmo.svg +1 -1
- package/dist/ionic/svg/logo-vercel.svg +1 -1
- package/dist/ionic/svg/logo-wechat.svg +1 -1
- package/dist/ionic/svg/logo-x.svg +1 -0
- package/dist/ionic/svg/logo-yahoo.svg +1 -1
- package/dist/ionic/svg/prism-outline.svg +1 -1
- package/dist/ionic/svg/prism-sharp.svg +1 -1
- package/dist/ionic/svg/prism.svg +1 -1
- package/dist/ionic/svg/scale-outline.svg +1 -1
- package/dist/ionic/svg/scale-sharp.svg +1 -1
- package/dist/ionic/svg/scale.svg +1 -1
- package/dist/ionic/svg/server-outline.svg +1 -1
- package/dist/ionic/svg/server-sharp.svg +1 -1
- package/dist/ionic/svg/server.svg +1 -1
- package/dist/ionic/svg/shield-half-outline.svg +1 -1
- package/dist/ionic/svg/shield-half-sharp.svg +1 -1
- package/dist/ionic/svg/shield-half.svg +1 -1
- package/dist/ionic/svg/sparkles-outline.svg +1 -1
- package/dist/ionic/svg/sparkles-sharp.svg +1 -1
- package/dist/ionic/svg/sparkles.svg +1 -1
- package/dist/ionic/svg/storefront-outline.svg +1 -1
- package/dist/ionic/svg/storefront-sharp.svg +1 -1
- package/dist/ionic/svg/storefront.svg +1 -1
- package/dist/ionic/svg/telescope-outline.svg +1 -1
- package/dist/ionic/svg/telescope-sharp.svg +1 -1
- package/dist/ionic/svg/telescope.svg +1 -1
- package/dist/ionic/svg/ticket-outline.svg +1 -1
- package/dist/ionic/svg/ticket-sharp.svg +1 -1
- package/dist/ionic/svg/ticket.svg +1 -1
- package/dist/ionic/svg/today-outline.svg +1 -1
- package/dist/ionic/svg/today-sharp.svg +1 -1
- package/dist/ionic/svg/today.svg +1 -1
- package/dist/ionic/svg/unlink-outline.svg +1 -1
- package/dist/ionic/svg/unlink-sharp.svg +1 -1
- package/dist/ionic/svg/unlink.svg +1 -1
- package/dist/ionic/svg/videocam-off-outline.svg +1 -1
- package/dist/ionic/svg/videocam-off-sharp.svg +1 -1
- package/dist/ionic/svg/videocam-off.svg +1 -1
- package/dist/ionic/svg/wifi-outline.svg +1 -1
- package/dist/ionic/svg/wifi-sharp.svg +1 -1
- package/dist/ionic/svg/wifi.svg +1 -1
- package/dist/types/components/accordion/accordion.d.ts +5 -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 -2
- 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 +19 -6
- 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 +4 -0
- 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/img/img.d.ts +3 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -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 +8 -12
- 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 -14
- 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 +4 -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-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 +11 -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 +17 -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 +20 -3
- package/dist/types/components.d.ts +1511 -196
- package/dist/types/global/ionic-global.d.ts +27 -2
- package/dist/types/interface.d.ts +3 -0
- package/dist/types/utils/config.d.ts +106 -2
- package/dist/types/utils/focus-visible.d.ts +13 -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/hydrate/index.js +2780 -1089
- package/hydrate/index.mjs +2780 -1089
- package/package.json +9 -4
- package/components/hardware-back-button.js +0 -115
- package/components/index9.js +0 -7
- package/dist/cjs/hardware-back-button-D90qZxju.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/esm/hardware-back-button-DcH0BbDp.js +0 -115
- package/dist/esm/index-ZjP4CjeZ.js +0 -7
- package/dist/ionic/p-01123ecf.entry.js +0 -4
- package/dist/ionic/p-03d21728.entry.js +0 -4
- package/dist/ionic/p-0d131a02.entry.js +0 -4
- package/dist/ionic/p-0fc6fc38.entry.js +0 -4
- package/dist/ionic/p-15da9760.entry.js +0 -4
- package/dist/ionic/p-1739f5f2.entry.js +0 -4
- package/dist/ionic/p-18f1813b.entry.js +0 -4
- package/dist/ionic/p-2bc871ee.entry.js +0 -4
- package/dist/ionic/p-2c6c6991.entry.js +0 -4
- package/dist/ionic/p-2cfd6b61.entry.js +0 -4
- package/dist/ionic/p-2d0eccfb.entry.js +0 -4
- package/dist/ionic/p-2da6a16b.entry.js +0 -4
- package/dist/ionic/p-2dca6aac.entry.js +0 -4
- package/dist/ionic/p-35c4a63f.entry.js +0 -4
- package/dist/ionic/p-3c855fa9.entry.js +0 -4
- package/dist/ionic/p-4b7d1f35.entry.js +0 -4
- package/dist/ionic/p-4d61f20b.entry.js +0 -4
- package/dist/ionic/p-5ee6f3cc.entry.js +0 -4
- package/dist/ionic/p-5f671887.entry.js +0 -4
- package/dist/ionic/p-69f91268.entry.js +0 -4
- package/dist/ionic/p-73d7ad90.entry.js +0 -4
- package/dist/ionic/p-76b697a3.entry.js +0 -4
- package/dist/ionic/p-7d5cf8c1.entry.js +0 -4
- package/dist/ionic/p-8957540a.entry.js +0 -4
- package/dist/ionic/p-8a8ef46b.entry.js +0 -4
- package/dist/ionic/p-8c674371.entry.js +0 -4
- package/dist/ionic/p-8f2f76e0.entry.js +0 -4
- package/dist/ionic/p-91bde659.entry.js +0 -4
- package/dist/ionic/p-97667b9c.entry.js +0 -4
- package/dist/ionic/p-9b46b31b.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-B1MNHTYX.js +0 -4
- package/dist/ionic/p-B3XSxWNQ.js +0 -4
- package/dist/ionic/p-BROiNJRB.js +0 -4
- package/dist/ionic/p-B_U9CtaY.js +0 -5
- package/dist/ionic/p-BhLqfMrf.js +0 -4
- package/dist/ionic/p-BmQduG8c.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-CL-KfWxq.js +0 -4
- package/dist/ionic/p-CRiGyYOA.js +0 -4
- package/dist/ionic/p-CbI9XwwW.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-D-7TeYC4.js +0 -4
- package/dist/ionic/p-DCfS5Jk_.js +0 -4
- package/dist/ionic/p-DgdWETCP.js +0 -4
- package/dist/ionic/p-Do-uqmtX.js +0 -4
- package/dist/ionic/p-DzH0J0yi.js +0 -4
- package/dist/ionic/p-QwEXyOze.js +0 -4
- package/dist/ionic/p-ZjP4CjeZ.js +0 -4
- package/dist/ionic/p-a6282370.entry.js +0 -4
- package/dist/ionic/p-a92bfa13.entry.js +0 -4
- package/dist/ionic/p-a9f99c74.entry.js +0 -4
- package/dist/ionic/p-aIxOGKys.js +0 -4
- package/dist/ionic/p-aa8956c2.entry.js +0 -4
- package/dist/ionic/p-b37dbc31.entry.js +0 -4
- package/dist/ionic/p-b758a177.entry.js +0 -4
- package/dist/ionic/p-b9ba04ca.entry.js +0 -4
- package/dist/ionic/p-b9f79efc.entry.js +0 -4
- package/dist/ionic/p-bNmY-WfR.js +0 -4
- package/dist/ionic/p-bc01c127.entry.js +0 -4
- package/dist/ionic/p-c0335397.entry.js +0 -4
- package/dist/ionic/p-c4912ca5.entry.js +0 -4
- package/dist/ionic/p-c884d7e3.entry.js +0 -4
- package/dist/ionic/p-cf632ee2.entry.js +0 -4
- package/dist/ionic/p-d47b85ea.entry.js +0 -4
- package/dist/ionic/p-d8429eb4.entry.js +0 -4
- package/dist/ionic/p-d8ed5df0.entry.js +0 -4
- package/dist/ionic/p-e1260ed5.entry.js +0 -4
- package/dist/ionic/p-e37d6c67.entry.js +0 -4
- package/dist/ionic/p-f83db8cd.entry.js +0 -4
- package/dist/ionic/p-fbc5481b.entry.js +0 -4
- package/dist/ionic/p-fcc7437b.entry.js +0 -4
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -21,7 +21,6 @@ export class InputOTP {
|
|
|
21
21
|
this.isKeyboardNavigation = false;
|
|
22
22
|
this.inputValues = [];
|
|
23
23
|
this.hasFocus = false;
|
|
24
|
-
this.previousInputValues = [];
|
|
25
24
|
/**
|
|
26
25
|
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
27
26
|
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
@@ -122,12 +121,19 @@ export class InputOTP {
|
|
|
122
121
|
}
|
|
123
122
|
};
|
|
124
123
|
/**
|
|
125
|
-
* Handles keyboard navigation for the OTP component.
|
|
124
|
+
* Handles keyboard navigation and input for the OTP component.
|
|
126
125
|
*
|
|
127
126
|
* Navigation:
|
|
128
127
|
* - Backspace: Clears current input and moves to previous box if empty
|
|
129
128
|
* - Arrow Left/Right: Moves focus between input boxes
|
|
130
129
|
* - Tab: Allows normal tab navigation between components
|
|
130
|
+
*
|
|
131
|
+
* Input Behavior:
|
|
132
|
+
* - Validates input against the allowed pattern
|
|
133
|
+
* - When entering a key in a filled box:
|
|
134
|
+
* - Shifts existing values right if there is room
|
|
135
|
+
* - Updates the value of the input group
|
|
136
|
+
* - Prevents default behavior to avoid automatic focus shift
|
|
131
137
|
*/
|
|
132
138
|
this.onKeyDown = (index) => (event) => {
|
|
133
139
|
const { length } = this;
|
|
@@ -182,31 +188,30 @@ export class InputOTP {
|
|
|
182
188
|
// Let all tab events proceed normally
|
|
183
189
|
return;
|
|
184
190
|
}
|
|
191
|
+
// If the input box contains a value and the key being
|
|
192
|
+
// entered is a valid key for the input box update the value
|
|
193
|
+
// and shift the values to the right if there is room.
|
|
194
|
+
if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
|
|
195
|
+
if (!this.inputValues[length - 1]) {
|
|
196
|
+
for (let i = length - 1; i > index; i--) {
|
|
197
|
+
this.inputValues[i] = this.inputValues[i - 1];
|
|
198
|
+
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
this.inputValues[index] = event.key;
|
|
202
|
+
this.inputRefs[index].value = event.key;
|
|
203
|
+
this.updateValue(event);
|
|
204
|
+
// Prevent default to avoid the browser from
|
|
205
|
+
// automatically moving the focus to the next input
|
|
206
|
+
event.preventDefault();
|
|
207
|
+
}
|
|
185
208
|
};
|
|
186
|
-
/**
|
|
187
|
-
* Processes all input scenarios for each input box.
|
|
188
|
-
*
|
|
189
|
-
* This function manages:
|
|
190
|
-
* 1. Autofill handling
|
|
191
|
-
* 2. Input validation
|
|
192
|
-
* 3. Full selection replacement or typing in an empty box
|
|
193
|
-
* 4. Inserting in the middle with available space (shifting)
|
|
194
|
-
* 5. Single character replacement
|
|
195
|
-
*/
|
|
196
209
|
this.onInput = (index) => (event) => {
|
|
197
|
-
var _a, _b;
|
|
198
210
|
const { length, validKeyPattern } = this;
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
// If the length of the value increases by more than 1 from the previous
|
|
204
|
-
// value, treat this as autofill. This is to prevent the case where the
|
|
205
|
-
// user is typing a single character into an input box containing a value
|
|
206
|
-
// as that will trigger this function with a value length of 2 characters.
|
|
207
|
-
const isAutofill = value.length - previousValue.length > 1;
|
|
208
|
-
if (isAutofill) {
|
|
209
|
-
// Distribute valid characters across input boxes
|
|
211
|
+
const value = event.target.value;
|
|
212
|
+
// If the value is longer than 1 character (autofill), split it into
|
|
213
|
+
// characters and filter out invalid ones
|
|
214
|
+
if (value.length > 1) {
|
|
210
215
|
const validChars = value
|
|
211
216
|
.split('')
|
|
212
217
|
.filter((char) => validKeyPattern.test(char))
|
|
@@ -221,10 +226,8 @@ export class InputOTP {
|
|
|
221
226
|
});
|
|
222
227
|
});
|
|
223
228
|
}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
this.inputRefs[i].value = validChars[i] || '';
|
|
227
|
-
}
|
|
229
|
+
// Update the value of the input group and emit the input change event
|
|
230
|
+
this.value = validChars.join('');
|
|
228
231
|
this.updateValue(event);
|
|
229
232
|
// Focus the first empty input box or the last input box if all boxes
|
|
230
233
|
// are filled after a small delay to ensure the input boxes have been
|
|
@@ -234,79 +237,20 @@ export class InputOTP {
|
|
|
234
237
|
const nextIndex = validChars.length < length ? validChars.length : length - 1;
|
|
235
238
|
(_a = this.inputRefs[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
236
239
|
}, 20);
|
|
237
|
-
this.previousInputValues = [...this.inputValues];
|
|
238
240
|
return;
|
|
239
241
|
}
|
|
240
|
-
//
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
input.value = this.inputValues[index] || '';
|
|
245
|
-
this.previousInputValues = [...this.inputValues];
|
|
242
|
+
// Only allow input if it matches the pattern
|
|
243
|
+
if (value.length > 0 && !validKeyPattern.test(value)) {
|
|
244
|
+
this.inputRefs[index].value = '';
|
|
245
|
+
this.inputValues[index] = '';
|
|
246
246
|
return;
|
|
247
247
|
}
|
|
248
|
-
//
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
const isAllSelected = input.selectionStart === 0 && input.selectionEnd === value.length;
|
|
253
|
-
const isEmpty = !this.inputValues[index];
|
|
254
|
-
if (isAllSelected || isEmpty) {
|
|
255
|
-
this.inputValues[index] = value;
|
|
256
|
-
input.value = value;
|
|
257
|
-
this.updateValue(event);
|
|
248
|
+
// For single character input, fill the current box
|
|
249
|
+
this.inputValues[index] = value;
|
|
250
|
+
this.updateValue(event);
|
|
251
|
+
if (value.length > 0) {
|
|
258
252
|
this.focusNext(index);
|
|
259
|
-
this.previousInputValues = [...this.inputValues];
|
|
260
|
-
return;
|
|
261
253
|
}
|
|
262
|
-
// 4. Inserting in the middle with available space (shifting)
|
|
263
|
-
// If typing in a filled input box and there are empty boxes at the end,
|
|
264
|
-
// shift all values starting at the current box to the right, and insert
|
|
265
|
-
// the new character at the current box.
|
|
266
|
-
const hasAvailableBoxAtEnd = this.inputValues[this.inputValues.length - 1] === '';
|
|
267
|
-
if (this.inputValues[index] && hasAvailableBoxAtEnd && value.length === 2) {
|
|
268
|
-
// Get the inserted character (from event or by diffing value/previousValue)
|
|
269
|
-
let newChar = event.data;
|
|
270
|
-
if (!newChar) {
|
|
271
|
-
newChar = value.split('').find((c, i) => c !== previousValue[i]) || value[value.length - 1];
|
|
272
|
-
}
|
|
273
|
-
// Validate the new character before shifting
|
|
274
|
-
if (!validKeyPattern.test(newChar)) {
|
|
275
|
-
input.value = this.inputValues[index] || '';
|
|
276
|
-
this.previousInputValues = [...this.inputValues];
|
|
277
|
-
return;
|
|
278
|
-
}
|
|
279
|
-
// Shift values right from the end to the insertion point
|
|
280
|
-
for (let i = this.inputValues.length - 1; i > index; i--) {
|
|
281
|
-
this.inputValues[i] = this.inputValues[i - 1];
|
|
282
|
-
this.inputRefs[i].value = this.inputValues[i] || '';
|
|
283
|
-
}
|
|
284
|
-
this.inputValues[index] = newChar;
|
|
285
|
-
this.inputRefs[index].value = newChar;
|
|
286
|
-
this.updateValue(event);
|
|
287
|
-
this.previousInputValues = [...this.inputValues];
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
// 5. Single character replacement
|
|
291
|
-
// Handles replacing a single character in a box containing a value based
|
|
292
|
-
// on the cursor position. We need the cursor position to determine which
|
|
293
|
-
// character was the last character typed. For example, if the user types "2"
|
|
294
|
-
// in an input box with the cursor at the beginning of the value of "6",
|
|
295
|
-
// the value will be "26", but we want to grab the "2" as the last character
|
|
296
|
-
// typed.
|
|
297
|
-
const cursorPos = (_a = input.selectionStart) !== null && _a !== void 0 ? _a : value.length;
|
|
298
|
-
const newCharIndex = cursorPos - 1;
|
|
299
|
-
const newChar = (_b = value[newCharIndex]) !== null && _b !== void 0 ? _b : value[0];
|
|
300
|
-
// Check if the new character is valid before updating the value
|
|
301
|
-
if (!validKeyPattern.test(newChar)) {
|
|
302
|
-
input.value = this.inputValues[index] || '';
|
|
303
|
-
this.previousInputValues = [...this.inputValues];
|
|
304
|
-
return;
|
|
305
|
-
}
|
|
306
|
-
this.inputValues[index] = newChar;
|
|
307
|
-
input.value = newChar;
|
|
308
|
-
this.updateValue(event);
|
|
309
|
-
this.previousInputValues = [...this.inputValues];
|
|
310
254
|
};
|
|
311
255
|
/**
|
|
312
256
|
* Handles pasting text into the input OTP component.
|
|
@@ -316,7 +260,7 @@ export class InputOTP {
|
|
|
316
260
|
* the next empty input after pasting.
|
|
317
261
|
*/
|
|
318
262
|
this.onPaste = (event) => {
|
|
319
|
-
var _a, _b;
|
|
263
|
+
var _a, _b, _c;
|
|
320
264
|
const { inputRefs, length, validKeyPattern } = this;
|
|
321
265
|
event.preventDefault();
|
|
322
266
|
const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
|
|
@@ -343,8 +287,13 @@ export class InputOTP {
|
|
|
343
287
|
this.updateValue(event);
|
|
344
288
|
// Focus the next empty input after pasting
|
|
345
289
|
// If all boxes are filled, focus the last input
|
|
346
|
-
const nextEmptyIndex = validChars.length
|
|
347
|
-
(
|
|
290
|
+
const nextEmptyIndex = validChars.length;
|
|
291
|
+
if (nextEmptyIndex < length) {
|
|
292
|
+
(_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
(_c = inputRefs[length - 1]) === null || _c === void 0 ? void 0 : _c.focus();
|
|
296
|
+
}
|
|
348
297
|
};
|
|
349
298
|
}
|
|
350
299
|
/**
|
|
@@ -483,7 +432,6 @@ export class InputOTP {
|
|
|
483
432
|
});
|
|
484
433
|
// Update the value without emitting events
|
|
485
434
|
this.value = this.inputValues.join('');
|
|
486
|
-
this.previousInputValues = [...this.inputValues];
|
|
487
435
|
}
|
|
488
436
|
/**
|
|
489
437
|
* Updates the value of the input group.
|
|
@@ -605,7 +553,7 @@ export class InputOTP {
|
|
|
605
553
|
const tabbableIndex = this.getTabbableIndex();
|
|
606
554
|
const pattern = this.getPattern();
|
|
607
555
|
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: '
|
|
556
|
+
return (h(Host, { key: 'aeedd5aa6b4eadee7a6967582ad06820badeec43', class: createColorClasses(color, {
|
|
609
557
|
[mode]: true,
|
|
610
558
|
'has-focus': hasFocus,
|
|
611
559
|
[`input-otp-size-${size}`]: true,
|
|
@@ -613,23 +561,25 @@ export class InputOTP {
|
|
|
613
561
|
[`input-otp-fill-${fill}`]: true,
|
|
614
562
|
'input-otp-disabled': disabled,
|
|
615
563
|
'input-otp-readonly': readonly,
|
|
616
|
-
}) }, h("div", Object.assign({ key: '
|
|
564
|
+
}) }, h("div", Object.assign({ key: '471b391c156b02cb050ff5c7f3e3aa9c1bd246d8', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", 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" }))))), h("div", { key: '873c739c49d56b30d6d2f92687b529e4f537e7b1', class: {
|
|
617
565
|
'input-otp-description': true,
|
|
618
566
|
'input-otp-description-hidden': !hasDescription,
|
|
619
|
-
} }, h("slot", { key: '
|
|
567
|
+
} }, h("slot", { key: '8207b96e28a21493f6c554986ed50725690080f0' }))));
|
|
620
568
|
}
|
|
621
569
|
static get is() { return "ion-input-otp"; }
|
|
622
570
|
static get encapsulation() { return "scoped"; }
|
|
623
571
|
static get originalStyleUrls() {
|
|
624
572
|
return {
|
|
625
573
|
"ios": ["input-otp.ios.scss"],
|
|
626
|
-
"md": ["input-otp.md.scss"]
|
|
574
|
+
"md": ["input-otp.md.scss"],
|
|
575
|
+
"ionic": ["input-otp.ionic.scss"]
|
|
627
576
|
};
|
|
628
577
|
}
|
|
629
578
|
static get styleUrls() {
|
|
630
579
|
return {
|
|
631
580
|
"ios": ["input-otp.ios.css"],
|
|
632
|
-
"md": ["input-otp.md.css"]
|
|
581
|
+
"md": ["input-otp.md.css"],
|
|
582
|
+
"ionic": ["input-otp.ionic.css"]
|
|
633
583
|
};
|
|
634
584
|
}
|
|
635
585
|
static get properties() {
|
|
@@ -901,8 +851,7 @@ export class InputOTP {
|
|
|
901
851
|
static get states() {
|
|
902
852
|
return {
|
|
903
853
|
"inputValues": {},
|
|
904
|
-
"hasFocus": {}
|
|
905
|
-
"previousInputValues": {}
|
|
854
|
+
"hasFocus": {}
|
|
906
855
|
};
|
|
907
856
|
}
|
|
908
857
|
static get events() {
|
|
@@ -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,7 +163,7 @@
|
|
|
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);
|
|
@@ -161,9 +177,6 @@
|
|
|
161
177
|
}
|
|
162
178
|
|
|
163
179
|
.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
180
|
text-align: center;
|
|
168
181
|
}
|
|
169
182
|
|
|
@@ -179,6 +192,76 @@
|
|
|
179
192
|
background: var(--separator-color);
|
|
180
193
|
}
|
|
181
194
|
|
|
195
|
+
:host(.input-otp-fill-outline) {
|
|
196
|
+
--background: none;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
:host(.input-otp-disabled),
|
|
200
|
+
:host(.input-otp-disabled) .native-input:disabled {
|
|
201
|
+
cursor: not-allowed;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
:host(.has-focus) .native-input:focus {
|
|
205
|
+
--border-color: var(--highlight-color);
|
|
206
|
+
outline: none;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
:host(.ion-touched.ion-invalid) {
|
|
210
|
+
--highlight-color: var(--highlight-color-invalid);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* The component highlight is only shown
|
|
215
|
+
* on focus, so we can safely set the valid
|
|
216
|
+
* color state when valid. If we
|
|
217
|
+
* set it when .has-focus is present then
|
|
218
|
+
* the highlight color would change
|
|
219
|
+
* from the valid color to the component's
|
|
220
|
+
* color during the transition after the
|
|
221
|
+
* component loses focus.
|
|
222
|
+
*/
|
|
223
|
+
:host(.ion-valid) {
|
|
224
|
+
--highlight-color: var(--highlight-color-valid);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* If the input has a validity state, the
|
|
229
|
+
* border should reflect that as a color.
|
|
230
|
+
* The invalid state should show if the input is
|
|
231
|
+
* invalid and has already been touched.
|
|
232
|
+
* The valid state should show if the input
|
|
233
|
+
* is valid, has already been touched, and
|
|
234
|
+
* is currently focused. Do not show the valid
|
|
235
|
+
* highlight when the input is blurred.
|
|
236
|
+
*/
|
|
237
|
+
:host(.has-focus.ion-valid),
|
|
238
|
+
:host(.ion-touched.ion-invalid) {
|
|
239
|
+
--border-color: var(--highlight-color);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
:host {
|
|
243
|
+
--padding-top: 16px;
|
|
244
|
+
--padding-end: 0;
|
|
245
|
+
--padding-bottom: 16px;
|
|
246
|
+
--padding-start: 0;
|
|
247
|
+
--color: initial;
|
|
248
|
+
--min-width: 40px;
|
|
249
|
+
--border-style: solid;
|
|
250
|
+
--separator-width: 8px;
|
|
251
|
+
--separator-border-radius: 999px;
|
|
252
|
+
--separator-color: var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));
|
|
253
|
+
--highlight-color-focused: var(--ion-color-primary, #0054e9);
|
|
254
|
+
--highlight-color-valid: var(--ion-color-success, #2dd55b);
|
|
255
|
+
--highlight-color-invalid: var(--ion-color-danger, #c5000f);
|
|
256
|
+
font-size: 0.875rem;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.input-otp-description {
|
|
260
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
261
|
+
font-size: 0.75rem;
|
|
262
|
+
line-height: 1.25rem;
|
|
263
|
+
}
|
|
264
|
+
|
|
182
265
|
:host(.input-otp-size-small) {
|
|
183
266
|
--width: 40px;
|
|
184
267
|
--height: 40px;
|
|
@@ -233,16 +316,6 @@
|
|
|
233
316
|
--border-color: var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));
|
|
234
317
|
}
|
|
235
318
|
|
|
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
319
|
:host(.input-otp-fill-outline.input-otp-readonly) {
|
|
247
320
|
--background: var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));
|
|
248
321
|
}
|
|
@@ -253,39 +326,6 @@
|
|
|
253
326
|
--background: var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));
|
|
254
327
|
}
|
|
255
328
|
|
|
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
329
|
:host(.ion-color) {
|
|
290
330
|
--highlight-color-focused: var(--ion-color-base);
|
|
291
331
|
}
|
|
@@ -313,6 +353,12 @@
|
|
|
313
353
|
border-color: rgba(var(--ion-color-base-rgb), 0.3);
|
|
314
354
|
}
|
|
315
355
|
|
|
356
|
+
/**
|
|
357
|
+
* Convert a pixels given value into rem
|
|
358
|
+
*
|
|
359
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
360
|
+
* @param context (optional) - Baseline value
|
|
361
|
+
*/
|
|
316
362
|
/**
|
|
317
363
|
* Convert a font size to a dynamic font size.
|
|
318
364
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -0,0 +1,80 @@
|
|
|
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
|
+
Do not edit directly, this file was auto-generated.
|
|
9
|
+
*/ /**
|
|
10
|
+
* A heuristic that applies CSS to tablet
|
|
11
|
+
* viewports.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* @include tablet-viewport() {
|
|
15
|
+
* :host {
|
|
16
|
+
* background-color: green;
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* A heuristic that applies CSS to mobile
|
|
22
|
+
* viewports (i.e. phones, not tablets).
|
|
23
|
+
*
|
|
24
|
+
* Usage:
|
|
25
|
+
* @include mobile-viewport() {
|
|
26
|
+
* :host {
|
|
27
|
+
* background-color: blue;
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* Convert a font size to a dynamic font size.
|
|
33
|
+
* Fonts that participate in Dynamic Type should use
|
|
34
|
+
* dynamic font sizes.
|
|
35
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
36
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
37
|
+
* convert to a unit other than $baselineUnit.
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* Convert a font size to a dynamic font size but impose
|
|
41
|
+
* a maximum font size.
|
|
42
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
43
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
44
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
45
|
+
* convert to a unit other than $baselineUnit.
|
|
46
|
+
*/
|
|
47
|
+
/**
|
|
48
|
+
* Convert a font size to a dynamic font size but impose
|
|
49
|
+
* a minimum font size.
|
|
50
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
51
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
52
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
53
|
+
* convert to a unit other than $baselineUnit.
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* Convert a font size to a dynamic font size but impose
|
|
57
|
+
* maximum and minimum font sizes.
|
|
58
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
59
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
60
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
61
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
62
|
+
* convert to a unit other than $baselineUnit.
|
|
63
|
+
*/
|
|
64
|
+
:host ion-button {
|
|
65
|
+
--color: var(--ion-primitives-neutral-800, #626262);
|
|
66
|
+
--margin-end: calc(-1 * var(--padding-end));
|
|
67
|
+
--padding-end: inherit;
|
|
68
|
+
--icon-size: var(--ion-font-size-400, 1rem);
|
|
69
|
+
-webkit-margin-start: 0;
|
|
70
|
+
margin-inline-start: 0;
|
|
71
|
+
-webkit-margin-end: var(--margin-end);
|
|
72
|
+
margin-inline-end: var(--margin-end);
|
|
73
|
+
margin-top: 0;
|
|
74
|
+
margin-bottom: 0;
|
|
75
|
+
width: var(--size);
|
|
76
|
+
height: var(--size);
|
|
77
|
+
}
|
|
78
|
+
:host ion-button ion-icon {
|
|
79
|
+
font-size: var(--icon-size);
|
|
80
|
+
}
|
|
@@ -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: 'e265bb6460041189fea1812d391121a9e8dde669', class: createColorClasses(color, {
|
|
64
98
|
[mode]: true,
|
|
65
|
-
}) }, h("ion-button", { key: '
|
|
99
|
+
}) }, h("ion-button", { key: 'b7ca2e12e3b1b9a161acc002abb8f1b8efeea46e', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', role: "switch", 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: '4d5ba21325812d9c820ae26688d17ae821ffd25c', 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() {
|