@ionic/core 8.0.0-dev.11709632212.139b6f63 → 8.0.0-dev.11711408410.14d71406
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 +11 -6
- package/components/alert.js +12 -8
- package/components/animation.js +9 -250
- package/components/backdrop.js +8 -4
- package/components/button.js +25 -9
- package/components/buttons.js +10 -6
- package/components/checkbox.js +13 -9
- package/components/data.js +27 -42
- package/components/haptic.js +6 -54
- package/components/hardware-back-button.js +3 -3
- package/components/helpers.js +1 -57
- package/components/index4.js +8 -7
- package/components/index6.js +25 -30
- package/components/index7.js +124 -25
- package/components/index8.js +150 -111
- package/components/input-shims.js +1 -1
- package/components/input.utils.js +13 -1
- package/components/ion-accordion-group.js +9 -6
- package/components/ion-accordion.js +10 -6
- package/components/ion-app.js +8 -9
- package/components/ion-avatar.js +9 -2
- package/components/ion-back-button.js +12 -8
- package/components/ion-badge.js +9 -5
- package/components/ion-breadcrumb.js +11 -7
- package/components/ion-breadcrumbs.js +9 -5
- package/components/ion-card-content.js +9 -5
- package/components/ion-card-header.js +9 -5
- package/components/ion-card-subtitle.js +9 -5
- package/components/ion-card-title.js +9 -5
- package/components/ion-card.js +11 -7
- package/components/ion-chip.js +9 -5
- package/components/ion-col.js +5 -5
- package/components/ion-content.js +10 -10
- package/components/ion-datetime-button.js +19 -15
- package/components/ion-datetime.js +93 -27
- package/components/ion-fab-button.js +10 -6
- package/components/ion-fab-list.js +5 -5
- package/components/ion-fab.js +5 -5
- package/components/ion-footer.js +14 -10
- package/components/ion-grid.js +5 -5
- package/components/ion-header.js +15 -11
- package/components/ion-img.js +5 -2
- package/components/ion-infinite-scroll-content.js +12 -8
- package/components/ion-infinite-scroll.js +5 -5
- package/components/ion-input.js +17 -14
- package/components/ion-item-divider.js +9 -5
- package/components/ion-item-group.js +9 -5
- package/components/ion-item-option.js +9 -5
- package/components/ion-item-options.js +9 -5
- package/components/ion-item-sliding.js +5 -5
- package/components/ion-loading.js +10 -6
- package/components/ion-menu-button.js +11 -7
- package/components/ion-menu-toggle.js +5 -5
- package/components/ion-menu.js +14 -31
- package/components/ion-modal.js +45 -10
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +6 -5
- package/components/ion-note.js +47 -1
- package/components/ion-picker-legacy.js +5 -6
- package/components/ion-progress-bar.js +8 -4
- package/components/ion-range.js +145 -50
- package/components/ion-refresher-content.js +9 -8
- package/components/ion-refresher.js +10 -6
- package/components/ion-reorder-group.js +5 -5
- package/components/ion-reorder.js +11 -5
- package/components/ion-router-link.js +5 -5
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +5 -2
- package/components/ion-searchbar.js +46 -13
- package/components/ion-segment-button.js +10 -6
- package/components/ion-segment.js +9 -5
- package/components/ion-select-option.js +5 -2
- package/components/ion-select.js +48 -50
- package/components/ion-skeleton-text.js +5 -5
- package/components/ion-split-pane.js +10 -6
- package/components/ion-tab-bar.js +9 -5
- package/components/ion-tab-button.js +9 -5
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +5 -5
- package/components/ion-textarea.js +15 -12
- package/components/ion-thumbnail.js +5 -2
- package/components/ion-title.js +9 -5
- package/components/ion-toast.js +13 -9
- package/components/ion-toggle.js +17 -13
- package/components/ion-toolbar.js +9 -5
- package/components/ionic-global.js +190 -13
- package/components/ios.transition.js +1 -0
- package/components/item.js +39 -102
- package/components/label.js +12 -8
- package/components/list-header.js +9 -5
- package/components/list.js +10 -6
- package/components/overlays.js +141 -57
- package/components/picker-column-option.js +9 -5
- package/components/picker-column.js +28 -9
- package/components/picker-column2.js +4 -4
- package/components/picker.js +6 -2
- package/components/popover.js +11 -8
- package/components/radio-group.js +5 -3
- package/components/radio.js +10 -6
- package/components/ripple-effect.js +4 -4
- package/components/select-popover.js +21 -20
- package/components/spinner.js +6 -6
- package/components/status-tap.js +1 -1
- package/css/core.ionic.css +13 -0
- package/css/core.ionic.css.map +1 -0
- package/css/palettes/dark.always.css.map +1 -0
- package/css/{themes → palettes}/dark.class.css +4 -4
- package/css/palettes/dark.class.css.map +1 -0
- package/css/palettes/dark.system.css.map +1 -0
- package/css/palettes/high-contrast-dark.always.css.map +1 -0
- package/css/{themes → palettes}/high-contrast-dark.class.css +10 -10
- package/css/palettes/high-contrast-dark.class.css.map +1 -0
- package/css/palettes/high-contrast-dark.system.css.map +1 -0
- package/css/palettes/high-contrast.always.css.map +1 -0
- package/css/{themes → palettes}/high-contrast.class.css +31 -31
- package/css/palettes/high-contrast.class.css.map +1 -0
- package/css/palettes/high-contrast.system.css.map +1 -0
- package/dist/cjs/{animation-4ad55058.js → animation-b4fdf128.js} +9 -250
- package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-98e49326.js} +1 -1
- package/dist/cjs/{button-active-8f6a8e77.js → button-active-e2ed5329.js} +2 -2
- package/dist/cjs/{data-e2bf21de.js → data-f2ccf911.js} +28 -45
- package/dist/cjs/{framework-delegate-53817ef1.js → framework-delegate-55f5683a.js} +1 -1
- package/dist/cjs/{haptic-b882e0bb.js → haptic-f6b37aa3.js} +6 -54
- package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-f66bce00.js} +5 -5
- package/dist/cjs/{helpers-b71ca811.js → helpers-afaa9001.js} +0 -58
- package/dist/cjs/{index-0ffe376d.js → index-2d21d526.js} +443 -14
- package/dist/cjs/{index-88b3bd6f.js → index-5643c839.js} +4 -4
- package/dist/cjs/{index-347883f6.js → index-91435ed0.js} +3 -3
- package/dist/cjs/{index-7574e3d2.js → index-9509ecad.js} +5 -34
- package/dist/cjs/{index-16fc2c94.js → index-f5fcf972.js} +15 -14
- package/dist/cjs/index.cjs.js +11 -12
- package/dist/cjs/{input-shims-679d87bc.js → input-shims-837af288.js} +4 -3
- package/dist/cjs/{input.utils-5175aea1.js → input.utils-01c2fa15.js} +15 -3
- package/dist/cjs/ion-accordion_2.cjs.entry.js +20 -13
- package/dist/cjs/ion-action-sheet.cjs.entry.js +19 -15
- package/dist/cjs/ion-alert.cjs.entry.js +20 -17
- package/dist/cjs/ion-app_8.cjs.entry.js +87 -68
- package/dist/cjs/ion-avatar_3.cjs.entry.js +22 -8
- package/dist/cjs/ion-back-button.cjs.entry.js +13 -9
- package/dist/cjs/ion-backdrop.cjs.entry.js +9 -5
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -12
- package/dist/cjs/ion-button_2.cjs.entry.js +28 -13
- package/dist/cjs/ion-card_5.cjs.entry.js +45 -25
- package/dist/cjs/ion-checkbox.cjs.entry.js +15 -11
- package/dist/cjs/ion-chip.cjs.entry.js +10 -6
- package/dist/cjs/ion-col_3.cjs.entry.js +14 -11
- package/dist/cjs/ion-datetime-button.cjs.entry.js +25 -21
- package/dist/cjs/ion-datetime_3.cjs.entry.js +175 -112
- package/dist/cjs/ion-fab_3.cjs.entry.js +19 -15
- package/dist/cjs/ion-img.cjs.entry.js +7 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +18 -15
- package/dist/cjs/ion-input.cjs.entry.js +19 -17
- package/dist/cjs/ion-item-option_3.cjs.entry.js +23 -16
- package/dist/cjs/ion-item_8.cjs.entry.js +89 -116
- package/dist/cjs/ion-loading.cjs.entry.js +16 -13
- package/dist/cjs/ion-menu_3.cjs.entry.js +32 -46
- package/dist/cjs/ion-modal.cjs.entry.js +57 -22
- package/dist/cjs/ion-nav_2.cjs.entry.js +12 -10
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -7
- package/dist/cjs/ion-picker-column.cjs.entry.js +31 -12
- package/dist/cjs/ion-picker.cjs.entry.js +8 -4
- package/dist/cjs/ion-popover.cjs.entry.js +20 -17
- package/dist/cjs/ion-progress-bar.cjs.entry.js +10 -6
- package/dist/cjs/ion-radio_2.cjs.entry.js +16 -10
- package/dist/cjs/ion-range.cjs.entry.js +151 -56
- package/dist/cjs/ion-refresher_2.cjs.entry.js +21 -17
- package/dist/cjs/ion-reorder_2.cjs.entry.js +17 -12
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +5 -5
- package/dist/cjs/ion-route_4.cjs.entry.js +7 -7
- package/dist/cjs/ion-searchbar.cjs.entry.js +41 -13
- package/dist/cjs/ion-segment_2.cjs.entry.js +20 -12
- package/dist/cjs/ion-select_3.cjs.entry.js +46 -33
- package/dist/cjs/ion-spinner.cjs.entry.js +7 -7
- package/dist/cjs/ion-split-pane.cjs.entry.js +11 -7
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +19 -11
- package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-text.cjs.entry.js +6 -6
- package/dist/cjs/ion-textarea.cjs.entry.js +18 -16
- package/dist/cjs/ion-toast.cjs.entry.js +39 -35
- package/dist/cjs/ion-toggle.cjs.entry.js +19 -15
- package/dist/cjs/ionic-global-94d8021d.js +411 -0
- package/dist/cjs/ionic.cjs.js +28 -5
- package/dist/cjs/{ios.transition-b102ee38.js → ios.transition-19155451.js} +5 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-a5454240.js → md.transition-1b1135b1.js} +4 -4
- package/dist/cjs/{notch-controller-8e0ae870.js → notch-controller-d69150f5.js} +1 -1
- package/dist/cjs/{overlays-6b7d156b.js → overlays-de847251.js} +143 -58
- package/dist/cjs/{status-tap-b60dcbd8.js → status-tap-3ef7ca2b.js} +4 -4
- package/dist/cjs/{swipe-back-72c5c8b7.js → swipe-back-0303a5e4.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/accordion/accordion.js +11 -8
- package/dist/collection/components/accordion-group/accordion-group.js +11 -8
- package/dist/collection/components/action-sheet/action-sheet.js +14 -10
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +1 -1
- package/dist/collection/components/alert/alert.js +15 -12
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +5 -1
- package/dist/collection/components/alert/test/basic/alert.e2e.js +1 -1
- package/dist/collection/components/app/app.js +11 -7
- package/dist/collection/components/avatar/avatar.js +13 -4
- package/dist/collection/components/back-button/back-button.js +13 -10
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +1 -1
- package/dist/collection/components/backdrop/backdrop.js +12 -6
- package/dist/collection/components/badge/badge.js +11 -8
- package/dist/collection/components/badge/test/a11y/badge.e2e.js +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +12 -9
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
- package/dist/collection/components/button/button.ios.css +32 -10
- package/dist/collection/components/button/button.js +28 -8
- package/dist/collection/components/button/button.md.css +28 -13
- package/dist/collection/components/button/test/a11y/button.e2e.js +2 -2
- package/dist/collection/components/button/test/round/button.e2e.js +39 -4
- package/dist/collection/components/buttons/buttons.js +14 -8
- package/dist/collection/components/card/card.js +13 -10
- package/dist/collection/components/card-content/card-content.js +11 -8
- package/dist/collection/components/card-header/card-header.js +12 -9
- package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
- package/dist/collection/components/card-title/card-title.js +11 -8
- package/dist/collection/components/checkbox/checkbox.js +15 -12
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +1 -1
- package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
- package/dist/collection/components/chip/chip.js +11 -8
- package/dist/collection/components/col/col.js +9 -5
- package/dist/collection/components/content/content.js +13 -10
- package/dist/collection/components/datetime/datetime.js +75 -28
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +80 -1
- package/dist/collection/components/datetime/test/format.spec.js +65 -15
- package/dist/collection/components/datetime/utils/data.js +3 -3
- 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.js +21 -17
- package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +65 -0
- package/dist/collection/components/fab/fab.js +9 -5
- package/dist/collection/components/fab-button/fab-button.js +12 -9
- package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +1 -1
- package/dist/collection/components/fab-list/fab-list.js +9 -5
- package/dist/collection/components/footer/footer.js +17 -14
- package/dist/collection/components/grid/grid.js +9 -5
- package/dist/collection/components/header/header.ios.css +5 -2
- package/dist/collection/components/header/header.js +17 -14
- package/dist/collection/components/header/test/basic/header.e2e.js +77 -0
- package/dist/collection/components/img/img.js +8 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
- package/dist/collection/components/input/input.ios.css +4 -2
- package/dist/collection/components/input/input.js +16 -37
- package/dist/collection/components/input/input.md.css +6 -4
- package/dist/collection/components/input/test/a11y/input.e2e.js +1 -1
- 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/input/test/slot/input.e2e.js +8 -0
- package/dist/collection/components/item/item.ios.css +6 -198
- package/dist/collection/components/item/item.js +33 -178
- package/dist/collection/components/item/item.md.css +8 -361
- package/dist/collection/components/item/test/basic/item.e2e.js +0 -5
- package/dist/collection/components/item/test/buttons/item.e2e.js +20 -4
- package/dist/collection/components/item/test/item.spec.js +1 -1
- package/dist/collection/components/item-divider/item-divider.js +11 -8
- package/dist/collection/components/item-group/item-group.js +13 -7
- package/dist/collection/components/item-option/item-option.js +11 -8
- package/dist/collection/components/item-options/item-options.js +13 -7
- package/dist/collection/components/item-sliding/item-sliding.js +8 -4
- package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +1 -1
- package/dist/collection/components/label/label.ios.css +0 -5
- package/dist/collection/components/label/label.js +11 -8
- package/dist/collection/components/label/label.md.css +0 -75
- package/dist/collection/components/label/test/a11y/label.e2e.js +1 -1
- package/dist/collection/components/list/list.js +12 -9
- package/dist/collection/components/list-header/list-header.js +11 -8
- package/dist/collection/components/loading/loading.js +13 -10
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +1 -1
- package/dist/collection/components/menu/menu.js +26 -35
- package/dist/collection/components/menu-button/menu-button.js +12 -9
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +1 -1
- package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
- package/dist/collection/components/modal/modal.js +46 -11
- package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
- package/dist/collection/components/nav/nav.js +11 -5
- package/dist/collection/components/nav-link/nav-link.js +5 -1
- package/dist/collection/components/note/note.js +11 -8
- package/dist/collection/components/picker/picker.js +8 -5
- package/dist/collection/components/picker-column/picker-column.js +30 -10
- package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
- package/dist/collection/components/picker-legacy/picker.js +7 -6
- package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
- package/dist/collection/components/popover/popover.js +18 -14
- package/dist/collection/components/progress-bar/progress-bar.js +10 -7
- package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +1 -1
- package/dist/collection/components/radio/radio.js +12 -9
- package/dist/collection/components/radio/test/a11y/radio.e2e.js +1 -1
- package/dist/collection/components/radio-group/radio-group.js +9 -3
- package/dist/collection/components/range/range.js +146 -51
- package/dist/collection/components/range/test/a11y/range.e2e.js +1 -1
- package/dist/collection/components/range/test/label/range.spec.js +24 -0
- package/dist/collection/components/range/test/range-events.e2e.js +27 -0
- package/dist/collection/components/refresher/refresher.js +11 -8
- package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +12 -7
- package/dist/collection/components/reorder/reorder.js +13 -6
- package/dist/collection/components/reorder-group/reorder-group.js +8 -4
- package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
- package/dist/collection/components/route/route.js +4 -0
- package/dist/collection/components/router/router.js +4 -0
- package/dist/collection/components/router-link/router-link.js +9 -5
- package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +1 -1
- package/dist/collection/components/router-outlet/router-outlet.js +5 -2
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.js +101 -19
- package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
- package/dist/collection/components/segment/segment.js +11 -8
- package/dist/collection/components/segment/test/a11y/segment.e2e.js +1 -1
- package/dist/collection/components/segment-button/segment-button.js +12 -9
- package/dist/collection/components/select/select.ios.css +7 -2
- package/dist/collection/components/select/select.js +32 -29
- package/dist/collection/components/select/select.md.css +6 -29
- package/dist/collection/components/select/test/a11y/select.e2e.js +1 -1
- package/dist/collection/components/select/test/highlight/select.e2e.js +88 -4
- package/dist/collection/components/select/test/select.spec.js +22 -0
- package/dist/collection/components/select/test/slot/select.e2e.js +8 -0
- package/dist/collection/components/select-option/select-option.js +9 -2
- package/dist/collection/components/select-popover/select-popover.js +12 -4
- package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
- package/dist/collection/components/spinner/spinner.js +10 -6
- package/dist/collection/components/split-pane/split-pane.js +14 -8
- package/dist/collection/components/tab/tab.js +6 -2
- package/dist/collection/components/tab-bar/tab-bar.js +12 -9
- package/dist/collection/components/tab-button/tab-button.js +11 -8
- package/dist/collection/components/tabs/tabs.js +4 -1
- package/dist/collection/components/text/text.js +7 -6
- package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +1 -1
- 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/test/slot/textarea.e2e.js +8 -0
- package/dist/collection/components/textarea/textarea.ios.css +4 -22
- package/dist/collection/components/textarea/textarea.js +15 -36
- package/dist/collection/components/textarea/textarea.md.css +6 -17
- package/dist/collection/components/thumbnail/thumbnail.js +9 -2
- package/dist/collection/components/title/title.js +13 -7
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +2 -2
- package/dist/collection/components/toast/toast.js +15 -11
- package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +1 -1
- package/dist/collection/components/toggle/toggle.js +19 -16
- package/dist/collection/components/toolbar/toolbar.js +13 -10
- package/dist/collection/css/test/a11y/typography.e2e.js +1 -1
- package/dist/collection/global/ionic-global.js +160 -12
- package/dist/collection/global/test/ionic-global.spec.js +109 -0
- package/dist/collection/themes/test/colors/theme.e2e.js +2 -2
- package/dist/collection/utils/animation/animation-utils.js +0 -102
- package/dist/collection/utils/animation/animation.js +10 -141
- package/dist/collection/utils/animation/test/animation.spec.js +0 -89
- package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +0 -4
- package/dist/collection/utils/animation/test/basic/animation.e2e.js +0 -4
- package/dist/collection/utils/animation/test/display/animation.e2e.js +0 -4
- package/dist/collection/utils/animation/test/hooks/animation.e2e.js +0 -4
- package/dist/collection/utils/animation/test/multiple/animation.e2e.js +0 -7
- package/dist/collection/utils/focus-trap.js +78 -0
- package/dist/collection/utils/forms/index.js +0 -1
- package/dist/collection/utils/hardware-back-button.js +2 -2
- package/dist/collection/utils/helpers.js +0 -53
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +2 -1
- package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
- package/dist/collection/utils/native/haptic.js +6 -54
- package/dist/collection/utils/overlays.js +64 -53
- package/dist/collection/utils/slot-mutation-controller.js +12 -0
- package/dist/collection/utils/tap-click/index.js +5 -34
- package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
- package/dist/collection/utils/test/playwright/generator.js +48 -25
- package/dist/collection/utils/test/playwright/page/utils/goto.js +13 -4
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +14 -2
- package/dist/collection/utils/transition/ios.transition.js +1 -0
- package/dist/docs.json +3992 -478
- package/dist/esm/{animation-a4acf150.js → animation-eab5a4ca.js} +9 -250
- package/dist/esm/{app-globals-5cf6195b.js → app-globals-4194f7b0.js} +1 -1
- package/dist/esm/{button-active-4407b98c.js → button-active-6f657ae4.js} +2 -2
- package/dist/esm/{data-691286f1.js → data-735635b1.js} +27 -42
- package/dist/esm/{framework-delegate-1eb3236c.js → framework-delegate-63d1a679.js} +1 -1
- package/dist/esm/{haptic-554688a5.js → haptic-ac164e4c.js} +6 -54
- package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-ff84501f.js} +5 -5
- package/dist/esm/{helpers-ae74b3c9.js → helpers-da915de8.js} +1 -57
- package/dist/esm/{index-4c30cddd.js → index-3a495cc6.js} +443 -15
- package/dist/esm/{index-66871a1d.js → index-4bbc4ca3.js} +2 -2
- package/dist/esm/{index-8758824c.js → index-62041d9c.js} +11 -10
- package/dist/esm/{index-1f563746.js → index-79b30591.js} +5 -34
- package/dist/esm/{index-1eff8599.js → index-e3f4491c.js} +4 -4
- package/dist/esm/index.js +11 -12
- package/dist/esm/{input-shims-56c1f603.js → input-shims-131a3f9f.js} +4 -3
- package/dist/esm/{input.utils-482fc893.js → input.utils-41b26b54.js} +14 -2
- package/dist/esm/ion-accordion_2.entry.js +19 -12
- package/dist/esm/ion-action-sheet.entry.js +19 -15
- package/dist/esm/ion-alert.entry.js +20 -17
- package/dist/esm/ion-app_8.entry.js +76 -57
- package/dist/esm/ion-avatar_3.entry.js +22 -8
- package/dist/esm/ion-back-button.entry.js +13 -9
- package/dist/esm/ion-backdrop.entry.js +9 -5
- package/dist/esm/ion-breadcrumb_2.entry.js +20 -12
- package/dist/esm/ion-button_2.entry.js +25 -10
- package/dist/esm/ion-card_5.entry.js +45 -25
- package/dist/esm/ion-checkbox.entry.js +15 -11
- package/dist/esm/ion-chip.entry.js +10 -6
- package/dist/esm/ion-col_3.entry.js +14 -11
- package/dist/esm/ion-datetime-button.entry.js +21 -17
- package/dist/esm/ion-datetime_3.entry.js +103 -40
- package/dist/esm/ion-fab_3.entry.js +19 -15
- package/dist/esm/ion-img.entry.js +7 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +18 -15
- package/dist/esm/ion-input.entry.js +19 -17
- package/dist/esm/ion-item-option_3.entry.js +23 -16
- package/dist/esm/ion-item_8.entry.js +89 -116
- package/dist/esm/ion-loading.entry.js +16 -13
- package/dist/esm/ion-menu_3.entry.js +32 -46
- package/dist/esm/ion-modal.entry.js +52 -17
- package/dist/esm/ion-nav_2.entry.js +12 -10
- package/dist/esm/ion-picker-column-option.entry.js +11 -7
- package/dist/esm/ion-picker-column.entry.js +31 -12
- package/dist/esm/ion-picker.entry.js +8 -4
- package/dist/esm/ion-popover.entry.js +17 -14
- package/dist/esm/ion-progress-bar.entry.js +10 -6
- package/dist/esm/ion-radio_2.entry.js +16 -10
- package/dist/esm/ion-range.entry.js +146 -51
- package/dist/esm/ion-refresher_2.entry.js +21 -17
- package/dist/esm/ion-reorder_2.entry.js +17 -12
- package/dist/esm/ion-ripple-effect.entry.js +5 -5
- package/dist/esm/ion-route_4.entry.js +7 -7
- package/dist/esm/ion-searchbar.entry.js +41 -13
- package/dist/esm/ion-segment_2.entry.js +20 -12
- package/dist/esm/ion-select_3.entry.js +46 -33
- package/dist/esm/ion-spinner.entry.js +7 -7
- package/dist/esm/ion-split-pane.entry.js +11 -7
- package/dist/esm/ion-tab-bar_2.entry.js +19 -11
- package/dist/esm/ion-tab_2.entry.js +6 -6
- package/dist/esm/ion-text.entry.js +6 -6
- package/dist/esm/ion-textarea.entry.js +18 -16
- package/dist/esm/ion-toast.entry.js +19 -15
- package/dist/esm/ion-toggle.entry.js +19 -15
- package/dist/esm/ionic-global-d47e129d.js +401 -0
- package/dist/esm/ionic.js +29 -6
- package/dist/esm/{ios.transition-189b73b7.js → ios.transition-2187a9fd.js} +5 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-c9761eef.js → md.transition-a8d52fcb.js} +4 -4
- package/dist/esm/{notch-controller-18bf9f76.js → notch-controller-55b09e11.js} +1 -1
- package/dist/esm/{overlays-c69d2a07.js → overlays-213b5a21.js} +142 -58
- package/dist/esm/{status-tap-1d638ee6.js → status-tap-8838c434.js} +4 -4
- package/dist/esm/{swipe-back-348f1971.js → swipe-back-e5394307.js} +1 -1
- package/dist/esm-es5/animation-eab5a4ca.js +4 -0
- package/dist/esm-es5/app-globals-4194f7b0.js +4 -0
- package/dist/esm-es5/{button-active-4407b98c.js → button-active-6f657ae4.js} +1 -1
- package/dist/esm-es5/data-735635b1.js +4 -0
- package/dist/esm-es5/{framework-delegate-1eb3236c.js → framework-delegate-63d1a679.js} +1 -1
- package/dist/esm-es5/haptic-ac164e4c.js +4 -0
- package/dist/esm-es5/hardware-back-button-ff84501f.js +4 -0
- package/dist/esm-es5/helpers-da915de8.js +4 -0
- package/dist/esm-es5/index-3a495cc6.js +5 -0
- package/dist/esm-es5/index-4bbc4ca3.js +4 -0
- package/dist/esm-es5/index-62041d9c.js +4 -0
- package/dist/esm-es5/index-79b30591.js +4 -0
- package/dist/esm-es5/{index-1eff8599.js → index-e3f4491c.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-131a3f9f.js +4 -0
- package/dist/esm-es5/input.utils-41b26b54.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 +1 -1
- package/dist/esm-es5/ion-picker-column.entry.js +1 -1
- package/dist/esm-es5/ion-picker.entry.js +1 -1
- 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-d47e129d.js +4 -0
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/ios.transition-2187a9fd.js +4 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-c9761eef.js → md.transition-a8d52fcb.js} +1 -1
- package/dist/esm-es5/{notch-controller-18bf9f76.js → notch-controller-55b09e11.js} +1 -1
- package/dist/esm-es5/overlays-213b5a21.js +4 -0
- package/dist/esm-es5/status-tap-8838c434.js +4 -0
- package/dist/esm-es5/{swipe-back-348f1971.js → swipe-back-e5394307.js} +1 -1
- package/dist/html.html-data.json +1916 -132
- 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-0507489e.system.entry.js +4 -0
- package/dist/ionic/p-09b71030.entry.js +4 -0
- package/dist/ionic/p-0c0065e8.js +4 -0
- package/dist/ionic/p-0daf382b.system.entry.js +4 -0
- package/dist/ionic/p-1126b6fb.entry.js +4 -0
- package/dist/ionic/p-116239e0.system.entry.js +4 -0
- package/dist/ionic/p-11f25a12.system.js +4 -0
- package/dist/ionic/{p-de55ec45.js → p-139e8ff1.js} +1 -1
- package/dist/ionic/p-13aa1338.entry.js +4 -0
- package/dist/ionic/p-16b3b748.system.js +4 -0
- package/dist/ionic/p-18d1e318.system.js +4 -0
- package/dist/ionic/p-197fca36.system.entry.js +4 -0
- package/dist/ionic/{p-8a50f8d6.system.js → p-19ea7bff.system.js} +1 -1
- package/dist/ionic/{p-98e6b3b8.system.js → p-1a488d6f.system.js} +1 -1
- package/dist/ionic/p-1f04779e.entry.js +4 -0
- package/dist/ionic/p-226bdf0f.entry.js +4 -0
- package/dist/ionic/p-23132e1f.js +4 -0
- package/dist/ionic/p-23a3320b.js +4 -0
- package/dist/ionic/p-23e053d0.system.entry.js +4 -0
- package/dist/ionic/p-24cc69ab.entry.js +4 -0
- package/dist/ionic/p-24e9aa21.entry.js +4 -0
- package/dist/ionic/p-29ceda88.js +4 -0
- package/dist/ionic/p-2a4641fb.system.entry.js +4 -0
- package/dist/ionic/p-2bc784c2.system.entry.js +4 -0
- package/dist/ionic/p-2c8cb8c0.system.entry.js +4 -0
- package/dist/ionic/p-2fad37de.system.entry.js +4 -0
- package/dist/ionic/p-30aed000.system.entry.js +4 -0
- package/dist/ionic/{p-892e2567.system.entry.js → p-30b7a6a6.system.entry.js} +2 -2
- package/dist/ionic/p-322eb715.system.js +4 -0
- package/dist/ionic/{p-8d4d902b.js → p-34b11c24.js} +1 -1
- package/dist/ionic/p-35b46c05.entry.js +4 -0
- package/dist/ionic/p-365d2cfe.system.entry.js +4 -0
- package/dist/ionic/p-385c76dc.system.entry.js +4 -0
- package/dist/ionic/p-3ad285e3.system.js +4 -0
- package/dist/ionic/p-3b03dd5b.entry.js +4 -0
- package/dist/ionic/{p-15708968.js → p-3cc276f4.js} +1 -1
- package/dist/ionic/p-3d7001d7.js +4 -0
- package/dist/ionic/p-3e47e61e.entry.js +4 -0
- package/dist/ionic/p-3e8cfe35.system.entry.js +4 -0
- package/dist/ionic/p-3e9e667a.entry.js +4 -0
- package/dist/ionic/p-3ecd1809.entry.js +4 -0
- package/dist/ionic/p-3ed32307.system.entry.js +4 -0
- package/dist/ionic/p-41908d5c.entry.js +4 -0
- package/dist/ionic/{p-d9b6b588.entry.js → p-44d8d5c3.entry.js} +1 -1
- package/dist/ionic/p-45684f75.system.entry.js +4 -0
- package/dist/ionic/p-46e489c1.entry.js +4 -0
- package/dist/ionic/p-4c2d5b80.system.js +4 -0
- package/dist/ionic/p-4c55c5ce.entry.js +4 -0
- package/dist/ionic/p-4c6278ca.system.entry.js +4 -0
- package/dist/ionic/p-4e7a18b3.entry.js +4 -0
- package/dist/ionic/p-4f30e4c3.system.entry.js +4 -0
- package/dist/ionic/p-52698131.entry.js +4 -0
- package/dist/ionic/p-56dfd814.entry.js +4 -0
- package/dist/ionic/{p-ab427719.entry.js → p-57082094.entry.js} +1 -1
- package/dist/ionic/{p-ceceac26.js → p-57a4c6c3.js} +1 -1
- package/dist/ionic/{p-c8d61b6c.system.entry.js → p-57b76977.system.entry.js} +1 -1
- package/dist/ionic/p-5919403e.js +4 -0
- package/dist/ionic/p-5fed4c24.system.entry.js +4 -0
- package/dist/ionic/p-605c456e.system.entry.js +4 -0
- package/dist/ionic/p-6087c7ac.system.entry.js +4 -0
- package/dist/ionic/p-617a8c10.system.entry.js +4 -0
- package/dist/ionic/p-62ad354a.system.entry.js +4 -0
- package/dist/ionic/{p-0a8a78db.system.entry.js → p-644df0cc.system.entry.js} +1 -1
- package/dist/ionic/p-6718dfd8.system.entry.js +4 -0
- package/dist/ionic/p-6770c46d.system.entry.js +4 -0
- package/dist/ionic/p-6981ada8.entry.js +4 -0
- package/dist/ionic/p-69e691df.system.entry.js +4 -0
- package/dist/ionic/p-6a5b979b.system.js +4 -0
- package/dist/ionic/p-6d1854de.system.entry.js +4 -0
- package/dist/ionic/p-70a396e0.entry.js +4 -0
- package/dist/ionic/p-716cc857.entry.js +4 -0
- package/dist/ionic/p-71784639.entry.js +4 -0
- package/dist/ionic/p-72812e99.js +4 -0
- package/dist/ionic/{p-f2473724.js → p-72bc8a1c.js} +1 -1
- package/dist/ionic/p-75257a79.system.js +5 -0
- package/dist/ionic/p-77cdf8f0.system.entry.js +4 -0
- package/dist/ionic/{p-1e07fdb2.system.entry.js → p-7c6ba817.system.entry.js} +2 -2
- package/dist/ionic/p-7d6993fa.entry.js +4 -0
- package/dist/ionic/{p-1ea88de9.system.js → p-7fefe43e.system.js} +2 -2
- package/dist/ionic/{p-8fe3c4ef.entry.js → p-820be1bf.entry.js} +1 -1
- package/dist/ionic/p-84dd4f6c.system.entry.js +4 -0
- package/dist/ionic/{p-19f6ac6c.system.js → p-8635f5e6.system.js} +1 -1
- package/dist/ionic/p-89b61afc.js +4 -0
- package/dist/ionic/{p-12b55b00.system.entry.js → p-8cd83c08.system.entry.js} +1 -1
- package/dist/ionic/p-8fbf7c49.entry.js +4 -0
- package/dist/ionic/p-8fd110c6.entry.js +4 -0
- package/dist/ionic/p-9146695e.system.js +4 -0
- package/dist/ionic/p-92b3df98.system.js +4 -0
- package/dist/ionic/{p-973c7550.system.entry.js → p-98ced5a7.system.entry.js} +2 -2
- package/dist/ionic/p-9a76dbbb.entry.js +4 -0
- package/dist/ionic/p-a15ddedb.system.js +4 -0
- package/dist/ionic/p-a5456295.entry.js +4 -0
- package/dist/ionic/p-a68b1b19.entry.js +4 -0
- package/dist/ionic/p-a93873de.system.js +4 -0
- package/dist/ionic/{p-df504a37.system.js → p-ac1eb107.system.js} +1 -1
- package/dist/ionic/p-ae2c6708.system.entry.js +4 -0
- package/dist/ionic/p-ae3fdd38.entry.js +4 -0
- package/dist/ionic/{p-eb9803e9.system.js → p-af732189.system.js} +1 -1
- package/dist/ionic/p-afeebbc2.entry.js +4 -0
- package/dist/ionic/p-b0bd2f28.system.entry.js +4 -0
- package/dist/ionic/p-b0da0e7e.entry.js +4 -0
- package/dist/ionic/p-b51e4004.js +4 -0
- package/dist/ionic/p-b69db5bf.entry.js +4 -0
- package/dist/ionic/{p-9f84474d.entry.js → p-b8df09fa.entry.js} +1 -1
- package/dist/ionic/p-bb01995b.entry.js +4 -0
- package/dist/ionic/p-bb4431d3.entry.js +4 -0
- package/dist/ionic/{p-31e02742.system.js → p-c11232d6.system.js} +1 -1
- package/dist/ionic/p-c1d0861e.entry.js +4 -0
- package/dist/ionic/p-c78731fc.system.js +4 -0
- package/dist/ionic/p-c7e16491.js +4 -0
- package/dist/ionic/p-c7e3ef1f.js +4 -0
- package/dist/ionic/p-c8985963.system.js +4 -0
- package/dist/ionic/p-c957dcbd.system.entry.js +4 -0
- package/dist/ionic/p-cb4da696.js +5 -0
- package/dist/ionic/p-cc1dabd2.system.entry.js +4 -0
- package/dist/ionic/p-cd1250d7.js +4 -0
- package/dist/ionic/p-cd94b05a.system.entry.js +4 -0
- package/dist/ionic/p-d2a65df9.js +4 -0
- package/dist/ionic/p-d6788bde.system.entry.js +4 -0
- package/dist/ionic/p-d83f3852.system.entry.js +4 -0
- package/dist/ionic/p-de5f6929.system.entry.js +4 -0
- package/dist/ionic/{p-89ca4c4b.system.js → p-df92bab7.system.js} +1 -1
- package/dist/ionic/p-dff73ffc.system.js +4 -0
- package/dist/ionic/p-e399a113.entry.js +4 -0
- package/dist/ionic/p-e4cd4316.system.entry.js +4 -0
- package/dist/ionic/p-e557901b.entry.js +4 -0
- package/dist/ionic/p-e62f29e0.system.entry.js +4 -0
- package/dist/ionic/p-e7522003.js +4 -0
- package/dist/ionic/p-e86fef55.system.js +4 -0
- package/dist/ionic/p-eab67c46.system.entry.js +4 -0
- package/dist/ionic/p-ed454419.entry.js +4 -0
- package/dist/ionic/p-efdba78a.system.entry.js +4 -0
- package/dist/ionic/p-f7a041dc.js +4 -0
- package/dist/ionic/p-f85988bd.entry.js +4 -0
- package/dist/ionic/p-f9398178.entry.js +4 -0
- package/dist/ionic/p-f977c8c5.entry.js +4 -0
- package/dist/ionic/p-fe1345b7.js +4 -0
- package/dist/ionic/{p-97248203.system.entry.js → p-fea6e789.system.entry.js} +1 -1
- package/dist/ionic/p-ff584ff5.entry.js +4 -0
- package/dist/ionic/p-ff93a0f3.entry.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +2 -1
- package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
- package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
- package/dist/types/components/alert/alert-interface.d.ts +3 -7
- package/dist/types/components/alert/alert.d.ts +3 -2
- package/dist/types/components/app/app.d.ts +4 -0
- package/dist/types/components/avatar/avatar.d.ts +4 -0
- package/dist/types/components/back-button/back-button.d.ts +2 -1
- package/dist/types/components/backdrop/backdrop.d.ts +4 -0
- package/dist/types/components/badge/badge.d.ts +2 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +7 -1
- package/dist/types/components/buttons/buttons.d.ts +5 -1
- package/dist/types/components/card/card.d.ts +2 -1
- package/dist/types/components/card-content/card-content.d.ts +2 -1
- package/dist/types/components/card-header/card-header.d.ts +3 -2
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
- package/dist/types/components/card-title/card-title.d.ts +2 -1
- package/dist/types/components/checkbox/checkbox.d.ts +2 -1
- package/dist/types/components/chip/chip.d.ts +2 -1
- package/dist/types/components/col/col.d.ts +4 -0
- package/dist/types/components/content/content.d.ts +3 -0
- package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
- package/dist/types/components/datetime/datetime.d.ts +12 -2
- package/dist/types/components/datetime/utils/data.d.ts +3 -3
- 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/datetime-button/datetime-button.d.ts +2 -1
- package/dist/types/components/fab/fab.d.ts +4 -0
- package/dist/types/components/fab-button/fab-button.d.ts +3 -2
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer.d.ts +4 -3
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header.d.ts +4 -3
- package/dist/types/components/img/img.d.ts +3 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +4 -8
- package/dist/types/components/item/item.d.ts +4 -35
- package/dist/types/components/item-divider/item-divider.d.ts +2 -1
- package/dist/types/components/item-group/item-group.d.ts +4 -0
- package/dist/types/components/item-option/item-option.d.ts +2 -1
- package/dist/types/components/item-options/item-options.d.ts +4 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
- package/dist/types/components/label/label.d.ts +2 -1
- package/dist/types/components/list/list.d.ts +2 -1
- package/dist/types/components/list-header/list-header.d.ts +2 -1
- package/dist/types/components/loading/loading-interface.d.ts +2 -7
- package/dist/types/components/loading/loading.d.ts +3 -2
- package/dist/types/components/menu/menu-interface.d.ts +1 -0
- package/dist/types/components/menu/menu.d.ts +5 -4
- package/dist/types/components/menu-button/menu-button.d.ts +2 -1
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
- package/dist/types/components/modal/modal-interface.d.ts +3 -7
- package/dist/types/components/modal/modal.d.ts +2 -1
- package/dist/types/components/nav/nav-interface.d.ts +9 -1
- package/dist/types/components/nav/nav.d.ts +5 -1
- package/dist/types/components/nav-link/nav-link.d.ts +4 -0
- package/dist/types/components/note/note.d.ts +2 -1
- package/dist/types/components/picker/picker.d.ts +2 -1
- package/dist/types/components/picker-column/picker-column.d.ts +2 -1
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
- package/dist/types/components/picker-legacy/picker.d.ts +2 -1
- package/dist/types/components/popover/popover-interface.d.ts +3 -7
- package/dist/types/components/popover/popover.d.ts +6 -5
- package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
- package/dist/types/components/radio/radio.d.ts +2 -1
- package/dist/types/components/radio-group/radio-group.d.ts +4 -0
- package/dist/types/components/range/range.d.ts +31 -1
- package/dist/types/components/refresher/refresher.d.ts +2 -1
- package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
- package/dist/types/components/reorder/reorder.d.ts +3 -0
- package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
- package/dist/types/components/route/route.d.ts +4 -0
- package/dist/types/components/router/router.d.ts +4 -0
- package/dist/types/components/router-link/router-link.d.ts +4 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar.d.ts +46 -7
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +6 -5
- package/dist/types/components/select-option/select-option.d.ts +4 -0
- package/dist/types/components/select-popover/select-popover.d.ts +3 -0
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
- package/dist/types/components/spinner/spinner.d.ts +4 -0
- package/dist/types/components/split-pane/split-pane.d.ts +4 -0
- package/dist/types/components/tab/tab.d.ts +4 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
- package/dist/types/components/tab-button/tab-button.d.ts +2 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components/text/text.d.ts +2 -1
- package/dist/types/components/textarea/textarea.d.ts +4 -8
- package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
- package/dist/types/components/title/title.d.ts +4 -0
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +3 -7
- package/dist/types/components/toast/toast.d.ts +3 -2
- package/dist/types/components/toggle/toggle.d.ts +3 -2
- package/dist/types/components/toolbar/toolbar.d.ts +4 -3
- package/dist/types/components.d.ts +1220 -206
- package/dist/types/global/ionic-global.d.ts +25 -2
- package/dist/types/interface.d.ts +3 -0
- package/dist/types/utils/animation/animation-utils.d.ts +0 -12
- package/dist/types/utils/config.d.ts +17 -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/hardware-back-button.d.ts +1 -1
- package/dist/types/utils/helpers.d.ts +0 -19
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/overlays.d.ts +0 -6
- package/dist/types/utils/test/playwright/generator.d.ts +9 -2
- package/hydrate/index.js +1723 -1180
- package/package.json +7 -2
- package/components/index9.js +0 -196
- package/components/note.js +0 -48
- package/css/themes/dark.always.css.map +0 -1
- package/css/themes/dark.class.css.map +0 -1
- package/css/themes/dark.system.css.map +0 -1
- package/css/themes/high-contrast-dark.always.css.map +0 -1
- package/css/themes/high-contrast-dark.class.css.map +0 -1
- package/css/themes/high-contrast-dark.system.css.map +0 -1
- package/css/themes/high-contrast.always.css.map +0 -1
- package/css/themes/high-contrast.class.css.map +0 -1
- package/css/themes/high-contrast.system.css.map +0 -1
- package/dist/cjs/index-5915f9b3.js +0 -38
- package/dist/cjs/ionic-global-59a10130.js +0 -230
- package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +0 -14
- package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
- package/dist/collection/utils/forms/form-controller.js +0 -61
- package/dist/collection/utils/test/aria.spec.js +0 -80
- package/dist/esm/index-9b0d46f4.js +0 -34
- package/dist/esm/ionic-global-ad9a1810.js +0 -224
- package/dist/esm-es5/animation-a4acf150.js +0 -4
- package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
- package/dist/esm-es5/data-691286f1.js +0 -4
- package/dist/esm-es5/haptic-554688a5.js +0 -4
- package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
- package/dist/esm-es5/helpers-ae74b3c9.js +0 -4
- package/dist/esm-es5/index-1f563746.js +0 -4
- package/dist/esm-es5/index-4c30cddd.js +0 -5
- package/dist/esm-es5/index-66871a1d.js +0 -4
- package/dist/esm-es5/index-8758824c.js +0 -4
- package/dist/esm-es5/index-9b0d46f4.js +0 -4
- package/dist/esm-es5/input-shims-56c1f603.js +0 -4
- package/dist/esm-es5/input.utils-482fc893.js +0 -4
- package/dist/esm-es5/ionic-global-ad9a1810.js +0 -4
- package/dist/esm-es5/ios.transition-189b73b7.js +0 -4
- package/dist/esm-es5/overlays-c69d2a07.js +0 -4
- package/dist/esm-es5/status-tap-1d638ee6.js +0 -4
- package/dist/ionic/p-00a762c9.entry.js +0 -4
- package/dist/ionic/p-0612cdcc.system.entry.js +0 -4
- package/dist/ionic/p-069388dd.system.js +0 -4
- package/dist/ionic/p-06fee233.js +0 -4
- package/dist/ionic/p-0b34d3a7.system.js +0 -4
- package/dist/ionic/p-0dca0eee.system.entry.js +0 -4
- package/dist/ionic/p-0dfbbdbe.entry.js +0 -4
- package/dist/ionic/p-0f25a7bb.system.js +0 -4
- package/dist/ionic/p-11bb459e.system.entry.js +0 -4
- package/dist/ionic/p-13e8ad2e.entry.js +0 -4
- package/dist/ionic/p-16e06393.system.js +0 -4
- package/dist/ionic/p-17082c91.system.js +0 -4
- package/dist/ionic/p-174856b4.system.js +0 -4
- package/dist/ionic/p-174b0d50.system.entry.js +0 -4
- package/dist/ionic/p-1a4db355.system.entry.js +0 -4
- package/dist/ionic/p-1d545773.entry.js +0 -4
- package/dist/ionic/p-1deadb7f.system.js +0 -4
- package/dist/ionic/p-1df25966.entry.js +0 -4
- package/dist/ionic/p-1f79e54a.entry.js +0 -4
- package/dist/ionic/p-2b3544ad.entry.js +0 -4
- package/dist/ionic/p-2c768965.entry.js +0 -4
- package/dist/ionic/p-2dcf2ec2.system.entry.js +0 -4
- package/dist/ionic/p-3209217f.entry.js +0 -4
- package/dist/ionic/p-32fb7d95.entry.js +0 -4
- package/dist/ionic/p-34d0f143.system.entry.js +0 -4
- package/dist/ionic/p-3807cd45.system.entry.js +0 -4
- package/dist/ionic/p-385f66bc.entry.js +0 -4
- package/dist/ionic/p-3c47c5c8.system.entry.js +0 -4
- package/dist/ionic/p-3c51cf97.system.entry.js +0 -4
- package/dist/ionic/p-3d77b300.system.entry.js +0 -4
- package/dist/ionic/p-415ccddd.entry.js +0 -4
- package/dist/ionic/p-42f189f4.js +0 -4
- package/dist/ionic/p-446f3909.system.entry.js +0 -4
- package/dist/ionic/p-4a8f173c.system.js +0 -4
- package/dist/ionic/p-4aba0454.system.entry.js +0 -4
- package/dist/ionic/p-4bbc949f.system.entry.js +0 -4
- package/dist/ionic/p-4dfe0487.system.entry.js +0 -4
- package/dist/ionic/p-4e7abe76.js +0 -4
- package/dist/ionic/p-5133c4a3.system.entry.js +0 -4
- package/dist/ionic/p-5289aade.js +0 -4
- package/dist/ionic/p-5797981d.system.entry.js +0 -4
- package/dist/ionic/p-5d530ae5.entry.js +0 -4
- package/dist/ionic/p-5d64e680.entry.js +0 -4
- package/dist/ionic/p-5d7e32ce.js +0 -4
- package/dist/ionic/p-5dbf7222.entry.js +0 -4
- package/dist/ionic/p-5e70f800.system.entry.js +0 -4
- package/dist/ionic/p-5eabaa80.js +0 -4
- package/dist/ionic/p-5f9fbad0.entry.js +0 -4
- package/dist/ionic/p-60a92a48.system.entry.js +0 -4
- package/dist/ionic/p-640fac4a.system.entry.js +0 -4
- package/dist/ionic/p-6525a8cd.system.js +0 -4
- package/dist/ionic/p-66e6860f.system.js +0 -4
- package/dist/ionic/p-67c4deed.system.entry.js +0 -4
- package/dist/ionic/p-6ad90d41.entry.js +0 -4
- package/dist/ionic/p-6aeb0272.entry.js +0 -4
- package/dist/ionic/p-6d659d62.entry.js +0 -4
- package/dist/ionic/p-6dbea874.system.entry.js +0 -4
- package/dist/ionic/p-6e14d3ca.system.entry.js +0 -4
- package/dist/ionic/p-717c4b72.entry.js +0 -4
- package/dist/ionic/p-7292add8.entry.js +0 -4
- package/dist/ionic/p-72fa96bf.system.js +0 -5
- package/dist/ionic/p-75861cd3.entry.js +0 -4
- package/dist/ionic/p-760dbd5e.js +0 -4
- package/dist/ionic/p-7e185a31.entry.js +0 -4
- package/dist/ionic/p-80704be1.entry.js +0 -4
- package/dist/ionic/p-816476b0.system.js +0 -4
- package/dist/ionic/p-842777af.js +0 -4
- package/dist/ionic/p-8ab308e9.js +0 -4
- package/dist/ionic/p-8b8b900d.entry.js +0 -4
- package/dist/ionic/p-916a4e14.entry.js +0 -4
- package/dist/ionic/p-93e79b55.js +0 -4
- package/dist/ionic/p-94f85e19.system.entry.js +0 -4
- package/dist/ionic/p-96107183.js +0 -4
- package/dist/ionic/p-986a47ee.system.entry.js +0 -4
- package/dist/ionic/p-993da5df.entry.js +0 -4
- package/dist/ionic/p-9c93fdcd.js +0 -4
- package/dist/ionic/p-9d6f351e.js +0 -4
- package/dist/ionic/p-9d795c4b.entry.js +0 -4
- package/dist/ionic/p-9e3b3f15.system.js +0 -4
- package/dist/ionic/p-9ecc1e42.entry.js +0 -4
- package/dist/ionic/p-a6cc38d4.js +0 -4
- package/dist/ionic/p-aaaefef6.entry.js +0 -4
- package/dist/ionic/p-acf70e64.system.entry.js +0 -4
- package/dist/ionic/p-b2d58604.system.entry.js +0 -4
- package/dist/ionic/p-b434ded7.system.entry.js +0 -4
- package/dist/ionic/p-bca27ea7.entry.js +0 -4
- package/dist/ionic/p-c68e75ea.system.js +0 -4
- package/dist/ionic/p-c6dbc089.system.entry.js +0 -4
- package/dist/ionic/p-c880c809.js +0 -4
- package/dist/ionic/p-c995da88.system.js +0 -4
- package/dist/ionic/p-c9e21694.system.entry.js +0 -4
- package/dist/ionic/p-cb944b1a.system.js +0 -4
- package/dist/ionic/p-cd0ffc8c.entry.js +0 -4
- package/dist/ionic/p-cefbb7b7.entry.js +0 -4
- package/dist/ionic/p-d13689a6.entry.js +0 -4
- package/dist/ionic/p-d47a1a78.system.entry.js +0 -4
- package/dist/ionic/p-d7c78a97.system.entry.js +0 -4
- package/dist/ionic/p-d7dc29c5.entry.js +0 -4
- package/dist/ionic/p-d84c9fc4.entry.js +0 -4
- package/dist/ionic/p-d8643420.system.entry.js +0 -4
- package/dist/ionic/p-dd7c79ce.system.entry.js +0 -4
- package/dist/ionic/p-de0a7606.system.entry.js +0 -4
- package/dist/ionic/p-df6a1571.entry.js +0 -4
- package/dist/ionic/p-e1819aee.js +0 -4
- package/dist/ionic/p-e311af42.entry.js +0 -4
- package/dist/ionic/p-e46adaf1.system.entry.js +0 -4
- package/dist/ionic/p-e4eeb3af.entry.js +0 -4
- package/dist/ionic/p-e755046f.system.entry.js +0 -4
- package/dist/ionic/p-ec77b7ad.system.entry.js +0 -4
- package/dist/ionic/p-ed7a529f.js +0 -5
- package/dist/ionic/p-ef636601.entry.js +0 -4
- package/dist/ionic/p-ef9736b9.entry.js +0 -4
- package/dist/ionic/p-f0a7e80b.js +0 -4
- package/dist/ionic/p-f7c3d736.system.entry.js +0 -4
- package/dist/ionic/p-f7ccf8d9.entry.js +0 -4
- package/dist/ionic/p-f7d802e1.entry.js +0 -4
- package/dist/ionic/p-fd783a38.system.entry.js +0 -4
- package/dist/ionic/p-ff4b7e40.system.js +0 -4
- package/dist/types/utils/forms/form-controller.d.ts +0 -15
- package/css/{themes → palettes}/dark.always.css +0 -0
- package/css/{themes → palettes}/dark.css +0 -0
- package/css/{themes → palettes}/dark.css.map +0 -0
- package/css/{themes → palettes}/dark.system.css +0 -0
- package/css/{themes → palettes}/high-contrast-dark.always.css +1 -1
- package/css/{themes → palettes}/high-contrast-dark.css +0 -0
- package/css/{themes → palettes}/high-contrast-dark.css.map +0 -0
- package/css/{themes → palettes}/high-contrast-dark.system.css +1 -1
- package/css/{themes → palettes}/high-contrast.always.css +25 -25
- package/css/{themes → palettes}/high-contrast.css +0 -0
- package/css/{themes → palettes}/high-contrast.css.map +0 -0
- package/css/{themes → palettes}/high-contrast.system.css +25 -25
|
@@ -5,22 +5,21 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index
|
|
8
|
+
const index = require('./index-2d21d526.js');
|
|
9
9
|
const focusVisible = require('./focus-visible-7a0ce04f.js');
|
|
10
|
-
const helpers = require('./helpers-
|
|
11
|
-
const
|
|
10
|
+
const helpers = require('./helpers-afaa9001.js');
|
|
11
|
+
const ionicGlobal = require('./ionic-global-94d8021d.js');
|
|
12
12
|
const dir = require('./dir-94c21456.js');
|
|
13
13
|
const theme = require('./theme-d1c573d2.js');
|
|
14
|
-
const index$
|
|
15
|
-
const
|
|
16
|
-
const data = require('./data-e2bf21de.js');
|
|
14
|
+
const index$1 = require('./index-f52c6d38.js');
|
|
15
|
+
const data = require('./data-f2ccf911.js');
|
|
17
16
|
const lockController = require('./lock-controller-6585a42a.js');
|
|
18
|
-
const overlays = require('./overlays-
|
|
19
|
-
const animation = require('./animation-
|
|
20
|
-
const haptic = require('./haptic-
|
|
17
|
+
const overlays = require('./overlays-de847251.js');
|
|
18
|
+
const animation = require('./animation-b4fdf128.js');
|
|
19
|
+
const haptic = require('./haptic-f6b37aa3.js');
|
|
21
20
|
require('./index-c8d52405.js');
|
|
22
|
-
require('./hardware-back-button-
|
|
23
|
-
require('./framework-delegate-
|
|
21
|
+
require('./hardware-back-button-f66bce00.js');
|
|
22
|
+
require('./framework-delegate-55f5683a.js');
|
|
24
23
|
require('./gesture-controller-9436f482.js');
|
|
25
24
|
require('./capacitor-c04564bf.js');
|
|
26
25
|
|
|
@@ -185,12 +184,57 @@ const getHighlightStyles = (highlightedDates, dateIsoString, el) => {
|
|
|
185
184
|
return highlightedDates(dateIsoString);
|
|
186
185
|
}
|
|
187
186
|
catch (e) {
|
|
188
|
-
|
|
187
|
+
ionicGlobal.printIonError('Exception thrown from provided `highlightedDates` callback. Please check your function and try again.', el, e);
|
|
189
188
|
}
|
|
190
189
|
}
|
|
191
190
|
return undefined;
|
|
192
191
|
};
|
|
193
192
|
|
|
193
|
+
/**
|
|
194
|
+
* If a time zone is provided in the format options, the rendered text could
|
|
195
|
+
* differ from what was selected in the Datetime, which could cause
|
|
196
|
+
* confusion.
|
|
197
|
+
*/
|
|
198
|
+
const warnIfTimeZoneProvided = (el, formatOptions) => {
|
|
199
|
+
var _a, _b, _c, _d;
|
|
200
|
+
if (((_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _a === void 0 ? void 0 : _a.timeZone) ||
|
|
201
|
+
((_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _b === void 0 ? void 0 : _b.timeZoneName) ||
|
|
202
|
+
((_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _c === void 0 ? void 0 : _c.timeZone) ||
|
|
203
|
+
((_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _d === void 0 ? void 0 : _d.timeZoneName)) {
|
|
204
|
+
ionicGlobal.printIonWarning('Datetime: "timeZone" and "timeZoneName" are not supported in "formatOptions".', el);
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
const checkForPresentationFormatMismatch = (el, presentation, formatOptions) => {
|
|
208
|
+
// formatOptions is not required
|
|
209
|
+
if (!formatOptions)
|
|
210
|
+
return;
|
|
211
|
+
// If formatOptions is provided, the date and/or time objects are required, depending on the presentation
|
|
212
|
+
switch (presentation) {
|
|
213
|
+
case 'date':
|
|
214
|
+
case 'month-year':
|
|
215
|
+
case 'month':
|
|
216
|
+
case 'year':
|
|
217
|
+
if (formatOptions.date === undefined) {
|
|
218
|
+
ionicGlobal.printIonWarning(`Datetime: The '${presentation}' presentation requires a date object in formatOptions.`, el);
|
|
219
|
+
}
|
|
220
|
+
break;
|
|
221
|
+
case 'time':
|
|
222
|
+
if (formatOptions.time === undefined) {
|
|
223
|
+
ionicGlobal.printIonWarning(`Datetime: The 'time' presentation requires a time object in formatOptions.`, el);
|
|
224
|
+
}
|
|
225
|
+
break;
|
|
226
|
+
case 'date-time':
|
|
227
|
+
case 'time-date':
|
|
228
|
+
if (formatOptions.date === undefined && formatOptions.time === undefined) {
|
|
229
|
+
ionicGlobal.printIonWarning(`Datetime: The '${presentation}' presentation requires either a date or time object (or both) in formatOptions.`, el);
|
|
230
|
+
}
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
const ionicDatetimeMdCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #ffffff));--title-color:var(--ion-color-contrast)}:host .datetime-header{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}:host .datetime-header .datetime-title{font-size:0.75rem;text-transform:uppercase}:host .datetime-header .datetime-selected-date{margin-top:30px;font-size:2.125rem}:host .calendar-action-buttons ion-button{--color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}.calendar-month-year-toggle{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;min-height:48px;background:transparent;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959));z-index:1}.calendar-month-year-toggle.ion-focused::after{opacity:0.04}.calendar-month-year-toggle ion-ripple-effect{color:currentColor}@media (any-hover: hover){.calendar-month-year-toggle.ion-activatable:not(.ion-focused):hover::after{background:currentColor;opacity:0.04}}:host .calendar-days-of-week{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray));font-size:0.875rem;line-height:36px}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}:host .calendar-day{width:42px;min-width:42px;height:42px;font-size:0.875rem}:host .calendar-day.calendar-day-today{border:1px solid var(--ion-color-base);color:var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-active{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host .time-header{color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.datetime-presentation-month) .datetime-year,:host(.datetime-presentation-year) .datetime-year,:host(.datetime-presentation-month-year) .datetime-year{margin-top:20px;margin-bottom:20px}:host .datetime-buttons{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}";
|
|
236
|
+
const IonDatetimeIonicStyle0 = ionicDatetimeMdCss;
|
|
237
|
+
|
|
194
238
|
const datetimeIosCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-light, #f4f5f8);--background-rgb:var(--ion-color-light-rgb, 244, 245, 248);--title-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),:host(.datetime-presentation-date:not(.datetime-prefer-wheel)){min-height:350px}:host .datetime-header{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc));font-size:min(0.875rem, 22.4px)}:host .datetime-header .datetime-title{color:var(--title-color)}:host .datetime-header .datetime-selected-date{margin-top:10px}.calendar-month-year-toggle{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-height:44px;font-size:min(1rem, 25.6px);font-weight:600}.calendar-month-year-toggle.ion-focused::after{opacity:0.15}.calendar-month-year-toggle #toggle-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host .calendar-action-buttons .calendar-month-year-toggle ion-icon,:host .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-base)}:host .calendar-action-buttons ion-buttons{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:0}:host .calendar-action-buttons ion-buttons ion-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host .calendar-days-of-week{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3));font-size:min(0.75rem, 19.2px);font-weight:600;line-height:24px;text-transform:uppercase}@supports (border-radius: mod(1px, 1px)){.calendar-days-of-week .day-of-week{width:clamp(20px, calc(mod(min(1rem, 24px), 24px) * 10), 100%);height:24px;overflow:hidden}.calendar-day{border-radius:max(8px, mod(min(1rem, 24px), 24px) * 10)}}@supports ((border-radius: mod(1px, 1px)) and (background: -webkit-named-image(apple-pay-logo-black)) and (not (contain-intrinsic-size: none))) or (not (border-radius: mod(1px, 1px))){.calendar-days-of-week .day-of-week{width:auto;height:auto;overflow:initial}.calendar-day{border-radius:32px}}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-ms-flex-align:center;align-items:center;height:calc(100% - 16px)}:host .calendar-day-wrapper{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;height:0;min-height:1rem}:host .calendar-day{width:40px;min-width:40px;height:40px;font-size:min(1.25rem, 32px)}.calendar-day.calendar-day-active{background:rgba(var(--ion-color-base-rgb), 0.2);font-size:min(1.375rem, 35.2px)}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-base);font-weight:600}:host .calendar-day.calendar-day-today.calendar-day-active{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:min(1rem, 25.6px)}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc))}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons{width:100%}";
|
|
195
239
|
const IonDatetimeIosStyle0 = datetimeIosCss;
|
|
196
240
|
|
|
@@ -199,14 +243,14 @@ const IonDatetimeMdStyle0 = datetimeMdCss;
|
|
|
199
243
|
|
|
200
244
|
const Datetime = class {
|
|
201
245
|
constructor(hostRef) {
|
|
202
|
-
index
|
|
203
|
-
this.ionCancel = index
|
|
204
|
-
this.ionChange = index
|
|
205
|
-
this.ionValueChange = index
|
|
206
|
-
this.ionFocus = index
|
|
207
|
-
this.ionBlur = index
|
|
208
|
-
this.ionStyle = index
|
|
209
|
-
this.ionRender = index
|
|
246
|
+
index.registerInstance(this, hostRef);
|
|
247
|
+
this.ionCancel = index.createEvent(this, "ionCancel", 7);
|
|
248
|
+
this.ionChange = index.createEvent(this, "ionChange", 7);
|
|
249
|
+
this.ionValueChange = index.createEvent(this, "ionValueChange", 7);
|
|
250
|
+
this.ionFocus = index.createEvent(this, "ionFocus", 7);
|
|
251
|
+
this.ionBlur = index.createEvent(this, "ionBlur", 7);
|
|
252
|
+
this.ionStyle = index.createEvent(this, "ionStyle", 7);
|
|
253
|
+
this.ionRender = index.createEvent(this, "ionRender", 7);
|
|
210
254
|
this.inputId = `ion-dt-${datetimeIds++}`;
|
|
211
255
|
this.prevPresentation = null;
|
|
212
256
|
this.warnIfIncorrectValueUsage = () => {
|
|
@@ -220,7 +264,7 @@ const Datetime = class {
|
|
|
220
264
|
* Default toString() behavior: a,b
|
|
221
265
|
* Custom behavior: ['a', 'b']
|
|
222
266
|
*/
|
|
223
|
-
|
|
267
|
+
ionicGlobal.printIonWarning(`ion-datetime was passed an array of values, but multiple="false". This is incorrect usage and may result in unexpected behaviors. To dismiss this warning, pass a string to the "value" property when multiple="false".
|
|
224
268
|
|
|
225
269
|
Value Passed: [${value.map((v) => `'${v}'`).join(', ')}]
|
|
226
270
|
`, this.el);
|
|
@@ -469,7 +513,7 @@ const Datetime = class {
|
|
|
469
513
|
* scrollIntoView() will scroll entire page
|
|
470
514
|
* if element is not in viewport. Use scrollLeft instead.
|
|
471
515
|
*/
|
|
472
|
-
index
|
|
516
|
+
index.writeTask(() => {
|
|
473
517
|
calendarBodyRef.scrollLeft = startMonth.clientWidth * (dir.isRTL(this.el) ? -1 : 1);
|
|
474
518
|
const getChangedMonth = (parts) => {
|
|
475
519
|
const box = calendarBodyRef.getBoundingClientRect();
|
|
@@ -560,7 +604,7 @@ const Datetime = class {
|
|
|
560
604
|
* but older/slower device may have a flicker
|
|
561
605
|
* if we did not do this.
|
|
562
606
|
*/
|
|
563
|
-
index
|
|
607
|
+
index.writeTask(() => {
|
|
564
608
|
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), { month, day: day, year }));
|
|
565
609
|
calendarBodyRef.scrollLeft = workingMonth.clientWidth * (dir.isRTL(this.el) ? -1 : 1);
|
|
566
610
|
calendarBodyRef.style.removeProperty('overflow');
|
|
@@ -815,6 +859,7 @@ const Datetime = class {
|
|
|
815
859
|
this.color = 'primary';
|
|
816
860
|
this.name = this.inputId;
|
|
817
861
|
this.disabled = false;
|
|
862
|
+
this.formatOptions = undefined;
|
|
818
863
|
this.readonly = false;
|
|
819
864
|
this.isDateEnabled = undefined;
|
|
820
865
|
this.min = undefined;
|
|
@@ -842,6 +887,11 @@ const Datetime = class {
|
|
|
842
887
|
this.size = 'fixed';
|
|
843
888
|
this.preferWheel = false;
|
|
844
889
|
}
|
|
890
|
+
formatOptionsChanged() {
|
|
891
|
+
const { el, formatOptions, presentation } = this;
|
|
892
|
+
checkForPresentationFormatMismatch(el, presentation, formatOptions);
|
|
893
|
+
warnIfTimeZoneProvided(el, formatOptions);
|
|
894
|
+
}
|
|
845
895
|
disabledChanged() {
|
|
846
896
|
this.emitStyle();
|
|
847
897
|
}
|
|
@@ -851,6 +901,10 @@ const Datetime = class {
|
|
|
851
901
|
maxChanged() {
|
|
852
902
|
this.processMaxParts();
|
|
853
903
|
}
|
|
904
|
+
presentationChanged() {
|
|
905
|
+
const { el, formatOptions, presentation } = this;
|
|
906
|
+
checkForPresentationFormatMismatch(el, presentation, formatOptions);
|
|
907
|
+
}
|
|
854
908
|
get isGridStyle() {
|
|
855
909
|
const { presentation, preferWheel } = this;
|
|
856
910
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
@@ -953,6 +1007,7 @@ const Datetime = class {
|
|
|
953
1007
|
this.initializeKeyboardListeners();
|
|
954
1008
|
}
|
|
955
1009
|
componentDidLoad() {
|
|
1010
|
+
const { el, intersectionTrackerRef } = this;
|
|
956
1011
|
/**
|
|
957
1012
|
* If a scrollable element is hidden using `display: none`,
|
|
958
1013
|
* it will not have a scroll height meaning we cannot scroll elements
|
|
@@ -974,18 +1029,18 @@ const Datetime = class {
|
|
|
974
1029
|
* is that the content will pop into view a frame after. Maybe there
|
|
975
1030
|
* is a better way to handle this?
|
|
976
1031
|
*/
|
|
977
|
-
index
|
|
1032
|
+
index.writeTask(() => {
|
|
978
1033
|
this.el.classList.add('datetime-ready');
|
|
979
1034
|
});
|
|
980
1035
|
};
|
|
981
|
-
const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01 });
|
|
1036
|
+
const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
|
|
982
1037
|
/**
|
|
983
1038
|
* Use raf to avoid a race condition between the component loading and
|
|
984
1039
|
* its display animation starting (such as when shown in a modal). This
|
|
985
1040
|
* could cause the datetime to start at a visibility of 0, erroneously
|
|
986
1041
|
* triggering the `hiddenIO` observer below.
|
|
987
1042
|
*/
|
|
988
|
-
helpers.raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(
|
|
1043
|
+
helpers.raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
|
|
989
1044
|
/**
|
|
990
1045
|
* We need to clean up listeners when the datetime is hidden
|
|
991
1046
|
* in a popover/modal so that we can properly scroll containers
|
|
@@ -1007,12 +1062,12 @@ const Datetime = class {
|
|
|
1007
1062
|
* As a result, the wrong month will be shown.
|
|
1008
1063
|
*/
|
|
1009
1064
|
this.showMonthAndYear = false;
|
|
1010
|
-
index
|
|
1065
|
+
index.writeTask(() => {
|
|
1011
1066
|
this.el.classList.remove('datetime-ready');
|
|
1012
1067
|
});
|
|
1013
1068
|
};
|
|
1014
|
-
const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0 });
|
|
1015
|
-
helpers.raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(
|
|
1069
|
+
const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
|
|
1070
|
+
helpers.raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
|
|
1016
1071
|
/**
|
|
1017
1072
|
* Datetime uses Ionic components that emit
|
|
1018
1073
|
* ionFocus and ionBlur. These events are
|
|
@@ -1086,23 +1141,27 @@ const Datetime = class {
|
|
|
1086
1141
|
});
|
|
1087
1142
|
}
|
|
1088
1143
|
componentWillLoad() {
|
|
1089
|
-
const { el, highlightedDates, multiple, presentation, preferWheel } = this;
|
|
1144
|
+
const { el, formatOptions, highlightedDates, multiple, presentation, preferWheel } = this;
|
|
1090
1145
|
if (multiple) {
|
|
1091
1146
|
if (presentation !== 'date') {
|
|
1092
|
-
|
|
1147
|
+
ionicGlobal.printIonWarning('Multiple date selection is only supported for presentation="date".', el);
|
|
1093
1148
|
}
|
|
1094
1149
|
if (preferWheel) {
|
|
1095
|
-
|
|
1150
|
+
ionicGlobal.printIonWarning('Multiple date selection is not supported with preferWheel="true".', el);
|
|
1096
1151
|
}
|
|
1097
1152
|
}
|
|
1098
1153
|
if (highlightedDates !== undefined) {
|
|
1099
1154
|
if (presentation !== 'date' && presentation !== 'date-time' && presentation !== 'time-date') {
|
|
1100
|
-
|
|
1155
|
+
ionicGlobal.printIonWarning('The highlightedDates property is only supported with the date, date-time, and time-date presentations.', el);
|
|
1101
1156
|
}
|
|
1102
1157
|
if (preferWheel) {
|
|
1103
|
-
|
|
1158
|
+
ionicGlobal.printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
|
|
1104
1159
|
}
|
|
1105
1160
|
}
|
|
1161
|
+
if (formatOptions) {
|
|
1162
|
+
checkForPresentationFormatMismatch(el, presentation, formatOptions);
|
|
1163
|
+
warnIfTimeZoneProvided(el, formatOptions);
|
|
1164
|
+
}
|
|
1106
1165
|
const hourValues = (this.parsedHourValues = data.convertToArrayOfNumbers(this.hourValues));
|
|
1107
1166
|
const minuteValues = (this.parsedMinuteValues = data.convertToArrayOfNumbers(this.minuteValues));
|
|
1108
1167
|
const monthValues = (this.parsedMonthValues = data.convertToArrayOfNumbers(this.monthValues));
|
|
@@ -1159,10 +1218,10 @@ const Datetime = class {
|
|
|
1159
1218
|
* OK - Dismisses the datetime and
|
|
1160
1219
|
* updates the `value` prop.
|
|
1161
1220
|
*/
|
|
1162
|
-
return (index
|
|
1221
|
+
return (index.h("div", { class: "datetime-footer" }, index.h("div", { class: "datetime-buttons" }, index.h("div", { class: {
|
|
1163
1222
|
['datetime-action-buttons']: true,
|
|
1164
1223
|
['has-clear-button']: this.showClearButton,
|
|
1165
|
-
} }, index
|
|
1224
|
+
} }, index.h("slot", { name: "buttons" }, index.h("ion-buttons", null, showDefaultButtons && (index.h("ion-button", { id: "cancel-button", color: this.color, onClick: () => this.cancel(true), disabled: isButtonDisabled }, this.cancelText)), index.h("div", { class: "datetime-action-buttons-container" }, showClearButton && (index.h("ion-button", { id: "clear-button", color: this.color, onClick: () => clearButtonClick(), disabled: isButtonDisabled }, this.clearText)), showDefaultButtons && (index.h("ion-button", { id: "confirm-button", color: this.color, onClick: () => this.confirm(true), disabled: isButtonDisabled }, this.doneText)))))))));
|
|
1166
1225
|
}
|
|
1167
1226
|
/**
|
|
1168
1227
|
* Wheel picker render methods
|
|
@@ -1180,7 +1239,7 @@ const Datetime = class {
|
|
|
1180
1239
|
const renderArray = forcePresentation === 'time-date'
|
|
1181
1240
|
? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
|
|
1182
1241
|
: [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
|
|
1183
|
-
return index
|
|
1242
|
+
return index.h("ion-picker", null, renderArray);
|
|
1184
1243
|
}
|
|
1185
1244
|
renderDatePickerColumns(forcePresentation) {
|
|
1186
1245
|
return forcePresentation === 'date-time' || forcePresentation === 'time-date'
|
|
@@ -1215,8 +1274,8 @@ const Datetime = class {
|
|
|
1215
1274
|
let items = result.items;
|
|
1216
1275
|
const parts = result.parts;
|
|
1217
1276
|
if (isDateEnabled) {
|
|
1218
|
-
items = items.map((itemObject, index
|
|
1219
|
-
const referenceParts = parts[index
|
|
1277
|
+
items = items.map((itemObject, index) => {
|
|
1278
|
+
const referenceParts = parts[index];
|
|
1220
1279
|
let disabled;
|
|
1221
1280
|
try {
|
|
1222
1281
|
/**
|
|
@@ -1227,7 +1286,7 @@ const Datetime = class {
|
|
|
1227
1286
|
disabled = !isDateEnabled(data.convertDataToISO(referenceParts));
|
|
1228
1287
|
}
|
|
1229
1288
|
catch (e) {
|
|
1230
|
-
|
|
1289
|
+
ionicGlobal.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
|
|
1231
1290
|
}
|
|
1232
1291
|
return Object.assign(Object.assign({}, itemObject), { disabled });
|
|
1233
1292
|
});
|
|
@@ -1239,13 +1298,13 @@ const Datetime = class {
|
|
|
1239
1298
|
const todayString = workingParts.day !== null
|
|
1240
1299
|
? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
|
|
1241
1300
|
: `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
|
|
1242
|
-
return (index
|
|
1301
|
+
return (index.h("ion-picker-column", { class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
|
|
1243
1302
|
const { value } = ev.detail;
|
|
1244
1303
|
const findPart = parts.find(({ month, day, year }) => value === `${year}-${month}-${day}`);
|
|
1245
1304
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
|
|
1246
1305
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
|
|
1247
1306
|
ev.stopPropagation();
|
|
1248
|
-
} }, items.map((item) => (index
|
|
1307
|
+
} }, items.map((item) => (index.h("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
|
|
1249
1308
|
}
|
|
1250
1309
|
renderIndividualDatePickerColumns(forcePresentation) {
|
|
1251
1310
|
const { workingParts, isDateEnabled } = this;
|
|
@@ -1276,7 +1335,7 @@ const Datetime = class {
|
|
|
1276
1335
|
disabled = !isDateEnabled(data.convertDataToISO(referenceParts));
|
|
1277
1336
|
}
|
|
1278
1337
|
catch (e) {
|
|
1279
|
-
|
|
1338
|
+
ionicGlobal.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
|
|
1280
1339
|
}
|
|
1281
1340
|
return Object.assign(Object.assign({}, dayObject), { disabled });
|
|
1282
1341
|
});
|
|
@@ -1314,11 +1373,11 @@ const Datetime = class {
|
|
|
1314
1373
|
const { disabled, workingParts } = this;
|
|
1315
1374
|
const activePart = this.getActivePartsWithFallback();
|
|
1316
1375
|
const pickerColumnValue = (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined;
|
|
1317
|
-
return (index
|
|
1376
|
+
return (index.h("ion-picker-column", { class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
|
|
1318
1377
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
|
|
1319
1378
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
|
|
1320
1379
|
ev.stopPropagation();
|
|
1321
|
-
} }, days.map((day) => (index
|
|
1380
|
+
} }, days.map((day) => (index.h("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
|
|
1322
1381
|
}
|
|
1323
1382
|
renderMonthPickerColumn(months) {
|
|
1324
1383
|
if (months.length === 0) {
|
|
@@ -1326,11 +1385,11 @@ const Datetime = class {
|
|
|
1326
1385
|
}
|
|
1327
1386
|
const { disabled, workingParts } = this;
|
|
1328
1387
|
const activePart = this.getActivePartsWithFallback();
|
|
1329
|
-
return (index
|
|
1388
|
+
return (index.h("ion-picker-column", { class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
|
|
1330
1389
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { month: ev.detail.value }));
|
|
1331
1390
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
|
|
1332
1391
|
ev.stopPropagation();
|
|
1333
|
-
} }, months.map((month) => (index
|
|
1392
|
+
} }, months.map((month) => (index.h("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
|
|
1334
1393
|
}
|
|
1335
1394
|
renderYearPickerColumn(years) {
|
|
1336
1395
|
if (years.length === 0) {
|
|
@@ -1338,11 +1397,11 @@ const Datetime = class {
|
|
|
1338
1397
|
}
|
|
1339
1398
|
const { disabled, workingParts } = this;
|
|
1340
1399
|
const activePart = this.getActivePartsWithFallback();
|
|
1341
|
-
return (index
|
|
1400
|
+
return (index.h("ion-picker-column", { class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
|
|
1342
1401
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { year: ev.detail.value }));
|
|
1343
1402
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
|
|
1344
1403
|
ev.stopPropagation();
|
|
1345
|
-
} }, years.map((year) => (index
|
|
1404
|
+
} }, years.map((year) => (index.h("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
|
|
1346
1405
|
}
|
|
1347
1406
|
renderTimePickerColumns(forcePresentation) {
|
|
1348
1407
|
if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
|
|
@@ -1371,22 +1430,22 @@ const Datetime = class {
|
|
|
1371
1430
|
if (hoursData.length === 0)
|
|
1372
1431
|
return [];
|
|
1373
1432
|
const activePart = this.getActivePartsWithFallback();
|
|
1374
|
-
return (index
|
|
1433
|
+
return (index.h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1375
1434
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
1376
1435
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
|
|
1377
1436
|
ev.stopPropagation();
|
|
1378
|
-
} }, hoursData.map((hour) => (index
|
|
1437
|
+
} }, hoursData.map((hour) => (index.h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
|
|
1379
1438
|
}
|
|
1380
1439
|
renderMinutePickerColumn(minutesData) {
|
|
1381
1440
|
const { disabled, workingParts } = this;
|
|
1382
1441
|
if (minutesData.length === 0)
|
|
1383
1442
|
return [];
|
|
1384
1443
|
const activePart = this.getActivePartsWithFallback();
|
|
1385
|
-
return (index
|
|
1444
|
+
return (index.h("ion-picker-column", { color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1386
1445
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
1387
1446
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
|
|
1388
1447
|
ev.stopPropagation();
|
|
1389
|
-
} }, minutesData.map((minute) => (index
|
|
1448
|
+
} }, minutesData.map((minute) => (index.h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
|
|
1390
1449
|
}
|
|
1391
1450
|
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
1392
1451
|
const { disabled, workingParts } = this;
|
|
@@ -1395,38 +1454,38 @@ const Datetime = class {
|
|
|
1395
1454
|
}
|
|
1396
1455
|
const activePart = this.getActivePartsWithFallback();
|
|
1397
1456
|
const isDayPeriodRTL = data.isLocaleDayPeriodRTL(this.locale);
|
|
1398
|
-
return (index
|
|
1457
|
+
return (index.h("ion-picker-column", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
|
|
1399
1458
|
const hour = data.calculateHourFromAMPM(workingParts, ev.detail.value);
|
|
1400
1459
|
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
1401
1460
|
this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
|
|
1402
1461
|
ev.stopPropagation();
|
|
1403
|
-
} }, dayPeriodData.map((dayPeriod) => (index
|
|
1462
|
+
} }, dayPeriodData.map((dayPeriod) => (index.h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
|
|
1404
1463
|
}
|
|
1405
1464
|
renderWheelView(forcePresentation) {
|
|
1406
1465
|
const { locale } = this;
|
|
1407
1466
|
const showMonthFirst = data.isMonthFirstLocale(locale);
|
|
1408
1467
|
const columnOrder = showMonthFirst ? 'month-first' : 'year-first';
|
|
1409
|
-
return (index
|
|
1468
|
+
return (index.h("div", { class: {
|
|
1410
1469
|
[`wheel-order-${columnOrder}`]: true,
|
|
1411
1470
|
} }, this.renderWheelPicker(forcePresentation)));
|
|
1412
1471
|
}
|
|
1413
1472
|
/**
|
|
1414
1473
|
* Grid Render Methods
|
|
1415
1474
|
*/
|
|
1416
|
-
renderCalendarHeader(
|
|
1475
|
+
renderCalendarHeader(theme) {
|
|
1417
1476
|
const { disabled } = this;
|
|
1418
|
-
const expandedIcon =
|
|
1419
|
-
const collapsedIcon =
|
|
1477
|
+
const expandedIcon = theme === 'ios' ? index$1.chevronDown : index$1.caretUpSharp;
|
|
1478
|
+
const collapsedIcon = theme === 'ios' ? index$1.chevronForward : index$1.caretDownSharp;
|
|
1420
1479
|
const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
|
|
1421
1480
|
const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
|
|
1422
1481
|
// don't use the inheritAttributes util because it removes dir from the host, and we still need that
|
|
1423
1482
|
const hostDir = this.el.getAttribute('dir') || undefined;
|
|
1424
|
-
return (index
|
|
1483
|
+
return (index.h("div", { class: "calendar-header" }, index.h("div", { class: "calendar-action-buttons" }, index.h("div", { class: "calendar-month-year" }, index.h("button", { class: {
|
|
1425
1484
|
'calendar-month-year-toggle': true,
|
|
1426
1485
|
'ion-activatable': true,
|
|
1427
1486
|
'ion-focusable': true,
|
|
1428
|
-
}, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, index
|
|
1429
|
-
return index
|
|
1487
|
+
}, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, index.h("span", { id: "toggle-wrapper" }, data.getMonthAndYear(this.locale, this.workingParts), index.h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), theme === 'md' && index.h("ion-ripple-effect", null))), index.h("div", { class: "calendar-next-prev" }, index.h("ion-buttons", null, index.h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, index.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$1.chevronBack, lazy: false, flipRtl: true })), index.h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, index.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$1.chevronForward, lazy: false, flipRtl: true }))))), index.h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, data.getDaysOfWeek(this.locale, theme, this.firstDayOfWeek % 7).map((d) => {
|
|
1488
|
+
return index.h("div", { class: "day-of-week" }, d);
|
|
1430
1489
|
}))));
|
|
1431
1490
|
}
|
|
1432
1491
|
renderMonth(month, year) {
|
|
@@ -1452,11 +1511,11 @@ const Datetime = class {
|
|
|
1452
1511
|
// can free-scroll the calendar.
|
|
1453
1512
|
const isWorkingMonth = this.workingParts.month === month && this.workingParts.year === year;
|
|
1454
1513
|
const activePart = this.getActivePartsWithFallback();
|
|
1455
|
-
return (index
|
|
1514
|
+
return (index.h("div", { "aria-hidden": !isWorkingMonth ? 'true' : null, class: {
|
|
1456
1515
|
'calendar-month': true,
|
|
1457
1516
|
// Prevents scroll snap swipe gestures for months outside of the min/max bounds
|
|
1458
1517
|
'calendar-month-disabled': !isWorkingMonth && swipeDisabled,
|
|
1459
|
-
} }, index
|
|
1518
|
+
} }, index.h("div", { class: "calendar-month-grid" }, data.getDaysOfMonth(month, year, this.firstDayOfWeek % 7).map((dateObject, index$1) => {
|
|
1460
1519
|
const { day, dayOfWeek } = dateObject;
|
|
1461
1520
|
const { el, highlightedDates, isDateEnabled, multiple } = this;
|
|
1462
1521
|
const referenceParts = { month, day, year };
|
|
@@ -1474,7 +1533,7 @@ const Datetime = class {
|
|
|
1474
1533
|
isCalDayDisabled = !isDateEnabled(dateIsoString);
|
|
1475
1534
|
}
|
|
1476
1535
|
catch (e) {
|
|
1477
|
-
|
|
1536
|
+
ionicGlobal.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', el, e);
|
|
1478
1537
|
}
|
|
1479
1538
|
}
|
|
1480
1539
|
/**
|
|
@@ -1498,7 +1557,7 @@ const Datetime = class {
|
|
|
1498
1557
|
if (!isCalendarPadding) {
|
|
1499
1558
|
dateParts = `calendar-day${isActive ? ' active' : ''}${isToday ? ' today' : ''}${isCalDayDisabled ? ' disabled' : ''}`;
|
|
1500
1559
|
}
|
|
1501
|
-
return (index
|
|
1560
|
+
return (index.h("div", { class: "calendar-day-wrapper" }, index.h("button", {
|
|
1502
1561
|
// We need to use !important for the inline styles here because
|
|
1503
1562
|
// otherwise the CSS shadow parts will override these styles.
|
|
1504
1563
|
// See https://github.com/WICG/webcomponents/issues/847
|
|
@@ -1510,7 +1569,7 @@ const Datetime = class {
|
|
|
1510
1569
|
el.style.setProperty('color', `${dateStyle ? dateStyle.textColor : ''}`, 'important');
|
|
1511
1570
|
el.style.setProperty('background-color', `${dateStyle ? dateStyle.backgroundColor : ''}`, 'important');
|
|
1512
1571
|
}
|
|
1513
|
-
}, tabindex: "-1", "data-day": day, "data-month": month, "data-year": year, "data-index": index$
|
|
1572
|
+
}, tabindex: "-1", "data-day": day, "data-month": month, "data-year": year, "data-index": index$1, "data-day-of-week": dayOfWeek, disabled: isButtonDisabled, class: {
|
|
1514
1573
|
'calendar-day-padding': isCalendarPadding,
|
|
1515
1574
|
'calendar-day': true,
|
|
1516
1575
|
'calendar-day-active': isActive,
|
|
@@ -1541,27 +1600,27 @@ const Datetime = class {
|
|
|
1541
1600
|
}))));
|
|
1542
1601
|
}
|
|
1543
1602
|
renderCalendarBody() {
|
|
1544
|
-
return (index
|
|
1603
|
+
return (index.h("div", { class: "calendar-body ion-focusable", ref: (el) => (this.calendarBodyRef = el), tabindex: "0" }, data.generateMonths(this.workingParts, this.forceRenderDate).map(({ month, year }) => {
|
|
1545
1604
|
return this.renderMonth(month, year);
|
|
1546
1605
|
})));
|
|
1547
1606
|
}
|
|
1548
|
-
renderCalendar(
|
|
1549
|
-
return (index
|
|
1607
|
+
renderCalendar(theme) {
|
|
1608
|
+
return (index.h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(theme), this.renderCalendarBody()));
|
|
1550
1609
|
}
|
|
1551
1610
|
renderTimeLabel() {
|
|
1552
1611
|
const hasSlottedTimeLabel = this.el.querySelector('[slot="time-label"]') !== null;
|
|
1553
1612
|
if (!hasSlottedTimeLabel && !this.showDefaultTimeLabel) {
|
|
1554
1613
|
return;
|
|
1555
1614
|
}
|
|
1556
|
-
return index
|
|
1615
|
+
return index.h("slot", { name: "time-label" }, "Time");
|
|
1557
1616
|
}
|
|
1558
1617
|
renderTimeOverlay() {
|
|
1559
|
-
const { disabled, hourCycle, isTimePopoverOpen, locale } = this;
|
|
1618
|
+
const { disabled, hourCycle, isTimePopoverOpen, locale, formatOptions } = this;
|
|
1560
1619
|
const computedHourCycle = data.getHourCycle(locale, hourCycle);
|
|
1561
1620
|
const activePart = this.getActivePartsWithFallback();
|
|
1562
1621
|
return [
|
|
1563
|
-
index
|
|
1564
|
-
index
|
|
1622
|
+
index.h("div", { class: "time-header" }, this.renderTimeLabel()),
|
|
1623
|
+
index.h("button", { class: {
|
|
1565
1624
|
'time-body': true,
|
|
1566
1625
|
'time-body-active': isTimePopoverOpen,
|
|
1567
1626
|
}, part: `time-button${isTimePopoverOpen ? ' active' : ''}`, "aria-expanded": "false", "aria-haspopup": "true", disabled: disabled, onClick: async (ev) => {
|
|
@@ -1576,8 +1635,8 @@ const Datetime = class {
|
|
|
1576
1635
|
await popoverRef.onWillDismiss();
|
|
1577
1636
|
this.isTimePopoverOpen = false;
|
|
1578
1637
|
}
|
|
1579
|
-
} }, data.getLocalizedTime(locale, activePart, computedHourCycle)),
|
|
1580
|
-
index
|
|
1638
|
+
} }, data.getLocalizedTime(locale, activePart, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time)),
|
|
1639
|
+
index.h("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
|
|
1581
1640
|
/**
|
|
1582
1641
|
* Intersection Observers do not consistently fire between Blink and Webkit
|
|
1583
1642
|
* when toggling the visibility of the popover and trying to scroll the picker
|
|
@@ -1599,7 +1658,8 @@ const Datetime = class {
|
|
|
1599
1658
|
];
|
|
1600
1659
|
}
|
|
1601
1660
|
getHeaderSelectedDateText() {
|
|
1602
|
-
|
|
1661
|
+
var _a;
|
|
1662
|
+
const { activeParts, formatOptions, multiple, titleSelectedDatesFormatter } = this;
|
|
1603
1663
|
const isArray = Array.isArray(activeParts);
|
|
1604
1664
|
let headerText;
|
|
1605
1665
|
if (multiple && isArray && activeParts.length !== 1) {
|
|
@@ -1609,13 +1669,13 @@ const Datetime = class {
|
|
|
1609
1669
|
headerText = titleSelectedDatesFormatter(data.convertDataToISO(activeParts));
|
|
1610
1670
|
}
|
|
1611
1671
|
catch (e) {
|
|
1612
|
-
|
|
1672
|
+
ionicGlobal.printIonError('Exception in provided `titleSelectedDatesFormatter`: ', e);
|
|
1613
1673
|
}
|
|
1614
1674
|
}
|
|
1615
1675
|
}
|
|
1616
1676
|
else {
|
|
1617
1677
|
// for exactly 1 day selected (multiple set or not), show a formatted version of that
|
|
1618
|
-
headerText = data.
|
|
1678
|
+
headerText = data.getLocalizedDateTime(this.locale, this.getActivePartsWithFallback(), (_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _a !== void 0 ? _a : { weekday: 'short', month: 'short', day: 'numeric' });
|
|
1619
1679
|
}
|
|
1620
1680
|
return headerText;
|
|
1621
1681
|
}
|
|
@@ -1624,7 +1684,7 @@ const Datetime = class {
|
|
|
1624
1684
|
if (!hasSlottedTitle && !this.showDefaultTitle) {
|
|
1625
1685
|
return;
|
|
1626
1686
|
}
|
|
1627
|
-
return (index
|
|
1687
|
+
return (index.h("div", { class: "datetime-header" }, index.h("div", { class: "datetime-title" }, index.h("slot", { name: "title" }, "Select Date")), showExpandedHeader && index.h("div", { class: "datetime-selected-date" }, this.getHeaderSelectedDateText())));
|
|
1628
1688
|
}
|
|
1629
1689
|
/**
|
|
1630
1690
|
* Render time picker inside of datetime.
|
|
@@ -1636,7 +1696,7 @@ const Datetime = class {
|
|
|
1636
1696
|
renderTime() {
|
|
1637
1697
|
const { presentation } = this;
|
|
1638
1698
|
const timeOnlyPresentation = presentation === 'time';
|
|
1639
|
-
return (index
|
|
1699
|
+
return (index.h("div", { class: "datetime-time" }, timeOnlyPresentation ? this.renderWheelPicker() : this.renderTimeOverlay()));
|
|
1640
1700
|
}
|
|
1641
1701
|
/**
|
|
1642
1702
|
* Renders the month/year picker that is
|
|
@@ -1647,13 +1707,13 @@ const Datetime = class {
|
|
|
1647
1707
|
* toggle in the calendar header.
|
|
1648
1708
|
*/
|
|
1649
1709
|
renderCalendarViewMonthYearPicker() {
|
|
1650
|
-
return index
|
|
1710
|
+
return index.h("div", { class: "datetime-year" }, this.renderWheelView('month-year'));
|
|
1651
1711
|
}
|
|
1652
1712
|
/**
|
|
1653
1713
|
* Render entry point
|
|
1654
1714
|
* All presentation types are rendered from here.
|
|
1655
1715
|
*/
|
|
1656
|
-
renderDatetime(
|
|
1716
|
+
renderDatetime(theme) {
|
|
1657
1717
|
const { presentation, preferWheel } = this;
|
|
1658
1718
|
/**
|
|
1659
1719
|
* Certain presentation types have separate grid and wheel displays.
|
|
@@ -1667,7 +1727,7 @@ const Datetime = class {
|
|
|
1667
1727
|
case 'date-time':
|
|
1668
1728
|
return [
|
|
1669
1729
|
this.renderHeader(),
|
|
1670
|
-
this.renderCalendar(
|
|
1730
|
+
this.renderCalendar(theme),
|
|
1671
1731
|
this.renderCalendarViewMonthYearPicker(),
|
|
1672
1732
|
this.renderTime(),
|
|
1673
1733
|
this.renderFooter(),
|
|
@@ -1676,7 +1736,7 @@ const Datetime = class {
|
|
|
1676
1736
|
return [
|
|
1677
1737
|
this.renderHeader(),
|
|
1678
1738
|
this.renderTime(),
|
|
1679
|
-
this.renderCalendar(
|
|
1739
|
+
this.renderCalendar(theme),
|
|
1680
1740
|
this.renderCalendarViewMonthYearPicker(),
|
|
1681
1741
|
this.renderFooter(),
|
|
1682
1742
|
];
|
|
@@ -1689,7 +1749,7 @@ const Datetime = class {
|
|
|
1689
1749
|
default:
|
|
1690
1750
|
return [
|
|
1691
1751
|
this.renderHeader(),
|
|
1692
|
-
this.renderCalendar(
|
|
1752
|
+
this.renderCalendar(theme),
|
|
1693
1753
|
this.renderCalendarViewMonthYearPicker(),
|
|
1694
1754
|
this.renderFooter(),
|
|
1695
1755
|
];
|
|
@@ -1697,15 +1757,15 @@ const Datetime = class {
|
|
|
1697
1757
|
}
|
|
1698
1758
|
render() {
|
|
1699
1759
|
const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size, isGridStyle, } = this;
|
|
1700
|
-
const
|
|
1760
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
1701
1761
|
const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
|
|
1702
1762
|
const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
|
|
1703
1763
|
const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
|
|
1704
1764
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1705
1765
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1706
1766
|
helpers.renderHiddenInput(true, el, name, data.formatValue(value), disabled);
|
|
1707
|
-
return (index
|
|
1708
|
-
[
|
|
1767
|
+
return (index.h(index.Host, { key: '54afe8aefdc36f7cc5001d141e2f22b94fc7d9f8', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
|
|
1768
|
+
[theme$1]: true,
|
|
1709
1769
|
['datetime-readonly']: readonly,
|
|
1710
1770
|
['datetime-disabled']: disabled,
|
|
1711
1771
|
'show-month-and-year': shouldShowMonthAndYear,
|
|
@@ -1714,13 +1774,15 @@ const Datetime = class {
|
|
|
1714
1774
|
[`datetime-size-${size}`]: true,
|
|
1715
1775
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1716
1776
|
[`datetime-grid`]: isGridStyle,
|
|
1717
|
-
})) }, this.renderDatetime(
|
|
1777
|
+
})) }, index.h("div", { key: '632747f7ee8a54eafb16179f5039ba1df98ecd76', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme$1)));
|
|
1718
1778
|
}
|
|
1719
|
-
get el() { return index
|
|
1779
|
+
get el() { return index.getElement(this); }
|
|
1720
1780
|
static get watchers() { return {
|
|
1781
|
+
"formatOptions": ["formatOptionsChanged"],
|
|
1721
1782
|
"disabled": ["disabledChanged"],
|
|
1722
1783
|
"min": ["minChanged"],
|
|
1723
1784
|
"max": ["maxChanged"],
|
|
1785
|
+
"presentation": ["presentationChanged"],
|
|
1724
1786
|
"yearValues": ["yearValuesChanged"],
|
|
1725
1787
|
"monthValues": ["monthValuesChanged"],
|
|
1726
1788
|
"dayValues": ["dayValuesChanged"],
|
|
@@ -1733,6 +1795,7 @@ let datetimeIds = 0;
|
|
|
1733
1795
|
const WHEEL_ITEM_PART = 'wheel-item';
|
|
1734
1796
|
const WHEEL_ITEM_ACTIVE_PART = `active`;
|
|
1735
1797
|
Datetime.style = {
|
|
1798
|
+
ionic: IonDatetimeIonicStyle0,
|
|
1736
1799
|
ios: IonDatetimeIosStyle0,
|
|
1737
1800
|
md: IonDatetimeMdStyle0
|
|
1738
1801
|
};
|
|
@@ -1789,15 +1852,15 @@ const IonPickerLegacyMdStyle0 = pickerMdCss;
|
|
|
1789
1852
|
|
|
1790
1853
|
const Picker = class {
|
|
1791
1854
|
constructor(hostRef) {
|
|
1792
|
-
index
|
|
1793
|
-
this.didPresent = index
|
|
1794
|
-
this.willPresent = index
|
|
1795
|
-
this.willDismiss = index
|
|
1796
|
-
this.didDismiss = index
|
|
1797
|
-
this.didPresentShorthand = index
|
|
1798
|
-
this.willPresentShorthand = index
|
|
1799
|
-
this.willDismissShorthand = index
|
|
1800
|
-
this.didDismissShorthand = index
|
|
1855
|
+
index.registerInstance(this, hostRef);
|
|
1856
|
+
this.didPresent = index.createEvent(this, "ionPickerDidPresent", 7);
|
|
1857
|
+
this.willPresent = index.createEvent(this, "ionPickerWillPresent", 7);
|
|
1858
|
+
this.willDismiss = index.createEvent(this, "ionPickerWillDismiss", 7);
|
|
1859
|
+
this.didDismiss = index.createEvent(this, "ionPickerDidDismiss", 7);
|
|
1860
|
+
this.didPresentShorthand = index.createEvent(this, "didPresent", 7);
|
|
1861
|
+
this.willPresentShorthand = index.createEvent(this, "willPresent", 7);
|
|
1862
|
+
this.willDismissShorthand = index.createEvent(this, "willDismiss", 7);
|
|
1863
|
+
this.didDismissShorthand = index.createEvent(this, "didDismiss", 7);
|
|
1801
1864
|
this.delegateController = overlays.createDelegateController(this);
|
|
1802
1865
|
this.lockController = lockController.createLockController();
|
|
1803
1866
|
this.triggerController = overlays.createTriggerController();
|
|
@@ -1854,7 +1917,7 @@ const Picker = class {
|
|
|
1854
1917
|
overlays.setOverlayId(this.el);
|
|
1855
1918
|
}
|
|
1856
1919
|
componentDidLoad() {
|
|
1857
|
-
|
|
1920
|
+
ionicGlobal.printIonWarning('ion-picker-legacy and ion-picker-legacy-column have been deprecated in favor of new versions of the ion-picker and ion-picker-column components. These new components display inline with your page content allowing for more presentation flexibility than before.', this.el);
|
|
1858
1921
|
/**
|
|
1859
1922
|
* If picker was rendered with isOpen="true"
|
|
1860
1923
|
* then we should open picker immediately.
|
|
@@ -1963,14 +2026,14 @@ const Picker = class {
|
|
|
1963
2026
|
}
|
|
1964
2027
|
render() {
|
|
1965
2028
|
const { htmlAttributes } = this;
|
|
1966
|
-
const
|
|
1967
|
-
return (index
|
|
2029
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
2030
|
+
return (index.h(index.Host, Object.assign({ key: '687fd87fb2a0bffcdbd38fe91785d2572d4cd141', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
1968
2031
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1969
|
-
}, class: Object.assign({ [
|
|
2032
|
+
}, class: Object.assign({ [theme$1]: true,
|
|
1970
2033
|
// Used internally for styling
|
|
1971
|
-
[`picker-${
|
|
2034
|
+
[`picker-${theme$1}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index.h("ion-backdrop", { key: '053fa3b4c98c0f29e45a74551978a831ac9742cb', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: 'dd3edfc5c879790849087f8ec251ca767d35ec3b', tabindex: "0" }), index.h("div", { key: '9a1b8b2008e5b6f76d35766164909edea71598ef', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index.h("div", { key: 'af96808e7ab42b45ee922a410860b5cbbca38a34', class: "picker-toolbar" }, this.buttons.map((b) => (index.h("div", { class: buttonWrapperClass(b) }, index.h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), index.h("div", { key: 'b0a382a73555146c5962a4c94fc54bb3080350b9', class: "picker-columns" }, index.h("div", { key: 'd09fa7270c06d9fccb9ee1043f93f267df1a0bbc', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index.h("ion-picker-legacy-column", { col: c })), index.h("div", { key: 'c612908bf2523b81cc88e6fc445d52836a00fd45', class: "picker-below-highlight" }))), index.h("div", { key: 'd6254d12e1570d377ca2721f3f3cb040159aec60', tabindex: "0" })));
|
|
1972
2035
|
}
|
|
1973
|
-
get el() { return index
|
|
2036
|
+
get el() { return index.getElement(this); }
|
|
1974
2037
|
static get watchers() { return {
|
|
1975
2038
|
"isOpen": ["onIsOpenChange"],
|
|
1976
2039
|
"trigger": ["triggerChanged"]
|
|
@@ -1998,8 +2061,8 @@ const IonPickerLegacyColumnMdStyle0 = pickerColumnMdCss;
|
|
|
1998
2061
|
|
|
1999
2062
|
const PickerColumnCmp = class {
|
|
2000
2063
|
constructor(hostRef) {
|
|
2001
|
-
index
|
|
2002
|
-
this.ionPickerColChange = index
|
|
2064
|
+
index.registerInstance(this, hostRef);
|
|
2065
|
+
this.ionPickerColChange = index.createEvent(this, "ionPickerColChange", 7);
|
|
2003
2066
|
this.optHeight = 0;
|
|
2004
2067
|
this.rotateFactor = 0;
|
|
2005
2068
|
this.scaleFactor = 1;
|
|
@@ -2324,12 +2387,12 @@ const PickerColumnCmp = class {
|
|
|
2324
2387
|
}
|
|
2325
2388
|
render() {
|
|
2326
2389
|
const col = this.col;
|
|
2327
|
-
const
|
|
2328
|
-
return (index
|
|
2390
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
2391
|
+
return (index.h(index.Host, { key: '665ec7daa2e5f41536847b167146b04a444495c2', class: Object.assign({ [theme$1]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, theme.getClassMap(col.cssClass)), style: {
|
|
2329
2392
|
'max-width': this.col.columnWidth,
|
|
2330
|
-
} }, col.prefix && (index
|
|
2393
|
+
} }, col.prefix && (index.h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index.h("div", { key: '6195a1022a90538e9f638a4216910c125a43a8b7', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index$1) => (index.h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index$1 }, o.text)))), col.suffix && (index.h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
2331
2394
|
}
|
|
2332
|
-
get el() { return index
|
|
2395
|
+
get el() { return index.getElement(this); }
|
|
2333
2396
|
static get watchers() { return {
|
|
2334
2397
|
"col": ["colChanged"]
|
|
2335
2398
|
}; }
|