voyager-ionic-core 7.7.3 → 8.0.0-beta.2
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 +6 -6
- package/components/alert.js +4 -4
- package/components/backdrop.js +1 -13
- package/components/button-active.js +1 -1
- package/components/button.js +4 -4
- package/components/buttons.js +3 -3
- package/components/checkbox.js +8 -80
- package/components/data.js +24 -39
- package/components/gesture-controller.js +1 -1
- package/components/hardware-back-button.js +3 -3
- package/components/helpers.js +2 -9
- package/components/index9.js +1 -1
- package/components/input-shims.js +8 -1
- package/components/input.utils.js +12 -0
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-app.js +4 -4
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +3 -3
- package/components/ion-badge.js +4 -4
- package/components/ion-breadcrumb.js +4 -4
- package/components/ion-breadcrumbs.js +2 -2
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +2 -2
- package/components/ion-card-subtitle.js +4 -4
- package/components/ion-card-title.js +3 -3
- package/components/ion-card.js +3 -3
- package/components/ion-chip.js +2 -2
- package/components/ion-col.js +2 -2
- package/components/ion-content.js +5 -6
- package/components/ion-datetime-button.js +15 -14
- package/components/ion-datetime.js +109 -111
- package/components/ion-fab-button.js +4 -4
- package/components/ion-fab-list.js +3 -3
- package/components/ion-fab.js +2 -2
- package/components/ion-footer.js +3 -3
- package/components/ion-grid.js +2 -2
- package/components/ion-header.js +3 -3
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +4 -4
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input.js +7 -93
- package/components/ion-item-divider.js +4 -4
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +4 -4
- package/components/ion-item-options.js +4 -4
- package/components/ion-item-sliding.js +2 -2
- package/components/ion-loading.js +4 -4
- package/components/ion-menu-button.js +3 -3
- package/components/ion-menu-toggle.js +2 -2
- package/components/ion-menu.js +29 -44
- package/components/ion-modal.js +43 -28
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +9 -5
- package/components/ion-note.js +43 -1
- 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 +321 -0
- package/components/ion-picker.js +1 -315
- package/components/ion-progress-bar.js +7 -4
- package/components/ion-range.js +160 -109
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +4 -4
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-router-link.js +3 -3
- package/components/ion-router-outlet.js +2 -2
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +36 -7
- package/components/ion-segment-button.js +5 -5
- package/components/ion-segment.js +2 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +83 -183
- package/components/ion-skeleton-text.js +2 -2
- package/components/ion-split-pane.js +28 -17
- package/components/ion-tab-bar.js +4 -4
- package/components/ion-tab-button.js +4 -4
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +2 -2
- package/components/ion-textarea.js +7 -70
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +3 -3
- package/components/ion-toast.js +12 -6
- package/components/ion-toggle.js +7 -64
- package/components/ion-toolbar.js +4 -4
- package/components/item.js +29 -95
- package/components/label.js +5 -5
- package/components/list-header.js +4 -4
- package/components/list.js +2 -2
- package/components/overlays.js +151 -59
- package/components/picker-column-option.js +124 -0
- package/components/picker-column.js +367 -324
- package/components/picker-column2.js +381 -0
- package/components/{picker-internal.js → picker.js} +33 -26
- package/components/popover.js +6 -6
- package/components/radio-group.js +1 -1
- package/components/radio.js +8 -81
- package/components/refresher.utils.js +1 -1
- package/components/ripple-effect.js +1 -1
- package/components/select-popover.js +14 -20
- package/components/spinner.js +1 -1
- package/components/swipe-back.js +1 -1
- package/css/core.css +90 -27
- package/css/core.css.map +1 -1
- package/css/display.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/themes/dark.always.css +160 -0
- package/css/themes/dark.always.css.map +1 -0
- package/css/themes/dark.class.css +160 -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 +162 -0
- package/css/themes/dark.system.css.map +1 -0
- package/css/themes/high-contrast-dark.always.css +180 -0
- package/css/themes/high-contrast-dark.always.css.map +1 -0
- package/css/themes/high-contrast-dark.class.css +180 -0
- package/css/themes/high-contrast-dark.class.css.map +1 -0
- package/css/themes/high-contrast-dark.css +3 -0
- package/css/themes/high-contrast-dark.css.map +1 -0
- package/css/themes/high-contrast-dark.system.css +182 -0
- package/css/themes/high-contrast-dark.system.css.map +1 -0
- package/css/themes/high-contrast.always.css +101 -0
- package/css/themes/high-contrast.always.css.map +1 -0
- package/css/themes/high-contrast.class.css +101 -0
- package/css/themes/high-contrast.class.css.map +1 -0
- package/css/themes/high-contrast.css +3 -0
- package/css/themes/high-contrast.css.map +1 -0
- package/css/themes/high-contrast.system.css +103 -0
- package/css/themes/high-contrast.system.css.map +1 -0
- package/css/typography.css +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-c2840aea.js → animation-3e7bb91e.js} +1 -1
- package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-e132c781.js} +1 -1
- package/dist/cjs/{button-active-2d6520ec.js → button-active-60ecf64d.js} +3 -3
- package/dist/cjs/{data-a5109f09.js → data-21dc0f81.js} +23 -40
- package/dist/cjs/{framework-delegate-e0e13baa.js → framework-delegate-0499d444.js} +1 -1
- package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
- package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-1c67a5a2.js} +5 -5
- package/dist/cjs/{helpers-da4c0ed1.js → helpers-668b3d95.js} +1 -9
- package/dist/cjs/{index-62290fec.js → index-275cc12e.js} +1 -1
- package/dist/cjs/{index-0ffe376d.js → index-2d21d526.js} +443 -14
- package/dist/cjs/{index-4c96691f.js → index-ba7ba0af.js} +4 -4
- package/dist/cjs/{index-bef98850.js → index-c49cb371.js} +1 -1
- package/dist/cjs/{index-9bfcb6e8.js → index-e4b6c97e.js} +4 -4
- package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
- package/dist/cjs/index.cjs.js +13 -13
- package/dist/cjs/{input-shims-a9a85bb9.js → input-shims-b419f083.js} +10 -3
- package/dist/cjs/{input.utils-d7dca90f.js → input.utils-32c0a14a.js} +13 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-action-sheet.cjs.entry.js +16 -16
- package/dist/cjs/ion-alert.cjs.entry.js +14 -14
- package/dist/cjs/ion-app_8.cjs.entry.js +33 -34
- package/dist/cjs/ion-avatar_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-back-button.cjs.entry.js +6 -6
- package/dist/cjs/ion-backdrop.cjs.entry.js +3 -15
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +9 -9
- package/dist/cjs/ion-button_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-card_5.cjs.entry.js +16 -16
- package/dist/cjs/ion-checkbox.cjs.entry.js +9 -77
- package/dist/cjs/ion-chip.cjs.entry.js +4 -4
- package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-datetime-button.cjs.entry.js +18 -17
- package/dist/cjs/ion-datetime_3.cjs.entry.js +120 -115
- package/dist/cjs/ion-fab_3.cjs.entry.js +12 -12
- package/dist/cjs/ion-img.cjs.entry.js +4 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +9 -9
- package/dist/cjs/ion-input.cjs.entry.js +12 -92
- package/dist/cjs/ion-item-option_3.cjs.entry.js +13 -13
- package/dist/cjs/ion-item_8.cjs.entry.js +48 -102
- package/dist/cjs/ion-loading.cjs.entry.js +12 -11
- package/dist/cjs/ion-menu_3.cjs.entry.js +40 -56
- package/dist/cjs/ion-modal.cjs.entry.js +53 -38
- package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +106 -0
- package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +124 -93
- package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +32 -25
- package/dist/cjs/ion-popover.cjs.entry.js +13 -12
- package/dist/cjs/ion-progress-bar.cjs.entry.js +9 -6
- package/dist/cjs/ion-radio_2.cjs.entry.js +10 -79
- package/dist/cjs/ion-range.cjs.entry.js +163 -111
- package/dist/cjs/ion-refresher_2.cjs.entry.js +12 -12
- package/dist/cjs/ion-reorder_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +6 -6
- package/dist/cjs/ion-searchbar.cjs.entry.js +33 -9
- package/dist/cjs/ion-segment_2.cjs.entry.js +11 -11
- package/dist/cjs/ion-select_3.cjs.entry.js +78 -169
- package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
- package/dist/cjs/ion-split-pane.cjs.entry.js +28 -18
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +11 -11
- package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +11 -71
- package/dist/cjs/ion-toast.cjs.entry.js +20 -14
- package/dist/cjs/ion-toggle.cjs.entry.js +10 -66
- package/dist/cjs/{ionic-global-59a10130.js → ionic-global-5762eca9.js} +1 -1
- package/dist/cjs/ionic.cjs.js +28 -5
- package/dist/cjs/{ios.transition-96679580.js → ios.transition-3e119901.js} +4 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-d6c98822.js → md.transition-c1392f92.js} +4 -4
- package/dist/cjs/{notch-controller-bfbcbb7a.js → notch-controller-08a24f39.js} +1 -1
- package/dist/cjs/{overlays-db5d96f3.js → overlays-44b8d0e0.js} +153 -60
- package/dist/cjs/{status-tap-7ad5f0fb.js → status-tap-32430b3e.js} +3 -3
- package/dist/cjs/{swipe-back-dcd0d4a9.js → swipe-back-b8484483.js} +3 -3
- package/dist/collection/collection-manifest.json +8 -7
- package/dist/collection/components/accordion-group/accordion-group.md.css +4 -26
- package/dist/collection/components/action-sheet/action-sheet.ios.css +16 -9
- package/dist/collection/components/action-sheet/action-sheet.js +4 -4
- package/dist/collection/components/action-sheet/action-sheet.md.css +10 -3
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +23 -14
- package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +19 -0
- package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +22 -0
- package/dist/collection/components/alert/alert.ios.css +33 -80
- package/dist/collection/components/alert/alert.js +2 -2
- package/dist/collection/components/alert/alert.md.css +25 -121
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +22 -9
- package/dist/collection/components/app/app.js +4 -4
- package/dist/collection/components/avatar/avatar.js +1 -1
- package/dist/collection/components/back-button/back-button.ios.css +1 -1
- package/dist/collection/components/back-button/back-button.js +2 -2
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +21 -0
- package/dist/collection/components/backdrop/backdrop.js +1 -13
- package/dist/collection/components/badge/badge.ios.css +1 -1
- package/dist/collection/components/badge/badge.js +2 -2
- 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/breadcrumb/breadcrumb.ios.css +9 -9
- package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +9 -9
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
- package/dist/collection/components/button/button.ios.css +11 -11
- package/dist/collection/components/button/button.js +2 -2
- 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/wrap/button.e2e.js +12 -24
- package/dist/collection/components/buttons/buttons.js +2 -2
- package/dist/collection/components/card/card.ios.css +1 -1
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/card/card.md.css +1 -1
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-header/card-header.js +2 -2
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +1 -1
- package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +1 -1
- package/dist/collection/components/card-title/card-title.js +2 -2
- package/dist/collection/components/card-title/card-title.md.css +1 -1
- package/dist/collection/components/checkbox/checkbox.ios.css +10 -88
- package/dist/collection/components/checkbox/checkbox.js +5 -118
- package/dist/collection/components/checkbox/checkbox.md.css +7 -85
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +11 -2
- package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +10 -0
- package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
- package/dist/collection/components/chip/chip.js +2 -2
- package/dist/collection/components/col/col.js +2 -2
- package/dist/collection/components/content/content.css +0 -4
- package/dist/collection/components/content/content.js +3 -4
- package/dist/collection/components/datetime/datetime.ios.css +105 -117
- package/dist/collection/components/datetime/datetime.js +74 -83
- package/dist/collection/components/datetime/datetime.md.css +106 -114
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +90 -1
- 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/format.spec.js +65 -15
- 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 +43 -41
- 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 +15 -12
- package/dist/collection/components/datetime/utils/data.js +1 -1
- package/dist/collection/components/datetime/utils/format.js +24 -37
- package/dist/collection/components/datetime/utils/validate.js +45 -0
- package/dist/collection/components/datetime-button/datetime-button.ios.css +107 -0
- package/dist/collection/components/datetime-button/datetime-button.js +15 -14
- package/dist/collection/components/datetime-button/{datetime-button.css → datetime-button.md.css} +10 -7
- package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +77 -0
- package/dist/collection/components/fab/fab.js +2 -2
- package/dist/collection/components/fab-button/fab-button.ios.css +7 -7
- package/dist/collection/components/fab-button/fab-button.js +2 -2
- package/dist/collection/components/fab-button/fab-button.md.css +1 -1
- package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +50 -0
- package/dist/collection/components/fab-list/fab-list.css +4 -42
- package/dist/collection/components/fab-list/fab-list.js +2 -2
- package/dist/collection/components/footer/footer.js +2 -2
- package/dist/collection/components/grid/grid.js +2 -2
- package/dist/collection/components/header/header.js +2 -2
- package/dist/collection/components/img/img.js +1 -1
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +3 -3
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +3 -3
- package/dist/collection/components/input/input.ios.css +13 -104
- package/dist/collection/components/input/input.js +6 -144
- package/dist/collection/components/input/input.md.css +39 -218
- package/dist/collection/components/input/test/a11y/input.e2e.js +41 -3
- package/dist/collection/components/input/test/highlight/input.e2e.js +144 -0
- package/dist/collection/components/input/test/item/input.e2e.js +21 -0
- package/dist/collection/components/item/item.ios.css +8 -224
- package/dist/collection/components/item/item.js +22 -169
- package/dist/collection/components/item/item.md.css +15 -451
- package/dist/collection/components/item/test/a11y/item.e2e.js +0 -40
- package/dist/collection/components/item/test/basic/item.e2e.js +0 -5
- package/dist/collection/components/item/test/item.spec.js +1 -1
- package/dist/collection/components/item-divider/item-divider.ios.css +3 -3
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-divider/item-divider.md.css +7 -17
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.ios.css +2 -2
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-option/item-option.md.css +1 -1
- package/dist/collection/components/item-options/item-options.ios.css +1 -1
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-options/item-options.md.css +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +28 -0
- package/dist/collection/components/label/label.ios.css +1 -6
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/label/label.md.css +2 -77
- package/dist/collection/components/label/test/a11y/label.e2e.js +20 -0
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list/list.md.css +2 -26
- package/dist/collection/components/list-header/list-header.ios.css +2 -2
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/list-header/list-header.md.css +1 -1
- package/dist/collection/components/loading/loading.ios.css +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/loading/loading.md.css +3 -3
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +21 -5
- package/dist/collection/components/menu/menu.ios.css +72 -53
- package/dist/collection/components/menu/menu.js +35 -43
- package/dist/collection/components/menu/menu.md.css +72 -53
- package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +14 -0
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -1
- package/dist/collection/components/modal/modal.ios.css +9 -38
- package/dist/collection/components/modal/modal.js +37 -5
- package/dist/collection/components/modal/modal.md.css +1 -1
- package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
- package/dist/collection/components/modal/utils.js +2 -8
- package/dist/collection/components/nav/nav.js +23 -3
- package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.ios.css +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/note/note.md.css +1 -1
- package/dist/collection/components/picker/picker.ios.css +97 -234
- package/dist/collection/components/picker/picker.js +488 -742
- package/dist/collection/components/picker/picker.md.css +98 -226
- 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 +514 -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.ios.css → picker-legacy/picker.ios.css} +155 -117
- package/dist/collection/components/picker-legacy/picker.js +821 -0
- package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.md.css} +144 -115
- 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-column → picker-legacy-column}/picker-column.ios.css +2 -26
- 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 +3 -27
- 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/popover/popover.ios.css +3 -27
- package/dist/collection/components/popover/popover.js +5 -4
- package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -11
- package/dist/collection/components/progress-bar/progress-bar.js +4 -1
- package/dist/collection/components/progress-bar/progress-bar.md.css +8 -10
- package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +24 -0
- package/dist/collection/components/radio/radio.ios.css +10 -101
- package/dist/collection/components/radio/radio.js +5 -119
- package/dist/collection/components/radio/radio.md.css +8 -105
- package/dist/collection/components/radio/test/a11y/radio.e2e.js +114 -81
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/range/range.ios.css +12 -90
- package/dist/collection/components/range/range.js +156 -144
- package/dist/collection/components/range/range.md.css +22 -152
- package/dist/collection/components/range/test/a11y/range.e2e.js +20 -10
- package/dist/collection/components/range/test/range-events.e2e.js +28 -1
- package/dist/collection/components/range/test/range.spec.js +0 -12
- package/dist/collection/components/refresher/refresher.ios.css +4 -27
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher/refresher.md.css +7 -30
- package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +26 -0
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.css +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +23 -0
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.ios.css +11 -59
- package/dist/collection/components/searchbar/searchbar.js +84 -5
- package/dist/collection/components/searchbar/searchbar.md.css +10 -82
- package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment/test/a11y/segment.e2e.js +23 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +3 -3
- package/dist/collection/components/segment-button/segment-button.js +3 -3
- package/dist/collection/components/segment-button/segment-button.md.css +2 -2
- package/dist/collection/components/select/select.ios.css +13 -79
- package/dist/collection/components/select/select.js +64 -173
- package/dist/collection/components/select/select.md.css +42 -196
- package/dist/collection/components/select/test/a11y/select.e2e.js +68 -4
- package/dist/collection/components/select/test/highlight/select.e2e.js +88 -4
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +1 -1
- 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/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.ios.css +3 -55
- package/dist/collection/components/split-pane/split-pane.js +48 -14
- package/dist/collection/components/split-pane/split-pane.md.css +3 -55
- package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +41 -0
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.ios.css +4 -4
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.md.css +3 -3
- package/dist/collection/components/tab-button/tab-button.ios.css +16 -94
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tab-button/tab-button.md.css +10 -93
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +41 -3
- package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +144 -0
- package/dist/collection/components/textarea/test/item/textarea.e2e.js +21 -0
- package/dist/collection/components/textarea/textarea.ios.css +15 -123
- package/dist/collection/components/textarea/textarea.js +5 -84
- package/dist/collection/components/textarea/textarea.md.css +41 -241
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.ios.css +2 -21
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +89 -24
- package/dist/collection/components/toast/toast.ios.css +8 -55
- package/dist/collection/components/toast/toast.js +9 -3
- package/dist/collection/components/toast/toast.md.css +10 -57
- package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +8 -2
- package/dist/collection/components/toggle/toggle.ios.css +11 -90
- package/dist/collection/components/toggle/toggle.js +5 -101
- package/dist/collection/components/toggle/toggle.md.css +6 -91
- package/dist/collection/components/toolbar/toolbar.ios.css +2 -2
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/components/toolbar/toolbar.md.css +1 -1
- package/dist/collection/css/test/a11y/typography.e2e.js +18 -0
- package/dist/collection/themes/test/colors/theme.e2e.js +170 -0
- package/dist/collection/utils/focus-trap.js +78 -0
- package/dist/collection/utils/forms/index.js +0 -1
- package/dist/collection/utils/gesture/button-active.js +1 -1
- package/dist/collection/utils/gesture/gesture-controller.js +1 -1
- package/dist/collection/utils/hardware-back-button.js +2 -2
- package/dist/collection/utils/helpers.js +1 -8
- package/dist/collection/utils/input-shims/input-shims.js +8 -1
- package/dist/collection/utils/native/status-bar.js +0 -11
- package/dist/collection/utils/overlays.js +75 -57
- package/dist/collection/utils/slot-mutation-controller.js +12 -0
- package/dist/collection/utils/test/aria.spec.js +2 -1
- package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
- package/dist/collection/utils/test/overlays/overlays.spec.js +53 -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 +688 -481
- package/dist/esm/{animation-6a0c5338.js → animation-9a23ed8d.js} +1 -1
- package/dist/esm/{app-globals-5cf6195b.js → app-globals-80842d68.js} +1 -1
- package/dist/esm/{button-active-47ac8092.js → button-active-c6e18fac.js} +3 -3
- package/dist/esm/{data-0f3ab200.js → data-ae11fd43.js} +24 -39
- package/dist/esm/{framework-delegate-ed4ba327.js → framework-delegate-3fd96df8.js} +1 -1
- package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
- package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-fb295e3a.js} +5 -5
- package/dist/esm/{helpers-be245865.js → helpers-f51cf76f.js} +2 -9
- package/dist/esm/{index-020f5464.js → index-1262064c.js} +1 -1
- package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
- package/dist/esm/{index-4c30cddd.js → index-5d6a0317.js} +443 -15
- package/dist/esm/{index-348ed70a.js → index-6da05eef.js} +4 -4
- package/dist/esm/{index-f3946ac1.js → index-86688780.js} +1 -1
- package/dist/esm/{index-e1b622e3.js → index-9d7e5d3e.js} +4 -4
- package/dist/esm/index.js +13 -13
- package/dist/esm/{input-shims-5329bbe8.js → input-shims-2a4ad5a1.js} +10 -3
- package/dist/esm/{input.utils-a445f677.js → input.utils-d2dee48e.js} +13 -1
- package/dist/esm/ion-accordion_2.entry.js +4 -4
- package/dist/esm/ion-action-sheet.entry.js +16 -16
- package/dist/esm/ion-alert.entry.js +14 -14
- package/dist/esm/ion-app_8.entry.js +33 -34
- package/dist/esm/ion-avatar_3.entry.js +8 -8
- package/dist/esm/ion-back-button.entry.js +6 -6
- package/dist/esm/ion-backdrop.entry.js +3 -15
- package/dist/esm/ion-breadcrumb_2.entry.js +9 -9
- package/dist/esm/ion-button_2.entry.js +7 -7
- package/dist/esm/ion-card_5.entry.js +16 -16
- package/dist/esm/ion-checkbox.entry.js +9 -77
- package/dist/esm/ion-chip.entry.js +4 -4
- package/dist/esm/ion-col_3.entry.js +7 -7
- package/dist/esm/ion-datetime-button.entry.js +18 -17
- package/dist/esm/ion-datetime_3.entry.js +119 -114
- package/dist/esm/ion-fab_3.entry.js +12 -12
- package/dist/esm/ion-img.entry.js +4 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +9 -9
- package/dist/esm/ion-input.entry.js +12 -92
- package/dist/esm/ion-item-option_3.entry.js +13 -13
- package/dist/esm/ion-item_8.entry.js +48 -102
- package/dist/esm/ion-loading.entry.js +12 -11
- package/dist/esm/ion-menu_3.entry.js +41 -57
- package/dist/esm/ion-modal.entry.js +53 -38
- package/dist/esm/ion-nav_2.entry.js +13 -10
- package/dist/esm/ion-picker-column-option.entry.js +102 -0
- package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +124 -93
- package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +32 -25
- package/dist/esm/ion-popover.entry.js +13 -12
- package/dist/esm/ion-progress-bar.entry.js +9 -6
- package/dist/esm/ion-radio_2.entry.js +10 -79
- package/dist/esm/ion-range.entry.js +164 -112
- package/dist/esm/ion-refresher_2.entry.js +12 -12
- package/dist/esm/ion-reorder_2.entry.js +7 -7
- package/dist/esm/ion-ripple-effect.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +6 -6
- package/dist/esm/ion-searchbar.entry.js +33 -9
- package/dist/esm/ion-segment_2.entry.js +11 -11
- package/dist/esm/ion-select_3.entry.js +76 -167
- package/dist/esm/ion-spinner.entry.js +3 -3
- package/dist/esm/ion-split-pane.entry.js +28 -18
- package/dist/esm/ion-tab-bar_2.entry.js +11 -11
- package/dist/esm/ion-tab_2.entry.js +6 -6
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +12 -72
- package/dist/esm/ion-toast.entry.js +21 -15
- package/dist/esm/ion-toggle.entry.js +10 -66
- package/dist/esm/{ionic-global-ad9a1810.js → ionic-global-a589c12c.js} +1 -1
- package/dist/esm/ionic.js +29 -6
- package/dist/esm/{ios.transition-7459f819.js → ios.transition-fbde96b0.js} +4 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-b8224313.js → md.transition-76e0020b.js} +4 -4
- package/dist/esm/{notch-controller-6bd3e0f9.js → notch-controller-00572cf8.js} +1 -1
- package/dist/esm/{overlays-19b26885.js → overlays-b1ac1c63.js} +153 -61
- package/dist/esm/{status-tap-b41ece3c.js → status-tap-84b41f36.js} +3 -3
- package/dist/esm/{swipe-back-c6d0e5d9.js → swipe-back-4f2e5d47.js} +3 -3
- package/dist/esm-es5/{animation-6a0c5338.js → animation-9a23ed8d.js} +1 -1
- package/dist/esm-es5/app-globals-80842d68.js +4 -0
- package/dist/esm-es5/button-active-c6e18fac.js +4 -0
- package/dist/esm-es5/data-ae11fd43.js +4 -0
- package/dist/esm-es5/{framework-delegate-ed4ba327.js → framework-delegate-3fd96df8.js} +1 -1
- package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
- package/dist/esm-es5/hardware-back-button-fb295e3a.js +4 -0
- package/dist/esm-es5/helpers-f51cf76f.js +4 -0
- package/dist/esm-es5/index-1262064c.js +4 -0
- package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
- package/dist/esm-es5/index-5d6a0317.js +5 -0
- package/dist/esm-es5/{index-348ed70a.js → index-6da05eef.js} +1 -1
- package/dist/esm-es5/{index-f3946ac1.js → index-86688780.js} +1 -1
- package/dist/esm-es5/{index-e1b622e3.js → index-9d7e5d3e.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{input-shims-5329bbe8.js → input-shims-2a4ad5a1.js} +1 -1
- package/dist/esm-es5/input.utils-d2dee48e.js +4 -0
- 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-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-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-ad9a1810.js → ionic-global-a589c12c.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-7459f819.js → ios.transition-fbde96b0.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-76e0020b.js +4 -0
- package/dist/esm-es5/{notch-controller-6bd3e0f9.js → notch-controller-00572cf8.js} +1 -1
- package/dist/esm-es5/overlays-b1ac1c63.js +4 -0
- package/dist/esm-es5/{status-tap-b41ece3c.js → status-tap-84b41f36.js} +1 -1
- package/dist/esm-es5/{swipe-back-c6d0e5d9.js → swipe-back-4f2e5d47.js} +1 -1
- package/dist/html.html-data.json +176 -63
- 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-cbcffe6e.system.js → p-01171ead.system.js} +1 -1
- package/dist/ionic/{p-5d7e32ce.js → p-031c5621.js} +1 -1
- package/dist/ionic/{p-1a680496.entry.js → p-03f3ebd2.entry.js} +1 -1
- package/dist/ionic/{p-f02c41af.system.js → p-04f9ce05.system.js} +1 -1
- package/dist/ionic/p-063c093d.system.entry.js +4 -0
- package/dist/ionic/p-06e951a9.entry.js +4 -0
- package/dist/ionic/{p-822730c4.entry.js → p-070cf7c3.entry.js} +1 -1
- package/dist/ionic/p-07a0190a.system.entry.js +4 -0
- package/dist/ionic/p-0afaf65b.system.entry.js +4 -0
- package/dist/ionic/p-0b175848.entry.js +4 -0
- package/dist/ionic/p-0da58e53.entry.js +4 -0
- package/dist/ionic/p-0eb381c3.system.js +4 -0
- package/dist/ionic/p-144ae947.js +4 -0
- package/dist/ionic/{p-a3df16b9.system.entry.js → p-15e2ff5f.system.entry.js} +1 -1
- package/dist/ionic/{p-d425b1de.entry.js → p-19243ae6.entry.js} +1 -1
- package/dist/ionic/p-1acaf641.entry.js +4 -0
- package/dist/ionic/{p-ce1c0a0e.system.entry.js → p-1d1394da.system.entry.js} +2 -2
- package/dist/ionic/p-1e5c0c49.js +4 -0
- package/dist/ionic/p-2028668d.system.entry.js +4 -0
- package/dist/ionic/p-2070f8d8.entry.js +4 -0
- package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
- package/dist/ionic/p-219c17cf.system.entry.js +4 -0
- package/dist/ionic/p-21e88629.entry.js +4 -0
- package/dist/ionic/p-234dc736.entry.js +4 -0
- package/dist/ionic/p-237b1791.system.entry.js +4 -0
- package/dist/ionic/{p-ceceac26.js → p-239906f1.js} +1 -1
- package/dist/ionic/p-25648922.system.entry.js +4 -0
- package/dist/ionic/{p-b727af6a.entry.js → p-29ecf879.entry.js} +1 -1
- package/dist/ionic/p-2c560619.system.entry.js +4 -0
- package/dist/ionic/p-2e2635b4.system.entry.js +4 -0
- package/dist/ionic/p-2f53f47a.entry.js +4 -0
- package/dist/ionic/p-30dfa360.system.js +4 -0
- package/dist/ionic/p-314ae72a.js +4 -0
- package/dist/ionic/{p-97ca0cb9.system.js → p-33e39575.system.js} +1 -1
- package/dist/ionic/p-355736ea.js +4 -0
- package/dist/ionic/p-373e757d.entry.js +4 -0
- package/dist/ionic/{p-bd313b73.system.js → p-3944820a.system.js} +1 -1
- package/dist/ionic/{p-02ad4bbe.js → p-39483fc9.js} +1 -1
- package/dist/ionic/p-39860681.entry.js +4 -0
- package/dist/ionic/{p-a6c0a380.js → p-3a572692.js} +1 -1
- package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
- package/dist/ionic/p-42d9f81e.entry.js +4 -0
- package/dist/ionic/p-45a2b1ee.system.entry.js +4 -0
- package/dist/ionic/{p-779aede8.js → p-46a4e4e8.js} +1 -1
- package/dist/ionic/{p-7670acd8.entry.js → p-48fef2f1.entry.js} +1 -1
- package/dist/ionic/p-493bce1f.entry.js +4 -0
- package/dist/ionic/{p-bcd9cad8.system.js → p-4997d7dc.system.js} +1 -1
- package/dist/ionic/{p-fe320051.system.js → p-49a205d0.system.js} +1 -1
- package/dist/ionic/{p-12a8643e.js → p-4ba6d7d1.js} +1 -1
- package/dist/ionic/p-4d6ec139.entry.js +4 -0
- package/dist/ionic/p-4d7230bd.system.entry.js +4 -0
- package/dist/ionic/{p-2c118b1e.js → p-4da2ae44.js} +1 -1
- package/dist/ionic/p-5054b3db.entry.js +4 -0
- package/dist/ionic/p-50d19fc7.system.entry.js +4 -0
- package/dist/ionic/p-513abaf6.system.entry.js +4 -0
- package/dist/ionic/p-517b76cb.entry.js +4 -0
- package/dist/ionic/{p-942a9358.js → p-51b1a6be.js} +1 -1
- package/dist/ionic/p-53c592ec.system.js +4 -0
- package/dist/ionic/{p-abcedc15.system.entry.js → p-566818dd.system.entry.js} +1 -1
- package/dist/ionic/p-59e86adb.js +4 -0
- package/dist/ionic/p-5f9abba8.system.entry.js +4 -0
- package/dist/ionic/p-6042920d.system.entry.js +4 -0
- package/dist/ionic/{p-88e9052d.entry.js → p-65374504.entry.js} +1 -1
- package/dist/ionic/{p-b6279412.entry.js → p-66596659.entry.js} +1 -1
- package/dist/ionic/p-667290b0.system.js +4 -0
- package/dist/ionic/{p-337ac0f5.entry.js → p-66e50777.entry.js} +1 -1
- package/dist/ionic/{p-62b7320a.system.js → p-67dbcd3b.system.js} +1 -1
- package/dist/ionic/p-696db6f4.system.js +4 -0
- package/dist/ionic/p-69df28fd.entry.js +4 -0
- package/dist/ionic/p-6d0e7669.system.entry.js +4 -0
- package/dist/ionic/p-6d1f5de9.system.entry.js +4 -0
- package/dist/ionic/p-6d75fbe8.system.entry.js +4 -0
- package/dist/ionic/{p-9998cb62.system.entry.js → p-7162350a.system.entry.js} +1 -1
- package/dist/ionic/p-7200f2da.entry.js +4 -0
- package/dist/ionic/p-739f8b95.system.entry.js +4 -0
- package/dist/ionic/p-75addf49.entry.js +4 -0
- package/dist/ionic/{p-de55ec45.js → p-78b3da77.js} +1 -1
- package/dist/ionic/p-7c7e495d.system.js +4 -0
- package/dist/ionic/{p-1b3ffb2f.js → p-7d4f6f18.js} +1 -1
- package/dist/ionic/p-824d44c5.system.entry.js +4 -0
- package/dist/ionic/p-8c0b08db.entry.js +4 -0
- package/dist/ionic/p-8dfe436d.system.js +4 -0
- package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
- package/dist/ionic/{p-86813176.system.entry.js → p-91567c90.system.entry.js} +1 -1
- package/dist/ionic/{p-6e23d039.entry.js → p-95648db9.entry.js} +1 -1
- package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
- package/dist/ionic/p-9c970454.entry.js +4 -0
- package/dist/ionic/{p-6525a8cd.system.js → p-9e3177a5.system.js} +1 -1
- package/dist/ionic/p-a03c993e.entry.js +4 -0
- package/dist/ionic/{p-baf8eeac.system.entry.js → p-a37d4fe9.system.entry.js} +1 -1
- package/dist/ionic/{p-717e2526.system.entry.js → p-a43fbe0a.system.entry.js} +2 -2
- package/dist/ionic/{p-ebc86ce9.system.entry.js → p-a5c33d6b.system.entry.js} +1 -1
- package/dist/ionic/{p-079da3df.entry.js → p-a7f788ec.entry.js} +1 -1
- package/dist/ionic/p-acd64713.system.entry.js +4 -0
- package/dist/ionic/{p-89ca4c4b.system.js → p-af9256a0.system.js} +1 -1
- package/dist/ionic/p-b0850af6.system.entry.js +4 -0
- package/dist/ionic/p-b0d35de4.system.js +4 -0
- package/dist/ionic/p-b996756b.entry.js +4 -0
- package/dist/ionic/p-ba9120fe.system.entry.js +4 -0
- package/dist/ionic/p-bb78b64e.entry.js +4 -0
- package/dist/ionic/{p-2c4bfe1c.entry.js → p-bbc4f653.entry.js} +1 -1
- package/dist/ionic/p-c34d1515.js +4 -0
- package/dist/ionic/{p-a85d9047.system.entry.js → p-c4390f10.system.entry.js} +1 -1
- package/dist/ionic/p-c629d22b.system.js +5 -0
- package/dist/ionic/p-c834c535.system.entry.js +4 -0
- package/dist/ionic/p-c8675b7b.system.entry.js +4 -0
- package/dist/ionic/p-c8f7f923.entry.js +4 -0
- package/dist/ionic/p-c962e9ea.entry.js +4 -0
- package/dist/ionic/p-cada6331.entry.js +4 -0
- package/dist/ionic/p-cc19ecba.system.entry.js +4 -0
- package/dist/ionic/p-ce36d285.system.js +4 -0
- package/dist/ionic/p-d09c9468.system.entry.js +4 -0
- package/dist/ionic/p-d10bbab7.entry.js +4 -0
- package/dist/ionic/p-d268f7e2.system.entry.js +4 -0
- package/dist/ionic/p-d3c1c23f.entry.js +4 -0
- package/dist/ionic/{p-644d03d7.system.entry.js → p-d4be0d81.system.entry.js} +1 -1
- package/dist/ionic/p-d5ef3a0a.entry.js +4 -0
- package/dist/ionic/p-d60342e3.js +4 -0
- package/dist/ionic/{p-657ccdd6.entry.js → p-d85eebc3.entry.js} +1 -1
- package/dist/ionic/p-d9dfdbb5.system.entry.js +4 -0
- package/dist/ionic/p-da5bbd4f.entry.js +4 -0
- package/dist/ionic/p-dad515dc.js +4 -0
- package/dist/ionic/{p-3079950e.entry.js → p-de39f314.entry.js} +1 -1
- package/dist/ionic/p-de4c700f.entry.js +4 -0
- package/dist/ionic/{p-6afef6c1.system.js → p-e01ebeba.system.js} +1 -1
- package/dist/ionic/p-e222fdd1.entry.js +4 -0
- package/dist/ionic/p-e5e492d8.entry.js +4 -0
- package/dist/ionic/{p-4b8a620f.system.entry.js → p-e9412fe7.system.entry.js} +1 -1
- package/dist/ionic/{p-2c86025e.system.js → p-ea5173f9.system.js} +1 -1
- package/dist/ionic/p-eb546888.entry.js +4 -0
- package/dist/ionic/{p-05253db9.js → p-eee87ebb.js} +1 -1
- package/dist/ionic/p-f012e8f2.system.entry.js +4 -0
- package/dist/ionic/{p-18918a24.system.entry.js → p-f15b0bbc.system.entry.js} +1 -1
- package/dist/ionic/{p-288649db.system.entry.js → p-f15f8140.system.entry.js} +1 -1
- package/dist/ionic/{p-125f8cdd.system.js → p-f3e8c505.system.js} +1 -1
- package/dist/ionic/{p-56ee6d9a.js → p-f5cb9689.js} +1 -1
- package/dist/ionic/p-f687573e.system.js +4 -0
- package/dist/ionic/p-f6db2e96.system.entry.js +4 -0
- package/dist/ionic/p-f8502e85.js +5 -0
- package/dist/ionic/p-f8dfae89.system.entry.js +4 -0
- package/dist/ionic/p-fcec3b7a.system.entry.js +4 -0
- package/dist/ionic/{p-91f4e611.system.entry.js → p-ff740d68.system.entry.js} +2 -2
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +8 -0
- package/dist/types/components/backdrop/backdrop.d.ts +0 -3
- package/dist/types/components/checkbox/checkbox.d.ts +1 -24
- package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
- package/dist/types/components/datetime/datetime.d.ts +9 -2
- package/dist/types/components/datetime/utils/data.d.ts +11 -7
- package/dist/types/components/datetime/utils/format.d.ts +7 -13
- package/dist/types/components/datetime/utils/validate.d.ts +8 -0
- package/dist/types/components/input/input.d.ts +0 -26
- package/dist/types/components/item/item.d.ts +0 -32
- package/dist/types/components/menu/menu-interface.d.ts +1 -0
- package/dist/types/components/menu/menu.d.ts +14 -6
- package/dist/types/components/modal/utils.d.ts +0 -4
- 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 -133
- 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/radio/radio.d.ts +1 -24
- package/dist/types/components/range/range.d.ts +30 -21
- package/dist/types/components/searchbar/searchbar.d.ts +38 -0
- package/dist/types/components/select/select.d.ts +0 -15
- package/dist/types/components/split-pane/split-pane.d.ts +14 -2
- package/dist/types/components/textarea/textarea.d.ts +0 -17
- package/dist/types/components/toast/toast-interface.d.ts +0 -4
- package/dist/types/components/toggle/toggle.d.ts +1 -21
- package/dist/types/components.d.ts +198 -241
- package/dist/types/interface.d.ts +1 -1
- package/dist/types/utils/config.d.ts +2 -2
- package/dist/types/utils/focus-trap.d.ts +35 -0
- package/dist/types/utils/forms/index.d.ts +0 -1
- package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
- package/dist/types/utils/hardware-back-button.d.ts +1 -1
- package/dist/types/utils/helpers.d.ts +0 -1
- package/dist/types/utils/native/status-bar.d.ts +0 -1
- package/dist/types/utils/overlays.d.ts +5 -8
- package/dist/types/utils/test/playwright/generator.d.ts +3 -1
- package/hydrate/index.js +2404 -2603
- package/package.json +1 -2
- package/components/form-controller.js +0 -64
- 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/note.js +0 -48
- package/components/picker-column-internal.js +0 -392
- package/dist/cjs/form-controller-c83330c0.js +0 -66
- package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +0 -68
- package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +0 -14
- package/dist/collection/components/input/test/item/input.spec.js +0 -24
- package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +0 -28
- package/dist/collection/components/input/test/legacy/basic/input.e2e.js +0 -181
- package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +0 -55
- package/dist/collection/components/input/test/legacy/input-events.e2e.js +0 -71
- package/dist/collection/components/input/test/legacy/masking/input.e2e.js +0 -26
- package/dist/collection/components/input/test/legacy/spec/input.e2e.js +0 -16
- package/dist/collection/components/item/test/counter/item.e2e.js +0 -49
- package/dist/collection/components/item/test/highlight/item.e2e.js +0 -14
- package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +0 -14
- package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +0 -14
- package/dist/collection/components/item/test/legacy/fill/item.e2e.js +0 -14
- package/dist/collection/components/item/test/legacy/form/item.e2e.js +0 -14
- package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
- 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/collection/components/radio/test/legacy/a11y/radio.e2e.js +0 -53
- package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +0 -127
- package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +0 -122
- package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +0 -30
- package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +0 -38
- package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +0 -49
- package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +0 -14
- package/dist/collection/components/range/test/legacy/basic/range.e2e.js +0 -75
- package/dist/collection/components/range/test/legacy/range-events.e2e.js +0 -90
- package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +0 -32
- package/dist/collection/components/select/test/legacy/async/select.e2e.js +0 -19
- package/dist/collection/components/select/test/legacy/basic/select.e2e.js +0 -145
- package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +0 -67
- package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +0 -13
- package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +0 -16
- package/dist/collection/components/select/test/legacy/spec/select.e2e.js +0 -14
- package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +0 -18
- package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +0 -39
- package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +0 -31
- package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +0 -58
- package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +0 -43
- package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +0 -25
- package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +0 -83
- package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +0 -37
- package/dist/collection/components/toggle/test/legacy/sizes/power-outline.svg +0 -1
- package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +0 -14
- package/dist/collection/utils/forms/form-controller.js +0 -61
- package/dist/esm/form-controller-21dd62b1.js +0 -64
- package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
- package/dist/esm-es5/button-active-47ac8092.js +0 -4
- package/dist/esm-es5/data-0f3ab200.js +0 -4
- package/dist/esm-es5/form-controller-21dd62b1.js +0 -4
- package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
- package/dist/esm-es5/helpers-be245865.js +0 -4
- package/dist/esm-es5/index-020f5464.js +0 -4
- package/dist/esm-es5/index-4c30cddd.js +0 -5
- package/dist/esm-es5/input.utils-a445f677.js +0 -4
- 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/md.transition-b8224313.js +0 -4
- package/dist/esm-es5/overlays-19b26885.js +0 -4
- package/dist/ionic/p-021f9d72.entry.js +0 -4
- package/dist/ionic/p-02542247.system.entry.js +0 -4
- package/dist/ionic/p-0b34d3a7.system.js +0 -4
- package/dist/ionic/p-12527c4b.entry.js +0 -4
- package/dist/ionic/p-15a40a0b.system.entry.js +0 -4
- package/dist/ionic/p-1636923f.system.js +0 -4
- package/dist/ionic/p-16a61810.entry.js +0 -4
- package/dist/ionic/p-1846513c.js +0 -4
- package/dist/ionic/p-1bc9b5f5.system.js +0 -4
- package/dist/ionic/p-1f16d040.entry.js +0 -4
- package/dist/ionic/p-1f19958f.system.entry.js +0 -4
- package/dist/ionic/p-2178329b.entry.js +0 -4
- package/dist/ionic/p-257046d2.system.js +0 -4
- package/dist/ionic/p-262024fd.entry.js +0 -4
- package/dist/ionic/p-2765a571.system.entry.js +0 -4
- package/dist/ionic/p-2ea71956.system.entry.js +0 -4
- package/dist/ionic/p-2fd3c3dd.entry.js +0 -4
- package/dist/ionic/p-36be3332.js +0 -4
- package/dist/ionic/p-437f4d02.system.entry.js +0 -4
- package/dist/ionic/p-46bcc2f5.js +0 -4
- package/dist/ionic/p-4788693d.entry.js +0 -4
- package/dist/ionic/p-479f5926.system.entry.js +0 -4
- package/dist/ionic/p-482ea916.system.entry.js +0 -4
- package/dist/ionic/p-49f481cc.system.entry.js +0 -4
- package/dist/ionic/p-521b3971.entry.js +0 -4
- package/dist/ionic/p-5cb5f63d.system.entry.js +0 -4
- package/dist/ionic/p-5de920f4.system.entry.js +0 -4
- package/dist/ionic/p-5fc8d5ef.system.js +0 -4
- package/dist/ionic/p-6812d37d.js +0 -4
- package/dist/ionic/p-6b6ca3f5.system.entry.js +0 -4
- package/dist/ionic/p-6c45c617.js +0 -4
- package/dist/ionic/p-6f59cdbc.system.entry.js +0 -4
- package/dist/ionic/p-70fbf4e2.entry.js +0 -4
- package/dist/ionic/p-72fa96bf.system.js +0 -5
- package/dist/ionic/p-7330c044.system.js +0 -4
- package/dist/ionic/p-741a0f0d.system.entry.js +0 -4
- package/dist/ionic/p-76b8bcb8.system.entry.js +0 -4
- package/dist/ionic/p-7a615a5a.entry.js +0 -4
- package/dist/ionic/p-7e16220b.entry.js +0 -4
- package/dist/ionic/p-7e838f43.system.entry.js +0 -4
- package/dist/ionic/p-7f30ad48.entry.js +0 -4
- package/dist/ionic/p-80aed9fb.system.entry.js +0 -4
- package/dist/ionic/p-84b85535.entry.js +0 -4
- package/dist/ionic/p-85f66c3c.entry.js +0 -4
- package/dist/ionic/p-860e2539.system.entry.js +0 -4
- package/dist/ionic/p-8cc34120.entry.js +0 -4
- package/dist/ionic/p-8e651c29.entry.js +0 -4
- package/dist/ionic/p-9056778e.system.entry.js +0 -4
- package/dist/ionic/p-96084f36.entry.js +0 -4
- package/dist/ionic/p-973b4db3.entry.js +0 -4
- package/dist/ionic/p-98aa0553.entry.js +0 -4
- package/dist/ionic/p-9de75bac.system.entry.js +0 -4
- package/dist/ionic/p-a02ea777.entry.js +0 -4
- package/dist/ionic/p-a1036ce7.js +0 -4
- package/dist/ionic/p-a1222c24.entry.js +0 -4
- package/dist/ionic/p-a4aa6dd2.system.entry.js +0 -4
- package/dist/ionic/p-a667dd1f.system.js +0 -4
- package/dist/ionic/p-a8459bfb.entry.js +0 -4
- package/dist/ionic/p-ae2b3a7a.system.entry.js +0 -4
- package/dist/ionic/p-ae828bd9.system.entry.js +0 -4
- package/dist/ionic/p-b0aa3806.system.entry.js +0 -4
- package/dist/ionic/p-b27bba38.system.entry.js +0 -4
- package/dist/ionic/p-b4d2f43c.system.js +0 -4
- package/dist/ionic/p-b58686e0.entry.js +0 -4
- package/dist/ionic/p-ba0fbecc.entry.js +0 -4
- package/dist/ionic/p-bdca4784.js +0 -4
- package/dist/ionic/p-c1a871ff.system.entry.js +0 -4
- package/dist/ionic/p-c1c7309e.entry.js +0 -4
- package/dist/ionic/p-c7288e78.system.entry.js +0 -4
- package/dist/ionic/p-cb3065b8.entry.js +0 -4
- package/dist/ionic/p-cb9812f7.entry.js +0 -4
- package/dist/ionic/p-cfb4d7e0.js +0 -4
- package/dist/ionic/p-d143fefa.system.entry.js +0 -4
- package/dist/ionic/p-d6c6541b.system.entry.js +0 -4
- package/dist/ionic/p-df504a37.system.js +0 -4
- package/dist/ionic/p-dff97cfa.entry.js +0 -4
- package/dist/ionic/p-e1c52dc6.entry.js +0 -4
- package/dist/ionic/p-e4e74b5f.system.entry.js +0 -4
- package/dist/ionic/p-e626800f.system.entry.js +0 -4
- package/dist/ionic/p-e94c1402.entry.js +0 -4
- package/dist/ionic/p-ebc1ca90.system.js +0 -4
- package/dist/ionic/p-ed4760ef.entry.js +0 -4
- package/dist/ionic/p-ed7a529f.js +0 -5
- package/dist/ionic/p-f0e54781.system.entry.js +0 -4
- package/dist/ionic/p-f7dce541.js +0 -4
- package/dist/ionic/p-fa8d3b01.entry.js +0 -4
- package/dist/ionic/p-fbd01db3.system.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/types/utils/forms/form-controller.d.ts +0 -15
- /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}/test/test.utils.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
|
@@ -60,7 +60,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
60
60
|
<ion-datetime presentation="date" prefer-wheel="true" min="2019-05-05" max="2023-10-01" value="2019-05-30"></ion-datetime>
|
|
61
61
|
`, config);
|
|
62
62
|
await page.locator('.datetime-ready').waitFor();
|
|
63
|
-
const dayValues = page.locator('ion-datetime .day-column
|
|
63
|
+
const dayValues = page.locator('ion-datetime .day-column ion-picker-column-option');
|
|
64
64
|
expect(await dayValues.count()).toEqual(27);
|
|
65
65
|
});
|
|
66
66
|
test('should respect the max bounds', async ({ page }) => {
|
|
@@ -68,7 +68,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
68
68
|
<ion-datetime presentation="date" prefer-wheel="true" min="2019-05-05" max="2023-10-01" value="2023-10-01"></ion-datetime>
|
|
69
69
|
`, config);
|
|
70
70
|
await page.locator('.datetime-ready').waitFor();
|
|
71
|
-
const dayValues = page.locator('ion-datetime .day-column
|
|
71
|
+
const dayValues = page.locator('ion-datetime .day-column ion-picker-column-option');
|
|
72
72
|
expect(await dayValues.count()).toEqual(1);
|
|
73
73
|
});
|
|
74
74
|
test('should respect isDateEnabled preference', async ({ page }) => {
|
|
@@ -86,9 +86,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
86
86
|
</script>
|
|
87
87
|
`, config);
|
|
88
88
|
await page.locator('.datetime-ready').waitFor();
|
|
89
|
-
const disabledMonths = page.locator('.month-column
|
|
90
|
-
const disabledYears = page.locator('.year-column
|
|
91
|
-
const disabledDays = page.locator('.day-column
|
|
89
|
+
const disabledMonths = page.locator('.month-column ion-picker-column-option.option-disabled');
|
|
90
|
+
const disabledYears = page.locator('.year-column ion-picker-column-option.option-disabled');
|
|
91
|
+
const disabledDays = page.locator('.day-column ion-picker-column-option.option-disabled');
|
|
92
92
|
expect(await disabledMonths.count()).toBe(0);
|
|
93
93
|
expect(await disabledYears.count()).toBe(0);
|
|
94
94
|
expect(await disabledDays.count()).toBe(15);
|
|
@@ -105,9 +105,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
105
105
|
></ion-datetime>
|
|
106
106
|
`, config);
|
|
107
107
|
await page.locator('.datetime-ready').waitFor();
|
|
108
|
-
const monthValues = page.locator('.month-column
|
|
109
|
-
const yearValues = page.locator('.year-column
|
|
110
|
-
const dayValues = page.locator('.day-column
|
|
108
|
+
const monthValues = page.locator('.month-column ion-picker-column-option');
|
|
109
|
+
const yearValues = page.locator('.year-column ion-picker-column-option');
|
|
110
|
+
const dayValues = page.locator('.day-column ion-picker-column-option');
|
|
111
111
|
expect(await monthValues.count()).toBe(2);
|
|
112
112
|
expect(await yearValues.count()).toBe(3);
|
|
113
113
|
expect(await dayValues.count()).toBe(5);
|
|
@@ -134,7 +134,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
134
134
|
`, config);
|
|
135
135
|
await page.locator('.datetime-ready').waitFor();
|
|
136
136
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
137
|
-
const monthValues = page.locator('.month-column
|
|
137
|
+
const monthValues = page.locator('.month-column ion-picker-column-option');
|
|
138
138
|
// Change month value
|
|
139
139
|
await monthValues.nth(0).click();
|
|
140
140
|
await ionChange.next();
|
|
@@ -161,7 +161,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
161
161
|
`, config);
|
|
162
162
|
await page.locator('.datetime-ready').waitFor();
|
|
163
163
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
164
|
-
const dayValues = page.locator('.day-column
|
|
164
|
+
const dayValues = page.locator('.day-column ion-picker-column-option');
|
|
165
165
|
// Change day value
|
|
166
166
|
await dayValues.nth(0).click();
|
|
167
167
|
await ionChange.next();
|
|
@@ -175,7 +175,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
175
175
|
`, config);
|
|
176
176
|
await page.locator('.datetime-ready').waitFor();
|
|
177
177
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
178
|
-
const yearValues = page.locator('.year-column
|
|
178
|
+
const yearValues = page.locator('.year-column ion-picker-column-option');
|
|
179
179
|
/**
|
|
180
180
|
* Change year value
|
|
181
181
|
* The 0th index is the current
|
|
@@ -192,9 +192,9 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
192
192
|
const datetime = page.locator('ion-datetime');
|
|
193
193
|
await datetime.evaluate((el) => (el.value = '2021-05-25T12:40:00.000Z'));
|
|
194
194
|
await page.waitForChanges();
|
|
195
|
-
const selectedMonth = datetime.locator('.month-column
|
|
196
|
-
const selectedDay = datetime.locator('.day-column
|
|
197
|
-
const selectedYear = datetime.locator('.year-column
|
|
195
|
+
const selectedMonth = datetime.locator('.month-column ion-picker-column-option.option-active');
|
|
196
|
+
const selectedDay = datetime.locator('.day-column ion-picker-column-option.option-active');
|
|
197
|
+
const selectedYear = datetime.locator('.year-column ion-picker-column-option.option-active');
|
|
198
198
|
await expect(selectedMonth).toHaveText(/May/);
|
|
199
199
|
await expect(selectedDay).toHaveText(/25/);
|
|
200
200
|
await expect(selectedYear).toHaveText(/2021/);
|
|
@@ -213,8 +213,8 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
213
213
|
></ion-datetime>
|
|
214
214
|
`, config);
|
|
215
215
|
await page.locator('.datetime-ready').waitFor();
|
|
216
|
-
const monthValues = page.locator('.month-column
|
|
217
|
-
const dayValues = page.locator('.day-column
|
|
216
|
+
const monthValues = page.locator('.month-column ion-picker-column-option');
|
|
217
|
+
const dayValues = page.locator('.day-column ion-picker-column-option');
|
|
218
218
|
await expect(monthValues).toHaveText(['1月', '2月', '3月']);
|
|
219
219
|
await expect(dayValues).toHaveText(['1日', '2日', '3日']);
|
|
220
220
|
});
|
|
@@ -228,7 +228,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
228
228
|
></ion-datetime>
|
|
229
229
|
`, config);
|
|
230
230
|
await page.locator('.datetime-ready').waitFor();
|
|
231
|
-
const columns = page.locator('ion-picker-column
|
|
231
|
+
const columns = page.locator('ion-picker-column');
|
|
232
232
|
await expect(columns.nth(0)).toHaveClass(/month-column/);
|
|
233
233
|
await expect(columns.nth(1)).toHaveClass(/day-column/);
|
|
234
234
|
await expect(columns.nth(2)).toHaveClass(/year-column/);
|
|
@@ -243,7 +243,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
243
243
|
></ion-datetime>
|
|
244
244
|
`, config);
|
|
245
245
|
await page.locator('.datetime-ready').waitFor();
|
|
246
|
-
const columns = page.locator('ion-picker-column
|
|
246
|
+
const columns = page.locator('ion-picker-column');
|
|
247
247
|
await expect(columns.nth(0)).toHaveClass(/day-column/);
|
|
248
248
|
await expect(columns.nth(1)).toHaveClass(/month-column/);
|
|
249
249
|
await expect(columns.nth(2)).toHaveClass(/year-column/);
|
|
@@ -256,7 +256,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
256
256
|
<ion-datetime presentation="date-time" prefer-wheel="true" min="2019-05-05" value="2019-05-10T16:30:00"></ion-datetime>
|
|
257
257
|
`, config);
|
|
258
258
|
await page.locator('.datetime-ready').waitFor();
|
|
259
|
-
const dayValues = page.locator('ion-datetime .date-column
|
|
259
|
+
const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
|
|
260
260
|
expect(await dayValues.count()).toEqual(57);
|
|
261
261
|
});
|
|
262
262
|
test('should respect the max bounds', async ({ page }) => {
|
|
@@ -264,7 +264,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
264
264
|
<ion-datetime presentation="date-time" prefer-wheel="true" max="2023-06-10" value="2023-06-05T16:30:00"></ion-datetime>
|
|
265
265
|
`, config);
|
|
266
266
|
await page.locator('.datetime-ready').waitFor();
|
|
267
|
-
const dayValues = page.locator('ion-datetime .date-column
|
|
267
|
+
const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
|
|
268
268
|
expect(await dayValues.count()).toEqual(41);
|
|
269
269
|
});
|
|
270
270
|
test('should respect isDateEnabled preference', async ({ page }) => {
|
|
@@ -282,7 +282,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
282
282
|
</script>
|
|
283
283
|
`, config);
|
|
284
284
|
await page.locator('.datetime-ready').waitFor();
|
|
285
|
-
const disabledDates = page.locator('.date-column
|
|
285
|
+
const disabledDates = page.locator('.date-column ion-picker-column-option.option-disabled');
|
|
286
286
|
expect(await disabledDates.count()).toBe(44);
|
|
287
287
|
});
|
|
288
288
|
test('should respect month, day, and year preferences', async ({ page }) => {
|
|
@@ -297,7 +297,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
297
297
|
></ion-datetime>
|
|
298
298
|
`, config);
|
|
299
299
|
await page.locator('.datetime-ready').waitFor();
|
|
300
|
-
const dateValues = page.locator('.date-column
|
|
300
|
+
const dateValues = page.locator('.date-column ion-picker-column-option');
|
|
301
301
|
expect(await dateValues.count()).toBe(5);
|
|
302
302
|
});
|
|
303
303
|
test('should correctly localize the date data', async ({ page }) => {
|
|
@@ -312,7 +312,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
312
312
|
></ion-datetime>
|
|
313
313
|
`, config);
|
|
314
314
|
await page.locator('.datetime-ready').waitFor();
|
|
315
|
-
const dateValues = page.locator('.date-column
|
|
315
|
+
const dateValues = page.locator('.date-column ion-picker-column-option');
|
|
316
316
|
await expect(dateValues).toHaveText(['2月1日(火)', '2月2日(水)', '2月3日(木)']);
|
|
317
317
|
});
|
|
318
318
|
test('should respect min and max bounds even across years', async ({ page }) => {
|
|
@@ -327,15 +327,16 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
327
327
|
`, config);
|
|
328
328
|
await page.locator('.datetime-ready').waitFor();
|
|
329
329
|
const dateColumn = page.locator('.date-column');
|
|
330
|
-
const
|
|
330
|
+
const dateColumnScrollEl = dateColumn.locator('.picker-opts');
|
|
331
|
+
const dateValues = dateColumn.locator('ion-picker-column-option');
|
|
331
332
|
expect(await dateValues.count()).toBe(90);
|
|
332
333
|
/**
|
|
333
334
|
* Select 1st item to change the dates rendered
|
|
334
335
|
*/
|
|
335
|
-
await expect(dateValues.nth(0)).
|
|
336
|
-
await
|
|
336
|
+
await expect(dateValues.nth(0)).toHaveJSProperty('value', '2022-1-1');
|
|
337
|
+
await dateColumnScrollEl.evaluate((el) => (el.scrollTop = 0));
|
|
337
338
|
await page.waitForChanges();
|
|
338
|
-
await expect(dateValues.nth(0)).
|
|
339
|
+
await expect(dateValues.nth(0)).toHaveJSProperty('value', '2021-12-1');
|
|
339
340
|
});
|
|
340
341
|
test('should keep sliding window if default window is within min and max constraints', async ({ page }) => {
|
|
341
342
|
await page.setContent(`
|
|
@@ -348,7 +349,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
348
349
|
></ion-datetime>
|
|
349
350
|
`, config);
|
|
350
351
|
await page.locator('.datetime-ready').waitFor();
|
|
351
|
-
const dayValues = page.locator('.date-column
|
|
352
|
+
const dayValues = page.locator('.date-column ion-picker-column-option');
|
|
352
353
|
expect(await dayValues.count()).toBe(92);
|
|
353
354
|
});
|
|
354
355
|
test('should narrow sliding window if default window is not within min and max constraints', async ({ page }) => {
|
|
@@ -362,7 +363,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
362
363
|
></ion-datetime>
|
|
363
364
|
`, config);
|
|
364
365
|
await page.locator('.datetime-ready').waitFor();
|
|
365
|
-
const dayValues = page.locator('.date-column
|
|
366
|
+
const dayValues = page.locator('.date-column ion-picker-column-option');
|
|
366
367
|
expect(await dayValues.count()).toBe(15);
|
|
367
368
|
});
|
|
368
369
|
test('selecting date should update value when no value is set', async ({ page }) => {
|
|
@@ -374,7 +375,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
374
375
|
`, config);
|
|
375
376
|
await page.locator('.datetime-ready').waitFor();
|
|
376
377
|
const ionChange = await page.spyOnEvent('ionChange');
|
|
377
|
-
const dayValues = page.locator('.date-column
|
|
378
|
+
const dayValues = page.locator('.date-column ion-picker-column-option');
|
|
378
379
|
// Change day/month value
|
|
379
380
|
await dayValues.nth(0).click();
|
|
380
381
|
await ionChange.next();
|
|
@@ -386,7 +387,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
386
387
|
<ion-datetime presentation="time-date" prefer-wheel="true" min="2019-05-05" value="2019-05-10T16:30:00"></ion-datetime>
|
|
387
388
|
`, config);
|
|
388
389
|
await page.locator('.datetime-ready').waitFor();
|
|
389
|
-
const dayValues = page.locator('ion-datetime .date-column
|
|
390
|
+
const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
|
|
390
391
|
expect(await dayValues.count()).toEqual(57);
|
|
391
392
|
});
|
|
392
393
|
test('should respect the max bounds', async ({ page }) => {
|
|
@@ -394,7 +395,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
394
395
|
<ion-datetime presentation="time-date" prefer-wheel="true" max="2023-06-10" value="2023-06-05T16:30:00"></ion-datetime>
|
|
395
396
|
`, config);
|
|
396
397
|
await page.locator('.datetime-ready').waitFor();
|
|
397
|
-
const dayValues = page.locator('ion-datetime .date-column
|
|
398
|
+
const dayValues = page.locator('ion-datetime .date-column ion-picker-column-option');
|
|
398
399
|
expect(await dayValues.count()).toEqual(41);
|
|
399
400
|
});
|
|
400
401
|
test('should respect isDateEnabled preference', async ({ page }) => {
|
|
@@ -412,7 +413,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
412
413
|
</script>
|
|
413
414
|
`, config);
|
|
414
415
|
await page.locator('.datetime-ready').waitFor();
|
|
415
|
-
const disabledDates = page.locator('.date-column
|
|
416
|
+
const disabledDates = page.locator('.date-column ion-picker-column-option.option-disabled');
|
|
416
417
|
expect(await disabledDates.count()).toBe(44);
|
|
417
418
|
});
|
|
418
419
|
test('should respect month, day, and year preferences', async ({ page }) => {
|
|
@@ -427,7 +428,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
427
428
|
></ion-datetime>
|
|
428
429
|
`, config);
|
|
429
430
|
await page.locator('.datetime-ready').waitFor();
|
|
430
|
-
const dateValues = page.locator('.date-column
|
|
431
|
+
const dateValues = page.locator('.date-column ion-picker-column-option');
|
|
431
432
|
expect(await dateValues.count()).toBe(5);
|
|
432
433
|
});
|
|
433
434
|
test('should correctly localize the date data', async ({ page }) => {
|
|
@@ -442,7 +443,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
442
443
|
></ion-datetime>
|
|
443
444
|
`, config);
|
|
444
445
|
await page.locator('.datetime-ready').waitFor();
|
|
445
|
-
const dateValues = page.locator('.date-column
|
|
446
|
+
const dateValues = page.locator('.date-column ion-picker-column-option');
|
|
446
447
|
await expect(dateValues).toHaveText(['2月1日(火)', '2月2日(水)', '2月3日(木)']);
|
|
447
448
|
});
|
|
448
449
|
test('should respect min and max bounds even across years', async ({ page }) => {
|
|
@@ -457,15 +458,16 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
457
458
|
`, config);
|
|
458
459
|
await page.locator('.datetime-ready').waitFor();
|
|
459
460
|
const dateColumn = page.locator('.date-column');
|
|
460
|
-
const
|
|
461
|
+
const dateColumnScrollEl = dateColumn.locator('.picker-opts');
|
|
462
|
+
const dateValues = dateColumn.locator('ion-picker-column-option');
|
|
461
463
|
expect(await dateValues.count()).toBe(90);
|
|
462
464
|
/**
|
|
463
465
|
* Select 1st item to change the dates rendered
|
|
464
466
|
*/
|
|
465
|
-
await expect(dateValues.nth(0)).
|
|
466
|
-
await
|
|
467
|
+
await expect(dateValues.nth(0)).toHaveJSProperty('value', '2022-1-1');
|
|
468
|
+
await dateColumnScrollEl.evaluate((el) => (el.scrollTop = 0));
|
|
467
469
|
await page.waitForChanges();
|
|
468
|
-
await expect(dateValues.nth(0)).
|
|
470
|
+
await expect(dateValues.nth(0)).toHaveJSProperty('value', '2021-12-1');
|
|
469
471
|
});
|
|
470
472
|
test('should keep sliding window if default window is within min and max constraints', async ({ page }) => {
|
|
471
473
|
await page.setContent(`
|
|
@@ -478,7 +480,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
478
480
|
></ion-datetime>
|
|
479
481
|
`, config);
|
|
480
482
|
await page.locator('.datetime-ready').waitFor();
|
|
481
|
-
const dayValues = page.locator('.date-column
|
|
483
|
+
const dayValues = page.locator('.date-column ion-picker-column-option');
|
|
482
484
|
expect(await dayValues.count()).toBe(92);
|
|
483
485
|
});
|
|
484
486
|
test('should narrow sliding window if default window is not within min and max constraints', async ({ page }) => {
|
|
@@ -492,7 +494,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
492
494
|
></ion-datetime>
|
|
493
495
|
`, config);
|
|
494
496
|
await page.locator('.datetime-ready').waitFor();
|
|
495
|
-
const dayValues = page.locator('.date-column
|
|
497
|
+
const dayValues = page.locator('.date-column ion-picker-column-option');
|
|
496
498
|
expect(await dayValues.count()).toBe(15);
|
|
497
499
|
});
|
|
498
500
|
});
|
|
@@ -161,7 +161,7 @@ class TimePickerFixture {
|
|
|
161
161
|
await this.page.waitForChanges();
|
|
162
162
|
}
|
|
163
163
|
async expectTime(hour, minute, ampm) {
|
|
164
|
-
const pickerColumns = this.timePicker.locator('ion-picker-column
|
|
164
|
+
const pickerColumns = this.timePicker.locator('ion-picker-column');
|
|
165
165
|
await expect(pickerColumns.nth(0)).toHaveJSProperty('value', hour);
|
|
166
166
|
await expect(pickerColumns.nth(1)).toHaveJSProperty('value', minute);
|
|
167
167
|
await expect(pickerColumns.nth(2)).toHaveJSProperty('value', ampm);
|
|
@@ -34,7 +34,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
|
|
|
34
34
|
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
35
35
|
await calendarMonthYear.click();
|
|
36
36
|
await page.waitForChanges();
|
|
37
|
-
await page.locator('.month-column
|
|
37
|
+
await page.locator('.month-column ion-picker-column-option').nth(2).click();
|
|
38
38
|
await page.waitForChanges();
|
|
39
39
|
await expect(calendarMonthYear).toHaveText('March 2022');
|
|
40
40
|
await expect(ionChange).not.toHaveReceivedEvent();
|
|
@@ -46,14 +46,14 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
|
|
|
46
46
|
const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
|
|
47
47
|
await page.locator('.datetime-ready').waitFor();
|
|
48
48
|
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
49
|
-
const monthYearButton = page.locator('.calendar-month-year
|
|
49
|
+
const monthYearButton = page.locator('.calendar-month-year-toggle');
|
|
50
50
|
await expect(calendarMonthYear).toHaveText('February 2022');
|
|
51
51
|
await page.keyboard.press(tabKey);
|
|
52
52
|
await expect(monthYearButton).toBeFocused();
|
|
53
53
|
await page.waitForChanges();
|
|
54
54
|
await page.keyboard.press('Enter');
|
|
55
55
|
await page.waitForChanges();
|
|
56
|
-
const marchPickerItem = page.locator('.month-column
|
|
56
|
+
const marchPickerItem = page.locator('.month-column ion-picker-column-option').nth(2);
|
|
57
57
|
await expect(marchPickerItem).toBeVisible();
|
|
58
58
|
});
|
|
59
59
|
test('should view next month via next button', async ({ page }) => {
|
|
@@ -75,7 +75,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config, scree
|
|
|
75
75
|
`, config);
|
|
76
76
|
const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
|
|
77
77
|
const datetime = page.locator('ion-datetime');
|
|
78
|
-
const monthYearButton = page.locator('.calendar-month-year
|
|
78
|
+
const monthYearButton = page.locator('.calendar-month-year-toggle');
|
|
79
79
|
const prevButton = page.locator('.calendar-next-prev ion-button:nth-child(1)');
|
|
80
80
|
const nextButton = page.locator('.calendar-next-prev ion-button:nth-child(2)');
|
|
81
81
|
const calendarMonthYear = page.locator('ion-datetime .calendar-month-year');
|
|
@@ -22,28 +22,28 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
22
22
|
await page.setContent(`
|
|
23
23
|
<ion-datetime locale="en-US" presentation="month-year" month-values="5,6,10"></ion-datetime>
|
|
24
24
|
`, config);
|
|
25
|
-
const items = page.locator('.month-column
|
|
25
|
+
const items = page.locator('.month-column ion-picker-column-option');
|
|
26
26
|
await expect(items).toHaveText(['May', 'June', 'October']);
|
|
27
27
|
});
|
|
28
28
|
test('should render correct years', async ({ page }) => {
|
|
29
29
|
await page.setContent(`
|
|
30
30
|
<ion-datetime locale="en-US" presentation="month-year" year-values="2022,2021,2020"></ion-datetime>
|
|
31
31
|
`, config);
|
|
32
|
-
const items = page.locator('.year-column
|
|
32
|
+
const items = page.locator('.year-column ion-picker-column-option');
|
|
33
33
|
await expect(items).toHaveText(['2022', '2021', '2020']);
|
|
34
34
|
});
|
|
35
35
|
test('should render correct hours', async ({ page }) => {
|
|
36
36
|
await page.setContent(`
|
|
37
37
|
<ion-datetime locale="en-US" presentation="time" hour-values="1,2,3"></ion-datetime>
|
|
38
38
|
`, config);
|
|
39
|
-
const items = page.locator('ion-picker-column
|
|
39
|
+
const items = page.locator('ion-picker-column:first-of-type ion-picker-column-option');
|
|
40
40
|
await expect(items).toHaveText(['1', '2', '3']);
|
|
41
41
|
});
|
|
42
42
|
test('should render correct minutes', async ({ page }) => {
|
|
43
43
|
await page.setContent(`
|
|
44
44
|
<ion-datetime locale="en-US" presentation="time" minute-values="1,2,3"></ion-datetime>
|
|
45
45
|
`, config);
|
|
46
|
-
const items = page.locator('ion-picker-column
|
|
46
|
+
const items = page.locator('ion-picker-column:nth-of-type(2) ion-picker-column-option');
|
|
47
47
|
await expect(items).toHaveText(['01', '02', '03']);
|
|
48
48
|
});
|
|
49
49
|
test('should adjust default parts for allowed hour and minute values', async ({ page }) => {
|
|
@@ -69,19 +69,22 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
69
69
|
</script>
|
|
70
70
|
`, config);
|
|
71
71
|
await page.locator('.datetime-ready').waitFor();
|
|
72
|
-
const
|
|
72
|
+
const minuteColumn = page.locator('ion-picker-column').nth(1);
|
|
73
|
+
const minuteItems = minuteColumn.locator('ion-picker-column-option');
|
|
73
74
|
await expect(minuteItems).toHaveText(['00', '15', '30', '45']);
|
|
74
|
-
await expect(
|
|
75
|
-
const
|
|
75
|
+
await expect(minuteColumn).toHaveJSProperty('value', 15);
|
|
76
|
+
const hourColumn = page.locator('ion-picker-column').nth(0);
|
|
77
|
+
const hourItems = hourColumn.locator('ion-picker-column-option');
|
|
76
78
|
await expect(hourItems).toHaveText(['2']);
|
|
77
|
-
await expect(
|
|
79
|
+
await expect(hourColumn).toHaveJSProperty('value', 2);
|
|
78
80
|
/**
|
|
79
81
|
* Since the allowed hour is 2AM, the time period
|
|
80
82
|
* should switch from PM to AM.
|
|
81
83
|
*/
|
|
82
|
-
const
|
|
84
|
+
const ampmColumn = page.locator('ion-picker-column').nth(2);
|
|
85
|
+
const ampmItems = ampmColumn.locator('ion-picker-column-option');
|
|
83
86
|
await expect(ampmItems).toHaveText(['AM', 'PM']);
|
|
84
|
-
await expect(
|
|
87
|
+
await expect(ampmColumn).toHaveJSProperty('value', 'am');
|
|
85
88
|
});
|
|
86
89
|
test('should adjust default parts month for allowed month values', async ({ page }) => {
|
|
87
90
|
/**
|
|
@@ -106,9 +109,9 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|
|
106
109
|
</script>
|
|
107
110
|
`, config);
|
|
108
111
|
await page.locator('.datetime-ready').waitFor();
|
|
109
|
-
const monthItems = page.locator('.month-column
|
|
112
|
+
const monthItems = page.locator('.month-column ion-picker-column-option');
|
|
110
113
|
await expect(monthItems).toHaveText(['January']);
|
|
111
|
-
await expect(monthItems.nth(0)).toHaveClass(/
|
|
114
|
+
await expect(monthItems.nth(0)).toHaveClass(/option-active/);
|
|
112
115
|
});
|
|
113
116
|
test('today date highlight should persist even if disallowed from dayValues', async ({ page }) => {
|
|
114
117
|
/**
|
|
@@ -323,7 +323,7 @@ export const getMonthColumnData = (locale, refParts, minParts, maxParts, monthVa
|
|
|
323
323
|
* @param minParts The minimum bound on the date that can be returned
|
|
324
324
|
* @param maxParts The maximum bound on the date that can be returned
|
|
325
325
|
* @param dayValues The allowed date values
|
|
326
|
-
* @returns Date data to be used in ion-picker-column
|
|
326
|
+
* @returns Date data to be used in ion-picker-column
|
|
327
327
|
*/
|
|
328
328
|
export const getDayColumnData = (locale, refParts, minParts, maxParts, dayValues, formatOptions = {
|
|
329
329
|
day: 'numeric',
|
|
@@ -9,7 +9,26 @@ const getFormattedDayPeriod = (dayPeriod) => {
|
|
|
9
9
|
}
|
|
10
10
|
return dayPeriod.toUpperCase();
|
|
11
11
|
};
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Including time zone options may lead to the rendered text showing a
|
|
14
|
+
* different time from what was selected in the Datetime, which could cause
|
|
15
|
+
* confusion.
|
|
16
|
+
*/
|
|
17
|
+
export const stripTimeZone = (formatOptions) => {
|
|
18
|
+
return Object.assign(Object.assign({}, formatOptions), {
|
|
19
|
+
/**
|
|
20
|
+
* Setting the time zone to UTC ensures that the value shown is always the
|
|
21
|
+
* same as what was selected and safeguards against older Safari bugs with
|
|
22
|
+
* Intl.DateTimeFormat.
|
|
23
|
+
*/
|
|
24
|
+
timeZone: 'UTC',
|
|
25
|
+
/**
|
|
26
|
+
* We do not want to display the time zone name
|
|
27
|
+
*/
|
|
28
|
+
timeZoneName: undefined
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
export const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: 'numeric', minute: 'numeric' }) => {
|
|
13
32
|
const timeParts = {
|
|
14
33
|
hour: refParts.hour,
|
|
15
34
|
minute: refParts.minute,
|
|
@@ -17,28 +36,13 @@ export const getLocalizedTime = (locale, refParts, hourCycle) => {
|
|
|
17
36
|
if (timeParts.hour === undefined || timeParts.minute === undefined) {
|
|
18
37
|
return 'Invalid Time';
|
|
19
38
|
}
|
|
20
|
-
return new Intl.DateTimeFormat(locale, {
|
|
21
|
-
hour: 'numeric',
|
|
22
|
-
minute: 'numeric',
|
|
23
|
-
/**
|
|
24
|
-
* Setting the timeZone to UTC prevents
|
|
25
|
-
* new Intl.DatetimeFormat from subtracting
|
|
26
|
-
* the user's current timezone offset
|
|
27
|
-
* when formatting the time.
|
|
28
|
-
*/
|
|
29
|
-
timeZone: 'UTC',
|
|
39
|
+
return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, stripTimeZone(formatOptions)), {
|
|
30
40
|
/**
|
|
31
41
|
* We use hourCycle here instead of hour12 due to:
|
|
32
42
|
* https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
|
|
33
43
|
*/
|
|
34
|
-
hourCycle
|
|
35
|
-
|
|
36
|
-
* Setting Z at the end indicates that this
|
|
37
|
-
* date string is in the UTC time zone. This
|
|
38
|
-
* prevents new Date from adding the time zone
|
|
39
|
-
* offset when getting the ISO string.
|
|
40
|
-
*/
|
|
41
|
-
}).format(new Date(convertDataToISO(Object.assign({
|
|
44
|
+
hourCycle
|
|
45
|
+
})).format(new Date(convertDataToISO(Object.assign({
|
|
42
46
|
/**
|
|
43
47
|
* JS uses a simplified ISO 8601 format which allows for
|
|
44
48
|
* date-only formats and date-time formats, but not
|
|
@@ -125,14 +129,6 @@ export const generateDayAriaLabel = (locale, today, refParts) => {
|
|
|
125
129
|
*/
|
|
126
130
|
return today ? `Today, ${labelString}` : labelString;
|
|
127
131
|
};
|
|
128
|
-
/**
|
|
129
|
-
* Gets the day of the week, month, and day
|
|
130
|
-
* Used for the header in MD mode.
|
|
131
|
-
*/
|
|
132
|
-
export const getMonthAndDay = (locale, refParts) => {
|
|
133
|
-
const date = getNormalizedDate(refParts);
|
|
134
|
-
return new Intl.DateTimeFormat(locale, { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }).format(date);
|
|
135
|
-
};
|
|
136
132
|
/**
|
|
137
133
|
* Given a locale and a date object,
|
|
138
134
|
* return a formatted string that includes
|
|
@@ -143,15 +139,6 @@ export const getMonthAndYear = (locale, refParts) => {
|
|
|
143
139
|
const date = getNormalizedDate(refParts);
|
|
144
140
|
return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(date);
|
|
145
141
|
};
|
|
146
|
-
/**
|
|
147
|
-
* Given a locale and a date object,
|
|
148
|
-
* return a formatted string that includes
|
|
149
|
-
* the short month, numeric day, and full year.
|
|
150
|
-
* Example: Apr 22, 2021
|
|
151
|
-
*/
|
|
152
|
-
export const getMonthDayAndYear = (locale, refParts) => {
|
|
153
|
-
return getLocalizedDateTime(locale, refParts, { month: 'short', day: 'numeric', year: 'numeric' });
|
|
154
|
-
};
|
|
155
142
|
/**
|
|
156
143
|
* Given a locale and a date object,
|
|
157
144
|
* return a formatted string that includes
|
|
@@ -201,7 +188,7 @@ export const getNormalizedDate = (refParts) => {
|
|
|
201
188
|
*/
|
|
202
189
|
export const getLocalizedDateTime = (locale, refParts, options) => {
|
|
203
190
|
const date = getNormalizedDate(refParts);
|
|
204
|
-
return getDateTimeFormat(locale, options).format(date);
|
|
191
|
+
return getDateTimeFormat(locale, stripTimeZone(options)).format(date);
|
|
205
192
|
};
|
|
206
193
|
/**
|
|
207
194
|
* Given a locale, DatetimeParts, and options
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { printIonWarning } from "../../../utils/logging/index";
|
|
5
|
+
/**
|
|
6
|
+
* If a time zone is provided in the format options, the rendered text could
|
|
7
|
+
* differ from what was selected in the Datetime, which could cause
|
|
8
|
+
* confusion.
|
|
9
|
+
*/
|
|
10
|
+
export const warnIfTimeZoneProvided = (el, formatOptions) => {
|
|
11
|
+
var _a, _b, _c, _d;
|
|
12
|
+
if (((_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _a === void 0 ? void 0 : _a.timeZone) ||
|
|
13
|
+
((_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _b === void 0 ? void 0 : _b.timeZoneName) ||
|
|
14
|
+
((_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _c === void 0 ? void 0 : _c.timeZone) ||
|
|
15
|
+
((_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _d === void 0 ? void 0 : _d.timeZoneName)) {
|
|
16
|
+
printIonWarning('Datetime: "timeZone" and "timeZoneName" are not supported in "formatOptions".', el);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
export const checkForPresentationFormatMismatch = (el, presentation, formatOptions) => {
|
|
20
|
+
// formatOptions is not required
|
|
21
|
+
if (!formatOptions)
|
|
22
|
+
return;
|
|
23
|
+
// If formatOptions is provided, the date and/or time objects are required, depending on the presentation
|
|
24
|
+
switch (presentation) {
|
|
25
|
+
case 'date':
|
|
26
|
+
case 'month-year':
|
|
27
|
+
case 'month':
|
|
28
|
+
case 'year':
|
|
29
|
+
if (formatOptions.date === undefined) {
|
|
30
|
+
printIonWarning(`Datetime: The '${presentation}' presentation requires a date object in formatOptions.`, el);
|
|
31
|
+
}
|
|
32
|
+
break;
|
|
33
|
+
case 'time':
|
|
34
|
+
if (formatOptions.time === undefined) {
|
|
35
|
+
printIonWarning(`Datetime: The 'time' presentation requires a time object in formatOptions.`, el);
|
|
36
|
+
}
|
|
37
|
+
break;
|
|
38
|
+
case 'date-time':
|
|
39
|
+
case 'time-date':
|
|
40
|
+
if (formatOptions.date === undefined && formatOptions.time === undefined) {
|
|
41
|
+
printIonWarning(`Datetime: The '${presentation}' presentation requires either a date or time object (or both) in formatOptions.`, el);
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
};
|