voyager-ionic-core 8.8.12 → 9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-1sJ0ZDPe.js +4 -0
- package/components/p-5ldEpNdG.js +4 -0
- package/components/p-6ZLn6K5e.js +4 -0
- package/components/p-B4lxwJ8N.js +4 -0
- package/components/{p-rCa2eL0j.js → p-BF48Oc0v.js} +1 -1
- package/components/p-BJr2B5hZ.js +4 -0
- package/components/p-BMPN55of.js +4 -0
- package/components/p-BNBnVi_1.js +4 -0
- package/components/{p-C4t5ymfq.js → p-BQyuFxYc.js} +1 -1
- package/components/p-BSQPZ79H.js +4 -0
- package/components/p-BT9-hMMz.js +4 -0
- package/components/p-BWoa-cki.js +4 -0
- package/components/p-BYJRZKHa.js +4 -0
- package/components/p-B_gJaBk0.js +4 -0
- package/components/p-BgkOsq-d.js +4 -0
- package/components/p-BhamHSw3.js +4 -0
- package/components/p-Bi-it1EH.js +4 -0
- package/components/p-C-NbvXu4.js +4 -0
- package/components/p-C0493tbX.js +4 -0
- package/components/p-C09TXohi.js +4 -0
- package/components/p-C4VpVfrJ.js +4 -0
- package/components/p-CEW4RXZO.js +4 -0
- package/components/p-CG_zZq_I.js +4 -0
- package/components/{p-B9jFTlwE.js → p-CJgnoKcN.js} +1 -1
- package/components/p-CMRYD_yR.js +4 -0
- package/components/{p-lE_JGpHD.js → p-CNLioZ3B.js} +1 -1
- package/components/{p--JUspHvy.js → p-COO0eJOA.js} +1 -1
- package/components/p-CWAks_S_.js +4 -0
- package/{dist/ionic/p-KjNvRoEp.js → components/p-Cd1WaN-0.js} +1 -1
- package/components/p-CqbGBmqb.js +4 -0
- package/components/p-CrAKlX71.js +4 -0
- package/components/p-Cw6WocLJ.js +4 -0
- package/components/p-D0YpjgON.js +4 -0
- package/components/{p-BirPFsRD.js → p-D5w_FlVa.js} +1 -1
- package/components/p-D7-vHX0A.js +4 -0
- package/components/p-D7wDJdFn.js +4 -0
- package/components/p-DFLJvuRK.js +4 -0
- package/components/p-DGPjJNOU.js +4 -0
- package/components/p-DJR0R0e1.js +4 -0
- package/components/p-DL13ieTa.js +4 -0
- package/components/{p-DqLB8yFQ.js → p-DM1gJSMP.js} +1 -1
- package/components/p-DMBiAyOR.js +4 -0
- package/components/p-DWCzVL3Y.js +4 -0
- package/components/p-DZRZic9C.js +4 -0
- package/components/{p-DNQI6d-L.js → p-DhNuxvJH.js} +1 -1
- package/components/p-DiuOa1vw.js +4 -0
- package/components/p-Dj40C8gm.js +4 -0
- package/components/p-Djmz-ssp.js +4 -0
- package/components/p-DnBNYc7u.js +4 -0
- package/components/p-DngGb-NV.js +4 -0
- package/components/p-Dojwmvde.js +4 -0
- package/components/p-DwSXbQSz.js +4 -0
- package/components/p-DxhHlJln.js +4 -0
- package/components/{p-DqZAXv2t.js → p-GGbIHyEF.js} +1 -1
- package/components/{p-j5IxBIan.js → p-Hp8t4RMX.js} +1 -1
- package/components/p-M34T2gyX.js +4 -0
- package/components/p-TWw4e4sO.js +4 -0
- package/components/{p-Cfx4M1Bn.js → p-YjMkHuvH.js} +1 -1
- package/components/p-byZM6qHV.js +4 -0
- package/components/p-cEN43Ahr.js +4 -0
- package/components/p-qAXsfUff.js +4 -0
- package/dist/cjs/{animation-BJq0kcy2.js → animation-Kd1N7WTN.js} +4 -4
- package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-b1G4t26O.js} +1 -1
- package/dist/cjs/{button-active-0mPOKmV2.js → button-active-CQCFubJJ.js} +3 -3
- package/dist/cjs/config-CjUbvdPW.js +36 -0
- package/dist/cjs/dir-zwDPRE5K.js +30 -0
- package/dist/cjs/{data-DLTUw-KF.js → format-bHU8N1g5.js} +48 -562
- package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-d-fWfeI6.js} +5 -7
- package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-CeJslptU.js} +1 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Ch-X4gRx.js} +2 -3
- package/dist/cjs/{hardware-back-button-iUuF_76h.js → hardware-back-button-Bu4Dzw8l.js} +4 -4
- package/dist/cjs/{helpers-Cv23MFHM.js → helpers-7wzdhdeg.js} +15 -11
- package/dist/cjs/index-BbqUBe2T.js +429 -0
- package/dist/cjs/{index-D81eLYUM.js → index-C74Q3t6a.js} +3 -2
- package/dist/cjs/{index-BERfRao3.js → index-CQfEIyLK.js} +5 -5
- package/dist/cjs/{index-aC4x3Fk3.js → index-DFNrCX7M.js} +6 -7
- package/dist/cjs/{index-CAvQ7Tka.js → index-DRPqwSvU.js} +13 -30
- package/dist/cjs/{index-Ct7gcRif.js → index-DXoo08JC.js} +321 -26
- package/dist/cjs/{index-CIrkNXqJ.js → index-DtvKGwdh.js} +34 -2
- package/dist/cjs/{index-DqmRDbxg.js → index-wOmugbdg.js} +1 -1
- package/dist/cjs/index.cjs.js +19 -18
- package/dist/cjs/{input-shims-CFLg7uzj.js → input-shims-VJIiKBKv.js} +10 -11
- package/dist/cjs/input.utils-EHVE2RK_.js +35 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +12 -12
- package/dist/cjs/ion-action-sheet.cjs.entry.js +92 -44
- package/dist/cjs/ion-alert.cjs.entry.js +144 -65
- package/dist/cjs/ion-app_8.cjs.entry.js +112 -40
- package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-back-button.cjs.entry.js +6 -5
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-button_2.cjs.entry.js +18 -10
- package/dist/cjs/ion-card_5.cjs.entry.js +6 -5
- package/dist/cjs/ion-checkbox.cjs.entry.js +25 -12
- package/dist/cjs/ion-chip.cjs.entry.js +3 -3
- package/dist/cjs/ion-col_3.cjs.entry.js +10 -6
- package/dist/cjs/ion-datetime-button.cjs.entry.js +29 -30
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +773 -796
- package/dist/cjs/ion-fab_3.cjs.entry.js +93 -14
- package/dist/cjs/ion-img.cjs.entry.js +7 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +8 -6
- package/dist/cjs/ion-input-otp.cjs.entry.js +20 -29
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -10
- package/dist/cjs/ion-input.cjs.entry.js +58 -70
- package/dist/cjs/ion-item-option_3.cjs.entry.js +21 -24
- package/dist/cjs/ion-item_8.cjs.entry.js +117 -33
- package/dist/cjs/ion-loading.cjs.entry.js +29 -15
- package/dist/cjs/ion-menu_3.cjs.entry.js +23 -24
- package/dist/cjs/ion-modal.cjs.entry.js +307 -159
- package/dist/cjs/ion-nav_2.cjs.entry.js +30 -138
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -13
- package/dist/cjs/ion-picker-column.cjs.entry.js +218 -62
- package/dist/cjs/ion-picker.cjs.entry.js +4 -4
- package/dist/cjs/ion-popover.cjs.entry.js +50 -30
- package/dist/cjs/ion-progress-bar.cjs.entry.js +6 -5
- package/dist/cjs/ion-radio_2.cjs.entry.js +24 -14
- package/dist/cjs/ion-range.cjs.entry.js +30 -25
- package/dist/cjs/ion-refresher_2.cjs.entry.js +61 -26
- package/dist/cjs/ion-reorder_2.cjs.entry.js +10 -9
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +36 -30
- package/dist/cjs/ion-searchbar.cjs.entry.js +27 -22
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +5 -6
- package/dist/cjs/ion-segment_2.cjs.entry.js +30 -26
- package/dist/cjs/ion-select-modal.cjs.entry.js +93 -38
- package/dist/cjs/ion-select_3.cjs.entry.js +495 -125
- package/dist/cjs/ion-spinner.cjs.entry.js +5 -6
- package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +15 -12
- package/dist/cjs/ion-tab_2.cjs.entry.js +26 -19
- package/dist/cjs/ion-text.cjs.entry.js +5 -5
- package/dist/cjs/ion-textarea.cjs.entry.js +56 -65
- package/dist/cjs/ion-toast.cjs.entry.js +26 -21
- package/dist/cjs/ion-toggle.cjs.entry.js +36 -15
- package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CYJNT-2P.js} +13 -8
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-DYGiD6gM.js} +14 -17
- package/dist/cjs/item-multiple-inputs-Dv6qrMhm.js +38 -0
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Cix5TVkD.js} +2 -2
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-cHxZlTyz.js} +2 -2
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-PtZoN2GS.js} +6 -6
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-B8-wBZqt.js → md.transition-CrSkaoz6.js} +8 -8
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-TbKsuC-K.js → overlays-BR21NUIG.js} +120 -57
- package/dist/cjs/select-option-render-CrbLc-1j.js +123 -0
- package/dist/cjs/slot-mutation-controller-D6IjSEIh.js +397 -0
- package/dist/cjs/{status-tap-BXX8H8_Y.js → status-tap-CNP5eD1R.js} +4 -3
- package/dist/cjs/{swipe-back-CCMaNiP2.js → swipe-back-CSIJQfu5.js} +5 -5
- package/dist/cjs/{theme-CeDs6Hcv.js → theme-Bw0rpaNN.js} +6 -1
- package/dist/collection/collection-manifest.json +7 -11
- package/dist/collection/components/accordion/accordion.js +5 -6
- package/dist/collection/components/accordion-group/accordion-group.js +2 -2
- package/dist/collection/components/action-sheet/action-sheet.ios.css +228 -2
- package/dist/collection/components/action-sheet/action-sheet.js +77 -31
- package/dist/collection/components/action-sheet/action-sheet.md.css +174 -2
- package/dist/collection/components/alert/alert.ios.css +279 -10
- package/dist/collection/components/alert/alert.js +127 -50
- package/dist/collection/components/alert/alert.md.css +268 -20
- package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
- package/dist/collection/components/button/button.js +11 -4
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/checkbox/checkbox.ios.css +18 -0
- package/dist/collection/components/checkbox/checkbox.js +19 -8
- package/dist/collection/components/checkbox/checkbox.md.css +18 -0
- package/dist/collection/components/col/col.js +7 -3
- package/dist/collection/components/content/content.js +56 -6
- package/dist/collection/components/datetime/datetime.ios.css +42 -2
- package/dist/collection/components/datetime/datetime.js +193 -79
- package/dist/collection/components/datetime/datetime.md.css +42 -1
- package/dist/collection/components/datetime/utils/data.js +13 -14
- package/dist/collection/components/datetime/utils/format.js +21 -11
- package/dist/collection/components/datetime/utils/manipulation.js +8 -8
- package/dist/collection/components/datetime/utils/parse.js +10 -10
- package/dist/collection/components/datetime/utils/state.js +8 -2
- package/dist/collection/components/datetime/utils/validate.js +4 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
- package/dist/collection/components/datetime-button/datetime-button.js +21 -25
- package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
- package/dist/collection/components/fab-button/fab-button.js +114 -10
- package/dist/collection/components/footer/footer.js +1 -1
- package/dist/collection/components/header/header.js +2 -2
- package/dist/collection/components/img/img.js +6 -1
- package/dist/collection/components/input/input.ios.css +57 -26
- package/dist/collection/components/input/input.js +51 -64
- package/dist/collection/components/input/input.md.css +79 -43
- package/dist/collection/components/input-otp/input-otp.js +15 -24
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +5 -6
- package/dist/collection/components/item/item.ios.css +11 -0
- package/dist/collection/components/item/item.js +99 -15
- package/dist/collection/components/item/item.md.css +11 -0
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +12 -16
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list/list.js +2 -2
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +17 -5
- package/dist/collection/components/menu/menu.js +6 -8
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- 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 +47 -32
- package/dist/collection/components/modal/gestures/swipe-to-close.js +23 -33
- package/dist/collection/components/modal/gestures/utils.js +17 -0
- package/dist/collection/components/modal/modal.ios.css +8 -0
- package/dist/collection/components/modal/modal.js +158 -65
- package/dist/collection/components/modal/modal.md.css +8 -0
- package/dist/collection/components/modal/safe-area-utils.js +39 -5
- package/dist/collection/components/nav/nav.js +24 -235
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker/picker.js +1 -2
- package/dist/collection/components/picker-column/picker-column.css +3 -0
- package/dist/collection/components/picker-column/picker-column.js +212 -58
- package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
- package/dist/collection/components/popover/animations/ios.enter.js +1 -2
- package/dist/collection/components/popover/animations/md.enter.js +1 -2
- package/dist/collection/components/popover/popover.ios.css +15 -0
- package/dist/collection/components/popover/popover.js +32 -9
- package/dist/collection/components/popover/popover.md.css +15 -0
- package/dist/collection/components/popover/utils.js +4 -6
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.ios.css +11 -15
- package/dist/collection/components/radio/radio.js +17 -9
- package/dist/collection/components/radio/radio.md.css +11 -11
- package/dist/collection/components/radio-group/radio-group.js +2 -2
- package/dist/collection/components/range/range.js +24 -19
- package/dist/collection/components/refresher/refresher.js +49 -16
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/route/route.js +1 -1
- package/dist/collection/components/router/router.js +2 -6
- package/dist/collection/components/router/utils/dom.js +25 -7
- package/dist/collection/components/router/utils/matching.js +6 -9
- package/dist/collection/components/router/utils/parser.js +1 -1
- package/dist/collection/components/router/utils/path.js +0 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +49 -10
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +25 -20
- package/dist/collection/components/segment/segment.js +9 -11
- package/dist/collection/components/segment-button/segment-button.js +15 -9
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +3 -4
- package/dist/collection/components/select/select.ios.css +96 -69
- package/dist/collection/components/select/select.js +405 -91
- package/dist/collection/components/select/select.md.css +118 -85
- package/dist/collection/components/select-modal/select-modal.ios.css +218 -0
- package/dist/collection/components/select-modal/select-modal.js +80 -27
- package/dist/collection/components/select-modal/select-modal.md.css +164 -0
- package/dist/collection/components/select-option/select-option.js +67 -3
- package/dist/collection/components/select-popover/select-popover.ios.css +218 -0
- package/dist/collection/components/select-popover/select-popover.js +78 -26
- package/dist/collection/components/select-popover/select-popover.md.css +164 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +2 -3
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +20 -13
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +6 -4
- package/dist/collection/components/tabs/tabs.js +2 -3
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.ios.css +94 -62
- package/dist/collection/components/textarea/textarea.js +47 -57
- package/dist/collection/components/textarea/textarea.md.css +103 -77
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +12 -9
- package/dist/collection/components/toggle/toggle.ios.css +12 -4
- package/dist/collection/components/toggle/toggle.js +27 -7
- package/dist/collection/components/toggle/toggle.md.css +42 -5
- package/dist/collection/components/toolbar/toolbar.js +7 -4
- package/dist/collection/global/config.js +3 -3
- package/dist/collection/global/ionic-global.js +8 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/animation/animation.js +3 -3
- package/dist/collection/utils/config.js +5 -4
- package/dist/collection/utils/content/index.js +30 -0
- 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 +2 -0
- package/dist/collection/utils/forms/item-multiple-inputs.js +33 -0
- package/dist/collection/utils/forms/start-container-controller.js +132 -0
- package/dist/collection/utils/framework-delegate.js +4 -6
- package/dist/collection/utils/gesture/gesture-controller.js +1 -2
- package/dist/collection/utils/gesture/index.js +10 -2
- 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 +4 -5
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
- 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 +23 -4
- package/dist/collection/utils/menu-controller/index.js +1 -2
- package/dist/collection/utils/native/haptic.js +2 -3
- package/dist/collection/utils/native/keyboard.js +2 -2
- package/dist/collection/utils/native/status-bar.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +45 -0
- package/dist/collection/utils/overlays.js +109 -47
- package/dist/collection/utils/platform.js +4 -5
- package/dist/collection/utils/rtl/dir.js +17 -7
- package/dist/collection/utils/sanitization/index.js +275 -20
- package/dist/collection/utils/select-option-render.js +118 -0
- package/dist/collection/utils/slot-mutation-controller.js +1 -2
- package/dist/collection/utils/test/late-props/late-props.js +69 -0
- package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +25 -0
- package/dist/collection/utils/test/playwright/detach-reattach.js +23 -0
- package/dist/collection/utils/test/playwright/drag-element.js +14 -0
- package/dist/collection/utils/test/playwright/generator.js +3 -4
- package/dist/collection/utils/test/playwright/index.js +2 -0
- package/dist/collection/utils/test/playwright/page/event-spy.js +2 -4
- package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
- 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 +2 -3
- package/dist/collection/utils/test/press-keys.js +6 -16
- package/dist/collection/utils/theme.js +6 -1
- package/dist/collection/utils/transition/ios.transition.js +9 -13
- package/dist/collection/utils/transition/md.transition.js +3 -4
- package/dist/docs.json +972 -1402
- package/dist/esm/{animation-DLJpuoEz.js → animation-BFNVlYum.js} +4 -4
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-BgX0BGL1.js} +1 -1
- package/dist/esm/{button-active-BSpTQmS9.js → button-active-BfOvDr3b.js} +3 -3
- package/dist/esm/config-DWCzVL3Y.js +32 -0
- package/dist/esm/dir-Dojwmvde.js +28 -0
- package/dist/esm/{data-DZI70dKr.js → format-DDFE9jM5.js} +41 -554
- package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-BwNhx9NR.js} +5 -7
- package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-B_gJaBk0.js} +1 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
- package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-DmkiRgOT.js} +4 -4
- package/dist/esm/{helpers-HEqiOzXb.js → helpers-BSmc0nst.js} +15 -11
- package/dist/esm/{index-CfgBF1SE.js → index-BmLuEdV7.js} +13 -30
- package/dist/esm/{index-Q6UPU0Ay.js → index-BuPaALjU.js} +6 -7
- package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
- package/dist/esm/{index-MEDq2S8l.js → index-C1b9CLFg.js} +33 -3
- package/dist/esm/{index-tcQvqkiX.js → index-C23AVPx9.js} +303 -26
- package/dist/esm/{index-BRHzoo00.js → index-CJln0gS3.js} +3 -2
- package/dist/esm/index-CqoUoxgG.js +423 -0
- package/dist/esm/{index-B_dQk_WE.js → index-DnA_7Bnx.js} +5 -5
- package/dist/esm/index.js +17 -15
- package/dist/esm/{input-shims-D10mwcw1.js → input-shims-Dqk-Ou25.js} +10 -11
- package/dist/esm/input.utils-rqoH22pW.js +33 -0
- package/dist/esm/ion-accordion_2.entry.js +12 -12
- package/dist/esm/ion-action-sheet.entry.js +92 -44
- package/dist/esm/ion-alert.entry.js +143 -64
- package/dist/esm/ion-app_8.entry.js +112 -40
- package/dist/esm/ion-avatar_3.entry.js +4 -4
- package/dist/esm/ion-back-button.entry.js +6 -5
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +8 -7
- package/dist/esm/ion-button_2.entry.js +18 -10
- package/dist/esm/ion-card_5.entry.js +6 -5
- package/dist/esm/ion-checkbox.entry.js +25 -12
- package/dist/esm/ion-chip.entry.js +3 -3
- package/dist/esm/ion-col_3.entry.js +10 -6
- package/dist/esm/ion-datetime-button.entry.js +28 -29
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +712 -733
- package/dist/esm/ion-fab_3.entry.js +93 -14
- package/dist/esm/ion-img.entry.js +7 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +7 -5
- package/dist/esm/ion-input-otp.entry.js +20 -29
- package/dist/esm/ion-input-password-toggle.entry.js +9 -10
- package/dist/esm/ion-input.entry.js +56 -68
- package/dist/esm/ion-item-option_3.entry.js +21 -24
- package/dist/esm/ion-item_8.entry.js +117 -33
- package/dist/esm/ion-loading.entry.js +28 -14
- package/dist/esm/ion-menu_3.entry.js +23 -24
- package/dist/esm/ion-modal.entry.js +295 -147
- package/dist/esm/ion-nav_2.entry.js +30 -138
- package/dist/esm/ion-picker-column-option.entry.js +8 -13
- package/dist/esm/ion-picker-column.entry.js +218 -62
- package/dist/esm/ion-picker.entry.js +4 -4
- package/dist/esm/ion-popover.entry.js +50 -30
- package/dist/esm/ion-progress-bar.entry.js +6 -5
- package/dist/esm/ion-radio_2.entry.js +24 -14
- package/dist/esm/ion-range.entry.js +30 -25
- package/dist/esm/ion-refresher_2.entry.js +59 -24
- package/dist/esm/ion-reorder_2.entry.js +10 -9
- package/dist/esm/ion-ripple-effect.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +36 -30
- package/dist/esm/ion-searchbar.entry.js +27 -22
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +5 -6
- package/dist/esm/ion-segment_2.entry.js +30 -26
- package/dist/esm/ion-select-modal.entry.js +93 -38
- package/dist/esm/ion-select_3.entry.js +495 -125
- package/dist/esm/ion-spinner.entry.js +5 -6
- package/dist/esm/ion-split-pane.entry.js +4 -4
- package/dist/esm/ion-tab-bar_2.entry.js +15 -12
- package/dist/esm/ion-tab_2.entry.js +26 -19
- package/dist/esm/ion-text.entry.js +5 -5
- package/dist/esm/ion-textarea.entry.js +55 -64
- package/dist/esm/ion-toast.entry.js +25 -20
- package/dist/esm/ion-toggle.entry.js +36 -15
- package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-ZXjCXKH0.js} +13 -8
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-CWAgfQ1r.js} +14 -17
- package/dist/esm/item-multiple-inputs-DZnIiOO_.js +36 -0
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-D0msQmzI.js → md.transition-ZuqDDdDW.js} +8 -8
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays-TbiM4mdr.js → overlays-DKE0DgvE.js} +119 -57
- package/dist/esm/select-option-render-1W6W9pbC.js +121 -0
- package/dist/esm/slot-mutation-controller-B5NpUZ-N.js +393 -0
- package/dist/esm/{status-tap-Kan2W7sh.js → status-tap-Cv9gb3ja.js} +4 -3
- package/dist/esm/{swipe-back-ZUWwA-KF.js → swipe-back-De5HlmeM.js} +5 -5
- package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
- package/dist/html.html-data.json +58 -82
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-06c6b540.entry.js +4 -0
- package/dist/ionic/p-099b7f9f.entry.js +4 -0
- package/dist/ionic/p-0dcb7bb6.entry.js +4 -0
- package/dist/ionic/p-1347880c.entry.js +4 -0
- package/dist/ionic/p-191a651e.entry.js +4 -0
- package/dist/ionic/p-1f24cb24.entry.js +4 -0
- package/dist/ionic/p-271c3640.entry.js +4 -0
- package/dist/ionic/p-2c52fe3e.entry.js +4 -0
- package/dist/ionic/p-2ea4bb36.entry.js +4 -0
- package/dist/ionic/p-338a02e0.entry.js +4 -0
- package/dist/ionic/p-38b9375b.entry.js +4 -0
- package/dist/ionic/p-3bba83ee.entry.js +4 -0
- package/dist/ionic/p-4712a8a9.entry.js +4 -0
- package/dist/ionic/p-4c3e50f8.entry.js +4 -0
- package/dist/ionic/p-4e2fef42.entry.js +4 -0
- package/dist/ionic/p-54cbb0a7.entry.js +4 -0
- package/dist/ionic/{p-2bb2cb18.entry.js → p-561af487.entry.js} +1 -1
- package/dist/ionic/p-5906ea6f.entry.js +4 -0
- package/dist/ionic/p-5cc09b40.entry.js +4 -0
- package/dist/ionic/p-5d9094ac.entry.js +4 -0
- package/dist/ionic/p-612ea3b1.entry.js +4 -0
- package/dist/ionic/p-66f150ec.entry.js +4 -0
- package/dist/ionic/p-68cc89a6.entry.js +4 -0
- package/dist/ionic/{p-dfa8d673.entry.js → p-6e386853.entry.js} +1 -1
- package/dist/ionic/p-77c96e08.entry.js +4 -0
- package/dist/ionic/p-7bfeccb3.entry.js +4 -0
- package/dist/ionic/p-7e394cc3.entry.js +4 -0
- package/dist/ionic/{p-0fa9c382.entry.js → p-7fbb3319.entry.js} +1 -1
- package/dist/ionic/p-837db1b9.entry.js +4 -0
- package/dist/ionic/p-85599fe3.entry.js +4 -0
- package/dist/ionic/p-8b80d9f9.entry.js +4 -0
- package/dist/ionic/p-90f50a65.entry.js +4 -0
- package/dist/ionic/p-9595e305.entry.js +4 -0
- package/dist/ionic/p-9c5f2691.entry.js +4 -0
- package/dist/ionic/p-BMPN55of.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BY6BzzPF.js +4 -0
- package/dist/ionic/p-B_gJaBk0.js +4 -0
- package/dist/ionic/p-BaeKWZ-a.js +4 -0
- package/dist/ionic/p-Bd72UYI2.js +4 -0
- package/dist/ionic/p-BgOvhHy_.js +4 -0
- package/dist/ionic/p-BhamHSw3.js +4 -0
- package/dist/ionic/p-BijjLYjT.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
- package/dist/ionic/p-C23AVPx9.js +6 -0
- package/dist/ionic/p-C8XilMh0.js +4 -0
- package/dist/ionic/p-CER8qW8Y.js +4 -0
- package/dist/ionic/p-CFuOr1Tu.js +4 -0
- package/dist/ionic/p-CM5OBjTW.js +4 -0
- package/dist/ionic/p-CMZYmFb4.js +4 -0
- package/dist/ionic/p-CkxVYPtX.js +4 -0
- package/dist/ionic/p-CmXuiRT6.js +4 -0
- package/dist/ionic/p-D0YpjgON.js +4 -0
- package/dist/ionic/p-D4OrdtJf.js +4 -0
- package/dist/ionic/p-D5t_-oMk.js +4 -0
- package/dist/ionic/p-D6rHcCvc.js +4 -0
- package/dist/ionic/p-DLM95R4x.js +4 -0
- package/dist/ionic/p-DTxBioUO.js +4 -0
- package/dist/ionic/p-DWCzVL3Y.js +4 -0
- package/dist/ionic/p-DYUjHcuH.js +4 -0
- package/dist/ionic/p-DZ6Hmc-8.js +4 -0
- package/dist/ionic/p-D_gb-kdd.js +4 -0
- package/dist/ionic/p-DajLgJ4d.js +4 -0
- package/dist/ionic/p-Do3zTvCA.js +4 -0
- package/dist/ionic/p-Dojwmvde.js +4 -0
- package/dist/ionic/p-T71k3C35.js +4 -0
- package/dist/ionic/p-a1cc2861.entry.js +4 -0
- package/dist/ionic/p-a20a2ebe.entry.js +4 -0
- package/dist/ionic/p-a8ff2489.entry.js +4 -0
- package/dist/ionic/p-b3532b8d.entry.js +4 -0
- package/dist/ionic/p-b80c86c4.entry.js +4 -0
- package/dist/ionic/p-b9b4e85d.entry.js +4 -0
- package/dist/ionic/p-byZM6qHV.js +4 -0
- package/dist/ionic/p-c57fc396.entry.js +4 -0
- package/dist/ionic/{p-c6e49f3f.entry.js → p-ca1b8865.entry.js} +1 -1
- package/dist/ionic/p-cc4320d3.entry.js +4 -0
- package/dist/ionic/p-d6755739.entry.js +4 -0
- package/dist/ionic/p-d8c138d9.entry.js +4 -0
- package/dist/ionic/p-db449915.entry.js +4 -0
- package/dist/ionic/p-dd01be0a.entry.js +4 -0
- package/dist/ionic/p-ec00fd0d.entry.js +4 -0
- package/dist/ionic/p-ee09ac9d.entry.js +4 -0
- package/dist/ionic/{p-37e720da.entry.js → p-efc0cf82.entry.js} +1 -1
- package/dist/ionic/p-f0fb23c1.entry.js +4 -0
- package/dist/ionic/p-f83b3e0c.entry.js +4 -0
- package/dist/ionic/p-fU3rOYad.js +4 -0
- package/dist/ionic/p-zWf7R2xV.js +4 -0
- package/dist/types/components/action-sheet/action-sheet.d.ts +10 -0
- package/dist/types/components/alert/alert.d.ts +7 -0
- package/dist/types/components/checkbox/checkbox.d.ts +1 -0
- package/dist/types/components/content/content.d.ts +12 -0
- package/dist/types/components/datetime/datetime.d.ts +13 -1
- package/dist/types/components/fab-button/fab-button.d.ts +15 -0
- package/dist/types/components/img/img.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +12 -6
- package/dist/types/components/item/item.d.ts +19 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -0
- package/dist/types/components/modal/gestures/utils.d.ts +11 -0
- package/dist/types/components/modal/modal-interface.d.ts +9 -0
- package/dist/types/components/modal/modal.d.ts +25 -7
- package/dist/types/components/modal/safe-area-utils.d.ts +6 -0
- package/dist/types/components/nav/nav-interface.d.ts +0 -1
- package/dist/types/components/nav/nav.d.ts +2 -22
- package/dist/types/components/picker-column/picker-column.d.ts +42 -0
- package/dist/types/components/radio/radio.d.ts +1 -0
- package/dist/types/components/range/range.d.ts +4 -1
- package/dist/types/components/refresher/refresher.d.ts +7 -0
- package/dist/types/components/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +31 -0
- package/dist/types/components/select/select.d.ts +30 -6
- package/dist/types/components/select-option/select-option.d.ts +42 -1
- package/dist/types/components/tab/tab.d.ts +1 -1
- package/dist/types/components/textarea/textarea.d.ts +12 -5
- package/dist/types/components/toggle/toggle.d.ts +1 -0
- package/dist/types/components.d.ts +94 -318
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/stencil-public-runtime.d.ts +12 -0
- package/dist/types/utils/config.d.ts +1 -8
- package/dist/types/utils/content/index.d.ts +12 -0
- package/dist/types/utils/forms/index.d.ts +2 -0
- package/dist/types/utils/forms/item-multiple-inputs.d.ts +13 -0
- package/dist/types/utils/forms/start-container-controller.d.ts +34 -0
- package/dist/types/utils/helpers.d.ts +8 -5
- package/dist/types/utils/logging/index.d.ts +2 -1
- package/dist/types/utils/overlay-control-label.d.ts +32 -0
- package/dist/types/utils/overlays.d.ts +20 -9
- package/dist/types/utils/rtl/dir.d.ts +10 -4
- package/dist/types/utils/sanitization/index.d.ts +58 -2
- package/dist/types/utils/select-option-render.d.ts +53 -0
- package/dist/types/utils/test/playwright/apply-keyboard-focus.d.ts +16 -0
- package/dist/types/utils/test/playwright/detach-reattach.d.ts +13 -0
- package/dist/types/utils/test/playwright/index.d.ts +2 -0
- 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 +3341 -2197
- package/hydrate/index.mjs +3341 -2197
- package/loader/index.d.ts +1 -1
- package/package.json +61 -17
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -4
- package/components/ion-picker-legacy.d.ts +0 -11
- package/components/ion-picker-legacy.js +0 -4
- package/components/p-0NRupjzW.js +0 -4
- package/components/p-5bE_Wz4Y.js +0 -4
- package/components/p-B60hm8Qv.js +0 -4
- package/components/p-BAYYcg3o.js +0 -4
- package/components/p-BLmJ0zRm.js +0 -4
- package/components/p-BSEgsdFI.js +0 -4
- package/components/p-BTEOs1at.js +0 -4
- package/components/p-BTPfOxsU.js +0 -4
- package/components/p-BT_5jSqG.js +0 -4
- package/components/p-Baq1XyAy.js +0 -4
- package/components/p-BjfgFSSR.js +0 -4
- package/components/p-BjoEPDW5.js +0 -4
- package/components/p-BnqQlm7c.js +0 -4
- package/components/p-BsPelv04.js +0 -4
- package/components/p-Bth-EzJ0.js +0 -4
- package/components/p-Bz0dSlXZ.js +0 -4
- package/components/p-C1aScSTo.js +0 -4
- package/components/p-C2lKgrXx.js +0 -4
- package/components/p-C53feagD.js +0 -4
- package/components/p-CHqRYvYm.js +0 -4
- package/components/p-CI3ncNZm.js +0 -4
- package/components/p-CSZf8_j0.js +0 -4
- package/components/p-CU5rbWAW.js +0 -4
- package/components/p-C_xFdyXe.js +0 -4
- package/components/p-Ciz1-FuE.js +0 -4
- package/components/p-Cl0B-RWe.js +0 -4
- package/components/p-CmR5uXej.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-CtukzcyX.js +0 -4
- package/components/p-D13Eaw-8.js +0 -4
- package/components/p-D5Ubpm7D.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-D7bSXQD3.js +0 -4
- package/components/p-DDWp95gH.js +0 -4
- package/components/p-DIE4pXMl.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-DnL1c9_X.js +0 -4
- package/components/p-W5nO8mX_.js +0 -4
- package/components/p-W9CZ2mWX.js +0 -4
- package/components/p-XlSIJDJ-.js +0 -4
- package/components/p-cyNmxje6.js +0 -4
- package/components/p-dhLYXa7A.js +0 -4
- package/components/p-ijF0iCrA.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-nQi4oKcG.js +0 -4
- package/components/p-ryqmO0B-.js +0 -4
- package/dist/cjs/config-xninhj0J.js +0 -201
- package/dist/cjs/dir-Cn0z1rJH.js +0 -20
- package/dist/cjs/input.utils-DetjmtH2.js +0 -150
- package/dist/cjs/notch-controller-18PzRGXd.js +0 -155
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
- package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
- package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
- package/dist/collection/components/picker-legacy/picker.js +0 -890
- package/dist/collection/components/picker-legacy/picker.md.css +0 -287
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
- package/dist/esm/config-DQCONYYp.js +0 -195
- package/dist/esm/dir-C53feagD.js +0 -18
- package/dist/esm/input.utils-Y6NgW8bw.js +0 -147
- package/dist/esm/notch-controller-DKDjU_O7.js +0 -153
- package/dist/ionic/p-00dbb17e.entry.js +0 -4
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-06c232a4.entry.js +0 -4
- package/dist/ionic/p-0d005398.entry.js +0 -4
- package/dist/ionic/p-1ae21e4c.entry.js +0 -4
- package/dist/ionic/p-20b1a044.entry.js +0 -4
- package/dist/ionic/p-21eb76d5.entry.js +0 -4
- package/dist/ionic/p-2394a9a6.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-2f55dc1a.entry.js +0 -4
- package/dist/ionic/p-30bf9737.entry.js +0 -4
- package/dist/ionic/p-3353c229.entry.js +0 -4
- package/dist/ionic/p-33704f20.entry.js +0 -4
- package/dist/ionic/p-390ca786.entry.js +0 -4
- package/dist/ionic/p-3a126bca.entry.js +0 -4
- package/dist/ionic/p-3a541154.entry.js +0 -4
- package/dist/ionic/p-3a7d1e91.entry.js +0 -4
- package/dist/ionic/p-3ae5f277.entry.js +0 -4
- package/dist/ionic/p-4745f534.entry.js +0 -4
- package/dist/ionic/p-4858af1f.entry.js +0 -4
- package/dist/ionic/p-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-4dc1c33c.entry.js +0 -4
- package/dist/ionic/p-4e92a11f.entry.js +0 -4
- package/dist/ionic/p-50e1194a.entry.js +0 -4
- package/dist/ionic/p-5d1da0a2.entry.js +0 -4
- package/dist/ionic/p-75dc25ba.entry.js +0 -4
- package/dist/ionic/p-81ea5652.entry.js +0 -4
- package/dist/ionic/p-84d5ce05.entry.js +0 -4
- package/dist/ionic/p-874b4bd8.entry.js +0 -4
- package/dist/ionic/p-8c8eee7d.entry.js +0 -4
- package/dist/ionic/p-8eb8ee76.entry.js +0 -4
- package/dist/ionic/p-8fce95d5.entry.js +0 -4
- package/dist/ionic/p-94f2a736.entry.js +0 -4
- package/dist/ionic/p-9a65ac7f.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-9f1103ce.entry.js +0 -4
- package/dist/ionic/p-BGqMS-oh.js +0 -4
- package/dist/ionic/p-BTEOs1at.js +0 -4
- package/dist/ionic/p-BUFIpxKM.js +0 -4
- package/dist/ionic/p-C53feagD.js +0 -4
- package/dist/ionic/p-CFlfIb2g.js +0 -4
- package/dist/ionic/p-CKvCXMs9.js +0 -4
- package/dist/ionic/p-Cl0B-RWe.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-CwdymDLH.js +0 -4
- package/dist/ionic/p-Cx3IXROA.js +0 -4
- package/dist/ionic/p-D13Eaw-8.js +0 -4
- package/dist/ionic/p-DAAFkPFT.js +0 -4
- package/dist/ionic/p-DC3RagnA.js +0 -4
- package/dist/ionic/p-DIuEbVLu.js +0 -4
- package/dist/ionic/p-DSG2s2Eb.js +0 -4
- package/dist/ionic/p-Dfbt-q2k.js +0 -4
- package/dist/ionic/p-DiVJyqlX.js +0 -4
- package/dist/ionic/p-DoJvtrbw.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-Nqf6uvGh.js +0 -4
- package/dist/ionic/p-SNAkTDfm.js +0 -4
- package/dist/ionic/p-VAemlbDS.js +0 -4
- package/dist/ionic/p-Wk5HzclC.js +0 -4
- package/dist/ionic/p-a21add2f.entry.js +0 -4
- package/dist/ionic/p-a3bdcae6.entry.js +0 -4
- package/dist/ionic/p-aa5d6b8f.entry.js +0 -4
- package/dist/ionic/p-c0fb8edd.entry.js +0 -4
- package/dist/ionic/p-c4d8641b.entry.js +0 -4
- package/dist/ionic/p-e0be05c5.entry.js +0 -4
- package/dist/ionic/p-e847a888.entry.js +0 -4
- package/dist/ionic/p-ec090e0a.entry.js +0 -4
- package/dist/ionic/p-ef4c3bee.entry.js +0 -4
- package/dist/ionic/p-fabcce6c.entry.js +0 -4
- package/dist/ionic/p-facfde02.entry.js +0 -4
- package/dist/ionic/p-fd7eebc4.entry.js +0 -4
- package/dist/ionic/p-mjKAFv89.js +0 -4
- package/dist/ionic/p-tcQvqkiX.js +0 -5
- package/dist/ionic/p-viFHDgRs.js +0 -4
- package/dist/ionic/p-xOfi7-Zn.js +0 -4
- package/dist/ionic/p-xWb6fgfq.js +0 -4
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
- /package/components/{p-CO7fmmxt.js → p-LpMHEu3v.js} +0 -0
|
@@ -314,10 +314,9 @@ const focusItem = (item) => {
|
|
|
314
314
|
export const isTriggerElement = (el) => el.hasAttribute('data-ion-popover-trigger');
|
|
315
315
|
export const configureKeyboardInteraction = (popoverEl) => {
|
|
316
316
|
const callback = async (ev) => {
|
|
317
|
-
var _a;
|
|
318
317
|
const activeElement = document.activeElement;
|
|
319
318
|
let items = [];
|
|
320
|
-
const targetTagName =
|
|
319
|
+
const targetTagName = ev.target?.tagName;
|
|
321
320
|
/**
|
|
322
321
|
* Only handle custom keyboard interactions for the host popover element
|
|
323
322
|
* and children ion-item elements.
|
|
@@ -338,7 +337,7 @@ export const configureKeyboardInteraction = (popoverEl) => {
|
|
|
338
337
|
items = Array.from(popoverEl.querySelectorAll('ion-item:not(ion-popover ion-popover *):not([disabled])'));
|
|
339
338
|
/* eslint-disable-next-line */
|
|
340
339
|
}
|
|
341
|
-
catch
|
|
340
|
+
catch { }
|
|
342
341
|
switch (ev.key) {
|
|
343
342
|
/**
|
|
344
343
|
* If we are in a child popover
|
|
@@ -421,7 +420,6 @@ export const configureKeyboardInteraction = (popoverEl) => {
|
|
|
421
420
|
* and viewport dimensions.
|
|
422
421
|
*/
|
|
423
422
|
export const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, triggerEl, event) => {
|
|
424
|
-
var _a;
|
|
425
423
|
let referenceCoordinates = {
|
|
426
424
|
top: 0,
|
|
427
425
|
left: 0,
|
|
@@ -466,8 +464,8 @@ export const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidt
|
|
|
466
464
|
* as a whole.
|
|
467
465
|
*/
|
|
468
466
|
const actualTriggerEl = (triggerEl ||
|
|
469
|
-
|
|
470
|
-
|
|
467
|
+
customEv?.detail?.ionShadowTarget ||
|
|
468
|
+
customEv?.target);
|
|
471
469
|
if (!actualTriggerEl) {
|
|
472
470
|
return defaultPosition;
|
|
473
471
|
}
|
|
@@ -43,7 +43,7 @@ export class ProgressBar {
|
|
|
43
43
|
const mode = getIonMode(this);
|
|
44
44
|
// If the progress is displayed as a solid bar.
|
|
45
45
|
const progressSolid = buffer === 1;
|
|
46
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: 'd53d39a3e2c0198164a9face62d3775f357b6914', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
|
|
47
47
|
[mode]: true,
|
|
48
48
|
[`progress-bar-${type}`]: true,
|
|
49
49
|
'progress-paused': paused,
|
|
@@ -130,6 +130,17 @@ input {
|
|
|
130
130
|
width: auto;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
:host(.ion-focused) .radio-icon::after {
|
|
134
|
+
border-radius: var(--inner-border-radius);
|
|
135
|
+
display: block;
|
|
136
|
+
position: absolute;
|
|
137
|
+
width: 36px;
|
|
138
|
+
height: 36px;
|
|
139
|
+
background: var(--ion-color-primary-tint, #1a65eb);
|
|
140
|
+
content: "";
|
|
141
|
+
opacity: 0.2;
|
|
142
|
+
}
|
|
143
|
+
|
|
133
144
|
.radio-wrapper {
|
|
134
145
|
display: flex;
|
|
135
146
|
position: relative;
|
|
@@ -456,21 +467,6 @@ input {
|
|
|
456
467
|
opacity: 0.3;
|
|
457
468
|
}
|
|
458
469
|
|
|
459
|
-
:host(.ion-focused) .radio-icon::after {
|
|
460
|
-
border-radius: var(--inner-border-radius);
|
|
461
|
-
top: -8px;
|
|
462
|
-
display: block;
|
|
463
|
-
position: absolute;
|
|
464
|
-
width: 36px;
|
|
465
|
-
height: 36px;
|
|
466
|
-
background: var(--ion-color-primary-tint, #1a65eb);
|
|
467
|
-
content: "";
|
|
468
|
-
opacity: 0.2;
|
|
469
|
-
}
|
|
470
|
-
:host(.ion-focused) .radio-icon::after {
|
|
471
|
-
inset-inline-start: -9px;
|
|
472
|
-
}
|
|
473
|
-
|
|
474
470
|
.native-wrapper .radio-icon {
|
|
475
471
|
width: 0.9375rem;
|
|
476
472
|
height: 1.5rem;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { Host, h } from "@stencil/core";
|
|
5
|
-
import { isOptionSelected } from "../../utils/forms/index";
|
|
4
|
+
import { Host, forceUpdate, h } from "@stencil/core";
|
|
5
|
+
import { createItemMultipleInputsObserver, isOptionSelected } from "../../utils/forms/index";
|
|
6
6
|
import { addEventListener, removeEventListener } from "../../utils/helpers";
|
|
7
7
|
import { createColorClasses, hostContext } from "../../utils/theme";
|
|
8
8
|
import { getIonMode } from "../../global/ionic-global";
|
|
@@ -64,7 +64,7 @@ export class Radio {
|
|
|
64
64
|
* Otherwise, the checked state should always be set
|
|
65
65
|
* to true because the checked state cannot be toggled.
|
|
66
66
|
*/
|
|
67
|
-
if (checked &&
|
|
67
|
+
if (checked && radioGroup?.allowEmptySelection) {
|
|
68
68
|
this.checked = false;
|
|
69
69
|
}
|
|
70
70
|
else {
|
|
@@ -118,6 +118,7 @@ export class Radio {
|
|
|
118
118
|
this.updateState();
|
|
119
119
|
addEventListener(radioGroup, 'ionValueChange', this.updateState);
|
|
120
120
|
}
|
|
121
|
+
this.itemFocusObserver = createItemMultipleInputsObserver(this.el, () => forceUpdate(this));
|
|
121
122
|
}
|
|
122
123
|
disconnectedCallback() {
|
|
123
124
|
const radioGroup = this.radioGroup;
|
|
@@ -125,6 +126,10 @@ export class Radio {
|
|
|
125
126
|
removeEventListener(radioGroup, 'ionValueChange', this.updateState);
|
|
126
127
|
this.radioGroup = null;
|
|
127
128
|
}
|
|
129
|
+
if (this.itemFocusObserver) {
|
|
130
|
+
this.itemFocusObserver.disconnect();
|
|
131
|
+
this.itemFocusObserver = undefined;
|
|
132
|
+
}
|
|
128
133
|
}
|
|
129
134
|
get hasLabel() {
|
|
130
135
|
return this.el.textContent !== '';
|
|
@@ -136,7 +141,8 @@ export class Radio {
|
|
|
136
141
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
137
142
|
const mode = getIonMode(this);
|
|
138
143
|
const inItem = hostContext('ion-item', el);
|
|
139
|
-
|
|
144
|
+
const inMultipleInputsItem = hostContext('ion-item.item-multiple-inputs', el);
|
|
145
|
+
return (h(Host, { key: 'ad7ac0bdc4d3216ecc19402e5b8d6f9e4d09334b', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
|
|
140
146
|
[mode]: true,
|
|
141
147
|
'in-item': inItem,
|
|
142
148
|
'radio-checked': checked,
|
|
@@ -144,13 +150,15 @@ export class Radio {
|
|
|
144
150
|
[`radio-justify-${justify}`]: justify !== undefined,
|
|
145
151
|
[`radio-alignment-${alignment}`]: alignment !== undefined,
|
|
146
152
|
[`radio-label-placement-${labelPlacement}`]: true,
|
|
147
|
-
//
|
|
153
|
+
// A single-input item has the input cover and draws the indicator itself.
|
|
154
|
+
// A multi-input item has no cover, so each control draws its own. Active
|
|
155
|
+
// styling stays suppressed either way.
|
|
148
156
|
'ion-activatable': !inItem,
|
|
149
|
-
'ion-focusable': !inItem,
|
|
150
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '
|
|
157
|
+
'ion-focusable': !inItem || inMultipleInputsItem,
|
|
158
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '59c09125633120e2000447b8a3bc24c54490aa85', class: "radio-wrapper" }, h("div", { key: '1a98f3e0027deeac52647ba37aa9a99be0231966', class: {
|
|
151
159
|
'label-text-wrapper': true,
|
|
152
160
|
'label-text-wrapper-hidden': !hasLabel,
|
|
153
|
-
}, part: "label" }, h("slot", { key: '
|
|
161
|
+
}, part: "label" }, h("slot", { key: '6a48e76ac8793d2aacebd3a8f193e3537272e5c2' })), h("div", { key: '68e4350bac8dad29c6b7a180560de2bb4dfc8c41', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
154
162
|
}
|
|
155
163
|
static get is() { return "ion-radio"; }
|
|
156
164
|
static get encapsulation() { return "shadow"; }
|
|
@@ -250,7 +258,7 @@ export class Radio {
|
|
|
250
258
|
},
|
|
251
259
|
"getter": false,
|
|
252
260
|
"setter": false,
|
|
253
|
-
"reflect":
|
|
261
|
+
"reflect": true,
|
|
254
262
|
"attribute": "value"
|
|
255
263
|
},
|
|
256
264
|
"labelPlacement": {
|
|
@@ -130,6 +130,17 @@ input {
|
|
|
130
130
|
width: auto;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
:host(.ion-focused) .radio-icon::after {
|
|
134
|
+
border-radius: var(--inner-border-radius);
|
|
135
|
+
display: block;
|
|
136
|
+
position: absolute;
|
|
137
|
+
width: 36px;
|
|
138
|
+
height: 36px;
|
|
139
|
+
background: var(--ion-color-primary-tint, #1a65eb);
|
|
140
|
+
content: "";
|
|
141
|
+
opacity: 0.2;
|
|
142
|
+
}
|
|
143
|
+
|
|
133
144
|
.radio-wrapper {
|
|
134
145
|
display: flex;
|
|
135
146
|
position: relative;
|
|
@@ -477,17 +488,6 @@ input {
|
|
|
477
488
|
opacity: 0.63;
|
|
478
489
|
}
|
|
479
490
|
|
|
480
|
-
:host(.ion-focused) .radio-icon::after {
|
|
481
|
-
border-radius: var(--inner-border-radius);
|
|
482
|
-
display: block;
|
|
483
|
-
position: absolute;
|
|
484
|
-
width: 36px;
|
|
485
|
-
height: 36px;
|
|
486
|
-
background: var(--ion-color-primary-tint, #1a65eb);
|
|
487
|
-
content: "";
|
|
488
|
-
opacity: 0.2;
|
|
489
|
-
}
|
|
490
|
-
|
|
491
491
|
.native-wrapper .radio-icon {
|
|
492
492
|
width: 1.25rem;
|
|
493
493
|
height: 1.25rem;
|
|
@@ -223,7 +223,7 @@ export class RadioGroup {
|
|
|
223
223
|
/** @internal */
|
|
224
224
|
async setFocus() {
|
|
225
225
|
const radioToFocus = this.getRadios().find((r) => r.tabIndex !== -1);
|
|
226
|
-
radioToFocus
|
|
226
|
+
radioToFocus?.setFocus();
|
|
227
227
|
}
|
|
228
228
|
/**
|
|
229
229
|
* Renders the helper text or error text values
|
|
@@ -250,7 +250,7 @@ export class RadioGroup {
|
|
|
250
250
|
const { label, labelId, el, name, value } = this;
|
|
251
251
|
const mode = getIonMode(this);
|
|
252
252
|
renderHiddenInput(true, el, name, value, false);
|
|
253
|
-
return (h(Host, { key: '
|
|
253
|
+
return (h(Host, { key: '8d926a17e800adf0184274215c9689c96a8d6dfd', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, class: mode }, this.renderHintText(), h("slot", { key: '2ff891123d5971a581b70d0886d23a074358c2dc' })));
|
|
254
254
|
}
|
|
255
255
|
static get is() { return "ion-radio-group"; }
|
|
256
256
|
static get originalStyleUrls() {
|
|
@@ -64,7 +64,9 @@ export class Range {
|
|
|
64
64
|
*/
|
|
65
65
|
this.name = this.rangeId;
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* If `true`, the range shows two knobs and `value` is an object with `lower`
|
|
68
|
+
* and `upper` properties. If `false`, the range shows one knob and `value` is
|
|
69
|
+
* a number.
|
|
68
70
|
*/
|
|
69
71
|
this.dualKnobs = false;
|
|
70
72
|
/**
|
|
@@ -175,9 +177,9 @@ export class Range {
|
|
|
175
177
|
const knobHandleA = this.el.shadowRoot.querySelector('.range-knob-handle-a');
|
|
176
178
|
const knobHandleB = this.el.shadowRoot.querySelector('.range-knob-handle-b');
|
|
177
179
|
const syncActivated = () => {
|
|
178
|
-
this.activatedKnob =
|
|
180
|
+
this.activatedKnob = knobHandleA?.classList.contains('ion-activated')
|
|
179
181
|
? 'A'
|
|
180
|
-
:
|
|
182
|
+
: knobHandleB?.classList.contains('ion-activated')
|
|
181
183
|
? 'B'
|
|
182
184
|
: undefined;
|
|
183
185
|
};
|
|
@@ -243,8 +245,7 @@ export class Range {
|
|
|
243
245
|
// Check if focus is moving to another knob within the same range
|
|
244
246
|
// by delaying the reset to allow the new focus to register
|
|
245
247
|
setTimeout(() => {
|
|
246
|
-
|
|
247
|
-
const activeElement = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement;
|
|
248
|
+
const activeElement = this.el.shadowRoot?.activeElement;
|
|
248
249
|
const isStillFocusedOnKnob = activeElement && activeElement.classList.contains('range-knob-handle');
|
|
249
250
|
if (!isStillFocusedOnKnob) {
|
|
250
251
|
if (this.hasFocus) {
|
|
@@ -268,7 +269,12 @@ export class Range {
|
|
|
268
269
|
* If debounce is undefined, we have to manually revert the ionInput emitter in case
|
|
269
270
|
* debounce used to be set to a number. Otherwise, the event would stay debounced.
|
|
270
271
|
*/
|
|
271
|
-
this.ionInput = debounce === undefined ? originalIonInput
|
|
272
|
+
this.ionInput = debounce === undefined ? originalIonInput ?? ionInput : debounceEvent(ionInput, debounce);
|
|
273
|
+
}
|
|
274
|
+
dualKnobsChanged() {
|
|
275
|
+
if (!this.noUpdate) {
|
|
276
|
+
this.updateRatio();
|
|
277
|
+
}
|
|
272
278
|
}
|
|
273
279
|
minChanged(newValue) {
|
|
274
280
|
if (!isSafeNumber(newValue)) {
|
|
@@ -341,7 +347,6 @@ export class Range {
|
|
|
341
347
|
this.didLoad = true;
|
|
342
348
|
}
|
|
343
349
|
connectedCallback() {
|
|
344
|
-
var _a;
|
|
345
350
|
this.updateRatio();
|
|
346
351
|
this.debounceChanged();
|
|
347
352
|
this.disabledChanged();
|
|
@@ -357,7 +362,7 @@ export class Range {
|
|
|
357
362
|
this.setupActivatedObserver();
|
|
358
363
|
}
|
|
359
364
|
const ionContent = findClosestIonContent(this.el);
|
|
360
|
-
this.contentEl =
|
|
365
|
+
this.contentEl = ionContent?.querySelector('.ion-content-scroll-host') ?? ionContent;
|
|
361
366
|
}
|
|
362
367
|
disconnectedCallback() {
|
|
363
368
|
if (this.gesture) {
|
|
@@ -370,8 +375,7 @@ export class Range {
|
|
|
370
375
|
}
|
|
371
376
|
}
|
|
372
377
|
getValue() {
|
|
373
|
-
|
|
374
|
-
const value = (_a = this.value) !== null && _a !== void 0 ? _a : 0;
|
|
378
|
+
const value = this.value ?? 0;
|
|
375
379
|
if (this.dualKnobs) {
|
|
376
380
|
if (typeof value === 'object') {
|
|
377
381
|
return value;
|
|
@@ -457,9 +461,8 @@ export class Range {
|
|
|
457
461
|
* @param detail The details of the gesture or mouse event.
|
|
458
462
|
*/
|
|
459
463
|
onEnd(detail) {
|
|
460
|
-
var _a;
|
|
461
464
|
const { contentEl, initialContentScrollY } = this;
|
|
462
|
-
const currentX =
|
|
465
|
+
const currentX = detail.currentX ?? detail.clientX;
|
|
463
466
|
/**
|
|
464
467
|
* The `pressedKnob` can be undefined if the user never
|
|
465
468
|
* dragged the knob. They just tapped on the bar.
|
|
@@ -595,7 +598,6 @@ export class Range {
|
|
|
595
598
|
return this.label !== undefined || this.el.querySelector('[slot="label"]') !== null;
|
|
596
599
|
}
|
|
597
600
|
renderRangeSlider() {
|
|
598
|
-
var _a;
|
|
599
601
|
const { min, max, step, handleKeyboard, activatedKnob, focusedKnob, hoveredKnob, pressedKnob, disabled, pin, ratioLower, ratioUpper, pinFormatter, inheritedAttributes, } = this;
|
|
600
602
|
let barStart = `${ratioLower * 100}%`;
|
|
601
603
|
let barEnd = `${100 - ratioUpper * 100}%`;
|
|
@@ -612,7 +614,7 @@ export class Range {
|
|
|
612
614
|
* When the value is less than the activeBarStart or the min value,
|
|
613
615
|
* the knob will display at the start of the active bar.
|
|
614
616
|
*/
|
|
615
|
-
if (this.valA < (
|
|
617
|
+
if (this.valA < (this.activeBarStart ?? this.min)) {
|
|
616
618
|
/**
|
|
617
619
|
* Sets the bar positions relative to the upper and lower limits.
|
|
618
620
|
* Converts the ratio values into percentages, used as offsets for left/right styles.
|
|
@@ -760,7 +762,7 @@ export class Range {
|
|
|
760
762
|
* Determine the name and position of the pressed knob to apply
|
|
761
763
|
* Host classes for styling.
|
|
762
764
|
*/
|
|
763
|
-
const pressedKnobName = dualKnobs ? pressedKnob
|
|
765
|
+
const pressedKnobName = dualKnobs ? pressedKnob?.toLowerCase() : undefined;
|
|
764
766
|
const pressedKnobPosition = dualKnobs && pressedKnob ? getKnobPosition(pressedKnob, this.ratioA, this.ratioB, dualKnobs) : undefined;
|
|
765
767
|
/**
|
|
766
768
|
* Determine if any knob is at the min or max value to
|
|
@@ -769,7 +771,7 @@ export class Range {
|
|
|
769
771
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
770
772
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
771
773
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
772
|
-
return (h(Host, { key: '
|
|
774
|
+
return (h(Host, { key: '72f253ee1514b4c5874a6720c2f954fae7a7c4d4', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
773
775
|
[mode]: true,
|
|
774
776
|
'in-item': inItem,
|
|
775
777
|
'range-disabled': disabled,
|
|
@@ -783,10 +785,10 @@ export class Range {
|
|
|
783
785
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
784
786
|
'range-value-min': valueAtMin,
|
|
785
787
|
'range-value-max': valueAtMax,
|
|
786
|
-
}) }, h("label", { key: '
|
|
788
|
+
}) }, h("label", { key: '9b96b83a6118ee2a79d8adbb0a58197470308179', class: "range-wrapper", id: "range-label" }, h("div", { key: 'c7b31a7c87c20857a26624bd94501df6420fceec', class: {
|
|
787
789
|
'label-text-wrapper': true,
|
|
788
790
|
'label-text-wrapper-hidden': !hasLabel,
|
|
789
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
791
|
+
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '4ca15b9370097e140550489ff24979f3a959e65b', class: "native-wrapper" }, h("slot", { key: 'f110896c68741bad92239f98b6028cbe0ad5122f', name: "start" }), this.renderRangeSlider(), h("slot", { key: '5c4031c4403fa643ee2e11637b2420ddd8cbc4ce', name: "end" })))));
|
|
790
792
|
}
|
|
791
793
|
static get is() { return "ion-range"; }
|
|
792
794
|
static get encapsulation() { return "shadow"; }
|
|
@@ -900,7 +902,7 @@ export class Range {
|
|
|
900
902
|
"optional": false,
|
|
901
903
|
"docs": {
|
|
902
904
|
"tags": [],
|
|
903
|
-
"text": "
|
|
905
|
+
"text": "If `true`, the range shows two knobs and `value` is an object with `lower`\nand `upper` properties. If `false`, the range shows one knob and `value` is\na number."
|
|
904
906
|
},
|
|
905
907
|
"getter": false,
|
|
906
908
|
"setter": false,
|
|
@@ -1277,6 +1279,9 @@ export class Range {
|
|
|
1277
1279
|
return [{
|
|
1278
1280
|
"propName": "debounce",
|
|
1279
1281
|
"methodName": "debounceChanged"
|
|
1282
|
+
}, {
|
|
1283
|
+
"propName": "dualKnobs",
|
|
1284
|
+
"methodName": "dualKnobsChanged"
|
|
1280
1285
|
}, {
|
|
1281
1286
|
"propName": "min",
|
|
1282
1287
|
"methodName": "minChanged"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h, readTask, writeTask } from "@stencil/core";
|
|
5
5
|
import { getTimeGivenProgression } from "../../utils/animation/cubic-bezier";
|
|
6
|
-
import { getScrollElement, ION_CONTENT_CLASS_SELECTOR, ION_CONTENT_ELEMENT_SELECTOR, printIonContentErrorMsg, } from "../../utils/content/index";
|
|
6
|
+
import { findRefresherScrollHost, getScrollElement, ION_CONTENT_CLASS_SELECTOR, ION_CONTENT_ELEMENT_SELECTOR, printIonContentErrorMsg, } from "../../utils/content/index";
|
|
7
7
|
import { clamp, componentOnReady, getElementRoot, raf, transitionEndAsync } from "../../utils/helpers";
|
|
8
8
|
import { printIonError } from "../../utils/logging/index";
|
|
9
9
|
import { ImpactStyle, hapticImpact } from "../../utils/native/haptic";
|
|
@@ -184,7 +184,7 @@ export class Refresher {
|
|
|
184
184
|
* when the refresh completes
|
|
185
185
|
*/
|
|
186
186
|
const activeElement = document.activeElement;
|
|
187
|
-
if (
|
|
187
|
+
if (activeElement?.blur !== undefined) {
|
|
188
188
|
activeElement.blur();
|
|
189
189
|
}
|
|
190
190
|
/**
|
|
@@ -203,7 +203,16 @@ export class Refresher {
|
|
|
203
203
|
});
|
|
204
204
|
};
|
|
205
205
|
this.scrollEl.addEventListener('scroll', this.scrollListenerCallback);
|
|
206
|
-
|
|
206
|
+
const { createGesture } = await import('../../utils/gesture');
|
|
207
|
+
/**
|
|
208
|
+
* Awaiting the dynamic import yields to the event loop, so the component can
|
|
209
|
+
* disconnect before it resolves. disconnectedCallback clears scrollEl, so a
|
|
210
|
+
* missing scrollEl here means there is nothing left to attach a gesture to.
|
|
211
|
+
*/
|
|
212
|
+
if (!this.scrollEl) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
this.gesture = createGesture({
|
|
207
216
|
el: this.scrollEl,
|
|
208
217
|
gestureName: 'refresher',
|
|
209
218
|
gesturePriority: 31,
|
|
@@ -263,7 +272,16 @@ export class Refresher {
|
|
|
263
272
|
refreshingCircle.style.setProperty('animation-delay', '-655ms');
|
|
264
273
|
});
|
|
265
274
|
}
|
|
266
|
-
|
|
275
|
+
const { createGesture } = await import('../../utils/gesture');
|
|
276
|
+
/**
|
|
277
|
+
* Awaiting the dynamic import yields to the event loop, so the component can
|
|
278
|
+
* disconnect before it resolves. disconnectedCallback clears scrollEl, so a
|
|
279
|
+
* missing scrollEl here means there is nothing left to attach a gesture to.
|
|
280
|
+
*/
|
|
281
|
+
if (!this.scrollEl) {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
this.gesture = createGesture({
|
|
267
285
|
el: this.scrollEl,
|
|
268
286
|
gestureName: 'refresher',
|
|
269
287
|
gesturePriority: 31,
|
|
@@ -360,11 +378,18 @@ export class Refresher {
|
|
|
360
378
|
componentDidUpdate() {
|
|
361
379
|
this.checkNativeRefresher();
|
|
362
380
|
}
|
|
363
|
-
|
|
381
|
+
/**
|
|
382
|
+
* Validate the slot attribute before rendering, while the host still reflects the
|
|
383
|
+
* developer's original markup. `connectedCallback` is too early: in the custom
|
|
384
|
+
* elements build it runs during insertion, before frameworks such as React assign
|
|
385
|
+
* the slot.
|
|
386
|
+
*/
|
|
387
|
+
componentWillLoad() {
|
|
364
388
|
if (this.el.getAttribute('slot') !== 'fixed') {
|
|
365
389
|
printIonError('[ion-refresher] - Make sure you use: <ion-refresher slot="fixed">');
|
|
366
|
-
return;
|
|
367
390
|
}
|
|
391
|
+
}
|
|
392
|
+
async connectedCallback() {
|
|
368
393
|
const contentEl = this.el.closest(ION_CONTENT_ELEMENT_SELECTOR);
|
|
369
394
|
if (!contentEl) {
|
|
370
395
|
printIonContentErrorMsg(this.el);
|
|
@@ -375,14 +400,14 @@ export class Refresher {
|
|
|
375
400
|
* or the background content element.
|
|
376
401
|
*/
|
|
377
402
|
componentOnReady(contentEl, async () => {
|
|
378
|
-
const customScrollTarget = contentEl
|
|
403
|
+
const customScrollTarget = findRefresherScrollHost(contentEl);
|
|
379
404
|
/**
|
|
380
405
|
* Query the custom scroll target (if available), first. In refresher implementations,
|
|
381
406
|
* the ion-refresher element will always be a direct child of ion-content (slot="fixed"). By
|
|
382
407
|
* querying the custom scroll target first and falling back to the ion-content element,
|
|
383
408
|
* the correct scroll element will be returned by the implementation.
|
|
384
409
|
*/
|
|
385
|
-
this.scrollEl = await getScrollElement(customScrollTarget
|
|
410
|
+
this.scrollEl = await getScrollElement(customScrollTarget ?? contentEl);
|
|
386
411
|
/**
|
|
387
412
|
* Query the background content element from the host ion-content element directly.
|
|
388
413
|
*/
|
|
@@ -397,7 +422,16 @@ export class Refresher {
|
|
|
397
422
|
this.setupNativeRefresher(contentEl);
|
|
398
423
|
}
|
|
399
424
|
else {
|
|
400
|
-
|
|
425
|
+
const { createGesture } = await import('../../utils/gesture');
|
|
426
|
+
/**
|
|
427
|
+
* Awaiting the dynamic import yields to the event loop, so the component can
|
|
428
|
+
* disconnect before it resolves. A disconnected contentEl means there is
|
|
429
|
+
* nothing left to attach a gesture to.
|
|
430
|
+
*/
|
|
431
|
+
if (!contentEl.isConnected) {
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
this.gesture = createGesture({
|
|
401
435
|
el: contentEl,
|
|
402
436
|
gestureName: 'refresher',
|
|
403
437
|
gesturePriority: 31,
|
|
@@ -628,7 +662,7 @@ export class Refresher {
|
|
|
628
662
|
* This ensures the view stays at the top after refresh completes.
|
|
629
663
|
*/
|
|
630
664
|
const activeElement = document.activeElement;
|
|
631
|
-
if (
|
|
665
|
+
if (activeElement?.blur !== undefined) {
|
|
632
666
|
activeElement.blur();
|
|
633
667
|
}
|
|
634
668
|
// emit "refresh" because it was pulled down far enough
|
|
@@ -640,7 +674,6 @@ export class Refresher {
|
|
|
640
674
|
close(state, delay) {
|
|
641
675
|
// create fallback timer incase something goes wrong with transitionEnd event
|
|
642
676
|
setTimeout(() => {
|
|
643
|
-
var _a;
|
|
644
677
|
this.state = 1 /* RefresherState.Inactive */;
|
|
645
678
|
this.progress = 0;
|
|
646
679
|
this.didStart = false;
|
|
@@ -658,7 +691,7 @@ export class Refresher {
|
|
|
658
691
|
* does not change when refreshing is complete.
|
|
659
692
|
*/
|
|
660
693
|
if (this.contentFullscreen && this.backgroundContentEl) {
|
|
661
|
-
|
|
694
|
+
this.backgroundContentEl?.style.removeProperty('--offset-top');
|
|
662
695
|
}
|
|
663
696
|
this.ionPullEnd.emit({
|
|
664
697
|
reason: state === 32 /* RefresherState.Completing */ ? 'complete' : 'cancel',
|
|
@@ -699,9 +732,9 @@ export class Refresher {
|
|
|
699
732
|
if (this.scrollEl) {
|
|
700
733
|
const { overflow, overflowX, overflowY } = this.scrollEl.style;
|
|
701
734
|
this.overflowStyles = {
|
|
702
|
-
overflow: overflow
|
|
703
|
-
overflowX: overflowX
|
|
704
|
-
overflowY: overflowY
|
|
735
|
+
overflow: overflow ?? '',
|
|
736
|
+
overflowX: overflowX ?? '',
|
|
737
|
+
overflowY: overflowY ?? '',
|
|
705
738
|
};
|
|
706
739
|
}
|
|
707
740
|
}
|
|
@@ -716,7 +749,7 @@ export class Refresher {
|
|
|
716
749
|
}
|
|
717
750
|
render() {
|
|
718
751
|
const mode = getIonMode(this);
|
|
719
|
-
return (h(Host, { key: '
|
|
752
|
+
return (h(Host, { key: 'fd9c8e51155d56f12148e8eb547e45c05807b4b5', slot: "fixed", class: {
|
|
720
753
|
[mode]: true,
|
|
721
754
|
// Used internally for styling
|
|
722
755
|
[`refresher-${mode}`]: true,
|
|
@@ -48,7 +48,7 @@ export class RefresherContent {
|
|
|
48
48
|
const pullingIcon = this.pullingIcon;
|
|
49
49
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
50
50
|
const mode = getIonMode(this);
|
|
51
|
-
return (h(Host, { key: '
|
|
51
|
+
return (h(Host, { key: 'a1546008813bbcfa70f97e9b9025846ee0aed722', class: mode }, h("div", { key: '5422771d67fe201e22d4f9d7db6b685f3db5d99d', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: '5c2b6dfc3f01b42586ea83380548d454b220a7ca', class: "refresher-pulling-icon" }, h("div", { key: '2c3799ca3f66960d7081c63c5a0840951f694baf', class: "spinner-arrow-container" }, h("ion-spinner", { key: '03f766a9b9354dcb8f6975757a9b882c2eb5cf4a', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: 'e5f4ba7c6a70adb71f8985af0e23aca07d7b005a', class: "arrow-container" }, h("ion-icon", { key: 'ddccbd9164ae8daa97178fc53b52f74f1fd298ef', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: '6fb742f47f9149fa6dc3daefe5aaa77f925da4bd', class: "refresher-pulling-icon" }, h("ion-icon", { key: '907657135eeac4c394be1eae4a659664a7bfacb0', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'fb3094b3ed7e100ab9641c3221770889088e27f3', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: 'bc8078f94e7cea3cb6f03a09e98540f0e0b38721', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '8f39524f073aa828e941bcdd4d48e4d5dfc759c6', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
52
52
|
}
|
|
53
53
|
static get is() { return "ion-refresher-content"; }
|
|
54
54
|
static get properties() {
|
|
@@ -20,7 +20,7 @@ export class Reorder {
|
|
|
20
20
|
render() {
|
|
21
21
|
const mode = getIonMode(this);
|
|
22
22
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
23
|
-
return (h(Host, { key: '
|
|
23
|
+
return (h(Host, { key: 'f278c473b4695a6a93565100e4fcaa7f9e3e9ff5', class: mode }, h("slot", { key: 'cc26b5ed297f68a0bea82e27e34a7fe945186f4e' }, h("ion-icon", { key: '696f5e4c2b09e64bd08abf0d0818b1554cd29737', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "ion-reorder"; }
|
|
26
26
|
static get encapsulation() { return "shadow"; }
|
|
@@ -253,7 +253,7 @@ export class ReorderGroup {
|
|
|
253
253
|
}
|
|
254
254
|
render() {
|
|
255
255
|
const mode = getIonMode(this);
|
|
256
|
-
return (h(Host, { key: '
|
|
256
|
+
return (h(Host, { key: '779332508f44409696b6bab80eda72f9b1d7869d', class: {
|
|
257
257
|
[mode]: true,
|
|
258
258
|
'reorder-enabled': !this.disabled,
|
|
259
259
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -68,7 +68,7 @@ export class RippleEffect {
|
|
|
68
68
|
}
|
|
69
69
|
render() {
|
|
70
70
|
const mode = getIonMode(this);
|
|
71
|
-
return (h(Host, { key: '
|
|
71
|
+
return (h(Host, { key: '371350cb76e98338ef7467191aaaf817b1298b3f', role: "presentation", class: {
|
|
72
72
|
[mode]: true,
|
|
73
73
|
unbounded: this.unbounded,
|
|
74
74
|
} }));
|
|
@@ -67,7 +67,7 @@ export class Route {
|
|
|
67
67
|
"optional": false,
|
|
68
68
|
"docs": {
|
|
69
69
|
"tags": [],
|
|
70
|
-
"text": "Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-
|
|
70
|
+
"text": "Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-router-outlet`)\nwhen the route matches.\n\nThe value of this property is not always the tagname of the component to load,\nin `ion-tabs` it actually refers to the name of the `ion-tab` to select."
|
|
71
71
|
},
|
|
72
72
|
"getter": false,
|
|
73
73
|
"setter": false,
|
|
@@ -103,9 +103,8 @@ export class Router {
|
|
|
103
103
|
* @param animation A custom animation to use for the transition.
|
|
104
104
|
*/
|
|
105
105
|
async push(path, direction = 'forward', animation) {
|
|
106
|
-
var _a;
|
|
107
106
|
if (path.startsWith('.')) {
|
|
108
|
-
const currentPath =
|
|
107
|
+
const currentPath = this.previousPath ?? '/';
|
|
109
108
|
// Convert currentPath to an URL by pre-pending a protocol and a host to resolve the relative path.
|
|
110
109
|
const url = new URL(path, `https://host/${currentPath}`);
|
|
111
110
|
path = url.pathname + url.search + url.hash;
|
|
@@ -176,11 +175,10 @@ export class Router {
|
|
|
176
175
|
return this.writeNavStateRoot(this.getSegments(), ROUTER_INTENT_NONE);
|
|
177
176
|
}
|
|
178
177
|
historyDirection() {
|
|
179
|
-
var _a;
|
|
180
178
|
const win = window;
|
|
181
179
|
if (win.history.state === null) {
|
|
182
180
|
this.state++;
|
|
183
|
-
win.history.replaceState(this.state, win.document.title,
|
|
181
|
+
win.history.replaceState(this.state, win.document.title, win.document.location?.href);
|
|
184
182
|
}
|
|
185
183
|
const state = win.history.state;
|
|
186
184
|
const lastState = this.lastState;
|
|
@@ -254,14 +252,12 @@ export class Router {
|
|
|
254
252
|
}
|
|
255
253
|
const routes = readRoutes(this.el);
|
|
256
254
|
const fromChain = findChainForSegments(from, routes);
|
|
257
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
258
255
|
const beforeLeaveHook = fromChain && fromChain[fromChain.length - 1].beforeLeave;
|
|
259
256
|
const canLeave = beforeLeaveHook ? await beforeLeaveHook() : true;
|
|
260
257
|
if (canLeave === false || typeof canLeave === 'object') {
|
|
261
258
|
return canLeave;
|
|
262
259
|
}
|
|
263
260
|
const toChain = findChainForSegments(to, routes);
|
|
264
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
265
261
|
const beforeEnterHook = toChain && toChain[toChain.length - 1].beforeEnter;
|
|
266
262
|
return beforeEnterHook ? beforeEnterHook() : true;
|
|
267
263
|
}
|