@ionic/core 7.5.8-dev.11701806358.1ca1b519 → 7.5.8-dev.11701876182.1e71e7a0
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/animation.js +12 -11
- package/components/backdrop.js +12 -0
- package/components/checkbox.js +5 -3
- package/components/data.js +1 -1
- package/components/gesture-controller.js +1 -1
- package/components/index4.js +10 -12
- package/components/index5.js +0 -22
- package/components/input-shims.js +12 -7
- package/components/input.utils.js +3 -2
- package/components/ion-content.js +1 -1
- package/components/ion-datetime.js +64 -40
- package/components/ion-infinite-scroll.js +11 -3
- package/components/ion-input.js +31 -8
- package/components/ion-modal.js +2 -2
- package/components/ion-picker-column-internal.d.ts +11 -0
- package/components/ion-picker-column-internal.js +9 -0
- package/components/ion-picker-column.js +2 -2
- package/components/{ion-picker-legacy.d.ts → ion-picker-internal.d.ts} +4 -4
- package/components/ion-picker-internal.js +9 -0
- package/components/ion-picker.js +309 -1
- package/components/ion-range.js +5 -3
- package/components/ion-select.js +44 -29
- package/components/ion-skeleton-text.js +14 -1
- package/components/ion-textarea.js +30 -7
- package/components/ion-toast.js +419 -74
- package/components/ion-toggle.js +5 -3
- package/components/item.js +2 -2
- package/components/label.js +2 -2
- package/components/overlays.js +6 -12
- package/components/picker-column-internal.js +390 -0
- package/components/picker-column.js +317 -363
- package/components/{picker.js → picker-internal.js} +16 -16
- package/components/radio-group.js +2 -0
- package/components/radio.js +45 -5
- package/dist/cjs/{animation-cc40e39c.js → animation-9b401d39.js} +13 -12
- package/dist/cjs/{button-active-9d7e0640.js → button-active-a5185907.js} +2 -2
- package/dist/cjs/{capacitor-46980811.js → capacitor-c04564bf.js} +1 -1
- package/dist/cjs/compare-with-utils-df1001d7.js +44 -0
- package/dist/cjs/{data-e7526b58.js → data-36b9094e.js} +1 -1
- package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-c40c045a.js} +0 -1
- package/dist/cjs/{haptic-216df36c.js → haptic-b882e0bb.js} +1 -1
- package/dist/cjs/{index-8c1e77d6.js → index-b4f986cd.js} +1 -1
- package/dist/cjs/index-c8d52405.js +10 -0
- package/dist/cjs/{index-5cbb20f9.js → index-ce101dc9.js} +11 -13
- package/dist/cjs/{index-ee07ed59.js → index-d1b59ffa.js} +1 -1
- package/dist/cjs/{index-d4c2e02c.js → index-f8f13389.js} +2 -2
- package/dist/cjs/index.cjs.js +10 -10
- package/dist/cjs/{input-shims-87102b6a.js → input-shims-a23bb0f4.js} +15 -10
- package/dist/cjs/{input.utils-2a11c1fe.js → input.utils-3d0166a2.js} +4 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
- package/dist/cjs/ion-alert.cjs.entry.js +8 -8
- package/dist/cjs/ion-app_8.cjs.entry.js +10 -10
- package/dist/cjs/ion-backdrop.cjs.entry.js +12 -0
- package/dist/cjs/ion-checkbox.cjs.entry.js +5 -3
- package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +60 -40
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +11 -3
- package/dist/cjs/ion-input.cjs.entry.js +34 -11
- package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-item_8.cjs.entry.js +17 -4
- package/dist/cjs/ion-loading.cjs.entry.js +3 -4
- package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-modal.cjs.entry.js +10 -10
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
- package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +74 -107
- package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +13 -13
- package/dist/cjs/ion-popover.cjs.entry.js +4 -5
- package/dist/cjs/ion-radio_2.cjs.entry.js +9 -4
- package/dist/cjs/ion-range.cjs.entry.js +6 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +51 -36
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +33 -10
- package/dist/cjs/ion-toast.cjs.entry.js +434 -93
- package/dist/cjs/ion-toggle.cjs.entry.js +9 -7
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-a4ffb5a2.js → ios.transition-6787b799.js} +3 -3
- package/dist/cjs/{keyboard-9390928c.js → keyboard-0272231f.js} +1 -1
- package/dist/cjs/{keyboard-7d621ee9.js → keyboard-af1bb365.js} +3 -3
- package/dist/cjs/{keyboard-controller-2158b478.js → keyboard-controller-c05e747a.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-292abe1c.js → md.transition-e033d20a.js} +3 -3
- package/dist/cjs/{notch-controller-1dce508a.js → notch-controller-9735e7ac.js} +1 -1
- package/dist/cjs/{overlays-e8e05b0e.js → overlays-27a6fb16.js} +7 -12
- package/dist/cjs/{swipe-back-b8f2330b.js → swipe-back-2a858bbd.js} +2 -2
- package/dist/collection/collection-manifest.json +6 -7
- package/dist/collection/components/backdrop/backdrop.js +12 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +0 -6
- package/dist/collection/components/checkbox/checkbox.js +4 -1
- package/dist/collection/components/checkbox/checkbox.md.css +0 -6
- package/dist/collection/components/checkbox/test/checkbox.spec.js +14 -0
- package/dist/collection/components/content/content.css +4 -0
- package/dist/collection/components/datetime/datetime.ios.css +38 -83
- package/dist/collection/components/datetime/datetime.js +36 -24
- package/dist/collection/components/datetime/datetime.md.css +38 -88
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/a11y/datetime.spec.js +9 -6
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -10
- package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
- package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
- package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +41 -43
- package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
- package/dist/collection/components/datetime/test/values/datetime.e2e.js +12 -15
- package/dist/collection/components/datetime/utils/data.js +1 -1
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +11 -3
- package/dist/collection/components/infinite-scroll/test/small-dom-update/infinite-scroll.e2e.js +31 -0
- package/dist/collection/components/input/input.ios.css +10 -3
- package/dist/collection/components/input/input.js +31 -6
- package/dist/collection/components/input/input.md.css +13 -12
- package/dist/collection/components/input/test/slot/input.e2e.js +51 -0
- package/dist/collection/components/item/item.ios.css +41 -3
- package/dist/collection/components/item/item.md.css +41 -3
- package/dist/collection/components/item/test/basic/item.e2e.js +1 -1
- package/dist/collection/components/item/test/disabled/item.e2e.js +0 -1
- package/dist/collection/components/label/label.ios.css +14 -3
- package/dist/collection/components/label/label.md.css +14 -3
- package/dist/collection/components/modal/gestures/swipe-to-close.js +2 -1
- package/dist/collection/components/note/test/a11y/note.e2e.js +43 -0
- package/dist/collection/components/picker/picker.ios.css +205 -100
- package/dist/collection/components/picker/picker.js +743 -461
- package/dist/collection/components/picker/picker.md.css +194 -98
- package/dist/collection/components/picker/test/basic/picker.e2e.js +13 -99
- package/dist/collection/components/{picker-legacy → picker}/test/is-open/picker.e2e.js +4 -4
- package/dist/collection/components/{picker-legacy → picker}/test/picker-id.spec.js +5 -5
- package/dist/collection/components/{picker-legacy → picker}/test/trigger/picker.e2e.js +1 -1
- package/dist/collection/components/picker-column/picker-column.ios.css +160 -120
- package/dist/collection/components/picker-column/picker-column.js +329 -514
- package/dist/collection/components/picker-column/picker-column.md.css +107 -134
- package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-aria.spec.js +3 -3
- package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-dynamic.spec.js +2 -2
- package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column.spec.js +2 -2
- package/dist/collection/components/{picker-legacy-column → picker-column}/test/standalone/picker-column.e2e.js +3 -3
- package/dist/collection/components/{picker-column-option/picker-column-option.md.css → picker-column-internal/picker-column-internal.ios.css} +53 -6
- package/dist/collection/components/picker-column-internal/picker-column-internal.js +565 -0
- package/dist/collection/components/{picker-legacy-column/picker-column.md.css → picker-column-internal/picker-column-internal.md.css} +63 -113
- package/dist/collection/components/{picker-column/test/basic/picker-column.e2e.js → picker-column-internal/test/basic/picker-column-internal.e2e.js} +8 -8
- package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +162 -0
- package/dist/collection/components/{picker-legacy/picker.md.css → picker-internal/picker-internal.ios.css} +100 -192
- package/dist/collection/components/picker-internal/picker-internal.js +544 -0
- package/dist/collection/components/{picker-legacy-column/picker-column.ios.css → picker-internal/picker-internal.md.css} +101 -98
- package/dist/collection/components/{picker/test/a11y/picker.e2e.js → picker-internal/test/a11y/picker-internal.e2e.js} +2 -2
- package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +118 -0
- package/dist/collection/components/{picker/test/keyboard-entry/picker.e2e.js → picker-internal/test/keyboard-entry/picker-internal.e2e.js} +22 -23
- package/dist/collection/components/radio/radio.ios.css +0 -6
- package/dist/collection/components/radio/radio.js +7 -3
- package/dist/collection/components/radio/radio.md.css +0 -6
- package/dist/collection/components/radio/test/radio.spec.js +14 -0
- package/dist/collection/components/radio-group/radio-group.js +24 -0
- package/dist/collection/components/radio-group/test/radio-group.spec.js +69 -0
- package/dist/collection/components/range/range.ios.css +0 -6
- package/dist/collection/components/range/range.js +4 -1
- package/dist/collection/components/range/range.md.css +0 -6
- package/dist/collection/components/range/test/range.spec.js +16 -0
- package/dist/collection/components/select/select.ios.css +60 -7
- package/dist/collection/components/select/select.js +45 -28
- package/dist/collection/components/select/select.md.css +63 -19
- package/dist/collection/components/select/test/item/select.e2e.js +15 -0
- package/dist/collection/components/select/test/label/select.e2e.js +1 -1
- package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
- package/dist/collection/components/select/test/slot/select.e2e.js +67 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +39 -0
- package/dist/collection/components/textarea/test/slot/textarea.e2e.js +51 -0
- package/dist/collection/components/textarea/textarea.ios.css +37 -5
- package/dist/collection/components/textarea/textarea.js +30 -5
- package/dist/collection/components/textarea/textarea.md.css +47 -14
- package/dist/collection/components/toast/animations/ios.enter.js +2 -1
- package/dist/collection/components/toast/animations/md.enter.js +4 -3
- package/dist/collection/components/toast/animations/utils.js +20 -14
- package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +267 -0
- package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +84 -0
- package/dist/collection/components/toast/test/toast-config.spec.js +25 -0
- package/dist/collection/components/toast/test/toast.spec.js +80 -0
- package/dist/collection/components/toast/toast.ios.css +10 -10
- package/dist/collection/components/toast/toast.js +104 -1
- package/dist/collection/components/toast/toast.md.css +10 -0
- package/dist/collection/components/toggle/test/toggle.spec.js +12 -0
- package/dist/collection/components/toggle/toggle.ios.css +0 -6
- package/dist/collection/components/toggle/toggle.js +4 -1
- package/dist/collection/components/toggle/toggle.md.css +0 -6
- package/dist/collection/utils/animation/animation.js +12 -11
- package/dist/collection/utils/animation/test/animation.spec.js +16 -0
- package/dist/collection/utils/browser/index.js +0 -22
- package/dist/collection/utils/forms/compare-with-utils.js +39 -0
- package/dist/collection/utils/forms/index.js +1 -0
- package/dist/collection/utils/gesture/gesture-controller.js +1 -1
- package/dist/collection/utils/input-shims/input-shims.js +12 -6
- package/dist/collection/utils/menu-controller/index.js +10 -12
- package/dist/collection/utils/overlays.js +5 -11
- package/dist/collection/utils/slot-mutation-controller.js +3 -2
- package/dist/docs.json +265 -561
- package/dist/esm/{animation-fb0e0f6f.js → animation-dde8cc0d.js} +13 -12
- package/dist/esm/{button-active-ed9d848c.js → button-active-c6ee4f50.js} +2 -2
- package/dist/esm/{capacitor-b0e5fe83.js → capacitor-59395cbd.js} +1 -1
- package/dist/esm/compare-with-utils-a96ff2ea.js +41 -0
- package/dist/esm/{data-4b9508c9.js → data-f5c75b4e.js} +1 -1
- package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
- package/dist/esm/{haptic-152c4172.js → haptic-554688a5.js} +1 -1
- package/dist/esm/{index-80492ed3.js → index-0c12c22b.js} +11 -13
- package/dist/esm/{index-d8817fb0.js → index-1932b201.js} +2 -2
- package/dist/esm/{index-39782642.js → index-2cf77112.js} +2 -2
- package/dist/esm/{index-ba9976bb.js → index-82eeb47f.js} +1 -1
- package/dist/esm/index-a5d50daf.js +7 -0
- package/dist/esm/index.js +10 -10
- package/dist/esm/{input-shims-0a2e541d.js → input-shims-6539ce13.js} +14 -9
- package/dist/esm/{input.utils-2846d430.js → input.utils-a5a2d164.js} +4 -3
- package/dist/esm/ion-action-sheet.entry.js +8 -8
- package/dist/esm/ion-alert.entry.js +8 -8
- package/dist/esm/ion-app_8.entry.js +10 -10
- package/dist/esm/ion-backdrop.entry.js +12 -0
- package/dist/esm/ion-checkbox.entry.js +5 -3
- package/dist/esm/ion-datetime-button.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +59 -39
- package/dist/esm/ion-infinite-scroll_2.entry.js +11 -3
- package/dist/esm/ion-input.entry.js +34 -11
- package/dist/esm/ion-item-option_3.entry.js +1 -1
- package/dist/esm/ion-item_8.entry.js +17 -4
- package/dist/esm/ion-loading.entry.js +3 -4
- package/dist/esm/ion-menu_3.entry.js +7 -7
- package/dist/esm/ion-modal.entry.js +10 -10
- package/dist/esm/ion-nav_2.entry.js +2 -2
- package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +74 -107
- package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +13 -13
- package/dist/esm/ion-popover.entry.js +4 -5
- package/dist/esm/ion-radio_2.entry.js +9 -4
- package/dist/esm/ion-range.entry.js +6 -4
- package/dist/esm/ion-refresher_2.entry.js +7 -7
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-segment_2.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +47 -32
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +33 -10
- package/dist/esm/ion-toast.entry.js +417 -76
- package/dist/esm/ion-toggle.entry.js +9 -7
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-fd16bec1.js → ios.transition-802a84a6.js} +3 -3
- package/dist/esm/{keyboard-c402e885.js → keyboard-52278bd7.js} +3 -3
- package/dist/esm/{keyboard-dbb05fb9.js → keyboard-73175e24.js} +1 -1
- package/dist/esm/{keyboard-controller-5d90929a.js → keyboard-controller-ec5c2bfa.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-94ac93e1.js → md.transition-43c2874d.js} +3 -3
- package/dist/esm/{notch-controller-d09b6aca.js → notch-controller-fea7f9c5.js} +1 -1
- package/dist/esm/{overlays-fbc5cab5.js → overlays-32ef481d.js} +7 -13
- package/dist/esm/{swipe-back-a8ca7f93.js → swipe-back-a6f386fc.js} +2 -2
- package/dist/esm-es5/{animation-fb0e0f6f.js → animation-dde8cc0d.js} +1 -1
- package/dist/esm-es5/{button-active-ed9d848c.js → button-active-c6ee4f50.js} +1 -1
- package/dist/esm-es5/{capacitor-b0e5fe83.js → capacitor-59395cbd.js} +1 -1
- package/dist/esm-es5/compare-with-utils-a96ff2ea.js +4 -0
- package/dist/esm-es5/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
- package/dist/esm-es5/{haptic-152c4172.js → haptic-554688a5.js} +1 -1
- package/dist/esm-es5/index-0c12c22b.js +4 -0
- package/dist/esm-es5/{index-d8817fb0.js → index-1932b201.js} +1 -1
- package/dist/esm-es5/{index-39782642.js → index-2cf77112.js} +1 -1
- package/dist/esm-es5/{index-ba9976bb.js → index-82eeb47f.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-6539ce13.js +4 -0
- package/dist/esm-es5/input.utils-a5a2d164.js +4 -0
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
- package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-fd16bec1.js → ios.transition-802a84a6.js} +1 -1
- package/dist/esm-es5/{keyboard-c402e885.js → keyboard-52278bd7.js} +1 -1
- package/dist/esm-es5/{keyboard-dbb05fb9.js → keyboard-73175e24.js} +1 -1
- package/dist/esm-es5/{keyboard-controller-5d90929a.js → keyboard-controller-ec5c2bfa.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-43c2874d.js +4 -0
- package/dist/esm-es5/{notch-controller-d09b6aca.js → notch-controller-fea7f9c5.js} +1 -1
- package/dist/esm-es5/overlays-32ef481d.js +4 -0
- package/dist/esm-es5/swipe-back-a6f386fc.js +4 -0
- package/dist/html.html-data.json +15 -153
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-01d14eba.system.entry.js +4 -0
- package/dist/ionic/p-042e6f4b.entry.js +4 -0
- package/dist/ionic/p-05d83227.system.entry.js +4 -0
- package/dist/ionic/{p-32e19bee.system.js → p-0bd51c34.system.js} +1 -1
- package/dist/ionic/p-16756e94.system.entry.js +4 -0
- package/dist/ionic/p-1b19c04b.entry.js +4 -0
- package/dist/ionic/{p-95c26010.system.js → p-1cca10d6.system.js} +1 -1
- package/dist/ionic/p-1e4371bd.js +4 -0
- package/dist/ionic/{p-21c3515a.entry.js → p-251666e2.entry.js} +1 -1
- package/dist/ionic/{p-4e8e09e1.js → p-27281edd.js} +1 -1
- package/dist/ionic/p-28249b10.system.entry.js +4 -0
- package/dist/ionic/p-28a2c2a2.entry.js +4 -0
- package/dist/ionic/p-29d03b3a.js +4 -0
- package/dist/ionic/p-2b7827c7.js +4 -0
- package/dist/ionic/p-2d3b9fa3.system.entry.js +4 -0
- package/dist/ionic/p-2d539df1.entry.js +4 -0
- package/dist/ionic/{p-9c229210.system.entry.js → p-3137c025.system.entry.js} +2 -2
- package/dist/ionic/{p-3e1e14d9.system.js → p-31b2326e.system.js} +1 -1
- package/dist/ionic/{p-30029cc2.system.js → p-31fcb233.system.js} +1 -1
- package/dist/ionic/{p-1d624e03.system.js → p-33a37fad.system.js} +1 -1
- package/dist/ionic/p-35ce400e.system.js +4 -0
- package/dist/ionic/p-36d187af.js +4 -0
- package/dist/ionic/p-376a6063.js +4 -0
- package/dist/ionic/p-38f2c6bb.system.js +4 -0
- package/dist/ionic/p-39c31982.system.entry.js +4 -0
- package/dist/ionic/{p-75445583.js → p-3a75d7fd.js} +1 -1
- package/dist/ionic/{p-1fc72959.entry.js → p-3dd98a73.entry.js} +1 -1
- package/dist/ionic/p-3e6b47e8.system.entry.js +4 -0
- package/dist/ionic/p-3f5179b5.entry.js +4 -0
- package/dist/ionic/p-40f68333.system.js +4 -0
- package/dist/ionic/{p-643a8fae.js → p-42f189f4.js} +1 -1
- package/dist/ionic/p-438e1b8a.entry.js +4 -0
- package/dist/ionic/{p-b752714f.system.entry.js → p-46d400b4.system.entry.js} +1 -1
- package/dist/ionic/p-47b6ba5b.js +4 -0
- package/dist/ionic/{p-5d42b6b4.entry.js → p-4d67d27a.entry.js} +1 -1
- package/dist/ionic/{p-535d2a67.entry.js → p-4f3ae45a.entry.js} +1 -1
- package/dist/ionic/p-517a9885.system.entry.js +4 -0
- package/dist/ionic/p-53ec4f1c.system.js +4 -0
- package/dist/ionic/p-5e4eec2e.entry.js +4 -0
- package/dist/ionic/{p-57477107.system.js → p-5e745192.system.js} +1 -1
- package/dist/ionic/{p-a9a80f5b.entry.js → p-5eda1d7d.entry.js} +1 -1
- package/dist/ionic/{p-e8e86f69.system.entry.js → p-6577aea9.system.entry.js} +1 -1
- package/dist/ionic/p-6a6477b2.js +4 -0
- package/dist/ionic/{p-4890093d.js → p-6de472cb.js} +1 -1
- package/dist/ionic/{p-b4d31b30.system.entry.js → p-6de62649.system.entry.js} +1 -1
- package/dist/ionic/p-72f6ff89.js +4 -0
- package/dist/ionic/p-765f4dde.entry.js +4 -0
- package/dist/ionic/{p-3f6270b3.entry.js → p-78aadecb.entry.js} +1 -1
- package/dist/ionic/p-7d92bf15.system.entry.js +4 -0
- package/dist/ionic/p-7ee0f3f2.entry.js +4 -0
- package/dist/ionic/p-80fa068e.entry.js +4 -0
- package/dist/ionic/p-8314281e.system.js +4 -0
- package/dist/ionic/p-88d5fbd3.js +4 -0
- package/dist/ionic/{p-4911a5d6.entry.js → p-88fde0e0.entry.js} +1 -1
- package/dist/ionic/{p-0e4f2e17.system.js → p-8985cdb6.system.js} +1 -1
- package/dist/ionic/{p-96dbbac1.system.entry.js → p-8acae6b0.system.entry.js} +1 -1
- package/dist/ionic/p-8d69a624.entry.js +4 -0
- package/dist/ionic/p-8de17614.system.entry.js +4 -0
- package/dist/ionic/p-908475e7.system.entry.js +4 -0
- package/dist/ionic/p-91d33c4a.js +4 -0
- package/dist/ionic/p-979d4f5c.system.js +4 -0
- package/dist/ionic/p-9b7f0b0f.entry.js +4 -0
- package/dist/ionic/p-9e447eb1.system.js +4 -0
- package/dist/ionic/{p-f910cc73.system.entry.js → p-9eec42cc.system.entry.js} +1 -1
- package/dist/ionic/p-9f6ee2c0.system.entry.js +4 -0
- package/dist/ionic/{p-77965464.system.entry.js → p-a0bb7b92.system.entry.js} +1 -1
- package/dist/ionic/p-a0d7bb5e.system.js +4 -0
- package/dist/ionic/{p-6d72fb44.entry.js → p-a1987850.entry.js} +1 -1
- package/dist/ionic/p-a3277a67.entry.js +4 -0
- package/dist/ionic/{p-6b7c55cd.entry.js → p-a9978d08.entry.js} +1 -1
- package/dist/ionic/{p-fbf3a689.system.entry.js → p-ada96dd0.system.entry.js} +1 -1
- package/dist/ionic/p-afd6ca9d.entry.js +4 -0
- package/dist/ionic/p-b56d0866.system.entry.js +4 -0
- package/dist/ionic/p-b6f9d32a.entry.js +4 -0
- package/dist/ionic/{p-9b97df10.js → p-bb3615f7.js} +1 -1
- package/dist/ionic/p-c61cc894.js +4 -0
- package/dist/ionic/{p-20d469d0.system.js → p-c7c8429a.system.js} +1 -1
- package/dist/ionic/{p-304383f9.system.js → p-cabad15b.system.js} +1 -1
- package/dist/ionic/p-cce9f61a.system.entry.js +4 -0
- package/dist/ionic/{p-31158892.js → p-cdbeaadc.js} +1 -1
- package/dist/ionic/p-d032f825.system.entry.js +4 -0
- package/dist/ionic/p-d51674c5.system.js +4 -0
- package/dist/ionic/{p-b133e9b4.entry.js → p-ddb30596.entry.js} +1 -1
- package/dist/ionic/{p-98d82c73.system.js → p-ddbb2d5b.system.js} +1 -1
- package/dist/ionic/p-de6f8b28.system.js +4 -0
- package/dist/ionic/p-de756e5c.js +4 -0
- package/dist/ionic/p-dee7c1d0.system.entry.js +4 -0
- package/dist/ionic/p-dfd9432a.entry.js +4 -0
- package/dist/ionic/{p-54dfc9b5.system.js → p-e24ce1e5.system.js} +1 -1
- package/dist/ionic/p-e3584231.system.js +1 -1
- package/dist/ionic/{p-6fd64e7c.system.entry.js → p-e6d68e02.system.entry.js} +1 -1
- package/dist/ionic/p-e94c392d.entry.js +4 -0
- package/dist/ionic/p-f0445d82.system.entry.js +4 -0
- package/dist/ionic/{p-8ededb41.js → p-f5d2dc9b.js} +1 -1
- package/dist/ionic/p-f656e032.system.entry.js +4 -0
- package/dist/ionic/{p-76d3765d.js → p-f70970cf.js} +1 -1
- package/dist/ionic/{p-c18de88a.system.entry.js → p-fba0a6e7.system.entry.js} +1 -1
- package/dist/ionic/p-feae5133.entry.js +4 -0
- package/dist/types/components/backdrop/backdrop.d.ts +3 -0
- package/dist/types/components/checkbox/checkbox.d.ts +1 -0
- package/dist/types/components/datetime/datetime.d.ts +1 -0
- package/dist/types/components/datetime/utils/data.d.ts +2 -2
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +7 -0
- package/dist/types/components/input/input.d.ts +2 -0
- package/dist/types/components/menu/menu.d.ts +1 -1
- package/dist/types/components/picker/picker.d.ts +131 -74
- package/dist/types/components/picker-column/picker-column.d.ts +39 -105
- package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +102 -0
- package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +8 -0
- package/dist/types/components/picker-internal/picker-internal.d.ts +102 -0
- package/dist/types/components/radio/radio.d.ts +1 -0
- package/dist/types/components/radio-group/radio-group-interface.d.ts +1 -0
- package/dist/types/components/radio-group/radio-group.d.ts +8 -1
- package/dist/types/components/range/range.d.ts +1 -0
- package/dist/types/components/router/router.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +6 -1
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +9 -1
- package/dist/types/components/textarea/textarea.d.ts +2 -0
- package/dist/types/components/toast/animations/utils.d.ts +15 -4
- package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +9 -0
- package/dist/types/components/toast/toast-interface.d.ts +2 -0
- package/dist/types/components/toast/toast.d.ts +28 -1
- package/dist/types/components/toggle/toggle.d.ts +1 -0
- package/dist/types/components.d.ts +159 -169
- package/dist/types/interface.d.ts +2 -6
- package/dist/types/jest.d.ts +5 -0
- package/dist/types/utils/animation/animation-interface.d.ts +4 -4
- package/dist/types/utils/browser/index.d.ts +11 -2
- package/dist/types/utils/config.d.ts +2 -2
- package/dist/types/utils/forms/compare-with-utils.d.ts +18 -0
- package/dist/types/utils/forms/index.d.ts +1 -0
- package/dist/types/utils/gesture/gesture-controller.d.ts +0 -1
- package/dist/types/utils/hardware-back-button.d.ts +4 -0
- package/dist/types/utils/overlays.d.ts +3 -5
- package/dist/types/utils/slot-mutation-controller.d.ts +2 -2
- package/hydrate/index.js +1855 -1509
- package/package.json +1 -1
- package/components/ion-picker-column-option.d.ts +0 -11
- package/components/ion-picker-column-option.js +0 -9
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -9
- package/components/ion-picker-legacy.js +0 -309
- package/components/picker-column-option.js +0 -122
- package/components/picker-column2.js +0 -379
- package/dist/cjs/index-306a7476.js +0 -32
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +0 -104
- package/dist/collection/components/item/test/text/item.e2e.js +0 -14
- package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +0 -113
- package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +0 -39
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -87
- package/dist/collection/components/picker-column-option/picker-column-option.js +0 -173
- package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +0 -18
- package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +0 -37
- package/dist/collection/components/picker-legacy/picker.ios.css +0 -367
- package/dist/collection/components/picker-legacy/picker.js +0 -817
- package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +0 -25
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -419
- package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +0 -65
- package/dist/esm/index-7a14ecec.js +0 -29
- package/dist/esm/ion-picker-column-option.entry.js +0 -100
- package/dist/esm-es5/index-80492ed3.js +0 -4
- package/dist/esm-es5/input-shims-0a2e541d.js +0 -4
- package/dist/esm-es5/input.utils-2846d430.js +0 -4
- package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
- package/dist/esm-es5/ion-picker-column.entry.js +0 -4
- package/dist/esm-es5/ion-picker.entry.js +0 -4
- package/dist/esm-es5/md.transition-94ac93e1.js +0 -4
- package/dist/esm-es5/overlays-fbc5cab5.js +0 -4
- package/dist/esm-es5/swipe-back-a8ca7f93.js +0 -4
- package/dist/ionic/p-22e5af95.entry.js +0 -4
- package/dist/ionic/p-232d1f22.entry.js +0 -4
- package/dist/ionic/p-23672c82.system.entry.js +0 -4
- package/dist/ionic/p-26798a7b.system.entry.js +0 -4
- package/dist/ionic/p-27bcbbc7.system.entry.js +0 -4
- package/dist/ionic/p-2ab4e925.system.entry.js +0 -4
- package/dist/ionic/p-2d5aeccc.js +0 -4
- package/dist/ionic/p-2d600c25.system.js +0 -4
- package/dist/ionic/p-308e1341.js +0 -4
- package/dist/ionic/p-32303650.system.entry.js +0 -4
- package/dist/ionic/p-34c39c48.entry.js +0 -4
- package/dist/ionic/p-3ba01a9c.system.entry.js +0 -4
- package/dist/ionic/p-3c58a71b.js +0 -4
- package/dist/ionic/p-3fd26bd6.system.entry.js +0 -4
- package/dist/ionic/p-3fe96156.system.js +0 -4
- package/dist/ionic/p-42ba3902.entry.js +0 -4
- package/dist/ionic/p-4a081ea9.entry.js +0 -4
- package/dist/ionic/p-4a31c99f.entry.js +0 -4
- package/dist/ionic/p-4a36430f.system.entry.js +0 -4
- package/dist/ionic/p-51abefb7.system.js +0 -4
- package/dist/ionic/p-563c41f0.system.entry.js +0 -4
- package/dist/ionic/p-5a68960f.entry.js +0 -4
- package/dist/ionic/p-6c37f051.js +0 -4
- package/dist/ionic/p-73190c5f.entry.js +0 -4
- package/dist/ionic/p-73aa7604.entry.js +0 -4
- package/dist/ionic/p-7b725280.entry.js +0 -4
- package/dist/ionic/p-8017aad2.system.entry.js +0 -4
- package/dist/ionic/p-83af3685.system.js +0 -4
- package/dist/ionic/p-846ee227.entry.js +0 -4
- package/dist/ionic/p-856c430d.js +0 -4
- package/dist/ionic/p-8c97cdc0.entry.js +0 -4
- package/dist/ionic/p-8fa6583d.system.js +0 -4
- package/dist/ionic/p-9282b16f.entry.js +0 -4
- package/dist/ionic/p-93000a81.system.entry.js +0 -4
- package/dist/ionic/p-990ffd0e.js +0 -4
- package/dist/ionic/p-9ba90516.system.entry.js +0 -4
- package/dist/ionic/p-a225bf0f.system.entry.js +0 -4
- package/dist/ionic/p-a60a1ce5.js +0 -4
- package/dist/ionic/p-a8baa23e.entry.js +0 -4
- package/dist/ionic/p-a98dc0c1.entry.js +0 -4
- package/dist/ionic/p-a9e3b5be.system.entry.js +0 -4
- package/dist/ionic/p-ab9456e9.system.entry.js +0 -4
- package/dist/ionic/p-afcf4620.entry.js +0 -4
- package/dist/ionic/p-c2910c78.entry.js +0 -4
- package/dist/ionic/p-c8f0a036.entry.js +0 -4
- package/dist/ionic/p-ca8938f4.js +0 -4
- package/dist/ionic/p-ca9d1792.system.entry.js +0 -4
- package/dist/ionic/p-cde52378.system.entry.js +0 -4
- package/dist/ionic/p-d43f1f3d.system.js +0 -4
- package/dist/ionic/p-d662d908.js +0 -4
- package/dist/ionic/p-d9695ad9.system.js +0 -4
- package/dist/ionic/p-da15f571.system.entry.js +0 -4
- package/dist/ionic/p-e4d90573.js +0 -4
- package/dist/ionic/p-f54c72b0.system.js +0 -4
- package/dist/ionic/p-f7a36cd0.system.js +0 -4
- package/dist/ionic/p-f967631d.js +0 -4
- package/dist/ionic/p-fe4dde76.entry.js +0 -4
- package/dist/ionic/p-ffd5dba4.system.entry.js +0 -4
- package/dist/types/components/picker/picker-interfaces.d.ts +0 -8
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -66
- 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/collection/components/{picker-legacy → picker}/animations/ios.enter.js +0 -0
- /package/dist/collection/components/{picker-legacy → picker}/animations/ios.leave.js +0 -0
- /package/dist/collection/components/picker/{picker-interfaces.js → picker-interface.js} +0 -0
- /package/dist/collection/components/{picker-legacy-column → picker-column}/test/test.utils.js +0 -0
- /package/dist/collection/components/{picker-column/picker-column-interfaces.js → picker-column-internal/picker-column-internal-interfaces.js} +0 -0
- /package/dist/collection/components/{picker-legacy/picker-interface.js → picker-internal/picker-internal-interfaces.js} +0 -0
- /package/dist/esm-es5/{data-4b9508c9.js → data-f5c75b4e.js} +0 -0
- /package/dist/esm-es5/{index-7a14ecec.js → index-a5d50daf.js} +0 -0
- /package/dist/ionic/{p-368f5215.js → p-2aea8b1e.js} +0 -0
- /package/dist/ionic/{p-0e94957a.system.js → p-792919fd.system.js} +0 -0
- /package/dist/ionic/{p-b347cfd1.js → p-7b30edcc.js} +0 -0
- /package/dist/ionic/{p-f58981c2.system.js → p-82e3d633.system.js} +0 -0
- /package/dist/types/components/{picker-legacy → picker}/animations/ios.enter.d.ts +0 -0
- /package/dist/types/components/{picker-legacy → picker}/animations/ios.leave.d.ts +0 -0
- /package/dist/types/components/{picker-legacy → picker}/picker-interface.d.ts +0 -0
- /package/dist/types/components/{picker-legacy-column → picker-column}/test/test.utils.d.ts +0 -0
- /package/dist/types/components/{picker-column/picker-column-interfaces.d.ts → picker-column-internal/picker-column-internal-interfaces.d.ts} +0 -0
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
const index = require('./index-
|
|
6
|
+
const index = require('./index-c8d52405.js');
|
|
7
7
|
const ionicGlobal = require('./ionic-global-f4a2093b.js');
|
|
8
8
|
const frameworkDelegate = require('./framework-delegate-1c29b14a.js');
|
|
9
|
-
const gestureController = require('./gesture-controller-9436f482.js');
|
|
10
9
|
const hardwareBackButton = require('./hardware-back-button-76833cac.js');
|
|
11
10
|
const helpers = require('./helpers-76bb7efb.js');
|
|
12
11
|
const index$1 = require('./index-5915f9b3.js');
|
|
@@ -31,10 +30,7 @@ const alertController = /*@__PURE__*/ createController('ion-alert');
|
|
|
31
30
|
const actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');
|
|
32
31
|
const loadingController = /*@__PURE__*/ createController('ion-loading');
|
|
33
32
|
const modalController = /*@__PURE__*/ createController('ion-modal');
|
|
34
|
-
|
|
35
|
-
* @deprecated Use the inline ion-picker component instead.
|
|
36
|
-
*/
|
|
37
|
-
const pickerController = /*@__PURE__*/ createController('ion-picker-legacy');
|
|
33
|
+
const pickerController = /*@__PURE__*/ createController('ion-picker');
|
|
38
34
|
const popoverController = /*@__PURE__*/ createController('ion-popover');
|
|
39
35
|
const toastController = /*@__PURE__*/ createController('ion-toast');
|
|
40
36
|
/**
|
|
@@ -144,7 +140,7 @@ const focusLastDescendant = (ref, overlay) => {
|
|
|
144
140
|
* Should NOT include: Toast
|
|
145
141
|
*/
|
|
146
142
|
const trapKeyboardFocus = (ev, doc) => {
|
|
147
|
-
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker
|
|
143
|
+
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover');
|
|
148
144
|
const target = ev.target;
|
|
149
145
|
/**
|
|
150
146
|
* If no active overlay, ignore this event.
|
|
@@ -329,7 +325,7 @@ const dismissOverlay = (doc, data, role, overlayTag, id) => {
|
|
|
329
325
|
*/
|
|
330
326
|
const getOverlays = (doc, selector) => {
|
|
331
327
|
if (selector === undefined) {
|
|
332
|
-
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker
|
|
328
|
+
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';
|
|
333
329
|
}
|
|
334
330
|
return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
|
|
335
331
|
};
|
|
@@ -395,7 +391,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
395
391
|
return;
|
|
396
392
|
}
|
|
397
393
|
setRootAriaHidden(true);
|
|
398
|
-
document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
|
|
399
394
|
overlay.presented = true;
|
|
400
395
|
overlay.willPresent.emit();
|
|
401
396
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
@@ -458,14 +453,12 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
458
453
|
if (!overlay.presented) {
|
|
459
454
|
return false;
|
|
460
455
|
}
|
|
461
|
-
const lastOverlay = index.doc !== undefined && getPresentedOverlays(index.doc).length === 1;
|
|
462
456
|
/**
|
|
463
457
|
* If this is the last visible overlay then
|
|
464
458
|
* we want to re-add the root to the accessibility tree.
|
|
465
459
|
*/
|
|
466
|
-
if (
|
|
460
|
+
if (index.doc !== undefined && getPresentedOverlays(index.doc).length === 1) {
|
|
467
461
|
setRootAriaHidden(false);
|
|
468
|
-
document.body.classList.remove(gestureController.BACKDROP_NO_SCROLL);
|
|
469
462
|
}
|
|
470
463
|
overlay.presented = false;
|
|
471
464
|
try {
|
|
@@ -571,6 +564,7 @@ const safeCall = (handler, arg) => {
|
|
|
571
564
|
};
|
|
572
565
|
const BACKDROP = 'backdrop';
|
|
573
566
|
const GESTURE = 'gesture';
|
|
567
|
+
const OVERLAY_GESTURE_PRIORITY = 39;
|
|
574
568
|
/**
|
|
575
569
|
* Creates a delegate controller.
|
|
576
570
|
*
|
|
@@ -700,6 +694,7 @@ const createTriggerController = () => {
|
|
|
700
694
|
|
|
701
695
|
exports.BACKDROP = BACKDROP;
|
|
702
696
|
exports.GESTURE = GESTURE;
|
|
697
|
+
exports.OVERLAY_GESTURE_PRIORITY = OVERLAY_GESTURE_PRIORITY;
|
|
703
698
|
exports.actionSheetController = actionSheetController;
|
|
704
699
|
exports.activeAnimations = activeAnimations;
|
|
705
700
|
exports.alertController = alertController;
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
const helpers = require('./helpers-76bb7efb.js');
|
|
7
7
|
const dir = require('./dir-94c21456.js');
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
require('./gesture-controller-
|
|
8
|
+
const index = require('./index-d1b59ffa.js');
|
|
9
|
+
require('./gesture-controller-c40c045a.js');
|
|
10
10
|
|
|
11
11
|
const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
|
|
12
12
|
const win = el.ownerDocument.defaultView;
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"components/col/col.js",
|
|
25
25
|
"components/content/content.js",
|
|
26
26
|
"components/datetime/datetime.js",
|
|
27
|
-
"components/picker-column/picker-column.js",
|
|
28
|
-
"components/picker/picker.js",
|
|
27
|
+
"components/picker-column-internal/picker-column-internal.js",
|
|
28
|
+
"components/picker-internal/picker-internal.js",
|
|
29
29
|
"components/datetime-button/datetime-button.js",
|
|
30
30
|
"components/fab/fab.js",
|
|
31
31
|
"components/fab-button/fab-button.js",
|
|
@@ -55,9 +55,8 @@
|
|
|
55
55
|
"components/nav/nav.js",
|
|
56
56
|
"components/nav-link/nav-link.js",
|
|
57
57
|
"components/note/note.js",
|
|
58
|
-
"components/picker
|
|
59
|
-
"components/picker-
|
|
60
|
-
"components/picker-legacy-column/picker-column.js",
|
|
58
|
+
"components/picker/picker.js",
|
|
59
|
+
"components/picker-column/picker-column.js",
|
|
61
60
|
"components/popover/popover.js",
|
|
62
61
|
"components/progress-bar/progress-bar.js",
|
|
63
62
|
"components/range/range.js",
|
|
@@ -288,8 +287,8 @@
|
|
|
288
287
|
{
|
|
289
288
|
"components": [
|
|
290
289
|
"ion-datetime",
|
|
291
|
-
"ion-picker
|
|
292
|
-
"ion-picker-
|
|
290
|
+
"ion-picker",
|
|
291
|
+
"ion-picker-column"
|
|
293
292
|
]
|
|
294
293
|
},
|
|
295
294
|
{
|
|
@@ -2,13 +2,25 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
|
+
import { GESTURE_CONTROLLER } from "../../utils/gesture/index";
|
|
5
6
|
import { getIonMode } from "../../global/ionic-global";
|
|
6
7
|
export class Backdrop {
|
|
7
8
|
constructor() {
|
|
9
|
+
this.blocker = GESTURE_CONTROLLER.createBlocker({
|
|
10
|
+
disableScroll: true,
|
|
11
|
+
});
|
|
8
12
|
this.visible = true;
|
|
9
13
|
this.tappable = true;
|
|
10
14
|
this.stopPropagation = true;
|
|
11
15
|
}
|
|
16
|
+
connectedCallback() {
|
|
17
|
+
if (this.stopPropagation) {
|
|
18
|
+
this.blocker.block();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
disconnectedCallback() {
|
|
22
|
+
this.blocker.unblock();
|
|
23
|
+
}
|
|
12
24
|
onMouseDown(ev) {
|
|
13
25
|
this.emitTap(ev);
|
|
14
26
|
}
|
|
@@ -163,12 +163,6 @@
|
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
.label-text-wrapper {
|
|
166
|
-
/**
|
|
167
|
-
* This ensures that double tapping this text
|
|
168
|
-
* clicks the <label> and focuses the checkbox
|
|
169
|
-
* when a screen reader is enabled.
|
|
170
|
-
*/
|
|
171
|
-
pointer-events: none;
|
|
172
166
|
text-overflow: ellipsis;
|
|
173
167
|
white-space: nowrap;
|
|
174
168
|
overflow: hidden;
|
|
@@ -13,6 +13,7 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
13
13
|
* @slot - The label text to associate with the checkbox. Use the "labelPlacement" property to control where the label is placed relative to the checkbox.
|
|
14
14
|
*
|
|
15
15
|
* @part container - The container for the checkbox mark.
|
|
16
|
+
* @part label - The label text describing the checkbox.
|
|
16
17
|
* @part mark - The checkmark used to indicate the checked state.
|
|
17
18
|
*/
|
|
18
19
|
export class Checkbox {
|
|
@@ -80,6 +81,8 @@ export class Checkbox {
|
|
|
80
81
|
emitStyle() {
|
|
81
82
|
const style = {
|
|
82
83
|
'interactive-disabled': this.disabled,
|
|
84
|
+
// TODO(FW-3100): remove this
|
|
85
|
+
legacy: !!this.legacy,
|
|
83
86
|
};
|
|
84
87
|
// TODO(FW-3100): remove this
|
|
85
88
|
if (this.legacyFormController.hasLegacyControl()) {
|
|
@@ -115,7 +118,7 @@ export class Checkbox {
|
|
|
115
118
|
}), onClick: this.onClick }, h("label", { class: "checkbox-wrapper" }, h("input", Object.assign({ type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { class: {
|
|
116
119
|
'label-text-wrapper': true,
|
|
117
120
|
'label-text-wrapper-hidden': el.textContent === '',
|
|
118
|
-
} }, h("slot", null)), h("div", { class: "native-wrapper" }, h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
|
|
121
|
+
}, part: "label" }, h("slot", null)), h("div", { class: "native-wrapper" }, h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
|
|
119
122
|
}
|
|
120
123
|
// TODO(FW-3100): remove this
|
|
121
124
|
renderLegacyCheckbox() {
|
|
@@ -163,12 +163,6 @@
|
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
.label-text-wrapper {
|
|
166
|
-
/**
|
|
167
|
-
* This ensures that double tapping this text
|
|
168
|
-
* clicks the <label> and focuses the checkbox
|
|
169
|
-
* when a screen reader is enabled.
|
|
170
|
-
*/
|
|
171
|
-
pointer-events: none;
|
|
172
166
|
text-overflow: ellipsis;
|
|
173
167
|
white-space: nowrap;
|
|
174
168
|
overflow: hidden;
|
|
@@ -3,6 +3,20 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { newSpecPage } from "@stencil/core/testing";
|
|
5
5
|
import { Checkbox } from "../checkbox";
|
|
6
|
+
describe('ion-checkbox: shadow parts', () => {
|
|
7
|
+
it('should render the checkbox with shadow parts', async () => {
|
|
8
|
+
const page = await newSpecPage({
|
|
9
|
+
components: [Checkbox],
|
|
10
|
+
html: `
|
|
11
|
+
<ion-checkbox>Checkbox</ion-checkbox>
|
|
12
|
+
`,
|
|
13
|
+
});
|
|
14
|
+
const checkbox = page.body.querySelector('ion-checkbox');
|
|
15
|
+
expect(checkbox).toHaveShadowPart('container');
|
|
16
|
+
expect(checkbox).toHaveShadowPart('label');
|
|
17
|
+
expect(checkbox).toHaveShadowPart('mark');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
6
20
|
describe('ion-checkbox: disabled', () => {
|
|
7
21
|
it('clicking disabled checkbox should not toggle checked state', async () => {
|
|
8
22
|
const page = await newSpecPage({
|
|
@@ -71,6 +71,19 @@
|
|
|
71
71
|
overflow: hidden;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
/**
|
|
75
|
+
* When using the wheel picker to switch
|
|
76
|
+
* between months, sometimes the allowed
|
|
77
|
+
* dates may be filtered. As a result, it
|
|
78
|
+
* is possible to get a layout shift as
|
|
79
|
+
* the picker column will shrink to fit the
|
|
80
|
+
* widest item in the column. Setting a minimum
|
|
81
|
+
* width avoids this layout shifting.
|
|
82
|
+
*/
|
|
83
|
+
ion-picker-column-internal {
|
|
84
|
+
min-width: 26px;
|
|
85
|
+
}
|
|
86
|
+
|
|
74
87
|
:host(.datetime-size-fixed) {
|
|
75
88
|
width: auto;
|
|
76
89
|
height: auto;
|
|
@@ -81,7 +94,7 @@
|
|
|
81
94
|
}
|
|
82
95
|
|
|
83
96
|
/**
|
|
84
|
-
* This ensures that the picker is
|
|
97
|
+
* This ensures that the picker is apppropriately
|
|
85
98
|
* sized and never truncates the text.
|
|
86
99
|
*/
|
|
87
100
|
:host(.datetime-size-fixed.datetime-prefer-wheel) {
|
|
@@ -304,8 +317,24 @@
|
|
|
304
317
|
justify-content: space-between;
|
|
305
318
|
}
|
|
306
319
|
|
|
320
|
+
:host .calendar-action-buttons ion-item,
|
|
307
321
|
:host .calendar-action-buttons ion-button {
|
|
308
|
-
--background:
|
|
322
|
+
--background: translucent;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
:host .calendar-action-buttons ion-item ion-label {
|
|
326
|
+
display: flex;
|
|
327
|
+
align-items: center;
|
|
328
|
+
width: auto;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
:host .calendar-action-buttons ion-item ion-icon {
|
|
332
|
+
-webkit-padding-start: 4px;
|
|
333
|
+
padding-inline-start: 4px;
|
|
334
|
+
-webkit-padding-end: 0;
|
|
335
|
+
padding-inline-end: 0;
|
|
336
|
+
padding-top: 0;
|
|
337
|
+
padding-bottom: 0;
|
|
309
338
|
}
|
|
310
339
|
|
|
311
340
|
:host .calendar-days-of-week {
|
|
@@ -487,66 +516,8 @@
|
|
|
487
516
|
position: static;
|
|
488
517
|
}
|
|
489
518
|
|
|
490
|
-
:host(.show-month-and-year) .calendar-action-buttons
|
|
491
|
-
color: var(--ion-color-base);
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
.calendar-month-year {
|
|
495
|
-
min-width: 0;
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
.calendar-month-year-toggle {
|
|
499
|
-
font-family: inherit;
|
|
500
|
-
font-size: inherit;
|
|
501
|
-
font-style: inherit;
|
|
502
|
-
font-weight: inherit;
|
|
503
|
-
letter-spacing: inherit;
|
|
504
|
-
text-decoration: inherit;
|
|
505
|
-
text-indent: inherit;
|
|
506
|
-
text-overflow: inherit;
|
|
507
|
-
text-transform: inherit;
|
|
508
|
-
text-align: inherit;
|
|
509
|
-
white-space: inherit;
|
|
510
|
-
color: inherit;
|
|
511
|
-
position: relative;
|
|
512
|
-
border: 0;
|
|
513
|
-
outline: none;
|
|
514
|
-
background: transparent;
|
|
515
|
-
cursor: pointer;
|
|
516
|
-
z-index: 1;
|
|
517
|
-
}
|
|
518
|
-
.calendar-month-year-toggle::after {
|
|
519
|
-
left: 0;
|
|
520
|
-
right: 0;
|
|
521
|
-
top: 0;
|
|
522
|
-
bottom: 0;
|
|
523
|
-
position: absolute;
|
|
524
|
-
content: "";
|
|
525
|
-
opacity: 0;
|
|
526
|
-
transition: opacity 15ms linear, background-color 15ms linear;
|
|
527
|
-
z-index: -1;
|
|
528
|
-
}
|
|
529
|
-
.calendar-month-year-toggle.ion-focused::after {
|
|
530
|
-
background: currentColor;
|
|
531
|
-
}
|
|
532
|
-
.calendar-month-year-toggle:disabled {
|
|
533
|
-
opacity: 0.3;
|
|
534
|
-
pointer-events: none;
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
.calendar-month-year-toggle ion-icon {
|
|
538
|
-
-webkit-padding-start: 4px;
|
|
539
|
-
padding-inline-start: 4px;
|
|
540
|
-
-webkit-padding-end: 0;
|
|
541
|
-
padding-inline-end: 0;
|
|
542
|
-
padding-top: 0;
|
|
543
|
-
padding-bottom: 0;
|
|
544
|
-
flex-shrink: 0;
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
.calendar-month-year-toggle #toggle-wrapper {
|
|
548
|
-
display: inline-flex;
|
|
549
|
-
align-items: center;
|
|
519
|
+
:host(.show-month-and-year) .calendar-action-buttons ion-item {
|
|
520
|
+
--color: var(--ion-color-base);
|
|
550
521
|
}
|
|
551
522
|
|
|
552
523
|
/**
|
|
@@ -635,31 +606,15 @@
|
|
|
635
606
|
margin-top: 10px;
|
|
636
607
|
}
|
|
637
608
|
|
|
638
|
-
.calendar-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
-
|
|
642
|
-
padding-inline-end: 16px;
|
|
643
|
-
padding-top: 0px;
|
|
644
|
-
padding-bottom: 0px;
|
|
645
|
-
min-height: 44px;
|
|
609
|
+
:host .calendar-action-buttons ion-item {
|
|
610
|
+
--padding-start: 16px;
|
|
611
|
+
--background-hover: transparent;
|
|
612
|
+
--background-activated: transparent;
|
|
646
613
|
font-size: min(1rem, 25.6px);
|
|
647
614
|
font-weight: 600;
|
|
648
615
|
}
|
|
649
|
-
.calendar-month-year-toggle.ion-focused::after {
|
|
650
|
-
opacity: 0.15;
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
.calendar-month-year-toggle #toggle-wrapper {
|
|
654
|
-
-webkit-margin-start: 0;
|
|
655
|
-
margin-inline-start: 0;
|
|
656
|
-
-webkit-margin-end: 8px;
|
|
657
|
-
margin-inline-end: 8px;
|
|
658
|
-
margin-top: 10px;
|
|
659
|
-
margin-bottom: 10px;
|
|
660
|
-
}
|
|
661
616
|
|
|
662
|
-
:host .calendar-action-buttons
|
|
617
|
+
:host .calendar-action-buttons ion-item ion-icon,
|
|
663
618
|
:host .calendar-action-buttons ion-buttons ion-button {
|
|
664
619
|
color: var(--ion-color-base);
|
|
665
620
|
}
|
|
@@ -977,7 +977,7 @@ export class Datetime {
|
|
|
977
977
|
const renderArray = forcePresentation === 'time-date'
|
|
978
978
|
? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
|
|
979
979
|
: [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
|
|
980
|
-
return h("ion-picker", null, renderArray);
|
|
980
|
+
return h("ion-picker-internal", null, renderArray);
|
|
981
981
|
}
|
|
982
982
|
renderDatePickerColumns(forcePresentation) {
|
|
983
983
|
return forcePresentation === 'date-time' || forcePresentation === 'time-date'
|
|
@@ -1036,7 +1036,7 @@ export class Datetime {
|
|
|
1036
1036
|
const todayString = workingParts.day !== null
|
|
1037
1037
|
? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
|
|
1038
1038
|
: `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
|
|
1039
|
-
return (h("ion-picker-column", { class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
|
|
1039
|
+
return (h("ion-picker-column-internal", { class: "date-column", color: this.color, disabled: disabled, items: items, value: todayString, onIonChange: (ev) => {
|
|
1040
1040
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1041
1041
|
// Due to a Safari 14 issue we need to destroy
|
|
1042
1042
|
// the scroll listener before we update state
|
|
@@ -1052,7 +1052,7 @@ export class Datetime {
|
|
|
1052
1052
|
// the working parts have been updated.
|
|
1053
1053
|
this.initializeCalendarListener();
|
|
1054
1054
|
ev.stopPropagation();
|
|
1055
|
-
} }
|
|
1055
|
+
} }));
|
|
1056
1056
|
}
|
|
1057
1057
|
renderIndividualDatePickerColumns(forcePresentation) {
|
|
1058
1058
|
const { workingParts, isDateEnabled } = this;
|
|
@@ -1120,8 +1120,7 @@ export class Datetime {
|
|
|
1120
1120
|
}
|
|
1121
1121
|
const { disabled, workingParts } = this;
|
|
1122
1122
|
const activePart = this.getActivePartsWithFallback();
|
|
1123
|
-
|
|
1124
|
-
return (h("ion-picker-column", { class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
|
|
1123
|
+
return (h("ion-picker-column-internal", { class: "day-column", color: this.color, disabled: disabled, items: days, value: (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined, onIonChange: (ev) => {
|
|
1125
1124
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1126
1125
|
// Due to a Safari 14 issue we need to destroy
|
|
1127
1126
|
// the scroll listener before we update state
|
|
@@ -1135,7 +1134,7 @@ export class Datetime {
|
|
|
1135
1134
|
// the working parts have been updated.
|
|
1136
1135
|
this.initializeCalendarListener();
|
|
1137
1136
|
ev.stopPropagation();
|
|
1138
|
-
} }
|
|
1137
|
+
} }));
|
|
1139
1138
|
}
|
|
1140
1139
|
renderMonthPickerColumn(months) {
|
|
1141
1140
|
if (months.length === 0) {
|
|
@@ -1143,7 +1142,7 @@ export class Datetime {
|
|
|
1143
1142
|
}
|
|
1144
1143
|
const { disabled, workingParts } = this;
|
|
1145
1144
|
const activePart = this.getActivePartsWithFallback();
|
|
1146
|
-
return (h("ion-picker-column", { class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
|
|
1145
|
+
return (h("ion-picker-column-internal", { class: "month-column", color: this.color, disabled: disabled, items: months, value: workingParts.month, onIonChange: (ev) => {
|
|
1147
1146
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1148
1147
|
// Due to a Safari 14 issue we need to destroy
|
|
1149
1148
|
// the scroll listener before we update state
|
|
@@ -1157,7 +1156,7 @@ export class Datetime {
|
|
|
1157
1156
|
// the working parts have been updated.
|
|
1158
1157
|
this.initializeCalendarListener();
|
|
1159
1158
|
ev.stopPropagation();
|
|
1160
|
-
} }
|
|
1159
|
+
} }));
|
|
1161
1160
|
}
|
|
1162
1161
|
renderYearPickerColumn(years) {
|
|
1163
1162
|
if (years.length === 0) {
|
|
@@ -1165,7 +1164,7 @@ export class Datetime {
|
|
|
1165
1164
|
}
|
|
1166
1165
|
const { disabled, workingParts } = this;
|
|
1167
1166
|
const activePart = this.getActivePartsWithFallback();
|
|
1168
|
-
return (h("ion-picker-column", { class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
|
|
1167
|
+
return (h("ion-picker-column-internal", { class: "year-column", color: this.color, disabled: disabled, items: years, value: workingParts.year, onIonChange: (ev) => {
|
|
1169
1168
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1170
1169
|
// Due to a Safari 14 issue we need to destroy
|
|
1171
1170
|
// the scroll listener before we update state
|
|
@@ -1179,7 +1178,7 @@ export class Datetime {
|
|
|
1179
1178
|
// the working parts have been updated.
|
|
1180
1179
|
this.initializeCalendarListener();
|
|
1181
1180
|
ev.stopPropagation();
|
|
1182
|
-
} }
|
|
1181
|
+
} }));
|
|
1183
1182
|
}
|
|
1184
1183
|
renderTimePickerColumns(forcePresentation) {
|
|
1185
1184
|
if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
|
|
@@ -1208,22 +1207,22 @@ export class Datetime {
|
|
|
1208
1207
|
if (hoursData.length === 0)
|
|
1209
1208
|
return [];
|
|
1210
1209
|
const activePart = this.getActivePartsWithFallback();
|
|
1211
|
-
return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1210
|
+
return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.hour, items: hoursData, numericInput: true, onIonChange: (ev) => {
|
|
1212
1211
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
1213
1212
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
|
|
1214
1213
|
ev.stopPropagation();
|
|
1215
|
-
} }
|
|
1214
|
+
} }));
|
|
1216
1215
|
}
|
|
1217
1216
|
renderMinutePickerColumn(minutesData) {
|
|
1218
1217
|
const { disabled, workingParts } = this;
|
|
1219
1218
|
if (minutesData.length === 0)
|
|
1220
1219
|
return [];
|
|
1221
1220
|
const activePart = this.getActivePartsWithFallback();
|
|
1222
|
-
return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1221
|
+
return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.minute, items: minutesData, numericInput: true, onIonChange: (ev) => {
|
|
1223
1222
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
1224
1223
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
|
|
1225
1224
|
ev.stopPropagation();
|
|
1226
|
-
} }
|
|
1225
|
+
} }));
|
|
1227
1226
|
}
|
|
1228
1227
|
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
1229
1228
|
const { disabled, workingParts } = this;
|
|
@@ -1232,12 +1231,12 @@ export class Datetime {
|
|
|
1232
1231
|
}
|
|
1233
1232
|
const activePart = this.getActivePartsWithFallback();
|
|
1234
1233
|
const isDayPeriodRTL = isLocaleDayPeriodRTL(this.locale);
|
|
1235
|
-
return (h("ion-picker-column", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
|
|
1234
|
+
return (h("ion-picker-column-internal", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, items: dayPeriodData, onIonChange: (ev) => {
|
|
1236
1235
|
const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
|
|
1237
1236
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
1238
1237
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
|
|
1239
1238
|
ev.stopPropagation();
|
|
1240
|
-
} }
|
|
1239
|
+
} }));
|
|
1241
1240
|
}
|
|
1242
1241
|
renderWheelView(forcePresentation) {
|
|
1243
1242
|
const { locale } = this;
|
|
@@ -1258,11 +1257,26 @@ export class Datetime {
|
|
|
1258
1257
|
const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
|
|
1259
1258
|
// don't use the inheritAttributes util because it removes dir from the host, and we still need that
|
|
1260
1259
|
const hostDir = this.el.getAttribute('dir') || undefined;
|
|
1261
|
-
return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1260
|
+
return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("ion-item", { part: "month-year-button", ref: (el) => (this.monthYearToggleItemRef = el), button: true, "aria-label": "Show year picker", detail: false, lines: "none", disabled: disabled, onClick: () => {
|
|
1261
|
+
var _a;
|
|
1262
|
+
this.toggleMonthAndYearView();
|
|
1263
|
+
/**
|
|
1264
|
+
* TODO: FW-3547
|
|
1265
|
+
*
|
|
1266
|
+
* Currently there is not a way to set the aria-label on the inner button
|
|
1267
|
+
* on the `ion-item` and have it be reactive to changes. This is a workaround
|
|
1268
|
+
* until we either refactor `ion-item` to a button or Stencil adds a way to
|
|
1269
|
+
* have reactive props for built-in properties, such as `aria-label`.
|
|
1270
|
+
*/
|
|
1271
|
+
const { monthYearToggleItemRef } = this;
|
|
1272
|
+
if (monthYearToggleItemRef) {
|
|
1273
|
+
const btn = (_a = monthYearToggleItemRef.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-native');
|
|
1274
|
+
if (btn) {
|
|
1275
|
+
const monthYearAriaLabel = this.showMonthAndYear ? 'Hide year picker' : 'Show year picker';
|
|
1276
|
+
btn.setAttribute('aria-label', monthYearAriaLabel);
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
} }, h("ion-label", null, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
|
|
1266
1280
|
return h("div", { class: "day-of-week" }, d);
|
|
1267
1281
|
}))));
|
|
1268
1282
|
}
|
|
@@ -1423,7 +1437,7 @@ export class Datetime {
|
|
|
1423
1437
|
* This will correctly scroll the element position to the correct time value,
|
|
1424
1438
|
* before the popover is fully presented.
|
|
1425
1439
|
*/
|
|
1426
|
-
const cols = ev.target.querySelectorAll('ion-picker-column');
|
|
1440
|
+
const cols = ev.target.querySelectorAll('ion-picker-column-internal');
|
|
1427
1441
|
// TODO (FW-615): Potentially remove this when intersection observers are fixed in picker column
|
|
1428
1442
|
cols.forEach((col) => col.scrollActiveItemIntoView());
|
|
1429
1443
|
}, style: {
|
|
@@ -2351,5 +2365,3 @@ export class Datetime {
|
|
|
2351
2365
|
}
|
|
2352
2366
|
}
|
|
2353
2367
|
let datetimeIds = 0;
|
|
2354
|
-
const WHEEL_ITEM_PART = 'wheel-item';
|
|
2355
|
-
const WHEEL_ITEM_ACTIVE_PART = `active`;
|