@ionic/core 8.8.19-dev.11787076261.138d5922 → 8.8.19-dev.11787084784.17cf25cf
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-A3O24YmY.js +4 -0
- package/components/p-ABkNVeU9.js +4 -0
- package/components/p-B-JJgYSG.js +4 -0
- package/components/p-B9jFTlwE.js +4 -0
- package/components/p-BLmJ0zRm.js +4 -0
- package/components/p-BMI53wYL.js +4 -0
- package/components/p-BSEgsdFI.js +4 -0
- package/components/p-BTEOs1at.js +4 -0
- package/components/{p-DwpKZ6rl.js → p-BkKAANMJ.js} +1 -1
- package/components/p-BlIAuGv2.js +4 -0
- package/components/p-Bnsn6KaP.js +4 -0
- package/components/p-BsBCoGa-.js +4 -0
- package/components/p-Bz0dSlXZ.js +4 -0
- package/components/p-C53feagD.js +4 -0
- package/components/p-CHqRYvYm.js +4 -0
- package/components/p-CQGnMY3n.js +4 -0
- package/components/p-CSZf8_j0.js +4 -0
- package/components/{p-30_sZS2V.js → p-C_hpsif8.js} +1 -1
- package/components/p-C_xFdyXe.js +4 -0
- package/components/p-Cf2jSDS8.js +4 -0
- package/components/p-Cfx4M1Bn.js +4 -0
- package/components/{p-J-p0EtHR.js → p-ChIZKXUu.js} +1 -1
- package/components/p-CkMSOsFF.js +4 -0
- package/components/p-Cl0B-RWe.js +4 -0
- package/components/p-CmR5uXej.js +4 -0
- package/components/p-Cp4GRDqq.js +4 -0
- package/components/p-CsNJ1ULL.js +4 -0
- package/components/p-CtWGkNnJ.js +4 -0
- package/components/p-CzCbeKys.js +4 -0
- package/components/p-D-aHdMxW.js +4 -0
- package/components/p-D0d8qTwj.js +4 -0
- package/components/p-D13Eaw-8.js +4 -0
- package/components/{p-BpG8kBfD.js → p-D3xo7hqU.js} +1 -1
- package/components/p-D6Ynv7Xh.js +4 -0
- package/components/{p-_0JhwClE.js → p-D7uN07a3.js} +1 -1
- package/components/p-DCnGU1fF.js +4 -0
- package/components/p-DGvrK8dD.js +4 -0
- package/components/p-DOFCbuQR.js +4 -0
- package/components/p-DRxvM2Ic.js +4 -0
- package/components/p-DV5mPYQS.js +4 -0
- package/components/p-DWkAgceV.js +4 -0
- package/components/p-DiVJyqlX.js +4 -0
- package/components/{p-ryyf_ItD.js → p-DqLB8yFQ.js} +1 -1
- package/components/p-DqZAXv2t.js +4 -0
- package/components/p-Osve4qkc.js +4 -0
- package/components/p-R8zmRi4c.js +4 -0
- package/components/p-SLS1rDZM.js +4 -0
- package/components/p-aJ6PBUvj.js +4 -0
- package/components/p-cyNmxje6.js +4 -0
- package/components/p-gAg0kXZp.js +4 -0
- package/components/p-gYiraiT_.js +4 -0
- package/components/p-j5IxBIan.js +4 -0
- package/components/p-k_E4tX5Z.js +4 -0
- package/components/p-oD4kcBRX.js +4 -0
- package/components/p-rCa2eL0j.js +4 -0
- package/components/p-vRBNsYbs.js +4 -0
- package/components/p-yEQxMl70.js +4 -0
- package/components/p-yzCsOZE2.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-COnxOe4X.js} +3 -3
- package/dist/cjs/config-D6C-KlA9.js +201 -0
- package/dist/cjs/{dir-Brx7VkvP.js → dir-Cn0z1rJH.js} +1 -1
- package/dist/cjs/{format-pp0Du3K-.js → format-BUFWn4Bn.js} +30 -40
- package/dist/cjs/{framework-delegate-NTLQ5YzV.js → framework-delegate-BgU6U9Ez.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-gntk8bfm.js} +3 -3
- package/dist/cjs/{index-Ck9advCT.js → index-BS2uhvhT.js} +5 -5
- package/dist/cjs/{index-uvry__L4.js → index-BfaXsATC.js} +14 -31
- package/dist/cjs/{index-BlshL9ib.js → index-BhhuJ1Yx.js} +2 -2
- package/dist/cjs/{index-D48vawBq.js → index-BiRrzGDi.js} +2 -2
- package/dist/cjs/{index-P1nQxrpZ.js → index-CAvQ7Tka.js} +4 -10
- package/dist/cjs/{index-wOmugbdg.js → index-DqmRDbxg.js} +1 -1
- package/dist/cjs/{index-D2X6b92x.js → index-ooS8B4p9.js} +7 -6
- package/dist/cjs/index.cjs.js +18 -18
- package/dist/cjs/{input-shims-DvHAFqiP.js → input-shims-Bn1cXfCM.js} +11 -9
- package/dist/cjs/input.utils-BwhxZooW.js +150 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +340 -368
- package/dist/cjs/ion-action-sheet.cjs.entry.js +76 -187
- package/dist/cjs/ion-alert.cjs.entry.js +111 -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 +23 -47
- package/dist/cjs/ion-backdrop.cjs.entry.js +14 -18
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +121 -199
- package/dist/cjs/ion-button_2.cjs.entry.js +66 -138
- package/dist/cjs/ion-card_5.cjs.entry.js +30 -82
- package/dist/cjs/ion-checkbox.cjs.entry.js +101 -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 +241 -253
- package/dist/cjs/ion-datetime_3.cjs.entry.js +3167 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +81 -139
- package/dist/cjs/ion-img.cjs.entry.js +12 -34
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +72 -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 +211 -343
- package/dist/cjs/ion-item-option_3.cjs.entry.js +54 -94
- package/dist/cjs/ion-item_8.cjs.entry.js +92 -191
- package/dist/cjs/ion-loading.cjs.entry.js +60 -146
- package/dist/cjs/ion-menu_3.cjs.entry.js +106 -168
- package/dist/cjs/ion-modal.cjs.entry.js +261 -455
- package/dist/cjs/ion-nav_2.cjs.entry.js +158 -101
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +33 -37
- package/dist/cjs/ion-picker-column.cjs.entry.js +405 -417
- package/dist/cjs/ion-picker.cjs.entry.js +392 -401
- package/dist/cjs/ion-popover.cjs.entry.js +205 -319
- package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -31
- package/dist/cjs/ion-radio_2.cjs.entry.js +134 -207
- package/dist/cjs/ion-range.cjs.entry.js +245 -302
- package/dist/cjs/ion-refresher_2.cjs.entry.js +93 -165
- package/dist/cjs/ion-reorder_2.cjs.entry.js +23 -53
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -14
- package/dist/cjs/ion-route_4.cjs.entry.js +71 -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 +48 -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 +41 -100
- package/dist/cjs/ion-tab_2.cjs.entry.js +27 -53
- package/dist/cjs/ion-text.cjs.entry.js +5 -11
- package/dist/cjs/ion-textarea.cjs.entry.js +188 -296
- package/dist/cjs/ion-toast.cjs.entry.js +117 -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-IMJRwn29.js} +17 -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-CgQZxcoT.js} +8 -7
- package/dist/cjs/notch-controller-_SwR025y.js +155 -0
- package/dist/cjs/{overlays-IlP4H2Gn.js → overlays-DuSEMhIW.js} +33 -48
- package/dist/cjs/{status-tap-BR_ujYHg.js → status-tap-CSvBT7FV.js} +3 -3
- package/dist/cjs/{swipe-back-DzQKEl5g.js → swipe-back-CuIiziaa.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 +61 -103
- 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 +240 -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 +1 -1
- package/dist/collection/utils/hardware-back-button.js +3 -3
- package/dist/collection/utils/helpers.js +2 -2
- 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 +1 -1
- 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-BSpTQmS9.js} +3 -3
- package/dist/esm/config-DQCONYYp.js +195 -0
- package/dist/esm/{dir-B-FxiyeI.js → dir-C53feagD.js} +1 -1
- package/dist/esm/{format-Dcwga61t.js → format-CAmvpAez.js} +31 -41
- package/dist/esm/{framework-delegate--ajhSeKH.js → framework-delegate-FnPGymXL.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-HEqiOzXb.js} +3 -3
- package/dist/esm/{index-BCgUwrV0.js → index-BRHzoo00.js} +2 -2
- package/dist/esm/{index-8s8kZKJ7.js → index-B_dQk_WE.js} +5 -5
- package/dist/esm/{index-DppOcPFQ.js → index-CfgBF1SE.js} +4 -10
- package/dist/esm/{index-BvabGprD.js → index-DV3sJJW8.js} +2 -2
- package/dist/esm/{index-_Za5VB9w.js → index-Dw-wN0Ja.js} +2 -2
- package/dist/esm/{index-CumkqGQF.js → index-Q6UPU0Ay.js} +7 -6
- package/dist/esm/{index-ChhhtsGZ.js → index-tcQvqkiX.js} +15 -32
- package/dist/esm/index.js +15 -16
- package/dist/esm/{input-shims-BB0AKb_k.js → input-shims-LXhI7LEx.js} +11 -9
- package/dist/esm/input.utils-Y6NgW8bw.js +147 -0
- package/dist/esm/ion-accordion_2.entry.js +340 -368
- package/dist/esm/ion-action-sheet.entry.js +76 -187
- package/dist/esm/ion-alert.entry.js +110 -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 +23 -47
- package/dist/esm/ion-backdrop.entry.js +14 -18
- package/dist/esm/ion-breadcrumb_2.entry.js +121 -199
- package/dist/esm/ion-button_2.entry.js +66 -138
- package/dist/esm/ion-card_5.entry.js +30 -82
- package/dist/esm/ion-checkbox.entry.js +101 -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 +241 -253
- package/dist/esm/ion-datetime_3.entry.js +3163 -0
- package/dist/esm/ion-fab_3.entry.js +81 -139
- package/dist/esm/ion-img.entry.js +12 -34
- package/dist/esm/ion-infinite-scroll_2.entry.js +71 -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 +209 -341
- package/dist/esm/ion-item-option_3.entry.js +54 -94
- package/dist/esm/ion-item_8.entry.js +92 -191
- package/dist/esm/ion-loading.entry.js +59 -145
- package/dist/esm/ion-menu_3.entry.js +106 -168
- package/dist/esm/ion-modal.entry.js +261 -455
- package/dist/esm/ion-nav_2.entry.js +158 -101
- package/dist/esm/ion-picker-column-option.entry.js +33 -37
- package/dist/esm/ion-picker-column.entry.js +405 -417
- package/dist/esm/ion-picker.entry.js +392 -401
- package/dist/esm/ion-popover.entry.js +205 -319
- package/dist/esm/ion-progress-bar.entry.js +25 -31
- package/dist/esm/ion-radio_2.entry.js +134 -207
- package/dist/esm/ion-range.entry.js +245 -302
- package/dist/esm/ion-refresher_2.entry.js +91 -163
- package/dist/esm/ion-reorder_2.entry.js +23 -53
- package/dist/esm/ion-ripple-effect.entry.js +14 -14
- package/dist/esm/ion-route_4.entry.js +71 -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 +48 -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 +41 -100
- package/dist/esm/ion-tab_2.entry.js +27 -53
- package/dist/esm/ion-text.entry.js +5 -11
- package/dist/esm/ion-textarea.entry.js +187 -295
- package/dist/esm/ion-toast.entry.js +116 -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-ClFrsIrS.js} +17 -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-D0msQmzI.js} +8 -7
- package/dist/esm/notch-controller-DKDjU_O7.js +153 -0
- package/dist/esm/{overlays-CjWwtvf1.js → overlays-Dg0q2_tJ.js} +33 -48
- package/dist/esm/{status-tap-DpLhkDWs.js → status-tap-vO-6s4Yp.js} +3 -3
- package/dist/esm/{swipe-back-cz4-lyG3.js → swipe-back-DQ1q5MgD.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-06c232a4.entry.js +4 -0
- package/dist/ionic/p-0caa922c.entry.js +4 -0
- package/dist/ionic/p-0dc33652.entry.js +4 -0
- package/dist/ionic/p-0fa9c382.entry.js +4 -0
- package/dist/ionic/p-10e833ef.entry.js +4 -0
- package/dist/ionic/p-21eb76d5.entry.js +4 -0
- package/dist/ionic/p-27d30585.entry.js +4 -0
- package/dist/ionic/p-2a05aa64.entry.js +4 -0
- package/dist/ionic/p-2b204c59.entry.js +4 -0
- package/dist/ionic/p-2bb2cb18.entry.js +4 -0
- package/dist/ionic/p-2fa58e80.entry.js +4 -0
- package/dist/ionic/p-3353c229.entry.js +4 -0
- package/dist/ionic/p-34586ead.entry.js +4 -0
- package/dist/ionic/p-37e720da.entry.js +4 -0
- package/dist/ionic/p-390ca786.entry.js +4 -0
- package/dist/ionic/p-3ae5f277.entry.js +4 -0
- package/dist/ionic/p-4654ae1c.entry.js +4 -0
- package/dist/ionic/p-4745f534.entry.js +4 -0
- package/dist/ionic/p-4858af1f.entry.js +4 -0
- package/dist/ionic/p-4baa5b82.entry.js +4 -0
- package/dist/ionic/p-4e92a11f.entry.js +4 -0
- package/dist/ionic/p-50e1194a.entry.js +4 -0
- package/dist/ionic/p-5d1da0a2.entry.js +4 -0
- package/dist/ionic/p-5e2f73ee.entry.js +4 -0
- package/dist/ionic/p-5eb8e86d.entry.js +4 -0
- package/dist/ionic/p-65ebdf1b.entry.js +4 -0
- package/dist/ionic/p-696bdcf6.entry.js +4 -0
- package/dist/ionic/p-746fa988.entry.js +4 -0
- package/dist/ionic/p-75dc25ba.entry.js +4 -0
- package/dist/ionic/p-7c319341.entry.js +4 -0
- package/dist/ionic/p-829367ed.entry.js +4 -0
- package/dist/ionic/p-84d5ce05.entry.js +4 -0
- package/dist/ionic/p-874b4bd8.entry.js +4 -0
- package/dist/ionic/p-8eb8ee76.entry.js +4 -0
- package/dist/ionic/p-9eeaBrnk.js +4 -0
- package/dist/ionic/p-9f9db3a2.entry.js +4 -0
- package/dist/ionic/p-9fa3c405.entry.js +4 -0
- package/dist/ionic/p-BGqMS-oh.js +4 -0
- package/dist/ionic/p-BTEOs1at.js +4 -0
- package/dist/ionic/p-BUFIpxKM.js +4 -0
- package/dist/ionic/p-C0eMdTCW.js +4 -0
- package/dist/ionic/p-C53feagD.js +4 -0
- package/dist/ionic/p-CFlfIb2g.js +4 -0
- package/dist/ionic/p-CKvCXMs9.js +4 -0
- package/dist/ionic/p-Cl0B-RWe.js +4 -0
- package/dist/ionic/p-CmcFnK-B.js +4 -0
- package/dist/ionic/p-CtWGkNnJ.js +4 -0
- package/dist/ionic/p-Cx3IXROA.js +4 -0
- package/dist/ionic/p-D-3ycHmd.js +4 -0
- package/dist/ionic/p-D13Eaw-8.js +4 -0
- package/dist/ionic/p-D4uTWt4-.js +4 -0
- package/dist/ionic/p-DC3RagnA.js +4 -0
- package/dist/ionic/{p-CKUuSnDR.js → p-DIuEbVLu.js} +1 -1
- package/dist/ionic/{p-BvabGprD.js → p-DV3sJJW8.js} +1 -1
- package/dist/ionic/p-DiVJyqlX.js +4 -0
- package/dist/ionic/p-DoJvtrbw.js +4 -0
- package/dist/ionic/p-DqN5EA2O.js +4 -0
- package/dist/ionic/p-DzWaWHGc.js +4 -0
- package/dist/ionic/{p-I3In7hMC.js → p-KjNvRoEp.js} +1 -1
- package/dist/ionic/p-Nqf6uvGh.js +4 -0
- package/dist/ionic/p-SNAkTDfm.js +4 -0
- package/dist/ionic/p-VAemlbDS.js +4 -0
- package/dist/ionic/p-a3bdcae6.entry.js +4 -0
- package/dist/ionic/p-aaeedb6b.entry.js +4 -0
- package/dist/ionic/p-af55a72f.entry.js +4 -0
- package/dist/ionic/p-b2020591.entry.js +4 -0
- package/dist/ionic/p-b9fadbfe.entry.js +4 -0
- package/dist/ionic/{p-CQ_4TirR.js → p-biz8zWmJ.js} +1 -1
- package/dist/ionic/p-c0fb8edd.entry.js +4 -0
- package/dist/ionic/p-c38b648e.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-ca2ab74d.entry.js +4 -0
- package/dist/ionic/p-d889ff6d.entry.js +4 -0
- package/dist/ionic/p-dfa8d673.entry.js +4 -0
- package/dist/ionic/p-ea56626d.entry.js +4 -0
- package/dist/ionic/p-ef4c3bee.entry.js +4 -0
- package/dist/ionic/p-f386f6ae.entry.js +4 -0
- package/dist/ionic/p-mjKAFv89.js +4 -0
- package/dist/ionic/p-tcQvqkiX.js +5 -0
- package/dist/ionic/p-uWtqTrG8.js +4 -0
- package/dist/ionic/p-viFHDgRs.js +4 -0
- package/dist/ionic/p-xWb6fgfq.js +4 -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/range/range.d.ts +1 -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/logging/index.d.ts +1 -2
- package/dist/types/utils/overlays.d.ts +9 -11
- 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 +7322 -10670
- package/hydrate/index.mjs +7322 -10670
- 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-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-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/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/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-08443c08.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-BkfAWuv6.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-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
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent,
|
|
5
|
-
import { a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-
|
|
6
|
-
import { j as isSafeNumber,
|
|
7
|
-
import { i as isRTL } from './dir-
|
|
8
|
-
import { h as hostContext, c as createColorClasses } from './theme-
|
|
9
|
-
import { b as getIonMode } from './ionic-global-
|
|
4
|
+
import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
|
|
5
|
+
import { a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-Dw-wN0Ja.js';
|
|
6
|
+
import { j as isSafeNumber, e as clamp, d as debounceEvent, i as inheritAriaAttributes, a as renderHiddenInput } from './helpers-HEqiOzXb.js';
|
|
7
|
+
import { i as isRTL } from './dir-C53feagD.js';
|
|
8
|
+
import { h as hostContext, c as createColorClasses } from './theme-DiVJyqlX.js';
|
|
9
|
+
import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
|
|
10
10
|
|
|
11
11
|
function getDecimalPlaces(n) {
|
|
12
12
|
if (!isSafeNumber(n))
|
|
@@ -67,75 +67,237 @@ const Range = class {
|
|
|
67
67
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
68
68
|
this.ionKnobMoveStart = createEvent(this, "ionKnobMoveStart", 7);
|
|
69
69
|
this.ionKnobMoveEnd = createEvent(this, "ionKnobMoveEnd", 7);
|
|
70
|
+
this.rangeId = `ion-r-${rangeIds++}`;
|
|
71
|
+
this.didLoad = false;
|
|
72
|
+
this.noUpdate = false;
|
|
73
|
+
this.hasFocus = false;
|
|
74
|
+
this.inheritedAttributes = {};
|
|
75
|
+
this.contentEl = null;
|
|
76
|
+
this.initialContentScrollY = true;
|
|
77
|
+
/**
|
|
78
|
+
* Used to avoid setting the focused state on click or tap. The focused
|
|
79
|
+
* state is only set when the focus comes from the keyboard (e.g. Tab).
|
|
80
|
+
* This is set to true on pointer down (mouse/touch).
|
|
81
|
+
*/
|
|
82
|
+
this.focusFromPointer = false;
|
|
83
|
+
this.ratioA = 0;
|
|
84
|
+
this.ratioB = 0;
|
|
85
|
+
/**
|
|
86
|
+
* The name of the control, which is submitted with the form data.
|
|
87
|
+
*/
|
|
88
|
+
this.name = this.rangeId;
|
|
89
|
+
/**
|
|
90
|
+
* Show two knobs.
|
|
91
|
+
*/
|
|
92
|
+
this.dualKnobs = false;
|
|
93
|
+
/**
|
|
94
|
+
* Minimum integer value of the range.
|
|
95
|
+
*/
|
|
96
|
+
this.min = 0;
|
|
97
|
+
/**
|
|
98
|
+
* Maximum integer value of the range.
|
|
99
|
+
*/
|
|
100
|
+
this.max = 100;
|
|
101
|
+
/**
|
|
102
|
+
* If `true`, a pin with integer value is shown when the knob
|
|
103
|
+
* is pressed.
|
|
104
|
+
*/
|
|
105
|
+
this.pin = false;
|
|
106
|
+
/**
|
|
107
|
+
* A callback used to format the pin text.
|
|
108
|
+
* By default the pin text is set to `Math.round(value)`.
|
|
109
|
+
*
|
|
110
|
+
* See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
|
|
111
|
+
* if you need to access `this` from within the callback.
|
|
112
|
+
*/
|
|
113
|
+
this.pinFormatter = (value) => Math.round(value);
|
|
114
|
+
/**
|
|
115
|
+
* If `true`, the knob snaps to tick marks evenly spaced based
|
|
116
|
+
* on the step property value.
|
|
117
|
+
*/
|
|
118
|
+
this.snaps = false;
|
|
119
|
+
/**
|
|
120
|
+
* Specifies the value granularity.
|
|
121
|
+
*/
|
|
122
|
+
this.step = 1;
|
|
123
|
+
/**
|
|
124
|
+
* If `true`, tick marks are displayed based on the step value.
|
|
125
|
+
* Only applies when `snaps` is `true`.
|
|
126
|
+
*/
|
|
127
|
+
this.ticks = true;
|
|
128
|
+
/**
|
|
129
|
+
* If `true`, the user cannot interact with the range.
|
|
130
|
+
*/
|
|
131
|
+
this.disabled = false;
|
|
132
|
+
/**
|
|
133
|
+
* the value of the range.
|
|
134
|
+
*/
|
|
135
|
+
this.value = 0;
|
|
136
|
+
/**
|
|
137
|
+
* Compares two RangeValue inputs to determine if they are different.
|
|
138
|
+
*
|
|
139
|
+
* @param newVal - The new value.
|
|
140
|
+
* @param oldVal - The old value.
|
|
141
|
+
* @returns `true` if the values are different, `false` otherwise.
|
|
142
|
+
*/
|
|
143
|
+
this.compareValues = (newVal, oldVal) => {
|
|
144
|
+
if (typeof newVal === 'object' && typeof oldVal === 'object') {
|
|
145
|
+
return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
|
|
146
|
+
}
|
|
147
|
+
return newVal !== oldVal;
|
|
148
|
+
};
|
|
149
|
+
this.clampBounds = (value) => {
|
|
150
|
+
return clamp(this.min, value, this.max);
|
|
151
|
+
};
|
|
152
|
+
this.ensureValueInBounds = (value) => {
|
|
153
|
+
if (this.dualKnobs) {
|
|
154
|
+
return {
|
|
155
|
+
lower: this.clampBounds(value.lower),
|
|
156
|
+
upper: this.clampBounds(value.upper),
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
return this.clampBounds(value);
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Where to place the label relative to the range.
|
|
165
|
+
* `"start"`: The label will appear to the left of the range in LTR and to the right in RTL.
|
|
166
|
+
* `"end"`: The label will appear to the right of the range in LTR and to the left in RTL.
|
|
167
|
+
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
168
|
+
* `"stacked"`: The label will appear above the range regardless of the direction.
|
|
169
|
+
*/
|
|
170
|
+
this.labelPlacement = 'start';
|
|
171
|
+
this.setupGesture = async () => {
|
|
172
|
+
const rangeSlider = this.rangeSlider;
|
|
173
|
+
if (rangeSlider) {
|
|
174
|
+
this.gesture = (await import('./index-CfgBF1SE.js')).createGesture({
|
|
175
|
+
el: rangeSlider,
|
|
176
|
+
gestureName: 'range',
|
|
177
|
+
gesturePriority: 100,
|
|
178
|
+
/**
|
|
179
|
+
* Provide a threshold since the drag movement
|
|
180
|
+
* might be a user scrolling the view.
|
|
181
|
+
* If this is true, then the range
|
|
182
|
+
* should not move.
|
|
183
|
+
*/
|
|
184
|
+
threshold: 10,
|
|
185
|
+
onStart: () => this.onStart(),
|
|
186
|
+
onMove: (ev) => this.onMove(ev),
|
|
187
|
+
onEnd: (ev) => this.onEnd(ev),
|
|
188
|
+
});
|
|
189
|
+
this.gesture.enable(!this.disabled);
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* Observes the knob handles for the ion-activated class and syncs
|
|
194
|
+
* activatedKnob so the activated part is correctly set on the handle,
|
|
195
|
+
* knob, and pin.
|
|
196
|
+
*/
|
|
197
|
+
this.setupActivatedObserver = () => {
|
|
198
|
+
const knobHandleA = this.el.shadowRoot.querySelector('.range-knob-handle-a');
|
|
199
|
+
const knobHandleB = this.el.shadowRoot.querySelector('.range-knob-handle-b');
|
|
200
|
+
const syncActivated = () => {
|
|
201
|
+
this.activatedKnob = (knobHandleA === null || knobHandleA === void 0 ? void 0 : knobHandleA.classList.contains('ion-activated'))
|
|
202
|
+
? 'A'
|
|
203
|
+
: (knobHandleB === null || knobHandleB === void 0 ? void 0 : knobHandleB.classList.contains('ion-activated'))
|
|
204
|
+
? 'B'
|
|
205
|
+
: undefined;
|
|
206
|
+
};
|
|
207
|
+
if (typeof MutationObserver !== 'undefined') {
|
|
208
|
+
this.activatedObserver = new MutationObserver(syncActivated);
|
|
209
|
+
this.activatedObserver.observe(this.el.shadowRoot, {
|
|
210
|
+
attributes: true,
|
|
211
|
+
attributeFilter: ['class'],
|
|
212
|
+
subtree: true,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
syncActivated();
|
|
216
|
+
};
|
|
217
|
+
this.handleKeyboard = (knob, isIncrease) => {
|
|
218
|
+
const { ensureValueInBounds } = this;
|
|
219
|
+
let step = this.step;
|
|
220
|
+
step = step > 0 ? step : 1;
|
|
221
|
+
step = step / (this.max - this.min);
|
|
222
|
+
if (!isIncrease) {
|
|
223
|
+
step *= -1;
|
|
224
|
+
}
|
|
225
|
+
if (knob === 'A') {
|
|
226
|
+
this.ratioA = clamp(0, this.ratioA + step, 1);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
this.ratioB = clamp(0, this.ratioB + step, 1);
|
|
230
|
+
}
|
|
231
|
+
this.ionKnobMoveStart.emit({ value: ensureValueInBounds(this.value) });
|
|
232
|
+
this.updateValue();
|
|
233
|
+
this.emitValueChange();
|
|
234
|
+
this.ionKnobMoveEnd.emit({ value: ensureValueInBounds(this.value) });
|
|
235
|
+
};
|
|
236
|
+
this.onBlur = () => {
|
|
237
|
+
if (this.hasFocus) {
|
|
238
|
+
this.hasFocus = false;
|
|
239
|
+
this.focusedKnob = undefined;
|
|
240
|
+
this.ionBlur.emit();
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
this.onFocus = () => {
|
|
244
|
+
if (!this.hasFocus) {
|
|
245
|
+
this.hasFocus = true;
|
|
246
|
+
this.ionFocus.emit();
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
this.onKnobFocus = (knob) => {
|
|
250
|
+
// Clicking focuses the range which is needed for the keyboard,
|
|
251
|
+
// but we only want to add the ion-focused class when focused via Tab.
|
|
252
|
+
if (!this.focusFromPointer) {
|
|
253
|
+
this.focusedKnob = knob;
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
this.focusFromPointer = false;
|
|
257
|
+
this.focusedKnob = undefined;
|
|
258
|
+
}
|
|
259
|
+
// If the knob was not already focused, emit the focus event
|
|
260
|
+
if (!this.hasFocus) {
|
|
261
|
+
this.hasFocus = true;
|
|
262
|
+
this.ionFocus.emit();
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
this.onKnobBlur = () => {
|
|
266
|
+
// Check if focus is moving to another knob within the same range
|
|
267
|
+
// by delaying the reset to allow the new focus to register
|
|
268
|
+
setTimeout(() => {
|
|
269
|
+
var _a;
|
|
270
|
+
const activeElement = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement;
|
|
271
|
+
const isStillFocusedOnKnob = activeElement && activeElement.classList.contains('range-knob-handle');
|
|
272
|
+
if (!isStillFocusedOnKnob) {
|
|
273
|
+
if (this.hasFocus) {
|
|
274
|
+
this.hasFocus = false;
|
|
275
|
+
this.focusedKnob = undefined;
|
|
276
|
+
this.ionBlur.emit();
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}, 0);
|
|
280
|
+
};
|
|
281
|
+
this.onKnobMouseEnter = (knob) => {
|
|
282
|
+
this.hoveredKnob = knob;
|
|
283
|
+
};
|
|
284
|
+
this.onKnobMouseLeave = () => {
|
|
285
|
+
this.hoveredKnob = undefined;
|
|
286
|
+
};
|
|
70
287
|
}
|
|
71
|
-
rangeId = `ion-r-${rangeIds++}`;
|
|
72
|
-
didLoad = false;
|
|
73
|
-
noUpdate = false;
|
|
74
|
-
rect;
|
|
75
|
-
hasFocus = false;
|
|
76
|
-
rangeSlider;
|
|
77
|
-
gesture;
|
|
78
|
-
inheritedAttributes = {};
|
|
79
|
-
contentEl = null;
|
|
80
|
-
initialContentScrollY = true;
|
|
81
|
-
originalIonInput;
|
|
82
|
-
/**
|
|
83
|
-
* Used to avoid setting the focused state on click or tap. The focused
|
|
84
|
-
* state is only set when the focus comes from the keyboard (e.g. Tab).
|
|
85
|
-
* This is set to true on pointer down (mouse/touch).
|
|
86
|
-
*/
|
|
87
|
-
focusFromPointer = false;
|
|
88
|
-
/**
|
|
89
|
-
* Observes class changes on the knob handles to keep the activatedKnob
|
|
90
|
-
* state in sync with the ion-activated class. This is necessary to
|
|
91
|
-
* determine which knob the user is dragging when using dual knobs and
|
|
92
|
-
* apply the activated part correctly.
|
|
93
|
-
*/
|
|
94
|
-
activatedObserver;
|
|
95
|
-
get el() { return getElement(this); }
|
|
96
|
-
ratioA = 0;
|
|
97
|
-
ratioB = 0;
|
|
98
|
-
activatedKnob;
|
|
99
|
-
focusedKnob;
|
|
100
|
-
hoveredKnob;
|
|
101
|
-
pressedKnob;
|
|
102
|
-
/**
|
|
103
|
-
* The color to use from your application's color palette.
|
|
104
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
105
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
106
|
-
*/
|
|
107
|
-
color;
|
|
108
|
-
/**
|
|
109
|
-
* How long, in milliseconds, to wait to trigger the
|
|
110
|
-
* `ionInput` event after each change in the range value.
|
|
111
|
-
*/
|
|
112
|
-
debounce;
|
|
113
288
|
debounceChanged() {
|
|
114
289
|
const { ionInput, debounce, originalIonInput } = this;
|
|
115
290
|
/**
|
|
116
291
|
* If debounce is undefined, we have to manually revert the ionInput emitter in case
|
|
117
292
|
* debounce used to be set to a number. Otherwise, the event would stay debounced.
|
|
118
293
|
*/
|
|
119
|
-
this.ionInput = debounce === undefined ? originalIonInput
|
|
294
|
+
this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
|
|
295
|
+
}
|
|
296
|
+
dualKnobsChanged() {
|
|
297
|
+
if (!this.noUpdate) {
|
|
298
|
+
this.updateRatio();
|
|
299
|
+
}
|
|
120
300
|
}
|
|
121
|
-
/**
|
|
122
|
-
* The name of the control, which is submitted with the form data.
|
|
123
|
-
*/
|
|
124
|
-
name = this.rangeId;
|
|
125
|
-
/**
|
|
126
|
-
* The text to display as the control's label. Use this over the `label` slot if
|
|
127
|
-
* you only need plain text. The `label` property will take priority over the
|
|
128
|
-
* `label` slot if both are used.
|
|
129
|
-
*/
|
|
130
|
-
label;
|
|
131
|
-
/**
|
|
132
|
-
* Show two knobs.
|
|
133
|
-
*/
|
|
134
|
-
dualKnobs = false;
|
|
135
|
-
/**
|
|
136
|
-
* Minimum integer value of the range.
|
|
137
|
-
*/
|
|
138
|
-
min = 0;
|
|
139
301
|
minChanged(newValue) {
|
|
140
302
|
if (!isSafeNumber(newValue)) {
|
|
141
303
|
this.min = 0;
|
|
@@ -144,10 +306,6 @@ const Range = class {
|
|
|
144
306
|
this.updateRatio();
|
|
145
307
|
}
|
|
146
308
|
}
|
|
147
|
-
/**
|
|
148
|
-
* Maximum integer value of the range.
|
|
149
|
-
*/
|
|
150
|
-
max = 100;
|
|
151
309
|
maxChanged(newValue) {
|
|
152
310
|
if (!isSafeNumber(newValue)) {
|
|
153
311
|
this.max = 100;
|
|
@@ -156,43 +314,11 @@ const Range = class {
|
|
|
156
314
|
this.updateRatio();
|
|
157
315
|
}
|
|
158
316
|
}
|
|
159
|
-
/**
|
|
160
|
-
* If `true`, a pin with integer value is shown when the knob
|
|
161
|
-
* is pressed.
|
|
162
|
-
*/
|
|
163
|
-
pin = false;
|
|
164
|
-
/**
|
|
165
|
-
* A callback used to format the pin text.
|
|
166
|
-
* By default the pin text is set to `Math.round(value)`.
|
|
167
|
-
*
|
|
168
|
-
* See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
|
|
169
|
-
* if you need to access `this` from within the callback.
|
|
170
|
-
*/
|
|
171
|
-
pinFormatter = (value) => Math.round(value);
|
|
172
|
-
/**
|
|
173
|
-
* If `true`, the knob snaps to tick marks evenly spaced based
|
|
174
|
-
* on the step property value.
|
|
175
|
-
*/
|
|
176
|
-
snaps = false;
|
|
177
|
-
/**
|
|
178
|
-
* Specifies the value granularity.
|
|
179
|
-
*/
|
|
180
|
-
step = 1;
|
|
181
317
|
stepChanged(newValue) {
|
|
182
318
|
if (!isSafeNumber(newValue)) {
|
|
183
319
|
this.step = 1;
|
|
184
320
|
}
|
|
185
321
|
}
|
|
186
|
-
/**
|
|
187
|
-
* If `true`, tick marks are displayed based on the step value.
|
|
188
|
-
* Only applies when `snaps` is `true`.
|
|
189
|
-
*/
|
|
190
|
-
ticks = true;
|
|
191
|
-
/**
|
|
192
|
-
* The start position of the range active bar. This feature is only available with a single knob (dualKnobs="false").
|
|
193
|
-
* Valid values are greater than or equal to the min value and less than or equal to the max value.
|
|
194
|
-
*/
|
|
195
|
-
activeBarStart;
|
|
196
322
|
activeBarStartChanged() {
|
|
197
323
|
const { activeBarStart } = this;
|
|
198
324
|
if (activeBarStart !== undefined) {
|
|
@@ -206,19 +332,11 @@ const Range = class {
|
|
|
206
332
|
}
|
|
207
333
|
}
|
|
208
334
|
}
|
|
209
|
-
/**
|
|
210
|
-
* If `true`, the user cannot interact with the range.
|
|
211
|
-
*/
|
|
212
|
-
disabled = false;
|
|
213
335
|
disabledChanged() {
|
|
214
336
|
if (this.gesture) {
|
|
215
337
|
this.gesture.enable(!this.disabled);
|
|
216
338
|
}
|
|
217
339
|
}
|
|
218
|
-
/**
|
|
219
|
-
* the value of the range.
|
|
220
|
-
*/
|
|
221
|
-
value = 0;
|
|
222
340
|
valueChanged(newValue, oldValue) {
|
|
223
341
|
const valuesChanged = this.compareValues(newValue, oldValue);
|
|
224
342
|
if (valuesChanged) {
|
|
@@ -228,120 +346,6 @@ const Range = class {
|
|
|
228
346
|
this.updateRatio();
|
|
229
347
|
}
|
|
230
348
|
}
|
|
231
|
-
/**
|
|
232
|
-
* Compares two RangeValue inputs to determine if they are different.
|
|
233
|
-
*
|
|
234
|
-
* @param newVal - The new value.
|
|
235
|
-
* @param oldVal - The old value.
|
|
236
|
-
* @returns `true` if the values are different, `false` otherwise.
|
|
237
|
-
*/
|
|
238
|
-
compareValues = (newVal, oldVal) => {
|
|
239
|
-
if (typeof newVal === 'object' && typeof oldVal === 'object') {
|
|
240
|
-
return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
|
|
241
|
-
}
|
|
242
|
-
return newVal !== oldVal;
|
|
243
|
-
};
|
|
244
|
-
clampBounds = (value) => {
|
|
245
|
-
return clamp(this.min, value, this.max);
|
|
246
|
-
};
|
|
247
|
-
ensureValueInBounds = (value) => {
|
|
248
|
-
if (this.dualKnobs) {
|
|
249
|
-
return {
|
|
250
|
-
lower: this.clampBounds(value.lower),
|
|
251
|
-
upper: this.clampBounds(value.upper),
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
else {
|
|
255
|
-
return this.clampBounds(value);
|
|
256
|
-
}
|
|
257
|
-
};
|
|
258
|
-
/**
|
|
259
|
-
* Where to place the label relative to the range.
|
|
260
|
-
* `"start"`: The label will appear to the left of the range in LTR and to the right in RTL.
|
|
261
|
-
* `"end"`: The label will appear to the right of the range in LTR and to the left in RTL.
|
|
262
|
-
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
263
|
-
* `"stacked"`: The label will appear above the range regardless of the direction.
|
|
264
|
-
*/
|
|
265
|
-
labelPlacement = 'start';
|
|
266
|
-
/**
|
|
267
|
-
* The `ionChange` event is fired for `<ion-range>` elements when the user
|
|
268
|
-
* modifies the element's value:
|
|
269
|
-
* - When the user releases the knob after dragging;
|
|
270
|
-
* - When the user moves the knob with keyboard arrows
|
|
271
|
-
*
|
|
272
|
-
* This event will not emit when programmatically setting the `value` property.
|
|
273
|
-
*/
|
|
274
|
-
ionChange;
|
|
275
|
-
/**
|
|
276
|
-
* The `ionInput` event is fired for `<ion-range>` elements when the value
|
|
277
|
-
* is modified. Unlike `ionChange`, `ionInput` is fired continuously
|
|
278
|
-
* while the user is dragging the knob.
|
|
279
|
-
*/
|
|
280
|
-
ionInput;
|
|
281
|
-
/**
|
|
282
|
-
* Emitted when the range has focus.
|
|
283
|
-
*/
|
|
284
|
-
ionFocus;
|
|
285
|
-
/**
|
|
286
|
-
* Emitted when the range loses focus.
|
|
287
|
-
*/
|
|
288
|
-
ionBlur;
|
|
289
|
-
/**
|
|
290
|
-
* Emitted when the user starts moving the range knob, whether through
|
|
291
|
-
* mouse drag, touch gesture, or keyboard interaction.
|
|
292
|
-
*/
|
|
293
|
-
ionKnobMoveStart;
|
|
294
|
-
/**
|
|
295
|
-
* Emitted when the user finishes moving the range knob, whether through
|
|
296
|
-
* mouse drag, touch gesture, or keyboard interaction.
|
|
297
|
-
*/
|
|
298
|
-
ionKnobMoveEnd;
|
|
299
|
-
setupGesture = async () => {
|
|
300
|
-
const rangeSlider = this.rangeSlider;
|
|
301
|
-
if (rangeSlider) {
|
|
302
|
-
this.gesture = (await import('./index-DppOcPFQ.js')).createGesture({
|
|
303
|
-
el: rangeSlider,
|
|
304
|
-
gestureName: 'range',
|
|
305
|
-
gesturePriority: 100,
|
|
306
|
-
/**
|
|
307
|
-
* Provide a threshold since the drag movement
|
|
308
|
-
* might be a user scrolling the view.
|
|
309
|
-
* If this is true, then the range
|
|
310
|
-
* should not move.
|
|
311
|
-
*/
|
|
312
|
-
threshold: 10,
|
|
313
|
-
onStart: () => this.onStart(),
|
|
314
|
-
onMove: (ev) => this.onMove(ev),
|
|
315
|
-
onEnd: (ev) => this.onEnd(ev),
|
|
316
|
-
});
|
|
317
|
-
this.gesture.enable(!this.disabled);
|
|
318
|
-
}
|
|
319
|
-
};
|
|
320
|
-
/**
|
|
321
|
-
* Observes the knob handles for the ion-activated class and syncs
|
|
322
|
-
* activatedKnob so the activated part is correctly set on the handle,
|
|
323
|
-
* knob, and pin.
|
|
324
|
-
*/
|
|
325
|
-
setupActivatedObserver = () => {
|
|
326
|
-
const knobHandleA = this.el.shadowRoot.querySelector('.range-knob-handle-a');
|
|
327
|
-
const knobHandleB = this.el.shadowRoot.querySelector('.range-knob-handle-b');
|
|
328
|
-
const syncActivated = () => {
|
|
329
|
-
this.activatedKnob = knobHandleA?.classList.contains('ion-activated')
|
|
330
|
-
? 'A'
|
|
331
|
-
: knobHandleB?.classList.contains('ion-activated')
|
|
332
|
-
? 'B'
|
|
333
|
-
: undefined;
|
|
334
|
-
};
|
|
335
|
-
if (typeof MutationObserver !== 'undefined') {
|
|
336
|
-
this.activatedObserver = new MutationObserver(syncActivated);
|
|
337
|
-
this.activatedObserver.observe(this.el.shadowRoot, {
|
|
338
|
-
attributes: true,
|
|
339
|
-
attributeFilter: ['class'],
|
|
340
|
-
subtree: true,
|
|
341
|
-
});
|
|
342
|
-
}
|
|
343
|
-
syncActivated();
|
|
344
|
-
};
|
|
345
349
|
componentWillLoad() {
|
|
346
350
|
/**
|
|
347
351
|
* If user has custom ID set then we should
|
|
@@ -365,6 +369,7 @@ const Range = class {
|
|
|
365
369
|
this.didLoad = true;
|
|
366
370
|
}
|
|
367
371
|
connectedCallback() {
|
|
372
|
+
var _a;
|
|
368
373
|
this.updateRatio();
|
|
369
374
|
this.debounceChanged();
|
|
370
375
|
this.disabledChanged();
|
|
@@ -380,7 +385,7 @@ const Range = class {
|
|
|
380
385
|
this.setupActivatedObserver();
|
|
381
386
|
}
|
|
382
387
|
const ionContent = findClosestIonContent(this.el);
|
|
383
|
-
this.contentEl = ionContent
|
|
388
|
+
this.contentEl = (_a = ionContent === null || ionContent === void 0 ? void 0 : ionContent.querySelector('.ion-content-scroll-host')) !== null && _a !== void 0 ? _a : ionContent;
|
|
384
389
|
}
|
|
385
390
|
disconnectedCallback() {
|
|
386
391
|
if (this.gesture) {
|
|
@@ -392,27 +397,9 @@ const Range = class {
|
|
|
392
397
|
this.activatedObserver = undefined;
|
|
393
398
|
}
|
|
394
399
|
}
|
|
395
|
-
handleKeyboard = (knob, isIncrease) => {
|
|
396
|
-
const { ensureValueInBounds } = this;
|
|
397
|
-
let step = this.step;
|
|
398
|
-
step = step > 0 ? step : 1;
|
|
399
|
-
step = step / (this.max - this.min);
|
|
400
|
-
if (!isIncrease) {
|
|
401
|
-
step *= -1;
|
|
402
|
-
}
|
|
403
|
-
if (knob === 'A') {
|
|
404
|
-
this.ratioA = clamp(0, this.ratioA + step, 1);
|
|
405
|
-
}
|
|
406
|
-
else {
|
|
407
|
-
this.ratioB = clamp(0, this.ratioB + step, 1);
|
|
408
|
-
}
|
|
409
|
-
this.ionKnobMoveStart.emit({ value: ensureValueInBounds(this.value) });
|
|
410
|
-
this.updateValue();
|
|
411
|
-
this.emitValueChange();
|
|
412
|
-
this.ionKnobMoveEnd.emit({ value: ensureValueInBounds(this.value) });
|
|
413
|
-
};
|
|
414
400
|
getValue() {
|
|
415
|
-
|
|
401
|
+
var _a;
|
|
402
|
+
const value = (_a = this.value) !== null && _a !== void 0 ? _a : 0;
|
|
416
403
|
if (this.dualKnobs) {
|
|
417
404
|
if (typeof value === 'object') {
|
|
418
405
|
return value;
|
|
@@ -498,8 +485,9 @@ const Range = class {
|
|
|
498
485
|
* @param detail The details of the gesture or mouse event.
|
|
499
486
|
*/
|
|
500
487
|
onEnd(detail) {
|
|
488
|
+
var _a;
|
|
501
489
|
const { contentEl, initialContentScrollY } = this;
|
|
502
|
-
const currentX = detail.currentX
|
|
490
|
+
const currentX = (_a = detail.currentX) !== null && _a !== void 0 ? _a : detail.clientX;
|
|
503
491
|
/**
|
|
504
492
|
* The `pressedKnob` can be undefined if the user never
|
|
505
493
|
* dragged the knob. They just tapped on the bar.
|
|
@@ -619,56 +607,6 @@ const Range = class {
|
|
|
619
607
|
};
|
|
620
608
|
this.noUpdate = false;
|
|
621
609
|
}
|
|
622
|
-
onBlur = () => {
|
|
623
|
-
if (this.hasFocus) {
|
|
624
|
-
this.hasFocus = false;
|
|
625
|
-
this.focusedKnob = undefined;
|
|
626
|
-
this.ionBlur.emit();
|
|
627
|
-
}
|
|
628
|
-
};
|
|
629
|
-
onFocus = () => {
|
|
630
|
-
if (!this.hasFocus) {
|
|
631
|
-
this.hasFocus = true;
|
|
632
|
-
this.ionFocus.emit();
|
|
633
|
-
}
|
|
634
|
-
};
|
|
635
|
-
onKnobFocus = (knob) => {
|
|
636
|
-
// Clicking focuses the range which is needed for the keyboard,
|
|
637
|
-
// but we only want to add the ion-focused class when focused via Tab.
|
|
638
|
-
if (!this.focusFromPointer) {
|
|
639
|
-
this.focusedKnob = knob;
|
|
640
|
-
}
|
|
641
|
-
else {
|
|
642
|
-
this.focusFromPointer = false;
|
|
643
|
-
this.focusedKnob = undefined;
|
|
644
|
-
}
|
|
645
|
-
// If the knob was not already focused, emit the focus event
|
|
646
|
-
if (!this.hasFocus) {
|
|
647
|
-
this.hasFocus = true;
|
|
648
|
-
this.ionFocus.emit();
|
|
649
|
-
}
|
|
650
|
-
};
|
|
651
|
-
onKnobBlur = () => {
|
|
652
|
-
// Check if focus is moving to another knob within the same range
|
|
653
|
-
// by delaying the reset to allow the new focus to register
|
|
654
|
-
setTimeout(() => {
|
|
655
|
-
const activeElement = this.el.shadowRoot?.activeElement;
|
|
656
|
-
const isStillFocusedOnKnob = activeElement && activeElement.classList.contains('range-knob-handle');
|
|
657
|
-
if (!isStillFocusedOnKnob) {
|
|
658
|
-
if (this.hasFocus) {
|
|
659
|
-
this.hasFocus = false;
|
|
660
|
-
this.focusedKnob = undefined;
|
|
661
|
-
this.ionBlur.emit();
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
|
-
}, 0);
|
|
665
|
-
};
|
|
666
|
-
onKnobMouseEnter = (knob) => {
|
|
667
|
-
this.hoveredKnob = knob;
|
|
668
|
-
};
|
|
669
|
-
onKnobMouseLeave = () => {
|
|
670
|
-
this.hoveredKnob = undefined;
|
|
671
|
-
};
|
|
672
610
|
/**
|
|
673
611
|
* Returns true if content was passed to the "start" slot
|
|
674
612
|
*/
|
|
@@ -685,6 +623,7 @@ const Range = class {
|
|
|
685
623
|
return this.label !== undefined || this.el.querySelector('[slot="label"]') !== null;
|
|
686
624
|
}
|
|
687
625
|
renderRangeSlider() {
|
|
626
|
+
var _a;
|
|
688
627
|
const { min, max, step, handleKeyboard, activatedKnob, focusedKnob, hoveredKnob, pressedKnob, disabled, pin, ratioLower, ratioUpper, pinFormatter, inheritedAttributes, } = this;
|
|
689
628
|
let barStart = `${ratioLower * 100}%`;
|
|
690
629
|
let barEnd = `${100 - ratioUpper * 100}%`;
|
|
@@ -701,7 +640,7 @@ const Range = class {
|
|
|
701
640
|
* When the value is less than the activeBarStart or the min value,
|
|
702
641
|
* the knob will display at the start of the active bar.
|
|
703
642
|
*/
|
|
704
|
-
if (this.valA < (this.activeBarStart
|
|
643
|
+
if (this.valA < ((_a = this.activeBarStart) !== null && _a !== void 0 ? _a : this.min)) {
|
|
705
644
|
/**
|
|
706
645
|
* Sets the bar positions relative to the upper and lower limits.
|
|
707
646
|
* Converts the ratio values into percentages, used as offsets for left/right styles.
|
|
@@ -849,7 +788,7 @@ const Range = class {
|
|
|
849
788
|
* Determine the name and position of the pressed knob to apply
|
|
850
789
|
* Host classes for styling.
|
|
851
790
|
*/
|
|
852
|
-
const pressedKnobName = dualKnobs ? pressedKnob
|
|
791
|
+
const pressedKnobName = dualKnobs ? pressedKnob === null || pressedKnob === void 0 ? void 0 : pressedKnob.toLowerCase() : undefined;
|
|
853
792
|
const pressedKnobPosition = dualKnobs && pressedKnob ? getKnobPosition(pressedKnob, this.ratioA, this.ratioB, dualKnobs) : undefined;
|
|
854
793
|
/**
|
|
855
794
|
* Determine if any knob is at the min or max value to
|
|
@@ -858,7 +797,7 @@ const Range = class {
|
|
|
858
797
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
859
798
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
860
799
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
861
|
-
return (h(Host, { key: '
|
|
800
|
+
return (h(Host, { key: 'dce91cc0c2bbd5f7c64e5b77a4e3510841654371', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
862
801
|
[mode]: true,
|
|
863
802
|
'in-item': inItem,
|
|
864
803
|
'range-disabled': disabled,
|
|
@@ -872,15 +811,19 @@ const Range = class {
|
|
|
872
811
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
873
812
|
'range-value-min': valueAtMin,
|
|
874
813
|
'range-value-max': valueAtMax,
|
|
875
|
-
}) }, h("label", { key: '
|
|
814
|
+
}) }, h("label", { key: '8f9f6ce6b2eb2fd45114352c3b861f93281fabf1', class: "range-wrapper", id: "range-label" }, h("div", { key: '3125ca392585dc9174b775468e9d80e4d31296e1', class: {
|
|
876
815
|
'label-text-wrapper': true,
|
|
877
816
|
'label-text-wrapper-hidden': !hasLabel,
|
|
878
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
817
|
+
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '5734afc478f5375f47ebc310c95219f5a97957ed', class: "native-wrapper" }, h("slot", { key: '9cdfffe167bf58f7f6b009ab8ba3f6db7c7023fb', name: "start" }), this.renderRangeSlider(), h("slot", { key: '22dfd67d5a1e85c3742b1464497f94c255f35ae2', name: "end" })))));
|
|
879
818
|
}
|
|
819
|
+
get el() { return getElement(this); }
|
|
880
820
|
static get watchers() { return {
|
|
881
821
|
"debounce": [{
|
|
882
822
|
"debounceChanged": 0
|
|
883
823
|
}],
|
|
824
|
+
"dualKnobs": [{
|
|
825
|
+
"dualKnobsChanged": 0
|
|
826
|
+
}],
|
|
884
827
|
"min": [{
|
|
885
828
|
"minChanged": 0
|
|
886
829
|
}],
|