@ionic/core 7.6.2-dev.11702924017.193c825c → 7.6.2-dev.11702933439.181fa64e
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 +4 -4
- package/components/backdrop.js +12 -0
- package/components/button-active.js +1 -1
- package/components/button.js +2 -2
- package/components/data.js +1 -1
- package/components/gesture-controller.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime.js +64 -40
- 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/overlays.js +4 -11
- 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/dist/cjs/{app-globals-7def22c8.js → app-globals-cd7be47d.js} +1 -1
- package/dist/cjs/{button-active-466dfc8a.js → button-active-21b0334e.js} +3 -3
- 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-50dcfe2f.js → index-1699be56.js} +24 -16
- package/dist/cjs/{index-3b012034.js → index-4e68b270.js} +1 -1
- package/dist/cjs/{index-17ab7794.js → index-862c03dc.js} +3 -3
- package/dist/cjs/{index-ee07ed59.js → index-d1b59ffa.js} +1 -1
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +10 -10
- package/dist/cjs/ion-alert.cjs.entry.js +6 -6
- package/dist/cjs/ion-app_8.cjs.entry.js +6 -6
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-backdrop.cjs.entry.js +14 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-datetime_3.cjs.entry.js +59 -39
- package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +3 -3
- package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-loading.cjs.entry.js +3 -4
- package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-modal.cjs.entry.js +6 -6
- package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
- package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +89 -106
- package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +20 -27
- package/dist/cjs/ion-popover.cjs.entry.js +4 -5
- 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 +6 -6
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-select_3.cjs.entry.js +4 -5
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-text.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 +4 -4
- package/dist/cjs/{ionic-global-a4edbf03.js → ionic-global-592bef9e.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-b5353f3e.js → ios.transition-1ac35be5.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-67157dd9.js → md.transition-df2947e8.js} +2 -2
- package/dist/cjs/{overlays-7773cbe1.js → overlays-e10edfa0.js} +5 -12
- package/dist/cjs/{status-tap-b5d77c08.js → status-tap-23a3173f.js} +1 -1
- package/dist/cjs/{swipe-back-b8f2330b.js → swipe-back-2a858bbd.js} +2 -2
- package/dist/collection/collection-manifest.json +7 -8
- package/dist/collection/components/accordion-group/accordion-group.js +6 -4
- package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -9
- package/dist/collection/components/action-sheet/action-sheet.js +8 -12
- package/dist/collection/components/action-sheet/action-sheet.md.css +2 -9
- package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +0 -20
- package/dist/collection/components/alert/alert.js +6 -10
- package/dist/collection/components/app/app.js +3 -2
- package/dist/collection/components/backdrop/backdrop.js +12 -0
- package/dist/collection/components/button/button.ios.css +1 -1
- package/dist/collection/components/button/button.md.css +1 -1
- package/dist/collection/components/button/test/wrap/button.e2e.js +24 -12
- package/dist/collection/components/content/content.css +4 -0
- package/dist/collection/components/content/content.js +24 -40
- package/dist/collection/components/datetime/datetime.ios.css +38 -91
- package/dist/collection/components/datetime/datetime.js +45 -30
- package/dist/collection/components/datetime/datetime.md.css +38 -96
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/a11y/datetime.spec.js +9 -6
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -10
- package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
- package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
- package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +41 -43
- package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
- package/dist/collection/components/datetime/test/values/datetime.e2e.js +12 -15
- package/dist/collection/components/datetime/utils/data.js +1 -1
- package/dist/collection/components/icon/test/dir/heart-broken.svg +0 -0
- package/dist/collection/components/item/test/icons/heart-broken.svg +0 -0
- package/dist/collection/components/item-sliding/item-sliding.js +3 -5
- package/dist/collection/components/loading/loading.js +6 -10
- package/dist/collection/components/menu/menu.js +15 -10
- package/dist/collection/components/modal/modal.js +9 -12
- package/dist/collection/components/nav/nav.js +114 -190
- package/dist/collection/components/picker/picker.ios.css +211 -112
- package/dist/collection/components/picker/picker.js +738 -472
- 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 -497
- 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 +544 -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} +32 -63
- package/dist/collection/components/popover/popover.js +18 -21
- package/dist/collection/components/radio/radio.js +6 -4
- package/dist/collection/components/refresher/refresher.js +3 -0
- package/dist/collection/components/reorder-group/reorder-group.js +3 -5
- package/dist/collection/components/ripple-effect/ripple-effect.js +6 -10
- package/dist/collection/components/router/router.js +12 -14
- package/dist/collection/components/router-outlet/router-outlet.js +21 -14
- package/dist/collection/components/select/select.js +3 -5
- package/dist/collection/components/tabs/tabs.js +9 -12
- package/dist/collection/components/toast/toast.js +6 -10
- package/dist/collection/utils/gesture/button-active.js +1 -1
- package/dist/collection/utils/gesture/gesture-controller.js +1 -1
- package/dist/collection/utils/overlays.js +4 -11
- package/dist/docs.d.ts +1 -21
- package/dist/docs.json +786 -1029
- package/dist/esm/{app-globals-8c62bec2.js → app-globals-736d53f6.js} +1 -1
- package/dist/esm/{button-active-2758ff14.js → button-active-7836d6bf.js} +3 -3
- 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-4743453d.js → index-6b0e432e.js} +3 -3
- package/dist/esm/{index-b7d870cf.js → index-78d39194.js} +24 -16
- package/dist/esm/{index-1193f005.js → index-c4ebf628.js} +1 -1
- package/dist/esm/index.js +9 -9
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +10 -10
- package/dist/esm/ion-alert.entry.js +6 -6
- package/dist/esm/ion-app_8.entry.js +6 -6
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +3 -3
- package/dist/esm/ion-backdrop.entry.js +14 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
- package/dist/esm/ion-button_2.entry.js +4 -4
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +2 -2
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +3 -3
- package/dist/esm/ion-datetime_3.entry.js +58 -38
- package/dist/esm/ion-fab_3.entry.js +3 -3
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +3 -3
- package/dist/esm/ion-item-option_3.entry.js +3 -3
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +3 -4
- package/dist/esm/ion-menu_3.entry.js +7 -7
- package/dist/esm/ion-modal.entry.js +6 -6
- package/dist/esm/ion-nav_2.entry.js +4 -4
- package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +89 -106
- package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +20 -27
- package/dist/esm/ion-popover.entry.js +4 -5
- 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 +6 -6
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +3 -3
- package/dist/esm/ion-segment_2.entry.js +3 -3
- package/dist/esm/ion-select_3.entry.js +4 -5
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +2 -2
- package/dist/esm/ion-tab_2.entry.js +1 -1
- package/dist/esm/ion-text.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 +4 -4
- package/dist/esm/{ionic-global-1f99b929.js → ionic-global-6270e632.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-3376ccb2.js → ios.transition-cfb6d320.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-f992779f.js → md.transition-77e73830.js} +2 -2
- package/dist/esm/{overlays-94dac1cb.js → overlays-55cf1508.js} +5 -12
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/esm/{status-tap-16fd8f3d.js → status-tap-92380b33.js} +1 -1
- package/dist/esm/{swipe-back-a8ca7f93.js → swipe-back-a6f386fc.js} +2 -2
- package/dist/esm-es5/app-globals-736d53f6.js +4 -0
- package/dist/esm-es5/button-active-7836d6bf.js +4 -0
- 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-4743453d.js → index-6b0e432e.js} +1 -1
- package/dist/esm-es5/index-78d39194.js +5 -0
- package/dist/esm-es5/{index-1193f005.js → index-c4ebf628.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/ion-accordion_2.entry.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-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.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-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
- package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-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-ripple-effect.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-spinner.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-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.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-global-1f99b929.js → ionic-global-6270e632.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-3376ccb2.js → ios.transition-cfb6d320.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-77e73830.js +4 -0
- package/dist/esm-es5/overlays-55cf1508.js +4 -0
- package/dist/esm-es5/{status-tap-16fd8f3d.js → status-tap-92380b33.js} +1 -1
- package/dist/esm-es5/swipe-back-a6f386fc.js +4 -0
- package/dist/html.html-data.json +13 -152
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/{p-a074be82.system.js → p-0029c932.system.js} +1 -1
- package/dist/ionic/{p-529b24fb.entry.js → p-00afbe80.entry.js} +1 -1
- package/dist/ionic/p-026707ab.js +4 -0
- package/dist/ionic/{p-4981ea0a.system.entry.js → p-0a617e59.system.entry.js} +1 -1
- package/dist/ionic/{p-db05ecb6.system.entry.js → p-0f244e47.system.entry.js} +1 -1
- package/dist/ionic/p-106e9ce9.entry.js +4 -0
- package/dist/ionic/{p-52cfafe9.system.js → p-10f2a748.system.js} +1 -1
- package/dist/ionic/{p-3313c481.entry.js → p-12a41623.entry.js} +1 -1
- package/dist/ionic/{p-0dfa4ab4.system.entry.js → p-149c8c11.system.entry.js} +1 -1
- package/dist/ionic/{p-38531958.system.entry.js → p-1ccbe3ee.system.entry.js} +1 -1
- package/dist/ionic/{p-ba5d9e27.entry.js → p-220ba811.entry.js} +1 -1
- package/dist/ionic/{p-806a9810.entry.js → p-22c7b943.entry.js} +1 -1
- package/dist/ionic/p-22e959cb.entry.js +4 -0
- package/dist/ionic/{p-13d4dfe7.entry.js → p-26af79a8.entry.js} +1 -1
- package/dist/ionic/{p-e33d1ebc.entry.js → p-26afb1cb.entry.js} +1 -1
- package/dist/ionic/{p-9f94c72e.system.js → p-28a04f26.system.js} +1 -1
- package/dist/ionic/p-2bdd791d.system.entry.js +4 -0
- package/dist/ionic/p-2c7cce0a.entry.js +4 -0
- package/dist/ionic/{p-25312768.system.entry.js → p-2c7ee8fe.system.entry.js} +1 -1
- package/dist/ionic/{p-3e1e14d9.system.js → p-31b2326e.system.js} +1 -1
- package/dist/ionic/{p-4685218a.system.entry.js → p-322e9039.system.entry.js} +1 -1
- package/dist/ionic/{p-abd5d0d5.system.entry.js → p-336ea079.system.entry.js} +1 -1
- package/dist/ionic/{p-d2634efe.system.entry.js → p-33a569df.system.entry.js} +1 -1
- package/dist/ionic/p-35ce400e.system.js +4 -0
- package/dist/ionic/{p-bb3fd397.entry.js → p-36704958.entry.js} +1 -1
- package/dist/ionic/p-38be1c0f.system.entry.js +4 -0
- package/dist/ionic/{p-0509fd34.js → p-394865a5.js} +1 -1
- package/dist/ionic/{p-e2737fef.system.entry.js → p-39d6d212.system.entry.js} +1 -1
- package/dist/ionic/{p-6e4c7340.system.entry.js → p-3d0221e5.system.entry.js} +1 -1
- package/dist/ionic/{p-c01803db.entry.js → p-3dd34db9.entry.js} +1 -1
- package/dist/ionic/{p-0aa78a8d.system.js → p-3ef606fa.system.js} +1 -1
- package/dist/ionic/p-4225fa09.js +4 -0
- package/dist/ionic/{p-332ea4d3.system.entry.js → p-42eaba59.system.entry.js} +1 -1
- package/dist/ionic/p-45e296d3.system.entry.js +4 -0
- package/dist/ionic/{p-ed8402d6.entry.js → p-478c4f2e.entry.js} +1 -1
- package/dist/ionic/{p-44dc52e5.entry.js → p-47c90ee4.entry.js} +1 -1
- package/dist/ionic/{p-84b567a6.entry.js → p-494983ab.entry.js} +1 -1
- package/dist/ionic/{p-26c4bf85.entry.js → p-4b3d1d68.entry.js} +1 -1
- package/dist/ionic/{p-cd574dfa.js → p-4b6089e6.js} +1 -1
- package/dist/ionic/{p-9a68d8ef.system.js → p-4fbc0c3b.system.js} +1 -1
- package/dist/ionic/{p-c08fe2c0.entry.js → p-532acc35.entry.js} +1 -1
- package/dist/ionic/p-586de692.system.entry.js +4 -0
- package/dist/ionic/{p-69641343.system.entry.js → p-5d5d621a.system.entry.js} +1 -1
- package/dist/ionic/p-5eea0433.system.entry.js +4 -0
- package/dist/ionic/p-60a574c1.entry.js +4 -0
- package/dist/ionic/{p-0ebc87b7.system.entry.js → p-61cdea9d.system.entry.js} +1 -1
- package/dist/ionic/p-6a6477b2.js +4 -0
- package/dist/ionic/{p-19d9ceb8.system.js → p-6d74d882.system.js} +1 -1
- package/dist/ionic/p-6e58bc9b.system.js +4 -0
- package/dist/ionic/{p-642ac927.entry.js → p-6eb35f60.entry.js} +1 -1
- package/dist/ionic/{p-04377cfa.js → p-70dd9d79.js} +1 -1
- package/dist/ionic/{p-cb8dff22.system.entry.js → p-72ad8f87.system.entry.js} +1 -1
- package/dist/ionic/p-73f47fce.system.entry.js +4 -0
- package/dist/ionic/{p-92bfb607.entry.js → p-754bcac2.entry.js} +1 -1
- package/dist/ionic/p-76cab6f8.js +4 -0
- package/dist/ionic/p-7c057cbc.entry.js +4 -0
- package/dist/ionic/{p-cf53213c.entry.js → p-7c7ffd26.entry.js} +1 -1
- package/dist/ionic/p-7e07c38f.js +5 -0
- package/dist/ionic/{p-f0504446.system.entry.js → p-7fb31fb2.system.entry.js} +1 -1
- package/dist/ionic/{p-b7058a0e.system.entry.js → p-82e7b12b.system.entry.js} +1 -1
- package/dist/ionic/{p-0550f802.entry.js → p-8345c94e.entry.js} +1 -1
- package/dist/ionic/p-86b88102.system.entry.js +4 -0
- package/dist/ionic/p-8ac48377.system.entry.js +4 -0
- package/dist/ionic/{p-1ab2642a.system.js → p-8f1e7b4c.system.js} +1 -1
- package/dist/ionic/{p-beed2450.system.entry.js → p-909a997a.system.entry.js} +1 -1
- package/dist/ionic/{p-20e0e75d.system.entry.js → p-93c75152.system.entry.js} +1 -1
- package/dist/ionic/{p-4793c14c.system.entry.js → p-990912bd.system.entry.js} +1 -1
- package/dist/ionic/{p-803efb5d.entry.js → p-9b837aa0.entry.js} +1 -1
- package/dist/ionic/p-9e098902.entry.js +4 -0
- package/dist/ionic/{p-beeed22c.system.entry.js → p-a0f9488c.system.entry.js} +1 -1
- package/dist/ionic/{p-5ff211d0.system.entry.js → p-a13d22c3.system.entry.js} +1 -1
- package/dist/ionic/{p-97174c1e.js → p-a2cd14c6.js} +1 -1
- package/dist/ionic/p-a37e738b.system.js +4 -0
- package/dist/ionic/{p-6855f26a.entry.js → p-a610605e.entry.js} +1 -1
- package/dist/ionic/{p-0cc80201.entry.js → p-a692f502.entry.js} +1 -1
- package/dist/ionic/{p-964dcdb2.system.entry.js → p-a74e7199.system.entry.js} +1 -1
- package/dist/ionic/{p-11bf2ad0.system.entry.js → p-aa4e59fb.system.entry.js} +1 -1
- package/dist/ionic/{p-bec6ae40.entry.js → p-aa75cca3.entry.js} +1 -1
- package/dist/ionic/p-abcd194b.system.entry.js +4 -0
- package/dist/ionic/{p-b2b5d761.entry.js → p-b3931df6.entry.js} +1 -1
- package/dist/ionic/{p-a3013394.entry.js → p-b62c0f2e.entry.js} +1 -1
- package/dist/ionic/{p-0e908476.system.entry.js → p-b710b39c.system.entry.js} +1 -1
- package/dist/ionic/p-b74c1510.entry.js +4 -0
- package/dist/ionic/{p-950c05ad.entry.js → p-b794b87a.entry.js} +1 -1
- package/dist/ionic/{p-9b97df10.js → p-bb3615f7.js} +1 -1
- package/dist/ionic/{p-d93eed83.system.entry.js → p-be650493.system.entry.js} +1 -1
- package/dist/ionic/{p-42925096.system.entry.js → p-c2e60d23.system.entry.js} +1 -1
- package/dist/ionic/{p-1501b945.system.js → p-c491c7ce.system.js} +1 -1
- package/dist/ionic/{p-7dcf795f.entry.js → p-c661d124.entry.js} +1 -1
- package/dist/ionic/{p-5ad1fe3b.system.js → p-c66b0166.system.js} +1 -1
- package/dist/ionic/{p-20d469d0.system.js → p-c7c8429a.system.js} +1 -1
- package/dist/ionic/{p-f6cae0b2.system.entry.js → p-c8237c3c.system.entry.js} +1 -1
- package/dist/ionic/{p-1b14f0f8.entry.js → p-ca2ea280.entry.js} +1 -1
- package/dist/ionic/{p-3b434dee.system.entry.js → p-ca6fb31a.system.entry.js} +1 -1
- package/dist/ionic/{p-928ee57a.entry.js → p-ca730236.entry.js} +1 -1
- package/dist/ionic/p-cd9c4ffe.system.entry.js +4 -0
- package/dist/ionic/{p-60959b71.entry.js → p-ce7ef475.entry.js} +1 -1
- package/dist/ionic/{p-61e4d3ec.entry.js → p-cea29c88.entry.js} +1 -1
- package/dist/ionic/{p-799da666.entry.js → p-d3f2db71.entry.js} +1 -1
- package/dist/ionic/p-d6f34fe9.entry.js +4 -0
- package/dist/ionic/{p-6e0539ea.system.entry.js → p-d7da1178.system.entry.js} +1 -1
- package/dist/ionic/{p-20755eb0.entry.js → p-d9b88ba6.entry.js} +1 -1
- package/dist/ionic/{p-41208f54.system.entry.js → p-dbe4f2bc.system.entry.js} +1 -1
- package/dist/ionic/{p-9fb45814.entry.js → p-de161adf.entry.js} +1 -1
- package/dist/ionic/p-de3aa772.entry.js +4 -0
- package/dist/ionic/{p-da666998.system.entry.js → p-e292e49b.system.entry.js} +1 -1
- package/dist/ionic/{p-b8a9e195.system.entry.js → p-e3f8c30f.system.entry.js} +1 -1
- package/dist/ionic/{p-ae4b7df8.entry.js → p-e4d320f7.entry.js} +1 -1
- package/dist/ionic/{p-3dc1b0f9.entry.js → p-e579a727.entry.js} +1 -1
- package/dist/ionic/{p-10339dcc.entry.js → p-e5a6f367.entry.js} +1 -1
- package/dist/ionic/{p-4489dd20.system.entry.js → p-e6327ff5.system.entry.js} +1 -1
- package/dist/ionic/{p-7fae5c36.js → p-e89d7c8a.js} +1 -1
- package/dist/ionic/{p-3af5faf8.system.entry.js → p-ec49bd1f.system.entry.js} +1 -1
- package/dist/ionic/{p-3dfc522b.entry.js → p-ed3b7404.entry.js} +1 -1
- package/dist/ionic/{p-19c379da.system.entry.js → p-ef2445a2.system.entry.js} +1 -1
- package/dist/ionic/{p-a49931aa.system.js → p-f30eb152.system.js} +1 -1
- package/dist/ionic/{p-44a56556.js → p-f501137d.js} +1 -1
- package/dist/ionic/{p-8ededb41.js → p-f5d2dc9b.js} +1 -1
- package/dist/ionic/{p-043aa6cc.system.entry.js → p-f7cb002f.system.entry.js} +1 -1
- package/dist/ionic/p-ffb54fd5.entry.js +4 -0
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +0 -1
- 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/menu/menu.d.ts +1 -1
- 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/refresher/refresher.d.ts +3 -0
- package/dist/types/components.d.ts +130 -154
- 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/dist/types/utils/test/playwright/page/utils/goto.d.ts +1 -1
- package/hydrate/index.d.ts +1 -1
- package/hydrate/index.js +2676 -1082
- package/package.json +31 -29
- package/components/ion-picker-column-option.d.ts +0 -11
- package/components/ion-picker-column-option.js +0 -9
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -9
- package/components/ion-picker-legacy.js +0 -309
- package/components/picker-column-option.js +0 -122
- package/components/picker-column2.js +0 -379
- package/dist/cjs/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 -817
- package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +0 -25
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -419
- package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +0 -65
- package/dist/esm/ion-picker-column-option.entry.js +0 -100
- package/dist/esm-es5/app-globals-8c62bec2.js +0 -4
- package/dist/esm-es5/button-active-2758ff14.js +0 -4
- package/dist/esm-es5/index-b7d870cf.js +0 -5
- package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
- package/dist/esm-es5/ion-picker-column.entry.js +0 -4
- package/dist/esm-es5/ion-picker.entry.js +0 -4
- package/dist/esm-es5/md.transition-f992779f.js +0 -4
- package/dist/esm-es5/overlays-94dac1cb.js +0 -4
- package/dist/esm-es5/swipe-back-a8ca7f93.js +0 -4
- package/dist/ionic/p-26ff1180.entry.js +0 -4
- package/dist/ionic/p-290d3fe9.js +0 -5
- package/dist/ionic/p-2f449cdf.system.entry.js +0 -4
- package/dist/ionic/p-3717e641.system.entry.js +0 -4
- package/dist/ionic/p-51abefb7.system.js +0 -4
- package/dist/ionic/p-71483cbb.entry.js +0 -4
- package/dist/ionic/p-73fbf18d.entry.js +0 -4
- package/dist/ionic/p-75a3e35b.entry.js +0 -4
- package/dist/ionic/p-77d78f68.system.entry.js +0 -4
- package/dist/ionic/p-7c0d778d.system.js +0 -4
- package/dist/ionic/p-80ad9792.system.js +0 -4
- package/dist/ionic/p-85a67421.system.entry.js +0 -4
- package/dist/ionic/p-8ad6d643.entry.js +0 -4
- package/dist/ionic/p-9164a09d.entry.js +0 -4
- package/dist/ionic/p-98f35d98.js +0 -4
- package/dist/ionic/p-a06501e3.entry.js +0 -4
- package/dist/ionic/p-a1bd098f.system.entry.js +0 -4
- package/dist/ionic/p-a41eaff2.system.entry.js +0 -4
- package/dist/ionic/p-a60a1ce5.js +0 -4
- package/dist/ionic/p-c001b24f.entry.js +0 -4
- package/dist/ionic/p-c19bf524.entry.js +0 -4
- package/dist/ionic/p-c6176849.system.entry.js +0 -4
- package/dist/ionic/p-cf350317.entry.js +0 -4
- package/dist/ionic/p-d3525765.js +0 -4
- package/dist/ionic/p-dc63dccb.system.entry.js +0 -4
- package/dist/ionic/p-e2903cdc.system.entry.js +0 -4
- package/dist/ionic/p-f0717d98.js +0 -4
- package/dist/ionic/p-f0dea903.system.entry.js +0 -4
- package/dist/ionic/p-f60807dd.system.entry.js +0 -4
- package/dist/ionic/p-f8c5008f.entry.js +0 -4
- package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +0 -144
- 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/cjs/{index-09471526.js → index-677c4d13.js} +0 -0
- /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}/picker-column.md.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/{index-c132c5f1.js → index-4d016006.js} +0 -0
- /package/dist/esm-es5/{data-6a31d701.js → data-775093f5.js} +0 -0
- /package/dist/esm-es5/{index-c132c5f1.js → index-4d016006.js} +0 -0
- /package/dist/ionic/{p-8050b9b9.system.js → p-0c55ffe1.system.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/ionic/{p-ea96fa73.js → p-e90d610c.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
|
@@ -996,7 +996,7 @@ export class Datetime {
|
|
|
996
996
|
const renderArray = forcePresentation === 'time-date'
|
|
997
997
|
? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
|
|
998
998
|
: [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
|
|
999
|
-
return h("ion-picker", null, renderArray);
|
|
999
|
+
return h("ion-picker-internal", null, renderArray);
|
|
1000
1000
|
}
|
|
1001
1001
|
renderDatePickerColumns(forcePresentation) {
|
|
1002
1002
|
return forcePresentation === 'date-time' || forcePresentation === 'time-date'
|
|
@@ -1055,7 +1055,7 @@ export class Datetime {
|
|
|
1055
1055
|
const todayString = workingParts.day !== null
|
|
1056
1056
|
? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
|
|
1057
1057
|
: `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
|
|
1058
|
-
return (h("ion-picker-column", { class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
|
|
1058
|
+
return (h("ion-picker-column-internal", { class: "date-column", color: this.color, disabled: disabled, items: items, value: todayString, onIonChange: (ev) => {
|
|
1059
1059
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1060
1060
|
// Due to a Safari 14 issue we need to destroy
|
|
1061
1061
|
// the scroll listener before we update state
|
|
@@ -1071,7 +1071,7 @@ export class Datetime {
|
|
|
1071
1071
|
// the working parts have been updated.
|
|
1072
1072
|
this.initializeCalendarListener();
|
|
1073
1073
|
ev.stopPropagation();
|
|
1074
|
-
} }
|
|
1074
|
+
} }));
|
|
1075
1075
|
}
|
|
1076
1076
|
renderIndividualDatePickerColumns(forcePresentation) {
|
|
1077
1077
|
const { workingParts, isDateEnabled } = this;
|
|
@@ -1139,8 +1139,7 @@ export class Datetime {
|
|
|
1139
1139
|
}
|
|
1140
1140
|
const { disabled, workingParts } = this;
|
|
1141
1141
|
const activePart = this.getActivePartsWithFallback();
|
|
1142
|
-
|
|
1143
|
-
return (h("ion-picker-column", { class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
|
|
1142
|
+
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) => {
|
|
1144
1143
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1145
1144
|
// Due to a Safari 14 issue we need to destroy
|
|
1146
1145
|
// the scroll listener before we update state
|
|
@@ -1154,7 +1153,7 @@ export class Datetime {
|
|
|
1154
1153
|
// the working parts have been updated.
|
|
1155
1154
|
this.initializeCalendarListener();
|
|
1156
1155
|
ev.stopPropagation();
|
|
1157
|
-
} }
|
|
1156
|
+
} }));
|
|
1158
1157
|
}
|
|
1159
1158
|
renderMonthPickerColumn(months) {
|
|
1160
1159
|
if (months.length === 0) {
|
|
@@ -1162,7 +1161,7 @@ export class Datetime {
|
|
|
1162
1161
|
}
|
|
1163
1162
|
const { disabled, workingParts } = this;
|
|
1164
1163
|
const activePart = this.getActivePartsWithFallback();
|
|
1165
|
-
return (h("ion-picker-column", { class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
|
|
1164
|
+
return (h("ion-picker-column-internal", { class: "month-column", color: this.color, disabled: disabled, items: months, value: workingParts.month, onIonChange: (ev) => {
|
|
1166
1165
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1167
1166
|
// Due to a Safari 14 issue we need to destroy
|
|
1168
1167
|
// the scroll listener before we update state
|
|
@@ -1176,7 +1175,7 @@ export class Datetime {
|
|
|
1176
1175
|
// the working parts have been updated.
|
|
1177
1176
|
this.initializeCalendarListener();
|
|
1178
1177
|
ev.stopPropagation();
|
|
1179
|
-
} }
|
|
1178
|
+
} }));
|
|
1180
1179
|
}
|
|
1181
1180
|
renderYearPickerColumn(years) {
|
|
1182
1181
|
if (years.length === 0) {
|
|
@@ -1184,7 +1183,7 @@ export class Datetime {
|
|
|
1184
1183
|
}
|
|
1185
1184
|
const { disabled, workingParts } = this;
|
|
1186
1185
|
const activePart = this.getActivePartsWithFallback();
|
|
1187
|
-
return (h("ion-picker-column", { class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
|
|
1186
|
+
return (h("ion-picker-column-internal", { class: "year-column", color: this.color, disabled: disabled, items: years, value: workingParts.year, onIonChange: (ev) => {
|
|
1188
1187
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1189
1188
|
// Due to a Safari 14 issue we need to destroy
|
|
1190
1189
|
// the scroll listener before we update state
|
|
@@ -1198,7 +1197,7 @@ export class Datetime {
|
|
|
1198
1197
|
// the working parts have been updated.
|
|
1199
1198
|
this.initializeCalendarListener();
|
|
1200
1199
|
ev.stopPropagation();
|
|
1201
|
-
} }
|
|
1200
|
+
} }));
|
|
1202
1201
|
}
|
|
1203
1202
|
renderTimePickerColumns(forcePresentation) {
|
|
1204
1203
|
if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
|
|
@@ -1227,22 +1226,22 @@ export class Datetime {
|
|
|
1227
1226
|
if (hoursData.length === 0)
|
|
1228
1227
|
return [];
|
|
1229
1228
|
const activePart = this.getActivePartsWithFallback();
|
|
1230
|
-
return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1229
|
+
return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.hour, items: hoursData, numericInput: true, onIonChange: (ev) => {
|
|
1231
1230
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
1232
1231
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
|
|
1233
1232
|
ev.stopPropagation();
|
|
1234
|
-
} }
|
|
1233
|
+
} }));
|
|
1235
1234
|
}
|
|
1236
1235
|
renderMinutePickerColumn(minutesData) {
|
|
1237
1236
|
const { disabled, workingParts } = this;
|
|
1238
1237
|
if (minutesData.length === 0)
|
|
1239
1238
|
return [];
|
|
1240
1239
|
const activePart = this.getActivePartsWithFallback();
|
|
1241
|
-
return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1240
|
+
return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.minute, items: minutesData, numericInput: true, onIonChange: (ev) => {
|
|
1242
1241
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
1243
1242
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
|
|
1244
1243
|
ev.stopPropagation();
|
|
1245
|
-
} }
|
|
1244
|
+
} }));
|
|
1246
1245
|
}
|
|
1247
1246
|
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
1248
1247
|
const { disabled, workingParts } = this;
|
|
@@ -1251,12 +1250,12 @@ export class Datetime {
|
|
|
1251
1250
|
}
|
|
1252
1251
|
const activePart = this.getActivePartsWithFallback();
|
|
1253
1252
|
const isDayPeriodRTL = isLocaleDayPeriodRTL(this.locale);
|
|
1254
|
-
return (h("ion-picker-column", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
|
|
1253
|
+
return (h("ion-picker-column-internal", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, items: dayPeriodData, onIonChange: (ev) => {
|
|
1255
1254
|
const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
|
|
1256
1255
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
1257
1256
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
|
|
1258
1257
|
ev.stopPropagation();
|
|
1259
|
-
} }
|
|
1258
|
+
} }));
|
|
1260
1259
|
}
|
|
1261
1260
|
renderWheelView(forcePresentation) {
|
|
1262
1261
|
const { locale } = this;
|
|
@@ -1277,11 +1276,26 @@ export class Datetime {
|
|
|
1277
1276
|
const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
|
|
1278
1277
|
// don't use the inheritAttributes util because it removes dir from the host, and we still need that
|
|
1279
1278
|
const hostDir = this.el.getAttribute('dir') || undefined;
|
|
1280
|
-
return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1279
|
+
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: () => {
|
|
1280
|
+
var _a;
|
|
1281
|
+
this.toggleMonthAndYearView();
|
|
1282
|
+
/**
|
|
1283
|
+
* TODO: FW-3547
|
|
1284
|
+
*
|
|
1285
|
+
* Currently there is not a way to set the aria-label on the inner button
|
|
1286
|
+
* on the `ion-item` and have it be reactive to changes. This is a workaround
|
|
1287
|
+
* until we either refactor `ion-item` to a button or Stencil adds a way to
|
|
1288
|
+
* have reactive props for built-in properties, such as `aria-label`.
|
|
1289
|
+
*/
|
|
1290
|
+
const { monthYearToggleItemRef } = this;
|
|
1291
|
+
if (monthYearToggleItemRef) {
|
|
1292
|
+
const btn = (_a = monthYearToggleItemRef.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-native');
|
|
1293
|
+
if (btn) {
|
|
1294
|
+
const monthYearAriaLabel = this.showMonthAndYear ? 'Hide year picker' : 'Show year picker';
|
|
1295
|
+
btn.setAttribute('aria-label', monthYearAriaLabel);
|
|
1296
|
+
}
|
|
1297
|
+
}
|
|
1298
|
+
} }, 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) => {
|
|
1285
1299
|
return h("div", { class: "day-of-week" }, d);
|
|
1286
1300
|
}))));
|
|
1287
1301
|
}
|
|
@@ -1442,7 +1456,7 @@ export class Datetime {
|
|
|
1442
1456
|
* This will correctly scroll the element position to the correct time value,
|
|
1443
1457
|
* before the popover is fully presented.
|
|
1444
1458
|
*/
|
|
1445
|
-
const cols = ev.target.querySelectorAll('ion-picker-column');
|
|
1459
|
+
const cols = ev.target.querySelectorAll('ion-picker-column-internal');
|
|
1446
1460
|
// TODO (FW-615): Potentially remove this when intersection observers are fixed in picker column
|
|
1447
1461
|
cols.forEach((col) => col.scrollActiveItemIntoView());
|
|
1448
1462
|
}, style: {
|
|
@@ -2279,8 +2293,9 @@ export class Datetime {
|
|
|
2279
2293
|
"complexType": {
|
|
2280
2294
|
"signature": "(closeOverlay?: boolean) => Promise<void>",
|
|
2281
2295
|
"parameters": [{
|
|
2282
|
-
"
|
|
2283
|
-
"
|
|
2296
|
+
"name": "closeOverlay",
|
|
2297
|
+
"type": "boolean",
|
|
2298
|
+
"docs": ""
|
|
2284
2299
|
}],
|
|
2285
2300
|
"references": {
|
|
2286
2301
|
"Promise": {
|
|
@@ -2299,8 +2314,9 @@ export class Datetime {
|
|
|
2299
2314
|
"complexType": {
|
|
2300
2315
|
"signature": "(startDate?: string) => Promise<void>",
|
|
2301
2316
|
"parameters": [{
|
|
2302
|
-
"
|
|
2303
|
-
"
|
|
2317
|
+
"name": "startDate",
|
|
2318
|
+
"type": "string | undefined",
|
|
2319
|
+
"docs": ""
|
|
2304
2320
|
}],
|
|
2305
2321
|
"references": {
|
|
2306
2322
|
"Promise": {
|
|
@@ -2319,8 +2335,9 @@ export class Datetime {
|
|
|
2319
2335
|
"complexType": {
|
|
2320
2336
|
"signature": "(closeOverlay?: boolean) => Promise<void>",
|
|
2321
2337
|
"parameters": [{
|
|
2322
|
-
"
|
|
2323
|
-
"
|
|
2338
|
+
"name": "closeOverlay",
|
|
2339
|
+
"type": "boolean",
|
|
2340
|
+
"docs": ""
|
|
2324
2341
|
}],
|
|
2325
2342
|
"references": {
|
|
2326
2343
|
"Promise": {
|
|
@@ -2370,5 +2387,3 @@ export class Datetime {
|
|
|
2370
2387
|
}
|
|
2371
2388
|
}
|
|
2372
2389
|
let datetimeIds = 0;
|
|
2373
|
-
const WHEEL_ITEM_PART = 'wheel-item';
|
|
2374
|
-
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;
|
|
@@ -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);
|
|
@@ -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
|
});
|
|
@@ -372,14 +372,4 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
372
372
|
await expect(datetime).toHaveScreenshot(screenshot(`datetime-focus-calendar-day`));
|
|
373
373
|
});
|
|
374
374
|
});
|
|
375
|
-
test.describe(title('datetime: calendar month toggle'), () => {
|
|
376
|
-
test('should have focus styles', async ({ page }) => {
|
|
377
|
-
await page.setContent('<ion-datetime value="2021-01-01"></ion-datetime>', config);
|
|
378
|
-
const datetime = page.locator('ion-datetime');
|
|
379
|
-
await page.waitForSelector('.datetime-ready');
|
|
380
|
-
const monthYearToggle = datetime.locator('.calendar-month-year-toggle');
|
|
381
|
-
monthYearToggle.evaluate((el) => el.classList.add('ion-focused'));
|
|
382
|
-
await expect(datetime).toHaveScreenshot(screenshot(`date-month-toggle-focused`));
|
|
383
|
-
});
|
|
384
|
-
});
|
|
385
375
|
});
|
|
@@ -13,7 +13,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
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 .picker-item:not(.picker-item-empty)');
|
|
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 .picker-item:not(.picker-item-empty)');
|
|
28
28
|
const datetime = page.locator('ion-datetime');
|
|
29
29
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
30
30
|
await monthYearToggle.click();
|
|
@@ -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 { PickerColumnInternal } from "../../../picker-column-internal/picker-column-internal";
|
|
8
|
+
import { PickerInternal } from "../../../picker-internal/picker-internal";
|
|
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, PickerColumnInternal, PickerInternal],
|
|
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-internal');
|
|
28
28
|
await expect(columns.length).toEqual(4);
|
|
29
29
|
columns.forEach((column) => {
|
|
30
30
|
expect(column.disabled).toBe(true);
|
|
@@ -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"
|
|
88
|
+
<ion-datetime prefer-wheel="true" locale="ar-EG" presentation="date" value="2022-01-01"></ion-datetime>
|
|
89
89
|
`, config);
|
|
90
90
|
await page.waitForSelector('.datetime-ready');
|
|
91
|
-
const datetimeYear = page.locator('ion-datetime .year-column
|
|
91
|
+
const datetimeYear = page.locator('ion-datetime .year-column .picker-item[data-value="2022"]');
|
|
92
92
|
await expect(datetimeYear).toHaveText('٢٠٢٢');
|
|
93
93
|
});
|
|
94
94
|
});
|
|
@@ -81,8 +81,8 @@ configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, config }) =>
|
|
|
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:nth-child(1)
|
|
85
|
-
const minutes = page.locator('ion-popover ion-picker-column:nth-child(2)
|
|
84
|
+
const hours = page.locator('ion-popover ion-picker-column-internal:nth-child(1) .picker-item:not(.picker-item-empty)');
|
|
85
|
+
const minutes = page.locator('ion-popover ion-picker-column-internal:nth-child(2) .picker-item:not(.picker-item-empty)');
|
|
86
86
|
expect(await hours.count()).toBe(12);
|
|
87
87
|
expect(await minutes.count()).toBe(60);
|
|
88
88
|
});
|
|
@@ -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:first-of-type
|
|
162
|
+
const hourPickerItems = page.locator('ion-datetime ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
|
|
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:first-of-type
|
|
178
|
+
const hourPickerItems = page.locator('ion-datetime ion-picker-column-internal:first-of-type .picker-item:not(.picker-item-empty)');
|
|
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', () => {
|
|
@@ -218,7 +218,7 @@ 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 .picker-item:not(.picker-item-empty)');
|
|
222
222
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
223
223
|
await page.waitForSelector('.datetime-ready');
|
|
224
224
|
await monthColumnItems.nth(0).click(); // switch to January
|
|
@@ -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:nth-child(1)
|
|
261
|
+
const hours = page.locator('ion-popover ion-picker-column-internal:nth-child(1) .picker-item:not(.picker-item-empty)');
|
|
262
262
|
await expect(await hours.count()).toBe(4);
|
|
263
263
|
});
|
|
264
264
|
});
|
|
@@ -16,7 +16,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
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 > ion-item');
|
|
20
20
|
await pickerButton.click();
|
|
21
21
|
await page.waitForChanges();
|
|
22
22
|
await expect(datetimeFooter).not.toBeVisible();
|