voyager-ionic-core 8.8.17 → 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-ChIZKXUu.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-BMI53wYL.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-DJZp0KTQ.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-C_hpsif8.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/{format-PxvGiOik.js → format-bHU8N1g5.js} +40 -30
- 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 +12 -8
- package/dist/cjs/ion-card_5.cjs.entry.js +6 -5
- package/dist/cjs/ion-checkbox.cjs.entry.js +10 -7
- 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 +22 -25
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +182 -746
- package/dist/cjs/ion-fab_3.cjs.entry.js +7 -6
- 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 +38 -34
- 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 +283 -161
- 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 +12 -11
- package/dist/cjs/ion-range.cjs.entry.js +30 -25
- package/dist/cjs/ion-refresher_2.cjs.entry.js +34 -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 -126
- 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 +8 -8
- 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 +15 -13
- 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-D-gyg57c.js → item-multiple-inputs-Dv6qrMhm.js} +1 -1
- 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-DdtIYQUH.js → overlays-BR21NUIG.js} +98 -58
- 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 +5 -2
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +4 -2
- 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 +146 -77
- 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 +15 -20
- package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
- package/dist/collection/components/fab-button/fab-button.js +1 -1
- 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.js +19 -16
- 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 +42 -34
- package/dist/collection/components/modal/gestures/swipe-to-close.js +18 -35
- package/dist/collection/components/modal/gestures/utils.js +17 -0
- package/dist/collection/components/modal/modal.js +146 -65
- 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.js +5 -5
- 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 +19 -13
- 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 -92
- 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 +2 -2
- 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.js +6 -4
- 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 +1 -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 +87 -48
- 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 +1 -1
- package/dist/collection/utils/test/playwright/detach-reattach.js +23 -0
- package/dist/collection/utils/test/playwright/drag-element.js +2 -3
- package/dist/collection/utils/test/playwright/generator.js +3 -4
- package/dist/collection/utils/test/playwright/index.js +1 -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 +933 -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/{format-CAmvpAez.js → format-DDFE9jM5.js} +41 -31
- 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 +12 -8
- package/dist/esm/ion-card_5.entry.js +6 -5
- package/dist/esm/ion-checkbox.entry.js +10 -7
- 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 +22 -25
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +183 -745
- package/dist/esm/ion-fab_3.entry.js +7 -6
- 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 +38 -34
- 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 +271 -149
- 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 +12 -11
- package/dist/esm/ion-range.entry.js +30 -25
- package/dist/esm/ion-refresher_2.entry.js +32 -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 -126
- 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 +8 -8
- 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 +15 -13
- 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-DlNuqNJm.js → item-multiple-inputs-DZnIiOO_.js} +1 -1
- 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-Dg0q2_tJ.js → overlays-DKE0DgvE.js} +97 -58
- 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 +54 -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/{components/p-BkKAANMJ.js → dist/ionic/p-DZ6Hmc-8.js} +1 -1
- 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/content/content.d.ts +12 -0
- package/dist/types/components/datetime/datetime.d.ts +5 -1
- package/dist/types/components/img/img.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +12 -6
- 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/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/textarea/textarea.d.ts +12 -5
- package/dist/types/components.d.ts +79 -316
- 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 +1 -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/detach-reattach.d.ts +13 -0
- package/dist/types/utils/test/playwright/index.d.ts +1 -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 +2996 -2155
- package/hydrate/index.mjs +2996 -2155
- package/loader/index.d.ts +1 -1
- package/package.json +57 -13
- 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-A3O24YmY.js +0 -4
- package/components/p-ABkNVeU9.js +0 -4
- package/components/p-B-JJgYSG.js +0 -4
- package/components/p-BB42Mlnr.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-BlIAuGv2.js +0 -4
- package/components/p-Bnsn6KaP.js +0 -4
- package/components/p-BsBCoGa-.js +0 -4
- package/components/p-Bz0dSlXZ.js +0 -4
- package/components/p-C53feagD.js +0 -4
- package/components/p-CHqRYvYm.js +0 -4
- package/components/p-CQGnMY3n.js +0 -4
- package/components/p-CSZf8_j0.js +0 -4
- package/components/p-C_xFdyXe.js +0 -4
- package/components/p-Cf2jSDS8.js +0 -4
- package/components/p-CkMSOsFF.js +0 -4
- package/components/p-Cl0B-RWe.js +0 -4
- package/components/p-CmR5uXej.js +0 -4
- package/components/p-CsNJ1ULL.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-CzCbeKys.js +0 -4
- package/components/p-D-aHdMxW.js +0 -4
- package/components/p-D0d8qTwj.js +0 -4
- package/components/p-D13Eaw-8.js +0 -4
- package/components/p-D3xo7hqU.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-DCnGU1fF.js +0 -4
- package/components/p-DGZpx6KJ.js +0 -4
- package/components/p-DGvrK8dD.js +0 -4
- package/components/p-DHTSTb52.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-DRugphUN.js +0 -4
- package/components/p-DV5mPYQS.js +0 -4
- package/components/p-DWkAgceV.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-KEFO0w3i.js +0 -4
- package/components/p-Osve4qkc.js +0 -4
- package/components/p-SLS1rDZM.js +0 -4
- package/components/p-VWbRkLT7.js +0 -4
- package/components/p-aJ6PBUvj.js +0 -4
- package/components/p-cyNmxje6.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-oD4kcBRX.js +0 -4
- package/components/p-scxfI1Dd.js +0 -4
- package/components/p-yzCsOZE2.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-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-06c232a4.entry.js +0 -4
- package/dist/ionic/p-0dc33652.entry.js +0 -4
- package/dist/ionic/p-10e833ef.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-2a05aa64.entry.js +0 -4
- package/dist/ionic/p-2b204c59.entry.js +0 -4
- package/dist/ionic/p-2fa58e80.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-34586ead.entry.js +0 -4
- package/dist/ionic/p-390ca786.entry.js +0 -4
- package/dist/ionic/p-3ae5f277.entry.js +0 -4
- package/dist/ionic/p-4654ae1c.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-4ac4f3d6.entry.js +0 -4
- package/dist/ionic/p-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-4e92a11f.entry.js +0 -4
- package/dist/ionic/p-5018dfc8.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-5eb8e86d.entry.js +0 -4
- package/dist/ionic/p-65ebdf1b.entry.js +0 -4
- package/dist/ionic/p-75dc25ba.entry.js +0 -4
- package/dist/ionic/p-7c319341.entry.js +0 -4
- package/dist/ionic/p-829367ed.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-8eb8ee76.entry.js +0 -4
- package/dist/ionic/p-8fce95d5.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-9f9db3a2.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-C0eMdTCW.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-D-3ycHmd.js +0 -4
- package/dist/ionic/p-D13Eaw-8.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-DqN5EA2O.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-a3bdcae6.entry.js +0 -4
- package/dist/ionic/p-aaeedb6b.entry.js +0 -4
- package/dist/ionic/p-bfc9bb0f.entry.js +0 -4
- package/dist/ionic/p-c0fb8edd.entry.js +0 -4
- package/dist/ionic/p-c38b648e.entry.js +0 -4
- package/dist/ionic/p-c4d8641b.entry.js +0 -4
- package/dist/ionic/p-ca2ab74d.entry.js +0 -4
- package/dist/ionic/p-d889ff6d.entry.js +0 -4
- package/dist/ionic/p-e0be05c5.entry.js +0 -4
- package/dist/ionic/p-ef4c3bee.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-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
|
@@ -218,6 +218,10 @@
|
|
|
218
218
|
justify-content: space-between;
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
+
:host .datetime-action-buttons ion-button {
|
|
222
|
+
--color: var(--ion-color-primary, #0054e9);
|
|
223
|
+
}
|
|
224
|
+
|
|
221
225
|
/**
|
|
222
226
|
* The confirm and clear buttons are grouped in a
|
|
223
227
|
* container so that they appear on the end opposite
|
|
@@ -372,6 +376,11 @@
|
|
|
372
376
|
}
|
|
373
377
|
|
|
374
378
|
.calendar-day:not(.calendar-day-adjacent-day):focus {
|
|
379
|
+
background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
|
|
380
|
+
box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
:host(.ion-color) .calendar-day:not(.calendar-day-adjacent-day):focus {
|
|
375
384
|
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
376
385
|
box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
|
|
377
386
|
}
|
|
@@ -416,6 +425,10 @@
|
|
|
416
425
|
}
|
|
417
426
|
|
|
418
427
|
:host .time-body-active {
|
|
428
|
+
color: var(--ion-color-primary, #0054e9);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
:host(.ion-color) .time-body-active {
|
|
419
432
|
color: var(--ion-color-base);
|
|
420
433
|
}
|
|
421
434
|
|
|
@@ -424,6 +437,10 @@
|
|
|
424
437
|
}
|
|
425
438
|
|
|
426
439
|
:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
|
|
440
|
+
color: var(--ion-color-primary, #0054e9);
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
:host(.ion-color.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
|
|
427
444
|
color: var(--ion-color-base);
|
|
428
445
|
}
|
|
429
446
|
|
|
@@ -603,6 +620,11 @@ ion-picker {
|
|
|
603
620
|
|
|
604
621
|
:host .calendar-action-buttons .calendar-month-year-toggle ion-icon,
|
|
605
622
|
:host .calendar-action-buttons ion-buttons ion-button {
|
|
623
|
+
color: var(--ion-color-primary, #0054e9);
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
:host(.ion-color) .calendar-action-buttons .calendar-month-year-toggle ion-icon,
|
|
627
|
+
:host(.ion-color) .calendar-action-buttons ion-buttons ion-button {
|
|
606
628
|
color: var(--ion-color-base);
|
|
607
629
|
}
|
|
608
630
|
|
|
@@ -768,15 +790,23 @@ ion-picker {
|
|
|
768
790
|
}
|
|
769
791
|
|
|
770
792
|
.calendar-day.calendar-day-active {
|
|
771
|
-
background: rgba(var(--ion-color-
|
|
793
|
+
background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
|
|
772
794
|
font-size: min(1.375rem, 35.2px);
|
|
773
795
|
}
|
|
774
796
|
|
|
797
|
+
:host(.ion-color) .calendar-day.calendar-day-active {
|
|
798
|
+
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
799
|
+
}
|
|
800
|
+
|
|
775
801
|
/**
|
|
776
802
|
* Day that today but not selected
|
|
777
803
|
* should have ion-color for text color.
|
|
778
804
|
*/
|
|
779
805
|
:host .calendar-day.calendar-day-today {
|
|
806
|
+
color: var(--ion-color-primary, #0054e9);
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
:host(.ion-color) .calendar-day.calendar-day-today {
|
|
780
810
|
color: var(--ion-color-base);
|
|
781
811
|
}
|
|
782
812
|
|
|
@@ -787,16 +817,26 @@ ion-picker {
|
|
|
787
817
|
*/
|
|
788
818
|
:host .calendar-day.calendar-day-active,
|
|
789
819
|
:host .calendar-day.calendar-day-adjacent-day.calendar-day-active {
|
|
790
|
-
color: var(--ion-color-
|
|
820
|
+
color: var(--ion-color-primary, #0054e9);
|
|
791
821
|
font-weight: 600;
|
|
792
822
|
}
|
|
793
823
|
|
|
824
|
+
:host(.ion-color) .calendar-day.calendar-day-active,
|
|
825
|
+
:host(.ion-color) .calendar-day.calendar-day-adjacent-day.calendar-day-active {
|
|
826
|
+
color: var(--ion-color-base);
|
|
827
|
+
}
|
|
828
|
+
|
|
794
829
|
/**
|
|
795
830
|
* Day that is selected and is today
|
|
796
831
|
* should have base background color
|
|
797
832
|
* with contrast text.
|
|
798
833
|
*/
|
|
799
834
|
:host .calendar-day.calendar-day-today.calendar-day-active {
|
|
835
|
+
background: var(--ion-color-primary, #0054e9);
|
|
836
|
+
color: var(--ion-color-primary-contrast, #fff);
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
:host(.ion-color) .calendar-day.calendar-day-today.calendar-day-active {
|
|
800
840
|
background: var(--ion-color-base);
|
|
801
841
|
color: var(--ion-color-contrast);
|
|
802
842
|
}
|
|
@@ -60,6 +60,10 @@ export class Datetime {
|
|
|
60
60
|
* Set true only by `visibleCallback`. Lets `hiddenCallback` ignore the
|
|
61
61
|
* synthetic "not intersecting" entry IntersectionObserver fires on
|
|
62
62
|
* `observe()` when the host mounts offscreen.
|
|
63
|
+
*
|
|
64
|
+
* Don't reset this in `disconnectedCallback`. Overlays disconnect and
|
|
65
|
+
* reconnect the host without re-creating the observers, so a reset there
|
|
66
|
+
* makes `hiddenCallback` miss the dismissal.
|
|
63
67
|
*/
|
|
64
68
|
this.hasBeenIntersecting = false;
|
|
65
69
|
this.prevPresentation = null;
|
|
@@ -75,12 +79,6 @@ export class Datetime {
|
|
|
75
79
|
isAdjacentDay: false,
|
|
76
80
|
};
|
|
77
81
|
this.isTimePopoverOpen = false;
|
|
78
|
-
/**
|
|
79
|
-
* The color to use from your application's color palette.
|
|
80
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
81
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
82
|
-
*/
|
|
83
|
-
this.color = 'primary';
|
|
84
82
|
/**
|
|
85
83
|
* The name of the control, which is submitted with the form data.
|
|
86
84
|
*/
|
|
@@ -219,9 +217,8 @@ export class Datetime {
|
|
|
219
217
|
* is selected.
|
|
220
218
|
*/
|
|
221
219
|
this.getActivePartsWithFallback = () => {
|
|
222
|
-
var _a;
|
|
223
220
|
const { defaultParts } = this;
|
|
224
|
-
return
|
|
221
|
+
return this.getActivePart() ?? defaultParts;
|
|
225
222
|
};
|
|
226
223
|
this.getActivePart = () => {
|
|
227
224
|
const { activeParts } = this;
|
|
@@ -234,7 +231,9 @@ export class Datetime {
|
|
|
234
231
|
}
|
|
235
232
|
};
|
|
236
233
|
this.setWorkingParts = (parts) => {
|
|
237
|
-
this.workingParts =
|
|
234
|
+
this.workingParts = {
|
|
235
|
+
...parts,
|
|
236
|
+
};
|
|
238
237
|
};
|
|
239
238
|
this.setActiveParts = (parts, removeDate = false) => {
|
|
240
239
|
/** if the datetime component is in readonly mode,
|
|
@@ -267,7 +266,9 @@ export class Datetime {
|
|
|
267
266
|
}
|
|
268
267
|
}
|
|
269
268
|
else {
|
|
270
|
-
this.activeParts =
|
|
269
|
+
this.activeParts = {
|
|
270
|
+
...validatedParts,
|
|
271
|
+
};
|
|
271
272
|
}
|
|
272
273
|
const hasSlottedButtons = this.el.querySelector('[slot="buttons"]') !== null;
|
|
273
274
|
if (hasSlottedButtons || this.showDefaultButtons) {
|
|
@@ -293,7 +294,6 @@ export class Datetime {
|
|
|
293
294
|
* Tab should jump between bodies of selectable content.
|
|
294
295
|
*/
|
|
295
296
|
const checkCalendarBodyFocus = (ev) => {
|
|
296
|
-
var _a;
|
|
297
297
|
const record = ev[0];
|
|
298
298
|
/**
|
|
299
299
|
* If calendar body was already focused
|
|
@@ -301,7 +301,7 @@ export class Datetime {
|
|
|
301
301
|
* if not currently focused, we should not re-focus
|
|
302
302
|
* the inner day.
|
|
303
303
|
*/
|
|
304
|
-
if (
|
|
304
|
+
if (record.oldValue?.includes('ion-focused') || !calendarBodyRef.classList.contains('ion-focused')) {
|
|
305
305
|
return;
|
|
306
306
|
}
|
|
307
307
|
this.focusWorkingDay(currentMonth);
|
|
@@ -309,7 +309,7 @@ export class Datetime {
|
|
|
309
309
|
const mo = new MutationObserver(checkCalendarBodyFocus);
|
|
310
310
|
mo.observe(calendarBodyRef, { attributeFilter: ['class'], attributeOldValue: true });
|
|
311
311
|
this.destroyKeyboardMO = () => {
|
|
312
|
-
mo
|
|
312
|
+
mo?.disconnect();
|
|
313
313
|
};
|
|
314
314
|
/**
|
|
315
315
|
* We must use keydown not keyup as we want
|
|
@@ -371,7 +371,10 @@ export class Datetime {
|
|
|
371
371
|
if (isDayDisabled(partsToFocus, this.minParts, this.maxParts)) {
|
|
372
372
|
return;
|
|
373
373
|
}
|
|
374
|
-
this.setWorkingParts(
|
|
374
|
+
this.setWorkingParts({
|
|
375
|
+
...this.workingParts,
|
|
376
|
+
...partsToFocus,
|
|
377
|
+
});
|
|
375
378
|
/**
|
|
376
379
|
* Give view a chance to re-render
|
|
377
380
|
* then move focus to the new working day
|
|
@@ -522,8 +525,8 @@ export class Datetime {
|
|
|
522
525
|
return;
|
|
523
526
|
const { month, day, year } = newDate;
|
|
524
527
|
if (isMonthDisabled({ month, year, day: null }, {
|
|
525
|
-
minParts:
|
|
526
|
-
maxParts:
|
|
528
|
+
minParts: { ...this.minParts, day: null },
|
|
529
|
+
maxParts: { ...this.maxParts, day: null },
|
|
527
530
|
})) {
|
|
528
531
|
return;
|
|
529
532
|
}
|
|
@@ -543,8 +546,12 @@ export class Datetime {
|
|
|
543
546
|
* if we did not do this.
|
|
544
547
|
*/
|
|
545
548
|
writeTask(() => {
|
|
546
|
-
|
|
547
|
-
|
|
549
|
+
this.setWorkingParts({
|
|
550
|
+
...this.workingParts,
|
|
551
|
+
month,
|
|
552
|
+
day: day,
|
|
553
|
+
year,
|
|
554
|
+
});
|
|
548
555
|
calendarBodyRef.scrollLeft = workingMonth.clientWidth * (isRTL(this.el) ? -1 : 1);
|
|
549
556
|
calendarBodyRef.style.removeProperty('overflow');
|
|
550
557
|
if (this.resolveForceDateScrolling) {
|
|
@@ -552,7 +559,7 @@ export class Datetime {
|
|
|
552
559
|
}
|
|
553
560
|
const activeEl = this.el.shadowRoot.activeElement;
|
|
554
561
|
if (activeEl && activeEl.classList.contains('calendar-day')) {
|
|
555
|
-
|
|
562
|
+
activeEl.closest('.calendar-body')?.focus();
|
|
556
563
|
}
|
|
557
564
|
});
|
|
558
565
|
};
|
|
@@ -943,7 +950,6 @@ export class Datetime {
|
|
|
943
950
|
this.clearFocusVisible = undefined;
|
|
944
951
|
}
|
|
945
952
|
this.loadTimeoutCleanup();
|
|
946
|
-
this.hasBeenIntersecting = false;
|
|
947
953
|
}
|
|
948
954
|
initializeListeners() {
|
|
949
955
|
this.initializeCalendarListener();
|
|
@@ -973,7 +979,7 @@ export class Datetime {
|
|
|
973
979
|
* could cause the datetime to start at a visibility of 0, erroneously
|
|
974
980
|
* triggering the `hiddenIO` observer below.
|
|
975
981
|
*/
|
|
976
|
-
raf(() => visibleIO
|
|
982
|
+
raf(() => visibleIO?.observe(intersectionTrackerRef));
|
|
977
983
|
/**
|
|
978
984
|
* TODO(FW-6931): Remove this fallback upon solving the root cause
|
|
979
985
|
* Fallback: If IntersectionObserver never reports that the
|
|
@@ -1019,7 +1025,7 @@ export class Datetime {
|
|
|
1019
1025
|
});
|
|
1020
1026
|
};
|
|
1021
1027
|
const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
|
|
1022
|
-
raf(() => hiddenIO
|
|
1028
|
+
raf(() => hiddenIO?.observe(intersectionTrackerRef));
|
|
1023
1029
|
/**
|
|
1024
1030
|
* Datetime uses Ionic components that emit
|
|
1025
1031
|
* ionFocus and ionBlur. These events are
|
|
@@ -1200,7 +1206,6 @@ export class Datetime {
|
|
|
1200
1206
|
}
|
|
1201
1207
|
renderCombinedDatePickerColumn() {
|
|
1202
1208
|
const { defaultParts, disabled, workingParts, locale, minParts, maxParts, todayParts, isDateEnabled } = this;
|
|
1203
|
-
const activePart = this.getActivePartsWithFallback();
|
|
1204
1209
|
/**
|
|
1205
1210
|
* By default, generate a range of 3 months:
|
|
1206
1211
|
* Previous month, current month, and next month
|
|
@@ -1240,7 +1245,10 @@ export class Datetime {
|
|
|
1240
1245
|
catch (e) {
|
|
1241
1246
|
printIonError('[ion-datetime] - Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
|
|
1242
1247
|
}
|
|
1243
|
-
return
|
|
1248
|
+
return {
|
|
1249
|
+
...itemObject,
|
|
1250
|
+
disabled,
|
|
1251
|
+
};
|
|
1244
1252
|
});
|
|
1245
1253
|
}
|
|
1246
1254
|
/**
|
|
@@ -1253,10 +1261,18 @@ export class Datetime {
|
|
|
1253
1261
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a date", class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
|
|
1254
1262
|
const { value } = ev.detail;
|
|
1255
1263
|
const findPart = parts.find(({ month, day, year }) => value === `${year}-${month}-${day}`);
|
|
1256
|
-
|
|
1257
|
-
this.
|
|
1264
|
+
// Read live so parts a sibling column just committed are included.
|
|
1265
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1266
|
+
this.setWorkingParts({
|
|
1267
|
+
...this.workingParts,
|
|
1268
|
+
...findPart,
|
|
1269
|
+
});
|
|
1270
|
+
this.setActiveParts({
|
|
1271
|
+
...activePart,
|
|
1272
|
+
...findPart,
|
|
1273
|
+
});
|
|
1258
1274
|
ev.stopPropagation();
|
|
1259
|
-
} }, items.map((item) => (h("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
|
|
1275
|
+
} }, items.map((item) => (h("ion-picker-column-option", { color: this.color, part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
|
|
1260
1276
|
}
|
|
1261
1277
|
renderIndividualDatePickerColumns(forcePresentation) {
|
|
1262
1278
|
const { workingParts, isDateEnabled } = this;
|
|
@@ -1289,7 +1305,10 @@ export class Datetime {
|
|
|
1289
1305
|
catch (e) {
|
|
1290
1306
|
printIonError('[ion-datetime] - Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
|
|
1291
1307
|
}
|
|
1292
|
-
return
|
|
1308
|
+
return {
|
|
1309
|
+
...dayObject,
|
|
1310
|
+
disabled,
|
|
1311
|
+
};
|
|
1293
1312
|
});
|
|
1294
1313
|
}
|
|
1295
1314
|
const shouldRenderYears = forcePresentation !== 'month' && forcePresentation !== 'time';
|
|
@@ -1318,48 +1337,68 @@ export class Datetime {
|
|
|
1318
1337
|
return renderArray;
|
|
1319
1338
|
}
|
|
1320
1339
|
renderDayPickerColumn(days) {
|
|
1321
|
-
var _a;
|
|
1322
1340
|
if (days.length === 0) {
|
|
1323
1341
|
return [];
|
|
1324
1342
|
}
|
|
1325
1343
|
const { disabled, workingParts } = this;
|
|
1326
|
-
const
|
|
1327
|
-
const pickerColumnValue = (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined;
|
|
1344
|
+
const pickerColumnValue = (workingParts.day !== null ? workingParts.day : this.defaultParts.day) ?? undefined;
|
|
1328
1345
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a day", class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
|
|
1329
|
-
|
|
1330
|
-
|
|
1346
|
+
// Read live so parts a sibling column just committed are included.
|
|
1347
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1348
|
+
this.setWorkingParts({
|
|
1349
|
+
...this.workingParts,
|
|
1350
|
+
day: ev.detail.value,
|
|
1351
|
+
});
|
|
1352
|
+
this.setActiveParts({
|
|
1353
|
+
...activePart,
|
|
1354
|
+
day: ev.detail.value,
|
|
1355
|
+
});
|
|
1331
1356
|
ev.stopPropagation();
|
|
1332
|
-
} }, days.map((day) => (h("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
|
|
1357
|
+
} }, days.map((day) => (h("ion-picker-column-option", { color: this.color, part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
|
|
1333
1358
|
}
|
|
1334
1359
|
renderMonthPickerColumn(months) {
|
|
1335
1360
|
if (months.length === 0) {
|
|
1336
1361
|
return [];
|
|
1337
1362
|
}
|
|
1338
1363
|
const { disabled, workingParts } = this;
|
|
1339
|
-
const activePart = this.getActivePartsWithFallback();
|
|
1340
1364
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a month", class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
|
|
1341
|
-
|
|
1365
|
+
// Read live so parts a sibling column just committed are included.
|
|
1366
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1367
|
+
this.setWorkingParts({
|
|
1368
|
+
...this.workingParts,
|
|
1369
|
+
month: ev.detail.value,
|
|
1370
|
+
});
|
|
1342
1371
|
// Month wheel is navigation-only in multi-select mode as a fix for https://github.com/ionic-team/ionic-framework/issues/29673
|
|
1343
1372
|
if (!this.multiple) {
|
|
1344
|
-
this.setActiveParts(
|
|
1373
|
+
this.setActiveParts({
|
|
1374
|
+
...activePart,
|
|
1375
|
+
month: ev.detail.value,
|
|
1376
|
+
});
|
|
1345
1377
|
}
|
|
1346
1378
|
ev.stopPropagation();
|
|
1347
|
-
} }, months.map((month) => (h("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
|
|
1379
|
+
} }, months.map((month) => (h("ion-picker-column-option", { color: this.color, part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
|
|
1348
1380
|
}
|
|
1349
1381
|
renderYearPickerColumn(years) {
|
|
1350
1382
|
if (years.length === 0) {
|
|
1351
1383
|
return [];
|
|
1352
1384
|
}
|
|
1353
1385
|
const { disabled, workingParts } = this;
|
|
1354
|
-
const activePart = this.getActivePartsWithFallback();
|
|
1355
1386
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a year", class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
|
|
1356
|
-
|
|
1387
|
+
// Read live so parts a sibling column just committed are included.
|
|
1388
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1389
|
+
this.setWorkingParts({
|
|
1390
|
+
...this.workingParts,
|
|
1391
|
+
year: ev.detail.value,
|
|
1392
|
+
});
|
|
1357
1393
|
// Year wheel is navigation-only in multi-select mode as a fix for https://github.com/ionic-team/ionic-framework/issues/29673
|
|
1358
1394
|
if (!this.multiple) {
|
|
1359
|
-
this.setActiveParts(
|
|
1395
|
+
this.setActiveParts({
|
|
1396
|
+
...activePart,
|
|
1397
|
+
year: ev.detail.value,
|
|
1398
|
+
});
|
|
1360
1399
|
}
|
|
1361
1400
|
ev.stopPropagation();
|
|
1362
|
-
} }, years.map((year) => (h("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
|
|
1401
|
+
} }, years.map((year) => (h("ion-picker-column-option", { color: this.color, part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
|
|
1363
1402
|
}
|
|
1364
1403
|
renderTimePickerColumns(forcePresentation) {
|
|
1365
1404
|
if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
|
|
@@ -1384,40 +1423,64 @@ export class Datetime {
|
|
|
1384
1423
|
];
|
|
1385
1424
|
}
|
|
1386
1425
|
renderHourPickerColumn(hoursData) {
|
|
1387
|
-
const { disabled
|
|
1426
|
+
const { disabled } = this;
|
|
1388
1427
|
if (hoursData.length === 0)
|
|
1389
1428
|
return [];
|
|
1390
1429
|
const activePart = this.getActivePartsWithFallback();
|
|
1391
1430
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1392
|
-
|
|
1393
|
-
this.
|
|
1431
|
+
// Read live so parts a sibling column just committed are included.
|
|
1432
|
+
this.setWorkingParts({
|
|
1433
|
+
...this.workingParts,
|
|
1434
|
+
hour: ev.detail.value,
|
|
1435
|
+
});
|
|
1436
|
+
this.setActiveParts({
|
|
1437
|
+
...this.getActivePartsWithFallback(),
|
|
1438
|
+
hour: ev.detail.value,
|
|
1439
|
+
});
|
|
1394
1440
|
ev.stopPropagation();
|
|
1395
|
-
} }, hoursData.map((hour) => (h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
|
|
1441
|
+
} }, hoursData.map((hour) => (h("ion-picker-column-option", { color: this.color, part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
|
|
1396
1442
|
}
|
|
1397
1443
|
renderMinutePickerColumn(minutesData) {
|
|
1398
|
-
const { disabled
|
|
1444
|
+
const { disabled } = this;
|
|
1399
1445
|
if (minutesData.length === 0)
|
|
1400
1446
|
return [];
|
|
1401
1447
|
const activePart = this.getActivePartsWithFallback();
|
|
1402
1448
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1403
|
-
|
|
1404
|
-
this.
|
|
1449
|
+
// Read live so parts a sibling column just committed are included.
|
|
1450
|
+
this.setWorkingParts({
|
|
1451
|
+
...this.workingParts,
|
|
1452
|
+
minute: ev.detail.value,
|
|
1453
|
+
});
|
|
1454
|
+
this.setActiveParts({
|
|
1455
|
+
...this.getActivePartsWithFallback(),
|
|
1456
|
+
minute: ev.detail.value,
|
|
1457
|
+
});
|
|
1405
1458
|
ev.stopPropagation();
|
|
1406
|
-
} }, minutesData.map((minute) => (h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
|
|
1459
|
+
} }, minutesData.map((minute) => (h("ion-picker-column-option", { color: this.color, part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
|
|
1407
1460
|
}
|
|
1408
1461
|
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
1409
|
-
const { disabled
|
|
1462
|
+
const { disabled } = this;
|
|
1410
1463
|
if (dayPeriodData.length === 0) {
|
|
1411
1464
|
return [];
|
|
1412
1465
|
}
|
|
1413
1466
|
const activePart = this.getActivePartsWithFallback();
|
|
1414
1467
|
const isDayPeriodRTL = isLocaleDayPeriodRTL(this.locale);
|
|
1415
1468
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a day period", style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1469
|
+
// Read live so parts a sibling column just committed are included.
|
|
1470
|
+
const currentParts = this.workingParts;
|
|
1471
|
+
const hour = calculateHourFromAMPM(currentParts, ev.detail.value);
|
|
1472
|
+
this.setWorkingParts({
|
|
1473
|
+
...currentParts,
|
|
1474
|
+
ampm: ev.detail.value,
|
|
1475
|
+
hour,
|
|
1476
|
+
});
|
|
1477
|
+
this.setActiveParts({
|
|
1478
|
+
...this.getActivePartsWithFallback(),
|
|
1479
|
+
ampm: ev.detail.value,
|
|
1480
|
+
hour,
|
|
1481
|
+
});
|
|
1419
1482
|
ev.stopPropagation();
|
|
1420
|
-
} }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
|
|
1483
|
+
} }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { color: this.color, part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
|
|
1421
1484
|
}
|
|
1422
1485
|
renderWheelView(forcePresentation) {
|
|
1423
1486
|
const { locale } = this;
|
|
@@ -1461,8 +1524,8 @@ export class Datetime {
|
|
|
1461
1524
|
// The day is not used when checking if a month is disabled.
|
|
1462
1525
|
// Users should be able to access the min or max month, even if the
|
|
1463
1526
|
// min/max date is out of bounds (e.g. min is set to Feb 15, Feb should not be disabled).
|
|
1464
|
-
minParts:
|
|
1465
|
-
maxParts:
|
|
1527
|
+
minParts: { ...this.minParts, day: null },
|
|
1528
|
+
maxParts: { ...this.maxParts, day: null },
|
|
1466
1529
|
});
|
|
1467
1530
|
// The working month should never have swipe disabled.
|
|
1468
1531
|
// Otherwise the CSS scroll snap will not work and the user
|
|
@@ -1571,18 +1634,24 @@ export class Datetime {
|
|
|
1571
1634
|
if (isAdjacentDay) {
|
|
1572
1635
|
// The user selected a day outside the current month. Ignore this button, as the month will be re-rendered.
|
|
1573
1636
|
this.el.blur();
|
|
1574
|
-
this.activeParts =
|
|
1637
|
+
this.activeParts = { ...activePart, ...referenceParts };
|
|
1575
1638
|
this.animateToDate(referenceParts);
|
|
1576
1639
|
this.confirm();
|
|
1577
1640
|
}
|
|
1578
1641
|
else {
|
|
1579
|
-
this.setWorkingParts(
|
|
1642
|
+
this.setWorkingParts({
|
|
1643
|
+
...this.workingParts,
|
|
1644
|
+
...referenceParts,
|
|
1645
|
+
});
|
|
1580
1646
|
// Multiple only needs date info so we can wipe out other fields like time.
|
|
1581
1647
|
if (multiple) {
|
|
1582
1648
|
this.setActiveParts(referenceParts, isActive);
|
|
1583
1649
|
}
|
|
1584
1650
|
else {
|
|
1585
|
-
this.setActiveParts(
|
|
1651
|
+
this.setActiveParts({
|
|
1652
|
+
...activePart,
|
|
1653
|
+
...referenceParts,
|
|
1654
|
+
});
|
|
1586
1655
|
}
|
|
1587
1656
|
}
|
|
1588
1657
|
}
|
|
@@ -1625,7 +1694,7 @@ export class Datetime {
|
|
|
1625
1694
|
await popoverRef.onWillDismiss();
|
|
1626
1695
|
this.isTimePopoverOpen = false;
|
|
1627
1696
|
}
|
|
1628
|
-
} }, getLocalizedTime(locale, activePart, computedHourCycle, formatOptions
|
|
1697
|
+
} }, getLocalizedTime(locale, activePart, computedHourCycle, formatOptions?.time)),
|
|
1629
1698
|
h("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
|
|
1630
1699
|
/**
|
|
1631
1700
|
* Intersection Observers do not consistently fire between Blink and Webkit
|
|
@@ -1648,7 +1717,6 @@ export class Datetime {
|
|
|
1648
1717
|
];
|
|
1649
1718
|
}
|
|
1650
1719
|
getHeaderSelectedDateText() {
|
|
1651
|
-
var _a;
|
|
1652
1720
|
const { activeParts, formatOptions, multiple, titleSelectedDatesFormatter } = this;
|
|
1653
1721
|
const isArray = Array.isArray(activeParts);
|
|
1654
1722
|
let headerText;
|
|
@@ -1665,7 +1733,7 @@ export class Datetime {
|
|
|
1665
1733
|
}
|
|
1666
1734
|
else {
|
|
1667
1735
|
// for exactly 1 day selected (multiple set or not), show a formatted version of that
|
|
1668
|
-
headerText = getLocalizedDateTime(this.locale, this.getActivePartsWithFallback(),
|
|
1736
|
+
headerText = getLocalizedDateTime(this.locale, this.getActivePartsWithFallback(), formatOptions?.date ?? { weekday: 'short', month: 'short', day: 'numeric' });
|
|
1669
1737
|
}
|
|
1670
1738
|
return headerText;
|
|
1671
1739
|
}
|
|
@@ -1754,17 +1822,19 @@ export class Datetime {
|
|
|
1754
1822
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1755
1823
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1756
1824
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1757
|
-
return (h(Host, { key: '
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1825
|
+
return (h(Host, { key: '4e0b529a70924b065bcc6191e08550428b5a52a0', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: {
|
|
1826
|
+
...createColorClasses(color, {
|
|
1827
|
+
[mode]: true,
|
|
1828
|
+
['datetime-readonly']: readonly,
|
|
1829
|
+
['datetime-disabled']: disabled,
|
|
1830
|
+
'show-month-and-year': shouldShowMonthAndYear,
|
|
1831
|
+
'month-year-picker-open': monthYearPickerOpen,
|
|
1832
|
+
[`datetime-presentation-${presentation}`]: true,
|
|
1833
|
+
[`datetime-size-${size}`]: true,
|
|
1834
|
+
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1835
|
+
[`datetime-grid`]: isGridStyle,
|
|
1836
|
+
}),
|
|
1837
|
+
} }, h("div", { key: 'cc9d1b92f960984cb0466d0003a240ace67da243', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1768
1838
|
}
|
|
1769
1839
|
static get is() { return "ion-datetime"; }
|
|
1770
1840
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1801,13 +1871,12 @@ export class Datetime {
|
|
|
1801
1871
|
"optional": true,
|
|
1802
1872
|
"docs": {
|
|
1803
1873
|
"tags": [],
|
|
1804
|
-
"text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors,
|
|
1874
|
+
"text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors, refer to [theming](/docs/theming/basics)."
|
|
1805
1875
|
},
|
|
1806
1876
|
"getter": false,
|
|
1807
1877
|
"setter": false,
|
|
1808
1878
|
"reflect": false,
|
|
1809
|
-
"attribute": "color"
|
|
1810
|
-
"defaultValue": "'primary'"
|
|
1879
|
+
"attribute": "color"
|
|
1811
1880
|
},
|
|
1812
1881
|
"name": {
|
|
1813
1882
|
"type": "string",
|