@ionic/core 8.8.19-dev.11786610762.137bbb21 → 8.8.19-dev.11786735826.1fad7c0a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p--m5cCjbK.js +4 -0
- package/components/{p-CpHPq11n.js → p-30_sZS2V.js} +1 -1
- package/components/p-8FN7p701.js +4 -0
- package/components/p-B-FxiyeI.js +4 -0
- package/components/p-B4uHHhPK.js +4 -0
- package/components/p-BMPN55of.js +4 -0
- package/components/p-BMS4t-kJ.js +4 -0
- package/components/p-BOvLNVKq.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/components/p-BWBigMsI.js +4 -0
- package/components/p-BZ4-QTes.js +4 -0
- package/components/p-BhamHSw3.js +4 -0
- package/components/p-BjluhQMI.js +4 -0
- package/components/p-BlsIikdZ.js +4 -0
- package/components/p-Blug1Vxu.js +4 -0
- package/components/p-BmVRXR1y.js +4 -0
- package/components/p-BpG8kBfD.js +4 -0
- package/components/p-BqPNzJf6.js +4 -0
- package/components/p-C5KYjZWD.js +4 -0
- package/components/p-C91npEel.js +4 -0
- package/components/p-C9BGR5fy.js +4 -0
- package/components/p-CD4fmpem.js +4 -0
- package/components/p-CEW4RXZO.js +4 -0
- package/components/p-CIGNaXM1.js +4 -0
- package/components/p-CKhiNOEg.js +4 -0
- package/components/p-CO2zzh3W.js +4 -0
- package/components/p-CVb3x_r3.js +4 -0
- package/components/p-CWLrHG8Y.js +4 -0
- package/components/p-CbhUdtjf.js +4 -0
- package/components/p-CejmQs3h.js +4 -0
- package/components/p-CfnNZz_d.js +4 -0
- package/components/p-CmKf4pgI.js +4 -0
- package/components/p-Cs5f-uOS.js +4 -0
- package/components/p-D7-vHX0A.js +4 -0
- package/components/p-DJztqcrH.js +4 -0
- package/components/p-DKrhJJV0.js +4 -0
- package/components/p-DRfgH82D.js +4 -0
- package/components/p-DSzSbVP2.js +4 -0
- package/components/p-DV85C0e0.js +4 -0
- package/components/p-DVKS-ovH.js +4 -0
- package/components/p-DWCzVL3Y.js +4 -0
- package/components/p-Dd8ajo9a.js +4 -0
- package/components/p-DdnhY_oj.js +4 -0
- package/components/p-DgZOZQjJ.js +4 -0
- package/components/p-Dmd2xqCe.js +4 -0
- package/components/{p-B2SvA6NE.js → p-DwpKZ6rl.js} +1 -1
- package/components/p-G0TxqHfe.js +4 -0
- package/components/p-GG5GhznE.js +4 -0
- package/components/{p-Ch8jco3x.js → p-J-p0EtHR.js} +1 -1
- package/components/p-LXu5-6Ti.js +4 -0
- package/components/p-LpMHEu3v.js +4 -0
- package/components/p-TXPDHL13.js +4 -0
- package/components/p-UQSiXX2Z.js +4 -0
- package/components/p-UuPYCOZE.js +4 -0
- package/components/p-WeeS7GvC.js +4 -0
- package/components/p-ZjP4CjeZ.js +4 -0
- package/components/{p-CzlL9T_X.js → p-_0JhwClE.js} +1 -1
- package/components/p-_IKFD3ID.js +4 -0
- package/components/p-byZM6qHV.js +4 -0
- package/components/p-hh7qIC-X.js +4 -0
- package/components/p-idq4JFo2.js +4 -0
- package/components/p-qT1szVjw.js +4 -0
- package/components/{p-BZwQa9ey.js → p-ryyf_ItD.js} +1 -1
- package/components/p-wzAhIh03.js +4 -0
- package/components/p-ypuYdSDB.js +4 -0
- package/components/{p-Dovs7FIs.js → p-yuj4Nkm_.js} +1 -1
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-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-qlGmEn5Y.js → animation-C0mOHzej.js} +6 -6
- package/dist/cjs/{app-globals-CtK-3pCu.js → app-globals-BREG4twP.js} +1 -1
- package/dist/cjs/{button-active-CugpWmFI.js → button-active-BKj1rdFx.js} +3 -3
- package/dist/cjs/{capacitor-BixsAzyb.js → capacitor-DmA66EwP.js} +3 -3
- package/dist/cjs/{config-DWdFbSNK.js → config-CjUbvdPW.js} +5 -4
- package/dist/cjs/{dir-Cn0z1rJH.js → dir-Brx7VkvP.js} +1 -1
- package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
- package/dist/cjs/{format-COAsdjOc.js → format-pp0Du3K-.js} +40 -30
- package/dist/cjs/{framework-delegate-CJT_QJQI.js → framework-delegate-NTLQ5YzV.js} +6 -10
- package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-BDUH7687.js} +15 -8
- package/dist/cjs/{haptic-BFgF-QCg.js → haptic-Ch-X4gRx.js} +3 -4
- package/dist/cjs/hardware-back-button-fqpYh-kd.js +121 -0
- package/dist/cjs/{helpers-Fh1iXsX9.js → helpers-CaLhEmTE.js} +6 -73
- package/dist/cjs/{index-YYUVCfP-.js → index-B7zJsYWS.js} +3 -3
- package/dist/cjs/{index-CNicxECl.js → index-BlshL9ib.js} +8 -9
- package/dist/cjs/{index-D94mERjz.js → index-Ck9advCT.js} +5 -5
- package/dist/cjs/{index-CM8iGvyx.js → index-D2X6b92x.js} +15 -16
- package/dist/cjs/{index-DRFkZu3V.js → index-D48vawBq.js} +2 -2
- package/dist/cjs/index-DkNv4J_i.js +10 -0
- package/dist/cjs/{index-CAvQ7Tka.js → index-P1nQxrpZ.js} +10 -4
- package/dist/cjs/{index-C1knGA9x.js → index-uvry__L4.js} +33 -65
- package/dist/cjs/{index-CxDnX7hd.js → index-wOmugbdg.js} +0 -2
- package/dist/cjs/index.cjs.js +17 -17
- package/dist/cjs/{input-shims-C8NCYfWv.js → input-shims-DvHAFqiP.js} +19 -22
- package/dist/cjs/input.utils-BZdMWVrt.js +35 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +378 -382
- package/dist/cjs/ion-action-sheet.cjs.entry.js +178 -86
- package/dist/cjs/ion-alert.cjs.entry.js +250 -125
- package/dist/cjs/ion-app_8.cjs.entry.js +461 -608
- package/dist/cjs/ion-avatar_3.cjs.entry.js +19 -125
- package/dist/cjs/ion-back-button.cjs.entry.js +64 -49
- package/dist/cjs/ion-backdrop.cjs.entry.js +23 -22
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +211 -169
- package/dist/cjs/ion-button_2.cjs.entry.js +152 -117
- package/dist/cjs/ion-card_5.cjs.entry.js +109 -79
- package/dist/cjs/ion-checkbox.cjs.entry.js +163 -129
- package/dist/cjs/ion-chip.cjs.entry.js +21 -56
- package/dist/cjs/ion-col_3.cjs.entry.js +186 -61
- package/dist/cjs/ion-datetime-button.cjs.entry.js +255 -247
- package/dist/cjs/ion-datetime.cjs.entry.js +2770 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +154 -112
- package/dist/cjs/ion-img.cjs.entry.js +34 -16
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +108 -156
- package/dist/cjs/ion-input-otp.cjs.entry.js +435 -437
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +40 -64
- package/dist/cjs/ion-input.cjs.entry.js +351 -311
- package/dist/cjs/ion-item-option_3.cjs.entry.js +136 -511
- package/dist/cjs/ion-item_8.cjs.entry.js +217 -189
- package/dist/cjs/ion-loading.cjs.entry.js +151 -68
- package/dist/cjs/ion-menu_3.cjs.entry.js +181 -137
- package/dist/cjs/ion-modal.cjs.entry.js +570 -500
- package/dist/cjs/ion-nav_2.cjs.entry.js +103 -163
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +39 -39
- package/dist/cjs/ion-picker-column.cjs.entry.js +421 -409
- package/dist/cjs/ion-picker.cjs.entry.js +405 -400
- package/dist/cjs/ion-popover.cjs.entry.js +323 -211
- package/dist/cjs/ion-progress-bar.cjs.entry.js +35 -47
- package/dist/cjs/ion-radio_2.cjs.entry.js +216 -161
- package/dist/cjs/ion-range.cjs.entry.js +307 -249
- package/dist/cjs/ion-refresher_2.cjs.entry.js +174 -121
- package/dist/cjs/ion-reorder_2.cjs.entry.js +59 -53
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +18 -26
- package/dist/cjs/ion-route_4.cjs.entry.js +178 -75
- package/dist/cjs/ion-searchbar.cjs.entry.js +308 -331
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +28 -27
- package/dist/cjs/ion-segment_2.cjs.entry.js +177 -141
- package/dist/cjs/ion-select-modal.cjs.entry.js +49 -69
- package/dist/cjs/ion-select_3.cjs.entry.js +507 -429
- package/dist/cjs/ion-spinner.cjs.entry.js +28 -36
- package/dist/cjs/ion-split-pane.cjs.entry.js +34 -25
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +116 -179
- package/dist/cjs/ion-tab_2.cjs.entry.js +54 -29
- package/dist/cjs/ion-text.cjs.entry.js +13 -7
- package/dist/cjs/ion-textarea.cjs.entry.js +303 -309
- package/dist/cjs/ion-toast.cjs.entry.js +264 -169
- package/dist/cjs/ion-toggle.cjs.entry.js +184 -187
- package/dist/cjs/ionic-global-k6hOWWpn.js +156 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-BgDCUY4Y.js → ios.transition-KvuRAe2W.js} +14 -20
- package/dist/cjs/{item-multiple-inputs-DKn76MYO.js → item-multiple-inputs-BdYSbfKN.js} +1 -1
- package/dist/cjs/{keyboard-nne7rvBK.js → keyboard-Cix5TVkD.js} +4 -5
- package/dist/cjs/{keyboard-BbZXOwZg.js → keyboard-cHxZlTyz.js} +3 -3
- package/dist/cjs/keyboard-controller-PtZoN2GS.js +167 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-Debf4tYr.js → md.transition-Bjl5Ozph.js} +8 -10
- package/dist/cjs/{overlay-control-label-DnRLQR1t.js → overlay-control-label-D2sdL2O8.js} +11 -13
- package/dist/cjs/{overlays-DYBUkNQu.js → overlays-IlP4H2Gn.js} +60 -336
- package/dist/cjs/{select-option-render-BqJEK1N1.js → select-option-render-pULCGldr.js} +3 -4
- package/dist/cjs/slot-mutation-controller-CgTGFqlW.js +397 -0
- package/dist/cjs/{status-tap-hwqc0yb_.js → status-tap-BR_ujYHg.js} +3 -4
- package/dist/cjs/{swipe-back-DqQx5QCp.js → swipe-back-DzQKEl5g.js} +5 -6
- package/dist/cjs/{theme-IlOsGAz7.js → theme-Bw0rpaNN.js} +7 -26
- package/dist/cjs/validity-BpS37YFM.js +19 -0
- package/dist/collection/collection-manifest.json +1 -13
- package/dist/collection/components/accordion/accordion.ios.css +58 -73
- package/dist/collection/components/accordion/accordion.js +327 -338
- package/dist/collection/components/accordion/accordion.md.css +59 -67
- package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
- package/dist/collection/components/accordion-group/accordion-group.js +56 -69
- package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
- package/dist/collection/components/action-sheet/action-sheet.ios.css +54 -184
- package/dist/collection/components/action-sheet/action-sheet.js +166 -76
- package/dist/collection/components/action-sheet/action-sheet.md.css +55 -179
- package/dist/collection/components/action-sheet/test/basic/fixture.js +3 -0
- package/dist/collection/components/alert/alert.ios.css +54 -247
- package/dist/collection/components/alert/alert.js +236 -113
- package/dist/collection/components/alert/alert.md.css +56 -243
- package/dist/collection/components/app/app.js +86 -15
- package/dist/collection/components/avatar/avatar.ios.css +33 -7
- package/dist/collection/components/avatar/avatar.js +4 -120
- package/dist/collection/components/avatar/avatar.md.css +0 -51
- package/dist/collection/components/back-button/back-button.ios.css +48 -60
- package/dist/collection/components/back-button/back-button.js +61 -46
- package/dist/collection/components/back-button/back-button.md.css +48 -60
- package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
- package/dist/collection/components/backdrop/backdrop.js +22 -26
- package/dist/collection/components/backdrop/backdrop.md.css +19 -56
- package/dist/collection/components/badge/badge.ios.css +12 -137
- package/dist/collection/components/badge/badge.js +15 -145
- package/dist/collection/components/badge/badge.md.css +12 -122
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
- package/dist/collection/components/breadcrumb/breadcrumb.js +101 -72
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +112 -99
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
- package/dist/collection/components/button/button.ios.css +46 -154
- package/dist/collection/components/button/button.js +157 -122
- package/dist/collection/components/button/button.md.css +50 -150
- package/dist/collection/components/buttons/buttons.ios.css +7 -59
- package/dist/collection/components/buttons/buttons.js +21 -29
- package/dist/collection/components/buttons/buttons.md.css +3 -55
- package/dist/collection/components/card/card.ios.css +14 -65
- package/dist/collection/components/card/card.js +63 -61
- package/dist/collection/components/card/card.md.css +14 -65
- package/dist/collection/components/card-content/card-content.ios.css +35 -20
- package/dist/collection/components/card-content/card-content.js +10 -12
- package/dist/collection/components/card-content/card-content.md.css +35 -20
- package/dist/collection/components/card-header/card-header.ios.css +15 -27
- package/dist/collection/components/card-header/card-header.js +21 -20
- package/dist/collection/components/card-header/card-header.md.css +15 -27
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
- package/dist/collection/components/card-subtitle/card-subtitle.js +14 -11
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
- package/dist/collection/components/card-title/card-title.ios.css +0 -73
- package/dist/collection/components/card-title/card-title.js +14 -11
- package/dist/collection/components/card-title/card-title.md.css +0 -73
- package/dist/collection/components/checkbox/checkbox.ios.css +117 -242
- package/dist/collection/components/checkbox/checkbox.js +160 -165
- package/dist/collection/components/checkbox/checkbox.md.css +118 -243
- package/dist/collection/components/chip/chip.ios.css +14 -67
- package/dist/collection/components/chip/chip.js +20 -116
- package/dist/collection/components/chip/chip.md.css +14 -67
- package/dist/collection/components/col/col.css +4 -192
- package/dist/collection/components/col/col.js +186 -212
- package/dist/collection/components/content/content.css +2 -47
- package/dist/collection/components/content/content.js +102 -78
- package/dist/collection/components/datetime/datetime.ios.css +148 -304
- package/dist/collection/components/datetime/datetime.js +1068 -910
- package/dist/collection/components/datetime/datetime.md.css +138 -294
- package/dist/collection/components/datetime/utils/data.js +18 -19
- package/dist/collection/components/datetime/utils/format.js +21 -11
- package/dist/collection/components/datetime/utils/manipulation.js +8 -8
- package/dist/collection/components/datetime/utils/parse.js +10 -10
- package/dist/collection/components/datetime/utils/state.js +8 -2
- package/dist/collection/components/datetime/utils/validate.js +4 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -6
- package/dist/collection/components/datetime-button/datetime-button.js +253 -246
- package/dist/collection/components/datetime-button/datetime-button.md.css +5 -6
- package/dist/collection/components/fab/fab.css +1 -25
- package/dist/collection/components/fab/fab.js +25 -22
- package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
- package/dist/collection/components/fab-button/fab-button.js +117 -83
- package/dist/collection/components/fab-button/fab-button.md.css +8 -20
- package/dist/collection/components/fab-list/fab-list.css +0 -12
- package/dist/collection/components/fab-list/fab-list.js +15 -20
- package/dist/collection/components/footer/footer.ios.css +6 -33
- package/dist/collection/components/footer/footer.js +65 -151
- package/dist/collection/components/footer/footer.md.css +0 -40
- package/dist/collection/components/grid/grid.css +0 -12
- package/dist/collection/components/grid/grid.js +9 -15
- package/dist/collection/components/header/header.ios.css +133 -178
- package/dist/collection/components/header/header.js +70 -202
- package/dist/collection/components/header/header.md.css +9 -199
- package/dist/collection/components/header/header.utils.js +13 -6
- package/dist/collection/components/img/img.js +34 -16
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +76 -164
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +30 -19
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
- package/dist/collection/components/input/input.ios.css +191 -247
- package/dist/collection/components/input/input.js +357 -340
- package/dist/collection/components/input/input.md.css +285 -234
- package/dist/collection/components/input-otp/input-otp.ios.css +60 -105
- package/dist/collection/components/input-otp/input-otp.js +432 -437
- package/dist/collection/components/input-otp/input-otp.md.css +60 -105
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +37 -60
- package/dist/collection/components/item/item.ios.css +80 -120
- package/dist/collection/components/item/item.js +113 -102
- package/dist/collection/components/item/item.md.css +79 -131
- package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
- package/dist/collection/components/item-divider/item-divider.js +23 -21
- package/dist/collection/components/item-divider/item-divider.md.css +0 -18
- package/dist/collection/components/item-group/item-group.ios.css +0 -12
- package/dist/collection/components/item-group/item-group.js +7 -13
- package/dist/collection/components/item-group/item-group.md.css +0 -12
- package/dist/collection/components/item-option/item-option.ios.css +29 -136
- package/dist/collection/components/item-option/item-option.js +56 -92
- package/dist/collection/components/item-option/item-option.md.css +29 -136
- package/dist/collection/components/item-options/item-options.ios.css +34 -77
- package/dist/collection/components/item-options/item-options.js +17 -20
- package/dist/collection/components/item-options/item-options.md.css +34 -77
- package/dist/collection/components/item-sliding/{item-sliding.native.css → item-sliding.css} +9 -84
- package/dist/collection/components/item-sliding/item-sliding.js +61 -441
- package/dist/collection/components/item-sliding/test/test.utils.js +0 -13
- package/dist/collection/components/label/label.ios.css +0 -18
- package/dist/collection/components/label/label.js +32 -15
- package/dist/collection/components/label/label.md.css +0 -18
- package/dist/collection/components/list/list.ios.css +14 -54
- package/dist/collection/components/list/list.js +19 -55
- package/dist/collection/components/list/list.md.css +16 -56
- package/dist/collection/components/list-header/list-header.ios.css +38 -82
- package/dist/collection/components/list-header/list-header.js +18 -11
- package/dist/collection/components/list-header/list-header.md.css +38 -82
- package/dist/collection/components/loading/loading.ios.css +1 -13
- package/dist/collection/components/loading/loading.js +143 -62
- package/dist/collection/components/loading/loading.md.css +1 -13
- package/dist/collection/components/menu/menu.ios.css +3 -15
- package/dist/collection/components/menu/menu.js +108 -71
- package/dist/collection/components/menu/menu.md.css +3 -15
- package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
- package/dist/collection/components/menu-button/menu-button.js +38 -45
- package/dist/collection/components/menu-button/menu-button.md.css +15 -49
- package/dist/collection/components/menu-toggle/menu-toggle.js +25 -21
- package/dist/collection/components/modal/animations/ios.enter.js +1 -1
- package/dist/collection/components/modal/animations/md.enter.js +1 -1
- package/dist/collection/components/modal/animations/sheet.js +2 -8
- package/dist/collection/components/modal/gestures/sheet.js +32 -86
- package/dist/collection/components/modal/gestures/swipe-to-close.js +15 -3
- package/dist/collection/components/modal/modal.ios.css +70 -178
- package/dist/collection/components/modal/modal.js +404 -272
- package/dist/collection/components/modal/modal.md.css +70 -178
- package/dist/collection/components/modal/safe-area-utils.js +6 -7
- package/dist/collection/components/modal/test/fixtures.js +3 -0
- package/dist/collection/components/nav/nav.css +1 -7
- package/dist/collection/components/nav/nav.js +72 -256
- package/dist/collection/components/nav/view-controller.js +7 -1
- package/dist/collection/components/nav-link/nav-link.js +21 -14
- package/dist/collection/components/note/note.ios.css +0 -12
- package/dist/collection/components/note/note.js +14 -11
- package/dist/collection/components/note/note.md.css +0 -12
- package/dist/collection/components/picker/picker.ios.css +3 -15
- package/dist/collection/components/picker/picker.js +403 -398
- package/dist/collection/components/picker/picker.md.css +3 -15
- package/dist/collection/components/picker-column/picker-column.css +5 -9
- package/dist/collection/components/picker-column/picker-column.js +418 -409
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
- package/dist/collection/components/picker-column-option/picker-column-option.js +38 -42
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -7
- package/dist/collection/components/popover/animations/ios.enter.js +1 -2
- package/dist/collection/components/popover/animations/md.enter.js +1 -2
- package/dist/collection/components/popover/popover.ios.css +2 -15
- package/dist/collection/components/popover/popover.js +313 -199
- package/dist/collection/components/popover/popover.md.css +2 -15
- package/dist/collection/components/popover/test/fixture.js +1 -0
- package/dist/collection/components/popover/utils.js +4 -6
- package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
- package/dist/collection/components/progress-bar/progress-bar.js +33 -65
- package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
- package/dist/collection/components/radio/radio.ios.css +102 -207
- package/dist/collection/components/radio/radio.js +108 -77
- package/dist/collection/components/radio/radio.md.css +102 -207
- package/dist/collection/components/radio-group/radio-group.ios.css +19 -43
- package/dist/collection/components/radio-group/radio-group.js +107 -113
- package/dist/collection/components/radio-group/radio-group.md.css +19 -43
- package/dist/collection/components/radio-group/test/fixtures.js +2 -0
- package/dist/collection/components/range/range.ios.css +85 -128
- package/dist/collection/components/range/range.js +303 -245
- package/dist/collection/components/range/range.md.css +85 -128
- package/dist/collection/components/refresher/refresher.ios.css +1 -14
- package/dist/collection/components/refresher/refresher.js +117 -88
- package/dist/collection/components/refresher/refresher.md.css +2 -15
- package/dist/collection/components/refresher-content/refresher-content.js +47 -31
- package/dist/collection/components/reorder/reorder.ios.css +0 -6
- package/dist/collection/components/reorder/reorder.js +7 -33
- package/dist/collection/components/reorder/reorder.md.css +0 -6
- package/dist/collection/components/reorder-group/reorder-group.css +0 -6
- package/dist/collection/components/reorder-group/reorder-group.js +47 -22
- package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
- package/dist/collection/components/ripple-effect/ripple-effect.js +17 -26
- package/dist/collection/components/route/route.js +39 -14
- package/dist/collection/components/route-redirect/route-redirect.js +31 -0
- package/dist/collection/components/router/router.js +37 -37
- package/dist/collection/components/router/utils/dom.js +25 -7
- package/dist/collection/components/router/utils/matching.js +7 -9
- package/dist/collection/components/router/utils/parser.js +1 -1
- package/dist/collection/components/router/utils/path.js +0 -1
- package/dist/collection/components/router-link/router-link.css +2 -8
- package/dist/collection/components/router-link/router-link.js +40 -19
- package/dist/collection/components/router-outlet/router-outlet.css +1 -7
- package/dist/collection/components/router-outlet/router-outlet.js +83 -25
- package/dist/collection/components/row/row.css +0 -16
- package/dist/collection/components/row/row.js +2 -9
- package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
- package/dist/collection/components/searchbar/searchbar.js +321 -380
- package/dist/collection/components/searchbar/searchbar.md.css +18 -56
- package/dist/collection/components/segment/segment.ios.css +2 -45
- package/dist/collection/components/segment/segment.js +126 -94
- package/dist/collection/components/segment/segment.md.css +2 -45
- package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
- package/dist/collection/components/segment-button/segment-button.js +49 -46
- package/dist/collection/components/segment-button/segment-button.md.css +107 -148
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
- package/dist/collection/components/segment-view/segment-view.js +28 -27
- package/dist/collection/components/segment-view/segment-view.md.css +0 -6
- package/dist/collection/components/select/select.ios.css +206 -351
- package/dist/collection/components/select/select.js +431 -444
- package/dist/collection/components/select/select.md.css +230 -383
- package/dist/collection/components/select-modal/select-modal.ios.css +45 -293
- package/dist/collection/components/select-modal/select-modal.js +37 -79
- package/dist/collection/components/select-modal/select-modal.md.css +43 -273
- package/dist/collection/components/select-modal/test/fixtures.js +8 -1
- package/dist/collection/components/select-option/select-option.js +48 -15
- package/dist/collection/components/select-popover/select-popover.ios.css +124 -188
- package/dist/collection/components/select-popover/select-popover.js +44 -37
- package/dist/collection/components/select-popover/select-popover.md.css +47 -228
- package/dist/collection/components/select-popover/test/fixtures.js +8 -1
- package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
- package/dist/collection/components/skeleton-text/skeleton-text.js +15 -15
- package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -78
- package/dist/collection/components/spinner/spinner.js +26 -55
- package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
- package/dist/collection/components/split-pane/split-pane.js +33 -28
- package/dist/collection/components/split-pane/split-pane.md.css +2 -20
- package/dist/collection/components/tab/tab.js +17 -10
- package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -86
- package/dist/collection/components/tab-bar/tab-bar.js +44 -190
- package/dist/collection/components/tab-bar/tab-bar.md.css +43 -86
- package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
- package/dist/collection/components/tab-button/tab-button.js +68 -74
- package/dist/collection/components/tab-button/tab-button.md.css +93 -137
- package/dist/collection/components/tabs/tabs.css +1 -7
- package/dist/collection/components/tabs/tabs.js +33 -23
- package/dist/collection/components/text/text.css +0 -6
- package/dist/collection/components/text/text.js +12 -7
- package/dist/collection/components/textarea/textarea.ios.css +221 -329
- package/dist/collection/components/textarea/textarea.js +302 -334
- package/dist/collection/components/textarea/textarea.md.css +231 -358
- package/dist/collection/components/thumbnail/thumbnail.css +0 -6
- package/dist/collection/components/thumbnail/thumbnail.js +2 -9
- package/dist/collection/components/title/title.ios.css +4 -32
- package/dist/collection/components/title/title.js +23 -13
- package/dist/collection/components/title/title.md.css +4 -39
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ios.css +45 -84
- package/dist/collection/components/toast/toast.js +232 -178
- package/dist/collection/components/toast/toast.md.css +45 -84
- package/dist/collection/components/toggle/toggle.ios.css +127 -247
- package/dist/collection/components/toggle/toggle.js +175 -177
- package/dist/collection/components/toggle/toggle.md.css +127 -245
- package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
- package/dist/collection/components/toolbar/toolbar.js +25 -222
- package/dist/collection/components/toolbar/toolbar.md.css +47 -90
- package/dist/collection/global/config.js +4 -6
- package/dist/collection/global/ionic-global.js +20 -242
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/animation/animation.js +3 -3
- package/dist/collection/utils/config.js +5 -4
- package/dist/collection/utils/focus-controller/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +5 -16
- package/dist/collection/utils/focus-visible.js +0 -22
- package/dist/collection/utils/forms/index.js +1 -1
- package/dist/collection/utils/forms/start-container-controller.js +132 -0
- package/dist/collection/utils/forms/validity.js +0 -31
- package/dist/collection/utils/framework-delegate.js +5 -9
- package/dist/collection/utils/gesture/gesture-controller.js +15 -8
- package/dist/collection/utils/gesture/index.js +10 -2
- package/dist/collection/utils/gesture/listener.js +1 -1
- package/dist/collection/utils/hardware-back-button.js +3 -18
- package/dist/collection/utils/helpers.js +5 -72
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
- package/dist/collection/utils/keyboard/keyboard-controller.js +6 -8
- package/dist/collection/utils/keyboard/keyboard.js +1 -1
- package/dist/collection/utils/logging/index.js +23 -4
- package/dist/collection/utils/media.js +0 -1
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +1 -2
- package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
- package/dist/collection/utils/menu-controller/index.js +1 -2
- package/dist/collection/utils/native/haptic.js +2 -3
- package/dist/collection/utils/native/keyboard.js +2 -2
- package/dist/collection/utils/native/status-bar.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +11 -13
- package/dist/collection/utils/overlays.js +45 -312
- package/dist/collection/utils/platform.js +4 -5
- package/dist/collection/utils/rtl/dir.js +1 -1
- package/dist/collection/utils/sanitization/index.js +2 -2
- package/dist/collection/utils/select-option-render.js +1 -2
- package/dist/collection/utils/slot-mutation-controller.js +1 -2
- package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
- package/dist/collection/utils/test/playwright/drag-element.js +11 -35
- package/dist/collection/utils/test/playwright/generator.js +25 -51
- package/dist/collection/utils/test/playwright/page/event-spy.js +11 -12
- package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -15
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +4 -27
- package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
- package/dist/collection/utils/test/press-keys.js +10 -17
- package/dist/collection/utils/theme.js +7 -26
- package/dist/collection/utils/transition/ios.transition.js +9 -14
- package/dist/collection/utils/transition/md.transition.js +3 -4
- package/dist/docs.json +524 -10028
- package/dist/esm/{animation-ChfHU0RG.js → animation-CGFdmGk9.js} +5 -5
- package/dist/esm/{app-globals-D1OOQlqq.js → app-globals-CYmMeGdU.js} +1 -1
- package/dist/esm/{button-active-CPYK0dNo.js → button-active--80YqSHA.js} +3 -3
- package/dist/esm/{capacitor-DG_4yVXz.js → capacitor-CFERIeaU.js} +1 -1
- package/dist/esm/{config-BwKpO3Is.js → config-DWCzVL3Y.js} +5 -4
- package/dist/esm/{dir-C53feagD.js → dir-B-FxiyeI.js} +1 -1
- package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
- package/dist/esm/{format-2WlZcMvG.js → format-Dcwga61t.js} +41 -31
- package/dist/esm/{framework-delegate-DO2QXccA.js → framework-delegate--ajhSeKH.js} +6 -10
- package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-TXPDHL13.js} +15 -8
- package/dist/esm/{haptic-BWlRCqa-.js → haptic-Cq4UAeka.js} +3 -4
- package/dist/esm/hardware-back-button-gLJHMX_F.js +115 -0
- package/dist/esm/{helpers-DfF5_wJc.js → helpers-DexiPLIC.js} +7 -73
- package/dist/esm/{index-BSDDOljg.js → index-8s8kZKJ7.js} +5 -5
- package/dist/esm/{index-DNY2GOUg.js → index-BCgUwrV0.js} +3 -4
- package/dist/esm/{index-B4Kq2YNk.js → index-BvabGprD.js} +1 -2
- package/dist/esm/{index-Mq5pCWmZ.js → index-CKM1DdGm.js} +3 -3
- package/dist/esm/{index-C0EQceqV.js → index-ChhhtsGZ.js} +34 -66
- package/dist/esm/{index-7eS8XtuU.js → index-CumkqGQF.js} +12 -13
- package/dist/esm/{index-CfgBF1SE.js → index-DppOcPFQ.js} +10 -4
- package/dist/esm/index-ZjP4CjeZ.js +7 -0
- package/dist/esm/{index-taYRjZGp.js → index-_Za5VB9w.js} +2 -2
- package/dist/esm/index.js +17 -16
- package/dist/esm/{input-shims-tZfqB5a5.js → input-shims-BB0AKb_k.js} +11 -14
- package/dist/esm/input.utils-B1ValN_N.js +33 -0
- package/dist/esm/ion-accordion_2.entry.js +378 -382
- package/dist/esm/ion-action-sheet.entry.js +178 -86
- package/dist/esm/ion-alert.entry.js +250 -125
- package/dist/esm/ion-app_8.entry.js +460 -607
- package/dist/esm/ion-avatar_3.entry.js +19 -125
- package/dist/esm/ion-back-button.entry.js +64 -49
- package/dist/esm/ion-backdrop.entry.js +23 -22
- package/dist/esm/ion-breadcrumb_2.entry.js +211 -169
- package/dist/esm/ion-button_2.entry.js +152 -117
- package/dist/esm/ion-card_5.entry.js +109 -79
- package/dist/esm/ion-checkbox.entry.js +163 -129
- package/dist/esm/ion-chip.entry.js +21 -56
- package/dist/esm/ion-col_3.entry.js +186 -61
- package/dist/esm/ion-datetime-button.entry.js +255 -247
- package/dist/esm/ion-datetime.entry.js +2768 -0
- package/dist/esm/ion-fab_3.entry.js +154 -112
- package/dist/esm/ion-img.entry.js +34 -16
- package/dist/esm/ion-infinite-scroll_2.entry.js +108 -156
- package/dist/esm/ion-input-otp.entry.js +435 -437
- package/dist/esm/ion-input-password-toggle.entry.js +40 -64
- package/dist/esm/ion-input.entry.js +349 -309
- package/dist/esm/ion-item-option_3.entry.js +136 -511
- package/dist/esm/ion-item_8.entry.js +217 -189
- package/dist/esm/ion-loading.entry.js +151 -68
- package/dist/esm/ion-menu_3.entry.js +181 -137
- package/dist/esm/ion-modal.entry.js +528 -458
- package/dist/esm/ion-nav_2.entry.js +103 -163
- package/dist/esm/ion-picker-column-option.entry.js +39 -39
- package/dist/esm/ion-picker-column.entry.js +421 -409
- package/dist/esm/ion-picker.entry.js +405 -400
- package/dist/esm/ion-popover.entry.js +323 -211
- package/dist/esm/ion-progress-bar.entry.js +35 -47
- package/dist/esm/ion-radio_2.entry.js +216 -161
- package/dist/esm/ion-range.entry.js +307 -249
- package/dist/esm/ion-refresher_2.entry.js +174 -121
- package/dist/esm/ion-reorder_2.entry.js +59 -53
- package/dist/esm/ion-ripple-effect.entry.js +18 -26
- package/dist/esm/ion-route_4.entry.js +178 -75
- package/dist/esm/ion-searchbar.entry.js +308 -331
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +28 -27
- package/dist/esm/ion-segment_2.entry.js +177 -141
- package/dist/esm/ion-select-modal.entry.js +49 -69
- package/dist/esm/ion-select_3.entry.js +507 -429
- package/dist/esm/ion-spinner.entry.js +28 -36
- package/dist/esm/ion-split-pane.entry.js +34 -25
- package/dist/esm/ion-tab-bar_2.entry.js +115 -178
- package/dist/esm/ion-tab_2.entry.js +54 -29
- package/dist/esm/ion-text.entry.js +13 -7
- package/dist/esm/ion-textarea.entry.js +302 -308
- package/dist/esm/ion-toast.entry.js +243 -148
- package/dist/esm/ion-toggle.entry.js +184 -187
- package/dist/esm/ionic-global-BVB7BrLT.js +151 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-C3r-0w96.js → ios.transition-BdhybwLl.js} +14 -20
- package/dist/esm/{item-multiple-inputs-C6onMFOo.js → item-multiple-inputs-rU8VaNNg.js} +1 -1
- package/dist/esm/{keyboard-BzbtCDwZ.js → keyboard-Cj8mLJeq.js} +4 -5
- package/dist/esm/{keyboard-DYGmALa7.js → keyboard-DAF8GNJ9.js} +3 -3
- package/dist/esm/keyboard-controller-DEwoa1ev.js +165 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-CPHOF5T9.js → md.transition-B5lqKGCs.js} +8 -10
- package/dist/esm/{overlay-control-label-CODBQrPj.js → overlay-control-label-BSQPZ79H.js} +11 -13
- package/dist/esm/{overlays-C1NQMs9y.js → overlays-CjWwtvf1.js} +57 -333
- package/dist/esm/{select-option-render-BlKZ2H83.js → select-option-render-C4m76VGH.js} +3 -4
- package/dist/esm/slot-mutation-controller-u741eD3Z.js +393 -0
- package/dist/esm/{status-tap-BueE8Coq.js → status-tap-DpLhkDWs.js} +3 -4
- package/dist/esm/{swipe-back-qmvTRnSq.js → swipe-back-cz4-lyG3.js} +5 -6
- package/dist/esm/theme-byZM6qHV.js +48 -0
- package/dist/esm/validity-DJztqcrH.js +17 -0
- package/dist/html.html-data.json +146 -2713
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-06533d51.entry.js +4 -0
- package/dist/ionic/p-08443c08.entry.js +4 -0
- package/dist/ionic/p-0FNc80PN.js +4 -0
- package/dist/ionic/p-141f5b47.entry.js +4 -0
- package/dist/ionic/p-14a5e8f5.entry.js +4 -0
- package/dist/ionic/p-19269e04.entry.js +4 -0
- package/dist/ionic/p-19abbc33.entry.js +4 -0
- package/dist/ionic/p-1edf0573.entry.js +4 -0
- package/dist/ionic/p-40424a88.entry.js +4 -0
- package/dist/ionic/p-4204184c.entry.js +4 -0
- package/dist/ionic/p-4bc3ecdb.entry.js +4 -0
- package/dist/ionic/p-4eOQC00Z.js +4 -0
- package/dist/ionic/p-4eed9ca1.entry.js +4 -0
- package/dist/ionic/p-53bac1c9.entry.js +4 -0
- package/dist/ionic/p-5506caeb.entry.js +4 -0
- package/dist/ionic/p-5521dc1f.entry.js +4 -0
- package/dist/ionic/p-5993a77f.entry.js +4 -0
- package/dist/ionic/p-5c3626de.entry.js +4 -0
- package/dist/ionic/p-5d3b411c.entry.js +4 -0
- package/dist/ionic/p-60576951.entry.js +4 -0
- package/dist/ionic/p-7116e558.entry.js +4 -0
- package/dist/ionic/p-711a8319.entry.js +4 -0
- package/dist/ionic/p-71419a55.entry.js +4 -0
- package/dist/ionic/p-79325ffe.entry.js +4 -0
- package/dist/ionic/p-7bb3e957.entry.js +4 -0
- package/dist/ionic/p-82525fb0.entry.js +4 -0
- package/dist/ionic/p-84a38904.entry.js +4 -0
- package/dist/ionic/p-865fa114.entry.js +4 -0
- package/dist/ionic/p-8e1d9e3a.entry.js +4 -0
- package/dist/ionic/p-8f204f1e.entry.js +4 -0
- package/dist/ionic/p-9055e897.entry.js +4 -0
- package/dist/ionic/p-9658e083.entry.js +4 -0
- package/dist/ionic/p-988baee1.entry.js +4 -0
- package/dist/ionic/p-9nmHvEvw.js +4 -0
- package/dist/ionic/p-B-FxiyeI.js +4 -0
- package/dist/ionic/p-BB0LlG4y.js +4 -0
- package/dist/ionic/p-BMPN55of.js +4 -0
- package/dist/ionic/p-BQ8oNV0v.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BhamHSw3.js +4 -0
- package/dist/ionic/p-BjvtSsVI.js +4 -0
- package/dist/ionic/p-BkfAWuv6.js +4 -0
- package/dist/ionic/p-BmVRXR1y.js +4 -0
- package/dist/ionic/p-BvabGprD.js +4 -0
- package/{components/p-Va26YR7l.js → dist/ionic/p-BwIp10KV.js} +1 -1
- package/dist/ionic/p-C-94tAim.js +4 -0
- package/dist/ionic/p-C6eME8Ey.js +4 -0
- package/dist/ionic/p-CIGNaXM1.js +4 -0
- package/dist/ionic/p-CKUuSnDR.js +4 -0
- package/dist/ionic/p-CMRtMbJc.js +4 -0
- package/dist/ionic/p-CPcPmkGv.js +4 -0
- package/dist/ionic/p-CQ_4TirR.js +4 -0
- package/dist/ionic/p-CaRuIadB.js +4 -0
- package/dist/ionic/p-Cdjxf_yg.js +4 -0
- package/dist/ionic/p-ChhhtsGZ.js +5 -0
- package/dist/ionic/p-CmKf4pgI.js +4 -0
- package/dist/ionic/p-D5t_-oMk.js +4 -0
- package/dist/ionic/p-D94b61er.js +4 -0
- package/dist/ionic/p-DAztxQR0.js +4 -0
- package/dist/ionic/p-DCI3rXQo.js +4 -0
- package/dist/ionic/p-DDhtUaaA.js +4 -0
- package/dist/ionic/p-DJztqcrH.js +4 -0
- package/dist/ionic/p-DWCzVL3Y.js +4 -0
- package/dist/ionic/p-DkUB-ROc.js +4 -0
- package/dist/ionic/p-Dn0mqQ_R.js +4 -0
- package/dist/ionic/p-I3In7hMC.js +4 -0
- package/dist/ionic/p-T71k3C35.js +4 -0
- package/dist/ionic/p-TXPDHL13.js +4 -0
- package/dist/ionic/p-ZjP4CjeZ.js +4 -0
- package/dist/ionic/p-a71232d6.entry.js +4 -0
- package/dist/ionic/p-a73d8742.entry.js +4 -0
- package/dist/ionic/p-a8421d18.entry.js +4 -0
- package/dist/ionic/p-a8c2c343.entry.js +4 -0
- package/dist/ionic/p-acf0a6af.entry.js +4 -0
- package/dist/ionic/p-ad98e3ff.entry.js +4 -0
- package/dist/ionic/p-af5166f5.entry.js +4 -0
- package/dist/ionic/p-bc2bad5f.entry.js +4 -0
- package/dist/ionic/p-be08d500.entry.js +4 -0
- package/dist/ionic/p-be9a4f51.entry.js +4 -0
- package/dist/ionic/p-byZM6qHV.js +4 -0
- package/dist/ionic/p-ccc5044d.entry.js +4 -0
- package/dist/ionic/p-ce32912b.entry.js +4 -0
- package/dist/ionic/p-ded69ceb.entry.js +4 -0
- package/dist/ionic/p-e0c6e31e.entry.js +4 -0
- package/dist/ionic/p-e1e5b507.entry.js +4 -0
- package/dist/ionic/p-e8c3e08a.entry.js +4 -0
- package/dist/ionic/p-ed5d540d.entry.js +4 -0
- package/dist/ionic/p-f046aa37.entry.js +4 -0
- package/dist/ionic/p-f2802440.entry.js +4 -0
- package/dist/ionic/p-f402f5a4.entry.js +4 -0
- package/dist/ionic/p-fe1bfbcf.entry.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +3 -6
- package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
- package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
- package/dist/types/components/alert/alert-interface.d.ts +7 -3
- package/dist/types/components/alert/alert.d.ts +2 -3
- package/dist/types/components/app/app.d.ts +5 -4
- package/dist/types/components/avatar/avatar.d.ts +0 -32
- package/dist/types/components/back-button/back-button.d.ts +1 -2
- package/dist/types/components/backdrop/backdrop.d.ts +0 -4
- package/dist/types/components/badge/badge.d.ts +1 -34
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +8 -23
- package/dist/types/components/buttons/buttons.d.ts +1 -5
- package/dist/types/components/card/card.d.ts +1 -8
- package/dist/types/components/card-content/card-content.d.ts +1 -2
- package/dist/types/components/card-header/card-header.d.ts +2 -3
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
- package/dist/types/components/card-title/card-title.d.ts +1 -2
- package/dist/types/components/checkbox/checkbox.d.ts +4 -14
- package/dist/types/components/chip/chip.d.ts +1 -26
- package/dist/types/components/col/col.d.ts +5 -52
- package/dist/types/components/content/content.d.ts +0 -3
- package/dist/types/components/datetime/datetime.d.ts +1 -26
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
- package/dist/types/components/fab/fab.d.ts +0 -4
- package/dist/types/components/fab-button/fab-button.d.ts +3 -5
- package/dist/types/components/fab-list/fab-list.d.ts +0 -4
- package/dist/types/components/footer/footer.d.ts +3 -20
- package/dist/types/components/grid/grid.d.ts +0 -4
- package/dist/types/components/header/header.d.ts +3 -26
- package/dist/types/components/header/header.utils.d.ts +5 -4
- package/dist/types/components/img/img.d.ts +1 -2
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
- package/dist/types/components/input/input.d.ts +17 -40
- package/dist/types/components/input-otp/input-otp.d.ts +0 -37
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
- package/dist/types/components/item/item.d.ts +4 -11
- package/dist/types/components/item-divider/item-divider.d.ts +1 -2
- package/dist/types/components/item-group/item-group.d.ts +0 -4
- package/dist/types/components/item-option/item-option.d.ts +1 -18
- package/dist/types/components/item-options/item-options.d.ts +0 -4
- package/dist/types/components/item-sliding/item-sliding.d.ts +1 -47
- package/dist/types/components/item-sliding/test/test.utils.d.ts +0 -13
- package/dist/types/components/label/label.d.ts +1 -2
- package/dist/types/components/list/list.d.ts +1 -15
- package/dist/types/components/list-header/list-header.d.ts +1 -2
- package/dist/types/components/loading/loading-interface.d.ts +7 -2
- package/dist/types/components/loading/loading.d.ts +2 -3
- package/dist/types/components/menu/menu.d.ts +0 -3
- package/dist/types/components/menu-button/menu-button.d.ts +1 -3
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +16 -4
- package/dist/types/components/modal/modal.d.ts +12 -15
- package/dist/types/components/nav/nav-interface.d.ts +1 -10
- package/dist/types/components/nav/nav.d.ts +3 -27
- package/dist/types/components/nav-link/nav-link.d.ts +0 -4
- package/dist/types/components/note/note.d.ts +1 -2
- package/dist/types/components/picker/picker.d.ts +1 -2
- package/dist/types/components/picker-column/picker-column.d.ts +1 -2
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
- package/dist/types/components/popover/popover-interface.d.ts +6 -3
- package/dist/types/components/popover/popover.d.ts +5 -6
- package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
- package/dist/types/components/radio/radio.d.ts +1 -2
- package/dist/types/components/radio-group/radio-group.d.ts +0 -12
- package/dist/types/components/range/range.d.ts +1 -2
- package/dist/types/components/refresher/refresher.d.ts +1 -2
- package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
- package/dist/types/components/reorder/reorder.d.ts +0 -9
- package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
- package/dist/types/components/route/route.d.ts +1 -5
- package/dist/types/components/router/router.d.ts +0 -4
- package/dist/types/components/router-link/router-link.d.ts +0 -4
- package/dist/types/components/router-outlet/router-outlet.d.ts +8 -4
- package/dist/types/components/row/row.d.ts +0 -4
- package/dist/types/components/searchbar/searchbar.d.ts +11 -57
- package/dist/types/components/segment/segment.d.ts +1 -2
- package/dist/types/components/segment-button/segment-button.d.ts +1 -2
- package/dist/types/components/select/select.d.ts +26 -55
- package/dist/types/components/select-modal/select-modal.d.ts +0 -8
- package/dist/types/components/select-option/select-option.d.ts +4 -7
- package/dist/types/components/select-popover/select-popover.d.ts +0 -3
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
- package/dist/types/components/spinner/spinner.d.ts +0 -15
- package/dist/types/components/split-pane/split-pane.d.ts +0 -4
- package/dist/types/components/tab/tab.d.ts +0 -4
- package/dist/types/components/tab-bar/tab-bar-interface.d.ts +0 -1
- package/dist/types/components/tab-bar/tab-bar.d.ts +3 -41
- package/dist/types/components/tab-button/tab-button.d.ts +1 -12
- package/dist/types/components/tabs/tabs.d.ts +0 -3
- package/dist/types/components/text/text.d.ts +1 -2
- package/dist/types/components/textarea/textarea.d.ts +16 -58
- package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
- package/dist/types/components/title/title.d.ts +0 -4
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +7 -3
- package/dist/types/components/toast/toast.d.ts +2 -19
- package/dist/types/components/toggle/toggle.d.ts +1 -15
- package/dist/types/components/toolbar/toolbar.d.ts +3 -43
- package/dist/types/components.d.ts +263 -2171
- package/dist/types/global/ionic-global.d.ts +2 -28
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -4
- package/dist/types/utils/config.d.ts +3 -114
- package/dist/types/utils/focus-trap.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +0 -13
- package/dist/types/utils/forms/index.d.ts +1 -1
- package/dist/types/utils/forms/start-container-controller.d.ts +34 -0
- package/dist/types/utils/forms/validity.d.ts +0 -7
- package/dist/types/utils/helpers.d.ts +0 -22
- package/dist/types/utils/logging/index.d.ts +2 -1
- package/dist/types/utils/overlay-control-label.d.ts +9 -11
- package/dist/types/utils/overlays-interface.d.ts +1 -31
- package/dist/types/utils/overlays.d.ts +12 -10
- package/dist/types/utils/test/playwright/drag-element.d.ts +3 -16
- package/dist/types/utils/test/playwright/generator.d.ts +2 -31
- package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
- package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
- package/dist/types/utils/theme.d.ts +0 -9
- package/hydrate/index.js +10577 -12217
- package/hydrate/index.mjs +10577 -12217
- package/package.json +56 -17
- package/components/ion-divider.d.ts +0 -11
- package/components/ion-divider.js +0 -4
- package/components/ion-gallery-item.d.ts +0 -11
- package/components/ion-gallery-item.js +0 -4
- package/components/ion-gallery.d.ts +0 -11
- package/components/ion-gallery.js +0 -4
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -4
- package/components/ion-picker-legacy.d.ts +0 -11
- package/components/ion-picker-legacy.js +0 -4
- package/components/p-6hUZIMBp.js +0 -4
- package/components/p-9mfpAwJh.js +0 -4
- package/components/p-B2aAAEfp.js +0 -4
- package/components/p-B2lpqDWK.js +0 -4
- package/components/p-BDoEcs72.js +0 -4
- package/components/p-BDqjX7Z_.js +0 -4
- package/components/p-BE21dB_a.js +0 -4
- package/components/p-BFpXpzD-.js +0 -4
- package/components/p-BTEOs1at.js +0 -4
- package/components/p-BUNIyvqe.js +0 -4
- package/components/p-BYSs-jZz.js +0 -4
- package/components/p-BYoGvMgh.js +0 -4
- package/components/p-BYrCPOBM.js +0 -4
- package/components/p-BbVhJs-a.js +0 -4
- package/components/p-BhRXIcSN.js +0 -4
- package/components/p-BjW8SOqw.js +0 -4
- package/components/p-BsiHrVPa.js +0 -4
- package/components/p-BwKpO3Is.js +0 -4
- package/components/p-Bz8jnuiy.js +0 -4
- package/components/p-C-Ea1l5K.js +0 -4
- package/components/p-C3X10Pc6.js +0 -4
- package/components/p-C53feagD.js +0 -4
- package/components/p-CA4M5WkT.js +0 -4
- package/components/p-CH6jbAEI.js +0 -4
- package/components/p-CJE5t2qs.js +0 -4
- package/components/p-CODBQrPj.js +0 -4
- package/components/p-CUbb1HkU.js +0 -4
- package/components/p-CVYFPBs-.js +0 -4
- package/components/p-CVoLDZ7z.js +0 -4
- package/components/p-CZrORZXS.js +0 -4
- package/components/p-Cc3oC60a.js +0 -4
- package/components/p-Cl0B-RWe.js +0 -4
- package/components/p-CmoUesXp.js +0 -4
- package/components/p-CyNW8ypn.js +0 -4
- package/components/p-CzxyxYID.js +0 -4
- package/components/p-D0Iqw6OZ.js +0 -4
- package/components/p-D0LT3Z3i.js +0 -4
- package/components/p-D1t981Ih.js +0 -4
- package/components/p-D6tqrIYY.js +0 -4
- package/components/p-D9C5yWpF.js +0 -4
- package/components/p-DCRXgAoM.js +0 -4
- package/components/p-DL5wyRub.js +0 -4
- package/components/p-DQlXUUDh.js +0 -4
- package/components/p-DRWN7QM2.js +0 -4
- package/components/p-DaJxRxSQ.js +0 -4
- package/components/p-DbmfFkd1.js +0 -4
- package/components/p-Dhi5xtNS.js +0 -4
- package/components/p-DnwLgh9U.js +0 -4
- package/components/p-DoZB3DcY.js +0 -4
- package/components/p-DrrpZB81.js +0 -4
- package/components/p-DrzWRqnG.js +0 -4
- package/components/p-DylrHLJF.js +0 -4
- package/components/p-Dypq4kXE.js +0 -4
- package/components/p-DzeMJvWL.js +0 -4
- package/components/p-Dzk4Tr0X.js +0 -4
- package/components/p-Rkm2AOZ2.js +0 -4
- package/components/p-UYngqo1f.js +0 -4
- package/components/p-asUhrzOB.js +0 -4
- package/components/p-fIOYmaqA.js +0 -4
- package/components/p-jlwpz7Ms.js +0 -4
- package/components/p-kInyVu79.js +0 -4
- package/components/p-miSYSxcc.js +0 -4
- package/components/p-paDbTUL9.js +0 -4
- package/components/p-vXpMhGrs.js +0 -4
- package/components/p-znZTPd7u.js +0 -4
- package/css/ionic/bundle.ionic.css +0 -1
- package/css/ionic/bundle.ionic.css.map +0 -1
- package/css/ionic/core.ionic.css +0 -1
- package/css/ionic/core.ionic.css.map +0 -1
- package/css/ionic/global.bundle.ionic.css +0 -1
- package/css/ionic/global.bundle.ionic.css.map +0 -1
- package/css/ionic/ionic-swiper.ionic.css +0 -1
- package/css/ionic/ionic-swiper.ionic.css.map +0 -1
- package/css/ionic/link.ionic.css +0 -1
- package/css/ionic/link.ionic.css.map +0 -1
- package/css/ionic/structure.ionic.css +0 -1
- package/css/ionic/structure.ionic.css.map +0 -1
- package/css/ionic/typography.ionic.css +0 -1
- package/css/ionic/typography.ionic.css.map +0 -1
- package/css/ionic/utils.bundle.ionic.css +0 -1
- package/css/ionic/utils.bundle.ionic.css.map +0 -1
- package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
- package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
- package/dist/cjs/caret-right-CRCgv98E.js +0 -8
- package/dist/cjs/clear-button-press-controller-2hAy_qdm.js +0 -45
- package/dist/cjs/input.utils-CYZZsbdf.js +0 -150
- package/dist/cjs/ion-datetime_3.cjs.entry.js +0 -3242
- package/dist/cjs/ion-divider.cjs.entry.js +0 -51
- package/dist/cjs/ion-gallery-item.cjs.entry.js +0 -59
- package/dist/cjs/ion-gallery.cjs.entry.js +0 -607
- package/dist/cjs/ionic-global-DvEcO0tQ.js +0 -519
- package/dist/cjs/list-a-7GSA6K.js +0 -8
- package/dist/cjs/notch-controller-CFlPw7ER.js +0 -155
- package/dist/cjs/scroll-hide-controller-DAf_DwKc.js +0 -345
- package/dist/cjs/validity-QmuwEptc.js +0 -51
- package/dist/cjs/x-BTF99yFH.js +0 -8
- package/dist/collection/components/accordion/accordion.ionic.css +0 -201
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
- package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -494
- package/dist/collection/components/alert/alert.ionic.css +0 -787
- package/dist/collection/components/avatar/avatar.ionic.css +0 -385
- package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
- package/dist/collection/components/badge/badge.ionic.css +0 -272
- package/dist/collection/components/button/button.ionic.css +0 -644
- package/dist/collection/components/buttons/buttons.ionic.css +0 -97
- package/dist/collection/components/card/card.ionic.css +0 -144
- package/dist/collection/components/card-content/card-content.ionic.css +0 -89
- package/dist/collection/components/card-header/card-header.ionic.css +0 -85
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
- package/dist/collection/components/checkbox/checkbox.ionic.css +0 -543
- package/dist/collection/components/chip/chip.ionic.css +0 -217
- package/dist/collection/components/datetime/datetime.ionic.css +0 -703
- package/dist/collection/components/divider/divider.ionic.css +0 -148
- package/dist/collection/components/divider/divider.ios.css +0 -87
- package/dist/collection/components/divider/divider.js +0 -94
- package/dist/collection/components/divider/divider.md.css +0 -87
- package/dist/collection/components/footer/footer-interface.js +0 -1
- package/dist/collection/components/gallery/gallery-constants.js +0 -12
- package/dist/collection/components/gallery/gallery-interface.js +0 -1
- package/dist/collection/components/gallery/gallery.css +0 -15
- package/dist/collection/components/gallery/gallery.js +0 -679
- package/dist/collection/components/gallery/test/utils.js +0 -100
- package/dist/collection/components/gallery-item/gallery-item.css +0 -49
- package/dist/collection/components/gallery-item/gallery-item.js +0 -99
- package/dist/collection/components/header/header-interface.js +0 -1
- package/dist/collection/components/header/header.ionic.css +0 -250
- package/dist/collection/components/input/input.ionic.css +0 -891
- package/dist/collection/components/input-otp/input-otp.ionic.css +0 -371
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
- package/dist/collection/components/item/item.ionic.css +0 -496
- package/dist/collection/components/item-option/item-option.ionic.css +0 -277
- package/dist/collection/components/item-options/item-options.ionic.css +0 -221
- package/dist/collection/components/item-sliding/item-sliding.ionic.css +0 -211
- package/dist/collection/components/list/list.ionic.css +0 -212
- package/dist/collection/components/list-header/list-header.ionic.css +0 -190
- package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
- package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
- package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
- package/dist/collection/components/modal/modal.ionic.css +0 -255
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
- package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
- package/dist/collection/components/picker-legacy/picker.ios.css +0 -312
- package/dist/collection/components/picker-legacy/picker.js +0 -891
- package/dist/collection/components/picker-legacy/picker.md.css +0 -299
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -243
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -234
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
- package/dist/collection/components/popover/popover.ionic.css +0 -290
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
- package/dist/collection/components/radio/radio.ionic.css +0 -422
- package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
- package/dist/collection/components/range/range.ionic.css +0 -567
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
- package/dist/collection/components/searchbar/searchbar.ionic.css +0 -622
- package/dist/collection/components/segment/segment.ionic.css +0 -115
- package/dist/collection/components/segment-button/segment-button.ionic.css +0 -352
- package/dist/collection/components/select/select.ionic.css +0 -809
- package/dist/collection/components/select-modal/select-modal.ionic.css +0 -257
- package/dist/collection/components/select-popover/select-popover.ionic.css +0 -255
- package/dist/collection/components/spinner/spinner.native.css +0 -199
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -249
- package/dist/collection/components/tab-button/tab-button.ionic.css +0 -373
- package/dist/collection/components/textarea/textarea.ionic.css +0 -898
- package/dist/collection/components/title/title.ionic.css +0 -127
- package/dist/collection/components/toast/toast.ionic.css +0 -394
- package/dist/collection/components/toggle/toggle.ionic.css +0 -512
- package/dist/collection/components/toolbar/test/image.svg +0 -1
- package/dist/collection/components/toolbar/toolbar.ionic.css +0 -249
- package/dist/collection/utils/css-value-validation.js +0 -39
- package/dist/collection/utils/forms/clear-button-press-controller.js +0 -40
- package/dist/collection/utils/scroll-hide-controller.js +0 -178
- package/dist/esm/caret-down-D1t981Ih.js +0 -6
- package/dist/esm/caret-left-fIOYmaqA.js +0 -6
- package/dist/esm/caret-right-BYSs-jZz.js +0 -6
- package/dist/esm/clear-button-press-controller-C79TPm5p.js +0 -43
- package/dist/esm/input.utils-fs4B7WL5.js +0 -147
- package/dist/esm/ion-datetime_3.entry.js +0 -3238
- package/dist/esm/ion-divider.entry.js +0 -49
- package/dist/esm/ion-gallery-item.entry.js +0 -57
- package/dist/esm/ion-gallery.entry.js +0 -605
- package/dist/esm/ionic-global-CEwbmRLz.js +0 -508
- package/dist/esm/list-Dhi5xtNS.js +0 -6
- package/dist/esm/notch-controller-CsbpmbOz.js +0 -153
- package/dist/esm/scroll-hide-controller-CfbtPBWv.js +0 -342
- package/dist/esm/theme-DaJxRxSQ.js +0 -67
- package/dist/esm/validity-BjW8SOqw.js +0 -48
- package/dist/esm/x-BDqjX7Z_.js +0 -6
- package/dist/ionic/p--sroV-k-.js +0 -4
- package/dist/ionic/p-00731d20.entry.js +0 -4
- package/dist/ionic/p-03c20a50.entry.js +0 -4
- package/dist/ionic/p-03ec6673.entry.js +0 -4
- package/dist/ionic/p-0405ec57.entry.js +0 -4
- package/dist/ionic/p-04f16322.entry.js +0 -4
- package/dist/ionic/p-09123f89.entry.js +0 -4
- package/dist/ionic/p-15028853.entry.js +0 -4
- package/dist/ionic/p-16c5db90.entry.js +0 -4
- package/dist/ionic/p-1d1dfb68.entry.js +0 -4
- package/dist/ionic/p-231572a0.entry.js +0 -4
- package/dist/ionic/p-2740db6e.entry.js +0 -4
- package/dist/ionic/p-2a6d4601.entry.js +0 -4
- package/dist/ionic/p-2d8fe33c.entry.js +0 -4
- package/dist/ionic/p-2dbc50d9.entry.js +0 -4
- package/dist/ionic/p-32d3095c.entry.js +0 -4
- package/dist/ionic/p-356cd619.entry.js +0 -4
- package/dist/ionic/p-391bdb60.entry.js +0 -4
- package/dist/ionic/p-3b2ab5b4.entry.js +0 -4
- package/dist/ionic/p-4e3e750a.entry.js +0 -4
- package/dist/ionic/p-4fee0df6.entry.js +0 -4
- package/dist/ionic/p-547d010c.entry.js +0 -4
- package/dist/ionic/p-54895118.entry.js +0 -4
- package/dist/ionic/p-6163d04d.entry.js +0 -4
- package/dist/ionic/p-679c1448.entry.js +0 -4
- package/dist/ionic/p-6de524e5.entry.js +0 -4
- package/dist/ionic/p-764d7ea2.entry.js +0 -4
- package/dist/ionic/p-7k7Q1A38.js +0 -4
- package/dist/ionic/p-81BMEE8Q.js +0 -4
- package/dist/ionic/p-8d6d7acb.entry.js +0 -4
- package/dist/ionic/p-96732fe2.entry.js +0 -4
- package/dist/ionic/p-96c4c1b9.entry.js +0 -4
- package/dist/ionic/p-9745f518.entry.js +0 -4
- package/dist/ionic/p-9a40af3c.entry.js +0 -4
- package/dist/ionic/p-9e725104.entry.js +0 -4
- package/dist/ionic/p-B4Kq2YNk.js +0 -4
- package/dist/ionic/p-BDqjX7Z_.js +0 -4
- package/dist/ionic/p-BTEOs1at.js +0 -4
- package/dist/ionic/p-BYSs-jZz.js +0 -4
- package/dist/ionic/p-BbWo-T8F.js +0 -4
- package/dist/ionic/p-BjW8SOqw.js +0 -4
- package/dist/ionic/p-Bvz8PHo5.js +0 -4
- package/dist/ionic/p-BwKpO3Is.js +0 -4
- package/dist/ionic/p-C0EQceqV.js +0 -5
- package/dist/ionic/p-C1_a9uRb.js +0 -4
- package/dist/ionic/p-C53feagD.js +0 -4
- package/dist/ionic/p-C6WD6qSF.js +0 -4
- package/dist/ionic/p-C7urd_wE.js +0 -4
- package/dist/ionic/p-CCgRIJJv.js +0 -4
- package/dist/ionic/p-CEkwLb3L.js +0 -4
- package/dist/ionic/p-CGFf6My7.js +0 -4
- package/dist/ionic/p-CLUwRxij.js +0 -4
- package/dist/ionic/p-CODBQrPj.js +0 -4
- package/dist/ionic/p-CP_sVwEm.js +0 -4
- package/dist/ionic/p-CSMWpRc0.js +0 -4
- package/dist/ionic/p-CYYo93al.js +0 -4
- package/dist/ionic/p-Cipl19Qe.js +0 -4
- package/dist/ionic/p-Cl0B-RWe.js +0 -4
- package/dist/ionic/p-CnIzWLAn.js +0 -4
- package/dist/ionic/p-Cvvva6Z7.js +0 -4
- package/dist/ionic/p-D1t981Ih.js +0 -4
- package/dist/ionic/p-DINFwXlp.js +0 -4
- package/dist/ionic/p-DIvCXVmD.js +0 -4
- package/dist/ionic/p-DTsDGZPd.js +0 -4
- package/dist/ionic/p-DaJxRxSQ.js +0 -4
- package/dist/ionic/p-Dhi5xtNS.js +0 -4
- package/dist/ionic/p-DtQgCTtW.js +0 -4
- package/dist/ionic/p-DuRx6DeQ.js +0 -4
- package/dist/ionic/p-YGLqXqFd.js +0 -4
- package/dist/ionic/p-YIsE5bNG.js +0 -4
- package/dist/ionic/p-a61c2ace.entry.js +0 -4
- package/dist/ionic/p-abb516e3.entry.js +0 -4
- package/dist/ionic/p-b54edee6.entry.js +0 -4
- package/dist/ionic/p-c076ac5c.entry.js +0 -4
- package/dist/ionic/p-c4ff25cb.entry.js +0 -4
- package/dist/ionic/p-c7279756.entry.js +0 -4
- package/dist/ionic/p-c7ebed50.entry.js +0 -4
- package/dist/ionic/p-cd0037e4.entry.js +0 -4
- package/dist/ionic/p-d261938d.entry.js +0 -4
- package/dist/ionic/p-d33dfc12.entry.js +0 -4
- package/dist/ionic/p-d7764330.entry.js +0 -4
- package/dist/ionic/p-defb23a2.entry.js +0 -4
- package/dist/ionic/p-df642ef5.entry.js +0 -4
- package/dist/ionic/p-e2a35249.entry.js +0 -4
- package/dist/ionic/p-e2b952ef.entry.js +0 -4
- package/dist/ionic/p-e77cfd1e.entry.js +0 -4
- package/dist/ionic/p-ecb9d3d3.entry.js +0 -4
- package/dist/ionic/p-efd13adf.entry.js +0 -4
- package/dist/ionic/p-f0904c1d.entry.js +0 -4
- package/dist/ionic/p-f33689f7.entry.js +0 -4
- package/dist/ionic/p-f693efe9.entry.js +0 -4
- package/dist/ionic/p-f788396b.entry.js +0 -4
- package/dist/ionic/p-fIOYmaqA.js +0 -4
- package/dist/ionic/p-fa16fad8.entry.js +0 -4
- package/dist/ionic/p-lMb_45ax.js +0 -4
- package/dist/ionic/p-oadJNPuo.js +0 -4
- package/dist/ionic/p-vXpMhGrs.js +0 -4
- package/dist/ionic/p-wNjWCZVO.js +0 -4
- package/dist/types/components/divider/divider.d.ts +0 -20
- package/dist/types/components/footer/footer-interface.d.ts +0 -1
- package/dist/types/components/gallery/gallery-constants.d.ts +0 -9
- package/dist/types/components/gallery/gallery-interface.d.ts +0 -10
- package/dist/types/components/gallery/gallery.d.ts +0 -218
- package/dist/types/components/gallery/test/utils.d.ts +0 -3
- package/dist/types/components/gallery-item/gallery-item.d.ts +0 -33
- package/dist/types/components/header/header-interface.d.ts +0 -1
- package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
- package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -159
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
- package/dist/types/utils/css-value-validation.d.ts +0 -21
- package/dist/types/utils/forms/clear-button-press-controller.d.ts +0 -20
- package/dist/types/utils/scroll-hide-controller.d.ts +0 -56
- /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
|
@@ -1,183 +1,227 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import xRegular from "@phosphor-icons/core/assets/regular/x.svg";
|
|
5
4
|
import { Build, Host, forceUpdate, h, } from "@stencil/core";
|
|
6
|
-
import {
|
|
5
|
+
import { createNotchController, createStartContainerController, checkInvalidState } from "../../utils/forms/index";
|
|
7
6
|
import { inheritAriaAttributes, debounceEvent, inheritAttributes, componentOnReady } from "../../utils/helpers";
|
|
8
|
-
import { printIonWarning } from "../../utils/logging/index";
|
|
9
7
|
import { createSlotMutationController } from "../../utils/slot-mutation-controller";
|
|
10
8
|
import { createColorClasses, hostContext } from "../../utils/theme";
|
|
11
9
|
import { closeCircle, closeSharp } from "ionicons/icons";
|
|
12
|
-
import {
|
|
13
|
-
import { getIonTheme } from "../../global/ionic-global";
|
|
10
|
+
import { getIonMode } from "../../global/ionic-global";
|
|
14
11
|
import { getCounterText } from "./input.utils";
|
|
15
12
|
/**
|
|
16
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines
|
|
17
|
-
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
13
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
18
14
|
*
|
|
19
15
|
* @slot label - The label text to associate with the input. Use the `labelPlacement` property to control where the label is placed relative to the input. Use this if you need to render a label with custom HTML. (EXPERIMENTAL)
|
|
20
16
|
* @slot start - Content to display at the leading edge of the input. (EXPERIMENTAL)
|
|
21
17
|
* @slot end - Content to display at the trailing edge of the input. (EXPERIMENTAL)
|
|
22
18
|
*/
|
|
23
19
|
export class Input {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
if (input) {
|
|
117
|
-
this.value = input.value || '';
|
|
118
|
-
}
|
|
119
|
-
this.emitInputChange(ev);
|
|
120
|
-
};
|
|
121
|
-
this.onChange = (ev) => {
|
|
122
|
-
this.emitValueChange(ev);
|
|
123
|
-
};
|
|
124
|
-
this.onBlur = (ev) => {
|
|
125
|
-
this.hasFocus = false;
|
|
126
|
-
if (this.focusedValue !== this.value) {
|
|
127
|
-
/**
|
|
128
|
-
* Emits the `ionChange` event when the input value
|
|
129
|
-
* is different than the value when the input was focused.
|
|
130
|
-
*/
|
|
131
|
-
this.emitValueChange(ev);
|
|
132
|
-
}
|
|
133
|
-
this.didInputClearOnEdit = false;
|
|
134
|
-
this.ionBlur.emit(ev);
|
|
135
|
-
};
|
|
136
|
-
this.onFocus = (ev) => {
|
|
137
|
-
this.hasFocus = true;
|
|
138
|
-
this.focusedValue = this.value;
|
|
139
|
-
this.ionFocus.emit(ev);
|
|
140
|
-
};
|
|
141
|
-
this.onKeydown = (ev) => {
|
|
142
|
-
this.checkClearOnEdit(ev);
|
|
143
|
-
};
|
|
144
|
-
this.onCompositionStart = () => {
|
|
145
|
-
this.isComposing = true;
|
|
146
|
-
};
|
|
147
|
-
this.onCompositionEnd = () => {
|
|
148
|
-
this.isComposing = false;
|
|
149
|
-
};
|
|
150
|
-
this.clearTextInput = (ev) => {
|
|
151
|
-
this.clearButtonPressController.release();
|
|
152
|
-
if (this.clearInput && !this.readonly && !this.disabled && ev) {
|
|
153
|
-
ev.preventDefault();
|
|
154
|
-
ev.stopPropagation();
|
|
155
|
-
// Attempt to focus input again after pressing clear button
|
|
156
|
-
this.setFocus();
|
|
157
|
-
}
|
|
158
|
-
this.value = '';
|
|
159
|
-
this.emitInputChange(ev);
|
|
160
|
-
};
|
|
161
|
-
/**
|
|
162
|
-
* Stops propagation when the label is clicked,
|
|
163
|
-
* otherwise, two clicks will be triggered.
|
|
164
|
-
*/
|
|
165
|
-
this.onLabelClick = (ev) => {
|
|
166
|
-
// Only stop propagation if the click was directly on the label
|
|
167
|
-
// and not on the input or other child elements
|
|
168
|
-
if (ev.target === ev.currentTarget) {
|
|
169
|
-
ev.stopPropagation();
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
}
|
|
20
|
+
nativeInput;
|
|
21
|
+
inputId = `ion-input-${inputIds++}`;
|
|
22
|
+
helperTextId = `${this.inputId}-helper-text`;
|
|
23
|
+
errorTextId = `${this.inputId}-error-text`;
|
|
24
|
+
labelTextId = `${this.inputId}-label`;
|
|
25
|
+
inheritedAttributes = {};
|
|
26
|
+
isComposing = false;
|
|
27
|
+
slotMutationController;
|
|
28
|
+
notchController;
|
|
29
|
+
notchSpacerEl;
|
|
30
|
+
startContainerController;
|
|
31
|
+
startContainerEl;
|
|
32
|
+
originalIonInput;
|
|
33
|
+
/**
|
|
34
|
+
* `true` if the input was cleared as a result of the user typing
|
|
35
|
+
* with `clearOnEdit` enabled.
|
|
36
|
+
*
|
|
37
|
+
* Resets when the input loses focus.
|
|
38
|
+
*/
|
|
39
|
+
didInputClearOnEdit = false;
|
|
40
|
+
/**
|
|
41
|
+
* The value of the input when the input is focused.
|
|
42
|
+
*/
|
|
43
|
+
focusedValue;
|
|
44
|
+
/**
|
|
45
|
+
* The `hasFocus` state ensures the focus class is
|
|
46
|
+
* added regardless of how the element is focused.
|
|
47
|
+
* The `ion-focused` class only applies when focused
|
|
48
|
+
* via tabbing, not by clicking.
|
|
49
|
+
* The `has-focus` logic was added to ensure the class
|
|
50
|
+
* is applied in both cases.
|
|
51
|
+
*/
|
|
52
|
+
hasFocus = false;
|
|
53
|
+
/**
|
|
54
|
+
* Track validation state for proper aria-live announcements
|
|
55
|
+
*/
|
|
56
|
+
isInvalid = false;
|
|
57
|
+
el;
|
|
58
|
+
validationObserver;
|
|
59
|
+
/**
|
|
60
|
+
* The color to use from your application's color palette.
|
|
61
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
62
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
63
|
+
*/
|
|
64
|
+
color;
|
|
65
|
+
/**
|
|
66
|
+
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
67
|
+
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
68
|
+
*/
|
|
69
|
+
autocapitalize = 'off';
|
|
70
|
+
/**
|
|
71
|
+
* Indicates whether the value of the control can be automatically completed by the browser.
|
|
72
|
+
*/
|
|
73
|
+
autocomplete = 'off';
|
|
74
|
+
/**
|
|
75
|
+
* Whether auto correction should be enabled when the user is entering/editing the text value.
|
|
76
|
+
*/
|
|
77
|
+
autocorrect = false;
|
|
78
|
+
/**
|
|
79
|
+
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
80
|
+
*
|
|
81
|
+
* This may not be sufficient for the element to be focused on page load. See [managing focus](/docs/developing/managing-focus) for more information.
|
|
82
|
+
*/
|
|
83
|
+
autofocus = false;
|
|
84
|
+
/**
|
|
85
|
+
* If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.
|
|
86
|
+
*/
|
|
87
|
+
clearInput = false;
|
|
88
|
+
/**
|
|
89
|
+
* The icon to use for the clear button. Only applies when `clearInput` is set to `true`.
|
|
90
|
+
*/
|
|
91
|
+
clearInputIcon;
|
|
92
|
+
/**
|
|
93
|
+
* If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
|
|
94
|
+
*/
|
|
95
|
+
clearOnEdit;
|
|
96
|
+
/**
|
|
97
|
+
* If `true`, a character counter will display the ratio of characters used and the total character limit. Developers must also set the `maxlength` property for the counter to be calculated correctly.
|
|
98
|
+
*/
|
|
99
|
+
counter = false;
|
|
100
|
+
/**
|
|
101
|
+
* A callback used to format the counter text.
|
|
102
|
+
* By default the counter text is set to "itemLength / maxLength".
|
|
103
|
+
*
|
|
104
|
+
* See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
|
|
105
|
+
* if you need to access `this` from within the callback.
|
|
106
|
+
*/
|
|
107
|
+
counterFormatter;
|
|
108
|
+
/**
|
|
109
|
+
* Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke.
|
|
110
|
+
*/
|
|
111
|
+
debounce;
|
|
173
112
|
debounceChanged() {
|
|
174
113
|
const { ionInput, debounce, originalIonInput } = this;
|
|
175
114
|
/**
|
|
176
115
|
* If debounce is undefined, we have to manually revert the ionInput emitter in case
|
|
177
116
|
* debounce used to be set to a number. Otherwise, the event would stay debounced.
|
|
178
117
|
*/
|
|
179
|
-
this.ionInput = debounce === undefined ? originalIonInput
|
|
118
|
+
this.ionInput = debounce === undefined ? originalIonInput ?? ionInput : debounceEvent(ionInput, debounce);
|
|
180
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* If `true`, the user cannot interact with the input.
|
|
122
|
+
*/
|
|
123
|
+
disabled = false;
|
|
124
|
+
/**
|
|
125
|
+
* A hint to the browser for which enter key to display.
|
|
126
|
+
* Possible values: `"enter"`, `"done"`, `"go"`, `"next"`,
|
|
127
|
+
* `"previous"`, `"search"`, and `"send"`.
|
|
128
|
+
*/
|
|
129
|
+
enterkeyhint;
|
|
130
|
+
/**
|
|
131
|
+
* Text that is placed under the input and displayed when an error is detected.
|
|
132
|
+
*/
|
|
133
|
+
errorText;
|
|
134
|
+
/**
|
|
135
|
+
* The fill for the item. If `"solid"` the item will have a background. If
|
|
136
|
+
* `"outline"` the item will be transparent with a border. Only available in `md` mode.
|
|
137
|
+
*/
|
|
138
|
+
fill;
|
|
139
|
+
/**
|
|
140
|
+
* A hint to the browser for which keyboard to display.
|
|
141
|
+
* Possible values: `"none"`, `"text"`, `"tel"`, `"url"`,
|
|
142
|
+
* `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
|
|
143
|
+
*/
|
|
144
|
+
inputmode;
|
|
145
|
+
/**
|
|
146
|
+
* Text that is placed under the input and displayed when no error is detected.
|
|
147
|
+
*/
|
|
148
|
+
helperText;
|
|
149
|
+
/**
|
|
150
|
+
* The visible label associated with the input.
|
|
151
|
+
*
|
|
152
|
+
* Use this if you need to render a plaintext label.
|
|
153
|
+
*
|
|
154
|
+
* The `label` property will take priority over the `label` slot if both are used.
|
|
155
|
+
*/
|
|
156
|
+
label;
|
|
157
|
+
/**
|
|
158
|
+
* Where to place the label relative to the input.
|
|
159
|
+
* `"start"`: The label will appear to the left of the input in LTR and to the right in RTL.
|
|
160
|
+
* `"end"`: The label will appear to the right of the input in LTR and to the left in RTL.
|
|
161
|
+
* `"floating"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input.
|
|
162
|
+
* `"stacked"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value.
|
|
163
|
+
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
164
|
+
*/
|
|
165
|
+
labelPlacement = 'start';
|
|
166
|
+
/**
|
|
167
|
+
* The maximum value, which must not be less than its minimum (min attribute) value.
|
|
168
|
+
*/
|
|
169
|
+
max;
|
|
170
|
+
/**
|
|
171
|
+
* If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.
|
|
172
|
+
*/
|
|
173
|
+
maxlength;
|
|
174
|
+
/**
|
|
175
|
+
* The minimum value, which must not be greater than its maximum (max attribute) value.
|
|
176
|
+
*/
|
|
177
|
+
min;
|
|
178
|
+
/**
|
|
179
|
+
* If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.
|
|
180
|
+
*/
|
|
181
|
+
minlength;
|
|
182
|
+
/**
|
|
183
|
+
* If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `"email"`, otherwise it is ignored.
|
|
184
|
+
*/
|
|
185
|
+
multiple;
|
|
186
|
+
/**
|
|
187
|
+
* The name of the control, which is submitted with the form data.
|
|
188
|
+
*/
|
|
189
|
+
name = this.inputId;
|
|
190
|
+
/**
|
|
191
|
+
* A regular expression that the value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, `"date"`, or `"password"`, otherwise it is ignored. When the type attribute is `"date"`, `pattern` will only be used in browsers that do not support the `"date"` input type natively. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date for more information.
|
|
192
|
+
*/
|
|
193
|
+
pattern;
|
|
194
|
+
/**
|
|
195
|
+
* Instructional text that shows before the input has a value.
|
|
196
|
+
* This property applies only when the `type` property is set to `"email"`,
|
|
197
|
+
* `"number"`, `"password"`, `"search"`, `"tel"`, `"text"`, or `"url"`, otherwise it is ignored.
|
|
198
|
+
*/
|
|
199
|
+
placeholder;
|
|
200
|
+
/**
|
|
201
|
+
* If `true`, the user cannot modify the value.
|
|
202
|
+
*/
|
|
203
|
+
readonly = false;
|
|
204
|
+
/**
|
|
205
|
+
* If `true`, the user must fill in a value before submitting a form.
|
|
206
|
+
*/
|
|
207
|
+
required = false;
|
|
208
|
+
/**
|
|
209
|
+
* The shape of the input. If "round" it will have an increased border radius.
|
|
210
|
+
*/
|
|
211
|
+
shape;
|
|
212
|
+
/**
|
|
213
|
+
* If `true`, the element will have its spelling and grammar checked.
|
|
214
|
+
*/
|
|
215
|
+
spellcheck = false;
|
|
216
|
+
/**
|
|
217
|
+
* Works with the min and max attributes to limit the increments at which a value can be set.
|
|
218
|
+
* Possible values are: `"any"` or a positive floating point number.
|
|
219
|
+
*/
|
|
220
|
+
step;
|
|
221
|
+
/**
|
|
222
|
+
* The type of control to display. The default type is text.
|
|
223
|
+
*/
|
|
224
|
+
type = 'text';
|
|
181
225
|
/**
|
|
182
226
|
* Whenever the type on the input changes we need
|
|
183
227
|
* to update the internal type prop on the password
|
|
@@ -189,6 +233,44 @@ export class Input {
|
|
|
189
233
|
passwordToggle.type = this.type;
|
|
190
234
|
}
|
|
191
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* The value of the input.
|
|
238
|
+
*/
|
|
239
|
+
value = '';
|
|
240
|
+
/**
|
|
241
|
+
* The `ionInput` event is fired each time the user modifies the input's value.
|
|
242
|
+
* Unlike the `ionChange` event, the `ionInput` event is fired for each alteration
|
|
243
|
+
* to the input's value. This typically happens for each keystroke as the user types.
|
|
244
|
+
*
|
|
245
|
+
* For elements that accept text input (`type=text`, `type=tel`, etc.), the interface
|
|
246
|
+
* is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,
|
|
247
|
+
* the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If
|
|
248
|
+
* the input is cleared on edit, the type is `null`.
|
|
249
|
+
*/
|
|
250
|
+
ionInput;
|
|
251
|
+
/**
|
|
252
|
+
* The `ionChange` event is fired when the user modifies the input's value.
|
|
253
|
+
* Unlike the `ionInput` event, the `ionChange` event is only fired when changes
|
|
254
|
+
* are committed, not as the user types.
|
|
255
|
+
*
|
|
256
|
+
* Depending on the way the users interacts with the element, the `ionChange`
|
|
257
|
+
* event fires at a different moment:
|
|
258
|
+
* - When the user commits the change explicitly (e.g. by selecting a date
|
|
259
|
+
* from a date picker for `<ion-input type="date">`, pressing the "Enter" key, etc.).
|
|
260
|
+
* - When the element loses focus after its value has changed: for elements
|
|
261
|
+
* where the user's interaction is typing.
|
|
262
|
+
*
|
|
263
|
+
* This event will not emit when programmatically setting the `value` property.
|
|
264
|
+
*/
|
|
265
|
+
ionChange;
|
|
266
|
+
/**
|
|
267
|
+
* Emitted when the input loses focus.
|
|
268
|
+
*/
|
|
269
|
+
ionBlur;
|
|
270
|
+
/**
|
|
271
|
+
* Emitted when the input has focus.
|
|
272
|
+
*/
|
|
273
|
+
ionFocus;
|
|
192
274
|
/**
|
|
193
275
|
* Update the native input element when the value changes
|
|
194
276
|
*/
|
|
@@ -215,7 +297,10 @@ export class Input {
|
|
|
215
297
|
* to the inner `<input>` element.
|
|
216
298
|
*/
|
|
217
299
|
onDirChanged(newValue) {
|
|
218
|
-
this.inheritedAttributes =
|
|
300
|
+
this.inheritedAttributes = {
|
|
301
|
+
...this.inheritedAttributes,
|
|
302
|
+
dir: newValue,
|
|
303
|
+
};
|
|
219
304
|
forceUpdate(this);
|
|
220
305
|
}
|
|
221
306
|
/**
|
|
@@ -230,19 +315,24 @@ export class Input {
|
|
|
230
315
|
}
|
|
231
316
|
}
|
|
232
317
|
componentWillLoad() {
|
|
233
|
-
this.inheritedAttributes =
|
|
234
|
-
|
|
235
|
-
this.
|
|
236
|
-
}
|
|
318
|
+
this.inheritedAttributes = {
|
|
319
|
+
...inheritAriaAttributes(this.el),
|
|
320
|
+
...inheritAttributes(this.el, ['tabindex', 'title', 'data-form-type', 'dir']),
|
|
321
|
+
};
|
|
237
322
|
}
|
|
238
323
|
connectedCallback() {
|
|
239
324
|
const { el } = this;
|
|
240
325
|
this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => {
|
|
326
|
+
this.startContainerController?.calculateStartContainerWidth();
|
|
241
327
|
this.setSlottedLabelId();
|
|
242
328
|
forceUpdate(this);
|
|
243
329
|
});
|
|
244
330
|
this.setSlottedLabelId();
|
|
245
331
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
332
|
+
this.startContainerController = createStartContainerController(el, () => this.startContainerEl, () => {
|
|
333
|
+
return Build.isBrowser && getIonMode(this) === 'md' && this.fill === 'outline';
|
|
334
|
+
});
|
|
335
|
+
this.startContainerController.calculateStartContainerWidth();
|
|
246
336
|
// Watch for class changes to update validation state
|
|
247
337
|
if (Build.isBrowser && typeof MutationObserver !== 'undefined') {
|
|
248
338
|
this.validationObserver = new MutationObserver(() => {
|
|
@@ -279,8 +369,8 @@ export class Input {
|
|
|
279
369
|
this.debounceChanged();
|
|
280
370
|
}
|
|
281
371
|
componentDidRender() {
|
|
282
|
-
|
|
283
|
-
|
|
372
|
+
this.notchController?.calculateNotchWidth();
|
|
373
|
+
this.startContainerController?.calculateStartContainerWidth();
|
|
284
374
|
}
|
|
285
375
|
disconnectedCallback() {
|
|
286
376
|
if (Build.isBrowser) {
|
|
@@ -288,7 +378,6 @@ export class Input {
|
|
|
288
378
|
detail: this.el,
|
|
289
379
|
}));
|
|
290
380
|
}
|
|
291
|
-
this.clearButtonPressController.destroy();
|
|
292
381
|
if (this.slotMutationController) {
|
|
293
382
|
this.slotMutationController.destroy();
|
|
294
383
|
this.slotMutationController = undefined;
|
|
@@ -297,6 +386,10 @@ export class Input {
|
|
|
297
386
|
this.notchController.destroy();
|
|
298
387
|
this.notchController = undefined;
|
|
299
388
|
}
|
|
389
|
+
if (this.startContainerController) {
|
|
390
|
+
this.startContainerController.destroy();
|
|
391
|
+
this.startContainerController = undefined;
|
|
392
|
+
}
|
|
300
393
|
// Clean up validation observer to prevent memory leaks
|
|
301
394
|
if (this.validationObserver) {
|
|
302
395
|
this.validationObserver.disconnect();
|
|
@@ -363,52 +456,36 @@ export class Input {
|
|
|
363
456
|
getValue() {
|
|
364
457
|
return typeof this.value === 'number' ? this.value.toString() : (this.value || '').toString();
|
|
365
458
|
}
|
|
366
|
-
|
|
367
|
-
const
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
return 'outline';
|
|
371
|
-
}
|
|
372
|
-
return fill;
|
|
373
|
-
}
|
|
374
|
-
getLabelPlacement() {
|
|
375
|
-
const theme = getIonTheme(this);
|
|
376
|
-
const { el, labelPlacement } = this;
|
|
377
|
-
if (theme === 'ionic' && labelPlacement !== 'stacked' && labelPlacement !== 'floating') {
|
|
378
|
-
printIonWarning(`The "${labelPlacement}" label placement is not supported in the ${theme} theme. The default value of "${ionicThemeDefaultLabelPlacement}" will be used instead.`, el);
|
|
379
|
-
return ionicThemeDefaultLabelPlacement;
|
|
380
|
-
}
|
|
381
|
-
return labelPlacement;
|
|
382
|
-
}
|
|
383
|
-
// TODO(FW-6201): Remove this method when size is supported in ios and md
|
|
384
|
-
getSize() {
|
|
385
|
-
const theme = getIonTheme(this);
|
|
386
|
-
const { size } = this;
|
|
387
|
-
if (theme !== 'ionic' && (size === 'large' || size === 'xlarge')) {
|
|
388
|
-
printIonWarning(`The "${size}" size is not supported in the ${theme} theme.`);
|
|
389
|
-
// Fallback to medium size, which is the default size for all themes.
|
|
390
|
-
return 'medium';
|
|
391
|
-
}
|
|
392
|
-
return size;
|
|
393
|
-
}
|
|
394
|
-
getShape() {
|
|
395
|
-
const theme = getIonTheme(this);
|
|
396
|
-
const { shape } = this;
|
|
397
|
-
// TODO(ROU-5475): Remove the check for `soft` when the shape is supported in ios and md.
|
|
398
|
-
if ((theme === 'ios' && shape === 'round') || (theme !== 'ionic' && shape === 'soft')) {
|
|
399
|
-
printIonWarning(`The "${shape}" shape is not supported in the ${theme} theme.`);
|
|
400
|
-
return undefined;
|
|
459
|
+
onInput = (ev) => {
|
|
460
|
+
const input = ev.target;
|
|
461
|
+
if (input) {
|
|
462
|
+
this.value = input.value || '';
|
|
401
463
|
}
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
464
|
+
this.emitInputChange(ev);
|
|
465
|
+
};
|
|
466
|
+
onChange = (ev) => {
|
|
467
|
+
this.emitValueChange(ev);
|
|
468
|
+
};
|
|
469
|
+
onBlur = (ev) => {
|
|
470
|
+
this.hasFocus = false;
|
|
471
|
+
if (this.focusedValue !== this.value) {
|
|
472
|
+
/**
|
|
473
|
+
* Emits the `ionChange` event when the input value
|
|
474
|
+
* is different than the value when the input was focused.
|
|
475
|
+
*/
|
|
476
|
+
this.emitValueChange(ev);
|
|
408
477
|
}
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
}
|
|
478
|
+
this.didInputClearOnEdit = false;
|
|
479
|
+
this.ionBlur.emit(ev);
|
|
480
|
+
};
|
|
481
|
+
onFocus = (ev) => {
|
|
482
|
+
this.hasFocus = true;
|
|
483
|
+
this.focusedValue = this.value;
|
|
484
|
+
this.ionFocus.emit(ev);
|
|
485
|
+
};
|
|
486
|
+
onKeydown = (ev) => {
|
|
487
|
+
this.checkClearOnEdit(ev);
|
|
488
|
+
};
|
|
412
489
|
checkClearOnEdit(ev) {
|
|
413
490
|
if (!this.shouldClearOnEdit()) {
|
|
414
491
|
return;
|
|
@@ -442,6 +519,22 @@ export class Input {
|
|
|
442
519
|
this.didInputClearOnEdit = true;
|
|
443
520
|
}
|
|
444
521
|
}
|
|
522
|
+
onCompositionStart = () => {
|
|
523
|
+
this.isComposing = true;
|
|
524
|
+
};
|
|
525
|
+
onCompositionEnd = () => {
|
|
526
|
+
this.isComposing = false;
|
|
527
|
+
};
|
|
528
|
+
clearTextInput = (ev) => {
|
|
529
|
+
if (this.clearInput && !this.readonly && !this.disabled && ev) {
|
|
530
|
+
ev.preventDefault();
|
|
531
|
+
ev.stopPropagation();
|
|
532
|
+
// Attempt to focus input again after pressing clear button
|
|
533
|
+
this.setFocus();
|
|
534
|
+
}
|
|
535
|
+
this.value = '';
|
|
536
|
+
this.emitInputChange(ev);
|
|
537
|
+
};
|
|
445
538
|
hasValue() {
|
|
446
539
|
return this.getValue().length > 0;
|
|
447
540
|
}
|
|
@@ -519,14 +612,13 @@ export class Input {
|
|
|
519
612
|
* or undefined if aria-label is explicitly set (to avoid conflicts).
|
|
520
613
|
*/
|
|
521
614
|
getLabelledById() {
|
|
522
|
-
var _a;
|
|
523
615
|
if (this.inheritedAttributes['aria-label']) {
|
|
524
616
|
return undefined;
|
|
525
617
|
}
|
|
526
618
|
if (this.label !== undefined) {
|
|
527
619
|
return this.labelTextId;
|
|
528
620
|
}
|
|
529
|
-
return
|
|
621
|
+
return this.labelSlot?.id || undefined;
|
|
530
622
|
}
|
|
531
623
|
/**
|
|
532
624
|
* Returns `true` if label content is provided
|
|
@@ -538,132 +630,78 @@ export class Input {
|
|
|
538
630
|
return this.label !== undefined || this.labelSlot !== null;
|
|
539
631
|
}
|
|
540
632
|
/**
|
|
541
|
-
*
|
|
542
|
-
*
|
|
633
|
+
* Stops propagation for clicks on the input's own content (label text,
|
|
634
|
+
* input field) to prevent double-click events. Allows clicks on slotted
|
|
635
|
+
* content to propagate so event delegation works for parent handlers.
|
|
636
|
+
*
|
|
637
|
+
* Only slots belonging directly to this input should be considered.
|
|
638
|
+
* The input itself may have a slot attribute when placed in an item
|
|
639
|
+
* or toolbar, which does not make its content slotted content.
|
|
543
640
|
*/
|
|
544
|
-
|
|
545
|
-
const
|
|
546
|
-
const
|
|
547
|
-
if (
|
|
548
|
-
|
|
549
|
-
* The outline fill has a special outline
|
|
550
|
-
* that appears around the input and the label.
|
|
551
|
-
* Certain stacked and floating label placements cause the
|
|
552
|
-
* label to translate up and create a "cut out"
|
|
553
|
-
* inside of that border by using the notch-spacer element.
|
|
554
|
-
*/
|
|
555
|
-
return [
|
|
556
|
-
h("div", { class: "input-outline-container" }, h("div", { class: "input-outline-start" }), h("div", { class: {
|
|
557
|
-
'input-outline-notch': true,
|
|
558
|
-
'input-outline-notch-hidden': !this.hasLabel,
|
|
559
|
-
} }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "input-outline-end" })),
|
|
560
|
-
this.renderLabel(),
|
|
561
|
-
];
|
|
641
|
+
onLabelClick = (ev) => {
|
|
642
|
+
const target = ev.target;
|
|
643
|
+
const slotted = target.closest('[slot="start"], [slot="end"]');
|
|
644
|
+
if (slotted === null || slotted === this.el || !this.el.contains(slotted)) {
|
|
645
|
+
ev.stopPropagation();
|
|
562
646
|
}
|
|
563
|
-
|
|
564
|
-
* If not using the outline style, OR if using the
|
|
565
|
-
* ionic theme, just render the label. For the ionic
|
|
566
|
-
* theme, the outline will be rendered elsewhere.
|
|
567
|
-
*/
|
|
568
|
-
return this.renderLabel();
|
|
569
|
-
}
|
|
647
|
+
};
|
|
570
648
|
/**
|
|
571
|
-
*
|
|
572
|
-
* If an icon is set on the component, use that.
|
|
573
|
-
* Otherwise, use the icon set in the config.
|
|
574
|
-
* If no icon is set in the config, use the default icon.
|
|
575
|
-
*
|
|
576
|
-
* @internal
|
|
649
|
+
* Renders the outline border with a notch for the label.
|
|
577
650
|
*/
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
// Determine the theme and map to default icons
|
|
584
|
-
const theme = getIonTheme(this);
|
|
585
|
-
const defaultIcons = {
|
|
586
|
-
ios: closeCircle,
|
|
587
|
-
ionic: xRegular,
|
|
588
|
-
md: closeSharp,
|
|
589
|
-
};
|
|
590
|
-
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
591
|
-
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
592
|
-
// Return the configured input clear icon or the default icon
|
|
593
|
-
return config.get('inputClearIcon', defaultIcon);
|
|
651
|
+
renderOutlineContainer() {
|
|
652
|
+
return (h("div", { class: "input-outline-container" }, h("div", { class: "input-outline-start" }), h("div", { class: {
|
|
653
|
+
'input-outline-notch': true,
|
|
654
|
+
'input-outline-notch-hidden': !this.hasLabel,
|
|
655
|
+
} }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "input-outline-end" })));
|
|
594
656
|
}
|
|
595
657
|
render() {
|
|
596
|
-
const { disabled, readonly, inputId,
|
|
597
|
-
const
|
|
658
|
+
const { disabled, fill, readonly, shape, inputId, labelPlacement, hasFocus, clearInputIcon } = this;
|
|
659
|
+
const mode = getIonMode(this);
|
|
598
660
|
const value = this.getValue();
|
|
599
|
-
const fill = this.getFill();
|
|
600
|
-
const size = this.getSize();
|
|
601
|
-
const shape = this.getShape();
|
|
602
661
|
const inItem = hostContext('ion-item', this.el);
|
|
603
|
-
const shouldRenderHighlight =
|
|
604
|
-
const
|
|
662
|
+
const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
|
|
663
|
+
const defaultClearIcon = mode === 'ios' ? closeCircle : closeSharp;
|
|
664
|
+
const clearIconData = clearInputIcon ?? defaultClearIcon;
|
|
605
665
|
const hasValue = this.hasValue();
|
|
606
|
-
const
|
|
666
|
+
const hasOutlineFill = mode === 'md' && fill === 'outline';
|
|
607
667
|
/**
|
|
608
668
|
* If the label is stacked, it should always sit above the input.
|
|
609
669
|
* For floating labels, the label should move above the input if
|
|
610
|
-
* the input has a value
|
|
611
|
-
* the start or end slot.
|
|
612
|
-
*
|
|
613
|
-
* If there is content in the start slot, the label would overlap
|
|
614
|
-
* it if not forced to float. This is also applied to the end slot
|
|
615
|
-
* because with the default or solid fills, the input is not
|
|
616
|
-
* vertically centered in the container, but the label is. This
|
|
617
|
-
* causes the slots and label to appear vertically offset from each
|
|
618
|
-
* other when the label isn't floating above the input. This doesn't
|
|
619
|
-
* apply to the outline fill, but this was not accounted for to keep
|
|
620
|
-
* things consistent.
|
|
621
|
-
*
|
|
622
|
-
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
670
|
+
* the input has a value or is focused.
|
|
623
671
|
*/
|
|
624
|
-
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus
|
|
625
|
-
return (h(Host, { key: '
|
|
626
|
-
[
|
|
672
|
+
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus));
|
|
673
|
+
return (h(Host, { key: '9e9495b8f962372d526343ff76b80fb9700fce19', class: createColorClasses(this.color, {
|
|
674
|
+
[mode]: true,
|
|
627
675
|
'has-value': hasValue,
|
|
628
676
|
'has-focus': hasFocus,
|
|
629
677
|
'label-floating': labelShouldFloat,
|
|
630
678
|
[`input-fill-${fill}`]: fill !== undefined,
|
|
631
679
|
[`input-shape-${shape}`]: shape !== undefined,
|
|
632
|
-
[`input-size-${size}`]: true,
|
|
633
680
|
[`input-label-placement-${labelPlacement}`]: true,
|
|
634
681
|
'in-item': inItem,
|
|
635
682
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
636
683
|
'input-disabled': disabled,
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
* <label> element, ensuring that clicking the label text
|
|
646
|
-
* focuses the input.
|
|
647
|
-
*/
|
|
648
|
-
theme === 'ionic' && h("div", { key: '79e084dd8d7b0f530ea6518ee6f2ceb2ac099a8e', class: "input-outline" }), h("slot", { key: 'a4d0f148035c0f8afca5171139a05665d778bd07', name: "start" }), h("input", Object.assign({ key: 'f399d498b4c289571a114347c08c2ae16266ba6f', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), clearInput && !readonly && !disabled && (h("button", { key: 'f6672256dfebae3bae35afd61d26bb705e8f268c', "aria-label": "reset", type: "button", class: {
|
|
649
|
-
'input-clear-icon': true,
|
|
650
|
-
'input-clear-button-pressed': this.isClearButtonPressed,
|
|
651
|
-
}, onPointerDown: this.clearButtonPressController.onPointerDown, onPointerCancel: this.clearButtonPressController.release, onClick: this.clearTextInput }, h("ion-icon", { key: '999e8ec2b4c1614ce8f396b6a3e2ff26cb41dfbd', "aria-hidden": "true", icon: inputClearIcon }))), h("slot", { key: '2d0df6c7dd9dc17d8bd5e33b9eac1e11a25dd874', name: "end" })), shouldRenderHighlight && h("div", { key: 'f80b2c9fe4dfbb038e6c7b5a98e775cdd5ef6a21', class: "input-highlight" })), this.renderBottomContent()));
|
|
684
|
+
}) }, h("label", { key: '7121f34ed782caf7a7b82703b94fc9d6c78ce5ba', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, hasOutlineFill && this.renderOutlineContainer(), h("div", { key: '0c1f8526d86c8a2433c23873fa64b1edc0eafe29', class: "input-start", ref: (el) => (this.startContainerEl = el) }, h("slot", { key: 'a50323fde0fb12997c2324eded132908680ea450', name: "start" })), h("div", { key: '626360c4e115a5286baab49680b2a02cd39614c8', class: "input-control" }, this.renderLabel(), h("div", { key: '1cefd9d8cd6ed96fab7b58237f8f8b0c5e1be92e', class: "native-wrapper", onClick: this.onLabelClick }, h("input", { key: '3dee5302f3a685a848fedd7e1face5095e3ac64b', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById(), ...this.inheritedAttributes }))), h("div", { key: '39fff82e00e63963fe5f17794900ace2a3faa208', class: "input-end" }, this.clearInput && !readonly && !disabled && (h("button", { key: '1fa86fdb5baf4a7cd531ee0fe767a42b44fb33fc', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
685
|
+
/**
|
|
686
|
+
* This prevents mobile browsers from
|
|
687
|
+
* blurring the input when the clear
|
|
688
|
+
* button is activated.
|
|
689
|
+
*/
|
|
690
|
+
ev.preventDefault();
|
|
691
|
+
}, onClick: this.clearTextInput }, h("ion-icon", { key: 'ced39304f97e56870f7480afa025ffe232010cfb', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: 'f4098769eef1cc5aa2074c369f757ccb94a98e1c', name: "end" })), shouldRenderHighlight && h("div", { key: '258fe6ff8f9f57836f2a3a0b6163bd2b7dbf0699', class: "input-highlight" })), this.renderBottomContent()));
|
|
652
692
|
}
|
|
653
693
|
static get is() { return "ion-input"; }
|
|
654
694
|
static get encapsulation() { return "scoped"; }
|
|
655
695
|
static get originalStyleUrls() {
|
|
656
696
|
return {
|
|
657
697
|
"ios": ["input.ios.scss"],
|
|
658
|
-
"md": ["input.md.scss"]
|
|
659
|
-
"ionic": ["input.ionic.scss"]
|
|
698
|
+
"md": ["input.md.scss"]
|
|
660
699
|
};
|
|
661
700
|
}
|
|
662
701
|
static get styleUrls() {
|
|
663
702
|
return {
|
|
664
703
|
"ios": ["input.ios.css"],
|
|
665
|
-
"md": ["input.md.css"]
|
|
666
|
-
"ionic": ["input.ionic.css"]
|
|
704
|
+
"md": ["input.md.css"]
|
|
667
705
|
};
|
|
668
706
|
}
|
|
669
707
|
static get properties() {
|
|
@@ -742,11 +780,11 @@ export class Input {
|
|
|
742
780
|
"defaultValue": "'off'"
|
|
743
781
|
},
|
|
744
782
|
"autocorrect": {
|
|
745
|
-
"type": "
|
|
783
|
+
"type": "boolean",
|
|
746
784
|
"mutable": false,
|
|
747
785
|
"complexType": {
|
|
748
|
-
"original": "
|
|
749
|
-
"resolved": "
|
|
786
|
+
"original": "boolean",
|
|
787
|
+
"resolved": "boolean",
|
|
750
788
|
"references": {}
|
|
751
789
|
},
|
|
752
790
|
"required": false,
|
|
@@ -759,7 +797,7 @@ export class Input {
|
|
|
759
797
|
"setter": false,
|
|
760
798
|
"reflect": false,
|
|
761
799
|
"attribute": "autocorrect",
|
|
762
|
-
"defaultValue": "
|
|
800
|
+
"defaultValue": "false"
|
|
763
801
|
},
|
|
764
802
|
"autofocus": {
|
|
765
803
|
"type": "boolean",
|
|
@@ -965,7 +1003,7 @@ export class Input {
|
|
|
965
1003
|
"optional": true,
|
|
966
1004
|
"docs": {
|
|
967
1005
|
"tags": [],
|
|
968
|
-
"text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available
|
|
1006
|
+
"text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in `md` mode."
|
|
969
1007
|
},
|
|
970
1008
|
"getter": false,
|
|
971
1009
|
"setter": false,
|
|
@@ -1031,22 +1069,23 @@ export class Input {
|
|
|
1031
1069
|
},
|
|
1032
1070
|
"labelPlacement": {
|
|
1033
1071
|
"type": "string",
|
|
1034
|
-
"mutable":
|
|
1072
|
+
"mutable": false,
|
|
1035
1073
|
"complexType": {
|
|
1036
1074
|
"original": "'start' | 'end' | 'floating' | 'stacked' | 'fixed'",
|
|
1037
|
-
"resolved": "\"end\" | \"fixed\" | \"floating\" | \"stacked\" | \"start\"
|
|
1075
|
+
"resolved": "\"end\" | \"fixed\" | \"floating\" | \"stacked\" | \"start\"",
|
|
1038
1076
|
"references": {}
|
|
1039
1077
|
},
|
|
1040
1078
|
"required": false,
|
|
1041
|
-
"optional":
|
|
1079
|
+
"optional": false,
|
|
1042
1080
|
"docs": {
|
|
1043
1081
|
"tags": [],
|
|
1044
|
-
"text": "Where to place the label relative to the input.\n`\"start\"`: The label will appear to the left of the input in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the input in LTR and to the left in RTL.\n`\"floating\"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input.\n`\"stacked\"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")
|
|
1082
|
+
"text": "Where to place the label relative to the input.\n`\"start\"`: The label will appear to the left of the input in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the input in LTR and to the left in RTL.\n`\"floating\"`: The label will appear smaller and above the input when the input is focused or it has a value. Otherwise it will appear on top of the input.\n`\"stacked\"`: The label will appear smaller and above the input regardless even when the input is blurred or has no value.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\")."
|
|
1045
1083
|
},
|
|
1046
1084
|
"getter": false,
|
|
1047
1085
|
"setter": false,
|
|
1048
1086
|
"reflect": false,
|
|
1049
|
-
"attribute": "label-placement"
|
|
1087
|
+
"attribute": "label-placement",
|
|
1088
|
+
"defaultValue": "'start'"
|
|
1050
1089
|
},
|
|
1051
1090
|
"max": {
|
|
1052
1091
|
"type": "any",
|
|
@@ -1245,15 +1284,15 @@ export class Input {
|
|
|
1245
1284
|
"type": "string",
|
|
1246
1285
|
"mutable": false,
|
|
1247
1286
|
"complexType": {
|
|
1248
|
-
"original": "'
|
|
1249
|
-
"resolved": "\"
|
|
1287
|
+
"original": "'round'",
|
|
1288
|
+
"resolved": "\"round\" | undefined",
|
|
1250
1289
|
"references": {}
|
|
1251
1290
|
},
|
|
1252
1291
|
"required": false,
|
|
1253
1292
|
"optional": true,
|
|
1254
1293
|
"docs": {
|
|
1255
1294
|
"tags": [],
|
|
1256
|
-
"text": "
|
|
1295
|
+
"text": "The shape of the input. If \"round\" it will have an increased border radius."
|
|
1257
1296
|
},
|
|
1258
1297
|
"getter": false,
|
|
1259
1298
|
"setter": false,
|
|
@@ -1299,26 +1338,6 @@ export class Input {
|
|
|
1299
1338
|
"reflect": false,
|
|
1300
1339
|
"attribute": "step"
|
|
1301
1340
|
},
|
|
1302
|
-
"size": {
|
|
1303
|
-
"type": "string",
|
|
1304
|
-
"mutable": false,
|
|
1305
|
-
"complexType": {
|
|
1306
|
-
"original": "'medium' | 'large' | 'xlarge'",
|
|
1307
|
-
"resolved": "\"large\" | \"medium\" | \"xlarge\" | undefined",
|
|
1308
|
-
"references": {}
|
|
1309
|
-
},
|
|
1310
|
-
"required": false,
|
|
1311
|
-
"optional": true,
|
|
1312
|
-
"docs": {
|
|
1313
|
-
"tags": [],
|
|
1314
|
-
"text": "The size of the input. If \"large\", it will have an increased height. By default the\nsize is medium. This property only applies to the `\"ionic\"` theme."
|
|
1315
|
-
},
|
|
1316
|
-
"getter": false,
|
|
1317
|
-
"setter": false,
|
|
1318
|
-
"reflect": false,
|
|
1319
|
-
"attribute": "size",
|
|
1320
|
-
"defaultValue": "'medium'"
|
|
1321
|
-
},
|
|
1322
1341
|
"type": {
|
|
1323
1342
|
"type": "string",
|
|
1324
1343
|
"mutable": false,
|
|
@@ -1371,8 +1390,7 @@ export class Input {
|
|
|
1371
1390
|
static get states() {
|
|
1372
1391
|
return {
|
|
1373
1392
|
"hasFocus": {},
|
|
1374
|
-
"isInvalid": {}
|
|
1375
|
-
"isClearButtonPressed": {}
|
|
1393
|
+
"isInvalid": {}
|
|
1376
1394
|
};
|
|
1377
1395
|
}
|
|
1378
1396
|
static get events() {
|
|
@@ -1531,4 +1549,3 @@ export class Input {
|
|
|
1531
1549
|
}
|
|
1532
1550
|
}
|
|
1533
1551
|
let inputIds = 0;
|
|
1534
|
-
const ionicThemeDefaultLabelPlacement = 'stacked';
|