@ionic/core 7.6.7-dev.11706551842.118ce6e0 → 7.6.7-dev.11706565090.179aa5a7
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 +5 -3
- package/components/alert.js +6 -4
- package/components/backdrop.js +16 -2
- package/components/button.js +6 -4
- package/components/buttons.js +4 -2
- package/components/checkbox.js +6 -4
- package/components/data.js +2 -2
- package/components/gesture-controller.js +1 -1
- package/components/icon.js +2 -1
- package/components/ion-accordion-group.js +4 -2
- package/components/ion-accordion.js +5 -5
- package/components/ion-app.js +2 -1
- package/components/ion-avatar.js +4 -2
- package/components/ion-back-button.js +5 -3
- package/components/ion-badge.js +6 -4
- package/components/ion-breadcrumb.js +4 -2
- package/components/ion-breadcrumbs.js +4 -2
- package/components/ion-card-content.js +4 -2
- package/components/ion-card-header.js +4 -2
- package/components/ion-card-subtitle.js +4 -2
- package/components/ion-card-title.js +4 -2
- package/components/ion-card.js +4 -2
- package/components/ion-chip.js +4 -2
- package/components/ion-col.js +2 -1
- package/components/ion-content.js +6 -4
- package/components/ion-datetime-button.js +5 -3
- package/components/ion-datetime.js +69 -43
- package/components/ion-fab-button.js +6 -4
- package/components/ion-fab-list.js +2 -1
- package/components/ion-fab.js +2 -1
- package/components/ion-footer.js +4 -2
- package/components/ion-grid.js +2 -1
- package/components/ion-header.js +4 -2
- package/components/ion-img.js +2 -1
- package/components/ion-infinite-scroll-content.js +4 -2
- package/components/ion-infinite-scroll.js +2 -1
- package/components/ion-input.js +6 -4
- package/components/ion-item-divider.js +4 -2
- package/components/ion-item-group.js +4 -2
- package/components/ion-item-option.js +6 -4
- package/components/ion-item-options.js +4 -2
- package/components/ion-item-sliding.js +2 -1
- package/components/ion-loading.js +5 -3
- package/components/ion-menu-button.js +5 -3
- package/components/ion-menu-toggle.js +2 -1
- package/components/ion-menu.js +19 -23
- package/components/ion-modal.js +4 -2
- package/components/ion-nav.js +5 -8
- package/components/ion-picker-column-internal.d.ts +11 -0
- package/components/ion-picker-column-internal.js +9 -0
- package/components/ion-picker-column.js +2 -2
- package/components/{ion-picker-legacy.d.ts → ion-picker-internal.d.ts} +4 -4
- package/components/ion-picker-internal.js +9 -0
- package/components/ion-picker.js +311 -1
- package/components/ion-progress-bar.js +6 -4
- package/components/ion-range.js +6 -4
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +5 -3
- package/components/ion-reorder-group.js +2 -1
- package/components/ion-reorder.js +4 -2
- package/components/ion-router-link.js +3 -2
- package/components/ion-router-outlet.js +2 -1
- package/components/ion-row.js +2 -1
- package/components/ion-searchbar.js +5 -3
- package/components/ion-segment-button.js +5 -3
- package/components/ion-segment.js +4 -2
- package/components/ion-select-option.js +2 -1
- package/components/ion-select.js +6 -4
- package/components/ion-skeleton-text.js +2 -1
- package/components/ion-split-pane.js +19 -28
- package/components/ion-tab-bar.js +6 -4
- package/components/ion-tab-button.js +4 -2
- package/components/ion-tab.js +2 -1
- package/components/ion-tabs.js +2 -1
- package/components/ion-text.js +2 -1
- package/components/ion-textarea.js +6 -4
- package/components/ion-thumbnail.js +2 -1
- package/components/ion-title.js +4 -2
- package/components/ion-toast.js +6 -4
- package/components/ion-toggle.js +6 -4
- package/components/ion-toolbar.js +4 -2
- package/components/item.js +6 -4
- package/components/label.js +5 -3
- package/components/list-header.js +4 -2
- package/components/list.js +4 -2
- package/components/note.js +4 -2
- package/components/overlays.js +4 -11
- package/components/picker-column-internal.js +392 -0
- package/components/picker-column.js +324 -351
- package/components/{picker.js → picker-internal.js} +24 -29
- package/components/popover.js +4 -2
- package/components/radio.js +6 -4
- package/components/ripple-effect.js +2 -1
- package/components/select-popover.js +5 -3
- package/components/spinner.js +2 -1
- package/css/core.css +34 -101
- package/css/core.css.map +1 -1
- package/css/global.bundle.css +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/typography.css +1 -1
- package/dist/cjs/{app-globals-07127773.js → app-globals-b23ca531.js} +1 -1
- package/dist/cjs/{button-active-d432e262.js → button-active-856446eb.js} +2 -2
- package/dist/cjs/{data-e2bf21de.js → data-a5109f09.js} +1 -1
- package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-c40c045a.js} +0 -1
- package/dist/cjs/{index-71f41461.js → index-120d18ce.js} +20 -1
- package/dist/cjs/{index-96a721a7.js → index-6fc13528.js} +1 -1
- package/dist/cjs/{index-ee07ed59.js → index-d1b59ffa.js} +1 -1
- package/dist/cjs/{index-6bb6b651.js → index-e4ab4fe7.js} +3 -3
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/ion-accordion_2.cjs.entry.js +11 -9
- package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -9
- package/dist/cjs/ion-alert.cjs.entry.js +12 -10
- package/dist/cjs/ion-app_8.cjs.entry.js +35 -21
- package/dist/cjs/ion-avatar_3.cjs.entry.js +14 -9
- package/dist/cjs/ion-back-button.cjs.entry.js +7 -5
- package/dist/cjs/ion-backdrop.cjs.entry.js +18 -4
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +10 -6
- package/dist/cjs/ion-button_2.cjs.entry.js +10 -7
- package/dist/cjs/ion-card_5.cjs.entry.js +22 -12
- package/dist/cjs/ion-checkbox.cjs.entry.js +8 -6
- package/dist/cjs/ion-chip.cjs.entry.js +6 -4
- package/dist/cjs/ion-col_3.cjs.entry.js +8 -5
- package/dist/cjs/ion-datetime-button.cjs.entry.js +7 -5
- package/dist/cjs/ion-datetime_3.cjs.entry.js +71 -45
- package/dist/cjs/ion-fab_3.cjs.entry.js +12 -8
- package/dist/cjs/ion-img.cjs.entry.js +4 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +8 -5
- package/dist/cjs/ion-input.cjs.entry.js +8 -6
- package/dist/cjs/ion-item-option_3.cjs.entry.js +15 -10
- package/dist/cjs/ion-item_8.cjs.entry.js +35 -20
- package/dist/cjs/ion-loading.cjs.entry.js +8 -7
- package/dist/cjs/ion-menu_3.cjs.entry.js +32 -32
- package/dist/cjs/ion-modal.cjs.entry.js +10 -8
- package/dist/cjs/ion-nav_2.cjs.entry.js +8 -10
- package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +91 -106
- package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +22 -27
- package/dist/cjs/ion-popover.cjs.entry.js +8 -7
- package/dist/cjs/ion-progress-bar.cjs.entry.js +8 -6
- package/dist/cjs/ion-radio_2.cjs.entry.js +8 -6
- package/dist/cjs/ion-range.cjs.entry.js +9 -7
- package/dist/cjs/ion-refresher_2.cjs.entry.js +11 -9
- package/dist/cjs/ion-reorder_2.cjs.entry.js +9 -6
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +5 -4
- package/dist/cjs/ion-searchbar.cjs.entry.js +7 -5
- package/dist/cjs/ion-segment_2.cjs.entry.js +12 -8
- package/dist/cjs/ion-select_3.cjs.entry.js +16 -12
- package/dist/cjs/ion-spinner.cjs.entry.js +4 -3
- package/dist/cjs/ion-split-pane.cjs.entry.js +20 -28
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +12 -8
- package/dist/cjs/ion-tab_2.cjs.entry.js +5 -3
- package/dist/cjs/ion-text.cjs.entry.js +4 -3
- package/dist/cjs/ion-textarea.cjs.entry.js +8 -6
- package/dist/cjs/ion-toast.cjs.entry.js +11 -9
- package/dist/cjs/ion-toggle.cjs.entry.js +9 -7
- package/dist/cjs/{ionic-global-c70c3fb5.js → ionic-global-e309fc8f.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-9624a175.js → ios.transition-bcf03726.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-786baf9a.js → md.transition-2ea7c4e2.js} +2 -2
- package/dist/cjs/{overlays-3afa911d.js → overlays-64ba8dd4.js} +5 -12
- package/dist/cjs/{status-tap-66296dcb.js → status-tap-bf82416b.js} +1 -1
- package/dist/cjs/{swipe-back-b8f2330b.js → swipe-back-2a858bbd.js} +2 -2
- package/dist/collection/collection-manifest.json +7 -8
- package/dist/collection/components/accordion/accordion.js +1 -3
- package/dist/collection/components/accordion/test/accordion.e2e.js +39 -0
- package/dist/collection/components/action-sheet/action-sheet.ios.css +3 -3
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +14 -23
- package/dist/collection/components/alert/alert.ios.css +6 -6
- package/dist/collection/components/alert/alert.md.css +6 -6
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +9 -22
- package/dist/collection/components/back-button/back-button.ios.css +1 -1
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +0 -21
- package/dist/collection/components/backdrop/backdrop.js +12 -0
- package/dist/collection/components/badge/badge.ios.css +1 -1
- package/dist/collection/components/badge/badge.md.css +1 -1
- package/dist/collection/components/badge/test/a11y/badge.e2e.js +0 -18
- package/dist/collection/components/button/button.ios.css +11 -11
- package/dist/collection/components/button/button.md.css +9 -9
- package/dist/collection/components/button/test/a11y/button.e2e.js +0 -48
- package/dist/collection/components/button/test/wrap/button.e2e.js +24 -12
- package/dist/collection/components/checkbox/checkbox.ios.css +2 -2
- package/dist/collection/components/checkbox/checkbox.md.css +2 -2
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +2 -11
- package/dist/collection/components/content/content.css +4 -0
- package/dist/collection/components/content/content.js +3 -2
- package/dist/collection/components/datetime/datetime.ios.css +40 -93
- package/dist/collection/components/datetime/datetime.js +36 -24
- package/dist/collection/components/datetime/datetime.md.css +38 -96
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/a11y/datetime.spec.js +9 -6
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -10
- package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
- package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
- package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +41 -43
- package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
- package/dist/collection/components/datetime/test/values/datetime.e2e.js +12 -15
- package/dist/collection/components/datetime/utils/data.js +1 -1
- package/dist/collection/components/fab-button/fab-button.ios.css +13 -13
- package/dist/collection/components/fab-button/fab-button.md.css +4 -4
- package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +0 -50
- package/dist/collection/components/input/input.ios.css +3 -3
- package/dist/collection/components/input/input.md.css +3 -3
- package/dist/collection/components/input/test/a11y/input.e2e.js +3 -41
- package/dist/collection/components/item/item.ios.css +3 -3
- package/dist/collection/components/item/item.md.css +4 -4
- package/dist/collection/components/item-option/item-option.ios.css +2 -2
- package/dist/collection/components/item-option/item-option.md.css +1 -1
- package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +0 -28
- package/dist/collection/components/label/label.md.css +1 -1
- package/dist/collection/components/label/test/a11y/label.e2e.js +0 -20
- package/dist/collection/components/loading/loading.md.css +1 -1
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +5 -21
- package/dist/collection/components/menu/menu.ios.css +3 -64
- package/dist/collection/components/menu/menu.js +13 -19
- package/dist/collection/components/menu/menu.md.css +3 -64
- package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +0 -14
- package/dist/collection/components/nav/nav.js +2 -22
- package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
- package/dist/collection/components/picker/picker.ios.css +211 -112
- package/dist/collection/components/picker/picker.js +738 -488
- package/dist/collection/components/picker/picker.md.css +198 -108
- package/dist/collection/components/picker/test/basic/picker.e2e.js +13 -99
- package/dist/collection/components/{picker-legacy → picker}/test/is-open/picker.e2e.js +4 -4
- package/dist/collection/components/{picker-legacy → picker}/test/picker-id.spec.js +5 -5
- package/dist/collection/components/{picker-legacy → picker}/test/trigger/picker.e2e.js +1 -1
- package/dist/collection/components/picker-column/picker-column.js +335 -499
- package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.md.css +1 -1
- package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-aria.spec.js +3 -3
- package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-dynamic.spec.js +2 -2
- package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column.spec.js +2 -2
- package/dist/collection/components/{picker-legacy-column → picker-column}/test/standalone/picker-column.e2e.js +3 -3
- package/dist/collection/components/{picker-column-option/picker-column-option.md.css → picker-column-internal/picker-column-internal.ios.css} +53 -6
- package/dist/collection/components/picker-column-internal/picker-column-internal.js +566 -0
- package/dist/collection/components/{picker-column/picker-column.css → picker-column-internal/picker-column-internal.md.css} +83 -96
- package/dist/collection/components/{picker-column/test/basic/picker-column.e2e.js → picker-column-internal/test/basic/picker-column-internal.e2e.js} +8 -8
- package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +162 -0
- package/dist/collection/components/{picker-legacy/picker.md.css → picker-internal/picker-internal.ios.css} +100 -192
- package/dist/collection/components/picker-internal/picker-internal.js +560 -0
- package/dist/collection/components/{picker-legacy/picker.ios.css → picker-internal/picker-internal.md.css} +98 -207
- package/dist/collection/components/{picker/test/a11y/picker.e2e.js → picker-internal/test/a11y/picker-internal.e2e.js} +2 -2
- package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +118 -0
- package/dist/collection/components/{picker/test/keyboard-entry/picker.e2e.js → picker-internal/test/keyboard-entry/picker-internal.e2e.js} +42 -79
- package/dist/collection/components/progress-bar/progress-bar.ios.css +2 -2
- package/dist/collection/components/progress-bar/progress-bar.md.css +2 -2
- package/dist/collection/components/radio/radio.ios.css +2 -2
- package/dist/collection/components/radio/radio.md.css +2 -2
- package/dist/collection/components/radio/test/a11y/radio.e2e.js +81 -114
- package/dist/collection/components/range/range.ios.css +1 -1
- package/dist/collection/components/range/range.md.css +3 -3
- package/dist/collection/components/range/test/a11y/range.e2e.js +8 -18
- package/dist/collection/components/refresher/refresher.md.css +2 -2
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/router-link/router-link.css +1 -1
- package/dist/collection/components/searchbar/searchbar.ios.css +1 -1
- package/dist/collection/components/segment/test/a11y/segment.e2e.js +0 -23
- package/dist/collection/components/segment-button/segment-button.md.css +2 -2
- package/dist/collection/components/select/select.ios.css +3 -3
- package/dist/collection/components/select/select.md.css +3 -3
- package/dist/collection/components/select/test/a11y/select.e2e.js +4 -68
- package/dist/collection/components/select-popover/select-popover.md.css +4 -4
- package/dist/collection/components/split-pane/split-pane.ios.css +54 -2
- package/dist/collection/components/split-pane/split-pane.js +12 -46
- package/dist/collection/components/split-pane/split-pane.md.css +54 -2
- package/dist/collection/components/tab-bar/tab-bar.ios.css +1 -1
- package/dist/collection/components/tab-bar/tab-bar.md.css +1 -1
- package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +3 -41
- package/dist/collection/components/textarea/textarea.ios.css +3 -3
- package/dist/collection/components/textarea/textarea.md.css +3 -3
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +24 -56
- package/dist/collection/components/toast/toast.ios.css +1 -1
- package/dist/collection/components/toast/toast.md.css +2 -2
- package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +2 -8
- package/dist/collection/components/toggle/toggle.ios.css +2 -2
- package/dist/collection/components/toggle/toggle.md.css +2 -2
- package/dist/collection/css/test/a11y/typography.e2e.js +0 -18
- package/dist/collection/utils/gesture/gesture-controller.js +1 -1
- package/dist/collection/utils/overlays.js +4 -11
- package/dist/collection/utils/test/playwright/generator.js +0 -1
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- package/dist/docs.json +42 -501
- package/dist/esm/{app-globals-52c78291.js → app-globals-547b455b.js} +1 -1
- package/dist/esm/{button-active-3bcbd115.js → button-active-0627c019.js} +2 -2
- package/dist/esm/{data-6a31d701.js → data-0f3ab200.js} +2 -2
- package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
- package/dist/esm/{index-a97c95a7.js → index-1e84fb76.js} +3 -3
- package/dist/esm/{index-39782642.js → index-2cf77112.js} +2 -2
- package/dist/esm/{index-27668d5b.js → index-6c30dbf0.js} +20 -1
- package/dist/esm/{index-01cb9192.js → index-cee7c658.js} +1 -1
- package/dist/esm/index.js +9 -9
- package/dist/esm/ion-accordion_2.entry.js +11 -9
- package/dist/esm/ion-action-sheet.entry.js +11 -9
- package/dist/esm/ion-alert.entry.js +12 -10
- package/dist/esm/ion-app_8.entry.js +35 -21
- package/dist/esm/ion-avatar_3.entry.js +14 -9
- package/dist/esm/ion-back-button.entry.js +7 -5
- package/dist/esm/ion-backdrop.entry.js +18 -4
- package/dist/esm/ion-breadcrumb_2.entry.js +10 -6
- package/dist/esm/ion-button_2.entry.js +10 -7
- package/dist/esm/ion-card_5.entry.js +22 -12
- package/dist/esm/ion-checkbox.entry.js +8 -6
- package/dist/esm/ion-chip.entry.js +6 -4
- package/dist/esm/ion-col_3.entry.js +8 -5
- package/dist/esm/ion-datetime-button.entry.js +7 -5
- package/dist/esm/ion-datetime_3.entry.js +70 -44
- package/dist/esm/ion-fab_3.entry.js +12 -8
- package/dist/esm/ion-img.entry.js +4 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +8 -5
- package/dist/esm/ion-input.entry.js +8 -6
- package/dist/esm/ion-item-option_3.entry.js +15 -10
- package/dist/esm/ion-item_8.entry.js +35 -20
- package/dist/esm/ion-loading.entry.js +8 -7
- package/dist/esm/ion-menu_3.entry.js +33 -33
- package/dist/esm/ion-modal.entry.js +10 -8
- package/dist/esm/ion-nav_2.entry.js +8 -10
- package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +91 -106
- package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +22 -27
- package/dist/esm/ion-popover.entry.js +8 -7
- package/dist/esm/ion-progress-bar.entry.js +8 -6
- package/dist/esm/ion-radio_2.entry.js +8 -6
- package/dist/esm/ion-range.entry.js +9 -7
- package/dist/esm/ion-refresher_2.entry.js +11 -9
- package/dist/esm/ion-reorder_2.entry.js +9 -6
- package/dist/esm/ion-ripple-effect.entry.js +4 -3
- package/dist/esm/ion-route_4.entry.js +5 -4
- package/dist/esm/ion-searchbar.entry.js +7 -5
- package/dist/esm/ion-segment_2.entry.js +12 -8
- package/dist/esm/ion-select_3.entry.js +16 -12
- package/dist/esm/ion-spinner.entry.js +4 -3
- package/dist/esm/ion-split-pane.entry.js +20 -28
- package/dist/esm/ion-tab-bar_2.entry.js +12 -8
- package/dist/esm/ion-tab_2.entry.js +5 -3
- package/dist/esm/ion-text.entry.js +4 -3
- package/dist/esm/ion-textarea.entry.js +8 -6
- package/dist/esm/ion-toast.entry.js +11 -9
- package/dist/esm/ion-toggle.entry.js +9 -7
- package/dist/esm/{ionic-global-8fa0f940.js → ionic-global-4d15b810.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-62fd50ab.js → ios.transition-15b1aac0.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-7e56966a.js → md.transition-3387e6c4.js} +2 -2
- package/dist/esm/{overlays-8b24f0d5.js → overlays-b4da1327.js} +5 -12
- package/dist/esm/{status-tap-129c01cf.js → status-tap-e1ec6b14.js} +1 -1
- package/dist/esm/{swipe-back-a8ca7f93.js → swipe-back-a6f386fc.js} +2 -2
- package/dist/esm-es5/app-globals-547b455b.js +4 -0
- package/dist/esm-es5/{button-active-3bcbd115.js → button-active-0627c019.js} +1 -1
- package/dist/esm-es5/{data-6a31d701.js → data-0f3ab200.js} +1 -1
- package/dist/esm-es5/{gesture-controller-314a54f6.js → gesture-controller-1bf57181.js} +1 -1
- package/dist/esm-es5/{index-a97c95a7.js → index-1e84fb76.js} +1 -1
- package/dist/esm-es5/{index-39782642.js → index-2cf77112.js} +1 -1
- package/dist/esm-es5/{index-27668d5b.js → index-6c30dbf0.js} +2 -2
- package/dist/esm-es5/{index-01cb9192.js → index-cee7c658.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
- package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/{ionic-global-8fa0f940.js → ionic-global-4d15b810.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-62fd50ab.js → ios.transition-15b1aac0.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-7e56966a.js → md.transition-3387e6c4.js} +1 -1
- package/dist/esm-es5/overlays-b4da1327.js +4 -0
- package/dist/esm-es5/{status-tap-129c01cf.js → status-tap-e1ec6b14.js} +1 -1
- package/dist/esm-es5/swipe-back-a6f386fc.js +4 -0
- package/dist/html.html-data.json +1 -152
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/p-0236b334.entry.js +4 -0
- package/dist/ionic/{p-f4e37ba7.entry.js → p-029ef86c.entry.js} +1 -1
- package/dist/ionic/{p-eeb87a49.entry.js → p-04518b48.entry.js} +1 -1
- package/dist/ionic/p-05df95aa.system.entry.js +4 -0
- package/dist/ionic/p-05ead3ca.system.entry.js +4 -0
- package/dist/ionic/{p-adba40e6.entry.js → p-06016862.entry.js} +1 -1
- package/dist/ionic/p-075c7419.system.entry.js +4 -0
- package/dist/ionic/p-0c1112b2.js +4 -0
- package/dist/ionic/p-0c992d55.system.entry.js +4 -0
- package/dist/ionic/{p-efa1c7f0.entry.js → p-0db338e2.entry.js} +1 -1
- package/dist/ionic/p-0f7cd043.entry.js +4 -0
- package/dist/ionic/{p-4b94c354.entry.js → p-12de3013.entry.js} +1 -1
- package/dist/ionic/{p-114ea79c.system.js → p-137c5c9a.system.js} +1 -1
- package/dist/ionic/p-19d4464a.system.entry.js +4 -0
- package/dist/ionic/{p-25221a73.js → p-1bd17597.js} +1 -1
- package/dist/ionic/{p-53ec4f1c.system.js → p-1dfc11b3.system.js} +1 -1
- package/dist/ionic/{p-5a85d71d.entry.js → p-1e7e821a.entry.js} +1 -1
- package/dist/ionic/p-202189cf.system.entry.js +4 -0
- package/dist/ionic/{p-770f5b43.system.js → p-21714ff4.system.js} +1 -1
- package/dist/ionic/p-23900475.system.entry.js +4 -0
- package/dist/ionic/p-2c68dba7.system.entry.js +4 -0
- package/dist/ionic/{p-3e1e14d9.system.js → p-31b2326e.system.js} +1 -1
- package/dist/ionic/{p-a72be676.entry.js → p-326f025b.entry.js} +1 -1
- package/dist/ionic/p-32c41ed0.entry.js +4 -0
- package/dist/ionic/p-35cd3533.system.entry.js +4 -0
- package/dist/ionic/p-35ce400e.system.js +4 -0
- package/dist/ionic/{p-ae8747aa.entry.js → p-3b4fd605.entry.js} +1 -1
- package/dist/ionic/p-42099bcf.system.entry.js +4 -0
- package/dist/ionic/p-430c5c03.entry.js +4 -0
- package/dist/ionic/p-44bb5883.entry.js +4 -0
- package/dist/ionic/p-45fd74c5.system.entry.js +4 -0
- package/dist/ionic/{p-ef3a6b51.system.js → p-461f925c.system.js} +1 -1
- package/dist/ionic/p-4626380e.js +4 -0
- package/dist/ionic/p-487e1c56.system.entry.js +4 -0
- package/dist/ionic/p-4a5f68a8.entry.js +4 -0
- package/dist/ionic/{p-23ce95e8.js → p-4cab0235.js} +1 -1
- package/dist/ionic/p-4e45ff2e.entry.js +4 -0
- package/dist/ionic/{p-01438d78.entry.js → p-4f3237e7.entry.js} +1 -1
- package/dist/ionic/p-51fba806.system.entry.js +4 -0
- package/dist/ionic/p-531bc946.system.entry.js +4 -0
- package/dist/ionic/p-54a8b0f1.system.entry.js +4 -0
- package/dist/ionic/{p-0a0a84ce.system.entry.js → p-55d9a577.system.entry.js} +1 -1
- package/dist/ionic/p-55f1ccb5.system.entry.js +4 -0
- package/dist/ionic/{p-127ff448.entry.js → p-59d8465c.entry.js} +1 -1
- package/dist/ionic/p-59f2fc8f.system.entry.js +4 -0
- package/dist/ionic/{p-df75bd2c.system.js → p-5a18700d.system.js} +1 -1
- package/dist/ionic/p-5a814c30.js +4 -0
- package/dist/ionic/p-5b48ec17.system.entry.js +4 -0
- package/dist/ionic/p-5bc25ef0.js +4 -0
- package/dist/ionic/p-5d890dd9.system.entry.js +4 -0
- package/dist/ionic/{p-02e530f5.system.js → p-5f23b1f3.system.js} +1 -1
- package/dist/ionic/{p-28525772.entry.js → p-662cd95c.entry.js} +1 -1
- package/dist/ionic/{p-bf595ef8.system.entry.js → p-6808c4e5.system.entry.js} +1 -1
- package/dist/ionic/{p-d6129c6e.js → p-68a9652f.js} +1 -1
- package/dist/ionic/p-692bab4f.system.entry.js +4 -0
- package/dist/ionic/p-69331d05.system.entry.js +4 -0
- package/dist/ionic/p-6a6477b2.js +4 -0
- package/dist/ionic/p-6a7591d5.entry.js +4 -0
- package/dist/ionic/p-6afcb018.system.entry.js +4 -0
- package/dist/ionic/{p-3c33dc30.system.js → p-6d5fe9cb.system.js} +1 -1
- package/dist/ionic/{p-67b167bc.entry.js → p-6d69767b.entry.js} +1 -1
- package/dist/ionic/{p-7acc89e0.entry.js → p-6e806eb6.entry.js} +1 -1
- package/dist/ionic/{p-7a2c6bb5.entry.js → p-6f738da0.entry.js} +1 -1
- package/dist/ionic/p-7209e0fd.entry.js +4 -0
- package/dist/ionic/{p-d51674c5.system.js → p-725b4e67.system.js} +1 -1
- package/dist/ionic/{p-7ff4359e.system.js → p-7330c044.system.js} +1 -1
- package/dist/ionic/p-73765f29.js +4 -0
- package/dist/ionic/{p-1d1ce54e.entry.js → p-7722bf7f.entry.js} +1 -1
- package/dist/ionic/{p-efcc4b66.entry.js → p-81a1aff5.entry.js} +1 -1
- package/dist/ionic/{p-34f05cec.entry.js → p-826de7b3.entry.js} +1 -1
- package/dist/ionic/{p-c7bdd72f.entry.js → p-867288b7.entry.js} +1 -1
- package/dist/ionic/{p-85e04029.entry.js → p-8890227b.entry.js} +1 -1
- package/dist/ionic/p-88f5e520.system.js +4 -0
- package/dist/ionic/p-8d0a9949.system.entry.js +4 -0
- package/dist/ionic/p-8ebb1da7.entry.js +4 -0
- package/dist/ionic/p-91ac3fd2.entry.js +4 -0
- package/dist/ionic/p-91bf60cf.system.entry.js +4 -0
- package/dist/ionic/{p-42d5f6ae.entry.js → p-92576069.entry.js} +1 -1
- package/dist/ionic/{p-a11e45fe.system.entry.js → p-92eccc3f.system.entry.js} +1 -1
- package/dist/ionic/{p-03e00f90.js → p-9489c13e.js} +1 -1
- package/dist/ionic/p-954c5835.system.entry.js +4 -0
- package/dist/ionic/{p-4a4bbcc5.system.js → p-9629eea0.system.js} +2 -2
- package/dist/ionic/{p-32b8e50d.system.js → p-976b4e01.system.js} +1 -1
- package/dist/ionic/p-98a61e5c.system.entry.js +4 -0
- package/dist/ionic/{p-f4bf2448.entry.js → p-9f60867f.entry.js} +1 -1
- package/dist/ionic/p-a19270b1.system.entry.js +4 -0
- package/dist/ionic/p-a4e226c6.system.entry.js +4 -0
- package/dist/ionic/p-a6c16c4d.system.entry.js +4 -0
- package/dist/ionic/p-a7ac0274.system.entry.js +4 -0
- package/dist/ionic/{p-ae638cb5.system.js → p-a87bf12b.system.js} +1 -1
- package/dist/ionic/p-a897afb0.system.entry.js +4 -0
- package/dist/ionic/{p-0bd51c34.system.js → p-abe101da.system.js} +1 -1
- package/dist/ionic/p-b06ac4a5.system.js +4 -0
- package/dist/ionic/p-b2da6333.system.entry.js +4 -0
- package/dist/ionic/p-b469b68f.system.entry.js +4 -0
- package/dist/ionic/p-b4a11180.system.entry.js +4 -0
- package/dist/ionic/p-b5d01f8a.system.js +5 -0
- package/dist/ionic/{p-13387c28.entry.js → p-b741cc8b.entry.js} +1 -1
- package/dist/ionic/{p-9b97df10.js → p-bb3615f7.js} +1 -1
- package/dist/ionic/p-bcca5b29.system.entry.js +4 -0
- package/dist/ionic/p-bd003be4.entry.js +4 -0
- package/dist/ionic/{p-9cd05453.entry.js → p-c4120c66.entry.js} +1 -1
- package/dist/ionic/{p-bb41c476.system.entry.js → p-c6d76aa1.system.entry.js} +1 -1
- package/dist/ionic/{p-20d469d0.system.js → p-c7c8429a.system.js} +1 -1
- package/dist/ionic/p-c918ba65.system.entry.js +4 -0
- package/dist/ionic/p-c995da88.system.js +4 -0
- package/dist/ionic/{p-6d42a37b.entry.js → p-c99cd2f9.entry.js} +1 -1
- package/dist/ionic/{p-598bd8e2.entry.js → p-cb595f3e.entry.js} +1 -1
- package/dist/ionic/p-cb9ca32e.system.entry.js +4 -0
- package/dist/ionic/{p-fd41bd8a.js → p-cbffad8e.js} +1 -1
- package/dist/ionic/p-d64aa364.system.entry.js +4 -0
- package/dist/ionic/p-d663ad5a.system.entry.js +4 -0
- package/dist/ionic/{p-c9219299.entry.js → p-d86b272c.entry.js} +1 -1
- package/dist/ionic/{p-cb304e5f.system.entry.js → p-d9b83045.system.entry.js} +1 -1
- package/dist/ionic/{p-870453fd.entry.js → p-dd4721d8.entry.js} +1 -1
- package/dist/ionic/p-defe1fb9.entry.js +4 -0
- package/dist/ionic/{p-0055506a.entry.js → p-df5f5d91.entry.js} +1 -1
- package/dist/ionic/{p-9928b546.entry.js → p-dfba8693.entry.js} +1 -1
- package/dist/ionic/p-e077e369.entry.js +4 -0
- package/dist/ionic/p-e36a267c.system.entry.js +4 -0
- package/dist/ionic/{p-c9028fdc.entry.js → p-e482cef1.entry.js} +1 -1
- package/dist/ionic/{p-8ededb41.js → p-f5d2dc9b.js} +1 -1
- package/dist/ionic/p-f695e427.system.entry.js +4 -0
- package/dist/ionic/{p-a64accf5.js → p-f7dce541.js} +1 -1
- package/dist/ionic/p-fab9fc33.entry.js +4 -0
- package/dist/ionic/{p-d545e325.entry.js → p-fc0dd9b6.entry.js} +1 -1
- package/dist/ionic/p-fe212d55.system.js +4 -0
- package/dist/types/components/backdrop/backdrop.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +1 -0
- package/dist/types/components/datetime/utils/data.d.ts +7 -11
- package/dist/types/components/menu/menu.d.ts +2 -12
- package/dist/types/components/nav/nav.d.ts +1 -4
- package/dist/types/components/picker/picker.d.ts +129 -75
- package/dist/types/components/picker-column/picker-column.d.ts +39 -99
- package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +5 -0
- package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +102 -0
- package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +8 -0
- package/dist/types/components/picker-internal/picker-internal.d.ts +102 -0
- package/dist/types/components/split-pane/split-pane.d.ts +2 -14
- package/dist/types/components.d.ts +122 -159
- package/dist/types/interface.d.ts +1 -1
- package/dist/types/utils/config.d.ts +2 -2
- package/dist/types/utils/gesture/gesture-controller.d.ts +0 -1
- package/dist/types/utils/overlays.d.ts +2 -5
- package/hydrate/index.js +1561 -1531
- package/package.json +2 -2
- package/components/ion-picker-column-option.d.ts +0 -11
- package/components/ion-picker-column-option.js +0 -9
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -9
- package/components/ion-picker-legacy.js +0 -309
- package/components/picker-column-option.js +0 -122
- package/components/picker-column2.js +0 -379
- package/css/themes/dark.always.css +0 -122
- package/css/themes/dark.always.css.map +0 -1
- package/css/themes/dark.class.css +0 -122
- package/css/themes/dark.class.css.map +0 -1
- package/css/themes/dark.css +0 -3
- package/css/themes/dark.css.map +0 -1
- package/css/themes/dark.system.css +0 -124
- package/css/themes/dark.system.css.map +0 -1
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +0 -104
- package/dist/collection/components/accordion/test/disabled/accordion.e2e.js +0 -94
- package/dist/collection/components/accordion/test/readonly/accordion.e2e.js +0 -94
- package/dist/collection/components/picker/test/custom/picker.e2e.js +0 -85
- package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +0 -91
- package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +0 -39
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -87
- package/dist/collection/components/picker-column-option/picker-column-option.js +0 -173
- package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +0 -18
- package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +0 -37
- package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +0 -29
- package/dist/collection/components/picker-legacy/picker.js +0 -811
- package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +0 -25
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -419
- package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +0 -24
- package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +0 -25
- package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +0 -23
- package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +0 -32
- package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +0 -41
- package/dist/collection/themes/test/colors/theme.e2e.js +0 -114
- package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +0 -65
- package/dist/esm/ion-picker-column-option.entry.js +0 -100
- package/dist/esm-es5/app-globals-52c78291.js +0 -4
- package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
- package/dist/esm-es5/ion-picker-column.entry.js +0 -4
- package/dist/esm-es5/ion-picker.entry.js +0 -4
- package/dist/esm-es5/overlays-8b24f0d5.js +0 -4
- package/dist/esm-es5/swipe-back-a8ca7f93.js +0 -4
- package/dist/ionic/p-005e0ad0.js +0 -4
- package/dist/ionic/p-0708a9c1.system.js +0 -4
- package/dist/ionic/p-09890dd9.entry.js +0 -4
- package/dist/ionic/p-0d3c5eaa.system.entry.js +0 -4
- package/dist/ionic/p-10607f89.entry.js +0 -4
- package/dist/ionic/p-14311a1d.system.entry.js +0 -4
- package/dist/ionic/p-1a5f0313.system.js +0 -4
- package/dist/ionic/p-1cca10d6.system.js +0 -4
- package/dist/ionic/p-26976bfc.system.entry.js +0 -4
- package/dist/ionic/p-2c02fb1c.system.entry.js +0 -4
- package/dist/ionic/p-2fda36b6.system.entry.js +0 -4
- package/dist/ionic/p-3065cecc.entry.js +0 -4
- package/dist/ionic/p-381ca6f8.system.entry.js +0 -4
- package/dist/ionic/p-3f3ae637.system.entry.js +0 -4
- package/dist/ionic/p-41dcd6c0.system.entry.js +0 -4
- package/dist/ionic/p-4a13a07c.system.entry.js +0 -4
- package/dist/ionic/p-51abefb7.system.js +0 -4
- package/dist/ionic/p-5d22095a.entry.js +0 -4
- package/dist/ionic/p-677cb2f7.js +0 -4
- package/dist/ionic/p-67c1996d.entry.js +0 -4
- package/dist/ionic/p-67c3a2a8.system.js +0 -5
- package/dist/ionic/p-6ba863b1.system.entry.js +0 -4
- package/dist/ionic/p-6db68be9.system.entry.js +0 -4
- package/dist/ionic/p-71f30cfc.system.entry.js +0 -4
- package/dist/ionic/p-75017f39.system.entry.js +0 -4
- package/dist/ionic/p-7751def0.system.entry.js +0 -4
- package/dist/ionic/p-7a1ef06a.system.entry.js +0 -4
- package/dist/ionic/p-7a343dca.system.entry.js +0 -4
- package/dist/ionic/p-7a3e1f37.system.entry.js +0 -4
- package/dist/ionic/p-7ae141f1.entry.js +0 -4
- package/dist/ionic/p-7e8ef0bb.system.entry.js +0 -4
- package/dist/ionic/p-88d99112.system.entry.js +0 -4
- package/dist/ionic/p-8a1d33e3.system.entry.js +0 -4
- package/dist/ionic/p-8aaade76.entry.js +0 -4
- package/dist/ionic/p-94265b3d.entry.js +0 -4
- package/dist/ionic/p-943caced.system.entry.js +0 -4
- package/dist/ionic/p-95d8071f.entry.js +0 -4
- package/dist/ionic/p-9a9deb33.system.entry.js +0 -4
- package/dist/ionic/p-9c9eb63f.system.entry.js +0 -4
- package/dist/ionic/p-9cbfb298.system.entry.js +0 -4
- package/dist/ionic/p-a01d6784.system.entry.js +0 -4
- package/dist/ionic/p-a068b1c7.system.entry.js +0 -4
- package/dist/ionic/p-a259fa5f.system.entry.js +0 -4
- package/dist/ionic/p-a60a1ce5.js +0 -4
- package/dist/ionic/p-acbb36a1.entry.js +0 -4
- package/dist/ionic/p-bad61026.system.entry.js +0 -4
- package/dist/ionic/p-bc59962f.system.entry.js +0 -4
- package/dist/ionic/p-c16d9f2c.system.entry.js +0 -4
- package/dist/ionic/p-c33d312f.js +0 -4
- package/dist/ionic/p-c9b8f9e5.system.entry.js +0 -4
- package/dist/ionic/p-cb0cfc39.system.entry.js +0 -4
- package/dist/ionic/p-cd6bb7f5.system.entry.js +0 -4
- package/dist/ionic/p-d6674fed.entry.js +0 -4
- package/dist/ionic/p-ddbb2d5b.system.js +0 -4
- package/dist/ionic/p-df812ebe.system.entry.js +0 -4
- package/dist/ionic/p-dfd21411.system.entry.js +0 -4
- package/dist/ionic/p-e22bf111.js +0 -4
- package/dist/ionic/p-e652d9e4.entry.js +0 -4
- package/dist/ionic/p-e87564bc.entry.js +0 -4
- package/dist/ionic/p-ea4b254e.entry.js +0 -4
- package/dist/ionic/p-ea9a8424.system.entry.js +0 -4
- package/dist/ionic/p-eaa4e76f.system.entry.js +0 -4
- package/dist/ionic/p-eba17ff5.system.entry.js +0 -4
- package/dist/ionic/p-ee1214e0.system.entry.js +0 -4
- package/dist/ionic/p-f06858a6.entry.js +0 -4
- package/dist/ionic/p-f08d8865.js +0 -4
- package/dist/ionic/p-f2ed3039.system.entry.js +0 -4
- package/dist/ionic/p-f3478ed6.system.entry.js +0 -4
- package/dist/ionic/p-fc58a772.system.entry.js +0 -4
- package/dist/ionic/p-fdc3ff96.entry.js +0 -4
- package/dist/types/components/picker/picker-interfaces.d.ts +0 -8
- package/dist/types/components/picker-column/picker-column-interfaces.d.ts +0 -4
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -66
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- /package/dist/collection/components/{picker-legacy → picker}/animations/ios.enter.js +0 -0
- /package/dist/collection/components/{picker-legacy → picker}/animations/ios.leave.js +0 -0
- /package/dist/collection/components/picker/{picker-interfaces.js → picker-interface.js} +0 -0
- /package/dist/collection/components/{picker-legacy-column → picker-column}/picker-column.ios.css +0 -0
- /package/dist/collection/components/{picker-legacy-column → picker-column}/test/test.utils.js +0 -0
- /package/dist/collection/components/{picker-column/picker-column-interfaces.js → picker-column-internal/picker-column-internal-interfaces.js} +0 -0
- /package/dist/collection/components/{picker-legacy/picker-interface.js → picker-internal/picker-internal-interfaces.js} +0 -0
- /package/dist/types/components/{picker-legacy → picker}/animations/ios.enter.d.ts +0 -0
- /package/dist/types/components/{picker-legacy → picker}/animations/ios.leave.d.ts +0 -0
- /package/dist/types/components/{picker-legacy → picker}/picker-interface.d.ts +0 -0
- /package/dist/types/components/{picker-legacy-column → picker-column}/test/test.utils.d.ts +0 -0
|
@@ -1,56 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import AxeBuilder from "@axe-core/playwright";
|
|
5
4
|
import { expect } from "@playwright/test";
|
|
6
5
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
7
|
-
configs({ directions: ['ltr'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
|
|
8
|
-
test.describe(title('button: a11y for ion-color()'), () => {
|
|
9
|
-
test('should not have accessibility violations', async ({ page }) => {
|
|
10
|
-
await page.setContent(`
|
|
11
|
-
<ion-button>Default</ion-button>
|
|
12
|
-
<ion-button fill="solid">Solid</ion-button>
|
|
13
|
-
<ion-button fill="outline">Outline</ion-button>
|
|
14
|
-
<ion-button fill="clear">Clear</ion-button>
|
|
15
|
-
`, config);
|
|
16
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
17
|
-
expect(results.violations).toEqual([]);
|
|
18
|
-
});
|
|
19
|
-
test('focused state should not have accessibility violations', async ({ page }) => {
|
|
20
|
-
await page.setContent(`
|
|
21
|
-
<ion-button class="ion-focused" fill="solid">Solid</ion-button>
|
|
22
|
-
<ion-button class="ion-focused" fill="outline">Outline</ion-button>
|
|
23
|
-
<ion-button class="ion-focused" fill="clear">Clear</ion-button>
|
|
24
|
-
`, config);
|
|
25
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
26
|
-
expect(results.violations).toEqual([]);
|
|
27
|
-
});
|
|
28
|
-
test('button in toolbar should not have accessibility violations', async ({ page }) => {
|
|
29
|
-
await page.setContent(`
|
|
30
|
-
<ion-toolbar>
|
|
31
|
-
<ion-button fill="outline" class="ion-activated">Start</ion-button>
|
|
32
|
-
</ion-toolbar>
|
|
33
|
-
`, config);
|
|
34
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
35
|
-
expect(results.violations).toEqual([]);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
/**
|
|
40
|
-
* Only ios mode uses ion-color() for the activated button state
|
|
41
|
-
*/
|
|
42
|
-
configs({ directions: ['ltr'], modes: ['ios'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
|
|
43
|
-
test.describe(title('button: ios contrast'), () => {
|
|
44
|
-
test('activated state should not have accessibility violations', async ({ page }) => {
|
|
45
|
-
await page.setContent(`
|
|
46
|
-
<ion-button class="ion-activated" fill="solid">Solid</ion-button>
|
|
47
|
-
<ion-button class="ion-activated" fill="outline">Outline</ion-button>
|
|
48
|
-
`, config);
|
|
49
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
50
|
-
expect(results.violations).toEqual([]);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
6
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
55
7
|
test.describe(title('button: font scaling'), () => {
|
|
56
8
|
test('should scale default button text on larger font sizes', async ({ page }) => {
|
|
@@ -6,29 +6,33 @@ import { configs, test } from "../../../../utils/test/playwright/index";
|
|
|
6
6
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
7
|
test.describe(title('button: wrap'), () => {
|
|
8
8
|
test('should render button with long text', async ({ page }) => {
|
|
9
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
9
10
|
await page.setContent(`
|
|
10
|
-
<ion-button>This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
11
|
+
<ion-button class="ion-text-wrap">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
11
12
|
`, config);
|
|
12
13
|
const button = page.locator('ion-button');
|
|
13
14
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap`));
|
|
14
15
|
});
|
|
15
16
|
test('should render small button with long text', async ({ page }) => {
|
|
17
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
16
18
|
await page.setContent(`
|
|
17
|
-
<ion-button size="small">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
19
|
+
<ion-button class="ion-text-wrap" size="small">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
18
20
|
`, config);
|
|
19
21
|
const button = page.locator('ion-button');
|
|
20
22
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-small`));
|
|
21
23
|
});
|
|
22
24
|
test('should render large button with long text', async ({ page }) => {
|
|
25
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
23
26
|
await page.setContent(`
|
|
24
|
-
<ion-button size="large">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
27
|
+
<ion-button class="ion-text-wrap" size="large">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
25
28
|
`, config);
|
|
26
29
|
const button = page.locator('ion-button');
|
|
27
30
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-large`));
|
|
28
31
|
});
|
|
29
32
|
test('should render button with long text and icons', async ({ page }) => {
|
|
33
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
30
34
|
await page.setContent(`
|
|
31
|
-
<ion-button>
|
|
35
|
+
<ion-button class="ion-text-wrap">
|
|
32
36
|
<ion-icon slot="start" name="heart"></ion-icon>
|
|
33
37
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
34
38
|
<ion-icon slot="end" name="star"></ion-icon>
|
|
@@ -38,15 +42,17 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
38
42
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-icons`));
|
|
39
43
|
});
|
|
40
44
|
test('should render block button with long text', async ({ page }) => {
|
|
45
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
41
46
|
await page.setContent(`
|
|
42
|
-
<ion-button expand="block">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
47
|
+
<ion-button class="ion-text-wrap" expand="block">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
43
48
|
`, config);
|
|
44
49
|
const button = page.locator('ion-button');
|
|
45
50
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-block`));
|
|
46
51
|
});
|
|
47
52
|
test('should render block button with long text and icons', async ({ page }) => {
|
|
53
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
48
54
|
await page.setContent(`
|
|
49
|
-
<ion-button expand="block">
|
|
55
|
+
<ion-button class="ion-text-wrap" expand="block">
|
|
50
56
|
<ion-icon slot="start" name="heart"></ion-icon>
|
|
51
57
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
52
58
|
<ion-icon slot="end" name="star"></ion-icon>
|
|
@@ -56,15 +62,17 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
56
62
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-block-icons`));
|
|
57
63
|
});
|
|
58
64
|
test('should render full button with long text', async ({ page }) => {
|
|
65
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
59
66
|
await page.setContent(`
|
|
60
|
-
<ion-button expand="full">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
67
|
+
<ion-button class="ion-text-wrap" expand="full">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
61
68
|
`, config);
|
|
62
69
|
const button = page.locator('ion-button');
|
|
63
70
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-full`));
|
|
64
71
|
});
|
|
65
72
|
test('should render full button with long text and icons', async ({ page }) => {
|
|
73
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
66
74
|
await page.setContent(`
|
|
67
|
-
<ion-button expand="full">
|
|
75
|
+
<ion-button class="ion-text-wrap" expand="full">
|
|
68
76
|
<ion-icon slot="start" name="heart"></ion-icon>
|
|
69
77
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
70
78
|
<ion-icon slot="end" name="star"></ion-icon>
|
|
@@ -74,9 +82,10 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
74
82
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-full-icons`));
|
|
75
83
|
});
|
|
76
84
|
test('should render an item button with long text', async ({ page }) => {
|
|
85
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
77
86
|
await page.setContent(`
|
|
78
87
|
<ion-item>
|
|
79
|
-
<ion-button slot="end">
|
|
88
|
+
<ion-button class="ion-text-wrap" slot="end">
|
|
80
89
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
81
90
|
</ion-button>
|
|
82
91
|
</ion-item>
|
|
@@ -85,9 +94,10 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
85
94
|
await expect(item).toHaveScreenshot(screenshot(`button-wrap-item-button`));
|
|
86
95
|
});
|
|
87
96
|
test('should render an item button with long text and icons', async ({ page }) => {
|
|
97
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
88
98
|
await page.setContent(`
|
|
89
99
|
<ion-item>
|
|
90
|
-
<ion-button slot="end">
|
|
100
|
+
<ion-button class="ion-text-wrap" slot="end">
|
|
91
101
|
<ion-icon slot="start" name="heart"></ion-icon>
|
|
92
102
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
93
103
|
<ion-icon slot="end" name="star"></ion-icon>
|
|
@@ -98,10 +108,11 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
98
108
|
await expect(item).toHaveScreenshot(screenshot(`button-wrap-item-button-icons`));
|
|
99
109
|
});
|
|
100
110
|
test('should render a list header button with long text', async ({ page }) => {
|
|
111
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
101
112
|
await page.setContent(`
|
|
102
113
|
<ion-list-header>
|
|
103
114
|
<ion-label>List Header</ion-label>
|
|
104
|
-
<ion-button>
|
|
115
|
+
<ion-button class="ion-text-wrap">
|
|
105
116
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
106
117
|
</ion-button>
|
|
107
118
|
</ion-list-header>
|
|
@@ -110,10 +121,11 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
110
121
|
await expect(listHeader).toHaveScreenshot(screenshot(`button-wrap-list-header-button`));
|
|
111
122
|
});
|
|
112
123
|
test('should render a toolbar button with long text', async ({ page }) => {
|
|
124
|
+
// TODO(FW-4599): remove ion-text-wrap class
|
|
113
125
|
await page.setContent(`
|
|
114
126
|
<ion-toolbar>
|
|
115
127
|
<ion-buttons slot="end">
|
|
116
|
-
<ion-button>
|
|
128
|
+
<ion-button class="ion-text-wrap">
|
|
117
129
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
118
130
|
</ion-button>
|
|
119
131
|
</ion-buttons>
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
* @prop --checkmark-color: Color of the checkbox checkmark when checked
|
|
72
72
|
* @prop --checkmark-width: Stroke width of the checkbox checkmark
|
|
73
73
|
*/
|
|
74
|
-
--checkbox-background-checked: var(--ion-color-primary, #
|
|
75
|
-
--border-color-checked: var(--ion-color-primary, #
|
|
74
|
+
--checkbox-background-checked: var(--ion-color-primary, #3880ff);
|
|
75
|
+
--border-color-checked: var(--ion-color-primary, #3880ff);
|
|
76
76
|
--checkmark-color: var(--ion-color-primary-contrast, #fff);
|
|
77
77
|
--checkmark-width: 1;
|
|
78
78
|
--transition: none;
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
* @prop --checkmark-color: Color of the checkbox checkmark when checked
|
|
72
72
|
* @prop --checkmark-width: Stroke width of the checkbox checkmark
|
|
73
73
|
*/
|
|
74
|
-
--checkbox-background-checked: var(--ion-color-primary, #
|
|
75
|
-
--border-color-checked: var(--ion-color-primary, #
|
|
74
|
+
--checkbox-background-checked: var(--ion-color-primary, #3880ff);
|
|
75
|
+
--border-color-checked: var(--ion-color-primary, #3880ff);
|
|
76
76
|
--checkmark-color: var(--ion-color-primary-contrast, #fff);
|
|
77
77
|
--checkmark-width: 1;
|
|
78
78
|
--transition: none;
|
|
@@ -4,19 +4,10 @@
|
|
|
4
4
|
import AxeBuilder from "@axe-core/playwright";
|
|
5
5
|
import { expect } from "@playwright/test";
|
|
6
6
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
7
|
-
configs({
|
|
7
|
+
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
8
8
|
test.describe(title('checkbox: a11y'), () => {
|
|
9
9
|
test('should not have accessibility violations', async ({ page }) => {
|
|
10
|
-
await page.
|
|
11
|
-
<main>
|
|
12
|
-
<ion-checkbox>Label</ion-checkbox>
|
|
13
|
-
<ion-checkbox aria-label="my aria label"></ion-checkbox>
|
|
14
|
-
<ion-checkbox checked="true">Checked</ion-checkbox>
|
|
15
|
-
<ion-item>
|
|
16
|
-
<ion-checkbox>Checkbox in item</ion-checkbox>
|
|
17
|
-
</ion-item>
|
|
18
|
-
</main>
|
|
19
|
-
`, config);
|
|
10
|
+
await page.goto(`/src/components/checkbox/test/a11y`, config);
|
|
20
11
|
const results = await new AxeBuilder({ page }).analyze();
|
|
21
12
|
expect(results.violations).toEqual([]);
|
|
22
13
|
});
|
|
@@ -334,8 +334,9 @@ export class Content {
|
|
|
334
334
|
const mode = getIonMode(this);
|
|
335
335
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
336
336
|
const transitionShadow = mode === 'ios';
|
|
337
|
+
const TagType = isMainContent ? 'main' : 'div';
|
|
337
338
|
this.resize();
|
|
338
|
-
return (h(Host, {
|
|
339
|
+
return (h(Host, { class: createColorClasses(this.color, {
|
|
339
340
|
[mode]: true,
|
|
340
341
|
'content-sizing': hostContext('ion-popover', this.el),
|
|
341
342
|
overscroll: forceOverscroll,
|
|
@@ -343,7 +344,7 @@ export class Content {
|
|
|
343
344
|
}), style: {
|
|
344
345
|
'--offset-top': `${this.cTop}px`,
|
|
345
346
|
'--offset-bottom': `${this.cBottom}px`,
|
|
346
|
-
} }, h("div", { ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h(
|
|
347
|
+
} }, h("div", { ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h(TagType, { class: {
|
|
347
348
|
'inner-scroll': true,
|
|
348
349
|
'scroll-x': scrollX,
|
|
349
350
|
'scroll-y': scrollY,
|
|
@@ -61,8 +61,6 @@
|
|
|
61
61
|
*
|
|
62
62
|
* @prop --wheel-highlight-background: The background of the highlight under the selected
|
|
63
63
|
* item when using a wheel style layout, or in the month/year picker for grid style layouts.
|
|
64
|
-
* @prop --wheel-highlight-border-radius: The border radius of the highlight under the selected
|
|
65
|
-
* item when using a wheel style layout, or in the month/year picker for grid style layouts.
|
|
66
64
|
* @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items
|
|
67
65
|
* when using a wheel style layout, or in the month/year picker for grid style layouts. Must
|
|
68
66
|
* be in RGB format, e.g. `255, 255, 255`.
|
|
@@ -73,6 +71,19 @@
|
|
|
73
71
|
overflow: hidden;
|
|
74
72
|
}
|
|
75
73
|
|
|
74
|
+
/**
|
|
75
|
+
* When using the wheel picker to switch
|
|
76
|
+
* between months, sometimes the allowed
|
|
77
|
+
* dates may be filtered. As a result, it
|
|
78
|
+
* is possible to get a layout shift as
|
|
79
|
+
* the picker column will shrink to fit the
|
|
80
|
+
* widest item in the column. Setting a minimum
|
|
81
|
+
* width avoids this layout shifting.
|
|
82
|
+
*/
|
|
83
|
+
ion-picker-column-internal {
|
|
84
|
+
min-width: 26px;
|
|
85
|
+
}
|
|
86
|
+
|
|
76
87
|
:host(.datetime-size-fixed) {
|
|
77
88
|
width: auto;
|
|
78
89
|
height: auto;
|
|
@@ -83,7 +94,7 @@
|
|
|
83
94
|
}
|
|
84
95
|
|
|
85
96
|
/**
|
|
86
|
-
* This ensures that the picker is
|
|
97
|
+
* This ensures that the picker is apppropriately
|
|
87
98
|
* sized and never truncates the text.
|
|
88
99
|
*/
|
|
89
100
|
:host(.datetime-size-fixed.datetime-prefer-wheel) {
|
|
@@ -306,8 +317,24 @@
|
|
|
306
317
|
justify-content: space-between;
|
|
307
318
|
}
|
|
308
319
|
|
|
320
|
+
:host .calendar-action-buttons ion-item,
|
|
309
321
|
:host .calendar-action-buttons ion-button {
|
|
310
|
-
--background:
|
|
322
|
+
--background: translucent;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
:host .calendar-action-buttons ion-item ion-label {
|
|
326
|
+
display: flex;
|
|
327
|
+
align-items: center;
|
|
328
|
+
width: auto;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
:host .calendar-action-buttons ion-item ion-icon {
|
|
332
|
+
-webkit-padding-start: 4px;
|
|
333
|
+
padding-inline-start: 4px;
|
|
334
|
+
-webkit-padding-end: 0;
|
|
335
|
+
padding-inline-end: 0;
|
|
336
|
+
padding-top: 0;
|
|
337
|
+
padding-bottom: 0;
|
|
311
338
|
}
|
|
312
339
|
|
|
313
340
|
:host .calendar-days-of-week {
|
|
@@ -489,72 +516,8 @@
|
|
|
489
516
|
position: static;
|
|
490
517
|
}
|
|
491
518
|
|
|
492
|
-
:host(.show-month-and-year) .calendar-action-buttons
|
|
493
|
-
color: var(--ion-color-base);
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
.calendar-month-year {
|
|
497
|
-
min-width: 0;
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
.calendar-month-year-toggle {
|
|
501
|
-
font-family: inherit;
|
|
502
|
-
font-size: inherit;
|
|
503
|
-
font-style: inherit;
|
|
504
|
-
font-weight: inherit;
|
|
505
|
-
letter-spacing: inherit;
|
|
506
|
-
text-decoration: inherit;
|
|
507
|
-
text-indent: inherit;
|
|
508
|
-
text-overflow: inherit;
|
|
509
|
-
text-transform: inherit;
|
|
510
|
-
text-align: inherit;
|
|
511
|
-
white-space: inherit;
|
|
512
|
-
color: inherit;
|
|
513
|
-
position: relative;
|
|
514
|
-
border: 0;
|
|
515
|
-
outline: none;
|
|
516
|
-
background: transparent;
|
|
517
|
-
cursor: pointer;
|
|
518
|
-
z-index: 1;
|
|
519
|
-
}
|
|
520
|
-
.calendar-month-year-toggle::after {
|
|
521
|
-
left: 0;
|
|
522
|
-
right: 0;
|
|
523
|
-
top: 0;
|
|
524
|
-
bottom: 0;
|
|
525
|
-
position: absolute;
|
|
526
|
-
content: "";
|
|
527
|
-
opacity: 0;
|
|
528
|
-
transition: opacity 15ms linear, background-color 15ms linear;
|
|
529
|
-
z-index: -1;
|
|
530
|
-
}
|
|
531
|
-
.calendar-month-year-toggle.ion-focused::after {
|
|
532
|
-
background: currentColor;
|
|
533
|
-
}
|
|
534
|
-
.calendar-month-year-toggle:disabled {
|
|
535
|
-
opacity: 0.3;
|
|
536
|
-
pointer-events: none;
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
.calendar-month-year-toggle ion-icon {
|
|
540
|
-
-webkit-padding-start: 4px;
|
|
541
|
-
padding-inline-start: 4px;
|
|
542
|
-
-webkit-padding-end: 0;
|
|
543
|
-
padding-inline-end: 0;
|
|
544
|
-
padding-top: 0;
|
|
545
|
-
padding-bottom: 0;
|
|
546
|
-
flex-shrink: 0;
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
.calendar-month-year-toggle #toggle-wrapper {
|
|
550
|
-
display: inline-flex;
|
|
551
|
-
align-items: center;
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
ion-picker {
|
|
555
|
-
--highlight-background: var(--wheel-highlight-background);
|
|
556
|
-
--highlight-border-radius: var(--wheel-highlight-border-radius);
|
|
557
|
-
--fade-background-rgb: var(--wheel-fade-background-rgb);
|
|
519
|
+
:host(.show-month-and-year) .calendar-action-buttons ion-item {
|
|
520
|
+
--color: var(--ion-color-base);
|
|
558
521
|
}
|
|
559
522
|
|
|
560
523
|
/**
|
|
@@ -613,8 +576,8 @@ ion-picker {
|
|
|
613
576
|
* }
|
|
614
577
|
*/
|
|
615
578
|
:host {
|
|
616
|
-
--background: var(--ion-color-light, #
|
|
617
|
-
--background-rgb: var(--ion-color-light-rgb
|
|
579
|
+
--background: var(--ion-color-light, #ffffff);
|
|
580
|
+
--background-rgb: var(--ion-color-light-rgb);
|
|
618
581
|
--title-color: var(--ion-color-step-600, #666666);
|
|
619
582
|
}
|
|
620
583
|
|
|
@@ -643,31 +606,15 @@ ion-picker {
|
|
|
643
606
|
margin-top: 10px;
|
|
644
607
|
}
|
|
645
608
|
|
|
646
|
-
.calendar-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
-
|
|
650
|
-
padding-inline-end: 16px;
|
|
651
|
-
padding-top: 0px;
|
|
652
|
-
padding-bottom: 0px;
|
|
653
|
-
min-height: 44px;
|
|
609
|
+
:host .calendar-action-buttons ion-item {
|
|
610
|
+
--padding-start: 16px;
|
|
611
|
+
--background-hover: transparent;
|
|
612
|
+
--background-activated: transparent;
|
|
654
613
|
font-size: min(1rem, 25.6px);
|
|
655
614
|
font-weight: 600;
|
|
656
615
|
}
|
|
657
|
-
.calendar-month-year-toggle.ion-focused::after {
|
|
658
|
-
opacity: 0.15;
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
.calendar-month-year-toggle #toggle-wrapper {
|
|
662
|
-
-webkit-margin-start: 0;
|
|
663
|
-
margin-inline-start: 0;
|
|
664
|
-
-webkit-margin-end: 8px;
|
|
665
|
-
margin-inline-end: 8px;
|
|
666
|
-
margin-top: 10px;
|
|
667
|
-
margin-bottom: 10px;
|
|
668
|
-
}
|
|
669
616
|
|
|
670
|
-
:host .calendar-action-buttons
|
|
617
|
+
:host .calendar-action-buttons ion-item ion-icon,
|
|
671
618
|
:host .calendar-action-buttons ion-buttons ion-button {
|
|
672
619
|
color: var(--ion-color-base);
|
|
673
620
|
}
|
|
@@ -1015,7 +1015,7 @@ export class Datetime {
|
|
|
1015
1015
|
const renderArray = forcePresentation === 'time-date'
|
|
1016
1016
|
? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
|
|
1017
1017
|
: [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
|
|
1018
|
-
return h("ion-picker", null, renderArray);
|
|
1018
|
+
return h("ion-picker-internal", null, renderArray);
|
|
1019
1019
|
}
|
|
1020
1020
|
renderDatePickerColumns(forcePresentation) {
|
|
1021
1021
|
return forcePresentation === 'date-time' || forcePresentation === 'time-date'
|
|
@@ -1074,7 +1074,7 @@ export class Datetime {
|
|
|
1074
1074
|
const todayString = workingParts.day !== null
|
|
1075
1075
|
? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
|
|
1076
1076
|
: `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
|
|
1077
|
-
return (h("ion-picker-column", { class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
|
|
1077
|
+
return (h("ion-picker-column-internal", { class: "date-column", color: this.color, disabled: disabled, items: items, value: todayString, onIonChange: (ev) => {
|
|
1078
1078
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1079
1079
|
// Due to a Safari 14 issue we need to destroy
|
|
1080
1080
|
// the scroll listener before we update state
|
|
@@ -1090,7 +1090,7 @@ export class Datetime {
|
|
|
1090
1090
|
// the working parts have been updated.
|
|
1091
1091
|
this.initializeCalendarListener();
|
|
1092
1092
|
ev.stopPropagation();
|
|
1093
|
-
} }
|
|
1093
|
+
} }));
|
|
1094
1094
|
}
|
|
1095
1095
|
renderIndividualDatePickerColumns(forcePresentation) {
|
|
1096
1096
|
const { workingParts, isDateEnabled } = this;
|
|
@@ -1158,8 +1158,7 @@ export class Datetime {
|
|
|
1158
1158
|
}
|
|
1159
1159
|
const { disabled, workingParts } = this;
|
|
1160
1160
|
const activePart = this.getActivePartsWithFallback();
|
|
1161
|
-
|
|
1162
|
-
return (h("ion-picker-column", { class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
|
|
1161
|
+
return (h("ion-picker-column-internal", { class: "day-column", color: this.color, disabled: disabled, items: days, value: (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined, onIonChange: (ev) => {
|
|
1163
1162
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1164
1163
|
// Due to a Safari 14 issue we need to destroy
|
|
1165
1164
|
// the scroll listener before we update state
|
|
@@ -1173,7 +1172,7 @@ export class Datetime {
|
|
|
1173
1172
|
// the working parts have been updated.
|
|
1174
1173
|
this.initializeCalendarListener();
|
|
1175
1174
|
ev.stopPropagation();
|
|
1176
|
-
} }
|
|
1175
|
+
} }));
|
|
1177
1176
|
}
|
|
1178
1177
|
renderMonthPickerColumn(months) {
|
|
1179
1178
|
if (months.length === 0) {
|
|
@@ -1181,7 +1180,7 @@ export class Datetime {
|
|
|
1181
1180
|
}
|
|
1182
1181
|
const { disabled, workingParts } = this;
|
|
1183
1182
|
const activePart = this.getActivePartsWithFallback();
|
|
1184
|
-
return (h("ion-picker-column", { class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
|
|
1183
|
+
return (h("ion-picker-column-internal", { class: "month-column", color: this.color, disabled: disabled, items: months, value: workingParts.month, onIonChange: (ev) => {
|
|
1185
1184
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1186
1185
|
// Due to a Safari 14 issue we need to destroy
|
|
1187
1186
|
// the scroll listener before we update state
|
|
@@ -1195,7 +1194,7 @@ export class Datetime {
|
|
|
1195
1194
|
// the working parts have been updated.
|
|
1196
1195
|
this.initializeCalendarListener();
|
|
1197
1196
|
ev.stopPropagation();
|
|
1198
|
-
} }
|
|
1197
|
+
} }));
|
|
1199
1198
|
}
|
|
1200
1199
|
renderYearPickerColumn(years) {
|
|
1201
1200
|
if (years.length === 0) {
|
|
@@ -1203,7 +1202,7 @@ export class Datetime {
|
|
|
1203
1202
|
}
|
|
1204
1203
|
const { disabled, workingParts } = this;
|
|
1205
1204
|
const activePart = this.getActivePartsWithFallback();
|
|
1206
|
-
return (h("ion-picker-column", { class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
|
|
1205
|
+
return (h("ion-picker-column-internal", { class: "year-column", color: this.color, disabled: disabled, items: years, value: workingParts.year, onIonChange: (ev) => {
|
|
1207
1206
|
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1208
1207
|
// Due to a Safari 14 issue we need to destroy
|
|
1209
1208
|
// the scroll listener before we update state
|
|
@@ -1217,7 +1216,7 @@ export class Datetime {
|
|
|
1217
1216
|
// the working parts have been updated.
|
|
1218
1217
|
this.initializeCalendarListener();
|
|
1219
1218
|
ev.stopPropagation();
|
|
1220
|
-
} }
|
|
1219
|
+
} }));
|
|
1221
1220
|
}
|
|
1222
1221
|
renderTimePickerColumns(forcePresentation) {
|
|
1223
1222
|
if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
|
|
@@ -1246,22 +1245,22 @@ export class Datetime {
|
|
|
1246
1245
|
if (hoursData.length === 0)
|
|
1247
1246
|
return [];
|
|
1248
1247
|
const activePart = this.getActivePartsWithFallback();
|
|
1249
|
-
return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1248
|
+
return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.hour, items: hoursData, numericInput: true, onIonChange: (ev) => {
|
|
1250
1249
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
1251
1250
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
|
|
1252
1251
|
ev.stopPropagation();
|
|
1253
|
-
} }
|
|
1252
|
+
} }));
|
|
1254
1253
|
}
|
|
1255
1254
|
renderMinutePickerColumn(minutesData) {
|
|
1256
1255
|
const { disabled, workingParts } = this;
|
|
1257
1256
|
if (minutesData.length === 0)
|
|
1258
1257
|
return [];
|
|
1259
1258
|
const activePart = this.getActivePartsWithFallback();
|
|
1260
|
-
return (h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1259
|
+
return (h("ion-picker-column-internal", { color: this.color, disabled: disabled, value: activePart.minute, items: minutesData, numericInput: true, onIonChange: (ev) => {
|
|
1261
1260
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
1262
1261
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
|
|
1263
1262
|
ev.stopPropagation();
|
|
1264
|
-
} }
|
|
1263
|
+
} }));
|
|
1265
1264
|
}
|
|
1266
1265
|
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
1267
1266
|
const { disabled, workingParts } = this;
|
|
@@ -1270,12 +1269,12 @@ export class Datetime {
|
|
|
1270
1269
|
}
|
|
1271
1270
|
const activePart = this.getActivePartsWithFallback();
|
|
1272
1271
|
const isDayPeriodRTL = isLocaleDayPeriodRTL(this.locale);
|
|
1273
|
-
return (h("ion-picker-column", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
|
|
1272
|
+
return (h("ion-picker-column-internal", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, items: dayPeriodData, onIonChange: (ev) => {
|
|
1274
1273
|
const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
|
|
1275
1274
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
1276
1275
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
|
|
1277
1276
|
ev.stopPropagation();
|
|
1278
|
-
} }
|
|
1277
|
+
} }));
|
|
1279
1278
|
}
|
|
1280
1279
|
renderWheelView(forcePresentation) {
|
|
1281
1280
|
const { locale } = this;
|
|
@@ -1296,11 +1295,26 @@ export class Datetime {
|
|
|
1296
1295
|
const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
|
|
1297
1296
|
// don't use the inheritAttributes util because it removes dir from the host, and we still need that
|
|
1298
1297
|
const hostDir = this.el.getAttribute('dir') || undefined;
|
|
1299
|
-
return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1298
|
+
return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("ion-item", { part: "month-year-button", ref: (el) => (this.monthYearToggleItemRef = el), button: true, "aria-label": "Show year picker", detail: false, lines: "none", disabled: disabled, onClick: () => {
|
|
1299
|
+
var _a;
|
|
1300
|
+
this.toggleMonthAndYearView();
|
|
1301
|
+
/**
|
|
1302
|
+
* TODO: FW-3547
|
|
1303
|
+
*
|
|
1304
|
+
* Currently there is not a way to set the aria-label on the inner button
|
|
1305
|
+
* on the `ion-item` and have it be reactive to changes. This is a workaround
|
|
1306
|
+
* until we either refactor `ion-item` to a button or Stencil adds a way to
|
|
1307
|
+
* have reactive props for built-in properties, such as `aria-label`.
|
|
1308
|
+
*/
|
|
1309
|
+
const { monthYearToggleItemRef } = this;
|
|
1310
|
+
if (monthYearToggleItemRef) {
|
|
1311
|
+
const btn = (_a = monthYearToggleItemRef.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-native');
|
|
1312
|
+
if (btn) {
|
|
1313
|
+
const monthYearAriaLabel = this.showMonthAndYear ? 'Hide year picker' : 'Show year picker';
|
|
1314
|
+
btn.setAttribute('aria-label', monthYearAriaLabel);
|
|
1315
|
+
}
|
|
1316
|
+
}
|
|
1317
|
+
} }, h("ion-label", null, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
|
|
1304
1318
|
return h("div", { class: "day-of-week" }, d);
|
|
1305
1319
|
}))));
|
|
1306
1320
|
}
|
|
@@ -1461,7 +1475,7 @@ export class Datetime {
|
|
|
1461
1475
|
* This will correctly scroll the element position to the correct time value,
|
|
1462
1476
|
* before the popover is fully presented.
|
|
1463
1477
|
*/
|
|
1464
|
-
const cols = ev.target.querySelectorAll('ion-picker-column');
|
|
1478
|
+
const cols = ev.target.querySelectorAll('ion-picker-column-internal');
|
|
1465
1479
|
// TODO (FW-615): Potentially remove this when intersection observers are fixed in picker column
|
|
1466
1480
|
cols.forEach((col) => col.scrollActiveItemIntoView());
|
|
1467
1481
|
}, style: {
|
|
@@ -2392,5 +2406,3 @@ export class Datetime {
|
|
|
2392
2406
|
}
|
|
2393
2407
|
}
|
|
2394
2408
|
let datetimeIds = 0;
|
|
2395
|
-
const WHEEL_ITEM_PART = 'wheel-item';
|
|
2396
|
-
const WHEEL_ITEM_ACTIVE_PART = `active`;
|