@ionic/core 8.8.19-dev.11787076261.138d5922 → 8.8.19-dev.11787083540.1511caf2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker-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-DV85C0e0.js → p--JUspHvy.js} +1 -1
- package/components/p-0LM2oPMC.js +4 -0
- package/components/{p-_0JhwClE.js → p-6J0vc7Z8.js} +1 -1
- package/components/p-9GFIh9p1.js +4 -0
- package/components/p-B21528L5.js +4 -0
- package/components/p-B2nSfLHH.js +4 -0
- package/components/p-B3qf4bEn.js +4 -0
- package/components/p-B9jFTlwE.js +4 -0
- package/components/p-BDd9Zrb9.js +4 -0
- package/components/p-BLmJ0zRm.js +4 -0
- package/components/p-BMYNBJgf.js +4 -0
- package/components/p-BRYd8D-I.js +4 -0
- package/components/p-BSEgsdFI.js +4 -0
- package/components/p-BTEOs1at.js +4 -0
- package/components/p-BTJrYwxN.js +4 -0
- package/components/p-BV-zKay-.js +4 -0
- package/components/p-BYRVyMu9.js +4 -0
- package/components/{p-DwpKZ6rl.js → p-BkKAANMJ.js} +1 -1
- package/components/p-Bmq8qlkW.js +4 -0
- package/components/p-BuxQcfHK.js +4 -0
- package/components/p-Bz0dSlXZ.js +4 -0
- package/components/p-C7II1iDj.js +4 -0
- package/components/p-CHqRYvYm.js +4 -0
- package/components/p-CSZf8_j0.js +4 -0
- package/components/p-CTdRooFV.js +4 -0
- package/components/p-Cf2jSDS8.js +4 -0
- package/components/p-Cfx4M1Bn.js +4 -0
- package/components/p-CgkrslTX.js +4 -0
- package/components/p-CiCzYG2V.js +4 -0
- package/{dist/ionic/p-BkfAWuv6.js → components/p-Ck0lEczL.js} +1 -1
- package/components/p-CmR5uXej.js +4 -0
- package/components/p-CniZht3v.js +4 -0
- package/components/p-CsaojgEs.js +4 -0
- package/components/p-CtWGkNnJ.js +4 -0
- package/components/p-D13Eaw-8.js +4 -0
- package/components/p-D4FYu-4R.js +4 -0
- package/components/p-D6Ynv7Xh.js +4 -0
- package/components/p-DARjq3GM.js +4 -0
- package/components/p-DEZ2myA3.js +4 -0
- package/components/p-DOFCbuQR.js +4 -0
- package/components/p-DVe41iHI.js +4 -0
- package/components/p-DX5m9g56.js +4 -0
- package/components/p-DboHi2CL.js +4 -0
- package/components/p-DiVJyqlX.js +4 -0
- package/components/p-DmzFY5IC.js +4 -0
- package/components/{p-ryyf_ItD.js → p-DqLB8yFQ.js} +1 -1
- package/components/p-DqZAXv2t.js +4 -0
- package/components/p-Dv8w0kqz.js +4 -0
- package/components/p-Dw7GNDKq.js +4 -0
- package/components/p-Dww01PNs.js +4 -0
- package/components/p-Gy276IJk.js +4 -0
- package/components/p-ZzLXTvyt.js +4 -0
- package/components/p-cyNmxje6.js +4 -0
- package/components/p-j5IxBIan.js +4 -0
- package/components/p-k_E4tX5Z.js +4 -0
- package/components/p-lVAbdiAu.js +4 -0
- package/components/p-o8OKV5aD.js +4 -0
- package/components/{p-30_sZS2V.js → p-qMmFisyx.js} +1 -1
- package/components/p-rCa2eL0j.js +4 -0
- package/dist/cjs/{animation-C0mOHzej.js → animation-Ch16T-Nb.js} +4 -4
- package/dist/cjs/{app-globals-BREG4twP.js → app-globals-Dd89e0MR.js} +1 -1
- package/dist/cjs/{button-active-BKj1rdFx.js → button-active-AWp_ygDP.js} +3 -3
- package/dist/cjs/config-D6C-KlA9.js +201 -0
- package/dist/cjs/dir-DD0jPVH3.js +31 -0
- package/dist/cjs/{format-pp0Du3K-.js → format-BUFWn4Bn.js} +30 -40
- package/dist/cjs/{framework-delegate-NTLQ5YzV.js → framework-delegate-CEzl4MEA.js} +7 -5
- package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-dtqlP_q4.js} +8 -15
- package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-ClPPQ_PS.js} +3 -2
- package/dist/cjs/{hardware-back-button-fqpYh-kd.js → hardware-back-button-CXmUnTJC.js} +4 -4
- package/dist/cjs/{helpers-CaLhEmTE.js → helpers-DdZyl6WL.js} +15 -11
- package/dist/cjs/{index-P1nQxrpZ.js → index-BJ2-LydH.js} +7 -36
- package/dist/cjs/{index-uvry__L4.js → index-BfaXsATC.js} +14 -31
- package/dist/cjs/{index-D48vawBq.js → index-CD92bI7B.js} +2 -2
- package/dist/cjs/{index-Ck9advCT.js → index-CukZnH1U.js} +5 -5
- package/dist/cjs/{index-D2X6b92x.js → index-DOiZqxWZ.js} +7 -6
- package/dist/cjs/{index-wOmugbdg.js → index-DqmRDbxg.js} +1 -1
- package/dist/cjs/{index-BlshL9ib.js → index-MWAIyVLl.js} +3 -2
- package/dist/cjs/index.cjs.js +19 -18
- package/dist/cjs/{input-shims-DvHAFqiP.js → input-shims-CPKgrIe3.js} +12 -9
- package/dist/cjs/input.utils-DQaUGGed.js +150 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +341 -368
- package/dist/cjs/ion-action-sheet.cjs.entry.js +77 -187
- package/dist/cjs/ion-alert.cjs.entry.js +112 -273
- package/dist/cjs/ion-app_8.cjs.entry.js +190 -307
- package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -10
- package/dist/cjs/ion-back-button.cjs.entry.js +24 -47
- package/dist/cjs/ion-backdrop.cjs.entry.js +14 -18
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +122 -199
- package/dist/cjs/ion-button_2.cjs.entry.js +67 -138
- package/dist/cjs/ion-card_5.cjs.entry.js +31 -82
- package/dist/cjs/ion-checkbox.cjs.entry.js +102 -152
- package/dist/cjs/ion-chip.cjs.entry.js +11 -17
- package/dist/cjs/ion-col_3.cjs.entry.js +10 -134
- package/dist/cjs/ion-datetime-button.cjs.entry.js +242 -253
- package/dist/cjs/ion-datetime_3.cjs.entry.js +3167 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +82 -139
- package/dist/cjs/ion-img.cjs.entry.js +13 -34
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +73 -100
- package/dist/cjs/ion-input-otp.cjs.entry.js +372 -435
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +22 -36
- package/dist/cjs/ion-input.cjs.entry.js +212 -343
- package/dist/cjs/ion-item-option_3.cjs.entry.js +55 -94
- package/dist/cjs/ion-item_8.cjs.entry.js +93 -191
- package/dist/cjs/ion-loading.cjs.entry.js +61 -146
- package/dist/cjs/ion-menu_3.cjs.entry.js +109 -170
- package/dist/cjs/ion-modal.cjs.entry.js +262 -455
- package/dist/cjs/ion-nav_2.cjs.entry.js +159 -101
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +34 -37
- package/dist/cjs/ion-picker-column.cjs.entry.js +406 -417
- package/dist/cjs/ion-picker.cjs.entry.js +393 -401
- package/dist/cjs/ion-popover.cjs.entry.js +206 -319
- package/dist/cjs/ion-progress-bar.cjs.entry.js +26 -31
- package/dist/cjs/ion-radio_2.cjs.entry.js +135 -207
- package/dist/cjs/ion-range.cjs.entry.js +237 -302
- package/dist/cjs/ion-refresher_2.cjs.entry.js +94 -165
- package/dist/cjs/ion-reorder_2.cjs.entry.js +24 -53
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -14
- package/dist/cjs/ion-route_4.cjs.entry.js +72 -175
- package/dist/cjs/ion-searchbar.cjs.entry.js +200 -291
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +17 -28
- package/dist/cjs/ion-segment_2.cjs.entry.js +126 -169
- package/dist/cjs/ion-select-modal.cjs.entry.js +49 -104
- package/dist/cjs/ion-select_3.cjs.entry.js +260 -787
- package/dist/cjs/ion-spinner.cjs.entry.js +10 -24
- package/dist/cjs/ion-split-pane.cjs.entry.js +16 -29
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +42 -100
- package/dist/cjs/ion-tab_2.cjs.entry.js +28 -53
- package/dist/cjs/ion-text.cjs.entry.js +5 -11
- package/dist/cjs/ion-textarea.cjs.entry.js +189 -296
- package/dist/cjs/ion-toast.cjs.entry.js +118 -236
- package/dist/cjs/ion-toggle.cjs.entry.js +122 -175
- package/dist/cjs/{ionic-global-k6hOWWpn.js → ionic-global-BerQGEpE.js} +8 -13
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-KvuRAe2W.js → ios.transition-CTiTDh3m.js} +18 -13
- package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-jOJZE_I0.js} +1 -1
- package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-UuAS4D_9.js} +2 -2
- package/dist/cjs/{keyboard-controller-PtZoN2GS.js → keyboard-controller-GXBiBRKS.js} +6 -6
- package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-hHzlEQpk.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-Bjl5Ozph.js → md.transition-BpiTAaqF.js} +9 -7
- package/dist/cjs/notch-controller-aiy8aQb-.js +155 -0
- package/dist/cjs/{overlays-IlP4H2Gn.js → overlays-CQ_c1fko.js} +33 -48
- package/dist/cjs/{status-tap-BR_ujYHg.js → status-tap-7FzRlXNr.js} +4 -3
- package/dist/cjs/{swipe-back-DzQKEl5g.js → swipe-back-DwTZiAc9.js} +5 -5
- package/dist/cjs/{theme-Bw0rpaNN.js → theme-CeDs6Hcv.js} +1 -6
- package/dist/collection/collection-manifest.json +10 -6
- package/dist/collection/components/accordion/accordion.js +312 -315
- package/dist/collection/components/accordion-group/accordion-group.js +25 -48
- package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -228
- package/dist/collection/components/action-sheet/action-sheet.js +64 -173
- package/dist/collection/components/action-sheet/action-sheet.md.css +2 -174
- package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
- package/dist/collection/components/alert/alert.ios.css +10 -279
- package/dist/collection/components/alert/alert.js +97 -257
- package/dist/collection/components/alert/alert.md.css +20 -268
- package/dist/collection/components/app/app.js +0 -3
- package/dist/collection/components/back-button/back-button.js +19 -42
- package/dist/collection/components/backdrop/backdrop.js +14 -16
- package/dist/collection/components/badge/badge.js +0 -6
- package/dist/collection/components/breadcrumb/breadcrumb.js +30 -91
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +88 -103
- package/dist/collection/components/button/button.js +61 -132
- package/dist/collection/components/buttons/buttons.js +15 -13
- package/dist/collection/components/card/card.js +21 -54
- package/dist/collection/components/card-header/card-header.js +8 -12
- package/dist/collection/components/card-subtitle/card-subtitle.js +0 -6
- package/dist/collection/components/card-title/card-title.js +0 -6
- package/dist/collection/components/checkbox/checkbox.js +97 -147
- package/dist/collection/components/chip/chip.js +10 -14
- package/dist/collection/components/col/col.js +3 -127
- package/dist/collection/components/content/content.js +64 -93
- package/dist/collection/components/datetime/datetime.ios.css +2 -42
- package/dist/collection/components/datetime/datetime.js +816 -1051
- package/dist/collection/components/datetime/datetime.md.css +1 -42
- package/dist/collection/components/datetime/utils/data.js +14 -13
- 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 +0 -5
- package/dist/collection/components/datetime-button/datetime-button.js +237 -247
- package/dist/collection/components/datetime-button/datetime-button.md.css +0 -5
- package/dist/collection/components/fab/fab.js +13 -20
- package/dist/collection/components/fab-button/fab-button.js +55 -104
- package/dist/collection/components/fab-list/fab-list.js +11 -10
- package/dist/collection/components/footer/footer.js +44 -50
- package/dist/collection/components/grid/grid.js +6 -4
- package/dist/collection/components/header/header.js +25 -35
- package/dist/collection/components/img/img.js +10 -34
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +66 -73
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +3 -20
- package/dist/collection/components/input/input.ios.css +26 -57
- package/dist/collection/components/input/input.js +206 -336
- package/dist/collection/components/input/input.md.css +43 -79
- package/dist/collection/components/input-otp/input-otp.js +368 -430
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +19 -32
- package/dist/collection/components/item/item.js +53 -99
- package/dist/collection/components/item-divider/item-divider.js +12 -17
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +22 -50
- package/dist/collection/components/item-options/item-options.js +8 -11
- package/dist/collection/components/item-sliding/item-sliding.js +21 -27
- package/dist/collection/components/label/label.js +6 -26
- package/dist/collection/components/list/list.js +8 -11
- package/dist/collection/components/list-header/list-header.js +2 -12
- package/dist/collection/components/loading/loading.js +51 -135
- package/dist/collection/components/menu/menu.js +63 -105
- package/dist/collection/components/menu-button/menu-button.js +21 -30
- package/dist/collection/components/menu-toggle/menu-toggle.js +15 -22
- 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/gestures/sheet.js +10 -22
- package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -15
- package/dist/collection/components/modal/modal.js +228 -398
- 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.js +247 -69
- package/dist/collection/components/nav/view-controller.js +1 -7
- package/dist/collection/components/nav-link/nav-link.js +10 -21
- package/dist/collection/components/note/note.js +2 -8
- package/dist/collection/components/picker/picker.js +390 -398
- package/dist/collection/components/picker-column/picker-column.css +0 -3
- package/dist/collection/components/picker-column/picker-column.js +404 -414
- package/dist/collection/components/picker-column-option/picker-column-option.js +31 -33
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +1 -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 +300 -0
- package/dist/collection/components/picker-legacy/picker.js +890 -0
- package/dist/collection/components/picker-legacy/picker.md.css +287 -0
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -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.ios.css +0 -15
- package/dist/collection/components/popover/popover.js +185 -302
- package/dist/collection/components/popover/popover.md.css +0 -15
- 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.js +23 -27
- package/dist/collection/components/radio/radio.js +66 -102
- package/dist/collection/components/radio-group/radio-group.js +66 -101
- package/dist/collection/components/radio-group/test/fixtures.js +0 -2
- package/dist/collection/components/range/range.js +232 -296
- package/dist/collection/components/refresher/refresher.js +78 -110
- package/dist/collection/components/refresher-content/refresher-content.js +4 -41
- package/dist/collection/components/reorder/reorder.js +1 -2
- package/dist/collection/components/reorder-group/reorder-group.js +15 -44
- package/dist/collection/components/ripple-effect/ripple-effect.js +13 -12
- package/dist/collection/components/route/route.js +10 -39
- package/dist/collection/components/route-redirect/route-redirect.js +0 -31
- package/dist/collection/components/router/router.js +33 -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.js +12 -37
- package/dist/collection/components/router-outlet/router-outlet.js +21 -82
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +199 -289
- package/dist/collection/components/segment/segment.js +85 -120
- package/dist/collection/components/segment-button/segment-button.js +37 -43
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +16 -26
- package/dist/collection/components/select/select.ios.css +69 -96
- package/dist/collection/components/select/select.js +213 -629
- package/dist/collection/components/select/select.md.css +85 -118
- package/dist/collection/components/select-modal/select-modal.ios.css +0 -218
- package/dist/collection/components/select-modal/select-modal.js +38 -92
- package/dist/collection/components/select-modal/select-modal.md.css +0 -164
- package/dist/collection/components/select-modal/test/fixtures.js +1 -8
- package/dist/collection/components/select-option/select-option.js +9 -110
- package/dist/collection/components/select-popover/select-popover.ios.css +0 -218
- package/dist/collection/components/select-popover/select-popover.js +36 -103
- package/dist/collection/components/select-popover/select-popover.md.css +0 -164
- package/dist/collection/components/select-popover/test/fixtures.js +1 -8
- package/dist/collection/components/skeleton-text/skeleton-text.js +8 -12
- package/dist/collection/components/spinner/spinner.js +9 -21
- package/dist/collection/components/split-pane/split-pane.js +15 -27
- package/dist/collection/components/tab/tab.js +6 -17
- package/dist/collection/components/tab-bar/tab-bar.js +14 -32
- package/dist/collection/components/tab-button/tab-button.js +23 -62
- package/dist/collection/components/tabs/tabs.js +20 -33
- package/dist/collection/components/text/text.js +2 -8
- package/dist/collection/components/textarea/textarea.ios.css +62 -94
- package/dist/collection/components/textarea/textarea.js +181 -287
- package/dist/collection/components/textarea/textarea.md.css +77 -103
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -18
- package/dist/collection/components/toast/toast.js +106 -223
- package/dist/collection/components/toggle/toggle.js +115 -167
- package/dist/collection/components/toolbar/toolbar.js +7 -15
- package/dist/collection/global/config.js +6 -4
- package/dist/collection/global/ionic-global.js +2 -8
- 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/focus-controller/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +3 -3
- package/dist/collection/utils/forms/index.js +0 -1
- package/dist/collection/utils/framework-delegate.js +6 -4
- package/dist/collection/utils/gesture/gesture-controller.js +8 -15
- package/dist/collection/utils/gesture/index.js +2 -10
- package/dist/collection/utils/gesture/listener.js +4 -27
- package/dist/collection/utils/hardware-back-button.js +3 -3
- package/dist/collection/utils/helpers.js +14 -10
- 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 +5 -5
- package/dist/collection/utils/keyboard/keyboard.js +1 -1
- package/dist/collection/utils/logging/index.js +4 -23
- 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/overlays.js +23 -38
- package/dist/collection/utils/platform.js +5 -4
- package/dist/collection/utils/rtl/dir.js +18 -7
- package/dist/collection/utils/sanitization/index.js +20 -276
- 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 +3 -2
- package/dist/collection/utils/test/playwright/generator.js +4 -3
- package/dist/collection/utils/test/playwright/page/event-spy.js +12 -11
- package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -4
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- 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 +1 -6
- package/dist/collection/utils/transition/ios.transition.js +13 -9
- package/dist/collection/utils/transition/md.transition.js +4 -3
- package/dist/docs.json +1256 -556
- package/dist/esm/{animation-CGFdmGk9.js → animation-DLJpuoEz.js} +4 -4
- package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-D0C5S4hU.js} +1 -1
- package/dist/esm/{button-active--80YqSHA.js → button-active-CXXy0FIE.js} +3 -3
- package/dist/esm/config-DQCONYYp.js +195 -0
- package/dist/esm/dir-o8OKV5aD.js +29 -0
- package/dist/esm/{format-Dcwga61t.js → format-CAmvpAez.js} +31 -41
- package/dist/esm/{framework-delegate--ajhSeKH.js → framework-delegate-B9yvYzqV.js} +7 -5
- package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-BTEOs1at.js} +8 -15
- package/dist/esm/{haptic-Cq4UAeka.js → haptic-DzAMWJuk.js} +3 -2
- package/dist/esm/{hardware-back-button-gLJHMX_F.js → hardware-back-button-B93Gru0Y.js} +4 -4
- package/dist/esm/{helpers-DexiPLIC.js → helpers-DkCLSLI9.js} +15 -11
- package/dist/esm/{index-_Za5VB9w.js → index-B_8X7INq.js} +2 -2
- package/dist/esm/{index-DppOcPFQ.js → index-Bck1OwMs.js} +7 -36
- package/dist/esm/{index-BvabGprD.js → index-DV3sJJW8.js} +2 -2
- package/dist/esm/{index-CumkqGQF.js → index-DdeElWma.js} +7 -6
- package/dist/esm/{index-8s8kZKJ7.js → index-Dsz7OTeL.js} +5 -5
- package/dist/esm/{index-BCgUwrV0.js → index-DwNKJodj.js} +3 -2
- package/dist/esm/{index-ChhhtsGZ.js → index-tcQvqkiX.js} +15 -32
- package/dist/esm/index.js +16 -16
- package/dist/esm/{input-shims-BB0AKb_k.js → input-shims-d-hDv86G.js} +12 -9
- package/dist/esm/input.utils-Cd23Gdd1.js +147 -0
- package/dist/esm/ion-accordion_2.entry.js +341 -368
- package/dist/esm/ion-action-sheet.entry.js +77 -187
- package/dist/esm/ion-alert.entry.js +111 -272
- package/dist/esm/ion-app_8.entry.js +190 -307
- package/dist/esm/ion-avatar_3.entry.js +4 -10
- package/dist/esm/ion-back-button.entry.js +24 -47
- package/dist/esm/ion-backdrop.entry.js +14 -18
- package/dist/esm/ion-breadcrumb_2.entry.js +122 -199
- package/dist/esm/ion-button_2.entry.js +67 -138
- package/dist/esm/ion-card_5.entry.js +31 -82
- package/dist/esm/ion-checkbox.entry.js +102 -152
- package/dist/esm/ion-chip.entry.js +11 -17
- package/dist/esm/ion-col_3.entry.js +10 -134
- package/dist/esm/ion-datetime-button.entry.js +242 -253
- package/dist/esm/ion-datetime_3.entry.js +3163 -0
- package/dist/esm/ion-fab_3.entry.js +82 -139
- package/dist/esm/ion-img.entry.js +13 -34
- package/dist/esm/ion-infinite-scroll_2.entry.js +72 -99
- package/dist/esm/ion-input-otp.entry.js +372 -435
- package/dist/esm/ion-input-password-toggle.entry.js +22 -36
- package/dist/esm/ion-input.entry.js +210 -341
- package/dist/esm/ion-item-option_3.entry.js +55 -94
- package/dist/esm/ion-item_8.entry.js +93 -191
- package/dist/esm/ion-loading.entry.js +60 -145
- package/dist/esm/ion-menu_3.entry.js +109 -170
- package/dist/esm/ion-modal.entry.js +262 -455
- package/dist/esm/ion-nav_2.entry.js +159 -101
- package/dist/esm/ion-picker-column-option.entry.js +34 -37
- package/dist/esm/ion-picker-column.entry.js +406 -417
- package/dist/esm/ion-picker.entry.js +393 -401
- package/dist/esm/ion-popover.entry.js +206 -319
- package/dist/esm/ion-progress-bar.entry.js +26 -31
- package/dist/esm/ion-radio_2.entry.js +135 -207
- package/dist/esm/ion-range.entry.js +237 -302
- package/dist/esm/ion-refresher_2.entry.js +92 -163
- package/dist/esm/ion-reorder_2.entry.js +24 -53
- package/dist/esm/ion-ripple-effect.entry.js +14 -14
- package/dist/esm/ion-route_4.entry.js +72 -175
- package/dist/esm/ion-searchbar.entry.js +200 -291
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +17 -28
- package/dist/esm/ion-segment_2.entry.js +126 -169
- package/dist/esm/ion-select-modal.entry.js +49 -104
- package/dist/esm/ion-select_3.entry.js +260 -787
- package/dist/esm/ion-spinner.entry.js +10 -24
- package/dist/esm/ion-split-pane.entry.js +16 -29
- package/dist/esm/ion-tab-bar_2.entry.js +42 -100
- package/dist/esm/ion-tab_2.entry.js +28 -53
- package/dist/esm/ion-text.entry.js +5 -11
- package/dist/esm/ion-textarea.entry.js +188 -295
- package/dist/esm/ion-toast.entry.js +117 -235
- package/dist/esm/ion-toggle.entry.js +122 -175
- package/dist/esm/{ionic-global-BVB7BrLT.js → ionic-global-Cp_eT4sZ.js} +8 -13
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-BdhybwLl.js → ios.transition-CxNhMt4a.js} +18 -13
- package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-DlNuqNJm.js} +1 -1
- package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-CUw4ekVy.js} +2 -2
- package/dist/esm/{keyboard-controller-DEwoa1ev.js → keyboard-controller-BaaVITYt.js} +6 -6
- package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-ywgs5efA.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-B5lqKGCs.js → md.transition-IE4mC3kp.js} +9 -7
- package/dist/esm/notch-controller-Doqis1td.js +153 -0
- package/dist/esm/{overlays-CjWwtvf1.js → overlays-COCl_nm9.js} +33 -48
- package/dist/esm/{status-tap-DpLhkDWs.js → status-tap-HhO5eQI9.js} +4 -3
- package/dist/esm/{swipe-back-cz4-lyG3.js → swipe-back-DK6afpuO.js} +5 -5
- package/dist/esm/{theme-byZM6qHV.js → theme-DiVJyqlX.js} +1 -6
- package/dist/html.html-data.json +80 -52
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-01f81ea5.entry.js +4 -0
- package/dist/ionic/p-0283ea73.entry.js +4 -0
- package/dist/ionic/p-02ecae65.entry.js +4 -0
- package/dist/ionic/p-0672f677.entry.js +4 -0
- package/dist/ionic/p-0c06fe60.entry.js +4 -0
- package/dist/ionic/p-0fa9c382.entry.js +4 -0
- package/dist/ionic/p-1af4d74c.entry.js +4 -0
- package/dist/ionic/p-1d7ef0d2.entry.js +4 -0
- package/dist/ionic/p-26f05d3a.entry.js +4 -0
- package/dist/ionic/p-27d30585.entry.js +4 -0
- package/dist/ionic/p-2bb2cb18.entry.js +4 -0
- package/dist/ionic/p-31e7bd05.entry.js +4 -0
- package/dist/ionic/p-32f53010.entry.js +4 -0
- package/dist/ionic/p-35eb8b5c.entry.js +4 -0
- package/dist/ionic/p-37e720da.entry.js +4 -0
- package/dist/ionic/p-3efa137b.entry.js +4 -0
- package/dist/ionic/p-432bd72c.entry.js +4 -0
- package/dist/ionic/p-47214c72.entry.js +4 -0
- package/dist/ionic/p-4e172429.entry.js +4 -0
- package/dist/ionic/p-5c3da84e.entry.js +4 -0
- package/dist/ionic/p-5d1da0a2.entry.js +4 -0
- package/dist/ionic/p-5d8082fe.entry.js +4 -0
- package/dist/ionic/p-613d3c43.entry.js +4 -0
- package/dist/ionic/p-616e4d4f.entry.js +4 -0
- package/dist/ionic/p-65d611b2.entry.js +4 -0
- package/dist/ionic/p-67806e3f.entry.js +4 -0
- package/dist/ionic/p-68307fbf.entry.js +4 -0
- package/dist/ionic/p-68cbb2fc.entry.js +4 -0
- package/dist/ionic/p-737ae9eb.entry.js +4 -0
- package/dist/ionic/p-7b0d6248.entry.js +4 -0
- package/dist/ionic/p-7e71e470.entry.js +4 -0
- package/dist/ionic/p-84d5ce05.entry.js +4 -0
- package/dist/ionic/p-85d49987.entry.js +4 -0
- package/dist/ionic/p-8945088b.entry.js +4 -0
- package/dist/ionic/p-8b155568.entry.js +4 -0
- package/dist/ionic/p-90267c4b.entry.js +4 -0
- package/dist/ionic/p-92ad8a67.entry.js +4 -0
- package/dist/ionic/p-9a97d4e0.entry.js +4 -0
- package/dist/ionic/p-9e4b0894.entry.js +4 -0
- package/dist/ionic/p-9eeaBrnk.js +4 -0
- package/dist/ionic/p-B2kaj8sx.js +4 -0
- package/dist/ionic/p-B4y7nxsg.js +4 -0
- package/dist/ionic/p-B8t9Ro6f.js +4 -0
- package/dist/ionic/p-BEOxsxBw.js +4 -0
- package/dist/ionic/p-BJ2NxSHp.js +4 -0
- package/dist/ionic/p-BLiL8g0v.js +4 -0
- package/dist/ionic/p-BTEOs1at.js +4 -0
- package/dist/ionic/p-BUFIpxKM.js +4 -0
- package/dist/ionic/p-BYRVyMu9.js +4 -0
- package/dist/ionic/p-C0eMdTCW.js +4 -0
- package/dist/ionic/p-CKvCXMs9.js +4 -0
- package/dist/ionic/p-CPTv7G9B.js +4 -0
- package/dist/ionic/{p-CQ_4TirR.js → p-Cd4H8ft-.js} +1 -1
- package/dist/ionic/{p-I3In7hMC.js → p-ClM02LPk.js} +1 -1
- package/dist/ionic/p-CtWGkNnJ.js +4 -0
- package/dist/ionic/p-CxMyXUtt.js +4 -0
- package/dist/ionic/p-D13Eaw-8.js +4 -0
- package/dist/ionic/p-DCoy2elM.js +4 -0
- package/dist/ionic/{p-BvabGprD.js → p-DV3sJJW8.js} +1 -1
- package/dist/ionic/p-DZaO33Mw.js +4 -0
- package/dist/ionic/p-DiVJyqlX.js +4 -0
- package/dist/ionic/p-DipZFfzN.js +4 -0
- package/dist/ionic/p-DqN5EA2O.js +4 -0
- package/dist/ionic/p-Dr9fTCb1.js +4 -0
- package/dist/ionic/p-DzWaWHGc.js +4 -0
- package/dist/ionic/p-EkpneKVM.js +4 -0
- package/dist/ionic/p-Nqf6uvGh.js +4 -0
- package/dist/ionic/p-SNAkTDfm.js +4 -0
- package/dist/ionic/p-ab00b0d8.entry.js +4 -0
- package/dist/ionic/p-c2175309.entry.js +4 -0
- package/dist/ionic/p-c4b69d9b.entry.js +4 -0
- package/dist/ionic/p-c4d8641b.entry.js +4 -0
- package/dist/ionic/{p-40424a88.entry.js → p-c6e49f3f.entry.js} +1 -1
- package/dist/ionic/p-ce637936.entry.js +4 -0
- package/dist/ionic/{p-08443c08.entry.js → p-da85e958.entry.js} +1 -1
- package/dist/ionic/p-dfa8d673.entry.js +4 -0
- package/dist/ionic/p-e139357c.entry.js +4 -0
- package/dist/ionic/p-f37ca594.entry.js +4 -0
- package/dist/ionic/p-f8dd336e.entry.js +4 -0
- package/dist/ionic/p-f9de757b.entry.js +4 -0
- package/dist/ionic/p-fe11cf51.entry.js +4 -0
- package/dist/ionic/p-mjKAFv89.js +4 -0
- package/dist/ionic/p-o8OKV5aD.js +4 -0
- package/dist/ionic/p-tcQvqkiX.js +5 -0
- package/dist/types/components/img/img.d.ts +0 -2
- package/dist/types/components/input/input.d.ts +6 -12
- package/dist/types/components/modal/modal-interface.d.ts +0 -9
- package/dist/types/components/modal/modal.d.ts +4 -11
- package/dist/types/components/nav/nav-interface.d.ts +1 -0
- package/dist/types/components/nav/nav.d.ts +22 -2
- 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 +158 -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/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +0 -31
- package/dist/types/components/select/select.d.ts +6 -30
- package/dist/types/components/select-option/select-option.d.ts +1 -42
- package/dist/types/components/textarea/textarea.d.ts +5 -12
- package/dist/types/components.d.ts +311 -74
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/utils/config.d.ts +8 -1
- package/dist/types/utils/forms/index.d.ts +0 -1
- package/dist/types/utils/helpers.d.ts +8 -5
- package/dist/types/utils/logging/index.d.ts +1 -2
- package/dist/types/utils/overlays.d.ts +9 -11
- package/dist/types/utils/rtl/dir.d.ts +10 -4
- package/dist/types/utils/sanitization/index.d.ts +2 -58
- package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
- package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
- package/hydrate/index.js +7265 -10630
- package/hydrate/index.mjs +7265 -10630
- package/package.json +12 -55
- package/components/p--m5cCjbK.js +0 -4
- package/components/p-8FN7p701.js +0 -4
- package/components/p-B-FxiyeI.js +0 -4
- package/components/p-B4uHHhPK.js +0 -4
- package/components/p-BMPN55of.js +0 -4
- package/components/p-BMS4t-kJ.js +0 -4
- package/components/p-BOvLNVKq.js +0 -4
- package/components/p-BSQPZ79H.js +0 -4
- package/components/p-BWBigMsI.js +0 -4
- package/components/p-BZ4-QTes.js +0 -4
- package/components/p-BhamHSw3.js +0 -4
- package/components/p-BjluhQMI.js +0 -4
- package/components/p-BlsIikdZ.js +0 -4
- package/components/p-Blug1Vxu.js +0 -4
- package/components/p-BpG8kBfD.js +0 -4
- package/components/p-BqPNzJf6.js +0 -4
- package/components/p-C5KYjZWD.js +0 -4
- package/components/p-C91npEel.js +0 -4
- package/components/p-C9BGR5fy.js +0 -4
- package/components/p-CD4fmpem.js +0 -4
- package/components/p-CEW4RXZO.js +0 -4
- package/components/p-CKhiNOEg.js +0 -4
- package/components/p-CO2zzh3W.js +0 -4
- package/components/p-CVb3x_r3.js +0 -4
- package/components/p-CWLrHG8Y.js +0 -4
- package/components/p-CbhUdtjf.js +0 -4
- package/components/p-CejmQs3h.js +0 -4
- package/components/p-CfnNZz_d.js +0 -4
- package/components/p-CmKf4pgI.js +0 -4
- package/components/p-Cs5f-uOS.js +0 -4
- package/components/p-D7-vHX0A.js +0 -4
- package/components/p-DKrhJJV0.js +0 -4
- package/components/p-DRfgH82D.js +0 -4
- package/components/p-DSzSbVP2.js +0 -4
- package/components/p-DVKS-ovH.js +0 -4
- package/components/p-DWCzVL3Y.js +0 -4
- package/components/p-Dd8ajo9a.js +0 -4
- package/components/p-DdnhY_oj.js +0 -4
- package/components/p-DgZOZQjJ.js +0 -4
- package/components/p-Dmd2xqCe.js +0 -4
- package/components/p-G0TxqHfe.js +0 -4
- package/components/p-GG5GhznE.js +0 -4
- package/components/p-J-p0EtHR.js +0 -4
- package/components/p-LXu5-6Ti.js +0 -4
- package/components/p-TXPDHL13.js +0 -4
- package/components/p-UQSiXX2Z.js +0 -4
- package/components/p-UuPYCOZE.js +0 -4
- package/components/p-WeeS7GvC.js +0 -4
- package/components/p-_IKFD3ID.js +0 -4
- package/components/p-byZM6qHV.js +0 -4
- package/components/p-hh7qIC-X.js +0 -4
- package/components/p-idq4JFo2.js +0 -4
- package/components/p-qT1szVjw.js +0 -4
- package/components/p-wzAhIh03.js +0 -4
- package/components/p-ypuYdSDB.js +0 -4
- package/components/p-yuj4Nkm_.js +0 -4
- package/dist/cjs/config-CjUbvdPW.js +0 -36
- package/dist/cjs/dir-Brx7VkvP.js +0 -20
- package/dist/cjs/index-B7zJsYWS.js +0 -429
- package/dist/cjs/input.utils-BZdMWVrt.js +0 -35
- package/dist/cjs/ion-datetime.cjs.entry.js +0 -2770
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
- package/dist/cjs/select-option-render-pULCGldr.js +0 -123
- package/dist/cjs/slot-mutation-controller-CgTGFqlW.js +0 -397
- package/dist/collection/utils/forms/start-container-controller.js +0 -132
- package/dist/collection/utils/overlay-control-label.js +0 -45
- package/dist/collection/utils/select-option-render.js +0 -118
- package/dist/esm/config-DWCzVL3Y.js +0 -32
- package/dist/esm/dir-B-FxiyeI.js +0 -18
- package/dist/esm/index-CKM1DdGm.js +0 -424
- package/dist/esm/input.utils-B1ValN_N.js +0 -33
- package/dist/esm/ion-datetime.entry.js +0 -2768
- package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
- package/dist/esm/select-option-render-C4m76VGH.js +0 -121
- package/dist/esm/slot-mutation-controller-u741eD3Z.js +0 -393
- package/dist/ionic/p-06533d51.entry.js +0 -4
- package/dist/ionic/p-0FNc80PN.js +0 -4
- package/dist/ionic/p-141f5b47.entry.js +0 -4
- package/dist/ionic/p-14a5e8f5.entry.js +0 -4
- package/dist/ionic/p-19269e04.entry.js +0 -4
- package/dist/ionic/p-19abbc33.entry.js +0 -4
- package/dist/ionic/p-1edf0573.entry.js +0 -4
- package/dist/ionic/p-4204184c.entry.js +0 -4
- package/dist/ionic/p-4bc3ecdb.entry.js +0 -4
- package/dist/ionic/p-4eOQC00Z.js +0 -4
- package/dist/ionic/p-4eed9ca1.entry.js +0 -4
- package/dist/ionic/p-53bac1c9.entry.js +0 -4
- package/dist/ionic/p-5506caeb.entry.js +0 -4
- package/dist/ionic/p-5521dc1f.entry.js +0 -4
- package/dist/ionic/p-5993a77f.entry.js +0 -4
- package/dist/ionic/p-5c3626de.entry.js +0 -4
- package/dist/ionic/p-5d3b411c.entry.js +0 -4
- package/dist/ionic/p-60576951.entry.js +0 -4
- package/dist/ionic/p-7116e558.entry.js +0 -4
- package/dist/ionic/p-711a8319.entry.js +0 -4
- package/dist/ionic/p-71419a55.entry.js +0 -4
- package/dist/ionic/p-79325ffe.entry.js +0 -4
- package/dist/ionic/p-7bb3e957.entry.js +0 -4
- package/dist/ionic/p-82525fb0.entry.js +0 -4
- package/dist/ionic/p-84a38904.entry.js +0 -4
- package/dist/ionic/p-865fa114.entry.js +0 -4
- package/dist/ionic/p-8e1d9e3a.entry.js +0 -4
- package/dist/ionic/p-8f204f1e.entry.js +0 -4
- package/dist/ionic/p-9055e897.entry.js +0 -4
- package/dist/ionic/p-9658e083.entry.js +0 -4
- package/dist/ionic/p-988baee1.entry.js +0 -4
- package/dist/ionic/p-9nmHvEvw.js +0 -4
- package/dist/ionic/p-B-FxiyeI.js +0 -4
- package/dist/ionic/p-BB0LlG4y.js +0 -4
- package/dist/ionic/p-BMPN55of.js +0 -4
- package/dist/ionic/p-BQ8oNV0v.js +0 -4
- package/dist/ionic/p-BSQPZ79H.js +0 -4
- package/dist/ionic/p-BhamHSw3.js +0 -4
- package/dist/ionic/p-BjvtSsVI.js +0 -4
- package/dist/ionic/p-BwIp10KV.js +0 -4
- package/dist/ionic/p-C-94tAim.js +0 -4
- package/dist/ionic/p-C6eME8Ey.js +0 -4
- package/dist/ionic/p-CKUuSnDR.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-CmKf4pgI.js +0 -4
- package/dist/ionic/p-D5t_-oMk.js +0 -4
- package/dist/ionic/p-D94b61er.js +0 -4
- package/dist/ionic/p-DAztxQR0.js +0 -4
- package/dist/ionic/p-DCI3rXQo.js +0 -4
- package/dist/ionic/p-DDhtUaaA.js +0 -4
- package/dist/ionic/p-DWCzVL3Y.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-T71k3C35.js +0 -4
- package/dist/ionic/p-TXPDHL13.js +0 -4
- package/dist/ionic/p-a71232d6.entry.js +0 -4
- package/dist/ionic/p-a73d8742.entry.js +0 -4
- package/dist/ionic/p-a8421d18.entry.js +0 -4
- package/dist/ionic/p-a8c2c343.entry.js +0 -4
- package/dist/ionic/p-acf0a6af.entry.js +0 -4
- package/dist/ionic/p-ad98e3ff.entry.js +0 -4
- package/dist/ionic/p-af5166f5.entry.js +0 -4
- package/dist/ionic/p-bc2bad5f.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-ccc5044d.entry.js +0 -4
- package/dist/ionic/p-ce32912b.entry.js +0 -4
- package/dist/ionic/p-ded69ceb.entry.js +0 -4
- package/dist/ionic/p-e0c6e31e.entry.js +0 -4
- package/dist/ionic/p-e1e5b507.entry.js +0 -4
- package/dist/ionic/p-e8c3e08a.entry.js +0 -4
- package/dist/ionic/p-ed5d540d.entry.js +0 -4
- package/dist/ionic/p-f046aa37.entry.js +0 -4
- package/dist/ionic/p-f2802440.entry.js +0 -4
- package/dist/ionic/p-f402f5a4.entry.js +0 -4
- package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
- package/dist/types/utils/forms/start-container-controller.d.ts +0 -34
- package/dist/types/utils/overlay-control-label.d.ts +0 -32
- package/dist/types/utils/select-option-render.d.ts +0 -53
- /package/components/{p-LpMHEu3v.js → p-CO7fmmxt.js} +0 -0
|
@@ -12,22 +12,186 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
12
12
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
13
13
|
*/
|
|
14
14
|
export class Searchbar {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
15
|
+
constructor() {
|
|
16
|
+
this.isCancelVisible = false;
|
|
17
|
+
this.shouldAlignLeft = true;
|
|
18
|
+
this.inputId = `ion-searchbar-${searchbarIds++}`;
|
|
19
|
+
this.inheritedAttributes = {};
|
|
20
|
+
this.focused = false;
|
|
21
|
+
this.noAnimate = true;
|
|
22
|
+
/**
|
|
23
|
+
* If `true`, enable searchbar animation.
|
|
24
|
+
*/
|
|
25
|
+
this.animated = false;
|
|
26
|
+
/**
|
|
27
|
+
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
28
|
+
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
29
|
+
*/
|
|
30
|
+
this.autocapitalize = 'off';
|
|
31
|
+
/**
|
|
32
|
+
* Set the input's autocomplete property.
|
|
33
|
+
*/
|
|
34
|
+
this.autocomplete = 'off';
|
|
35
|
+
/**
|
|
36
|
+
* Set the input's autocorrect property.
|
|
37
|
+
*/
|
|
38
|
+
this.autocorrect = 'off';
|
|
39
|
+
/**
|
|
40
|
+
* Set the cancel button icon. Only applies to `md` mode.
|
|
41
|
+
* Defaults to `arrow-back-sharp`.
|
|
42
|
+
*/
|
|
43
|
+
this.cancelButtonIcon = config.get('backButtonIcon', arrowBackSharp);
|
|
44
|
+
/**
|
|
45
|
+
* Set the cancel button text. Only applies to `ios` mode.
|
|
46
|
+
*/
|
|
47
|
+
this.cancelButtonText = 'Cancel';
|
|
48
|
+
/**
|
|
49
|
+
* If `true`, the user cannot interact with the input.
|
|
50
|
+
*/
|
|
51
|
+
this.disabled = false;
|
|
52
|
+
/**
|
|
53
|
+
* If used in a form, set the name of the control, which is submitted with the form data.
|
|
54
|
+
*/
|
|
55
|
+
this.name = this.inputId;
|
|
56
|
+
/**
|
|
57
|
+
* Set the input's placeholder.
|
|
58
|
+
* `placeholder` can accept either plaintext or HTML as a string.
|
|
59
|
+
* To display characters normally reserved for HTML, they
|
|
60
|
+
* must be escaped. For example `<Ionic>` would become
|
|
61
|
+
* `<Ionic>`
|
|
62
|
+
*
|
|
63
|
+
* For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
|
|
64
|
+
*/
|
|
65
|
+
this.placeholder = 'Search';
|
|
66
|
+
/**
|
|
67
|
+
* Sets the behavior for the cancel button. Defaults to `"never"`.
|
|
68
|
+
* Setting to `"focus"` shows the cancel button on focus.
|
|
69
|
+
* Setting to `"never"` hides the cancel button.
|
|
70
|
+
* Setting to `"always"` shows the cancel button regardless
|
|
71
|
+
* of focus state.
|
|
72
|
+
*/
|
|
73
|
+
this.showCancelButton = 'never';
|
|
74
|
+
/**
|
|
75
|
+
* Sets the behavior for the clear button. Defaults to `"focus"`.
|
|
76
|
+
* Setting to `"focus"` shows the clear button on focus if the
|
|
77
|
+
* input is not empty.
|
|
78
|
+
* Setting to `"never"` hides the clear button.
|
|
79
|
+
* Setting to `"always"` shows the clear button regardless
|
|
80
|
+
* of focus state, but only if the input is not empty.
|
|
81
|
+
*/
|
|
82
|
+
this.showClearButton = 'always';
|
|
83
|
+
/**
|
|
84
|
+
* If `true`, enable spellcheck on the input.
|
|
85
|
+
*/
|
|
86
|
+
this.spellcheck = false;
|
|
87
|
+
/**
|
|
88
|
+
* Set the type of the input.
|
|
89
|
+
*/
|
|
90
|
+
this.type = 'search';
|
|
91
|
+
/**
|
|
92
|
+
* the value of the searchbar.
|
|
93
|
+
*/
|
|
94
|
+
this.value = '';
|
|
95
|
+
/**
|
|
96
|
+
* Clears the input field and triggers the control change.
|
|
97
|
+
*/
|
|
98
|
+
this.onClearInput = async (shouldFocus) => {
|
|
99
|
+
if (this.clearTimeout) {
|
|
100
|
+
clearTimeout(this.clearTimeout);
|
|
101
|
+
}
|
|
102
|
+
this.ionClear.emit();
|
|
103
|
+
return new Promise((resolve) => {
|
|
104
|
+
// setTimeout() fixes https://github.com/ionic-team/ionic-framework/issues/7527
|
|
105
|
+
// wait for 4 frames
|
|
106
|
+
this.clearTimeout = setTimeout(() => {
|
|
107
|
+
const value = this.getValue();
|
|
108
|
+
if (value !== '') {
|
|
109
|
+
this.value = '';
|
|
110
|
+
this.emitInputChange();
|
|
111
|
+
/**
|
|
112
|
+
* When tapping clear button
|
|
113
|
+
* ensure input is focused after
|
|
114
|
+
* clearing input so users
|
|
115
|
+
* can quickly start typing.
|
|
116
|
+
*/
|
|
117
|
+
if (shouldFocus && !this.focused) {
|
|
118
|
+
this.setFocus();
|
|
119
|
+
/**
|
|
120
|
+
* The setFocus call above will clear focusedValue,
|
|
121
|
+
* but ionChange will never have gotten a chance to
|
|
122
|
+
* fire. Manually revert focusedValue so onBlur can
|
|
123
|
+
* compare against what was in the box before the clear.
|
|
124
|
+
*/
|
|
125
|
+
this.focusedValue = value;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
resolve();
|
|
129
|
+
}, 16 * 4);
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Clears the input field and tells the input to blur since
|
|
134
|
+
* the clearInput function doesn't want the input to blur
|
|
135
|
+
* then calls the custom cancel function if the user passed one in.
|
|
136
|
+
*/
|
|
137
|
+
this.onCancelSearchbar = async (ev) => {
|
|
138
|
+
if (ev) {
|
|
139
|
+
ev.preventDefault();
|
|
140
|
+
ev.stopPropagation();
|
|
141
|
+
}
|
|
142
|
+
this.ionCancel.emit();
|
|
143
|
+
// get cached values before clearing the input
|
|
144
|
+
const value = this.getValue();
|
|
145
|
+
const focused = this.focused;
|
|
146
|
+
await this.onClearInput();
|
|
147
|
+
/**
|
|
148
|
+
* If there used to be something in the box, and we weren't focused
|
|
149
|
+
* beforehand (meaning no blur fired that would already handle this),
|
|
150
|
+
* manually fire ionChange.
|
|
151
|
+
*/
|
|
152
|
+
if (value && !focused) {
|
|
153
|
+
this.emitValueChange(ev);
|
|
154
|
+
}
|
|
155
|
+
if (this.nativeInput) {
|
|
156
|
+
this.nativeInput.blur();
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Update the Searchbar input value when the input changes
|
|
161
|
+
*/
|
|
162
|
+
this.onInput = (ev) => {
|
|
163
|
+
const input = ev.target;
|
|
164
|
+
if (input) {
|
|
165
|
+
this.value = input.value;
|
|
166
|
+
}
|
|
167
|
+
this.emitInputChange(ev);
|
|
168
|
+
};
|
|
169
|
+
this.onChange = (ev) => {
|
|
170
|
+
this.emitValueChange(ev);
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Sets the Searchbar to not focused and checks if it should align left
|
|
174
|
+
* based on whether there is a value in the searchbar or not.
|
|
175
|
+
*/
|
|
176
|
+
this.onBlur = (ev) => {
|
|
177
|
+
this.focused = false;
|
|
178
|
+
this.ionBlur.emit();
|
|
179
|
+
this.positionElements();
|
|
180
|
+
if (this.focusedValue !== this.value) {
|
|
181
|
+
this.emitValueChange(ev);
|
|
182
|
+
}
|
|
183
|
+
this.focusedValue = undefined;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Sets the Searchbar to focused and active on input focus.
|
|
187
|
+
*/
|
|
188
|
+
this.onFocus = () => {
|
|
189
|
+
this.focused = true;
|
|
190
|
+
this.focusedValue = this.value;
|
|
191
|
+
this.ionFocus.emit();
|
|
192
|
+
this.positionElements();
|
|
193
|
+
};
|
|
194
|
+
}
|
|
31
195
|
/**
|
|
32
196
|
* lang and dir are globally enumerated attributes.
|
|
33
197
|
* As a result, creating these as properties
|
|
@@ -36,177 +200,21 @@ export class Searchbar {
|
|
|
36
200
|
* to the inner `<input>` element.
|
|
37
201
|
*/
|
|
38
202
|
onLangChanged(newValue) {
|
|
39
|
-
this.inheritedAttributes = {
|
|
40
|
-
...this.inheritedAttributes,
|
|
41
|
-
lang: newValue,
|
|
42
|
-
};
|
|
203
|
+
this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { lang: newValue });
|
|
43
204
|
forceUpdate(this);
|
|
44
205
|
}
|
|
45
206
|
onDirChanged(newValue) {
|
|
46
|
-
this.inheritedAttributes = {
|
|
47
|
-
...this.inheritedAttributes,
|
|
48
|
-
dir: newValue,
|
|
49
|
-
};
|
|
207
|
+
this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { dir: newValue });
|
|
50
208
|
forceUpdate(this);
|
|
51
209
|
}
|
|
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
210
|
debounceChanged() {
|
|
93
211
|
const { ionInput, debounce, originalIonInput } = this;
|
|
94
212
|
/**
|
|
95
213
|
* If debounce is undefined, we have to manually revert the ionInput emitter in case
|
|
96
214
|
* debounce used to be set to a number. Otherwise, the event would stay debounced.
|
|
97
215
|
*/
|
|
98
|
-
this.ionInput = debounce === undefined ? originalIonInput
|
|
216
|
+
this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
|
|
99
217
|
}
|
|
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
218
|
valueChanged() {
|
|
211
219
|
const inputEl = this.nativeInput;
|
|
212
220
|
const value = this.getValue();
|
|
@@ -224,9 +232,7 @@ export class Searchbar {
|
|
|
224
232
|
this.emitStyle();
|
|
225
233
|
}
|
|
226
234
|
componentWillLoad() {
|
|
227
|
-
this.inheritedAttributes = {
|
|
228
|
-
...inheritAttributes(this.el, ['lang', 'dir']),
|
|
229
|
-
};
|
|
235
|
+
this.inheritedAttributes = Object.assign({}, inheritAttributes(this.el, ['lang', 'dir']));
|
|
230
236
|
}
|
|
231
237
|
componentDidLoad() {
|
|
232
238
|
this.originalIonInput = this.ionInput;
|
|
@@ -237,13 +243,14 @@ export class Searchbar {
|
|
|
237
243
|
}, 300);
|
|
238
244
|
}
|
|
239
245
|
disconnectedCallback() {
|
|
246
|
+
var _a;
|
|
240
247
|
if (this.loadTimeout) {
|
|
241
248
|
clearTimeout(this.loadTimeout);
|
|
242
249
|
}
|
|
243
250
|
if (this.clearTimeout) {
|
|
244
251
|
clearTimeout(this.clearTimeout);
|
|
245
252
|
}
|
|
246
|
-
this.searchIconResizeObserver
|
|
253
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
247
254
|
}
|
|
248
255
|
emitStyle() {
|
|
249
256
|
this.ionStyle.emit({
|
|
@@ -299,105 +306,6 @@ export class Searchbar {
|
|
|
299
306
|
const { value } = this;
|
|
300
307
|
this.ionInput.emit({ value, event });
|
|
301
308
|
}
|
|
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
309
|
/**
|
|
402
310
|
* Positions the input search icon, placeholder, and the cancel button
|
|
403
311
|
* based on the input value and if it is focused. (ios only)
|
|
@@ -440,6 +348,7 @@ export class Searchbar {
|
|
|
440
348
|
doc.body.appendChild(tempSpan);
|
|
441
349
|
// Get the width of the span then remove it
|
|
442
350
|
raf(() => {
|
|
351
|
+
var _a, _b;
|
|
443
352
|
const textWidth = tempSpan.offsetWidth;
|
|
444
353
|
tempSpan.remove();
|
|
445
354
|
// Calculate the input padding
|
|
@@ -458,14 +367,15 @@ export class Searchbar {
|
|
|
458
367
|
* If it is zero, set up a ResizeObserver and call this function when it observes a width greater than 0.
|
|
459
368
|
*/
|
|
460
369
|
if (iconWidth === 0) {
|
|
461
|
-
this.searchIconResizeObserver
|
|
370
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
462
371
|
this.searchIconResizeObserver = new ResizeObserver((entries) => {
|
|
372
|
+
var _a;
|
|
463
373
|
if (entries[0].contentRect.width > 0) {
|
|
464
|
-
this.searchIconResizeObserver
|
|
374
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
465
375
|
this.positionPlaceholder();
|
|
466
376
|
}
|
|
467
377
|
});
|
|
468
|
-
this.searchIconResizeObserver
|
|
378
|
+
(_b = this.searchIconResizeObserver) === null || _b === void 0 ? void 0 : _b.observe(iconEl);
|
|
469
379
|
return;
|
|
470
380
|
}
|
|
471
381
|
const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconWidth + 8) + 'px)';
|
|
@@ -549,8 +459,8 @@ export class Searchbar {
|
|
|
549
459
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
550
460
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
551
461
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
552
|
-
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '
|
|
553
|
-
return (h(Host, { key: '
|
|
462
|
+
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '226b7a676b4819cda4062b8334fa8d4c4cee6f1a', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '89adb4efa17a78c973bbd5527cfac91d99ceb9bb', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
463
|
+
return (h(Host, { key: '237dd767403dba3cb3d7de8905996e275669da3b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
|
|
554
464
|
[mode]: true,
|
|
555
465
|
'searchbar-animated': animated,
|
|
556
466
|
'searchbar-disabled': this.disabled,
|
|
@@ -560,14 +470,14 @@ export class Searchbar {
|
|
|
560
470
|
'searchbar-has-focus': this.focused,
|
|
561
471
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
562
472
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
563
|
-
}) }, h("div", { key: '
|
|
473
|
+
}) }, h("div", { key: '5b4bdf7280bea710304b6975e76390fe6ceb7417', class: "searchbar-input-container" }, h("input", Object.assign({ key: '01a0820a2cf904aec1c7d84b542ab7918d435632', "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)), mode === 'md' && cancelButton, h("ion-icon", { key: 'cd64973206b1cc59d221112861733b7ee25f0323', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '2061fa8449bbc576cf8c5130ea613378ea492944', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
564
474
|
/**
|
|
565
475
|
* This prevents mobile browsers from
|
|
566
476
|
* blurring the input when the clear
|
|
567
477
|
* button is activated.
|
|
568
478
|
*/
|
|
569
479
|
ev.preventDefault();
|
|
570
|
-
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '
|
|
480
|
+
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '00df6f7742bff70b1b088d544b8c00e962e7216c', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
571
481
|
}
|
|
572
482
|
static get is() { return "ion-searchbar"; }
|
|
573
483
|
static get encapsulation() { return "scoped"; }
|
|
@@ -679,11 +589,11 @@ export class Searchbar {
|
|
|
679
589
|
"defaultValue": "'off'"
|
|
680
590
|
},
|
|
681
591
|
"autocorrect": {
|
|
682
|
-
"type": "
|
|
592
|
+
"type": "string",
|
|
683
593
|
"mutable": false,
|
|
684
594
|
"complexType": {
|
|
685
|
-
"original": "
|
|
686
|
-
"resolved": "
|
|
595
|
+
"original": "'on' | 'off'",
|
|
596
|
+
"resolved": "\"off\" | \"on\"",
|
|
687
597
|
"references": {}
|
|
688
598
|
},
|
|
689
599
|
"required": false,
|
|
@@ -696,7 +606,7 @@ export class Searchbar {
|
|
|
696
606
|
"setter": false,
|
|
697
607
|
"reflect": false,
|
|
698
608
|
"attribute": "autocorrect",
|
|
699
|
-
"defaultValue": "
|
|
609
|
+
"defaultValue": "'off'"
|
|
700
610
|
},
|
|
701
611
|
"cancelButtonIcon": {
|
|
702
612
|
"type": "string",
|