@ionic/core 7.6.7-dev.11706551842.118ce6e0 → 7.6.7-dev.11706564121.13426d8f
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/action-sheet.js +1 -1
- package/components/alert.js +2 -2
- package/components/backdrop.js +12 -0
- package/components/button.js +2 -2
- package/components/checkbox.js +2 -2
- package/components/data.js +1 -1
- package/components/gesture-controller.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-badge.js +2 -2
- package/components/ion-content.js +4 -3
- package/components/ion-datetime.js +64 -40
- package/components/ion-fab-button.js +2 -2
- package/components/ion-input.js +2 -2
- package/components/ion-item-option.js +2 -2
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu.js +15 -21
- package/components/ion-modal.js +1 -3
- package/components/ion-nav.js +3 -7
- 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-progress-bar.js +2 -2
- package/components/ion-range.js +2 -2
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-select.js +2 -2
- package/components/ion-split-pane.js +15 -26
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-textarea.js +2 -2
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +2 -2
- package/components/item.js +8 -2
- package/components/label.js +1 -1
- package/components/overlays.js +9 -12
- package/components/picker-column-internal.js +390 -0
- package/components/picker-column.js +322 -351
- package/components/{picker.js → picker-internal.js} +22 -29
- package/components/radio.js +2 -2
- package/components/select-popover.js +1 -1
- package/css/core.css +34 -101
- package/css/core.css.map +1 -1
- package/css/global.bundle.css +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/typography.css +1 -1
- package/dist/cjs/{button-active-d432e262.js → button-active-85665616.js} +1 -1
- package/dist/cjs/{data-e2bf21de.js → data-a5109f09.js} +1 -1
- package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-c40c045a.js} +0 -1
- package/dist/cjs/{index-ee07ed59.js → index-d1b59ffa.js} +1 -1
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
- package/dist/cjs/ion-alert.cjs.entry.js +6 -6
- package/dist/cjs/ion-app_8.cjs.entry.js +5 -4
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-backdrop.cjs.entry.js +12 -0
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +57 -37
- package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-item_8.cjs.entry.js +8 -3
- package/dist/cjs/ion-loading.cjs.entry.js +2 -3
- package/dist/cjs/ion-menu_3.cjs.entry.js +20 -25
- package/dist/cjs/ion-modal.cjs.entry.js +3 -5
- package/dist/cjs/ion-nav_2.cjs.entry.js +3 -6
- package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +87 -104
- package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +19 -26
- package/dist/cjs/ion-popover.cjs.entry.js +1 -2
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
- package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +4 -5
- package/dist/cjs/ion-split-pane.cjs.entry.js +14 -24
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +5 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{overlays-3afa911d.js → overlays-41579463.js} +8 -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/action-sheet/action-sheet.ios.css +3 -3
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +14 -23
- package/dist/collection/components/alert/alert.ios.css +6 -6
- package/dist/collection/components/alert/alert.md.css +6 -6
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +9 -22
- package/dist/collection/components/back-button/back-button.ios.css +1 -1
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +0 -21
- package/dist/collection/components/backdrop/backdrop.js +12 -0
- package/dist/collection/components/badge/badge.ios.css +1 -1
- package/dist/collection/components/badge/badge.md.css +1 -1
- package/dist/collection/components/badge/test/a11y/badge.e2e.js +0 -18
- package/dist/collection/components/button/button.ios.css +11 -11
- package/dist/collection/components/button/button.md.css +9 -9
- package/dist/collection/components/button/test/a11y/button.e2e.js +0 -48
- package/dist/collection/components/button/test/basic/button.e2e.js +1 -1
- package/dist/collection/components/button/test/wrap/button.e2e.js +24 -12
- package/dist/collection/components/checkbox/checkbox.ios.css +2 -2
- package/dist/collection/components/checkbox/checkbox.md.css +2 -2
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +2 -11
- package/dist/collection/components/content/content.css +4 -0
- package/dist/collection/components/content/content.js +3 -2
- package/dist/collection/components/datetime/datetime.ios.css +40 -93
- package/dist/collection/components/datetime/datetime.js +36 -24
- package/dist/collection/components/datetime/datetime.md.css +38 -96
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +4 -4
- package/dist/collection/components/datetime/test/a11y/datetime.spec.js +9 -6
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +12 -22
- package/dist/collection/components/datetime/test/datetime.e2e.js +3 -3
- package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +4 -4
- package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
- package/dist/collection/components/datetime/test/display/datetime.e2e.js +9 -9
- package/dist/collection/components/datetime/test/locale/datetime.e2e.js +5 -5
- package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +17 -17
- package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/position/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +73 -75
- package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +4 -4
- package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +8 -8
- package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +4 -4
- package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/values/datetime.e2e.js +16 -19
- package/dist/collection/components/datetime/utils/data.js +1 -1
- package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +14 -14
- package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +2 -2
- package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +6 -6
- package/dist/collection/components/fab-button/fab-button.ios.css +13 -13
- package/dist/collection/components/fab-button/fab-button.md.css +4 -4
- package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +0 -50
- package/dist/collection/components/header/test/condense/header.e2e.js +2 -2
- package/dist/collection/components/input/input.ios.css +3 -3
- package/dist/collection/components/input/input.md.css +3 -3
- package/dist/collection/components/input/test/a11y/input.e2e.js +3 -41
- package/dist/collection/components/item/item.ios.css +5 -42
- package/dist/collection/components/item/item.js +7 -0
- package/dist/collection/components/item/item.md.css +6 -43
- package/dist/collection/components/item/test/item.spec.js +20 -0
- package/dist/collection/components/item-option/item-option.ios.css +2 -2
- package/dist/collection/components/item-option/item-option.md.css +1 -1
- package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +0 -28
- package/dist/collection/components/label/label.md.css +1 -1
- package/dist/collection/components/label/test/a11y/label.e2e.js +0 -20
- package/dist/collection/components/loading/loading.md.css +1 -1
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +5 -21
- package/dist/collection/components/menu/menu.ios.css +3 -64
- package/dist/collection/components/menu/menu.js +13 -19
- package/dist/collection/components/menu/menu.md.css +3 -64
- package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +0 -14
- package/dist/collection/components/modal/modal.js +1 -3
- package/dist/collection/components/modal/test/standalone/modal.e2e.js +1 -1
- package/dist/collection/components/nav/nav.js +2 -22
- package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
- package/dist/collection/components/note/test/a11y/note.e2e.js +6 -6
- package/dist/collection/components/picker/picker.ios.css +211 -112
- package/dist/collection/components/picker/picker.js +738 -488
- package/dist/collection/components/picker/picker.md.css +198 -108
- 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.js +335 -499
- package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.md.css +1 -1
- 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 +566 -0
- package/dist/collection/components/{picker-column/picker-column.css → picker-column-internal/picker-column-internal.md.css} +83 -96
- 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 +560 -0
- package/dist/collection/components/{picker-legacy/picker.ios.css → picker-internal/picker-internal.md.css} +98 -207
- 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} +42 -79
- package/dist/collection/components/progress-bar/progress-bar.ios.css +2 -2
- package/dist/collection/components/progress-bar/progress-bar.md.css +2 -2
- package/dist/collection/components/radio/radio.ios.css +2 -2
- package/dist/collection/components/radio/radio.md.css +2 -2
- package/dist/collection/components/radio/test/a11y/radio.e2e.js +81 -114
- package/dist/collection/components/range/range.ios.css +1 -1
- package/dist/collection/components/range/range.md.css +3 -3
- package/dist/collection/components/range/test/a11y/range.e2e.js +8 -18
- package/dist/collection/components/refresher/refresher.md.css +2 -2
- package/dist/collection/components/refresher/test/test.utils.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +2 -2
- package/dist/collection/components/router-link/router-link.css +1 -1
- package/dist/collection/components/searchbar/searchbar.ios.css +1 -1
- package/dist/collection/components/segment/test/a11y/segment.e2e.js +0 -23
- package/dist/collection/components/segment-button/segment-button.md.css +2 -2
- package/dist/collection/components/select/select.ios.css +3 -3
- package/dist/collection/components/select/select.md.css +3 -3
- package/dist/collection/components/select/test/a11y/select.e2e.js +4 -68
- package/dist/collection/components/select-popover/select-popover.md.css +4 -4
- package/dist/collection/components/split-pane/split-pane.ios.css +54 -2
- package/dist/collection/components/split-pane/split-pane.js +12 -46
- package/dist/collection/components/split-pane/split-pane.md.css +54 -2
- package/dist/collection/components/tab-bar/tab-bar.ios.css +1 -1
- package/dist/collection/components/tab-bar/tab-bar.md.css +1 -1
- package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +3 -41
- package/dist/collection/components/textarea/textarea.ios.css +3 -3
- package/dist/collection/components/textarea/textarea.md.css +3 -3
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +24 -56
- package/dist/collection/components/toast/toast.ios.css +1 -1
- package/dist/collection/components/toast/toast.md.css +2 -2
- package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +2 -8
- package/dist/collection/components/toggle/toggle.ios.css +2 -2
- package/dist/collection/components/toggle/toggle.md.css +2 -2
- package/dist/collection/css/test/a11y/typography.e2e.js +0 -18
- package/dist/collection/utils/gesture/gesture-controller.js +1 -1
- package/dist/collection/utils/overlays.js +8 -11
- package/dist/collection/utils/test/playwright/generator.js +0 -1
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- package/dist/docs.json +41 -500
- package/dist/esm/{button-active-3bcbd115.js → button-active-b62776db.js} +1 -1
- package/dist/esm/{data-6a31d701.js → data-775093f5.js} +1 -1
- package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
- package/dist/esm/{index-39782642.js → index-2cf77112.js} +2 -2
- package/dist/esm/index.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +5 -5
- package/dist/esm/ion-alert.entry.js +6 -6
- package/dist/esm/ion-app_8.entry.js +5 -4
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-backdrop.entry.js +12 -0
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +56 -36
- package/dist/esm/ion-fab_3.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +2 -2
- package/dist/esm/ion-item-option_3.entry.js +3 -3
- package/dist/esm/ion-item_8.entry.js +8 -3
- package/dist/esm/ion-loading.entry.js +2 -3
- package/dist/esm/ion-menu_3.entry.js +20 -25
- package/dist/esm/ion-modal.entry.js +3 -5
- package/dist/esm/ion-nav_2.entry.js +3 -6
- package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +87 -104
- package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +19 -26
- package/dist/esm/ion-popover.entry.js +1 -2
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +2 -2
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +5 -5
- package/dist/esm/ion-reorder_2.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +1 -1
- package/dist/esm/ion-searchbar.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +4 -5
- package/dist/esm/ion-split-pane.entry.js +14 -24
- package/dist/esm/ion-tab-bar_2.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +5 -5
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{overlays-8b24f0d5.js → overlays-f27ccf93.js} +9 -12
- package/dist/esm/{swipe-back-a8ca7f93.js → swipe-back-a6f386fc.js} +2 -2
- package/dist/esm-es5/{button-active-3bcbd115.js → button-active-b62776db.js} +1 -1
- package/dist/esm-es5/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
- package/dist/esm-es5/{index-39782642.js → index-2cf77112.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- 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-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.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-fab_3.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-progress-bar.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-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.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-split-pane.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/loader.js +1 -1
- package/dist/esm-es5/overlays-f27ccf93.js +4 -0
- package/dist/esm-es5/swipe-back-a6f386fc.js +4 -0
- package/dist/html.html-data.json +1 -152
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-9cd05453.entry.js → p-0d2b6901.entry.js} +1 -1
- package/dist/ionic/p-0fb73844.system.entry.js +4 -0
- package/dist/ionic/{p-ae8747aa.entry.js → p-1052ef2b.entry.js} +1 -1
- package/dist/ionic/{p-7a1ef06a.system.entry.js → p-10c34f0a.system.entry.js} +1 -1
- package/dist/ionic/{p-fc58a772.system.entry.js → p-1a0bf247.system.entry.js} +1 -1
- package/dist/ionic/p-1a5f0313.system.js +1 -1
- package/dist/ionic/{p-8aaade76.entry.js → p-1f7fc88d.entry.js} +1 -1
- package/dist/ionic/p-217f6812.entry.js +4 -0
- package/dist/ionic/{p-0055506a.entry.js → p-249633a4.entry.js} +1 -1
- package/dist/ionic/{p-3e1e14d9.system.js → p-31b2326e.system.js} +1 -1
- package/dist/ionic/p-357969b4.system.entry.js +4 -0
- package/dist/ionic/p-35ce400e.system.js +4 -0
- package/dist/ionic/{p-943caced.system.entry.js → p-35e1a80f.system.entry.js} +1 -1
- package/dist/ionic/{p-3f3ae637.system.entry.js → p-3b83e483.system.entry.js} +2 -2
- package/dist/ionic/p-3d4c2a93.entry.js +4 -0
- package/dist/ionic/p-3de38800.system.entry.js +4 -0
- package/dist/ionic/{p-14311a1d.system.entry.js → p-41040a92.system.entry.js} +1 -1
- package/dist/ionic/{p-eeb87a49.entry.js → p-41aa2662.entry.js} +1 -1
- package/dist/ionic/{p-a72be676.entry.js → p-436bd99a.entry.js} +1 -1
- package/dist/ionic/{p-cb304e5f.system.entry.js → p-4b639e59.system.entry.js} +1 -1
- package/dist/ionic/{p-bad61026.system.entry.js → p-525b6ac4.system.entry.js} +1 -1
- package/dist/ionic/p-531ef1b9.system.entry.js +4 -0
- package/dist/ionic/{p-42d5f6ae.entry.js → p-54c92c77.entry.js} +1 -1
- package/dist/ionic/{p-870453fd.entry.js → p-5628d04e.entry.js} +1 -1
- package/dist/ionic/p-5aecd304.system.entry.js +4 -0
- package/dist/ionic/{p-cb0cfc39.system.entry.js → p-5c2da581.system.entry.js} +1 -1
- package/dist/ionic/p-61bf9f6f.system.entry.js +4 -0
- package/dist/ionic/{p-c7bdd72f.entry.js → p-688a36c7.entry.js} +1 -1
- package/dist/ionic/p-6899d5af.entry.js +4 -0
- package/dist/ionic/p-6a6477b2.js +4 -0
- package/dist/ionic/p-6acc4fa4.system.entry.js +4 -0
- package/dist/ionic/{p-9a9deb33.system.entry.js → p-6b9eee40.system.entry.js} +1 -1
- package/dist/ionic/p-6cf4d5ae.js +4 -0
- package/dist/ionic/p-6e165986.system.entry.js +4 -0
- package/dist/ionic/p-6f7d79aa.entry.js +4 -0
- package/dist/ionic/p-719ad110.system.entry.js +4 -0
- package/dist/ionic/p-73547cf9.entry.js +4 -0
- package/dist/ionic/{p-7acc89e0.entry.js → p-73b8935e.entry.js} +1 -1
- package/dist/ionic/{p-d545e325.entry.js → p-7510e462.entry.js} +1 -1
- package/dist/ionic/{p-9928b546.entry.js → p-7bae84aa.entry.js} +1 -1
- package/dist/ionic/{p-28525772.entry.js → p-8084e9cb.entry.js} +1 -1
- package/dist/ionic/p-80ddd0c1.entry.js +4 -0
- package/dist/ionic/p-817121f2.entry.js +4 -0
- package/dist/ionic/p-87e10168.system.entry.js +4 -0
- package/dist/ionic/p-89c28901.system.entry.js +4 -0
- package/dist/ionic/p-91703a40.system.entry.js +4 -0
- package/dist/ionic/p-91de41db.entry.js +4 -0
- package/dist/ionic/{p-2fda36b6.system.entry.js → p-928e945d.system.entry.js} +1 -1
- package/dist/ionic/p-9cf50392.system.entry.js +4 -0
- package/dist/ionic/p-a2d75455.entry.js +4 -0
- package/dist/ionic/p-a706cf11.system.entry.js +4 -0
- package/dist/ionic/p-aca77953.entry.js +4 -0
- package/dist/ionic/{p-df75bd2c.system.js → p-afeae67e.system.js} +1 -1
- package/dist/ionic/{p-7a2c6bb5.entry.js → p-b09c8228.entry.js} +1 -1
- package/dist/ionic/p-b3e0920e.system.js +4 -0
- package/dist/ionic/{p-34f05cec.entry.js → p-b43cf55f.entry.js} +1 -1
- package/dist/ionic/{p-efa1c7f0.entry.js → p-b6f6f00e.entry.js} +1 -1
- package/dist/ionic/p-b73e8975.entry.js +4 -0
- package/dist/ionic/p-ba4890eb.system.entry.js +4 -0
- package/dist/ionic/{p-9b97df10.js → p-bb3615f7.js} +1 -1
- package/dist/ionic/{p-1d1ce54e.entry.js → p-bd54680b.entry.js} +1 -1
- package/dist/ionic/p-beeceaf5.system.entry.js +4 -0
- package/dist/ionic/{p-0a0a84ce.system.entry.js → p-c1c57873.system.entry.js} +1 -1
- package/dist/ionic/p-c4177035.entry.js +4 -0
- package/dist/ionic/p-c48a9ef3.system.entry.js +4 -0
- package/dist/ionic/{p-20d469d0.system.js → p-c7c8429a.system.js} +1 -1
- package/dist/ionic/p-cb301b9a.entry.js +4 -0
- package/dist/ionic/{p-8a1d33e3.system.entry.js → p-cdce5ba3.system.entry.js} +1 -1
- package/dist/ionic/{p-114ea79c.system.js → p-d2707f9d.system.js} +1 -1
- package/dist/ionic/{p-41dcd6c0.system.entry.js → p-d6beb1c9.system.entry.js} +1 -1
- package/dist/ionic/{p-9cbfb298.system.entry.js → p-db798370.system.entry.js} +1 -1
- package/dist/ionic/{p-ee1214e0.system.entry.js → p-dc1d883c.system.entry.js} +1 -1
- package/dist/ionic/{p-c9028fdc.entry.js → p-df62accd.entry.js} +1 -1
- package/dist/ionic/{p-67b167bc.entry.js → p-e814f9c0.entry.js} +1 -1
- package/dist/ionic/{p-a068b1c7.system.entry.js → p-e878fba0.system.entry.js} +2 -2
- package/dist/ionic/{p-75017f39.system.entry.js → p-eb210b21.system.entry.js} +1 -1
- package/dist/ionic/p-eb80ca40.entry.js +4 -0
- package/dist/ionic/{p-f2ed3039.system.entry.js → p-edc69ab8.system.entry.js} +1 -1
- package/dist/ionic/{p-598bd8e2.entry.js → p-f4d77b5f.entry.js} +1 -1
- package/dist/ionic/{p-8ededb41.js → p-f5d2dc9b.js} +1 -1
- package/dist/ionic/{p-adba40e6.entry.js → p-f865bc9a.entry.js} +1 -1
- package/dist/ionic/p-fd1a0431.js +4 -0
- package/dist/types/components/backdrop/backdrop.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +1 -0
- package/dist/types/components/datetime/utils/data.d.ts +7 -11
- package/dist/types/components/item/item.d.ts +1 -0
- package/dist/types/components/menu/menu.d.ts +2 -12
- package/dist/types/components/nav/nav.d.ts +1 -4
- package/dist/types/components/picker/picker.d.ts +129 -75
- package/dist/types/components/picker-column/picker-column.d.ts +39 -99
- package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +5 -0
- 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/split-pane/split-pane.d.ts +2 -14
- package/dist/types/components.d.ts +122 -159
- package/dist/types/interface.d.ts +1 -1
- package/dist/types/utils/config.d.ts +2 -2
- package/dist/types/utils/gesture/gesture-controller.d.ts +0 -1
- package/dist/types/utils/overlays.d.ts +2 -5
- package/hydrate/index.js +1332 -1442
- package/package.json +2 -2
- 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/css/themes/dark.always.css +0 -122
- package/css/themes/dark.always.css.map +0 -1
- package/css/themes/dark.class.css +0 -122
- package/css/themes/dark.class.css.map +0 -1
- package/css/themes/dark.css +0 -3
- package/css/themes/dark.css.map +0 -1
- package/css/themes/dark.system.css +0 -124
- package/css/themes/dark.system.css.map +0 -1
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +0 -104
- package/dist/collection/components/picker/test/custom/picker.e2e.js +0 -85
- package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +0 -91
- 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-column-option/test/picker-column-option.spec.js +0 -29
- package/dist/collection/components/picker-legacy/picker.js +0 -811
- 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/components/progress-bar/test/a11y/progress-bar.e2e.js +0 -24
- package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +0 -25
- package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +0 -23
- package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +0 -32
- package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +0 -41
- package/dist/collection/themes/test/colors/theme.e2e.js +0 -114
- package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +0 -65
- package/dist/esm/ion-picker-column-option.entry.js +0 -100
- 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/overlays-8b24f0d5.js +0 -4
- package/dist/esm-es5/swipe-back-a8ca7f93.js +0 -4
- package/dist/ionic/p-0708a9c1.system.js +0 -4
- package/dist/ionic/p-09890dd9.entry.js +0 -4
- package/dist/ionic/p-0d3c5eaa.system.entry.js +0 -4
- package/dist/ionic/p-10607f89.entry.js +0 -4
- package/dist/ionic/p-26976bfc.system.entry.js +0 -4
- package/dist/ionic/p-2c02fb1c.system.entry.js +0 -4
- package/dist/ionic/p-3065cecc.entry.js +0 -4
- package/dist/ionic/p-381ca6f8.system.entry.js +0 -4
- package/dist/ionic/p-4a13a07c.system.entry.js +0 -4
- package/dist/ionic/p-4b94c354.entry.js +0 -4
- package/dist/ionic/p-51abefb7.system.js +0 -4
- package/dist/ionic/p-5d22095a.entry.js +0 -4
- package/dist/ionic/p-67c1996d.entry.js +0 -4
- package/dist/ionic/p-6d42a37b.entry.js +0 -4
- package/dist/ionic/p-6db68be9.system.entry.js +0 -4
- package/dist/ionic/p-71f30cfc.system.entry.js +0 -4
- package/dist/ionic/p-7a343dca.system.entry.js +0 -4
- package/dist/ionic/p-7a3e1f37.system.entry.js +0 -4
- package/dist/ionic/p-7ae141f1.entry.js +0 -4
- package/dist/ionic/p-7e8ef0bb.system.entry.js +0 -4
- package/dist/ionic/p-94265b3d.entry.js +0 -4
- package/dist/ionic/p-95d8071f.entry.js +0 -4
- package/dist/ionic/p-9c9eb63f.system.entry.js +0 -4
- package/dist/ionic/p-a01d6784.system.entry.js +0 -4
- package/dist/ionic/p-a11e45fe.system.entry.js +0 -4
- package/dist/ionic/p-a259fa5f.system.entry.js +0 -4
- package/dist/ionic/p-a60a1ce5.js +0 -4
- package/dist/ionic/p-acbb36a1.entry.js +0 -4
- package/dist/ionic/p-c33d312f.js +0 -4
- package/dist/ionic/p-c9b8f9e5.system.entry.js +0 -4
- package/dist/ionic/p-d6674fed.entry.js +0 -4
- package/dist/ionic/p-dfd21411.system.entry.js +0 -4
- package/dist/ionic/p-e22bf111.js +0 -4
- package/dist/ionic/p-e652d9e4.entry.js +0 -4
- package/dist/ionic/p-ea4b254e.entry.js +0 -4
- package/dist/ionic/p-ea9a8424.system.entry.js +0 -4
- package/dist/ionic/p-eaa4e76f.system.entry.js +0 -4
- package/dist/ionic/p-fdc3ff96.entry.js +0 -4
- package/dist/types/components/picker/picker-interfaces.d.ts +0 -8
- package/dist/types/components/picker-column/picker-column-interfaces.d.ts +0 -4
- 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}/picker-column.ios.css +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-6a31d701.js → data-775093f5.js} +0 -0
- /package/dist/ionic/{p-a64accf5.js → p-18cae04f.js} +0 -0
- /package/dist/ionic/{p-7ff4359e.system.js → p-87bb3735.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
|
@@ -61,8 +61,6 @@
|
|
|
61
61
|
*
|
|
62
62
|
* @prop --wheel-highlight-background: The background of the highlight under the selected
|
|
63
63
|
* item when using a wheel style layout, or in the month/year picker for grid style layouts.
|
|
64
|
-
* @prop --wheel-highlight-border-radius: The border radius of the highlight under the selected
|
|
65
|
-
* item when using a wheel style layout, or in the month/year picker for grid style layouts.
|
|
66
64
|
* @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
|
|
67
65
|
* when using a wheel style layout, or in the month/year picker for grid style layouts. Must
|
|
68
66
|
* be in RGB format, e.g. `255, 255, 255`.
|
|
@@ -73,6 +71,19 @@
|
|
|
73
71
|
overflow: hidden;
|
|
74
72
|
}
|
|
75
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
|
+
|
|
76
87
|
:host(.datetime-size-fixed) {
|
|
77
88
|
width: auto;
|
|
78
89
|
height: auto;
|
|
@@ -83,7 +94,7 @@
|
|
|
83
94
|
}
|
|
84
95
|
|
|
85
96
|
/**
|
|
86
|
-
* This ensures that the picker is
|
|
97
|
+
* This ensures that the picker is apppropriately
|
|
87
98
|
* sized and never truncates the text.
|
|
88
99
|
*/
|
|
89
100
|
:host(.datetime-size-fixed.datetime-prefer-wheel) {
|
|
@@ -306,8 +317,24 @@
|
|
|
306
317
|
justify-content: space-between;
|
|
307
318
|
}
|
|
308
319
|
|
|
320
|
+
:host .calendar-action-buttons ion-item,
|
|
309
321
|
:host .calendar-action-buttons ion-button {
|
|
310
|
-
--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;
|
|
311
338
|
}
|
|
312
339
|
|
|
313
340
|
:host .calendar-days-of-week {
|
|
@@ -489,72 +516,8 @@
|
|
|
489
516
|
position: static;
|
|
490
517
|
}
|
|
491
518
|
|
|
492
|
-
:host(.show-month-and-year) .calendar-action-buttons
|
|
493
|
-
color: var(--ion-color-base);
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
.calendar-month-year {
|
|
497
|
-
min-width: 0;
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
.calendar-month-year-toggle {
|
|
501
|
-
font-family: inherit;
|
|
502
|
-
font-size: inherit;
|
|
503
|
-
font-style: inherit;
|
|
504
|
-
font-weight: inherit;
|
|
505
|
-
letter-spacing: inherit;
|
|
506
|
-
text-decoration: inherit;
|
|
507
|
-
text-indent: inherit;
|
|
508
|
-
text-overflow: inherit;
|
|
509
|
-
text-transform: inherit;
|
|
510
|
-
text-align: inherit;
|
|
511
|
-
white-space: inherit;
|
|
512
|
-
color: inherit;
|
|
513
|
-
position: relative;
|
|
514
|
-
border: 0;
|
|
515
|
-
outline: none;
|
|
516
|
-
background: transparent;
|
|
517
|
-
cursor: pointer;
|
|
518
|
-
z-index: 1;
|
|
519
|
-
}
|
|
520
|
-
.calendar-month-year-toggle::after {
|
|
521
|
-
left: 0;
|
|
522
|
-
right: 0;
|
|
523
|
-
top: 0;
|
|
524
|
-
bottom: 0;
|
|
525
|
-
position: absolute;
|
|
526
|
-
content: "";
|
|
527
|
-
opacity: 0;
|
|
528
|
-
transition: opacity 15ms linear, background-color 15ms linear;
|
|
529
|
-
z-index: -1;
|
|
530
|
-
}
|
|
531
|
-
.calendar-month-year-toggle.ion-focused::after {
|
|
532
|
-
background: currentColor;
|
|
533
|
-
}
|
|
534
|
-
.calendar-month-year-toggle:disabled {
|
|
535
|
-
opacity: 0.3;
|
|
536
|
-
pointer-events: none;
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
.calendar-month-year-toggle ion-icon {
|
|
540
|
-
-webkit-padding-start: 4px;
|
|
541
|
-
padding-inline-start: 4px;
|
|
542
|
-
-webkit-padding-end: 0;
|
|
543
|
-
padding-inline-end: 0;
|
|
544
|
-
padding-top: 0;
|
|
545
|
-
padding-bottom: 0;
|
|
546
|
-
flex-shrink: 0;
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
.calendar-month-year-toggle #toggle-wrapper {
|
|
550
|
-
display: inline-flex;
|
|
551
|
-
align-items: center;
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
ion-picker {
|
|
555
|
-
--highlight-background: var(--wheel-highlight-background);
|
|
556
|
-
--highlight-border-radius: var(--wheel-highlight-border-radius);
|
|
557
|
-
--fade-background-rgb: var(--wheel-fade-background-rgb);
|
|
519
|
+
:host(.show-month-and-year) .calendar-action-buttons ion-item {
|
|
520
|
+
--color: var(--ion-color-base);
|
|
558
521
|
}
|
|
559
522
|
|
|
560
523
|
/**
|
|
@@ -613,8 +576,8 @@ ion-picker {
|
|
|
613
576
|
* }
|
|
614
577
|
*/
|
|
615
578
|
:host {
|
|
616
|
-
--background: var(--ion-color-light, #
|
|
617
|
-
--background-rgb: var(--ion-color-light-rgb
|
|
579
|
+
--background: var(--ion-color-light, #ffffff);
|
|
580
|
+
--background-rgb: var(--ion-color-light-rgb);
|
|
618
581
|
--title-color: var(--ion-color-step-600, #666666);
|
|
619
582
|
}
|
|
620
583
|
|
|
@@ -643,31 +606,15 @@ ion-picker {
|
|
|
643
606
|
margin-top: 10px;
|
|
644
607
|
}
|
|
645
608
|
|
|
646
|
-
.calendar-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
-
|
|
650
|
-
padding-inline-end: 16px;
|
|
651
|
-
padding-top: 0px;
|
|
652
|
-
padding-bottom: 0px;
|
|
653
|
-
min-height: 44px;
|
|
609
|
+
:host .calendar-action-buttons ion-item {
|
|
610
|
+
--padding-start: 16px;
|
|
611
|
+
--background-hover: transparent;
|
|
612
|
+
--background-activated: transparent;
|
|
654
613
|
font-size: min(1rem, 25.6px);
|
|
655
614
|
font-weight: 600;
|
|
656
615
|
}
|
|
657
|
-
.calendar-month-year-toggle.ion-focused::after {
|
|
658
|
-
opacity: 0.15;
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
.calendar-month-year-toggle #toggle-wrapper {
|
|
662
|
-
-webkit-margin-start: 0;
|
|
663
|
-
margin-inline-start: 0;
|
|
664
|
-
-webkit-margin-end: 8px;
|
|
665
|
-
margin-inline-end: 8px;
|
|
666
|
-
margin-top: 10px;
|
|
667
|
-
margin-bottom: 10px;
|
|
668
|
-
}
|
|
669
616
|
|
|
670
|
-
:host .calendar-action-buttons
|
|
617
|
+
:host .calendar-action-buttons ion-item ion-icon,
|
|
671
618
|
:host .calendar-action-buttons ion-buttons ion-button {
|
|
672
619
|
color: var(--ion-color-base);
|
|
673
620
|
}
|
|
@@ -1015,7 +1015,7 @@ export class Datetime {
|
|
|
1015
1015
|
const renderArray = forcePresentation === 'time-date'
|
|
1016
1016
|
? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
|
|
1017
1017
|
: [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
|
|
1018
|
-
return h("ion-picker", null, renderArray);
|
|
1018
|
+
return h("ion-picker-internal", null, renderArray);
|
|
1019
1019
|
}
|
|
1020
1020
|
renderDatePickerColumns(forcePresentation) {
|
|
1021
1021
|
return forcePresentation === 'date-time' || forcePresentation === 'time-date'
|
|
@@ -1074,7 +1074,7 @@ export class Datetime {
|
|
|
1074
1074
|
const todayString = workingParts.day !== null
|
|
1075
1075
|
? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
|
|
1076
1076
|
: `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
|
|
1077
|
-
return (h("ion-picker-column", { class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
|
|
1077
|
+
return (h("ion-picker-column-internal", { class: "date-column", color: this.color, disabled: disabled, items: items, value: todayString, onIonChange: (ev) => {
|
|
1078
1078
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1079
1079
|
// Due to a Safari 14 issue we need to destroy
|
|
1080
1080
|
// the scroll listener before we update state
|
|
@@ -1090,7 +1090,7 @@ export class Datetime {
|
|
|
1090
1090
|
// the working parts have been updated.
|
|
1091
1091
|
this.initializeCalendarListener();
|
|
1092
1092
|
ev.stopPropagation();
|
|
1093
|
-
} }
|
|
1093
|
+
} }));
|
|
1094
1094
|
}
|
|
1095
1095
|
renderIndividualDatePickerColumns(forcePresentation) {
|
|
1096
1096
|
const { workingParts, isDateEnabled } = this;
|
|
@@ -1158,8 +1158,7 @@ export class Datetime {
|
|
|
1158
1158
|
}
|
|
1159
1159
|
const { disabled, workingParts } = this;
|
|
1160
1160
|
const activePart = this.getActivePartsWithFallback();
|
|
1161
|
-
|
|
1162
|
-
return (h("ion-picker-column", { class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
|
|
1161
|
+
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) => {
|
|
1163
1162
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1164
1163
|
// Due to a Safari 14 issue we need to destroy
|
|
1165
1164
|
// the scroll listener before we update state
|
|
@@ -1173,7 +1172,7 @@ export class Datetime {
|
|
|
1173
1172
|
// the working parts have been updated.
|
|
1174
1173
|
this.initializeCalendarListener();
|
|
1175
1174
|
ev.stopPropagation();
|
|
1176
|
-
} }
|
|
1175
|
+
} }));
|
|
1177
1176
|
}
|
|
1178
1177
|
renderMonthPickerColumn(months) {
|
|
1179
1178
|
if (months.length === 0) {
|
|
@@ -1181,7 +1180,7 @@ export class Datetime {
|
|
|
1181
1180
|
}
|
|
1182
1181
|
const { disabled, workingParts } = this;
|
|
1183
1182
|
const activePart = this.getActivePartsWithFallback();
|
|
1184
|
-
return (h("ion-picker-column", { class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
|
|
1183
|
+
return (h("ion-picker-column-internal", { class: "month-column", color: this.color, disabled: disabled, items: months, value: workingParts.month, onIonChange: (ev) => {
|
|
1185
1184
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1186
1185
|
// Due to a Safari 14 issue we need to destroy
|
|
1187
1186
|
// the scroll listener before we update state
|
|
@@ -1195,7 +1194,7 @@ export class Datetime {
|
|
|
1195
1194
|
// the working parts have been updated.
|
|
1196
1195
|
this.initializeCalendarListener();
|
|
1197
1196
|
ev.stopPropagation();
|
|
1198
|
-
} }
|
|
1197
|
+
} }));
|
|
1199
1198
|
}
|
|
1200
1199
|
renderYearPickerColumn(years) {
|
|
1201
1200
|
if (years.length === 0) {
|
|
@@ -1203,7 +1202,7 @@ export class Datetime {
|
|
|
1203
1202
|
}
|
|
1204
1203
|
const { disabled, workingParts } = this;
|
|
1205
1204
|
const activePart = this.getActivePartsWithFallback();
|
|
1206
|
-
return (h("ion-picker-column", { class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
|
|
1205
|
+
return (h("ion-picker-column-internal", { class: "year-column", color: this.color, disabled: disabled, items: years, value: workingParts.year, onIonChange: (ev) => {
|
|
1207
1206
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1208
1207
|
// Due to a Safari 14 issue we need to destroy
|
|
1209
1208
|
// the scroll listener before we update state
|
|
@@ -1217,7 +1216,7 @@ export class Datetime {
|
|
|
1217
1216
|
// the working parts have been updated.
|
|
1218
1217
|
this.initializeCalendarListener();
|
|
1219
1218
|
ev.stopPropagation();
|
|
1220
|
-
} }
|
|
1219
|
+
} }));
|
|
1221
1220
|
}
|
|
1222
1221
|
renderTimePickerColumns(forcePresentation) {
|
|
1223
1222
|
if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
|
|
@@ -1246,22 +1245,22 @@ export class Datetime {
|
|
|
1246
1245
|
if (hoursData.length === 0)
|
|
1247
1246
|
return [];
|
|
1248
1247
|
const activePart = this.getActivePartsWithFallback();
|
|
1249
|
-
return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1248
|
+
return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.hour, items: hoursData, numericInput: true, onIonChange: (ev) => {
|
|
1250
1249
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
1251
1250
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
|
|
1252
1251
|
ev.stopPropagation();
|
|
1253
|
-
} }
|
|
1252
|
+
} }));
|
|
1254
1253
|
}
|
|
1255
1254
|
renderMinutePickerColumn(minutesData) {
|
|
1256
1255
|
const { disabled, workingParts } = this;
|
|
1257
1256
|
if (minutesData.length === 0)
|
|
1258
1257
|
return [];
|
|
1259
1258
|
const activePart = this.getActivePartsWithFallback();
|
|
1260
|
-
return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1259
|
+
return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.minute, items: minutesData, numericInput: true, onIonChange: (ev) => {
|
|
1261
1260
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
1262
1261
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
|
|
1263
1262
|
ev.stopPropagation();
|
|
1264
|
-
} }
|
|
1263
|
+
} }));
|
|
1265
1264
|
}
|
|
1266
1265
|
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
1267
1266
|
const { disabled, workingParts } = this;
|
|
@@ -1270,12 +1269,12 @@ export class Datetime {
|
|
|
1270
1269
|
}
|
|
1271
1270
|
const activePart = this.getActivePartsWithFallback();
|
|
1272
1271
|
const isDayPeriodRTL = isLocaleDayPeriodRTL(this.locale);
|
|
1273
|
-
return (h("ion-picker-column", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
|
|
1272
|
+
return (h("ion-picker-column-internal", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, items: dayPeriodData, onIonChange: (ev) => {
|
|
1274
1273
|
const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
|
|
1275
1274
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
1276
1275
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
|
|
1277
1276
|
ev.stopPropagation();
|
|
1278
|
-
} }
|
|
1277
|
+
} }));
|
|
1279
1278
|
}
|
|
1280
1279
|
renderWheelView(forcePresentation) {
|
|
1281
1280
|
const { locale } = this;
|
|
@@ -1296,11 +1295,26 @@ export class Datetime {
|
|
|
1296
1295
|
const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
|
|
1297
1296
|
// don't use the inheritAttributes util because it removes dir from the host, and we still need that
|
|
1298
1297
|
const hostDir = this.el.getAttribute('dir') || undefined;
|
|
1299
|
-
return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1298
|
+
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: () => {
|
|
1299
|
+
var _a;
|
|
1300
|
+
this.toggleMonthAndYearView();
|
|
1301
|
+
/**
|
|
1302
|
+
* TODO: FW-3547
|
|
1303
|
+
*
|
|
1304
|
+
* Currently there is not a way to set the aria-label on the inner button
|
|
1305
|
+
* on the `ion-item` and have it be reactive to changes. This is a workaround
|
|
1306
|
+
* until we either refactor `ion-item` to a button or Stencil adds a way to
|
|
1307
|
+
* have reactive props for built-in properties, such as `aria-label`.
|
|
1308
|
+
*/
|
|
1309
|
+
const { monthYearToggleItemRef } = this;
|
|
1310
|
+
if (monthYearToggleItemRef) {
|
|
1311
|
+
const btn = (_a = monthYearToggleItemRef.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-native');
|
|
1312
|
+
if (btn) {
|
|
1313
|
+
const monthYearAriaLabel = this.showMonthAndYear ? 'Hide year picker' : 'Show year picker';
|
|
1314
|
+
btn.setAttribute('aria-label', monthYearAriaLabel);
|
|
1315
|
+
}
|
|
1316
|
+
}
|
|
1317
|
+
} }, 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) => {
|
|
1304
1318
|
return h("div", { class: "day-of-week" }, d);
|
|
1305
1319
|
}))));
|
|
1306
1320
|
}
|
|
@@ -1461,7 +1475,7 @@ export class Datetime {
|
|
|
1461
1475
|
* This will correctly scroll the element position to the correct time value,
|
|
1462
1476
|
* before the popover is fully presented.
|
|
1463
1477
|
*/
|
|
1464
|
-
const cols = ev.target.querySelectorAll('ion-picker-column');
|
|
1478
|
+
const cols = ev.target.querySelectorAll('ion-picker-column-internal');
|
|
1465
1479
|
// TODO (FW-615): Potentially remove this when intersection observers are fixed in picker column
|
|
1466
1480
|
cols.forEach((col) => col.scrollActiveItemIntoView());
|
|
1467
1481
|
}, style: {
|
|
@@ -2392,5 +2406,3 @@ export class Datetime {
|
|
|
2392
2406
|
}
|
|
2393
2407
|
}
|
|
2394
2408
|
let datetimeIds = 0;
|
|
2395
|
-
const WHEEL_ITEM_PART = 'wheel-item';
|
|
2396
|
-
const WHEEL_ITEM_ACTIVE_PART = `active`;
|
|
@@ -61,8 +61,6 @@
|
|
|
61
61
|
*
|
|
62
62
|
* @prop --wheel-highlight-background: The background of the highlight under the selected
|
|
63
63
|
* item when using a wheel style layout, or in the month/year picker for grid style layouts.
|
|
64
|
-
* @prop --wheel-highlight-border-radius: The border radius of the highlight under the selected
|
|
65
|
-
* item when using a wheel style layout, or in the month/year picker for grid style layouts.
|
|
66
64
|
* @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
|
|
67
65
|
* when using a wheel style layout, or in the month/year picker for grid style layouts. Must
|
|
68
66
|
* be in RGB format, e.g. `255, 255, 255`.
|
|
@@ -73,6 +71,19 @@
|
|
|
73
71
|
overflow: hidden;
|
|
74
72
|
}
|
|
75
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
|
+
|
|
76
87
|
:host(.datetime-size-fixed) {
|
|
77
88
|
width: auto;
|
|
78
89
|
height: auto;
|
|
@@ -83,7 +94,7 @@
|
|
|
83
94
|
}
|
|
84
95
|
|
|
85
96
|
/**
|
|
86
|
-
* This ensures that the picker is
|
|
97
|
+
* This ensures that the picker is apppropriately
|
|
87
98
|
* sized and never truncates the text.
|
|
88
99
|
*/
|
|
89
100
|
:host(.datetime-size-fixed.datetime-prefer-wheel) {
|
|
@@ -306,8 +317,24 @@
|
|
|
306
317
|
justify-content: space-between;
|
|
307
318
|
}
|
|
308
319
|
|
|
320
|
+
:host .calendar-action-buttons ion-item,
|
|
309
321
|
:host .calendar-action-buttons ion-button {
|
|
310
|
-
--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;
|
|
311
338
|
}
|
|
312
339
|
|
|
313
340
|
:host .calendar-days-of-week {
|
|
@@ -489,72 +516,8 @@
|
|
|
489
516
|
position: static;
|
|
490
517
|
}
|
|
491
518
|
|
|
492
|
-
:host(.show-month-and-year) .calendar-action-buttons
|
|
493
|
-
color: var(--ion-color-base);
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
.calendar-month-year {
|
|
497
|
-
min-width: 0;
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
.calendar-month-year-toggle {
|
|
501
|
-
font-family: inherit;
|
|
502
|
-
font-size: inherit;
|
|
503
|
-
font-style: inherit;
|
|
504
|
-
font-weight: inherit;
|
|
505
|
-
letter-spacing: inherit;
|
|
506
|
-
text-decoration: inherit;
|
|
507
|
-
text-indent: inherit;
|
|
508
|
-
text-overflow: inherit;
|
|
509
|
-
text-transform: inherit;
|
|
510
|
-
text-align: inherit;
|
|
511
|
-
white-space: inherit;
|
|
512
|
-
color: inherit;
|
|
513
|
-
position: relative;
|
|
514
|
-
border: 0;
|
|
515
|
-
outline: none;
|
|
516
|
-
background: transparent;
|
|
517
|
-
cursor: pointer;
|
|
518
|
-
z-index: 1;
|
|
519
|
-
}
|
|
520
|
-
.calendar-month-year-toggle::after {
|
|
521
|
-
left: 0;
|
|
522
|
-
right: 0;
|
|
523
|
-
top: 0;
|
|
524
|
-
bottom: 0;
|
|
525
|
-
position: absolute;
|
|
526
|
-
content: "";
|
|
527
|
-
opacity: 0;
|
|
528
|
-
transition: opacity 15ms linear, background-color 15ms linear;
|
|
529
|
-
z-index: -1;
|
|
530
|
-
}
|
|
531
|
-
.calendar-month-year-toggle.ion-focused::after {
|
|
532
|
-
background: currentColor;
|
|
533
|
-
}
|
|
534
|
-
.calendar-month-year-toggle:disabled {
|
|
535
|
-
opacity: 0.3;
|
|
536
|
-
pointer-events: none;
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
.calendar-month-year-toggle ion-icon {
|
|
540
|
-
-webkit-padding-start: 4px;
|
|
541
|
-
padding-inline-start: 4px;
|
|
542
|
-
-webkit-padding-end: 0;
|
|
543
|
-
padding-inline-end: 0;
|
|
544
|
-
padding-top: 0;
|
|
545
|
-
padding-bottom: 0;
|
|
546
|
-
flex-shrink: 0;
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
.calendar-month-year-toggle #toggle-wrapper {
|
|
550
|
-
display: inline-flex;
|
|
551
|
-
align-items: center;
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
ion-picker {
|
|
555
|
-
--highlight-background: var(--wheel-highlight-background);
|
|
556
|
-
--highlight-border-radius: var(--wheel-highlight-border-radius);
|
|
557
|
-
--fade-background-rgb: var(--wheel-fade-background-rgb);
|
|
519
|
+
:host(.show-month-and-year) .calendar-action-buttons ion-item {
|
|
520
|
+
--color: var(--ion-color-base);
|
|
558
521
|
}
|
|
559
522
|
|
|
560
523
|
/**
|
|
@@ -638,36 +601,15 @@ ion-picker {
|
|
|
638
601
|
font-size: 2.125rem;
|
|
639
602
|
}
|
|
640
603
|
|
|
641
|
-
:host .calendar-action-buttons ion-
|
|
642
|
-
--
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
.calendar-month-year-toggle {
|
|
646
|
-
-webkit-padding-start: 20px;
|
|
647
|
-
padding-inline-start: 20px;
|
|
648
|
-
-webkit-padding-end: 16px;
|
|
649
|
-
padding-inline-end: 16px;
|
|
650
|
-
padding-top: 12px;
|
|
651
|
-
padding-bottom: 12px;
|
|
652
|
-
min-height: 48px;
|
|
653
|
-
background: transparent;
|
|
654
|
-
color: var(--ion-color-step-650, #595959);
|
|
655
|
-
z-index: 1;
|
|
656
|
-
}
|
|
657
|
-
.calendar-month-year-toggle.ion-focused::after {
|
|
658
|
-
opacity: 0.04;
|
|
604
|
+
:host .datetime-calendar .calendar-action-buttons ion-item {
|
|
605
|
+
--padding-start: 20px;
|
|
659
606
|
}
|
|
660
607
|
|
|
661
|
-
.calendar-
|
|
662
|
-
|
|
608
|
+
:host .calendar-action-buttons ion-item,
|
|
609
|
+
:host .calendar-action-buttons ion-button {
|
|
610
|
+
--color: var(--ion-color-step-650, #595959);
|
|
663
611
|
}
|
|
664
612
|
|
|
665
|
-
@media (any-hover: hover) {
|
|
666
|
-
.calendar-month-year-toggle.ion-activatable:not(.ion-focused):hover::after {
|
|
667
|
-
background: currentColor;
|
|
668
|
-
opacity: 0.04;
|
|
669
|
-
}
|
|
670
|
-
}
|
|
671
613
|
:host .calendar-days-of-week {
|
|
672
614
|
-webkit-padding-start: 10px;
|
|
673
615
|
padding-inline-start: 10px;
|
|
@@ -21,7 +21,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
21
21
|
</div>
|
|
22
22
|
`, config);
|
|
23
23
|
const container = page.locator('#container');
|
|
24
|
-
await page.
|
|
24
|
+
await page.locator('.datetime-ready').waitFor();
|
|
25
25
|
await expect(container).toHaveScreenshot(screenshot(`datetime-scale`));
|
|
26
26
|
});
|
|
27
27
|
});
|
|
@@ -38,7 +38,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
38
38
|
`, config);
|
|
39
39
|
const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
|
|
40
40
|
const datetime = page.locator('ion-datetime');
|
|
41
|
-
const monthYearButton = page.locator('.calendar-month-year-
|
|
41
|
+
const monthYearButton = page.locator('.calendar-month-year ion-item');
|
|
42
42
|
const prevButton = page.locator('.calendar-next-prev ion-button:nth-child(1)');
|
|
43
43
|
const nextButton = page.locator('.calendar-next-prev ion-button:nth-child(2)');
|
|
44
44
|
await page.keyboard.press(tabKey);
|
|
@@ -64,7 +64,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
64
64
|
|
|
65
65
|
<ion-datetime value="2022-02-22T16:30:00" show-default-buttons="true" show-clear-button="true"></ion-datetime>
|
|
66
66
|
`, config);
|
|
67
|
-
await page.
|
|
67
|
+
await page.locator('.datetime-ready').waitFor();
|
|
68
68
|
const clearButton = page.locator('#clear-button button');
|
|
69
69
|
const selectedDay = page.locator('.calendar-day-active');
|
|
70
70
|
await expect(selectedDay).toHaveText('22');
|
|
@@ -80,7 +80,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
80
80
|
|
|
81
81
|
<ion-datetime value="2022-02-28"></ion-datetime>
|
|
82
82
|
`, config);
|
|
83
|
-
await page.
|
|
83
|
+
await page.locator('.datetime-ready').waitFor();
|
|
84
84
|
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
85
85
|
const calendarBody = page.locator('.calendar-body');
|
|
86
86
|
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { newSpecPage } from "@stencil/core/testing";
|
|
5
|
+
import { Item } from "../../../item/item";
|
|
5
6
|
import { Datetime } from "../../datetime";
|
|
6
7
|
describe('datetime', () => {
|
|
7
8
|
beforeEach(() => {
|
|
@@ -17,23 +18,25 @@ describe('datetime', () => {
|
|
|
17
18
|
let page;
|
|
18
19
|
beforeEach(async () => {
|
|
19
20
|
page = await newSpecPage({
|
|
20
|
-
components: [Datetime],
|
|
21
|
+
components: [Datetime, Item],
|
|
21
22
|
html: `<ion-datetime></ion-datetime>`,
|
|
22
23
|
});
|
|
23
24
|
});
|
|
24
25
|
it('should have aria-label "Show year picker" when collapsed', async () => {
|
|
25
26
|
const datetime = page.body.querySelector('ion-datetime');
|
|
26
|
-
const
|
|
27
|
+
const item = datetime.shadowRoot.querySelector('.calendar-month-year ion-item');
|
|
28
|
+
const monthYearToggleBtn = item.shadowRoot.querySelector('button');
|
|
27
29
|
const ariaLabel = monthYearToggleBtn.getAttribute('aria-label');
|
|
28
30
|
expect(ariaLabel).toContain('Show year picker');
|
|
29
31
|
});
|
|
30
32
|
it('should have aria-label "Hide year picker" when expanded', async () => {
|
|
31
33
|
const datetime = page.body.querySelector('ion-datetime');
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
+
const item = datetime.shadowRoot.querySelector('.calendar-month-year ion-item');
|
|
35
|
+
item.click();
|
|
34
36
|
await page.waitForChanges();
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
+
const itemAfter = datetime.shadowRoot.querySelector('.calendar-month-year ion-item');
|
|
38
|
+
const monthYearToggleBtn = itemAfter.shadowRoot.querySelector('button');
|
|
39
|
+
const ariaLabel = monthYearToggleBtn.getAttribute('aria-label');
|
|
37
40
|
expect(ariaLabel).toContain('Hide year picker');
|
|
38
41
|
});
|
|
39
42
|
});
|