@ionic/core 8.8.20-dev.11787158518.168a2fea → 8.8.20-dev.11788449221.155f9f1e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-divider.d.ts +11 -0
- package/components/ion-divider.js +4 -0
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-gallery-item.d.ts +11 -0
- package/components/ion-gallery-item.js +4 -0
- package/components/ion-gallery.d.ts +11 -0
- package/components/ion-gallery.js +4 -0
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +4 -0
- package/components/ion-picker-legacy.d.ts +11 -0
- package/components/ion-picker-legacy.js +4 -0
- 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-DwpKZ6rl.js → p-B2SvA6NE.js} +1 -1
- package/components/p-B39i6rpY.js +4 -0
- package/components/p-B4GJERAm.js +4 -0
- package/components/p-B9_sPaDw.js +4 -0
- package/components/p-BDqjX7Z_.js +4 -0
- package/components/p-BE21dB_a.js +4 -0
- package/components/p-BJyeT56g.js +4 -0
- package/components/p-BLP69XoA.js +4 -0
- package/components/p-BTBa_wH7.js +4 -0
- package/components/p-BTEOs1at.js +4 -0
- package/components/p-BU8Blvqg.js +4 -0
- package/components/p-BUePQFRZ.js +4 -0
- package/components/p-BXjGM4gW.js +4 -0
- package/components/p-BXuZo5-p.js +4 -0
- package/components/p-BYRVyMu9.js +4 -0
- package/components/p-BYSs-jZz.js +4 -0
- package/components/{p-ryyf_ItD.js → p-BZwQa9ey.js} +1 -1
- package/components/p-B_a4XnF2.js +4 -0
- package/components/p-BjW8SOqw.js +4 -0
- package/components/p-BnQAsi91.js +4 -0
- package/components/p-BrF4HSay.js +4 -0
- package/components/p-Bs5kME4N.js +4 -0
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-BwzRqsq1.js +4 -0
- package/components/p-C0K6CGg9.js +4 -0
- package/components/p-C1L59jNd.js +4 -0
- package/components/p-C3ydXg9O.js +4 -0
- package/components/p-C5F5Zw01.js +4 -0
- package/components/p-C784We0w.js +4 -0
- package/components/p-CA81qANP.js +4 -0
- package/components/p-CEz0vNHD.js +4 -0
- package/components/p-CHB9zWT6.js +4 -0
- package/components/p-CJNsztW3.js +4 -0
- package/components/{p-CMLAwl_N.js → p-CKLXmqy1.js} +1 -1
- package/components/p-CODBQrPj.js +4 -0
- package/components/p-CVYFPBs-.js +4 -0
- package/components/p-CWqLCAML.js +4 -0
- package/components/p-CaB0_AG0.js +4 -0
- package/components/p-CaXMr1SL.js +4 -0
- package/components/p-Cc3oC60a.js +4 -0
- package/components/p-CjlmHeGM.js +4 -0
- package/components/p-CstXr-x9.js +4 -0
- package/components/{p-DzRT60Tw.js → p-Cu8FoYIJ.js} +1 -1
- package/components/p-CxhjkdQ_.js +4 -0
- package/components/p-CxoHM559.js +4 -0
- package/components/p-D0Iqw6OZ.js +4 -0
- package/components/p-D12Xsfh7.js +4 -0
- package/components/p-D1t981Ih.js +4 -0
- package/components/p-D2tZEPGv.js +4 -0
- package/components/p-D6zl6ZA8.js +4 -0
- package/components/p-DExJ63jR.js +4 -0
- package/components/p-DHvfufkW.js +4 -0
- package/components/p-DNweMi32.js +4 -0
- package/components/p-DRUGmlKi.js +4 -0
- package/components/p-DYq-5riI.js +4 -0
- package/components/p-DaJxRxSQ.js +4 -0
- package/components/p-Db3A3kHi.js +4 -0
- package/components/p-Df6AAcu8.js +4 -0
- package/components/p-Dhi5xtNS.js +4 -0
- package/components/{p-63OhffQv.js → p-Di8NbWfs.js} +1 -1
- package/components/p-DkfVuzjA.js +4 -0
- package/components/p-DriGEn08.js +4 -0
- package/components/p-Ds3yn-R0.js +4 -0
- package/components/p-DylrHLJF.js +4 -0
- package/components/p-VrmyB-Wu.js +4 -0
- package/components/p-Wn4ujuPW.js +4 -0
- package/components/p-X6YgGSBf.js +4 -0
- package/components/p-dLA3JnNJ.js +4 -0
- package/components/p-fIOYmaqA.js +4 -0
- package/components/p-o8OKV5aD.js +4 -0
- package/components/p-vUGYs065.js +4 -0
- package/components/p-vXpMhGrs.js +4 -0
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic/bundle.ionic.css +1 -0
- package/css/ionic/bundle.ionic.css.map +1 -0
- package/css/ionic/core.ionic.css +1 -0
- package/css/ionic/core.ionic.css.map +1 -0
- package/css/ionic/global.bundle.ionic.css +1 -0
- package/css/ionic/global.bundle.ionic.css.map +1 -0
- package/css/ionic/ionic-swiper.ionic.css +1 -0
- package/css/ionic/ionic-swiper.ionic.css.map +1 -0
- package/css/ionic/link.ionic.css +1 -0
- package/css/ionic/link.ionic.css.map +1 -0
- package/css/ionic/structure.ionic.css +1 -0
- package/css/ionic/structure.ionic.css.map +1 -0
- package/css/ionic/typography.ionic.css +1 -0
- package/css/ionic/typography.ionic.css.map +1 -0
- package/css/ionic/utils.bundle.ionic.css +1 -0
- package/css/ionic/utils.bundle.ionic.css.map +1 -0
- package/css/ionic-swiper.css +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-C0mOHzej.js → animation-CxRPIayb.js} +6 -6
- package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BwvlV6g7.js} +1 -1
- package/dist/cjs/{button-active-CVMevT9a.js → button-active-qCQDwE2m.js} +3 -3
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CRl0exFC.js} +3 -3
- package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
- package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
- package/dist/cjs/caret-right-CRCgv98E.js +8 -0
- package/dist/cjs/clear-button-press-controller-C7B9kyMa.js +45 -0
- package/dist/cjs/{config-CjUbvdPW.js → config-DWdFbSNK.js} +4 -5
- package/dist/cjs/{dir-zwDPRE5K.js → dir-DD0jPVH3.js} +3 -2
- package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
- package/dist/cjs/{format-pp0Du3K-.js → format-COAsdjOc.js} +30 -40
- package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-IvkF1VuM.js} +10 -6
- package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-dtqlP_q4.js} +8 -15
- package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-DG25gZzb.js} +4 -3
- package/dist/cjs/{helpers-YPQybDph.js → helpers-Dhimwhpn.js} +74 -7
- package/dist/cjs/{index-DwlRtFZe.js → index-BJ2-LydH.js} +3 -9
- package/dist/cjs/{index-zVCah4Uz.js → index-Bsq0SbXc.js} +2 -2
- package/dist/cjs/{index-uvry__L4.js → index-C1knGA9x.js} +65 -33
- package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
- package/dist/cjs/{index-DXsPSne6.js → index-DhDV4RxJ.js} +16 -15
- package/dist/cjs/{index-BLdJCcJY.js → index-DuleInoh.js} +5 -5
- package/dist/cjs/{index-B7zJsYWS.js → index-YYUVCfP-.js} +3 -3
- package/dist/cjs/{index-DDg31ZF5.js → index-yon1HGB7.js} +10 -9
- package/dist/cjs/index.cjs.js +18 -18
- package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-BgJcHtqI.js} +23 -20
- package/dist/cjs/input.utils--RmR5lVe.js +150 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +383 -379
- package/dist/cjs/ion-action-sheet.cjs.entry.js +87 -179
- package/dist/cjs/ion-alert.cjs.entry.js +126 -251
- package/dist/cjs/ion-app_8.cjs.entry.js +608 -461
- package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -19
- package/dist/cjs/ion-back-button.cjs.entry.js +50 -65
- package/dist/cjs/ion-backdrop.cjs.entry.js +22 -23
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +170 -212
- package/dist/cjs/ion-button_2.cjs.entry.js +118 -153
- package/dist/cjs/ion-card_5.cjs.entry.js +80 -110
- package/dist/cjs/ion-checkbox.cjs.entry.js +130 -164
- package/dist/cjs/ion-chip.cjs.entry.js +56 -21
- package/dist/cjs/ion-col_3.cjs.entry.js +61 -186
- package/dist/cjs/ion-datetime-button.cjs.entry.js +248 -256
- package/dist/cjs/ion-datetime_3.cjs.entry.js +3242 -0
- package/dist/cjs/ion-divider.cjs.entry.js +51 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +113 -155
- package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
- package/dist/cjs/ion-gallery.cjs.entry.js +608 -0
- package/dist/cjs/ion-img.cjs.entry.js +17 -35
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +157 -109
- package/dist/cjs/ion-input-otp.cjs.entry.js +437 -435
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +64 -40
- package/dist/cjs/ion-input.cjs.entry.js +312 -351
- package/dist/cjs/ion-item-option_3.cjs.entry.js +512 -137
- package/dist/cjs/ion-item_8.cjs.entry.js +190 -218
- package/dist/cjs/ion-loading.cjs.entry.js +69 -152
- package/dist/cjs/ion-menu_3.cjs.entry.js +138 -182
- package/dist/cjs/ion-modal.cjs.entry.js +501 -571
- package/dist/cjs/ion-nav_2.cjs.entry.js +164 -104
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +40 -40
- package/dist/cjs/ion-picker-column.cjs.entry.js +410 -422
- package/dist/cjs/ion-picker.cjs.entry.js +401 -406
- package/dist/cjs/ion-popover.cjs.entry.js +212 -324
- package/dist/cjs/ion-progress-bar.cjs.entry.js +48 -36
- package/dist/cjs/ion-radio_2.cjs.entry.js +162 -217
- package/dist/cjs/ion-range.cjs.entry.js +251 -309
- package/dist/cjs/ion-refresher_2.cjs.entry.js +122 -175
- package/dist/cjs/ion-reorder_2.cjs.entry.js +54 -60
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +26 -18
- package/dist/cjs/ion-route_4.cjs.entry.js +76 -179
- package/dist/cjs/ion-searchbar.cjs.entry.js +331 -308
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +27 -28
- package/dist/cjs/ion-segment_2.cjs.entry.js +141 -177
- package/dist/cjs/ion-select-modal.cjs.entry.js +70 -50
- package/dist/cjs/ion-select_3.cjs.entry.js +429 -507
- package/dist/cjs/ion-spinner.cjs.entry.js +36 -28
- package/dist/cjs/ion-split-pane.cjs.entry.js +25 -34
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +180 -117
- package/dist/cjs/ion-tab_2.cjs.entry.js +30 -55
- package/dist/cjs/ion-text.cjs.entry.js +7 -13
- package/dist/cjs/ion-textarea.cjs.entry.js +310 -303
- package/dist/cjs/ion-toast.cjs.entry.js +170 -265
- package/dist/cjs/ion-toggle.cjs.entry.js +187 -184
- package/dist/cjs/ionic-global-DYLhJaw7.js +519 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-Blgf-vZU.js} +21 -15
- package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DKn76MYO.js} +1 -1
- package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-BgioTbwQ.js} +3 -3
- package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-Otnp8OQI.js} +5 -4
- package/dist/cjs/list-a-7GSA6K.js +8 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-ClgvbGfq.js} +11 -9
- package/dist/cjs/notch-controller-0hkmmSGo.js +155 -0
- package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
- package/dist/cjs/{overlays-KaNVDNqC.js → overlays-Bxjqh2m3.js} +336 -60
- package/dist/cjs/scroll-hide-controller-qWMU5yOk.js +345 -0
- package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-BqJEK1N1.js} +4 -3
- package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-ClA8u57t.js} +5 -4
- package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-4vY7mi8i.js} +6 -5
- package/dist/cjs/{theme-Bw0rpaNN.js → theme-IlOsGAz7.js} +26 -7
- package/dist/cjs/validity-QmuwEptc.js +51 -0
- package/dist/cjs/x-BTF99yFH.js +8 -0
- package/dist/collection/collection-manifest.json +13 -1
- package/dist/collection/components/accordion/accordion.ionic.css +201 -0
- package/dist/collection/components/accordion/accordion.ios.css +73 -58
- package/dist/collection/components/accordion/accordion.js +338 -327
- package/dist/collection/components/accordion/accordion.md.css +67 -59
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
- package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
- package/dist/collection/components/accordion-group/accordion-group.js +69 -56
- package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
- package/dist/collection/components/action-sheet/action-sheet.ionic.css +494 -0
- package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
- package/dist/collection/components/action-sheet/action-sheet.js +76 -166
- package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
- package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
- package/dist/collection/components/alert/alert.ionic.css +787 -0
- package/dist/collection/components/alert/alert.ios.css +247 -54
- package/dist/collection/components/alert/alert.js +113 -236
- package/dist/collection/components/alert/alert.md.css +243 -56
- package/dist/collection/components/app/app.js +15 -86
- package/dist/collection/components/avatar/avatar.ionic.css +385 -0
- package/dist/collection/components/avatar/avatar.ios.css +7 -33
- package/dist/collection/components/avatar/avatar.js +120 -4
- package/dist/collection/components/avatar/avatar.md.css +51 -0
- package/dist/collection/components/back-button/back-button.ios.css +60 -48
- package/dist/collection/components/back-button/back-button.js +46 -61
- package/dist/collection/components/back-button/back-button.md.css +60 -48
- package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
- package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
- package/dist/collection/components/backdrop/backdrop.js +26 -22
- package/dist/collection/components/backdrop/backdrop.md.css +56 -19
- package/dist/collection/components/badge/badge.ionic.css +272 -0
- package/dist/collection/components/badge/badge.ios.css +137 -12
- package/dist/collection/components/badge/badge.js +145 -15
- package/dist/collection/components/badge/badge.md.css +122 -12
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
- package/dist/collection/components/breadcrumb/breadcrumb.js +72 -101
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +99 -112
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
- package/dist/collection/components/button/button.ionic.css +644 -0
- package/dist/collection/components/button/button.ios.css +154 -46
- package/dist/collection/components/button/button.js +122 -157
- package/dist/collection/components/button/button.md.css +150 -50
- package/dist/collection/components/buttons/buttons.ionic.css +97 -0
- package/dist/collection/components/buttons/buttons.ios.css +59 -7
- package/dist/collection/components/buttons/buttons.js +29 -21
- package/dist/collection/components/buttons/buttons.md.css +55 -3
- package/dist/collection/components/card/card.ionic.css +144 -0
- package/dist/collection/components/card/card.ios.css +65 -14
- package/dist/collection/components/card/card.js +61 -63
- package/dist/collection/components/card/card.md.css +65 -14
- package/dist/collection/components/card-content/card-content.ionic.css +89 -0
- package/dist/collection/components/card-content/card-content.ios.css +20 -35
- package/dist/collection/components/card-content/card-content.js +12 -10
- package/dist/collection/components/card-content/card-content.md.css +20 -35
- package/dist/collection/components/card-header/card-header.ionic.css +85 -0
- package/dist/collection/components/card-header/card-header.ios.css +27 -15
- package/dist/collection/components/card-header/card-header.js +20 -21
- package/dist/collection/components/card-header/card-header.md.css +27 -15
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
- package/dist/collection/components/card-subtitle/card-subtitle.js +11 -14
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
- package/dist/collection/components/card-title/card-title.ios.css +73 -0
- package/dist/collection/components/card-title/card-title.js +11 -14
- package/dist/collection/components/card-title/card-title.md.css +73 -0
- package/dist/collection/components/checkbox/checkbox.ionic.css +543 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +242 -117
- package/dist/collection/components/checkbox/checkbox.js +165 -160
- package/dist/collection/components/checkbox/checkbox.md.css +243 -118
- package/dist/collection/components/chip/chip.ionic.css +217 -0
- package/dist/collection/components/chip/chip.ios.css +67 -14
- package/dist/collection/components/chip/chip.js +116 -20
- package/dist/collection/components/chip/chip.md.css +67 -14
- package/dist/collection/components/col/col.css +192 -4
- package/dist/collection/components/col/col.js +212 -186
- package/dist/collection/components/content/content.css +47 -2
- package/dist/collection/components/content/content.js +78 -102
- package/dist/collection/components/datetime/datetime.ionic.css +703 -0
- package/dist/collection/components/datetime/datetime.ios.css +304 -148
- package/dist/collection/components/datetime/datetime.js +928 -1086
- package/dist/collection/components/datetime/datetime.md.css +294 -138
- package/dist/collection/components/datetime/utils/data.js +19 -18
- package/dist/collection/components/datetime/utils/format.js +11 -21
- 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 +2 -8
- package/dist/collection/components/datetime/utils/validate.js +5 -4
- package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -5
- package/dist/collection/components/datetime-button/datetime-button.js +246 -253
- package/dist/collection/components/datetime-button/datetime-button.md.css +6 -5
- package/dist/collection/components/divider/divider.ionic.css +148 -0
- package/dist/collection/components/divider/divider.ios.css +87 -0
- package/dist/collection/components/divider/divider.js +94 -0
- package/dist/collection/components/divider/divider.md.css +87 -0
- package/dist/collection/components/fab/fab.css +25 -1
- package/dist/collection/components/fab/fab.js +22 -25
- package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
- package/dist/collection/components/fab-button/fab-button.js +83 -117
- package/dist/collection/components/fab-button/fab-button.md.css +20 -8
- package/dist/collection/components/fab-list/fab-list.css +12 -0
- package/dist/collection/components/fab-list/fab-list.js +20 -15
- package/dist/collection/components/footer/footer-interface.js +1 -0
- package/dist/collection/components/footer/footer.ios.css +33 -6
- package/dist/collection/components/footer/footer.js +151 -65
- package/dist/collection/components/footer/footer.md.css +40 -0
- package/dist/collection/components/gallery/gallery-constants.js +12 -0
- package/dist/collection/components/gallery/gallery-interface.js +1 -0
- package/dist/collection/components/gallery/gallery.css +15 -0
- package/dist/collection/components/gallery/gallery.js +679 -0
- package/dist/collection/components/gallery/test/utils.js +100 -0
- package/dist/collection/components/gallery-item/gallery-item.css +49 -0
- package/dist/collection/components/gallery-item/gallery-item.js +99 -0
- package/dist/collection/components/grid/grid.css +12 -0
- package/dist/collection/components/grid/grid.js +15 -9
- package/dist/collection/components/header/header-interface.js +1 -0
- package/dist/collection/components/header/header.ionic.css +250 -0
- package/dist/collection/components/header/header.ios.css +178 -133
- package/dist/collection/components/header/header.js +202 -70
- package/dist/collection/components/header/header.md.css +199 -9
- package/dist/collection/components/header/header.utils.js +6 -13
- package/dist/collection/components/img/img.js +16 -34
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +164 -76
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +19 -30
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
- package/dist/collection/components/input/input.ionic.css +891 -0
- package/dist/collection/components/input/input.ios.css +247 -191
- package/dist/collection/components/input/input.js +340 -357
- package/dist/collection/components/input/input.md.css +234 -285
- package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
- package/dist/collection/components/input-otp/input-otp.js +437 -432
- package/dist/collection/components/input-otp/input-otp.md.css +105 -60
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +60 -37
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
- package/dist/collection/components/item/item.ionic.css +496 -0
- package/dist/collection/components/item/item.ios.css +120 -80
- package/dist/collection/components/item/item.js +102 -113
- package/dist/collection/components/item/item.md.css +131 -79
- package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
- package/dist/collection/components/item-divider/item-divider.js +21 -23
- package/dist/collection/components/item-divider/item-divider.md.css +18 -0
- package/dist/collection/components/item-group/item-group.ios.css +12 -0
- package/dist/collection/components/item-group/item-group.js +13 -7
- package/dist/collection/components/item-group/item-group.md.css +12 -0
- package/dist/collection/components/item-option/item-option.ionic.css +277 -0
- package/dist/collection/components/item-option/item-option.ios.css +136 -29
- package/dist/collection/components/item-option/item-option.js +92 -56
- package/dist/collection/components/item-option/item-option.md.css +136 -29
- package/dist/collection/components/item-options/item-options.ionic.css +221 -0
- package/dist/collection/components/item-options/item-options.ios.css +77 -34
- package/dist/collection/components/item-options/item-options.js +20 -17
- package/dist/collection/components/item-options/item-options.md.css +77 -34
- package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
- package/dist/collection/components/item-sliding/item-sliding.js +441 -61
- package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
- package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
- package/dist/collection/components/label/label.ios.css +18 -0
- package/dist/collection/components/label/label.js +15 -32
- package/dist/collection/components/label/label.md.css +18 -0
- package/dist/collection/components/list/list.ionic.css +212 -0
- package/dist/collection/components/list/list.ios.css +54 -14
- package/dist/collection/components/list/list.js +55 -19
- package/dist/collection/components/list/list.md.css +56 -16
- package/dist/collection/components/list-header/list-header.ionic.css +190 -0
- package/dist/collection/components/list-header/list-header.ios.css +82 -38
- package/dist/collection/components/list-header/list-header.js +11 -18
- package/dist/collection/components/list-header/list-header.md.css +82 -38
- package/dist/collection/components/loading/loading.ios.css +13 -1
- package/dist/collection/components/loading/loading.js +62 -143
- package/dist/collection/components/loading/loading.md.css +13 -1
- package/dist/collection/components/menu/menu.ios.css +15 -3
- package/dist/collection/components/menu/menu.js +71 -108
- package/dist/collection/components/menu/menu.md.css +15 -3
- package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
- package/dist/collection/components/menu-button/menu-button.js +45 -38
- package/dist/collection/components/menu-button/menu-button.md.css +49 -15
- package/dist/collection/components/menu-toggle/menu-toggle.js +21 -25
- package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
- package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
- 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 +8 -2
- package/dist/collection/components/modal/gestures/sheet.js +86 -32
- package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -15
- package/dist/collection/components/modal/modal.ionic.css +255 -0
- package/dist/collection/components/modal/modal.ios.css +178 -70
- package/dist/collection/components/modal/modal.js +272 -404
- package/dist/collection/components/modal/modal.md.css +178 -70
- package/dist/collection/components/modal/safe-area-utils.js +7 -6
- package/dist/collection/components/modal/test/fixtures.js +0 -3
- package/dist/collection/components/nav/nav.css +7 -1
- package/dist/collection/components/nav/nav.js +256 -72
- package/dist/collection/components/nav/view-controller.js +1 -7
- package/dist/collection/components/nav-link/nav-link.js +14 -21
- package/dist/collection/components/note/note.ios.css +12 -0
- package/dist/collection/components/note/note.js +11 -14
- package/dist/collection/components/note/note.md.css +12 -0
- package/dist/collection/components/picker/picker.ios.css +15 -3
- package/dist/collection/components/picker/picker.js +398 -403
- package/dist/collection/components/picker/picker.md.css +15 -3
- package/dist/collection/components/picker-column/picker-column.css +9 -5
- package/dist/collection/components/picker-column/picker-column.js +409 -418
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
- package/dist/collection/components/picker-column-option/picker-column-option.js +42 -38
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +7 -6
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
- package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +312 -0
- package/dist/collection/components/picker-legacy/picker.js +891 -0
- package/dist/collection/components/picker-legacy/picker.md.css +299 -0
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +243 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +234 -0
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
- package/dist/collection/components/popover/animations/ios.enter.js +2 -1
- package/dist/collection/components/popover/animations/md.enter.js +2 -1
- package/dist/collection/components/popover/popover.ionic.css +290 -0
- package/dist/collection/components/popover/popover.ios.css +15 -2
- package/dist/collection/components/popover/popover.js +199 -313
- package/dist/collection/components/popover/popover.md.css +15 -2
- package/dist/collection/components/popover/test/fixture.js +0 -1
- package/dist/collection/components/popover/utils.js +6 -4
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
- package/dist/collection/components/progress-bar/progress-bar.js +65 -33
- package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
- package/dist/collection/components/radio/radio.ionic.css +422 -0
- package/dist/collection/components/radio/radio.ios.css +207 -102
- package/dist/collection/components/radio/radio.js +77 -108
- package/dist/collection/components/radio/radio.md.css +207 -102
- package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
- package/dist/collection/components/radio-group/radio-group.js +113 -107
- package/dist/collection/components/radio-group/radio-group.md.css +43 -19
- package/dist/collection/components/radio-group/test/fixtures.js +0 -2
- package/dist/collection/components/range/range.ionic.css +567 -0
- package/dist/collection/components/range/range.ios.css +128 -85
- package/dist/collection/components/range/range.js +247 -305
- package/dist/collection/components/range/range.md.css +128 -85
- package/dist/collection/components/refresher/refresher.ios.css +14 -1
- package/dist/collection/components/refresher/refresher.js +88 -117
- package/dist/collection/components/refresher/refresher.md.css +15 -2
- package/dist/collection/components/refresher-content/refresher-content.js +31 -47
- package/dist/collection/components/reorder/reorder.ios.css +6 -0
- package/dist/collection/components/reorder/reorder.js +33 -7
- package/dist/collection/components/reorder/reorder.md.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.js +22 -47
- package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +26 -17
- package/dist/collection/components/route/route.js +14 -39
- package/dist/collection/components/route-redirect/route-redirect.js +0 -31
- package/dist/collection/components/router/router.js +37 -37
- package/dist/collection/components/router/utils/dom.js +7 -25
- package/dist/collection/components/router/utils/matching.js +9 -7
- package/dist/collection/components/router/utils/parser.js +1 -1
- package/dist/collection/components/router/utils/path.js +1 -0
- package/dist/collection/components/router-link/router-link.css +8 -2
- package/dist/collection/components/router-link/router-link.js +19 -40
- package/dist/collection/components/router-outlet/router-outlet.css +7 -1
- package/dist/collection/components/router-outlet/router-outlet.js +25 -83
- package/dist/collection/components/row/row.css +16 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +380 -321
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +115 -0
- package/dist/collection/components/segment/segment.ios.css +45 -2
- package/dist/collection/components/segment/segment.js +94 -126
- package/dist/collection/components/segment/segment.md.css +45 -2
- package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
- package/dist/collection/components/segment-button/segment-button.js +46 -49
- package/dist/collection/components/segment-button/segment-button.md.css +148 -107
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
- package/dist/collection/components/segment-view/segment-view.js +27 -28
- package/dist/collection/components/segment-view/segment-view.md.css +6 -0
- package/dist/collection/components/select/select.ionic.css +809 -0
- package/dist/collection/components/select/select.ios.css +351 -206
- package/dist/collection/components/select/select.js +444 -431
- package/dist/collection/components/select/select.md.css +383 -230
- package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
- package/dist/collection/components/select-modal/select-modal.js +79 -37
- package/dist/collection/components/select-modal/select-modal.md.css +273 -43
- package/dist/collection/components/select-modal/test/fixtures.js +1 -8
- package/dist/collection/components/select-option/select-option.js +15 -48
- package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
- package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
- package/dist/collection/components/select-popover/select-popover.js +37 -44
- package/dist/collection/components/select-popover/select-popover.md.css +228 -47
- package/dist/collection/components/select-popover/test/fixtures.js +1 -8
- package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +15 -15
- package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
- package/dist/collection/components/spinner/spinner.js +55 -26
- package/dist/collection/components/spinner/spinner.native.css +199 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
- package/dist/collection/components/split-pane/split-pane.js +28 -33
- package/dist/collection/components/split-pane/split-pane.md.css +20 -2
- package/dist/collection/components/tab/tab.js +10 -17
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
- package/dist/collection/components/tab-bar/tab-bar.js +190 -44
- package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
- package/dist/collection/components/tab-button/tab-button.js +74 -68
- package/dist/collection/components/tab-button/tab-button.md.css +137 -93
- package/dist/collection/components/tabs/tabs.css +7 -1
- package/dist/collection/components/tabs/tabs.js +23 -33
- package/dist/collection/components/text/text.css +6 -0
- package/dist/collection/components/text/text.js +7 -12
- package/dist/collection/components/textarea/textarea.ionic.css +898 -0
- package/dist/collection/components/textarea/textarea.ios.css +329 -221
- package/dist/collection/components/textarea/textarea.js +334 -302
- package/dist/collection/components/textarea/textarea.md.css +358 -231
- package/dist/collection/components/thumbnail/thumbnail.css +6 -0
- package/dist/collection/components/thumbnail/thumbnail.js +9 -2
- package/dist/collection/components/title/title.ionic.css +127 -0
- package/dist/collection/components/title/title.ios.css +32 -4
- package/dist/collection/components/title/title.js +13 -23
- package/dist/collection/components/title/title.md.css +39 -4
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ionic.css +394 -0
- package/dist/collection/components/toast/toast.ios.css +84 -45
- package/dist/collection/components/toast/toast.js +178 -232
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +512 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -127
- package/dist/collection/components/toggle/toggle.js +177 -175
- package/dist/collection/components/toggle/toggle.md.css +245 -127
- package/dist/collection/components/toolbar/test/image.svg +1 -0
- package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +222 -25
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/config.js +6 -4
- package/dist/collection/global/ionic-global.js +242 -20
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/animation/animation.js +3 -3
- package/dist/collection/utils/config.js +4 -5
- package/dist/collection/utils/css-value-validation.js +39 -0
- package/dist/collection/utils/focus-controller/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +16 -5
- package/dist/collection/utils/focus-visible.js +22 -0
- package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
- package/dist/collection/utils/forms/index.js +1 -1
- package/dist/collection/utils/forms/validity.js +31 -0
- package/dist/collection/utils/framework-delegate.js +9 -5
- package/dist/collection/utils/gesture/gesture-controller.js +8 -15
- package/dist/collection/utils/gesture/index.js +2 -10
- package/dist/collection/utils/hardware-back-button.js +18 -3
- package/dist/collection/utils/helpers.js +72 -5
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -4
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -1
- package/dist/collection/utils/keyboard/keyboard-controller.js +8 -6
- package/dist/collection/utils/keyboard/keyboard.js +1 -1
- package/dist/collection/utils/logging/index.js +4 -23
- package/dist/collection/utils/media.js +1 -0
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +2 -1
- package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
- package/dist/collection/utils/menu-controller/index.js +2 -1
- package/dist/collection/utils/native/haptic.js +3 -2
- 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 +13 -11
- package/dist/collection/utils/overlays.js +312 -45
- package/dist/collection/utils/platform.js +5 -4
- package/dist/collection/utils/rtl/dir.js +3 -2
- package/dist/collection/utils/sanitization/index.js +2 -2
- package/dist/collection/utils/scroll-hide-controller.js +178 -0
- package/dist/collection/utils/select-option-render.js +2 -1
- package/dist/collection/utils/slot-mutation-controller.js +2 -1
- package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
- package/dist/collection/utils/test/playwright/drag-element.js +35 -11
- package/dist/collection/utils/test/playwright/generator.js +51 -25
- package/dist/collection/utils/test/playwright/page/event-spy.js +12 -11
- package/dist/collection/utils/test/playwright/page/utils/goto.js +15 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +27 -4
- package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +3 -2
- package/dist/collection/utils/test/press-keys.js +17 -10
- package/dist/collection/utils/theme.js +26 -7
- package/dist/collection/utils/transition/ios.transition.js +14 -9
- package/dist/collection/utils/transition/md.transition.js +4 -3
- package/dist/docs.json +10038 -534
- package/dist/esm/{animation-CGFdmGk9.js → animation-BsVixxLP.js} +5 -5
- package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-rPvWQFXp.js} +1 -1
- package/dist/esm/{button-active-BDOsVAiZ.js → button-active-BS8YgJRD.js} +3 -3
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-BnXrCBvt.js} +1 -1
- package/dist/esm/caret-down-D1t981Ih.js +6 -0
- package/dist/esm/caret-left-fIOYmaqA.js +6 -0
- package/dist/esm/caret-right-BYSs-jZz.js +6 -0
- package/dist/esm/clear-button-press-controller-Ci6Q_x5-.js +43 -0
- package/dist/esm/{config-DWCzVL3Y.js → config-BwKpO3Is.js} +4 -5
- package/dist/esm/{dir-Dojwmvde.js → dir-o8OKV5aD.js} +3 -2
- package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
- package/dist/esm/{format-Dcwga61t.js → format-2WlZcMvG.js} +31 -41
- package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-P5K_3uYw.js} +10 -6
- package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-BTEOs1at.js} +8 -15
- package/dist/esm/{haptic-Cq4UAeka.js → haptic-ByW74Ow9.js} +4 -3
- package/dist/esm/{helpers-CAGf8Wgp.js → helpers-ChPZH7zh.js} +74 -8
- package/dist/esm/{index-BvabGprD.js → index-B4Kq2YNk.js} +2 -1
- package/dist/esm/{index-DcPaH5uL.js → index-Bck1OwMs.js} +3 -9
- package/dist/esm/{index-ChhhtsGZ.js → index-C0EQceqV.js} +66 -34
- package/dist/esm/{index-Clc-28O1.js → index-C7EAbm0C.js} +5 -4
- package/dist/esm/{index-CqneaaGd.js → index-C7F1yJyV.js} +13 -12
- package/dist/esm/{index-WlteAIqz.js → index-CXSPjEca.js} +5 -5
- package/dist/esm/{index-CKM1DdGm.js → index-Mq5pCWmZ.js} +3 -3
- package/dist/esm/{index-T0JxBI8V.js → index-niemeDYi.js} +2 -2
- package/dist/esm/index.js +17 -18
- package/dist/esm/{input-shims-B8sfni1e.js → input-shims-CM5m0K8T.js} +15 -12
- package/dist/esm/input.utils-DhJNJPiU.js +147 -0
- package/dist/esm/ion-accordion_2.entry.js +383 -379
- package/dist/esm/ion-action-sheet.entry.js +87 -179
- package/dist/esm/ion-alert.entry.js +126 -251
- package/dist/esm/ion-app_8.entry.js +607 -460
- package/dist/esm/ion-avatar_3.entry.js +125 -19
- package/dist/esm/ion-back-button.entry.js +50 -65
- package/dist/esm/ion-backdrop.entry.js +22 -23
- package/dist/esm/ion-breadcrumb_2.entry.js +170 -212
- package/dist/esm/ion-button_2.entry.js +118 -153
- package/dist/esm/ion-card_5.entry.js +80 -110
- package/dist/esm/ion-checkbox.entry.js +130 -164
- package/dist/esm/ion-chip.entry.js +56 -21
- package/dist/esm/ion-col_3.entry.js +61 -186
- package/dist/esm/ion-datetime-button.entry.js +248 -256
- package/dist/esm/ion-datetime_3.entry.js +3238 -0
- package/dist/esm/ion-divider.entry.js +49 -0
- package/dist/esm/ion-fab_3.entry.js +113 -155
- package/dist/esm/ion-gallery-item.entry.js +57 -0
- package/dist/esm/ion-gallery.entry.js +606 -0
- package/dist/esm/ion-img.entry.js +17 -35
- package/dist/esm/ion-infinite-scroll_2.entry.js +157 -109
- package/dist/esm/ion-input-otp.entry.js +437 -435
- package/dist/esm/ion-input-password-toggle.entry.js +64 -40
- package/dist/esm/ion-input.entry.js +310 -349
- package/dist/esm/ion-item-option_3.entry.js +512 -137
- package/dist/esm/ion-item_8.entry.js +190 -218
- package/dist/esm/ion-loading.entry.js +69 -152
- package/dist/esm/ion-menu_3.entry.js +138 -182
- package/dist/esm/ion-modal.entry.js +459 -529
- package/dist/esm/ion-nav_2.entry.js +164 -104
- package/dist/esm/ion-picker-column-option.entry.js +40 -40
- package/dist/esm/ion-picker-column.entry.js +410 -422
- package/dist/esm/ion-picker.entry.js +401 -406
- package/dist/esm/ion-popover.entry.js +212 -324
- package/dist/esm/ion-progress-bar.entry.js +48 -36
- package/dist/esm/ion-radio_2.entry.js +162 -217
- package/dist/esm/ion-range.entry.js +251 -309
- package/dist/esm/ion-refresher_2.entry.js +122 -175
- package/dist/esm/ion-reorder_2.entry.js +54 -60
- package/dist/esm/ion-ripple-effect.entry.js +26 -18
- package/dist/esm/ion-route_4.entry.js +76 -179
- package/dist/esm/ion-searchbar.entry.js +331 -308
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +27 -28
- package/dist/esm/ion-segment_2.entry.js +141 -177
- package/dist/esm/ion-select-modal.entry.js +70 -50
- package/dist/esm/ion-select_3.entry.js +429 -507
- package/dist/esm/ion-spinner.entry.js +36 -28
- package/dist/esm/ion-split-pane.entry.js +25 -34
- package/dist/esm/ion-tab-bar_2.entry.js +179 -116
- package/dist/esm/ion-tab_2.entry.js +30 -55
- package/dist/esm/ion-text.entry.js +7 -13
- package/dist/esm/ion-textarea.entry.js +309 -302
- package/dist/esm/ion-toast.entry.js +149 -244
- package/dist/esm/ion-toggle.entry.js +187 -184
- package/dist/esm/ionic-global-BJDU78B6.js +508 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-6oGu53GR.js} +21 -15
- package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-C6onMFOo.js} +1 -1
- package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-XukEYIFf.js} +5 -4
- package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-x-uHYVoq.js} +3 -3
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-BMngO4i_.js → md.transition-Dy5HxiSE.js} +11 -9
- package/dist/esm/notch-controller-BYB7mUMg.js +153 -0
- package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
- package/dist/esm/{overlays-CPmIs9Ls.js → overlays-C3YvaMgX.js} +333 -57
- package/dist/esm/scroll-hide-controller-B3MRYNXh.js +342 -0
- package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-BlKZ2H83.js} +4 -3
- package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-DK-ylvU7.js} +5 -4
- package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-DFICtpMC.js} +6 -5
- package/dist/esm/theme-DaJxRxSQ.js +67 -0
- package/dist/esm/validity-BjW8SOqw.js +48 -0
- package/dist/esm/x-BDqjX7Z_.js +6 -0
- package/dist/html.html-data.json +2690 -123
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p--sroV-k-.js +4 -0
- package/dist/ionic/p-0166d6e5.entry.js +4 -0
- package/dist/ionic/p-0a0a66e2.entry.js +4 -0
- package/dist/ionic/p-0ac15b5f.entry.js +4 -0
- package/dist/ionic/p-0c636ad3.entry.js +4 -0
- package/dist/ionic/p-126031d2.entry.js +4 -0
- package/dist/ionic/p-1a609156.entry.js +4 -0
- package/dist/ionic/p-1b473bad.entry.js +4 -0
- package/dist/ionic/p-1c1c18da.entry.js +4 -0
- package/dist/ionic/p-1ce65194.entry.js +4 -0
- package/dist/ionic/p-1febf200.entry.js +4 -0
- package/dist/ionic/p-2016c1c0.entry.js +4 -0
- package/dist/ionic/p-2365483a.entry.js +4 -0
- package/dist/ionic/p-296226f1.entry.js +4 -0
- package/dist/ionic/p-2a54aec2.entry.js +4 -0
- package/dist/ionic/p-2bf60b77.entry.js +4 -0
- package/dist/ionic/p-2e0184c0.entry.js +4 -0
- package/dist/ionic/p-2e1d650a.entry.js +4 -0
- package/dist/ionic/p-316eed75.entry.js +4 -0
- package/dist/ionic/p-31a0c9c2.entry.js +4 -0
- package/dist/ionic/p-40a21a22.entry.js +4 -0
- package/dist/ionic/p-431bc3ce.entry.js +4 -0
- package/dist/ionic/p-51542c69.entry.js +4 -0
- package/dist/ionic/p-5dedd699.entry.js +4 -0
- package/dist/ionic/p-68e453f7.entry.js +4 -0
- package/dist/ionic/p-711ba315.entry.js +4 -0
- package/dist/ionic/p-731d11e1.entry.js +4 -0
- package/dist/ionic/p-75c7595c.entry.js +4 -0
- package/dist/ionic/p-76232f5f.entry.js +4 -0
- package/dist/ionic/p-7cbf17f0.entry.js +4 -0
- package/dist/ionic/p-7f59020c.entry.js +4 -0
- package/dist/ionic/p-7k7Q1A38.js +4 -0
- package/dist/ionic/p-8303462c.entry.js +4 -0
- package/dist/ionic/p-9db78e5c.entry.js +4 -0
- package/dist/ionic/p-B4Kq2YNk.js +4 -0
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BFhQ1N-L.js +4 -0
- package/dist/ionic/p-BG7tpRhR.js +4 -0
- package/dist/ionic/p-BITyMTKr.js +4 -0
- package/dist/ionic/p-BRPONI7N.js +4 -0
- package/dist/ionic/p-BTEOs1at.js +4 -0
- package/dist/ionic/p-BVdSuKmt.js +4 -0
- package/dist/ionic/p-BYRVyMu9.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BjW8SOqw.js +4 -0
- package/dist/ionic/p-Bpx1lBiP.js +4 -0
- package/dist/ionic/p-BwKpO3Is.js +4 -0
- package/dist/ionic/p-C-BLhfUi.js +4 -0
- package/dist/ionic/p-C-aO35cw.js +4 -0
- package/dist/ionic/p-C0EQceqV.js +5 -0
- package/dist/ionic/p-CDrQfM-I.js +4 -0
- package/dist/ionic/p-CODBQrPj.js +4 -0
- package/dist/ionic/p-CTSaffvS.js +4 -0
- package/dist/ionic/p-CaM5HwzM.js +4 -0
- package/dist/ionic/p-CgaW5Zy8.js +4 -0
- package/dist/ionic/p-Cipl19Qe.js +4 -0
- package/dist/ionic/p-CnBfCmL2.js +4 -0
- package/dist/ionic/p-D-Xit5Ye.js +4 -0
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/p-D7LIC84Z.js +4 -0
- package/dist/ionic/p-D844sgjq.js +4 -0
- package/dist/ionic/p-DWDKFjrH.js +4 -0
- package/dist/ionic/p-DaJxRxSQ.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-DhyWlGap.js +4 -0
- package/dist/ionic/p-DiyY-i-5.js +4 -0
- package/dist/ionic/p-DrxPmT9E.js +4 -0
- package/dist/ionic/p-YIsE5bNG.js +4 -0
- package/dist/ionic/p-a37444b3.entry.js +4 -0
- package/dist/ionic/p-a9df0ccf.entry.js +4 -0
- package/dist/ionic/p-ac3af8af.entry.js +4 -0
- package/dist/ionic/p-b25f3aba.entry.js +4 -0
- package/dist/ionic/p-b3da2cc7.entry.js +4 -0
- package/dist/ionic/p-b4533070.entry.js +4 -0
- package/dist/ionic/p-b4901bce.entry.js +4 -0
- package/dist/ionic/p-bb7bb4fd.entry.js +4 -0
- package/dist/ionic/p-be06def7.entry.js +4 -0
- package/dist/ionic/p-c0983eac.entry.js +4 -0
- package/dist/ionic/p-c4ebdfd2.entry.js +4 -0
- package/dist/ionic/p-c4ed1e18.entry.js +4 -0
- package/dist/ionic/p-d9ac7a0d.entry.js +4 -0
- package/dist/ionic/p-dc8a8505.entry.js +4 -0
- package/dist/ionic/p-ddc41dbb.entry.js +4 -0
- package/dist/ionic/p-de4e8418.entry.js +4 -0
- package/dist/ionic/p-df642ef5.entry.js +4 -0
- package/dist/ionic/p-e086f8c3.entry.js +4 -0
- package/dist/ionic/p-edd8f490.entry.js +4 -0
- package/dist/ionic/p-f0968c91.entry.js +4 -0
- package/dist/ionic/p-f6768728.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-fc726f4a.entry.js +4 -0
- package/dist/ionic/p-ff74cf5d.entry.js +4 -0
- package/dist/ionic/p-i6iV8hMy.js +4 -0
- package/dist/ionic/p-nUlpIttM.js +4 -0
- package/dist/ionic/p-o8OKV5aD.js +4 -0
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/ionic/p-zRFin7iz.js +4 -0
- package/dist/ionic/p-zn4qAQ_d.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +6 -3
- package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
- package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
- package/dist/types/components/alert/alert-interface.d.ts +3 -7
- package/dist/types/components/alert/alert.d.ts +3 -2
- package/dist/types/components/app/app.d.ts +4 -5
- package/dist/types/components/avatar/avatar.d.ts +32 -0
- package/dist/types/components/back-button/back-button.d.ts +2 -1
- package/dist/types/components/backdrop/backdrop.d.ts +4 -0
- package/dist/types/components/badge/badge.d.ts +34 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +23 -8
- package/dist/types/components/buttons/buttons.d.ts +5 -1
- package/dist/types/components/card/card.d.ts +8 -1
- package/dist/types/components/card-content/card-content.d.ts +2 -1
- package/dist/types/components/card-header/card-header.d.ts +3 -2
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
- package/dist/types/components/card-title/card-title.d.ts +2 -1
- package/dist/types/components/checkbox/checkbox.d.ts +14 -4
- package/dist/types/components/chip/chip.d.ts +26 -1
- package/dist/types/components/col/col.d.ts +52 -5
- package/dist/types/components/content/content.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +26 -1
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
- package/dist/types/components/divider/divider.d.ts +20 -0
- package/dist/types/components/fab/fab.d.ts +4 -0
- package/dist/types/components/fab-button/fab-button.d.ts +5 -3
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer-interface.d.ts +1 -0
- package/dist/types/components/footer/footer.d.ts +20 -3
- package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
- package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
- package/dist/types/components/gallery/gallery.d.ts +218 -0
- package/dist/types/components/gallery/test/utils.d.ts +3 -0
- package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header-interface.d.ts +1 -0
- package/dist/types/components/header/header.d.ts +26 -3
- package/dist/types/components/header/header.utils.d.ts +4 -5
- package/dist/types/components/img/img.d.ts +2 -1
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +40 -17
- package/dist/types/components/input-otp/input-otp.d.ts +37 -0
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
- package/dist/types/components/item/item.d.ts +11 -4
- package/dist/types/components/item-divider/item-divider.d.ts +2 -1
- package/dist/types/components/item-group/item-group.d.ts +4 -0
- package/dist/types/components/item-option/item-option.d.ts +18 -1
- package/dist/types/components/item-options/item-options.d.ts +4 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
- package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
- package/dist/types/components/label/label.d.ts +2 -1
- package/dist/types/components/list/list.d.ts +15 -1
- package/dist/types/components/list-header/list-header.d.ts +2 -1
- package/dist/types/components/loading/loading-interface.d.ts +2 -7
- package/dist/types/components/loading/loading.d.ts +3 -2
- package/dist/types/components/menu/menu.d.ts +3 -0
- package/dist/types/components/menu-button/menu-button.d.ts +3 -1
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
- package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
- package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +4 -16
- package/dist/types/components/modal/modal.d.ts +15 -12
- package/dist/types/components/nav/nav-interface.d.ts +10 -1
- package/dist/types/components/nav/nav.d.ts +27 -3
- package/dist/types/components/nav-link/nav-link.d.ts +4 -0
- package/dist/types/components/note/note.d.ts +2 -1
- package/dist/types/components/picker/picker.d.ts +2 -1
- package/dist/types/components/picker-column/picker-column.d.ts +2 -1
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
- package/dist/types/components/picker-legacy/picker.d.ts +159 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
- package/dist/types/components/popover/popover-interface.d.ts +3 -6
- package/dist/types/components/popover/popover.d.ts +6 -5
- package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
- package/dist/types/components/radio/radio.d.ts +2 -1
- package/dist/types/components/radio-group/radio-group.d.ts +12 -0
- package/dist/types/components/range/range.d.ts +2 -1
- package/dist/types/components/refresher/refresher.d.ts +2 -1
- package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
- package/dist/types/components/reorder/reorder.d.ts +9 -0
- package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
- package/dist/types/components/route/route.d.ts +5 -1
- package/dist/types/components/router/router.d.ts +4 -0
- package/dist/types/components/router-link/router-link.d.ts +4 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +4 -8
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar.d.ts +57 -11
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +55 -26
- package/dist/types/components/select-modal/select-modal.d.ts +8 -0
- package/dist/types/components/select-option/select-option.d.ts +7 -4
- package/dist/types/components/select-popover/select-popover.d.ts +3 -0
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
- package/dist/types/components/spinner/spinner.d.ts +15 -0
- package/dist/types/components/split-pane/split-pane.d.ts +4 -0
- package/dist/types/components/tab/tab.d.ts +4 -0
- package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
- package/dist/types/components/tab-button/tab-button.d.ts +12 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components/text/text.d.ts +2 -1
- package/dist/types/components/textarea/textarea.d.ts +58 -16
- package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
- package/dist/types/components/title/title.d.ts +4 -0
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +3 -7
- package/dist/types/components/toast/toast.d.ts +19 -2
- package/dist/types/components/toggle/toggle.d.ts +15 -1
- package/dist/types/components/toolbar/toolbar.d.ts +43 -3
- package/dist/types/components.d.ts +2171 -263
- package/dist/types/global/ionic-global.d.ts +28 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +4 -0
- package/dist/types/utils/config.d.ts +114 -3
- package/dist/types/utils/css-value-validation.d.ts +21 -0
- package/dist/types/utils/focus-trap.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +13 -0
- package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
- package/dist/types/utils/forms/index.d.ts +1 -1
- package/dist/types/utils/forms/validity.d.ts +7 -0
- package/dist/types/utils/helpers.d.ts +22 -0
- package/dist/types/utils/logging/index.d.ts +1 -2
- package/dist/types/utils/overlay-control-label.d.ts +11 -9
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/overlays.d.ts +10 -12
- package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
- package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
- package/dist/types/utils/test/playwright/generator.d.ts +31 -2
- 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 +9 -0
- package/hydrate/index.js +12136 -10495
- package/hydrate/index.mjs +12136 -10495
- package/package.json +17 -56
- package/components/p--m5cCjbK.js +0 -4
- package/components/p-1jI5oW-W.js +0 -4
- package/components/p-8FN7p701.js +0 -4
- package/components/p-B4uHHhPK.js +0 -4
- package/components/p-BMPN55of.js +0 -4
- package/components/p-BNJOu1Q2.js +0 -4
- package/components/p-BOvLNVKq.js +0 -4
- package/components/p-BSQPZ79H.js +0 -4
- package/components/p-BeamQXHF.js +0 -4
- package/components/p-BhamHSw3.js +0 -4
- package/components/p-Bjig0DJK.js +0 -4
- package/components/p-BjluhQMI.js +0 -4
- package/components/p-BlsIikdZ.js +0 -4
- package/components/p-BmVRXR1y.js +0 -4
- package/components/p-BqPNzJf6.js +0 -4
- package/components/p-BrD9Xv62.js +0 -4
- package/components/p-BvJqoZ5R.js +0 -4
- package/components/p-Bz6z3Asd.js +0 -4
- package/components/p-C5KYjZWD.js +0 -4
- package/components/p-C6HnVvHO.js +0 -4
- package/components/p-C7jvh5Wy.js +0 -4
- package/components/p-C9BGR5fy.js +0 -4
- package/components/p-CB-y1CdP.js +0 -4
- package/components/p-CEW4RXZO.js +0 -4
- package/components/p-CHH3loEE.js +0 -4
- package/components/p-CIGNaXM1.js +0 -4
- package/components/p-CJKUWjmg.js +0 -4
- package/components/p-C_phlPMC.js +0 -4
- package/components/p-CbhUdtjf.js +0 -4
- package/components/p-CejmQs3h.js +0 -4
- package/components/p-CtZqa4HM.js +0 -4
- package/components/p-D7-vHX0A.js +0 -4
- package/components/p-D9qIVSWm.js +0 -4
- package/components/p-DD5fQ4EQ.js +0 -4
- package/components/p-DE-3iMNW.js +0 -4
- package/components/p-DFvZn99E.js +0 -4
- package/components/p-DHFt2rdc.js +0 -4
- package/components/p-DJztqcrH.js +0 -4
- package/components/p-DM-PrAoh.js +0 -4
- package/components/p-DSzSbVP2.js +0 -4
- package/components/p-DV85C0e0.js +0 -4
- package/components/p-DWCzVL3Y.js +0 -4
- package/components/p-D_RCyzwu.js +0 -4
- package/components/p-D_tD8r3L.js +0 -4
- package/components/p-DaA_8eqt.js +0 -4
- package/components/p-DjCtLZbF.js +0 -4
- package/components/p-Dmd2xqCe.js +0 -4
- package/components/p-Dojwmvde.js +0 -4
- package/components/p-G0TxqHfe.js +0 -4
- package/components/p-G6JR-cr_.js +0 -4
- package/components/p-GG5GhznE.js +0 -4
- package/components/p-LpMHEu3v.js +0 -4
- package/components/p-TXPDHL13.js +0 -4
- package/components/p-UIBJkZf8.js +0 -4
- package/components/p-ZjP4CjeZ.js +0 -4
- package/components/p-_IKFD3ID.js +0 -4
- package/components/p-byZM6qHV.js +0 -4
- package/components/p-dKq2jIum.js +0 -4
- package/components/p-fruGqVHh.js +0 -4
- package/components/p-iYhH60Tc.js +0 -4
- package/components/p-ia3IDdJS.js +0 -4
- package/dist/cjs/hardware-back-button-fqpYh-kd.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/cjs/input.utils-BZdMWVrt.js +0 -35
- package/dist/cjs/ion-datetime.cjs.entry.js +0 -2770
- package/dist/cjs/ionic-global-k6hOWWpn.js +0 -156
- package/dist/cjs/keyboard-controller-PtZoN2GS.js +0 -167
- package/dist/cjs/slot-mutation-controller-DPHmqXdV.js +0 -397
- package/dist/cjs/validity-BpS37YFM.js +0 -19
- package/dist/collection/utils/forms/start-container-controller.js +0 -132
- package/dist/esm/hardware-back-button-gLJHMX_F.js +0 -115
- package/dist/esm/index-ZjP4CjeZ.js +0 -7
- package/dist/esm/input.utils-B1ValN_N.js +0 -33
- package/dist/esm/ion-datetime.entry.js +0 -2768
- package/dist/esm/ionic-global-BVB7BrLT.js +0 -151
- package/dist/esm/keyboard-controller-DEwoa1ev.js +0 -165
- package/dist/esm/slot-mutation-controller-DiE_C9un.js +0 -393
- package/dist/esm/theme-byZM6qHV.js +0 -48
- package/dist/esm/validity-DJztqcrH.js +0 -17
- package/dist/ionic/p-06ec7136.entry.js +0 -4
- package/dist/ionic/p-09fe4fa3.entry.js +0 -4
- package/dist/ionic/p-10d45a07.entry.js +0 -4
- package/dist/ionic/p-208c8a07.entry.js +0 -4
- package/dist/ionic/p-212474fa.entry.js +0 -4
- package/dist/ionic/p-2eef1396.entry.js +0 -4
- package/dist/ionic/p-347e005d.entry.js +0 -4
- package/dist/ionic/p-3a0b3f1d.entry.js +0 -4
- package/dist/ionic/p-3b071259.entry.js +0 -4
- package/dist/ionic/p-40424a88.entry.js +0 -4
- package/dist/ionic/p-4204184c.entry.js +0 -4
- package/dist/ionic/p-47464391.entry.js +0 -4
- package/dist/ionic/p-4eOQC00Z.js +0 -4
- package/dist/ionic/p-4f9c9126.entry.js +0 -4
- package/dist/ionic/p-5JsKPLJD.js +0 -4
- package/dist/ionic/p-5bc485c6.entry.js +0 -4
- package/dist/ionic/p-603a61e6.entry.js +0 -4
- package/dist/ionic/p-60576951.entry.js +0 -4
- package/dist/ionic/p-67a81d33.entry.js +0 -4
- package/dist/ionic/p-6affb775.entry.js +0 -4
- package/dist/ionic/p-6f120c25.entry.js +0 -4
- package/dist/ionic/p-71c82b60.entry.js +0 -4
- package/dist/ionic/p-79325ffe.entry.js +0 -4
- package/dist/ionic/p-7CBuOvEo.js +0 -4
- package/dist/ionic/p-7e4d51fa.entry.js +0 -4
- package/dist/ionic/p-7f5d4664.entry.js +0 -4
- package/dist/ionic/p-80ee82fc.entry.js +0 -4
- package/dist/ionic/p-84af7dbc.entry.js +0 -4
- package/dist/ionic/p-89ca830a.entry.js +0 -4
- package/dist/ionic/p-93b8ec8f.entry.js +0 -4
- package/dist/ionic/p-946f65c2.entry.js +0 -4
- package/dist/ionic/p-9c4b39fb.entry.js +0 -4
- package/dist/ionic/p-B1NEZUzQ.js +0 -4
- package/dist/ionic/p-B1ck5iy-.js +0 -4
- package/dist/ionic/p-B4FrqdW0.js +0 -4
- package/dist/ionic/p-BB0LlG4y.js +0 -4
- package/dist/ionic/p-BMPN55of.js +0 -4
- package/dist/ionic/p-BSQPZ79H.js +0 -4
- package/dist/ionic/p-BYEAtHr-.js +0 -4
- package/dist/ionic/p-BhamHSw3.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-BvabGprD.js +0 -4
- package/dist/ionic/p-C-94tAim.js +0 -4
- package/dist/ionic/p-C-eHZMYE.js +0 -4
- package/dist/ionic/p-CBR_W98Z.js +0 -4
- package/dist/ionic/p-CBWAXjA5.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-CMRtMbJc.js +0 -4
- package/dist/ionic/p-CPcPmkGv.js +0 -4
- package/dist/ionic/p-CaRuIadB.js +0 -4
- package/dist/ionic/p-Cdjxf_yg.js +0 -4
- package/dist/ionic/p-ChhhtsGZ.js +0 -5
- package/dist/ionic/p-CzS1qWve.js +0 -4
- package/dist/ionic/p-D5t_-oMk.js +0 -4
- package/dist/ionic/p-D94_RztK.js +0 -4
- package/dist/ionic/p-DJztqcrH.js +0 -4
- package/dist/ionic/p-DWCzVL3Y.js +0 -4
- package/dist/ionic/p-DjjfauRM.js +0 -4
- package/dist/ionic/p-DkUB-ROc.js +0 -4
- package/dist/ionic/p-Dn0mqQ_R.js +0 -4
- package/dist/ionic/p-Dojwmvde.js +0 -4
- package/dist/ionic/p-DplOqGUv.js +0 -4
- package/dist/ionic/p-Dst_XmZh.js +0 -4
- package/dist/ionic/p-T71k3C35.js +0 -4
- package/dist/ionic/p-TXPDHL13.js +0 -4
- package/dist/ionic/p-UIBJkZf8.js +0 -4
- package/dist/ionic/p-ZjP4CjeZ.js +0 -4
- package/dist/ionic/p-a438b193.entry.js +0 -4
- package/dist/ionic/p-babaaaa7.entry.js +0 -4
- package/dist/ionic/p-be08d500.entry.js +0 -4
- package/dist/ionic/p-be9a4f51.entry.js +0 -4
- package/dist/ionic/p-byZM6qHV.js +0 -4
- package/dist/ionic/p-c00d3092.entry.js +0 -4
- package/dist/ionic/p-c36dc8f5.entry.js +0 -4
- package/dist/ionic/p-c72a7e17.entry.js +0 -4
- package/dist/ionic/p-c8edd88c.entry.js +0 -4
- package/dist/ionic/p-ce0e380b.entry.js +0 -4
- package/dist/ionic/p-ce32912b.entry.js +0 -4
- package/dist/ionic/p-d07cf130.entry.js +0 -4
- package/dist/ionic/p-d27edeb3.entry.js +0 -4
- package/dist/ionic/p-d5d2c506.entry.js +0 -4
- package/dist/ionic/p-d5e31ca9.entry.js +0 -4
- package/dist/ionic/p-de91444f.entry.js +0 -4
- package/dist/ionic/p-ded69ceb.entry.js +0 -4
- package/dist/ionic/p-df72866d.entry.js +0 -4
- package/dist/ionic/p-e47e3151.entry.js +0 -4
- package/dist/ionic/p-e621e5e8.entry.js +0 -4
- package/dist/ionic/p-eea9cf93.entry.js +0 -4
- package/dist/ionic/p-f402f5a4.entry.js +0 -4
- package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
- package/dist/ionic/p-ffb90460.entry.js +0 -4
- package/dist/types/utils/forms/start-container-controller.d.ts +0 -34
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -1,33 +1,201 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import arrowLeftRegular from "@phosphor-icons/core/assets/regular/arrow-left.svg";
|
|
5
|
+
import magnifyingGlassRegular from "@phosphor-icons/core/assets/regular/magnifying-glass.svg";
|
|
6
|
+
import xRegular from "@phosphor-icons/core/assets/regular/x.svg";
|
|
4
7
|
import { Host, forceUpdate, h } from "@stencil/core";
|
|
8
|
+
import { createClearButtonPressController } from "../../utils/forms/index";
|
|
5
9
|
import { debounceEvent, raf, componentOnReady, inheritAttributes } from "../../utils/helpers";
|
|
6
10
|
import { isRTL } from "../../utils/rtl/index";
|
|
7
|
-
import { createColorClasses } from "../../utils/theme";
|
|
11
|
+
import { createColorClasses, hostContext } from "../../utils/theme";
|
|
8
12
|
import { arrowBackSharp, closeCircle, closeSharp, searchOutline, searchSharp } from "ionicons/icons";
|
|
9
13
|
import { config } from "../../global/config";
|
|
10
|
-
import {
|
|
14
|
+
import { getIonTheme } from "../../global/ionic-global";
|
|
11
15
|
/**
|
|
12
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines
|
|
16
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
17
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
13
18
|
*/
|
|
14
19
|
export class Searchbar {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
constructor() {
|
|
21
|
+
this.isCancelVisible = false;
|
|
22
|
+
this.shouldAlignLeft = true;
|
|
23
|
+
this.inputId = `ion-searchbar-${searchbarIds++}`;
|
|
24
|
+
this.inheritedAttributes = {};
|
|
25
|
+
this.focused = false;
|
|
26
|
+
this.noAnimate = true;
|
|
27
|
+
/** Keeps the clear button mounted for the duration of a press. */
|
|
28
|
+
this.isClearButtonPressed = false;
|
|
29
|
+
this.clearButtonPressController = createClearButtonPressController((isPressed) => (this.isClearButtonPressed = isPressed));
|
|
30
|
+
/**
|
|
31
|
+
* If `true`, enable searchbar animation.
|
|
32
|
+
*/
|
|
33
|
+
this.animated = false;
|
|
34
|
+
/**
|
|
35
|
+
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
36
|
+
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
37
|
+
*/
|
|
38
|
+
this.autocapitalize = 'off';
|
|
39
|
+
/**
|
|
40
|
+
* Set the input's autocomplete property.
|
|
41
|
+
*/
|
|
42
|
+
this.autocomplete = 'off';
|
|
43
|
+
/**
|
|
44
|
+
* Set the input's autocorrect property.
|
|
45
|
+
*/
|
|
46
|
+
this.autocorrect = 'off';
|
|
47
|
+
/**
|
|
48
|
+
* Set the cancel button text. Only available when the theme is `"ios"`.
|
|
49
|
+
*/
|
|
50
|
+
this.cancelButtonText = 'Cancel';
|
|
51
|
+
/**
|
|
52
|
+
* If `true`, the user cannot interact with the input.
|
|
53
|
+
*/
|
|
54
|
+
this.disabled = false;
|
|
55
|
+
/**
|
|
56
|
+
* If used in a form, set the name of the control, which is submitted with the form data.
|
|
57
|
+
*/
|
|
58
|
+
this.name = this.inputId;
|
|
59
|
+
/**
|
|
60
|
+
* Set the input's placeholder.
|
|
61
|
+
* `placeholder` can accept either plaintext or HTML as a string.
|
|
62
|
+
* To display characters normally reserved for HTML, they
|
|
63
|
+
* must be escaped. For example `<Ionic>` would become
|
|
64
|
+
* `<Ionic>`
|
|
65
|
+
*
|
|
66
|
+
* For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
|
|
67
|
+
*/
|
|
68
|
+
this.placeholder = 'Search';
|
|
69
|
+
/**
|
|
70
|
+
* Sets the behavior for the cancel button. Defaults to `"never"`.
|
|
71
|
+
* Setting to `"focus"` shows the cancel button on focus.
|
|
72
|
+
* Setting to `"never"` hides the cancel button.
|
|
73
|
+
* Setting to `"always"` shows the cancel button regardless
|
|
74
|
+
* of focus state.
|
|
75
|
+
*/
|
|
76
|
+
this.showCancelButton = 'never';
|
|
77
|
+
/**
|
|
78
|
+
* Sets the behavior for the clear button. Defaults to `"focus"`.
|
|
79
|
+
* Setting to `"focus"` shows the clear button on focus if the
|
|
80
|
+
* input is not empty.
|
|
81
|
+
* Setting to `"never"` hides the clear button.
|
|
82
|
+
* Setting to `"always"` shows the clear button regardless
|
|
83
|
+
* of focus state, but only if the input is not empty.
|
|
84
|
+
*/
|
|
85
|
+
this.showClearButton = 'always';
|
|
86
|
+
/**
|
|
87
|
+
* If `true`, enable spellcheck on the input.
|
|
88
|
+
*/
|
|
89
|
+
this.spellcheck = false;
|
|
90
|
+
/**
|
|
91
|
+
* Set the type of the input.
|
|
92
|
+
*/
|
|
93
|
+
this.type = 'search';
|
|
94
|
+
/**
|
|
95
|
+
* the value of the searchbar.
|
|
96
|
+
*/
|
|
97
|
+
this.value = '';
|
|
98
|
+
/**
|
|
99
|
+
* Clears the input field and triggers the control change.
|
|
100
|
+
*/
|
|
101
|
+
this.onClearInput = async (shouldFocus) => {
|
|
102
|
+
this.clearButtonPressController.release();
|
|
103
|
+
if (this.clearTimeout) {
|
|
104
|
+
clearTimeout(this.clearTimeout);
|
|
105
|
+
}
|
|
106
|
+
this.ionClear.emit();
|
|
107
|
+
return new Promise((resolve) => {
|
|
108
|
+
// setTimeout() fixes https://github.com/ionic-team/ionic-framework/issues/7527
|
|
109
|
+
// wait for 4 frames
|
|
110
|
+
this.clearTimeout = setTimeout(() => {
|
|
111
|
+
const value = this.getValue();
|
|
112
|
+
if (value !== '') {
|
|
113
|
+
this.value = '';
|
|
114
|
+
this.emitInputChange();
|
|
115
|
+
/**
|
|
116
|
+
* When tapping clear button
|
|
117
|
+
* ensure input is focused after
|
|
118
|
+
* clearing input so users
|
|
119
|
+
* can quickly start typing.
|
|
120
|
+
*/
|
|
121
|
+
if (shouldFocus && !this.focused) {
|
|
122
|
+
this.setFocus();
|
|
123
|
+
/**
|
|
124
|
+
* The setFocus call above will clear focusedValue,
|
|
125
|
+
* but ionChange will never have gotten a chance to
|
|
126
|
+
* fire. Manually revert focusedValue so onBlur can
|
|
127
|
+
* compare against what was in the box before the clear.
|
|
128
|
+
*/
|
|
129
|
+
this.focusedValue = value;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
resolve();
|
|
133
|
+
}, 16 * 4);
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Clears the input field and tells the input to blur since
|
|
138
|
+
* the clearInput function doesn't want the input to blur
|
|
139
|
+
* then calls the custom cancel function if the user passed one in.
|
|
140
|
+
*/
|
|
141
|
+
this.onCancelSearchbar = async (ev) => {
|
|
142
|
+
if (ev) {
|
|
143
|
+
ev.preventDefault();
|
|
144
|
+
ev.stopPropagation();
|
|
145
|
+
}
|
|
146
|
+
this.ionCancel.emit();
|
|
147
|
+
// get cached values before clearing the input
|
|
148
|
+
const value = this.getValue();
|
|
149
|
+
const focused = this.focused;
|
|
150
|
+
await this.onClearInput();
|
|
151
|
+
/**
|
|
152
|
+
* If there used to be something in the box, and we weren't focused
|
|
153
|
+
* beforehand (meaning no blur fired that would already handle this),
|
|
154
|
+
* manually fire ionChange.
|
|
155
|
+
*/
|
|
156
|
+
if (value && !focused) {
|
|
157
|
+
this.emitValueChange(ev);
|
|
158
|
+
}
|
|
159
|
+
if (this.nativeInput) {
|
|
160
|
+
this.nativeInput.blur();
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Update the Searchbar input value when the input changes
|
|
165
|
+
*/
|
|
166
|
+
this.onInput = (ev) => {
|
|
167
|
+
const input = ev.target;
|
|
168
|
+
if (input) {
|
|
169
|
+
this.value = input.value;
|
|
170
|
+
}
|
|
171
|
+
this.emitInputChange(ev);
|
|
172
|
+
};
|
|
173
|
+
this.onChange = (ev) => {
|
|
174
|
+
this.emitValueChange(ev);
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Sets the Searchbar to not focused and checks if it should align left
|
|
178
|
+
* based on whether there is a value in the searchbar or not.
|
|
179
|
+
*/
|
|
180
|
+
this.onBlur = (ev) => {
|
|
181
|
+
this.focused = false;
|
|
182
|
+
this.ionBlur.emit();
|
|
183
|
+
this.positionElements();
|
|
184
|
+
if (this.focusedValue !== this.value) {
|
|
185
|
+
this.emitValueChange(ev);
|
|
186
|
+
}
|
|
187
|
+
this.focusedValue = undefined;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Sets the Searchbar to focused and active on input focus.
|
|
191
|
+
*/
|
|
192
|
+
this.onFocus = () => {
|
|
193
|
+
this.focused = true;
|
|
194
|
+
this.focusedValue = this.value;
|
|
195
|
+
this.ionFocus.emit();
|
|
196
|
+
this.positionElements();
|
|
197
|
+
};
|
|
198
|
+
}
|
|
31
199
|
/**
|
|
32
200
|
* lang and dir are globally enumerated attributes.
|
|
33
201
|
* As a result, creating these as properties
|
|
@@ -36,177 +204,21 @@ export class Searchbar {
|
|
|
36
204
|
* to the inner `<input>` element.
|
|
37
205
|
*/
|
|
38
206
|
onLangChanged(newValue) {
|
|
39
|
-
this.inheritedAttributes = {
|
|
40
|
-
...this.inheritedAttributes,
|
|
41
|
-
lang: newValue,
|
|
42
|
-
};
|
|
207
|
+
this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { lang: newValue });
|
|
43
208
|
forceUpdate(this);
|
|
44
209
|
}
|
|
45
210
|
onDirChanged(newValue) {
|
|
46
|
-
this.inheritedAttributes = {
|
|
47
|
-
...this.inheritedAttributes,
|
|
48
|
-
dir: newValue,
|
|
49
|
-
};
|
|
211
|
+
this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { dir: newValue });
|
|
50
212
|
forceUpdate(this);
|
|
51
213
|
}
|
|
52
|
-
/**
|
|
53
|
-
* The color to use from your application's color palette.
|
|
54
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
55
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
56
|
-
*/
|
|
57
|
-
color;
|
|
58
|
-
/**
|
|
59
|
-
* If `true`, enable searchbar animation.
|
|
60
|
-
*/
|
|
61
|
-
animated = false;
|
|
62
|
-
/**
|
|
63
|
-
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
64
|
-
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
65
|
-
*/
|
|
66
|
-
autocapitalize = 'off';
|
|
67
|
-
/**
|
|
68
|
-
* Set the input's autocomplete property.
|
|
69
|
-
*/
|
|
70
|
-
autocomplete = 'off';
|
|
71
|
-
/**
|
|
72
|
-
* Set the input's autocorrect property.
|
|
73
|
-
*/
|
|
74
|
-
autocorrect = false;
|
|
75
|
-
/**
|
|
76
|
-
* Set the cancel button icon. Only applies to `md` mode.
|
|
77
|
-
* Defaults to `arrow-back-sharp`.
|
|
78
|
-
*/
|
|
79
|
-
cancelButtonIcon = config.get('backButtonIcon', arrowBackSharp);
|
|
80
|
-
/**
|
|
81
|
-
* Set the cancel button text. Only applies to `ios` mode.
|
|
82
|
-
*/
|
|
83
|
-
cancelButtonText = 'Cancel';
|
|
84
|
-
/**
|
|
85
|
-
* Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
|
|
86
|
-
*/
|
|
87
|
-
clearIcon;
|
|
88
|
-
/**
|
|
89
|
-
* Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke.
|
|
90
|
-
*/
|
|
91
|
-
debounce;
|
|
92
214
|
debounceChanged() {
|
|
93
215
|
const { ionInput, debounce, originalIonInput } = this;
|
|
94
216
|
/**
|
|
95
217
|
* If debounce is undefined, we have to manually revert the ionInput emitter in case
|
|
96
218
|
* debounce used to be set to a number. Otherwise, the event would stay debounced.
|
|
97
219
|
*/
|
|
98
|
-
this.ionInput = debounce === undefined ? originalIonInput
|
|
220
|
+
this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
|
|
99
221
|
}
|
|
100
|
-
/**
|
|
101
|
-
* If `true`, the user cannot interact with the input.
|
|
102
|
-
*/
|
|
103
|
-
disabled = false;
|
|
104
|
-
/**
|
|
105
|
-
* A hint to the browser for which keyboard to display.
|
|
106
|
-
* Possible values: `"none"`, `"text"`, `"tel"`, `"url"`,
|
|
107
|
-
* `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
|
|
108
|
-
*/
|
|
109
|
-
inputmode;
|
|
110
|
-
/**
|
|
111
|
-
* A hint to the browser for which enter key to display.
|
|
112
|
-
* Possible values: `"enter"`, `"done"`, `"go"`, `"next"`,
|
|
113
|
-
* `"previous"`, `"search"`, and `"send"`.
|
|
114
|
-
*/
|
|
115
|
-
enterkeyhint;
|
|
116
|
-
/**
|
|
117
|
-
* This attribute specifies the maximum number of characters that the user can enter.
|
|
118
|
-
*/
|
|
119
|
-
maxlength;
|
|
120
|
-
/**
|
|
121
|
-
* This attribute specifies the minimum number of characters that the user can enter.
|
|
122
|
-
*/
|
|
123
|
-
minlength;
|
|
124
|
-
/**
|
|
125
|
-
* If used in a form, set the name of the control, which is submitted with the form data.
|
|
126
|
-
*/
|
|
127
|
-
name = this.inputId;
|
|
128
|
-
/**
|
|
129
|
-
* Set the input's placeholder.
|
|
130
|
-
* `placeholder` can accept either plaintext or HTML as a string.
|
|
131
|
-
* To display characters normally reserved for HTML, they
|
|
132
|
-
* must be escaped. For example `<Ionic>` would become
|
|
133
|
-
* `<Ionic>`
|
|
134
|
-
*
|
|
135
|
-
* For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
|
|
136
|
-
*/
|
|
137
|
-
placeholder = 'Search';
|
|
138
|
-
/**
|
|
139
|
-
* The icon to use as the search icon. Defaults to `search-outline` in
|
|
140
|
-
* `ios` mode and `search-sharp` in `md` mode.
|
|
141
|
-
*/
|
|
142
|
-
searchIcon;
|
|
143
|
-
/**
|
|
144
|
-
* Sets the behavior for the cancel button. Defaults to `"never"`.
|
|
145
|
-
* Setting to `"focus"` shows the cancel button on focus.
|
|
146
|
-
* Setting to `"never"` hides the cancel button.
|
|
147
|
-
* Setting to `"always"` shows the cancel button regardless
|
|
148
|
-
* of focus state.
|
|
149
|
-
*/
|
|
150
|
-
showCancelButton = 'never';
|
|
151
|
-
/**
|
|
152
|
-
* Sets the behavior for the clear button. Defaults to `"focus"`.
|
|
153
|
-
* Setting to `"focus"` shows the clear button on focus if the
|
|
154
|
-
* input is not empty.
|
|
155
|
-
* Setting to `"never"` hides the clear button.
|
|
156
|
-
* Setting to `"always"` shows the clear button regardless
|
|
157
|
-
* of focus state, but only if the input is not empty.
|
|
158
|
-
*/
|
|
159
|
-
showClearButton = 'always';
|
|
160
|
-
/**
|
|
161
|
-
* If `true`, enable spellcheck on the input.
|
|
162
|
-
*/
|
|
163
|
-
spellcheck = false;
|
|
164
|
-
/**
|
|
165
|
-
* Set the type of the input.
|
|
166
|
-
*/
|
|
167
|
-
type = 'search';
|
|
168
|
-
/**
|
|
169
|
-
* the value of the searchbar.
|
|
170
|
-
*/
|
|
171
|
-
value = '';
|
|
172
|
-
/**
|
|
173
|
-
* Emitted when the `value` of the `ion-searchbar` element has changed.
|
|
174
|
-
*/
|
|
175
|
-
ionInput;
|
|
176
|
-
/**
|
|
177
|
-
* The `ionChange` event is fired for `<ion-searchbar>` elements when the user
|
|
178
|
-
* modifies the element's value. Unlike the `ionInput` event, the `ionChange`
|
|
179
|
-
* event is not necessarily fired for each alteration to an element's value.
|
|
180
|
-
*
|
|
181
|
-
* The `ionChange` event is fired when the value has been committed
|
|
182
|
-
* by the user. This can happen when the element loses focus or
|
|
183
|
-
* when the "Enter" key is pressed. `ionChange` can also fire
|
|
184
|
-
* when clicking the clear or cancel buttons.
|
|
185
|
-
*
|
|
186
|
-
* This event will not emit when programmatically setting the `value` property.
|
|
187
|
-
*/
|
|
188
|
-
ionChange;
|
|
189
|
-
/**
|
|
190
|
-
* Emitted when the cancel button is clicked.
|
|
191
|
-
*/
|
|
192
|
-
ionCancel;
|
|
193
|
-
/**
|
|
194
|
-
* Emitted when the clear input button is clicked.
|
|
195
|
-
*/
|
|
196
|
-
ionClear;
|
|
197
|
-
/**
|
|
198
|
-
* Emitted when the input loses focus.
|
|
199
|
-
*/
|
|
200
|
-
ionBlur;
|
|
201
|
-
/**
|
|
202
|
-
* Emitted when the input has focus.
|
|
203
|
-
*/
|
|
204
|
-
ionFocus;
|
|
205
|
-
/**
|
|
206
|
-
* Emitted when the styles change.
|
|
207
|
-
* @internal
|
|
208
|
-
*/
|
|
209
|
-
ionStyle;
|
|
210
222
|
valueChanged() {
|
|
211
223
|
const inputEl = this.nativeInput;
|
|
212
224
|
const value = this.getValue();
|
|
@@ -224,9 +236,7 @@ export class Searchbar {
|
|
|
224
236
|
this.emitStyle();
|
|
225
237
|
}
|
|
226
238
|
componentWillLoad() {
|
|
227
|
-
this.inheritedAttributes = {
|
|
228
|
-
...inheritAttributes(this.el, ['lang', 'dir']),
|
|
229
|
-
};
|
|
239
|
+
this.inheritedAttributes = Object.assign({}, inheritAttributes(this.el, ['lang', 'dir']));
|
|
230
240
|
}
|
|
231
241
|
componentDidLoad() {
|
|
232
242
|
this.originalIonInput = this.ionInput;
|
|
@@ -237,13 +247,15 @@ export class Searchbar {
|
|
|
237
247
|
}, 300);
|
|
238
248
|
}
|
|
239
249
|
disconnectedCallback() {
|
|
250
|
+
var _a;
|
|
251
|
+
this.clearButtonPressController.destroy();
|
|
240
252
|
if (this.loadTimeout) {
|
|
241
253
|
clearTimeout(this.loadTimeout);
|
|
242
254
|
}
|
|
243
255
|
if (this.clearTimeout) {
|
|
244
256
|
clearTimeout(this.clearTimeout);
|
|
245
257
|
}
|
|
246
|
-
this.searchIconResizeObserver
|
|
258
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
247
259
|
}
|
|
248
260
|
emitStyle() {
|
|
249
261
|
this.ionStyle.emit({
|
|
@@ -299,105 +311,6 @@ export class Searchbar {
|
|
|
299
311
|
const { value } = this;
|
|
300
312
|
this.ionInput.emit({ value, event });
|
|
301
313
|
}
|
|
302
|
-
/**
|
|
303
|
-
* Clears the input field and triggers the control change.
|
|
304
|
-
*/
|
|
305
|
-
onClearInput = async (shouldFocus) => {
|
|
306
|
-
if (this.clearTimeout) {
|
|
307
|
-
clearTimeout(this.clearTimeout);
|
|
308
|
-
}
|
|
309
|
-
this.ionClear.emit();
|
|
310
|
-
return new Promise((resolve) => {
|
|
311
|
-
// setTimeout() fixes https://github.com/ionic-team/ionic-framework/issues/7527
|
|
312
|
-
// wait for 4 frames
|
|
313
|
-
this.clearTimeout = setTimeout(() => {
|
|
314
|
-
const value = this.getValue();
|
|
315
|
-
if (value !== '') {
|
|
316
|
-
this.value = '';
|
|
317
|
-
this.emitInputChange();
|
|
318
|
-
/**
|
|
319
|
-
* When tapping clear button
|
|
320
|
-
* ensure input is focused after
|
|
321
|
-
* clearing input so users
|
|
322
|
-
* can quickly start typing.
|
|
323
|
-
*/
|
|
324
|
-
if (shouldFocus && !this.focused) {
|
|
325
|
-
this.setFocus();
|
|
326
|
-
/**
|
|
327
|
-
* The setFocus call above will clear focusedValue,
|
|
328
|
-
* but ionChange will never have gotten a chance to
|
|
329
|
-
* fire. Manually revert focusedValue so onBlur can
|
|
330
|
-
* compare against what was in the box before the clear.
|
|
331
|
-
*/
|
|
332
|
-
this.focusedValue = value;
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
resolve();
|
|
336
|
-
}, 16 * 4);
|
|
337
|
-
});
|
|
338
|
-
};
|
|
339
|
-
/**
|
|
340
|
-
* Clears the input field and tells the input to blur since
|
|
341
|
-
* the clearInput function doesn't want the input to blur
|
|
342
|
-
* then calls the custom cancel function if the user passed one in.
|
|
343
|
-
*/
|
|
344
|
-
onCancelSearchbar = async (ev) => {
|
|
345
|
-
if (ev) {
|
|
346
|
-
ev.preventDefault();
|
|
347
|
-
ev.stopPropagation();
|
|
348
|
-
}
|
|
349
|
-
this.ionCancel.emit();
|
|
350
|
-
// get cached values before clearing the input
|
|
351
|
-
const value = this.getValue();
|
|
352
|
-
const focused = this.focused;
|
|
353
|
-
await this.onClearInput();
|
|
354
|
-
/**
|
|
355
|
-
* If there used to be something in the box, and we weren't focused
|
|
356
|
-
* beforehand (meaning no blur fired that would already handle this),
|
|
357
|
-
* manually fire ionChange.
|
|
358
|
-
*/
|
|
359
|
-
if (value && !focused) {
|
|
360
|
-
this.emitValueChange(ev);
|
|
361
|
-
}
|
|
362
|
-
if (this.nativeInput) {
|
|
363
|
-
this.nativeInput.blur();
|
|
364
|
-
}
|
|
365
|
-
};
|
|
366
|
-
/**
|
|
367
|
-
* Update the Searchbar input value when the input changes
|
|
368
|
-
*/
|
|
369
|
-
onInput = (ev) => {
|
|
370
|
-
const input = ev.target;
|
|
371
|
-
if (input) {
|
|
372
|
-
this.value = input.value;
|
|
373
|
-
}
|
|
374
|
-
this.emitInputChange(ev);
|
|
375
|
-
};
|
|
376
|
-
onChange = (ev) => {
|
|
377
|
-
this.emitValueChange(ev);
|
|
378
|
-
};
|
|
379
|
-
/**
|
|
380
|
-
* Sets the Searchbar to not focused and checks if it should align left
|
|
381
|
-
* based on whether there is a value in the searchbar or not.
|
|
382
|
-
*/
|
|
383
|
-
onBlur = (ev) => {
|
|
384
|
-
this.focused = false;
|
|
385
|
-
this.ionBlur.emit();
|
|
386
|
-
this.positionElements();
|
|
387
|
-
if (this.focusedValue !== this.value) {
|
|
388
|
-
this.emitValueChange(ev);
|
|
389
|
-
}
|
|
390
|
-
this.focusedValue = undefined;
|
|
391
|
-
};
|
|
392
|
-
/**
|
|
393
|
-
* Sets the Searchbar to focused and active on input focus.
|
|
394
|
-
*/
|
|
395
|
-
onFocus = () => {
|
|
396
|
-
this.focused = true;
|
|
397
|
-
this.focusedValue = this.value;
|
|
398
|
-
this.ionFocus.emit();
|
|
399
|
-
this.positionElements();
|
|
400
|
-
};
|
|
401
314
|
/**
|
|
402
315
|
* Positions the input search icon, placeholder, and the cancel button
|
|
403
316
|
* based on the input value and if it is focused. (ios only)
|
|
@@ -405,10 +318,10 @@ export class Searchbar {
|
|
|
405
318
|
positionElements() {
|
|
406
319
|
const value = this.getValue();
|
|
407
320
|
const prevAlignLeft = this.shouldAlignLeft;
|
|
408
|
-
const
|
|
321
|
+
const theme = getIonTheme(this);
|
|
409
322
|
const shouldAlignLeft = !this.animated || value.trim() !== '' || !!this.focused;
|
|
410
323
|
this.shouldAlignLeft = shouldAlignLeft;
|
|
411
|
-
if (
|
|
324
|
+
if (theme !== 'ios') {
|
|
412
325
|
return;
|
|
413
326
|
}
|
|
414
327
|
if (prevAlignLeft !== shouldAlignLeft) {
|
|
@@ -440,6 +353,7 @@ export class Searchbar {
|
|
|
440
353
|
doc.body.appendChild(tempSpan);
|
|
441
354
|
// Get the width of the span then remove it
|
|
442
355
|
raf(() => {
|
|
356
|
+
var _a, _b;
|
|
443
357
|
const textWidth = tempSpan.offsetWidth;
|
|
444
358
|
tempSpan.remove();
|
|
445
359
|
// Calculate the input padding
|
|
@@ -458,14 +372,15 @@ export class Searchbar {
|
|
|
458
372
|
* If it is zero, set up a ResizeObserver and call this function when it observes a width greater than 0.
|
|
459
373
|
*/
|
|
460
374
|
if (iconWidth === 0) {
|
|
461
|
-
this.searchIconResizeObserver
|
|
375
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
462
376
|
this.searchIconResizeObserver = new ResizeObserver((entries) => {
|
|
377
|
+
var _a;
|
|
463
378
|
if (entries[0].contentRect.width > 0) {
|
|
464
|
-
this.searchIconResizeObserver
|
|
379
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
465
380
|
this.positionPlaceholder();
|
|
466
381
|
}
|
|
467
382
|
});
|
|
468
|
-
this.searchIconResizeObserver
|
|
383
|
+
(_b = this.searchIconResizeObserver) === null || _b === void 0 ? void 0 : _b.observe(iconEl);
|
|
469
384
|
return;
|
|
470
385
|
}
|
|
471
386
|
const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconWidth + 8) + 'px)';
|
|
@@ -518,6 +433,12 @@ export class Searchbar {
|
|
|
518
433
|
hasValue() {
|
|
519
434
|
return this.getValue() !== '';
|
|
520
435
|
}
|
|
436
|
+
shouldShowSearchIcon() {
|
|
437
|
+
if (this.searchIcon === false || this.searchIcon === 'false') {
|
|
438
|
+
return false;
|
|
439
|
+
}
|
|
440
|
+
return true;
|
|
441
|
+
}
|
|
521
442
|
/**
|
|
522
443
|
* Determines whether or not the cancel button should be visible onscreen.
|
|
523
444
|
* Cancel button should be shown if one of two conditions applies:
|
|
@@ -534,53 +455,153 @@ export class Searchbar {
|
|
|
534
455
|
* Determines whether or not the clear button should be visible onscreen.
|
|
535
456
|
* Clear button should be shown if one of two conditions applies:
|
|
536
457
|
* 1. `showClearButton` is set to `always`.
|
|
537
|
-
* 2. `showClearButton` is set to `focus`, and the searchbar has been
|
|
458
|
+
* 2. `showClearButton` is set to `focus`, and the searchbar has been
|
|
459
|
+
* focused or a clear button press is still in flight.
|
|
460
|
+
* Unless the `theme` is `ionic` and the searchbar is disabled.
|
|
538
461
|
*/
|
|
539
462
|
shouldShowClearButton() {
|
|
540
|
-
|
|
463
|
+
const theme = getIonTheme(this);
|
|
464
|
+
if (this.showClearButton === 'never' ||
|
|
465
|
+
(this.showClearButton === 'focus' && !this.focused && !this.isClearButtonPressed)) {
|
|
466
|
+
return false;
|
|
467
|
+
}
|
|
468
|
+
if (theme === 'ionic' && this.disabled) {
|
|
541
469
|
return false;
|
|
542
470
|
}
|
|
543
471
|
return true;
|
|
544
472
|
}
|
|
473
|
+
getShape() {
|
|
474
|
+
const theme = getIonTheme(this);
|
|
475
|
+
const { shape } = this;
|
|
476
|
+
// TODO(ROU-11677): Remove theme check when shapes are defined for all themes.
|
|
477
|
+
if (theme !== 'ionic') {
|
|
478
|
+
return undefined;
|
|
479
|
+
}
|
|
480
|
+
if (shape === undefined) {
|
|
481
|
+
return 'round';
|
|
482
|
+
}
|
|
483
|
+
return shape;
|
|
484
|
+
}
|
|
485
|
+
getSize() {
|
|
486
|
+
const theme = getIonTheme(this);
|
|
487
|
+
const { size } = this;
|
|
488
|
+
// TODO(ROU-11678): Remove theme check when sizes are defined for all themes.
|
|
489
|
+
if (theme !== 'ionic') {
|
|
490
|
+
return undefined;
|
|
491
|
+
}
|
|
492
|
+
if (size === undefined) {
|
|
493
|
+
return 'medium';
|
|
494
|
+
}
|
|
495
|
+
return size;
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Get the icon to use for the clear icon.
|
|
499
|
+
* If an icon is set on the component, use that.
|
|
500
|
+
* Otherwise, use the icon set in the config.
|
|
501
|
+
* If no icon is set in the config, use the default icon.
|
|
502
|
+
*/
|
|
503
|
+
get searchbarClearIcon() {
|
|
504
|
+
// Return the icon if it is explicitly set
|
|
505
|
+
if (this.clearIcon != null) {
|
|
506
|
+
return this.clearIcon;
|
|
507
|
+
}
|
|
508
|
+
// Determine the theme and map to default icons
|
|
509
|
+
const theme = getIonTheme(this);
|
|
510
|
+
const defaultIcons = {
|
|
511
|
+
ios: closeCircle,
|
|
512
|
+
ionic: xRegular,
|
|
513
|
+
md: closeSharp,
|
|
514
|
+
};
|
|
515
|
+
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
516
|
+
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
517
|
+
// Return the configured searchbar clear icon or the default icon
|
|
518
|
+
return config.get('searchbarClearIcon', defaultIcon);
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Get the icon to use for the search icon.
|
|
522
|
+
* If an icon is set on the component, use that.
|
|
523
|
+
* Otherwise, use the icon set in the config.
|
|
524
|
+
* If no icon is set in the config, use the default icon.
|
|
525
|
+
*/
|
|
526
|
+
get searchbarSearchIcon() {
|
|
527
|
+
// Return the icon if it is explicitly set.
|
|
528
|
+
// If the icon is set to a boolean or string 'true', use the default icon.
|
|
529
|
+
if (this.searchIcon != null && this.searchIcon !== 'true' && typeof this.searchIcon !== 'boolean') {
|
|
530
|
+
return this.searchIcon;
|
|
531
|
+
}
|
|
532
|
+
// Determine the theme and map to default icons
|
|
533
|
+
const theme = getIonTheme(this);
|
|
534
|
+
const defaultIcons = {
|
|
535
|
+
ios: searchOutline,
|
|
536
|
+
ionic: magnifyingGlassRegular,
|
|
537
|
+
md: searchSharp,
|
|
538
|
+
};
|
|
539
|
+
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
540
|
+
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
541
|
+
// Return the configured searchbar search icon or the default icon
|
|
542
|
+
return config.get('searchbarSearchIcon', defaultIcon);
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* Get the icon to use for the cancel icon.
|
|
546
|
+
* If an icon is set on the component, use that.
|
|
547
|
+
* Otherwise, use the icon set in the config.
|
|
548
|
+
* If no icon is set in the config, use the default icon.
|
|
549
|
+
*/
|
|
550
|
+
get searchbarCancelIcon() {
|
|
551
|
+
// Return the icon if it is explicitly set
|
|
552
|
+
if (this.cancelButtonIcon != null) {
|
|
553
|
+
return this.cancelButtonIcon;
|
|
554
|
+
}
|
|
555
|
+
// Determine the theme and map to default icons
|
|
556
|
+
const theme = getIonTheme(this);
|
|
557
|
+
const defaultIcons = {
|
|
558
|
+
ios: arrowBackSharp,
|
|
559
|
+
ionic: arrowLeftRegular,
|
|
560
|
+
md: arrowBackSharp,
|
|
561
|
+
};
|
|
562
|
+
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
563
|
+
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
564
|
+
// Return the configured searchbar cancel icon, the back button icon or the default icon
|
|
565
|
+
return config.get('searchbarCancelIcon', config.get('backButtonIcon', defaultIcon));
|
|
566
|
+
}
|
|
545
567
|
render() {
|
|
546
|
-
const { cancelButtonText, autocapitalize } = this;
|
|
568
|
+
const { cancelButtonText, autocapitalize, searchbarCancelIcon, searchbarClearIcon, searchbarSearchIcon } = this;
|
|
547
569
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
548
|
-
const
|
|
549
|
-
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
550
|
-
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
570
|
+
const theme = getIonTheme(this);
|
|
551
571
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
552
|
-
const
|
|
553
|
-
|
|
554
|
-
|
|
572
|
+
const shape = this.getShape();
|
|
573
|
+
const size = this.getSize();
|
|
574
|
+
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: 'b7c0ac188898cd320c11ecc3f100a686468b0b24', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: theme === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '3f04b6dcc64a2e51a4de863694888e5af3692387', "aria-hidden": "true" }, theme === 'md' || theme === 'ionic' ? (h("ion-icon", { "aria-hidden": "true", icon: searchbarCancelIcon, lazy: false })) : (cancelButtonText))));
|
|
575
|
+
return (h(Host, { key: '9c31c41ff5026a9c42f45a5cfd3c98d8eb4e9925', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
|
|
576
|
+
[theme]: true,
|
|
555
577
|
'searchbar-animated': animated,
|
|
556
578
|
'searchbar-disabled': this.disabled,
|
|
557
579
|
'searchbar-no-animate': animated && this.noAnimate,
|
|
558
580
|
'searchbar-has-value': this.hasValue(),
|
|
559
581
|
'searchbar-left-aligned': this.shouldAlignLeft,
|
|
560
582
|
'searchbar-has-focus': this.focused,
|
|
583
|
+
'searchbar-should-show-search-icon': this.shouldShowSearchIcon(),
|
|
561
584
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
562
585
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
* button is activated.
|
|
568
|
-
*/
|
|
569
|
-
ev.preventDefault();
|
|
570
|
-
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: 'bbf8d05eb1070a0d34a22236dfaaf11d8dcc06af', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
586
|
+
[`searchbar-shape-${shape}`]: shape !== undefined,
|
|
587
|
+
[`searchbar-size-${size}`]: size !== undefined,
|
|
588
|
+
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
589
|
+
}) }, h("div", { key: '5710382c91b47ecfba36aab7bd8497723cb1aa04', class: "searchbar-input-container" }, h("input", Object.assign({ key: '1ab27cbebfad408b96d1bb1b57e4caa7420ced72', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), (theme === 'md' || theme === 'ionic') && cancelButton, this.shouldShowSearchIcon() && (h("ion-icon", { key: '3e0d29f6f35e6b817bb4bc7f879e8445c2ceadee', "aria-hidden": "true", icon: searchbarSearchIcon, lazy: false, class: "searchbar-search-icon" })), this.shouldShowClearButton() && (h("button", { key: '87521fd5630077725fd30173d17fd1d49819c209', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: this.clearButtonPressController.onPointerDown, onPointerCancel: this.clearButtonPressController.release, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: 'd93452bbe539c582846e4a5826c0671e235349d0', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
|
|
571
590
|
}
|
|
572
591
|
static get is() { return "ion-searchbar"; }
|
|
573
592
|
static get encapsulation() { return "scoped"; }
|
|
574
593
|
static get originalStyleUrls() {
|
|
575
594
|
return {
|
|
576
595
|
"ios": ["searchbar.ios.scss"],
|
|
577
|
-
"md": ["searchbar.md.scss"]
|
|
596
|
+
"md": ["searchbar.md.scss"],
|
|
597
|
+
"ionic": ["searchbar.ionic.scss"]
|
|
578
598
|
};
|
|
579
599
|
}
|
|
580
600
|
static get styleUrls() {
|
|
581
601
|
return {
|
|
582
602
|
"ios": ["searchbar.ios.css"],
|
|
583
|
-
"md": ["searchbar.md.css"]
|
|
603
|
+
"md": ["searchbar.md.css"],
|
|
604
|
+
"ionic": ["searchbar.ionic.css"]
|
|
584
605
|
};
|
|
585
606
|
}
|
|
586
607
|
static get properties() {
|
|
@@ -679,11 +700,11 @@ export class Searchbar {
|
|
|
679
700
|
"defaultValue": "'off'"
|
|
680
701
|
},
|
|
681
702
|
"autocorrect": {
|
|
682
|
-
"type": "
|
|
703
|
+
"type": "string",
|
|
683
704
|
"mutable": false,
|
|
684
705
|
"complexType": {
|
|
685
|
-
"original": "
|
|
686
|
-
"resolved": "
|
|
706
|
+
"original": "'on' | 'off'",
|
|
707
|
+
"resolved": "\"off\" | \"on\"",
|
|
687
708
|
"references": {}
|
|
688
709
|
},
|
|
689
710
|
"required": false,
|
|
@@ -696,27 +717,26 @@ export class Searchbar {
|
|
|
696
717
|
"setter": false,
|
|
697
718
|
"reflect": false,
|
|
698
719
|
"attribute": "autocorrect",
|
|
699
|
-
"defaultValue": "
|
|
720
|
+
"defaultValue": "'off'"
|
|
700
721
|
},
|
|
701
722
|
"cancelButtonIcon": {
|
|
702
723
|
"type": "string",
|
|
703
724
|
"mutable": false,
|
|
704
725
|
"complexType": {
|
|
705
726
|
"original": "string",
|
|
706
|
-
"resolved": "string",
|
|
727
|
+
"resolved": "string | undefined",
|
|
707
728
|
"references": {}
|
|
708
729
|
},
|
|
709
730
|
"required": false,
|
|
710
|
-
"optional":
|
|
731
|
+
"optional": true,
|
|
711
732
|
"docs": {
|
|
712
733
|
"tags": [],
|
|
713
|
-
"text": "Set the cancel button icon. Only
|
|
734
|
+
"text": "Set the cancel button icon. Only available when the theme is `\"md\"`.\nDefaults to `\"arrow-back-sharp\"`."
|
|
714
735
|
},
|
|
715
736
|
"getter": false,
|
|
716
737
|
"setter": false,
|
|
717
738
|
"reflect": false,
|
|
718
|
-
"attribute": "cancel-button-icon"
|
|
719
|
-
"defaultValue": "config.get('backButtonIcon', arrowBackSharp) as string"
|
|
739
|
+
"attribute": "cancel-button-icon"
|
|
720
740
|
},
|
|
721
741
|
"cancelButtonText": {
|
|
722
742
|
"type": "string",
|
|
@@ -730,7 +750,7 @@ export class Searchbar {
|
|
|
730
750
|
"optional": false,
|
|
731
751
|
"docs": {
|
|
732
752
|
"tags": [],
|
|
733
|
-
"text": "Set the cancel button text. Only
|
|
753
|
+
"text": "Set the cancel button text. Only available when the theme is `\"ios\"`."
|
|
734
754
|
},
|
|
735
755
|
"getter": false,
|
|
736
756
|
"setter": false,
|
|
@@ -750,7 +770,7 @@ export class Searchbar {
|
|
|
750
770
|
"optional": true,
|
|
751
771
|
"docs": {
|
|
752
772
|
"tags": [],
|
|
753
|
-
"text": "Set the clear icon. Defaults to
|
|
773
|
+
"text": "Set the clear icon. Defaults to `\"close-circle\"` for `\"ios\"` theme and `\"close-sharp\"` for `\"md\"` and `\"ionic\"` theme."
|
|
754
774
|
},
|
|
755
775
|
"getter": false,
|
|
756
776
|
"setter": false,
|
|
@@ -913,18 +933,18 @@ export class Searchbar {
|
|
|
913
933
|
"defaultValue": "'Search'"
|
|
914
934
|
},
|
|
915
935
|
"searchIcon": {
|
|
916
|
-
"type": "
|
|
936
|
+
"type": "any",
|
|
917
937
|
"mutable": false,
|
|
918
938
|
"complexType": {
|
|
919
|
-
"original": "string",
|
|
920
|
-
"resolved": "string | undefined",
|
|
939
|
+
"original": "string | boolean",
|
|
940
|
+
"resolved": "boolean | string | undefined",
|
|
921
941
|
"references": {}
|
|
922
942
|
},
|
|
923
943
|
"required": false,
|
|
924
944
|
"optional": true,
|
|
925
945
|
"docs": {
|
|
926
946
|
"tags": [],
|
|
927
|
-
"text": "The icon to use as the search icon. Defaults to
|
|
947
|
+
"text": "The icon to use as the search icon. Defaults to `\"search-outline\"` in\nthe `\"ios\"` theme and `\"search-sharp\"` in the `\"md\"` and `\"ionic\"` themes.\nIf `false`, no search icon will be displayed."
|
|
928
948
|
},
|
|
929
949
|
"getter": false,
|
|
930
950
|
"setter": false,
|
|
@@ -1030,13 +1050,52 @@ export class Searchbar {
|
|
|
1030
1050
|
"reflect": false,
|
|
1031
1051
|
"attribute": "value",
|
|
1032
1052
|
"defaultValue": "''"
|
|
1053
|
+
},
|
|
1054
|
+
"shape": {
|
|
1055
|
+
"type": "string",
|
|
1056
|
+
"mutable": false,
|
|
1057
|
+
"complexType": {
|
|
1058
|
+
"original": "'soft' | 'round' | 'rectangular'",
|
|
1059
|
+
"resolved": "\"rectangular\" | \"round\" | \"soft\" | undefined",
|
|
1060
|
+
"references": {}
|
|
1061
|
+
},
|
|
1062
|
+
"required": false,
|
|
1063
|
+
"optional": true,
|
|
1064
|
+
"docs": {
|
|
1065
|
+
"tags": [],
|
|
1066
|
+
"text": "Set to `\"soft\"` for a searchbar with slightly rounded corners,\n`\"round\"` for a searchbar with fully rounded corners,\nor `\"rectangular\"` for a searchbar without rounded corners.\n\nDefaults to `\"round\"` for the ionic theme, and `undefined` for all other themes."
|
|
1067
|
+
},
|
|
1068
|
+
"getter": false,
|
|
1069
|
+
"setter": false,
|
|
1070
|
+
"reflect": false,
|
|
1071
|
+
"attribute": "shape"
|
|
1072
|
+
},
|
|
1073
|
+
"size": {
|
|
1074
|
+
"type": "string",
|
|
1075
|
+
"mutable": false,
|
|
1076
|
+
"complexType": {
|
|
1077
|
+
"original": "'small' | 'medium' | 'large'",
|
|
1078
|
+
"resolved": "\"large\" | \"medium\" | \"small\" | undefined",
|
|
1079
|
+
"references": {}
|
|
1080
|
+
},
|
|
1081
|
+
"required": false,
|
|
1082
|
+
"optional": true,
|
|
1083
|
+
"docs": {
|
|
1084
|
+
"tags": [],
|
|
1085
|
+
"text": "Set to `\"large\"` for a searchbar with an increase in height,\nwhile \"small\" and \"medium\" provide progressively smaller heights.\n\nDefaults to `\"medium\"` for the ionic theme, and `undefined` for all other themes."
|
|
1086
|
+
},
|
|
1087
|
+
"getter": false,
|
|
1088
|
+
"setter": false,
|
|
1089
|
+
"reflect": false,
|
|
1090
|
+
"attribute": "size"
|
|
1033
1091
|
}
|
|
1034
1092
|
};
|
|
1035
1093
|
}
|
|
1036
1094
|
static get states() {
|
|
1037
1095
|
return {
|
|
1038
1096
|
"focused": {},
|
|
1039
|
-
"noAnimate": {}
|
|
1097
|
+
"noAnimate": {},
|
|
1098
|
+
"isClearButtonPressed": {}
|
|
1040
1099
|
};
|
|
1041
1100
|
}
|
|
1042
1101
|
static get events() {
|