@ionic/core 7.6.7-dev.11706551494.19e19037 → 7.6.7-dev.11706551842.118ce6e0
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 +0 -12
- 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 +3 -4
- package/components/ion-datetime.js +40 -64
- 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 +21 -15
- package/components/ion-nav.js +7 -3
- package/components/ion-picker-column-option.d.ts +11 -0
- package/components/ion-picker-column-option.js +9 -0
- package/components/ion-picker-column.js +2 -2
- package/components/ion-picker-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +9 -0
- package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
- package/components/ion-picker-legacy.js +309 -0
- package/components/ion-picker.js +1 -309
- 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 +26 -15
- 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 +2 -8
- package/components/label.js +1 -1
- package/components/overlays.js +11 -4
- package/components/picker-column-option.js +122 -0
- package/components/picker-column.js +351 -322
- package/components/picker-column2.js +379 -0
- package/components/{picker-internal.js → picker.js} +29 -22
- package/components/radio.js +2 -2
- package/components/select-popover.js +1 -1
- package/css/core.css +101 -34
- 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/themes/dark.always.css +122 -0
- package/css/themes/dark.always.css.map +1 -0
- package/css/themes/dark.class.css +122 -0
- package/css/themes/dark.class.css.map +1 -0
- package/css/themes/dark.css +3 -0
- package/css/themes/dark.css.map +1 -0
- package/css/themes/dark.system.css +124 -0
- package/css/themes/dark.system.css.map +1 -0
- package/css/typography.css +1 -1
- package/dist/cjs/{button-active-85665616.js → button-active-d432e262.js} +1 -1
- package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
- package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
- package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.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 +4 -5
- 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 +0 -12
- 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 +37 -57
- 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 +3 -8
- package/dist/cjs/ion-loading.cjs.entry.js +3 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +25 -20
- package/dist/cjs/ion-modal.cjs.entry.js +3 -3
- package/dist/cjs/ion-nav_2.cjs.entry.js +6 -3
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
- package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +104 -87
- package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +26 -19
- package/dist/cjs/ion-popover.cjs.entry.js +2 -1
- 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 +5 -4
- package/dist/cjs/ion-split-pane.cjs.entry.js +24 -14
- 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-8285b485.js → overlays-3afa911d.js} +11 -4
- package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
- package/dist/collection/collection-manifest.json +7 -6
- package/dist/collection/components/action-sheet/action-sheet.ios.css +3 -3
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +23 -14
- 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 +22 -9
- package/dist/collection/components/back-button/back-button.ios.css +1 -1
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +21 -0
- package/dist/collection/components/backdrop/backdrop.js +0 -12
- 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 +18 -0
- 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 +48 -0
- package/dist/collection/components/button/test/basic/button.e2e.js +1 -1
- package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
- 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 +11 -2
- package/dist/collection/components/content/content.css +0 -4
- package/dist/collection/components/content/content.js +2 -3
- package/dist/collection/components/datetime/datetime.ios.css +93 -40
- package/dist/collection/components/datetime/datetime.js +24 -36
- package/dist/collection/components/datetime/datetime.md.css +96 -38
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +4 -4
- package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +22 -12
- 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 +75 -73
- 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 +19 -16
- 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 +50 -0
- 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 +41 -3
- package/dist/collection/components/item/item.ios.css +42 -5
- package/dist/collection/components/item/item.js +0 -7
- package/dist/collection/components/item/item.md.css +43 -6
- 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 +28 -0
- package/dist/collection/components/label/label.md.css +1 -1
- package/dist/collection/components/label/test/a11y/label.e2e.js +20 -0
- package/dist/collection/components/loading/loading.md.css +1 -1
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +21 -5
- package/dist/collection/components/menu/menu.ios.css +64 -3
- package/dist/collection/components/menu/menu.js +19 -13
- package/dist/collection/components/menu/menu.md.css +64 -3
- package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +14 -0
- package/dist/collection/components/modal/test/standalone/modal.e2e.js +1 -1
- package/dist/collection/components/nav/nav.js +22 -2
- 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 +112 -211
- package/dist/collection/components/picker/picker.js +488 -738
- package/dist/collection/components/picker/picker.md.css +108 -198
- package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
- package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
- package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
- package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +79 -42
- package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
- package/dist/collection/components/picker-column/picker-column.js +499 -335
- package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
- package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
- package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
- package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
- package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
- package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
- package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
- package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
- package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
- package/dist/collection/components/picker-legacy/picker.js +811 -0
- package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
- package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
- package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
- package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
- package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
- package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
- package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +1 -1
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
- 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/progress-bar/test/a11y/progress-bar.e2e.js +24 -0
- 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 +114 -81
- 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 +18 -8
- package/dist/collection/components/refresher/refresher.md.css +2 -2
- package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +25 -0
- 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/router-link/test/a11y/router-link.e2e.js +23 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +1 -1
- package/dist/collection/components/segment/test/a11y/segment.e2e.js +23 -0
- 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 +68 -4
- package/dist/collection/components/select-popover/select-popover.md.css +4 -4
- package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +32 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +2 -54
- package/dist/collection/components/split-pane/split-pane.js +46 -12
- package/dist/collection/components/split-pane/split-pane.md.css +2 -54
- package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +41 -0
- 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 +41 -3
- 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 +56 -24
- 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 +8 -2
- 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 +18 -0
- package/dist/collection/themes/test/colors/theme.e2e.js +114 -0
- package/dist/collection/utils/gesture/gesture-controller.js +1 -1
- package/dist/collection/utils/overlays.js +11 -4
- package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
- package/dist/collection/utils/test/playwright/generator.js +1 -0
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- package/dist/docs.json +500 -41
- package/dist/esm/{button-active-b62776db.js → button-active-3bcbd115.js} +1 -1
- package/dist/esm/{data-775093f5.js → data-6a31d701.js} +1 -1
- package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
- package/dist/esm/{index-2cf77112.js → index-39782642.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 +4 -5
- 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 +0 -12
- 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 +36 -56
- 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 +3 -8
- package/dist/esm/ion-loading.entry.js +3 -2
- package/dist/esm/ion-menu_3.entry.js +25 -20
- package/dist/esm/ion-modal.entry.js +3 -3
- package/dist/esm/ion-nav_2.entry.js +6 -3
- package/dist/esm/ion-picker-column-option.entry.js +100 -0
- package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +104 -87
- package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +26 -19
- package/dist/esm/ion-popover.entry.js +2 -1
- 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 +5 -4
- package/dist/esm/ion-split-pane.entry.js +24 -14
- 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-bb824d56.js → overlays-8b24f0d5.js} +11 -4
- package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
- package/dist/esm-es5/{button-active-b62776db.js → button-active-3bcbd115.js} +1 -1
- package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
- package/dist/esm-es5/{index-2cf77112.js → index-39782642.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-option.entry.js +4 -0
- package/dist/esm-es5/ion-picker-column.entry.js +4 -0
- package/dist/esm-es5/ion-picker.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-8b24f0d5.js +4 -0
- package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
- package/dist/html.html-data.json +152 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-249633a4.entry.js → p-0055506a.entry.js} +1 -1
- package/dist/ionic/p-0708a9c1.system.js +4 -0
- package/dist/ionic/p-09890dd9.entry.js +4 -0
- package/dist/ionic/{p-c1c57873.system.entry.js → p-0a0a84ce.system.entry.js} +1 -1
- package/dist/ionic/p-0d3c5eaa.system.entry.js +4 -0
- package/dist/ionic/p-10607f89.entry.js +4 -0
- package/dist/ionic/{p-d2707f9d.system.js → p-114ea79c.system.js} +1 -1
- package/dist/ionic/{p-41040a92.system.entry.js → p-14311a1d.system.entry.js} +1 -1
- package/dist/ionic/p-1a5f0313.system.js +1 -1
- package/dist/ionic/{p-c3bfe92d.entry.js → p-1d1ce54e.entry.js} +1 -1
- package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
- package/dist/ionic/p-26976bfc.system.entry.js +4 -0
- package/dist/ionic/{p-8084e9cb.entry.js → p-28525772.entry.js} +1 -1
- package/dist/ionic/p-2c02fb1c.system.entry.js +4 -0
- package/dist/ionic/{p-928e945d.system.entry.js → p-2fda36b6.system.entry.js} +1 -1
- package/dist/ionic/p-3065cecc.entry.js +4 -0
- package/dist/ionic/{p-b43cf55f.entry.js → p-34f05cec.entry.js} +1 -1
- package/dist/ionic/p-381ca6f8.system.entry.js +4 -0
- package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
- package/dist/ionic/{p-3b83e483.system.entry.js → p-3f3ae637.system.entry.js} +2 -2
- package/dist/ionic/{p-d6beb1c9.system.entry.js → p-41dcd6c0.system.entry.js} +1 -1
- package/dist/ionic/{p-54c92c77.entry.js → p-42d5f6ae.entry.js} +1 -1
- package/dist/ionic/p-4a13a07c.system.entry.js +4 -0
- package/dist/ionic/{p-bc6d16ca.entry.js → p-4b94c354.entry.js} +1 -1
- package/dist/ionic/p-51abefb7.system.js +4 -0
- package/dist/ionic/{p-e150f8fc.entry.js → p-598bd8e2.entry.js} +1 -1
- package/dist/ionic/p-5d22095a.entry.js +4 -0
- package/dist/ionic/{p-e814f9c0.entry.js → p-67b167bc.entry.js} +1 -1
- package/dist/ionic/p-67c1996d.entry.js +4 -0
- package/dist/ionic/p-6d42a37b.entry.js +4 -0
- package/dist/ionic/p-6db68be9.system.entry.js +4 -0
- package/dist/ionic/p-71f30cfc.system.entry.js +4 -0
- package/dist/ionic/{p-eb210b21.system.entry.js → p-75017f39.system.entry.js} +1 -1
- package/dist/ionic/{p-10c34f0a.system.entry.js → p-7a1ef06a.system.entry.js} +1 -1
- package/dist/ionic/{p-b09c8228.entry.js → p-7a2c6bb5.entry.js} +1 -1
- package/dist/ionic/p-7a343dca.system.entry.js +4 -0
- package/dist/ionic/p-7a3e1f37.system.entry.js +4 -0
- package/dist/ionic/{p-4dc3bc8b.entry.js → p-7acc89e0.entry.js} +1 -1
- package/dist/ionic/p-7ae141f1.entry.js +4 -0
- package/dist/ionic/p-7e8ef0bb.system.entry.js +4 -0
- package/dist/ionic/{p-5628d04e.entry.js → p-870453fd.entry.js} +1 -1
- package/dist/ionic/{p-cdce5ba3.system.entry.js → p-8a1d33e3.system.entry.js} +1 -1
- package/dist/ionic/{p-1f7fc88d.entry.js → p-8aaade76.entry.js} +1 -1
- package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
- package/dist/ionic/p-94265b3d.entry.js +4 -0
- package/dist/ionic/{p-35e1a80f.system.entry.js → p-943caced.system.entry.js} +1 -1
- package/dist/ionic/p-95d8071f.entry.js +4 -0
- package/dist/ionic/{p-7bae84aa.entry.js → p-9928b546.entry.js} +1 -1
- package/dist/ionic/{p-6b9eee40.system.entry.js → p-9a9deb33.system.entry.js} +1 -1
- package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
- package/dist/ionic/p-9c9eb63f.system.entry.js +4 -0
- package/dist/ionic/{p-db798370.system.entry.js → p-9cbfb298.system.entry.js} +1 -1
- package/dist/ionic/{p-0d2b6901.entry.js → p-9cd05453.entry.js} +1 -1
- package/dist/ionic/p-a01d6784.system.entry.js +4 -0
- package/dist/ionic/{p-c10cc51e.system.entry.js → p-a068b1c7.system.entry.js} +2 -2
- package/dist/ionic/{p-2c3842e8.system.entry.js → p-a11e45fe.system.entry.js} +1 -1
- package/dist/ionic/p-a259fa5f.system.entry.js +4 -0
- package/dist/ionic/p-a60a1ce5.js +4 -0
- package/dist/ionic/{p-436bd99a.entry.js → p-a72be676.entry.js} +1 -1
- package/dist/ionic/p-acbb36a1.entry.js +4 -0
- package/dist/ionic/{p-f865bc9a.entry.js → p-adba40e6.entry.js} +1 -1
- package/dist/ionic/{p-1052ef2b.entry.js → p-ae8747aa.entry.js} +1 -1
- package/dist/ionic/{p-525b6ac4.system.entry.js → p-bad61026.system.entry.js} +1 -1
- package/dist/ionic/p-c33d312f.js +4 -0
- package/dist/ionic/{p-688a36c7.entry.js → p-c7bdd72f.entry.js} +1 -1
- package/dist/ionic/{p-df62accd.entry.js → p-c9028fdc.entry.js} +1 -1
- package/dist/ionic/p-c9b8f9e5.system.entry.js +4 -0
- package/dist/ionic/{p-5c2da581.system.entry.js → p-cb0cfc39.system.entry.js} +1 -1
- package/dist/ionic/{p-49c52149.system.entry.js → p-cb304e5f.system.entry.js} +1 -1
- package/dist/ionic/{p-7510e462.entry.js → p-d545e325.entry.js} +1 -1
- package/dist/ionic/p-d6674fed.entry.js +4 -0
- package/dist/ionic/{p-8f1ebb7d.system.js → p-df75bd2c.system.js} +1 -1
- package/dist/ionic/p-dfd21411.system.entry.js +4 -0
- package/dist/ionic/p-e22bf111.js +4 -0
- package/dist/ionic/p-e652d9e4.entry.js +4 -0
- package/dist/ionic/p-ea4b254e.entry.js +4 -0
- package/dist/ionic/p-ea9a8424.system.entry.js +4 -0
- package/dist/ionic/p-eaa4e76f.system.entry.js +4 -0
- package/dist/ionic/{p-dc1d883c.system.entry.js → p-ee1214e0.system.entry.js} +1 -1
- package/dist/ionic/{p-41aa2662.entry.js → p-eeb87a49.entry.js} +1 -1
- package/dist/ionic/{p-b6f6f00e.entry.js → p-efa1c7f0.entry.js} +1 -1
- package/dist/ionic/{p-3dbaaa5b.system.entry.js → p-f2ed3039.system.entry.js} +1 -1
- package/dist/ionic/{p-1a0bf247.system.entry.js → p-fc58a772.system.entry.js} +1 -1
- package/dist/ionic/p-fdc3ff96.entry.js +4 -0
- package/dist/types/components/backdrop/backdrop.d.ts +0 -3
- package/dist/types/components/datetime/datetime.d.ts +0 -1
- package/dist/types/components/datetime/utils/data.d.ts +11 -7
- package/dist/types/components/item/item.d.ts +0 -1
- package/dist/types/components/menu/menu.d.ts +12 -2
- package/dist/types/components/nav/nav.d.ts +4 -1
- package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
- package/dist/types/components/picker/picker.d.ts +75 -129
- package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
- package/dist/types/components/picker-column/picker-column.d.ts +99 -39
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
- package/dist/types/components/picker-legacy/picker.d.ts +158 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components/split-pane/split-pane.d.ts +14 -2
- package/dist/types/components.d.ts +159 -122
- 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 +1 -0
- package/dist/types/utils/overlays.d.ts +5 -2
- package/hydrate/index.js +1462 -1350
- package/package.json +2 -2
- package/components/ion-picker-column-internal.d.ts +0 -11
- package/components/ion-picker-column-internal.js +0 -9
- package/components/ion-picker-internal.js +0 -9
- package/components/picker-column-internal.js +0 -390
- package/dist/collection/components/item/test/item.spec.js +0 -20
- package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -566
- package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
- package/dist/collection/components/picker-internal/picker-internal.js +0 -560
- package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
- package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
- package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
- package/dist/esm-es5/overlays-bb824d56.js +0 -4
- package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
- package/dist/ionic/p-024e2739.entry.js +0 -4
- package/dist/ionic/p-06128c8c.entry.js +0 -4
- package/dist/ionic/p-06f72943.system.entry.js +0 -4
- package/dist/ionic/p-35ce400e.system.js +0 -4
- package/dist/ionic/p-3de38800.system.entry.js +0 -4
- package/dist/ionic/p-5aecd304.system.entry.js +0 -4
- package/dist/ionic/p-5f698182.entry.js +0 -4
- package/dist/ionic/p-61bf9f6f.system.entry.js +0 -4
- package/dist/ionic/p-6899d5af.entry.js +0 -4
- package/dist/ionic/p-6a6477b2.js +0 -4
- package/dist/ionic/p-6e165986.system.entry.js +0 -4
- package/dist/ionic/p-719ad110.system.entry.js +0 -4
- package/dist/ionic/p-73547cf9.entry.js +0 -4
- package/dist/ionic/p-7a02dd61.system.entry.js +0 -4
- package/dist/ionic/p-7ffe791a.system.js +0 -4
- package/dist/ionic/p-80ddd0c1.entry.js +0 -4
- package/dist/ionic/p-87e10168.system.entry.js +0 -4
- package/dist/ionic/p-89c28901.system.entry.js +0 -4
- package/dist/ionic/p-8bad1486.system.entry.js +0 -4
- package/dist/ionic/p-90000ff6.js +0 -4
- package/dist/ionic/p-9cf0846d.system.entry.js +0 -4
- package/dist/ionic/p-a0953474.entry.js +0 -4
- package/dist/ionic/p-a2d75455.entry.js +0 -4
- package/dist/ionic/p-a706cf11.system.entry.js +0 -4
- package/dist/ionic/p-aca77953.entry.js +0 -4
- package/dist/ionic/p-afafbba0.entry.js +0 -4
- package/dist/ionic/p-ba4890eb.system.entry.js +0 -4
- package/dist/ionic/p-beeceaf5.system.entry.js +0 -4
- package/dist/ionic/p-c4177035.entry.js +0 -4
- package/dist/ionic/p-c48a9ef3.system.entry.js +0 -4
- package/dist/ionic/p-cb301b9a.entry.js +0 -4
- package/dist/ionic/p-eb80ca40.entry.js +0 -4
- package/dist/ionic/p-f48a49ae.system.entry.js +0 -4
- package/dist/ionic/p-fd1a0431.js +0 -4
- package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
- package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
- package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
- package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
- /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
- /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
- /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
- /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
- /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
- /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
- /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
- /package/dist/esm-es5/{data-775093f5.js → data-6a31d701.js} +0 -0
- /package/dist/ionic/{p-87bb3735.system.js → p-7ff4359e.system.js} +0 -0
- /package/dist/ionic/{p-18cae04f.js → p-a64accf5.js} +0 -0
- /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
- /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
- /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
- /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
|
@@ -82,7 +82,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
82
82
|
}
|
|
83
83
|
</script>
|
|
84
84
|
`, config);
|
|
85
|
-
await page.
|
|
85
|
+
await page.waitForSelector('.datetime-ready');
|
|
86
86
|
const datetime = page.locator('ion-datetime');
|
|
87
87
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
88
88
|
// Oct 1, 2022
|
|
@@ -188,7 +188,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
188
188
|
await page.setContent(`
|
|
189
189
|
<ion-datetime value="2022-05-03"></ion-datetime>
|
|
190
190
|
`, config);
|
|
191
|
-
await page.
|
|
191
|
+
await page.waitForSelector('.datetime-ready');
|
|
192
192
|
const calendarBody = page.locator('ion-datetime .calendar-body');
|
|
193
193
|
const calendarHeader = page.locator('ion-datetime .calendar-month-year');
|
|
194
194
|
await expect(calendarHeader).toHaveText(/May 2022/);
|
|
@@ -200,7 +200,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
200
200
|
await page.setContent(`
|
|
201
201
|
<ion-datetime value="2022-05-03"></ion-datetime>
|
|
202
202
|
`, config);
|
|
203
|
-
await page.
|
|
203
|
+
await page.waitForSelector('.datetime-ready');
|
|
204
204
|
const calendarBody = page.locator('ion-datetime .calendar-body');
|
|
205
205
|
const calendarHeader = page.locator('ion-datetime .calendar-month-year');
|
|
206
206
|
await expect(calendarHeader).toHaveText(/May 2022/);
|
|
@@ -213,7 +213,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
213
213
|
await page.setContent(`
|
|
214
214
|
<ion-datetime value="2022-05-03"></ion-datetime>
|
|
215
215
|
`, config);
|
|
216
|
-
await page.
|
|
216
|
+
await page.waitForSelector('.datetime-ready');
|
|
217
217
|
const calendarBody = page.locator('ion-datetime .calendar-body');
|
|
218
218
|
const calendarHeader = page.locator('ion-datetime .calendar-month-year');
|
|
219
219
|
await expect(calendarHeader).toHaveText(/May 2022/);
|
|
@@ -237,7 +237,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
237
237
|
await page.setContent(`
|
|
238
238
|
<ion-datetime></ion-datetime>
|
|
239
239
|
`, config);
|
|
240
|
-
await page.
|
|
240
|
+
await page.waitForSelector('.datetime-ready');
|
|
241
241
|
const monthYearButton = page.locator('ion-datetime .calendar-month-year');
|
|
242
242
|
const monthYearInterface = page.locator('ion-datetime .datetime-year');
|
|
243
243
|
const datetime = page.locator('ion-datetime');
|
|
@@ -249,7 +249,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
249
249
|
await expect(datetime).not.toHaveClass(/datetime-ready/);
|
|
250
250
|
await datetime.evaluate((el) => el.style.removeProperty('display'));
|
|
251
251
|
await expect(datetime).toBeVisible();
|
|
252
|
-
await page.
|
|
252
|
+
await page.waitForSelector('.datetime-ready');
|
|
253
253
|
// month/year interface should be reset
|
|
254
254
|
await expect(monthYearInterface).toBeHidden();
|
|
255
255
|
});
|
|
@@ -287,7 +287,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
287
287
|
await page.setContent(`
|
|
288
288
|
<ion-datetime value="2022-11-10" show-clear-button="true"></ion-datetime>
|
|
289
289
|
`, config);
|
|
290
|
-
await page.
|
|
290
|
+
await page.waitForSelector('.datetime-ready');
|
|
291
291
|
const selectedDay = page.locator('ion-datetime .calendar-day-active');
|
|
292
292
|
await expect(selectedDay).toHaveText('10');
|
|
293
293
|
await page.click('ion-datetime #clear-button');
|
|
@@ -306,7 +306,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
306
306
|
await page.setContent(`
|
|
307
307
|
<ion-datetime presentation="date" value="2022-01-02"></ion-datetime>
|
|
308
308
|
`, config);
|
|
309
|
-
await page.
|
|
309
|
+
await page.waitForSelector('.datetime-ready');
|
|
310
310
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
311
311
|
const calendarButtons = page.locator('.calendar-day:not([disabled])');
|
|
312
312
|
await calendarButtons.nth(0).click();
|
|
@@ -317,7 +317,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
317
317
|
await page.setContent(`
|
|
318
318
|
<ion-datetime presentation="date" value="2022-01-02"></ion-datetime>
|
|
319
319
|
`, config);
|
|
320
|
-
await page.
|
|
320
|
+
await page.waitForSelector('.datetime-ready');
|
|
321
321
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
322
322
|
const datetime = page.locator('ion-datetime');
|
|
323
323
|
await datetime.evaluate((el) => (el.value = '2022-01-01'));
|
|
@@ -349,7 +349,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
349
349
|
</script>
|
|
350
350
|
`, config);
|
|
351
351
|
const datetime = page.locator('ion-datetime');
|
|
352
|
-
await page.
|
|
352
|
+
await page.waitForSelector('.datetime-ready');
|
|
353
353
|
await expect(datetime.locator('.calendar-day-today')).toHaveScreenshot(screenshot(`datetime-today-calendar-button`));
|
|
354
354
|
});
|
|
355
355
|
});
|
|
@@ -369,7 +369,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co
|
|
|
369
369
|
<ion-datetime value="2021-01-01"></ion-datetime>
|
|
370
370
|
`, config);
|
|
371
371
|
const datetime = page.locator('ion-datetime');
|
|
372
|
-
await page.
|
|
372
|
+
await page.waitForSelector('.datetime-ready');
|
|
373
373
|
await expect(datetime).toHaveScreenshot(screenshot(`date-highlight-start-of-month`));
|
|
374
374
|
await datetime.evaluate((el) => (el.value = '2021-01-31'));
|
|
375
375
|
await page.waitForChanges();
|
|
@@ -387,7 +387,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
387
387
|
await page.setContent(`
|
|
388
388
|
<ion-datetime value="2023-08-01"></ion-datetime>
|
|
389
389
|
`, config);
|
|
390
|
-
await page.
|
|
390
|
+
await page.waitForSelector('.datetime-ready');
|
|
391
391
|
const datetime = page.locator('ion-datetime');
|
|
392
392
|
const day = datetime.locator(`.calendar-day[data-day='1'][data-month='8']`);
|
|
393
393
|
await day.focus();
|
|
@@ -401,4 +401,14 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
401
401
|
await expect(datetime).toHaveScreenshot(screenshot(`datetime-focus-calendar-day`));
|
|
402
402
|
});
|
|
403
403
|
});
|
|
404
|
+
test.describe(title('datetime: calendar month toggle'), () => {
|
|
405
|
+
test('should have focus styles', async ({ page }) => {
|
|
406
|
+
await page.setContent('<ion-datetime value="2021-01-01"></ion-datetime>', config);
|
|
407
|
+
const datetime = page.locator('ion-datetime');
|
|
408
|
+
await page.waitForSelector('.datetime-ready');
|
|
409
|
+
const monthYearToggle = datetime.locator('.calendar-month-year-toggle');
|
|
410
|
+
monthYearToggle.evaluate((el) => el.classList.add('ion-focused'));
|
|
411
|
+
await expect(datetime).toHaveScreenshot(screenshot(`date-month-toggle-focused`));
|
|
412
|
+
});
|
|
413
|
+
});
|
|
404
414
|
});
|
|
@@ -9,11 +9,11 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
9
9
|
await page.setContent(`
|
|
10
10
|
<ion-datetime locale="en-US" presentation="date" value="2022-01-31"></ion-datetime>
|
|
11
11
|
`, config);
|
|
12
|
-
await page.
|
|
12
|
+
await page.waitForSelector('.datetime-ready');
|
|
13
13
|
});
|
|
14
14
|
test('should switch the calendar header when moving to a month with a different number of days', async ({ page, }) => {
|
|
15
15
|
const monthYearToggle = page.locator('ion-datetime .calendar-month-year');
|
|
16
|
-
const monthColumnItems = page.locator('ion-datetime .month-column
|
|
16
|
+
const monthColumnItems = page.locator('ion-datetime .month-column ion-picker-column-option');
|
|
17
17
|
await expect(monthYearToggle).toContainText('January 2022');
|
|
18
18
|
await monthYearToggle.click();
|
|
19
19
|
await page.waitForChanges();
|
|
@@ -24,7 +24,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
24
24
|
});
|
|
25
25
|
test('should adjust the selected day when moving to a month with a different number of days', async ({ page }) => {
|
|
26
26
|
const monthYearToggle = page.locator('ion-datetime .calendar-month-year');
|
|
27
|
-
const monthColumnItems = page.locator('ion-datetime .month-column
|
|
27
|
+
const monthColumnItems = page.locator('ion-datetime .month-column ion-picker-column-option');
|
|
28
28
|
const datetime = page.locator('ion-datetime');
|
|
29
29
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
30
30
|
await monthYearToggle.click();
|
|
@@ -99,7 +99,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
99
99
|
test.describe('check example usages', () => {
|
|
100
100
|
test.beforeEach(async ({ page }) => {
|
|
101
101
|
await page.goto('/src/components/datetime/test/disable-dates', config);
|
|
102
|
-
await page.
|
|
102
|
+
await page.waitForSelector('.datetime-ready');
|
|
103
103
|
});
|
|
104
104
|
test('should disable a specific date', async ({ page }) => {
|
|
105
105
|
const disabledDay = queryAllDisabledDays(page, '#specificDate');
|
|
@@ -20,7 +20,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
|
|
|
20
20
|
await page.setContent(`
|
|
21
21
|
<ion-datetime value="2022-02-28" disabled></ion-datetime>
|
|
22
22
|
`, config);
|
|
23
|
-
await page.
|
|
23
|
+
await page.waitForSelector('.datetime-ready');
|
|
24
24
|
const febFirstButton = page.locator(`.calendar-day[data-day='1'][data-month='2']`);
|
|
25
25
|
await expect(febFirstButton).toBeDisabled();
|
|
26
26
|
});
|
|
@@ -28,7 +28,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
|
|
|
28
28
|
await page.setContent(`
|
|
29
29
|
<ion-datetime value="2022-02-28" disabled></ion-datetime>
|
|
30
30
|
`, config);
|
|
31
|
-
await page.
|
|
31
|
+
await page.waitForSelector('.datetime-ready');
|
|
32
32
|
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
33
33
|
await expect(calendarMonthYear.locator('button')).toBeDisabled();
|
|
34
34
|
});
|
|
@@ -46,7 +46,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
|
|
|
46
46
|
|
|
47
47
|
<ion-datetime value="2022-02-22T16:30:00" show-default-buttons="true" show-clear-button="true" disabled></ion-datetime>
|
|
48
48
|
`, config);
|
|
49
|
-
await page.
|
|
49
|
+
await page.waitForSelector('.datetime-ready');
|
|
50
50
|
const clearButton = page.locator('#clear-button button');
|
|
51
51
|
await expect(clearButton).toBeDisabled();
|
|
52
52
|
});
|
|
@@ -54,7 +54,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
|
|
|
54
54
|
await page.setContent(`
|
|
55
55
|
<ion-datetime value="2022-02-28" disabled></ion-datetime>
|
|
56
56
|
`, config);
|
|
57
|
-
await page.
|
|
57
|
+
await page.waitForSelector('.datetime-ready');
|
|
58
58
|
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
59
59
|
const calendarBody = page.locator('.calendar-body');
|
|
60
60
|
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
import { h } from "@stencil/core";
|
|
5
5
|
import { newSpecPage } from "@stencil/core/testing";
|
|
6
6
|
import { Datetime } from "../../../datetime/datetime";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { PickerColumn } from "../../../picker-column/picker-column";
|
|
8
|
+
import { Picker } from "../../../picker/picker";
|
|
9
9
|
describe('ion-datetime disabled', () => {
|
|
10
10
|
beforeEach(() => {
|
|
11
11
|
// IntersectionObserver isn't available in test environment
|
|
@@ -19,12 +19,12 @@ describe('ion-datetime disabled', () => {
|
|
|
19
19
|
});
|
|
20
20
|
it('picker should be disabled in prefer wheel mode', async () => {
|
|
21
21
|
const page = await newSpecPage({
|
|
22
|
-
components: [Datetime,
|
|
22
|
+
components: [Datetime, PickerColumn, Picker],
|
|
23
23
|
template: () => (h("ion-datetime", { id: "inline-datetime-wheel", disabled: true, "prefer-wheel": true, value: "2022-04-21T00:00:00" })),
|
|
24
24
|
});
|
|
25
25
|
await page.waitForChanges();
|
|
26
26
|
const datetime = page.body.querySelector('ion-datetime');
|
|
27
|
-
const columns = datetime.shadowRoot.querySelectorAll('ion-picker-column
|
|
27
|
+
const columns = datetime.shadowRoot.querySelectorAll('ion-picker-column');
|
|
28
28
|
await expect(columns.length).toEqual(4);
|
|
29
29
|
columns.forEach((column) => {
|
|
30
30
|
expect(column.disabled).toBe(true);
|
|
@@ -14,7 +14,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
14
14
|
await page.setContent(`
|
|
15
15
|
<ion-datetime value="2022-02-22T16:30:00" presentation="date-time"></ion-datetime>
|
|
16
16
|
`, config);
|
|
17
|
-
await page.
|
|
17
|
+
await page.waitForSelector('.datetime-ready');
|
|
18
18
|
const datetime = page.locator('ion-datetime');
|
|
19
19
|
await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-date-time`));
|
|
20
20
|
});
|
|
@@ -22,7 +22,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
22
22
|
await page.setContent(`
|
|
23
23
|
<ion-datetime value="2022-02-22T16:30:00" presentation="time-date"></ion-datetime>
|
|
24
24
|
`, config);
|
|
25
|
-
await page.
|
|
25
|
+
await page.waitForSelector('.datetime-ready');
|
|
26
26
|
const datetime = page.locator('ion-datetime');
|
|
27
27
|
await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-time-date`));
|
|
28
28
|
});
|
|
@@ -30,7 +30,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
30
30
|
await page.setContent(`
|
|
31
31
|
<ion-datetime value="2022-02-22T16:30:00" presentation="time"></ion-datetime>
|
|
32
32
|
`, config);
|
|
33
|
-
await page.
|
|
33
|
+
await page.waitForSelector('.datetime-ready');
|
|
34
34
|
const datetime = page.locator('ion-datetime');
|
|
35
35
|
await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-time`));
|
|
36
36
|
});
|
|
@@ -38,7 +38,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
38
38
|
await page.setContent(`
|
|
39
39
|
<ion-datetime value="2022-02-22T16:30:00" presentation="date"></ion-datetime>
|
|
40
40
|
`, config);
|
|
41
|
-
await page.
|
|
41
|
+
await page.waitForSelector('.datetime-ready');
|
|
42
42
|
const datetime = page.locator('ion-datetime');
|
|
43
43
|
await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-date`));
|
|
44
44
|
});
|
|
@@ -56,7 +56,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
56
56
|
await page.setContent(`
|
|
57
57
|
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="date-time"></ion-datetime>
|
|
58
58
|
`, config);
|
|
59
|
-
await page.
|
|
59
|
+
await page.waitForSelector('.datetime-ready');
|
|
60
60
|
const datetime = page.locator('ion-datetime');
|
|
61
61
|
await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-date-time`));
|
|
62
62
|
});
|
|
@@ -64,7 +64,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
64
64
|
await page.setContent(`
|
|
65
65
|
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="time-date"></ion-datetime>
|
|
66
66
|
`, config);
|
|
67
|
-
await page.
|
|
67
|
+
await page.waitForSelector('.datetime-ready');
|
|
68
68
|
const datetime = page.locator('ion-datetime');
|
|
69
69
|
await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-time-date`));
|
|
70
70
|
});
|
|
@@ -72,7 +72,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
72
72
|
await page.setContent(`
|
|
73
73
|
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="time"></ion-datetime>
|
|
74
74
|
`, config);
|
|
75
|
-
await page.
|
|
75
|
+
await page.waitForSelector('.datetime-ready');
|
|
76
76
|
const datetime = page.locator('ion-datetime');
|
|
77
77
|
await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-time`));
|
|
78
78
|
});
|
|
@@ -80,7 +80,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
80
80
|
await page.setContent(`
|
|
81
81
|
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="date"></ion-datetime>
|
|
82
82
|
`, config);
|
|
83
|
-
await page.
|
|
83
|
+
await page.waitForSelector('.datetime-ready');
|
|
84
84
|
const datetime = page.locator('ion-datetime');
|
|
85
85
|
await expect(datetime).toHaveScreenshot(screenshot(`datetime-display-cover-date`));
|
|
86
86
|
});
|
|
@@ -96,7 +96,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
96
96
|
test('month selection should work after changing presentation', async ({ page }) => {
|
|
97
97
|
await page.goto('/src/components/datetime/test/display', config);
|
|
98
98
|
const ionWorkingPartsDidChange = await page.spyOnEvent('ionWorkingPartsDidChange');
|
|
99
|
-
await page.
|
|
99
|
+
await page.waitForSelector('.datetime-ready');
|
|
100
100
|
const select = page.locator('select#presentation');
|
|
101
101
|
await select.selectOption('date-time');
|
|
102
102
|
await page.waitForChanges();
|
|
@@ -77,7 +77,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
77
77
|
await page.setContent(`
|
|
78
78
|
<ion-datetime locale="ar-EG" presentation="date" value="2022-01-01"></ion-datetime>
|
|
79
79
|
`, config);
|
|
80
|
-
await page.
|
|
80
|
+
await page.waitForSelector('.datetime-ready');
|
|
81
81
|
const datetimeButtons = page.locator('ion-datetime .calendar-day:not([disabled])');
|
|
82
82
|
await expect(datetimeButtons.nth(0)).toHaveText('١');
|
|
83
83
|
await expect(datetimeButtons.nth(1)).toHaveText('٢');
|
|
@@ -85,10 +85,10 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
85
85
|
});
|
|
86
86
|
test('should correctly localize year column data', async ({ page }) => {
|
|
87
87
|
await page.setContent(`
|
|
88
|
-
<ion-datetime prefer-wheel="true" locale="ar-EG" presentation="date" value="2022-01-01"></ion-datetime>
|
|
88
|
+
<ion-datetime prefer-wheel="true" locale="ar-EG" presentation="date" value="2022-01-01" max="2022" min="2022"></ion-datetime>
|
|
89
89
|
`, config);
|
|
90
|
-
await page.
|
|
91
|
-
const datetimeYear = page.locator('ion-datetime .year-column
|
|
90
|
+
await page.waitForSelector('.datetime-ready');
|
|
91
|
+
const datetimeYear = page.locator('ion-datetime .year-column ion-picker-column-option').nth(0);
|
|
92
92
|
await expect(datetimeYear).toHaveText('٢٠٢٢');
|
|
93
93
|
});
|
|
94
94
|
});
|
|
@@ -111,7 +111,7 @@ class DatetimeLocaleFixture {
|
|
|
111
111
|
></ion-datetime>
|
|
112
112
|
`, config);
|
|
113
113
|
this.datetime = this.page.locator('ion-datetime');
|
|
114
|
-
await this.page.
|
|
114
|
+
await this.page.waitForSelector('.datetime-ready');
|
|
115
115
|
}
|
|
116
116
|
async expectLocalizedDatePicker(screenshot) {
|
|
117
117
|
await this.expectLocalizedPicker(screenshot);
|
|
@@ -32,7 +32,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
32
32
|
}
|
|
33
33
|
</script>
|
|
34
34
|
`, config);
|
|
35
|
-
await page.
|
|
35
|
+
await page.waitForSelector('.datetime-ready');
|
|
36
36
|
const prevButton = page.locator('ion-datetime .calendar-next-prev ion-button:nth-child(1)');
|
|
37
37
|
const nextButton = page.locator('ion-datetime .calendar-next-prev ion-button:nth-child(2)');
|
|
38
38
|
await expect(nextButton).toHaveJSProperty('disabled', false);
|
|
@@ -48,21 +48,21 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
48
48
|
test('datetime: minmax months disabled', async ({ page }) => {
|
|
49
49
|
await page.goto('/src/components/datetime/test/minmax', config);
|
|
50
50
|
const calendarMonths = page.locator('ion-datetime#inside .calendar-month');
|
|
51
|
-
await page.
|
|
51
|
+
await page.waitForSelector('.datetime-ready');
|
|
52
52
|
await expect(calendarMonths.nth(0)).not.toHaveClass(/calendar-month-disabled/);
|
|
53
53
|
await expect(calendarMonths.nth(1)).not.toHaveClass(/calendar-month-disabled/);
|
|
54
54
|
await expect(calendarMonths.nth(2)).toHaveClass(/calendar-month-disabled/);
|
|
55
55
|
});
|
|
56
56
|
test('datetime: minmax navigation disabled', async ({ page }) => {
|
|
57
57
|
await page.goto('/src/components/datetime/test/minmax', config);
|
|
58
|
-
await page.
|
|
58
|
+
await page.waitForSelector('.datetime-ready');
|
|
59
59
|
const navButtons = page.locator('ion-datetime#outside .calendar-next-prev ion-button');
|
|
60
60
|
await expect(navButtons.nth(0)).toHaveAttribute('disabled', '');
|
|
61
61
|
await expect(navButtons.nth(1)).toHaveAttribute('disabled', '');
|
|
62
62
|
});
|
|
63
63
|
test('datetime: min including day should not disable month', async ({ page }) => {
|
|
64
64
|
await page.goto('/src/components/datetime/test/minmax', config);
|
|
65
|
-
await page.
|
|
65
|
+
await page.waitForSelector('.datetime-ready');
|
|
66
66
|
const calendarMonths = page.locator('ion-datetime#min-with-day .calendar-month');
|
|
67
67
|
await expect(calendarMonths.nth(0)).toHaveClass(/calendar-month-disabled/);
|
|
68
68
|
await expect(calendarMonths.nth(1)).not.toHaveClass(/calendar-month-disabled/);
|
|
@@ -77,12 +77,12 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
77
77
|
await page.setContent(`
|
|
78
78
|
<ion-datetime min="2022-04-22T04:10:00" max="2022-05-21T21:30:00"></ion-datetime>
|
|
79
79
|
`, config);
|
|
80
|
-
await page.
|
|
80
|
+
await page.waitForSelector('.datetime-ready');
|
|
81
81
|
const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
|
|
82
82
|
await page.click('.time-body');
|
|
83
83
|
await ionPopoverDidPresent.next();
|
|
84
|
-
const hours = page.locator('ion-popover ion-picker-column
|
|
85
|
-
const minutes = page.locator('ion-popover ion-picker-column
|
|
84
|
+
const hours = page.locator('ion-popover ion-picker-column:nth-child(1) ion-picker-column-option');
|
|
85
|
+
const minutes = page.locator('ion-popover ion-picker-column:nth-child(2) ion-picker-column-option');
|
|
86
86
|
expect(await hours.count()).toBe(12);
|
|
87
87
|
expect(await minutes.count()).toBe(60);
|
|
88
88
|
});
|
|
@@ -90,7 +90,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
90
90
|
test.describe('setting value outside bounds should show in-bounds month', () => {
|
|
91
91
|
const testDisplayedMonth = async (page, content, expectedString = /June 2021/) => {
|
|
92
92
|
await page.setContent(content, config);
|
|
93
|
-
await page.
|
|
93
|
+
await page.waitForSelector('.datetime-ready');
|
|
94
94
|
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
95
95
|
await expect(calendarMonthYear).toHaveText(expectedString);
|
|
96
96
|
};
|
|
@@ -126,7 +126,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
126
126
|
});
|
|
127
127
|
</script>
|
|
128
128
|
`, config);
|
|
129
|
-
await page.
|
|
129
|
+
await page.waitForSelector('.datetime-ready');
|
|
130
130
|
const datetimeMonthDidChange = await page.spyOnEvent('datetimeMonthDidChange');
|
|
131
131
|
const eventButton = page.locator('button#bind');
|
|
132
132
|
await eventButton.click();
|
|
@@ -159,7 +159,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
159
159
|
value="2022-04-25T08:30:00"
|
|
160
160
|
></ion-datetime>
|
|
161
161
|
`, config);
|
|
162
|
-
const hourPickerItems = page.locator('ion-datetime ion-picker-column
|
|
162
|
+
const hourPickerItems = page.locator('ion-datetime ion-picker-column:first-of-type ion-picker-column-option');
|
|
163
163
|
await expect(hourPickerItems).toHaveText(['8', '9', '10', '11']);
|
|
164
164
|
});
|
|
165
165
|
test('should include 12PM when minimum is greater than 12', async ({ page }) => {
|
|
@@ -175,7 +175,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
175
175
|
value="2022-07-29T12:00:00"
|
|
176
176
|
></ion-datetime>
|
|
177
177
|
`, config);
|
|
178
|
-
const hourPickerItems = page.locator('ion-datetime ion-picker-column
|
|
178
|
+
const hourPickerItems = page.locator('ion-datetime ion-picker-column:first-of-type ion-picker-column-option');
|
|
179
179
|
await expect(hourPickerItems).toHaveText(['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']);
|
|
180
180
|
});
|
|
181
181
|
test.describe('minmax value adjustment when out of bounds', () => {
|
|
@@ -186,7 +186,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
186
186
|
value="2022-10-11T06:00"
|
|
187
187
|
></ion-datetime>
|
|
188
188
|
`, config);
|
|
189
|
-
await page.
|
|
189
|
+
await page.waitForSelector('.datetime-ready');
|
|
190
190
|
const datetime = page.locator('ion-datetime');
|
|
191
191
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
192
192
|
const dayButton = page.locator('ion-datetime .calendar-day[data-day="10"][data-month="10"][data-year="2022"]');
|
|
@@ -201,7 +201,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
201
201
|
value="2022-10-11T09:00"
|
|
202
202
|
></ion-datetime>
|
|
203
203
|
`, config);
|
|
204
|
-
await page.
|
|
204
|
+
await page.waitForSelector('.datetime-ready');
|
|
205
205
|
const datetime = page.locator('ion-datetime');
|
|
206
206
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
207
207
|
const dayButton = page.locator('ion-datetime .calendar-day[data-day="10"][data-month="10"][data-year="2022"]');
|
|
@@ -218,9 +218,9 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
218
218
|
></ion-datetime>
|
|
219
219
|
`, config);
|
|
220
220
|
const datetime = page.locator('ion-datetime');
|
|
221
|
-
const monthColumnItems = page.locator('ion-datetime .month-column
|
|
221
|
+
const monthColumnItems = page.locator('ion-datetime .month-column ion-picker-column-option');
|
|
222
222
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
223
|
-
await page.
|
|
223
|
+
await page.waitForSelector('.datetime-ready');
|
|
224
224
|
await monthColumnItems.nth(0).click(); // switch to January
|
|
225
225
|
await ionChange.next();
|
|
226
226
|
await expect(datetime).toHaveJSProperty('value', '2022-01-15T00:00:00');
|
|
@@ -248,7 +248,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
248
248
|
}
|
|
249
249
|
</script>
|
|
250
250
|
`, config);
|
|
251
|
-
await page.
|
|
251
|
+
await page.waitForSelector('.datetime-ready');
|
|
252
252
|
// Select Jan 10, 2022
|
|
253
253
|
const maxDate = page.locator('ion-datetime .calendar-day[data-day="10"][data-month="1"][data-year="2022"]');
|
|
254
254
|
await maxDate.click();
|
|
@@ -258,7 +258,7 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
258
258
|
const timeButton = page.locator('ion-datetime .time-body');
|
|
259
259
|
await timeButton.click();
|
|
260
260
|
await ionPopoverDidPresent.next();
|
|
261
|
-
const hours = page.locator('ion-popover ion-picker-column
|
|
261
|
+
const hours = page.locator('ion-popover ion-picker-column:nth-child(1) ion-picker-column-option');
|
|
262
262
|
await expect(await hours.count()).toBe(4);
|
|
263
263
|
});
|
|
264
264
|
});
|
|
@@ -11,12 +11,12 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
11
11
|
test.describe(title('datetime: month-year picker'), () => {
|
|
12
12
|
test.beforeEach(async ({ page }) => {
|
|
13
13
|
await page.goto('/src/components/datetime/test/month-year-picker', config);
|
|
14
|
-
await page.
|
|
14
|
+
await page.waitForSelector('.datetime-ready');
|
|
15
15
|
});
|
|
16
16
|
test('should hide the footer when picker is open', async ({ page }) => {
|
|
17
17
|
const datetimeFooter = page.locator('#date-time .datetime-footer');
|
|
18
18
|
await expect(datetimeFooter).toBeVisible();
|
|
19
|
-
const pickerButton = page.locator('#date-time .calendar-month-year >
|
|
19
|
+
const pickerButton = page.locator('#date-time .calendar-month-year > .calendar-month-year-toggle');
|
|
20
20
|
await pickerButton.click();
|
|
21
21
|
await page.waitForChanges();
|
|
22
22
|
await expect(datetimeFooter).not.toBeVisible();
|
|
@@ -41,7 +41,7 @@ class DatetimeMultipleFixture {
|
|
|
41
41
|
</script>
|
|
42
42
|
`, config);
|
|
43
43
|
this.datetime = this.page.locator('ion-datetime');
|
|
44
|
-
await this.page.
|
|
44
|
+
await this.page.waitForSelector('.datetime-ready');
|
|
45
45
|
return this.datetime;
|
|
46
46
|
}
|
|
47
47
|
async expectMultipleDatePicker(id, screenshot) {
|
|
@@ -233,7 +233,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
233
233
|
}
|
|
234
234
|
</script>
|
|
235
235
|
`, config);
|
|
236
|
-
await page.
|
|
236
|
+
await page.waitForSelector(`.datetime-ready`);
|
|
237
237
|
const datetime = page.locator('ion-datetime');
|
|
238
238
|
const header = datetime.locator('.datetime-selected-date');
|
|
239
239
|
await expect(header).toHaveText('Mon, Oct 10');
|
|
@@ -11,7 +11,7 @@ configs().forEach(({ title, screenshot, config }) => {
|
|
|
11
11
|
const openDateTimeBtn = page.locator('ion-button#open-datetime');
|
|
12
12
|
await openDateTimeBtn.click();
|
|
13
13
|
await ionPopoverDidPresent.next();
|
|
14
|
-
await page.
|
|
14
|
+
await page.waitForSelector('.datetime-ready');
|
|
15
15
|
await expect(page).toHaveScreenshot(screenshot(`datetime-position-base`));
|
|
16
16
|
const timepickerBtn = page.locator('ion-datetime .time-body');
|
|
17
17
|
await timepickerBtn.click();
|