@ionic/core 8.8.19-dev.11787007863.1976a30e → 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
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var index$1 = require('./index-
|
|
8
|
-
var helpers = require('./helpers-
|
|
9
|
-
var dir = require('./dir-
|
|
10
|
-
var theme = require('./theme-
|
|
11
|
-
var ionicGlobal = require('./ionic-global-
|
|
6
|
+
var index = require('./index-BfaXsATC.js');
|
|
7
|
+
var index$1 = require('./index-CD92bI7B.js');
|
|
8
|
+
var helpers = require('./helpers-DdZyl6WL.js');
|
|
9
|
+
var dir = require('./dir-DD0jPVH3.js');
|
|
10
|
+
var theme = require('./theme-CeDs6Hcv.js');
|
|
11
|
+
var ionicGlobal = require('./ionic-global-BerQGEpE.js');
|
|
12
12
|
|
|
13
13
|
function getDecimalPlaces(n) {
|
|
14
14
|
if (!helpers.isSafeNumber(n))
|
|
@@ -69,75 +69,232 @@ const Range = class {
|
|
|
69
69
|
this.ionBlur = index.createEvent(this, "ionBlur", 7);
|
|
70
70
|
this.ionKnobMoveStart = index.createEvent(this, "ionKnobMoveStart", 7);
|
|
71
71
|
this.ionKnobMoveEnd = index.createEvent(this, "ionKnobMoveEnd", 7);
|
|
72
|
+
this.rangeId = `ion-r-${rangeIds++}`;
|
|
73
|
+
this.didLoad = false;
|
|
74
|
+
this.noUpdate = false;
|
|
75
|
+
this.hasFocus = false;
|
|
76
|
+
this.inheritedAttributes = {};
|
|
77
|
+
this.contentEl = null;
|
|
78
|
+
this.initialContentScrollY = true;
|
|
79
|
+
/**
|
|
80
|
+
* Used to avoid setting the focused state on click or tap. The focused
|
|
81
|
+
* state is only set when the focus comes from the keyboard (e.g. Tab).
|
|
82
|
+
* This is set to true on pointer down (mouse/touch).
|
|
83
|
+
*/
|
|
84
|
+
this.focusFromPointer = false;
|
|
85
|
+
this.ratioA = 0;
|
|
86
|
+
this.ratioB = 0;
|
|
87
|
+
/**
|
|
88
|
+
* The name of the control, which is submitted with the form data.
|
|
89
|
+
*/
|
|
90
|
+
this.name = this.rangeId;
|
|
91
|
+
/**
|
|
92
|
+
* Show two knobs.
|
|
93
|
+
*/
|
|
94
|
+
this.dualKnobs = false;
|
|
95
|
+
/**
|
|
96
|
+
* Minimum integer value of the range.
|
|
97
|
+
*/
|
|
98
|
+
this.min = 0;
|
|
99
|
+
/**
|
|
100
|
+
* Maximum integer value of the range.
|
|
101
|
+
*/
|
|
102
|
+
this.max = 100;
|
|
103
|
+
/**
|
|
104
|
+
* If `true`, a pin with integer value is shown when the knob
|
|
105
|
+
* is pressed.
|
|
106
|
+
*/
|
|
107
|
+
this.pin = false;
|
|
108
|
+
/**
|
|
109
|
+
* A callback used to format the pin text.
|
|
110
|
+
* By default the pin text is set to `Math.round(value)`.
|
|
111
|
+
*
|
|
112
|
+
* See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
|
|
113
|
+
* if you need to access `this` from within the callback.
|
|
114
|
+
*/
|
|
115
|
+
this.pinFormatter = (value) => Math.round(value);
|
|
116
|
+
/**
|
|
117
|
+
* If `true`, the knob snaps to tick marks evenly spaced based
|
|
118
|
+
* on the step property value.
|
|
119
|
+
*/
|
|
120
|
+
this.snaps = false;
|
|
121
|
+
/**
|
|
122
|
+
* Specifies the value granularity.
|
|
123
|
+
*/
|
|
124
|
+
this.step = 1;
|
|
125
|
+
/**
|
|
126
|
+
* If `true`, tick marks are displayed based on the step value.
|
|
127
|
+
* Only applies when `snaps` is `true`.
|
|
128
|
+
*/
|
|
129
|
+
this.ticks = true;
|
|
130
|
+
/**
|
|
131
|
+
* If `true`, the user cannot interact with the range.
|
|
132
|
+
*/
|
|
133
|
+
this.disabled = false;
|
|
134
|
+
/**
|
|
135
|
+
* the value of the range.
|
|
136
|
+
*/
|
|
137
|
+
this.value = 0;
|
|
138
|
+
/**
|
|
139
|
+
* Compares two RangeValue inputs to determine if they are different.
|
|
140
|
+
*
|
|
141
|
+
* @param newVal - The new value.
|
|
142
|
+
* @param oldVal - The old value.
|
|
143
|
+
* @returns `true` if the values are different, `false` otherwise.
|
|
144
|
+
*/
|
|
145
|
+
this.compareValues = (newVal, oldVal) => {
|
|
146
|
+
if (typeof newVal === 'object' && typeof oldVal === 'object') {
|
|
147
|
+
return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
|
|
148
|
+
}
|
|
149
|
+
return newVal !== oldVal;
|
|
150
|
+
};
|
|
151
|
+
this.clampBounds = (value) => {
|
|
152
|
+
return helpers.clamp(this.min, value, this.max);
|
|
153
|
+
};
|
|
154
|
+
this.ensureValueInBounds = (value) => {
|
|
155
|
+
if (this.dualKnobs) {
|
|
156
|
+
return {
|
|
157
|
+
lower: this.clampBounds(value.lower),
|
|
158
|
+
upper: this.clampBounds(value.upper),
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
return this.clampBounds(value);
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Where to place the label relative to the range.
|
|
167
|
+
* `"start"`: The label will appear to the left of the range in LTR and to the right in RTL.
|
|
168
|
+
* `"end"`: The label will appear to the right of the range in LTR and to the left in RTL.
|
|
169
|
+
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
170
|
+
* `"stacked"`: The label will appear above the range regardless of the direction.
|
|
171
|
+
*/
|
|
172
|
+
this.labelPlacement = 'start';
|
|
173
|
+
this.setupGesture = async () => {
|
|
174
|
+
const rangeSlider = this.rangeSlider;
|
|
175
|
+
if (rangeSlider) {
|
|
176
|
+
this.gesture = (await Promise.resolve().then(function () { return require('./index-BJ2-LydH.js'); })).createGesture({
|
|
177
|
+
el: rangeSlider,
|
|
178
|
+
gestureName: 'range',
|
|
179
|
+
gesturePriority: 100,
|
|
180
|
+
/**
|
|
181
|
+
* Provide a threshold since the drag movement
|
|
182
|
+
* might be a user scrolling the view.
|
|
183
|
+
* If this is true, then the range
|
|
184
|
+
* should not move.
|
|
185
|
+
*/
|
|
186
|
+
threshold: 10,
|
|
187
|
+
onStart: () => this.onStart(),
|
|
188
|
+
onMove: (ev) => this.onMove(ev),
|
|
189
|
+
onEnd: (ev) => this.onEnd(ev),
|
|
190
|
+
});
|
|
191
|
+
this.gesture.enable(!this.disabled);
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
/**
|
|
195
|
+
* Observes the knob handles for the ion-activated class and syncs
|
|
196
|
+
* activatedKnob so the activated part is correctly set on the handle,
|
|
197
|
+
* knob, and pin.
|
|
198
|
+
*/
|
|
199
|
+
this.setupActivatedObserver = () => {
|
|
200
|
+
const knobHandleA = this.el.shadowRoot.querySelector('.range-knob-handle-a');
|
|
201
|
+
const knobHandleB = this.el.shadowRoot.querySelector('.range-knob-handle-b');
|
|
202
|
+
const syncActivated = () => {
|
|
203
|
+
this.activatedKnob = (knobHandleA === null || knobHandleA === void 0 ? void 0 : knobHandleA.classList.contains('ion-activated'))
|
|
204
|
+
? 'A'
|
|
205
|
+
: (knobHandleB === null || knobHandleB === void 0 ? void 0 : knobHandleB.classList.contains('ion-activated'))
|
|
206
|
+
? 'B'
|
|
207
|
+
: undefined;
|
|
208
|
+
};
|
|
209
|
+
if (typeof MutationObserver !== 'undefined') {
|
|
210
|
+
this.activatedObserver = new MutationObserver(syncActivated);
|
|
211
|
+
this.activatedObserver.observe(this.el.shadowRoot, {
|
|
212
|
+
attributes: true,
|
|
213
|
+
attributeFilter: ['class'],
|
|
214
|
+
subtree: true,
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
syncActivated();
|
|
218
|
+
};
|
|
219
|
+
this.handleKeyboard = (knob, isIncrease) => {
|
|
220
|
+
const { ensureValueInBounds } = this;
|
|
221
|
+
let step = this.step;
|
|
222
|
+
step = step > 0 ? step : 1;
|
|
223
|
+
step = step / (this.max - this.min);
|
|
224
|
+
if (!isIncrease) {
|
|
225
|
+
step *= -1;
|
|
226
|
+
}
|
|
227
|
+
if (knob === 'A') {
|
|
228
|
+
this.ratioA = helpers.clamp(0, this.ratioA + step, 1);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
this.ratioB = helpers.clamp(0, this.ratioB + step, 1);
|
|
232
|
+
}
|
|
233
|
+
this.ionKnobMoveStart.emit({ value: ensureValueInBounds(this.value) });
|
|
234
|
+
this.updateValue();
|
|
235
|
+
this.emitValueChange();
|
|
236
|
+
this.ionKnobMoveEnd.emit({ value: ensureValueInBounds(this.value) });
|
|
237
|
+
};
|
|
238
|
+
this.onBlur = () => {
|
|
239
|
+
if (this.hasFocus) {
|
|
240
|
+
this.hasFocus = false;
|
|
241
|
+
this.focusedKnob = undefined;
|
|
242
|
+
this.ionBlur.emit();
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
this.onFocus = () => {
|
|
246
|
+
if (!this.hasFocus) {
|
|
247
|
+
this.hasFocus = true;
|
|
248
|
+
this.ionFocus.emit();
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
this.onKnobFocus = (knob) => {
|
|
252
|
+
// Clicking focuses the range which is needed for the keyboard,
|
|
253
|
+
// but we only want to add the ion-focused class when focused via Tab.
|
|
254
|
+
if (!this.focusFromPointer) {
|
|
255
|
+
this.focusedKnob = knob;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
this.focusFromPointer = false;
|
|
259
|
+
this.focusedKnob = undefined;
|
|
260
|
+
}
|
|
261
|
+
// If the knob was not already focused, emit the focus event
|
|
262
|
+
if (!this.hasFocus) {
|
|
263
|
+
this.hasFocus = true;
|
|
264
|
+
this.ionFocus.emit();
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
this.onKnobBlur = () => {
|
|
268
|
+
// Check if focus is moving to another knob within the same range
|
|
269
|
+
// by delaying the reset to allow the new focus to register
|
|
270
|
+
setTimeout(() => {
|
|
271
|
+
var _a;
|
|
272
|
+
const activeElement = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement;
|
|
273
|
+
const isStillFocusedOnKnob = activeElement && activeElement.classList.contains('range-knob-handle');
|
|
274
|
+
if (!isStillFocusedOnKnob) {
|
|
275
|
+
if (this.hasFocus) {
|
|
276
|
+
this.hasFocus = false;
|
|
277
|
+
this.focusedKnob = undefined;
|
|
278
|
+
this.ionBlur.emit();
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}, 0);
|
|
282
|
+
};
|
|
283
|
+
this.onKnobMouseEnter = (knob) => {
|
|
284
|
+
this.hoveredKnob = knob;
|
|
285
|
+
};
|
|
286
|
+
this.onKnobMouseLeave = () => {
|
|
287
|
+
this.hoveredKnob = undefined;
|
|
288
|
+
};
|
|
72
289
|
}
|
|
73
|
-
rangeId = `ion-r-${rangeIds++}`;
|
|
74
|
-
didLoad = false;
|
|
75
|
-
noUpdate = false;
|
|
76
|
-
rect;
|
|
77
|
-
hasFocus = false;
|
|
78
|
-
rangeSlider;
|
|
79
|
-
gesture;
|
|
80
|
-
inheritedAttributes = {};
|
|
81
|
-
contentEl = null;
|
|
82
|
-
initialContentScrollY = true;
|
|
83
|
-
originalIonInput;
|
|
84
|
-
/**
|
|
85
|
-
* Used to avoid setting the focused state on click or tap. The focused
|
|
86
|
-
* state is only set when the focus comes from the keyboard (e.g. Tab).
|
|
87
|
-
* This is set to true on pointer down (mouse/touch).
|
|
88
|
-
*/
|
|
89
|
-
focusFromPointer = false;
|
|
90
|
-
/**
|
|
91
|
-
* Observes class changes on the knob handles to keep the activatedKnob
|
|
92
|
-
* state in sync with the ion-activated class. This is necessary to
|
|
93
|
-
* determine which knob the user is dragging when using dual knobs and
|
|
94
|
-
* apply the activated part correctly.
|
|
95
|
-
*/
|
|
96
|
-
activatedObserver;
|
|
97
|
-
get el() { return index.getElement(this); }
|
|
98
|
-
ratioA = 0;
|
|
99
|
-
ratioB = 0;
|
|
100
|
-
activatedKnob;
|
|
101
|
-
focusedKnob;
|
|
102
|
-
hoveredKnob;
|
|
103
|
-
pressedKnob;
|
|
104
|
-
/**
|
|
105
|
-
* The color to use from your application's color palette.
|
|
106
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
107
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
108
|
-
*/
|
|
109
|
-
color;
|
|
110
|
-
/**
|
|
111
|
-
* How long, in milliseconds, to wait to trigger the
|
|
112
|
-
* `ionInput` event after each change in the range value.
|
|
113
|
-
*/
|
|
114
|
-
debounce;
|
|
115
290
|
debounceChanged() {
|
|
116
291
|
const { ionInput, debounce, originalIonInput } = this;
|
|
117
292
|
/**
|
|
118
293
|
* If debounce is undefined, we have to manually revert the ionInput emitter in case
|
|
119
294
|
* debounce used to be set to a number. Otherwise, the event would stay debounced.
|
|
120
295
|
*/
|
|
121
|
-
this.ionInput = debounce === undefined ? originalIonInput
|
|
296
|
+
this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : helpers.debounceEvent(ionInput, debounce);
|
|
122
297
|
}
|
|
123
|
-
/**
|
|
124
|
-
* The name of the control, which is submitted with the form data.
|
|
125
|
-
*/
|
|
126
|
-
name = this.rangeId;
|
|
127
|
-
/**
|
|
128
|
-
* The text to display as the control's label. Use this over the `label` slot if
|
|
129
|
-
* you only need plain text. The `label` property will take priority over the
|
|
130
|
-
* `label` slot if both are used.
|
|
131
|
-
*/
|
|
132
|
-
label;
|
|
133
|
-
/**
|
|
134
|
-
* Show two knobs.
|
|
135
|
-
*/
|
|
136
|
-
dualKnobs = false;
|
|
137
|
-
/**
|
|
138
|
-
* Minimum integer value of the range.
|
|
139
|
-
*/
|
|
140
|
-
min = 0;
|
|
141
298
|
minChanged(newValue) {
|
|
142
299
|
if (!helpers.isSafeNumber(newValue)) {
|
|
143
300
|
this.min = 0;
|
|
@@ -146,10 +303,6 @@ const Range = class {
|
|
|
146
303
|
this.updateRatio();
|
|
147
304
|
}
|
|
148
305
|
}
|
|
149
|
-
/**
|
|
150
|
-
* Maximum integer value of the range.
|
|
151
|
-
*/
|
|
152
|
-
max = 100;
|
|
153
306
|
maxChanged(newValue) {
|
|
154
307
|
if (!helpers.isSafeNumber(newValue)) {
|
|
155
308
|
this.max = 100;
|
|
@@ -158,43 +311,11 @@ const Range = class {
|
|
|
158
311
|
this.updateRatio();
|
|
159
312
|
}
|
|
160
313
|
}
|
|
161
|
-
/**
|
|
162
|
-
* If `true`, a pin with integer value is shown when the knob
|
|
163
|
-
* is pressed.
|
|
164
|
-
*/
|
|
165
|
-
pin = false;
|
|
166
|
-
/**
|
|
167
|
-
* A callback used to format the pin text.
|
|
168
|
-
* By default the pin text is set to `Math.round(value)`.
|
|
169
|
-
*
|
|
170
|
-
* See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
|
|
171
|
-
* if you need to access `this` from within the callback.
|
|
172
|
-
*/
|
|
173
|
-
pinFormatter = (value) => Math.round(value);
|
|
174
|
-
/**
|
|
175
|
-
* If `true`, the knob snaps to tick marks evenly spaced based
|
|
176
|
-
* on the step property value.
|
|
177
|
-
*/
|
|
178
|
-
snaps = false;
|
|
179
|
-
/**
|
|
180
|
-
* Specifies the value granularity.
|
|
181
|
-
*/
|
|
182
|
-
step = 1;
|
|
183
314
|
stepChanged(newValue) {
|
|
184
315
|
if (!helpers.isSafeNumber(newValue)) {
|
|
185
316
|
this.step = 1;
|
|
186
317
|
}
|
|
187
318
|
}
|
|
188
|
-
/**
|
|
189
|
-
* If `true`, tick marks are displayed based on the step value.
|
|
190
|
-
* Only applies when `snaps` is `true`.
|
|
191
|
-
*/
|
|
192
|
-
ticks = true;
|
|
193
|
-
/**
|
|
194
|
-
* The start position of the range active bar. This feature is only available with a single knob (dualKnobs="false").
|
|
195
|
-
* Valid values are greater than or equal to the min value and less than or equal to the max value.
|
|
196
|
-
*/
|
|
197
|
-
activeBarStart;
|
|
198
319
|
activeBarStartChanged() {
|
|
199
320
|
const { activeBarStart } = this;
|
|
200
321
|
if (activeBarStart !== undefined) {
|
|
@@ -208,19 +329,11 @@ const Range = class {
|
|
|
208
329
|
}
|
|
209
330
|
}
|
|
210
331
|
}
|
|
211
|
-
/**
|
|
212
|
-
* If `true`, the user cannot interact with the range.
|
|
213
|
-
*/
|
|
214
|
-
disabled = false;
|
|
215
332
|
disabledChanged() {
|
|
216
333
|
if (this.gesture) {
|
|
217
334
|
this.gesture.enable(!this.disabled);
|
|
218
335
|
}
|
|
219
336
|
}
|
|
220
|
-
/**
|
|
221
|
-
* the value of the range.
|
|
222
|
-
*/
|
|
223
|
-
value = 0;
|
|
224
337
|
valueChanged(newValue, oldValue) {
|
|
225
338
|
const valuesChanged = this.compareValues(newValue, oldValue);
|
|
226
339
|
if (valuesChanged) {
|
|
@@ -230,120 +343,6 @@ const Range = class {
|
|
|
230
343
|
this.updateRatio();
|
|
231
344
|
}
|
|
232
345
|
}
|
|
233
|
-
/**
|
|
234
|
-
* Compares two RangeValue inputs to determine if they are different.
|
|
235
|
-
*
|
|
236
|
-
* @param newVal - The new value.
|
|
237
|
-
* @param oldVal - The old value.
|
|
238
|
-
* @returns `true` if the values are different, `false` otherwise.
|
|
239
|
-
*/
|
|
240
|
-
compareValues = (newVal, oldVal) => {
|
|
241
|
-
if (typeof newVal === 'object' && typeof oldVal === 'object') {
|
|
242
|
-
return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
|
|
243
|
-
}
|
|
244
|
-
return newVal !== oldVal;
|
|
245
|
-
};
|
|
246
|
-
clampBounds = (value) => {
|
|
247
|
-
return helpers.clamp(this.min, value, this.max);
|
|
248
|
-
};
|
|
249
|
-
ensureValueInBounds = (value) => {
|
|
250
|
-
if (this.dualKnobs) {
|
|
251
|
-
return {
|
|
252
|
-
lower: this.clampBounds(value.lower),
|
|
253
|
-
upper: this.clampBounds(value.upper),
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
return this.clampBounds(value);
|
|
258
|
-
}
|
|
259
|
-
};
|
|
260
|
-
/**
|
|
261
|
-
* Where to place the label relative to the range.
|
|
262
|
-
* `"start"`: The label will appear to the left of the range in LTR and to the right in RTL.
|
|
263
|
-
* `"end"`: The label will appear to the right of the range in LTR and to the left in RTL.
|
|
264
|
-
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
265
|
-
* `"stacked"`: The label will appear above the range regardless of the direction.
|
|
266
|
-
*/
|
|
267
|
-
labelPlacement = 'start';
|
|
268
|
-
/**
|
|
269
|
-
* The `ionChange` event is fired for `<ion-range>` elements when the user
|
|
270
|
-
* modifies the element's value:
|
|
271
|
-
* - When the user releases the knob after dragging;
|
|
272
|
-
* - When the user moves the knob with keyboard arrows
|
|
273
|
-
*
|
|
274
|
-
* This event will not emit when programmatically setting the `value` property.
|
|
275
|
-
*/
|
|
276
|
-
ionChange;
|
|
277
|
-
/**
|
|
278
|
-
* The `ionInput` event is fired for `<ion-range>` elements when the value
|
|
279
|
-
* is modified. Unlike `ionChange`, `ionInput` is fired continuously
|
|
280
|
-
* while the user is dragging the knob.
|
|
281
|
-
*/
|
|
282
|
-
ionInput;
|
|
283
|
-
/**
|
|
284
|
-
* Emitted when the range has focus.
|
|
285
|
-
*/
|
|
286
|
-
ionFocus;
|
|
287
|
-
/**
|
|
288
|
-
* Emitted when the range loses focus.
|
|
289
|
-
*/
|
|
290
|
-
ionBlur;
|
|
291
|
-
/**
|
|
292
|
-
* Emitted when the user starts moving the range knob, whether through
|
|
293
|
-
* mouse drag, touch gesture, or keyboard interaction.
|
|
294
|
-
*/
|
|
295
|
-
ionKnobMoveStart;
|
|
296
|
-
/**
|
|
297
|
-
* Emitted when the user finishes moving the range knob, whether through
|
|
298
|
-
* mouse drag, touch gesture, or keyboard interaction.
|
|
299
|
-
*/
|
|
300
|
-
ionKnobMoveEnd;
|
|
301
|
-
setupGesture = async () => {
|
|
302
|
-
const rangeSlider = this.rangeSlider;
|
|
303
|
-
if (rangeSlider) {
|
|
304
|
-
this.gesture = (await Promise.resolve().then(function () { return require('./index-P1nQxrpZ.js'); })).createGesture({
|
|
305
|
-
el: rangeSlider,
|
|
306
|
-
gestureName: 'range',
|
|
307
|
-
gesturePriority: 100,
|
|
308
|
-
/**
|
|
309
|
-
* Provide a threshold since the drag movement
|
|
310
|
-
* might be a user scrolling the view.
|
|
311
|
-
* If this is true, then the range
|
|
312
|
-
* should not move.
|
|
313
|
-
*/
|
|
314
|
-
threshold: 10,
|
|
315
|
-
onStart: () => this.onStart(),
|
|
316
|
-
onMove: (ev) => this.onMove(ev),
|
|
317
|
-
onEnd: (ev) => this.onEnd(ev),
|
|
318
|
-
});
|
|
319
|
-
this.gesture.enable(!this.disabled);
|
|
320
|
-
}
|
|
321
|
-
};
|
|
322
|
-
/**
|
|
323
|
-
* Observes the knob handles for the ion-activated class and syncs
|
|
324
|
-
* activatedKnob so the activated part is correctly set on the handle,
|
|
325
|
-
* knob, and pin.
|
|
326
|
-
*/
|
|
327
|
-
setupActivatedObserver = () => {
|
|
328
|
-
const knobHandleA = this.el.shadowRoot.querySelector('.range-knob-handle-a');
|
|
329
|
-
const knobHandleB = this.el.shadowRoot.querySelector('.range-knob-handle-b');
|
|
330
|
-
const syncActivated = () => {
|
|
331
|
-
this.activatedKnob = knobHandleA?.classList.contains('ion-activated')
|
|
332
|
-
? 'A'
|
|
333
|
-
: knobHandleB?.classList.contains('ion-activated')
|
|
334
|
-
? 'B'
|
|
335
|
-
: undefined;
|
|
336
|
-
};
|
|
337
|
-
if (typeof MutationObserver !== 'undefined') {
|
|
338
|
-
this.activatedObserver = new MutationObserver(syncActivated);
|
|
339
|
-
this.activatedObserver.observe(this.el.shadowRoot, {
|
|
340
|
-
attributes: true,
|
|
341
|
-
attributeFilter: ['class'],
|
|
342
|
-
subtree: true,
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
syncActivated();
|
|
346
|
-
};
|
|
347
346
|
componentWillLoad() {
|
|
348
347
|
/**
|
|
349
348
|
* If user has custom ID set then we should
|
|
@@ -367,6 +366,7 @@ const Range = class {
|
|
|
367
366
|
this.didLoad = true;
|
|
368
367
|
}
|
|
369
368
|
connectedCallback() {
|
|
369
|
+
var _a;
|
|
370
370
|
this.updateRatio();
|
|
371
371
|
this.debounceChanged();
|
|
372
372
|
this.disabledChanged();
|
|
@@ -382,7 +382,7 @@ const Range = class {
|
|
|
382
382
|
this.setupActivatedObserver();
|
|
383
383
|
}
|
|
384
384
|
const ionContent = index$1.findClosestIonContent(this.el);
|
|
385
|
-
this.contentEl = ionContent
|
|
385
|
+
this.contentEl = (_a = ionContent === null || ionContent === void 0 ? void 0 : ionContent.querySelector('.ion-content-scroll-host')) !== null && _a !== void 0 ? _a : ionContent;
|
|
386
386
|
}
|
|
387
387
|
disconnectedCallback() {
|
|
388
388
|
if (this.gesture) {
|
|
@@ -394,27 +394,9 @@ const Range = class {
|
|
|
394
394
|
this.activatedObserver = undefined;
|
|
395
395
|
}
|
|
396
396
|
}
|
|
397
|
-
handleKeyboard = (knob, isIncrease) => {
|
|
398
|
-
const { ensureValueInBounds } = this;
|
|
399
|
-
let step = this.step;
|
|
400
|
-
step = step > 0 ? step : 1;
|
|
401
|
-
step = step / (this.max - this.min);
|
|
402
|
-
if (!isIncrease) {
|
|
403
|
-
step *= -1;
|
|
404
|
-
}
|
|
405
|
-
if (knob === 'A') {
|
|
406
|
-
this.ratioA = helpers.clamp(0, this.ratioA + step, 1);
|
|
407
|
-
}
|
|
408
|
-
else {
|
|
409
|
-
this.ratioB = helpers.clamp(0, this.ratioB + step, 1);
|
|
410
|
-
}
|
|
411
|
-
this.ionKnobMoveStart.emit({ value: ensureValueInBounds(this.value) });
|
|
412
|
-
this.updateValue();
|
|
413
|
-
this.emitValueChange();
|
|
414
|
-
this.ionKnobMoveEnd.emit({ value: ensureValueInBounds(this.value) });
|
|
415
|
-
};
|
|
416
397
|
getValue() {
|
|
417
|
-
|
|
398
|
+
var _a;
|
|
399
|
+
const value = (_a = this.value) !== null && _a !== void 0 ? _a : 0;
|
|
418
400
|
if (this.dualKnobs) {
|
|
419
401
|
if (typeof value === 'object') {
|
|
420
402
|
return value;
|
|
@@ -500,8 +482,9 @@ const Range = class {
|
|
|
500
482
|
* @param detail The details of the gesture or mouse event.
|
|
501
483
|
*/
|
|
502
484
|
onEnd(detail) {
|
|
485
|
+
var _a;
|
|
503
486
|
const { contentEl, initialContentScrollY } = this;
|
|
504
|
-
const currentX = detail.currentX
|
|
487
|
+
const currentX = (_a = detail.currentX) !== null && _a !== void 0 ? _a : detail.clientX;
|
|
505
488
|
/**
|
|
506
489
|
* The `pressedKnob` can be undefined if the user never
|
|
507
490
|
* dragged the knob. They just tapped on the bar.
|
|
@@ -621,56 +604,6 @@ const Range = class {
|
|
|
621
604
|
};
|
|
622
605
|
this.noUpdate = false;
|
|
623
606
|
}
|
|
624
|
-
onBlur = () => {
|
|
625
|
-
if (this.hasFocus) {
|
|
626
|
-
this.hasFocus = false;
|
|
627
|
-
this.focusedKnob = undefined;
|
|
628
|
-
this.ionBlur.emit();
|
|
629
|
-
}
|
|
630
|
-
};
|
|
631
|
-
onFocus = () => {
|
|
632
|
-
if (!this.hasFocus) {
|
|
633
|
-
this.hasFocus = true;
|
|
634
|
-
this.ionFocus.emit();
|
|
635
|
-
}
|
|
636
|
-
};
|
|
637
|
-
onKnobFocus = (knob) => {
|
|
638
|
-
// Clicking focuses the range which is needed for the keyboard,
|
|
639
|
-
// but we only want to add the ion-focused class when focused via Tab.
|
|
640
|
-
if (!this.focusFromPointer) {
|
|
641
|
-
this.focusedKnob = knob;
|
|
642
|
-
}
|
|
643
|
-
else {
|
|
644
|
-
this.focusFromPointer = false;
|
|
645
|
-
this.focusedKnob = undefined;
|
|
646
|
-
}
|
|
647
|
-
// If the knob was not already focused, emit the focus event
|
|
648
|
-
if (!this.hasFocus) {
|
|
649
|
-
this.hasFocus = true;
|
|
650
|
-
this.ionFocus.emit();
|
|
651
|
-
}
|
|
652
|
-
};
|
|
653
|
-
onKnobBlur = () => {
|
|
654
|
-
// Check if focus is moving to another knob within the same range
|
|
655
|
-
// by delaying the reset to allow the new focus to register
|
|
656
|
-
setTimeout(() => {
|
|
657
|
-
const activeElement = this.el.shadowRoot?.activeElement;
|
|
658
|
-
const isStillFocusedOnKnob = activeElement && activeElement.classList.contains('range-knob-handle');
|
|
659
|
-
if (!isStillFocusedOnKnob) {
|
|
660
|
-
if (this.hasFocus) {
|
|
661
|
-
this.hasFocus = false;
|
|
662
|
-
this.focusedKnob = undefined;
|
|
663
|
-
this.ionBlur.emit();
|
|
664
|
-
}
|
|
665
|
-
}
|
|
666
|
-
}, 0);
|
|
667
|
-
};
|
|
668
|
-
onKnobMouseEnter = (knob) => {
|
|
669
|
-
this.hoveredKnob = knob;
|
|
670
|
-
};
|
|
671
|
-
onKnobMouseLeave = () => {
|
|
672
|
-
this.hoveredKnob = undefined;
|
|
673
|
-
};
|
|
674
607
|
/**
|
|
675
608
|
* Returns true if content was passed to the "start" slot
|
|
676
609
|
*/
|
|
@@ -687,6 +620,7 @@ const Range = class {
|
|
|
687
620
|
return this.label !== undefined || this.el.querySelector('[slot="label"]') !== null;
|
|
688
621
|
}
|
|
689
622
|
renderRangeSlider() {
|
|
623
|
+
var _a;
|
|
690
624
|
const { min, max, step, handleKeyboard, activatedKnob, focusedKnob, hoveredKnob, pressedKnob, disabled, pin, ratioLower, ratioUpper, pinFormatter, inheritedAttributes, } = this;
|
|
691
625
|
let barStart = `${ratioLower * 100}%`;
|
|
692
626
|
let barEnd = `${100 - ratioUpper * 100}%`;
|
|
@@ -703,7 +637,7 @@ const Range = class {
|
|
|
703
637
|
* When the value is less than the activeBarStart or the min value,
|
|
704
638
|
* the knob will display at the start of the active bar.
|
|
705
639
|
*/
|
|
706
|
-
if (this.valA < (this.activeBarStart
|
|
640
|
+
if (this.valA < ((_a = this.activeBarStart) !== null && _a !== void 0 ? _a : this.min)) {
|
|
707
641
|
/**
|
|
708
642
|
* Sets the bar positions relative to the upper and lower limits.
|
|
709
643
|
* Converts the ratio values into percentages, used as offsets for left/right styles.
|
|
@@ -851,7 +785,7 @@ const Range = class {
|
|
|
851
785
|
* Determine the name and position of the pressed knob to apply
|
|
852
786
|
* Host classes for styling.
|
|
853
787
|
*/
|
|
854
|
-
const pressedKnobName = dualKnobs ? pressedKnob
|
|
788
|
+
const pressedKnobName = dualKnobs ? pressedKnob === null || pressedKnob === void 0 ? void 0 : pressedKnob.toLowerCase() : undefined;
|
|
855
789
|
const pressedKnobPosition = dualKnobs && pressedKnob ? getKnobPosition(pressedKnob, this.ratioA, this.ratioB, dualKnobs) : undefined;
|
|
856
790
|
/**
|
|
857
791
|
* Determine if any knob is at the min or max value to
|
|
@@ -860,7 +794,7 @@ const Range = class {
|
|
|
860
794
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
861
795
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
862
796
|
helpers.renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
863
|
-
return (index.h(index.Host, { key: '
|
|
797
|
+
return (index.h(index.Host, { key: 'f8063d1234fb113fe55a7902845dd4b4da8b1edb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
|
|
864
798
|
[mode]: true,
|
|
865
799
|
'in-item': inItem,
|
|
866
800
|
'range-disabled': disabled,
|
|
@@ -874,11 +808,12 @@ const Range = class {
|
|
|
874
808
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
875
809
|
'range-value-min': valueAtMin,
|
|
876
810
|
'range-value-max': valueAtMax,
|
|
877
|
-
}) }, index.h("label", { key: '
|
|
811
|
+
}) }, index.h("label", { key: 'beead65ab01e3b18e4be59c0ee8ac6ebf32aad7c', class: "range-wrapper", id: "range-label" }, index.h("div", { key: '03633c689d9d2e4c50a2131bcd560329df49e314', class: {
|
|
878
812
|
'label-text-wrapper': true,
|
|
879
813
|
'label-text-wrapper-hidden': !hasLabel,
|
|
880
|
-
}, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '
|
|
814
|
+
}, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: 'c066804263ab6ae7393f8dcc51184b7198844ffa', class: "native-wrapper" }, index.h("slot", { key: '7e8ea224d72b3e965dd948bee7e45c1a096b6899', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: '21f242f6f60ff3adce6a2d90b2d4dac1ceaf6624', name: "end" })))));
|
|
881
815
|
}
|
|
816
|
+
get el() { return index.getElement(this); }
|
|
882
817
|
static get watchers() { return {
|
|
883
818
|
"debounce": [{
|
|
884
819
|
"debounceChanged": 0
|