voyager-ionic-core 7.7.3 → 7.8.6
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 +3 -3
- package/components/alert.js +2 -2
- package/components/backdrop.js +1 -1
- package/components/button.js +4 -4
- package/components/buttons.js +1 -1
- package/components/checkbox.js +1 -1
- package/components/data.js +23 -38
- package/components/hardware-back-button.js +3 -3
- package/components/input-shims.js +5 -5
- package/components/ion-app.js +4 -4
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +2 -2
- package/components/ion-badge.js +2 -2
- package/components/ion-breadcrumb.js +4 -4
- package/components/ion-breadcrumbs.js +2 -2
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +2 -2
- package/components/ion-card-subtitle.js +2 -2
- package/components/ion-card-title.js +2 -2
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +2 -2
- package/components/ion-col.js +2 -2
- package/components/ion-content.js +3 -3
- package/components/ion-datetime-button.js +12 -11
- package/components/ion-datetime.js +75 -12
- package/components/ion-fab-button.js +2 -2
- package/components/ion-fab-list.js +2 -2
- package/components/ion-fab.js +2 -2
- package/components/ion-footer.js +2 -2
- package/components/ion-grid.js +2 -2
- package/components/ion-header.js +3 -3
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +2 -2
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input.js +8 -0
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-loading.js +2 -2
- package/components/ion-menu-button.js +2 -2
- package/components/ion-menu-toggle.js +2 -2
- package/components/ion-menu.js +3 -3
- package/components/ion-modal.js +81 -25
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-picker.js +2 -2
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-range.js +126 -21
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-router-link.js +2 -2
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +35 -6
- package/components/ion-segment-button.js +3 -3
- package/components/ion-segment.js +2 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-skeleton-text.js +2 -2
- package/components/ion-split-pane.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +2 -2
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +2 -2
- package/components/ion-toast.js +2 -2
- package/components/ion-toolbar.js +2 -2
- package/components/item.js +1 -1
- package/components/label.js +1 -1
- package/components/list-header.js +2 -2
- package/components/list.js +1 -1
- package/components/note.js +2 -2
- package/components/overlays.js +61 -19
- package/components/picker-column-internal.js +8 -4
- package/components/picker-column.js +2 -2
- package/components/picker-internal.js +2 -2
- package/components/popover.js +4 -4
- package/components/radio-group.js +1 -1
- package/components/ripple-effect.js +1 -1
- package/components/select-popover.js +1 -1
- package/components/spinner.js +1 -1
- package/css/core.css +1 -561
- package/css/core.css.map +1 -1
- package/css/display.css +1 -131
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -81
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css +1 -293
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css +1 -457
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-swiper.css +1 -127
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css +1 -150
- package/css/normalize.css.map +1 -1
- package/css/padding.css +1 -202
- package/css/padding.css.map +1 -1
- package/css/structure.css +1 -152
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css +1 -243
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css +1 -158
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css +1 -157
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1100
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-c5eb104c.js} +1 -1
- package/dist/cjs/{button-active-2d6520ec.js → button-active-181d142e.js} +1 -1
- package/dist/cjs/{data-a5109f09.js → data-4487a815.js} +22 -39
- package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-adba3ac7.js} +5 -5
- package/dist/cjs/{index-9bfcb6e8.js → index-1f7c54f8.js} +3 -3
- package/dist/cjs/{index-0ffe376d.js → index-22617dd6.js} +51 -7
- package/dist/cjs/{index-4c96691f.js → index-5c38afe7.js} +2 -2
- package/dist/cjs/index.cjs.js +8 -8
- package/dist/cjs/{input-shims-a9a85bb9.js → input-shims-05ac9905.js} +5 -5
- package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
- package/dist/cjs/ion-alert.cjs.entry.js +7 -7
- package/dist/cjs/ion-app_8.cjs.entry.js +24 -24
- package/dist/cjs/ion-avatar_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-back-button.cjs.entry.js +4 -4
- package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-button_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-card_5.cjs.entry.js +10 -10
- package/dist/cjs/ion-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/ion-chip.cjs.entry.js +4 -4
- package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -13
- package/dist/cjs/ion-datetime_3.cjs.entry.js +80 -20
- package/dist/cjs/ion-fab_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-img.cjs.entry.js +3 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-input.cjs.entry.js +10 -2
- package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-item_8.cjs.entry.js +14 -14
- package/dist/cjs/ion-loading.cjs.entry.js +6 -6
- package/dist/cjs/ion-menu_3.cjs.entry.js +11 -11
- package/dist/cjs/ion-modal.cjs.entry.js +86 -30
- package/dist/cjs/ion-nav_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +10 -6
- package/dist/cjs/ion-picker-internal.cjs.entry.js +3 -3
- package/dist/cjs/ion-popover.cjs.entry.js +9 -9
- package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-range.cjs.entry.js +128 -23
- package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
- package/dist/cjs/ion-searchbar.cjs.entry.js +31 -7
- package/dist/cjs/ion-segment_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-select_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
- package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +6 -6
- package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
- package/dist/cjs/{ionic-global-59a10130.js → ionic-global-c5503e93.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-96679580.js → ios.transition-30830fc4.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-d6c98822.js → md.transition-7f581866.js} +2 -2
- package/dist/cjs/{overlays-db5d96f3.js → overlays-129dfc13.js} +62 -20
- package/dist/cjs/{status-tap-7ad5f0fb.js → status-tap-03d82840.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/action-sheet/action-sheet.js +3 -3
- package/dist/collection/components/alert/alert.js +2 -2
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +4 -0
- package/dist/collection/components/app/app.js +4 -4
- package/dist/collection/components/avatar/avatar.js +1 -1
- package/dist/collection/components/back-button/back-button.js +2 -2
- package/dist/collection/components/backdrop/backdrop.js +1 -1
- package/dist/collection/components/badge/badge.js +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js +4 -4
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
- package/dist/collection/components/button/button.ios.css +5 -5
- package/dist/collection/components/button/button.js +2 -2
- package/dist/collection/components/button/button.md.css +4 -5
- package/dist/collection/components/buttons/buttons.js +1 -1
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-header/card-header.js +2 -2
- package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
- package/dist/collection/components/card-title/card-title.js +2 -2
- package/dist/collection/components/checkbox/checkbox.js +1 -1
- package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
- package/dist/collection/components/chip/chip.js +2 -2
- package/dist/collection/components/col/col.js +2 -2
- package/dist/collection/components/content/content.js +3 -3
- package/dist/collection/components/datetime/datetime.js +56 -12
- 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/format.js +24 -37
- package/dist/collection/components/datetime/utils/validate.js +45 -0
- package/dist/collection/components/datetime-button/datetime-button.js +12 -11
- package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +65 -0
- package/dist/collection/components/fab/fab.js +2 -2
- package/dist/collection/components/fab-button/fab-button.js +2 -2
- package/dist/collection/components/fab-list/fab-list.js +2 -2
- package/dist/collection/components/footer/footer.js +2 -2
- package/dist/collection/components/grid/grid.js +2 -2
- package/dist/collection/components/header/header.ios.css +5 -2
- package/dist/collection/components/header/header.js +2 -2
- package/dist/collection/components/header/test/basic/header.e2e.js +77 -0
- package/dist/collection/components/img/img.js +1 -1
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
- package/dist/collection/components/input/input.js +8 -0
- package/dist/collection/components/item/item.js +1 -1
- package/dist/collection/components/item/test/buttons/item.e2e.js +20 -4
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.js +1 -1
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +3 -3
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/gestures/sheet.js +45 -20
- package/dist/collection/components/modal/modal.js +38 -6
- package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker/picker.js +2 -2
- package/dist/collection/components/picker-column/picker-column.js +2 -2
- package/dist/collection/components/picker-column-internal/picker-column-internal.js +8 -4
- package/dist/collection/components/picker-internal/picker-internal.js +2 -2
- package/dist/collection/components/popover/popover.ios.css +0 -1
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/popover/popover.md.css +0 -1
- package/dist/collection/components/popover/test/basic/popover.e2e.js +76 -0
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/range/range.js +126 -21
- package/dist/collection/components/range/test/range-events.e2e.js +27 -0
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +86 -6
- package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +3 -3
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +1 -1
- package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +133 -5
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/utils/hardware-back-button.js +2 -2
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -5
- package/dist/collection/utils/overlays.js +61 -19
- package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
- package/dist/docs.json +117 -4
- package/dist/esm/{app-globals-5cf6195b.js → app-globals-318eef52.js} +1 -1
- package/dist/esm/{button-active-47ac8092.js → button-active-414be235.js} +1 -1
- package/dist/esm/{data-0f3ab200.js → data-bb424ba8.js} +23 -38
- package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-6107a37c.js} +5 -5
- package/dist/esm/{index-e1b622e3.js → index-6e05b96e.js} +2 -2
- package/dist/esm/{index-4c30cddd.js → index-a1a47f01.js} +51 -7
- package/dist/esm/{index-348ed70a.js → index-fae1515c.js} +3 -3
- package/dist/esm/index.js +8 -8
- package/dist/esm/{input-shims-5329bbe8.js → input-shims-a52daa3a.js} +5 -5
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +8 -8
- package/dist/esm/ion-alert.entry.js +7 -7
- package/dist/esm/ion-app_8.entry.js +24 -24
- package/dist/esm/ion-avatar_3.entry.js +6 -6
- package/dist/esm/ion-back-button.entry.js +4 -4
- package/dist/esm/ion-backdrop.entry.js +3 -3
- package/dist/esm/ion-breadcrumb_2.entry.js +8 -8
- package/dist/esm/ion-button_2.entry.js +6 -6
- package/dist/esm/ion-card_5.entry.js +10 -10
- package/dist/esm/ion-checkbox.entry.js +3 -3
- package/dist/esm/ion-chip.entry.js +4 -4
- package/dist/esm/ion-col_3.entry.js +7 -7
- package/dist/esm/ion-datetime-button.entry.js +14 -13
- package/dist/esm/ion-datetime_3.entry.js +80 -20
- package/dist/esm/ion-fab_3.entry.js +8 -8
- package/dist/esm/ion-img.entry.js +3 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
- package/dist/esm/ion-input.entry.js +10 -2
- package/dist/esm/ion-item-option_3.entry.js +6 -6
- package/dist/esm/ion-item_8.entry.js +14 -14
- package/dist/esm/ion-loading.entry.js +6 -6
- package/dist/esm/ion-menu_3.entry.js +11 -11
- package/dist/esm/ion-modal.entry.js +86 -30
- package/dist/esm/ion-nav_2.entry.js +5 -5
- package/dist/esm/ion-picker-column-internal.entry.js +10 -6
- package/dist/esm/ion-picker-internal.entry.js +3 -3
- package/dist/esm/ion-popover.entry.js +9 -9
- package/dist/esm/ion-progress-bar.entry.js +3 -3
- package/dist/esm/ion-radio_2.entry.js +3 -3
- package/dist/esm/ion-range.entry.js +128 -23
- package/dist/esm/ion-refresher_2.entry.js +4 -4
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +4 -4
- package/dist/esm/ion-searchbar.entry.js +32 -8
- package/dist/esm/ion-segment_2.entry.js +7 -7
- package/dist/esm/ion-select_3.entry.js +6 -6
- package/dist/esm/ion-spinner.entry.js +3 -3
- package/dist/esm/ion-split-pane.entry.js +4 -4
- package/dist/esm/ion-tab-bar_2.entry.js +6 -6
- package/dist/esm/ion-tab_2.entry.js +4 -4
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +6 -6
- package/dist/esm/ion-toggle.entry.js +2 -2
- package/dist/esm/{ionic-global-ad9a1810.js → ionic-global-94f25d1b.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-7459f819.js → ios.transition-a50a9a55.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-b8224313.js → md.transition-0da92976.js} +2 -2
- package/dist/esm/{overlays-19b26885.js → overlays-b874c3c3.js} +62 -20
- package/dist/esm/{status-tap-b41ece3c.js → status-tap-dfea3607.js} +1 -1
- package/dist/esm-es5/app-globals-318eef52.js +4 -0
- package/dist/esm-es5/{button-active-47ac8092.js → button-active-414be235.js} +1 -1
- package/dist/esm-es5/data-bb424ba8.js +4 -0
- package/dist/esm-es5/framework-delegate-ed4ba327.js +2 -2
- package/dist/esm-es5/hardware-back-button-6107a37c.js +4 -0
- package/dist/esm-es5/index-6e05b96e.js +4 -0
- package/dist/esm-es5/index-a1a47f01.js +5 -0
- package/dist/esm-es5/{index-348ed70a.js → index-fae1515c.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-a52daa3a.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-internal.entry.js +1 -1
- package/dist/esm-es5/ion-picker-internal.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-ad9a1810.js → ionic-global-94f25d1b.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-7459f819.js → ios.transition-a50a9a55.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-0da92976.js +4 -0
- package/dist/esm-es5/overlays-b874c3c3.js +4 -0
- package/dist/esm-es5/{status-tap-b41ece3c.js → status-tap-dfea3607.js} +1 -1
- package/dist/html.html-data.json +13 -1
- 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-05253db9.js → p-0047bd0e.js} +1 -1
- package/dist/ionic/{p-ebc86ce9.system.entry.js → p-01a1ff55.system.entry.js} +1 -1
- package/dist/ionic/{p-2178329b.entry.js → p-01de45e4.entry.js} +1 -1
- package/dist/ionic/{p-125f8cdd.system.js → p-0609a7d8.system.js} +1 -1
- package/dist/ionic/{p-cfb4d7e0.js → p-08ab4c96.js} +1 -1
- package/dist/ionic/{p-76b8bcb8.system.entry.js → p-094cb5ba.system.entry.js} +1 -1
- package/dist/ionic/{p-6812d37d.js → p-0aac3a1c.js} +1 -1
- package/dist/ionic/{p-de55ec45.js → p-0b743628.js} +1 -1
- package/dist/ionic/p-185d82fc.entry.js +4 -0
- package/dist/ionic/p-193921ce.entry.js +4 -0
- package/dist/ionic/p-1cd372ed.js +4 -0
- package/dist/ionic/{p-a6c0a380.js → p-1e151efb.js} +1 -1
- package/dist/ionic/{p-7f30ad48.entry.js → p-211d8901.entry.js} +1 -1
- package/dist/ionic/p-212f2c37.entry.js +4 -0
- package/dist/ionic/p-2433bf5e.system.js +4 -0
- package/dist/ionic/p-2732a6ce.entry.js +4 -0
- package/dist/ionic/{p-89ca4c4b.system.js → p-280f1fe7.system.js} +1 -1
- package/dist/ionic/p-2c1408df.system.js +5 -0
- package/dist/ionic/p-2e2808f3.entry.js +4 -0
- package/dist/ionic/{p-70fbf4e2.entry.js → p-32086ea4.entry.js} +1 -1
- package/dist/ionic/{p-16a61810.entry.js → p-339dee28.entry.js} +1 -1
- package/dist/ionic/{p-88e9052d.entry.js → p-34e2b446.entry.js} +1 -1
- package/dist/ionic/{p-6e23d039.entry.js → p-374838e4.entry.js} +1 -1
- package/dist/ionic/p-3789920e.js +4 -0
- package/dist/ionic/{p-bdca4784.js → p-37aab7f7.js} +1 -1
- package/dist/ionic/p-3b7d328b.system.entry.js +4 -0
- package/dist/ionic/{p-02542247.system.entry.js → p-3b9edd02.system.entry.js} +1 -1
- package/dist/ionic/{p-d143fefa.system.entry.js → p-3d23a234.system.entry.js} +1 -1
- package/dist/ionic/{p-717e2526.system.entry.js → p-3f75319a.system.entry.js} +2 -2
- package/dist/ionic/p-47686f0a.system.entry.js +4 -0
- package/dist/ionic/{p-18918a24.system.entry.js → p-47d7ffb4.system.entry.js} +1 -1
- package/dist/ionic/{p-7e838f43.system.entry.js → p-48331301.system.entry.js} +1 -1
- package/dist/ionic/{p-a3df16b9.system.entry.js → p-491ec3d6.system.entry.js} +1 -1
- package/dist/ionic/p-495aabd4.system.entry.js +4 -0
- package/dist/ionic/{p-b0aa3806.system.entry.js → p-49616da4.system.entry.js} +1 -1
- package/dist/ionic/p-4c68b459.system.entry.js +4 -0
- package/dist/ionic/{p-5cb5f63d.system.entry.js → p-4cc54847.system.entry.js} +1 -1
- package/dist/ionic/p-4da978ac.entry.js +4 -0
- package/dist/ionic/{p-5de920f4.system.entry.js → p-4f9018d4.system.entry.js} +1 -1
- package/dist/ionic/{p-baf8eeac.system.entry.js → p-55ae3e14.system.entry.js} +1 -1
- package/dist/ionic/{p-9de75bac.system.entry.js → p-56271222.system.entry.js} +1 -1
- package/dist/ionic/{p-80aed9fb.system.entry.js → p-565a12d7.system.entry.js} +1 -1
- package/dist/ionic/{p-7e16220b.entry.js → p-56b810d5.entry.js} +1 -1
- package/dist/ionic/{p-a85d9047.system.entry.js → p-5a0345f7.system.entry.js} +1 -1
- package/dist/ionic/{p-f0e54781.system.entry.js → p-5b8d7cdb.system.entry.js} +1 -1
- package/dist/ionic/p-5d2011e1.entry.js +4 -0
- package/dist/ionic/p-5f3d659f.entry.js +4 -0
- package/dist/ionic/p-6236eae6.entry.js +4 -0
- package/dist/ionic/{p-4b8a620f.system.entry.js → p-625ef2fb.system.entry.js} +1 -1
- package/dist/ionic/{p-6525a8cd.system.js → p-638865d1.system.js} +1 -1
- package/dist/ionic/p-662cccde.entry.js +4 -0
- package/dist/ionic/p-68416ff0.entry.js +4 -0
- package/dist/ionic/{p-91f4e611.system.entry.js → p-686ddecb.system.entry.js} +2 -2
- package/dist/ionic/p-6a6550fa.js +4 -0
- package/dist/ionic/p-6a6c61b1.system.entry.js +4 -0
- package/dist/ionic/p-6afef6c1.system.js +2 -2
- package/dist/ionic/{p-abcedc15.system.entry.js → p-6b178502.system.entry.js} +1 -1
- package/dist/ionic/{p-2c86025e.system.js → p-6ecddf53.system.js} +1 -1
- package/dist/ionic/{p-822730c4.entry.js → p-70929384.entry.js} +1 -1
- package/dist/ionic/p-73d70509.system.js +4 -0
- package/dist/ionic/{p-c1a871ff.system.entry.js → p-776f7b9e.system.entry.js} +1 -1
- package/dist/ionic/p-7872e970.system.entry.js +4 -0
- package/dist/ionic/{p-657ccdd6.entry.js → p-804ffec9.entry.js} +1 -1
- package/dist/ionic/{p-b27bba38.system.entry.js → p-81c8fa81.system.entry.js} +1 -1
- package/dist/ionic/{p-8e651c29.entry.js → p-8294b727.entry.js} +1 -1
- package/dist/ionic/p-8528c070.entry.js +4 -0
- package/dist/ionic/p-87e81684.system.entry.js +4 -0
- package/dist/ionic/p-8954015c.entry.js +4 -0
- package/dist/ionic/p-8a1b0abb.system.js +4 -0
- package/dist/ionic/{p-2765a571.system.entry.js → p-8a335b91.system.entry.js} +1 -1
- package/dist/ionic/{p-479f5926.system.entry.js → p-8eba832c.system.entry.js} +1 -1
- package/dist/ionic/{p-b58686e0.entry.js → p-8ed4de58.entry.js} +1 -1
- package/dist/ionic/{p-a02ea777.entry.js → p-917bb906.entry.js} +1 -1
- package/dist/ionic/{p-ae2b3a7a.system.entry.js → p-93f86b06.system.entry.js} +1 -1
- package/dist/ionic/p-9625a2e6.entry.js +4 -0
- package/dist/ionic/{p-288649db.system.entry.js → p-9bc8bd0c.system.entry.js} +1 -1
- package/dist/ionic/{p-6f59cdbc.system.entry.js → p-9d53b773.system.entry.js} +2 -2
- package/dist/ionic/{p-dff97cfa.entry.js → p-9fbfbaef.entry.js} +1 -1
- package/dist/ionic/p-a04ecf1a.system.js +4 -0
- package/dist/ionic/{p-9998cb62.system.entry.js → p-a3b2d4a7.system.entry.js} +2 -2
- package/dist/ionic/{p-973b4db3.entry.js → p-a5cd2e1f.entry.js} +1 -1
- package/dist/ionic/p-a5d9fafe.entry.js +4 -0
- package/dist/ionic/{p-df504a37.system.js → p-a875459d.system.js} +1 -1
- package/dist/ionic/p-ad60590b.entry.js +4 -0
- package/dist/ionic/{p-c7288e78.system.entry.js → p-b1bebf4a.system.entry.js} +1 -1
- package/dist/ionic/p-b535c93a.entry.js +4 -0
- package/dist/ionic/p-b8735394.entry.js +4 -0
- package/dist/ionic/p-bb5bbcdf.js +4 -0
- package/dist/ionic/p-c379d010.system.entry.js +4 -0
- package/dist/ionic/{p-ce1c0a0e.system.entry.js → p-c5ce0862.system.entry.js} +2 -2
- package/dist/ionic/p-c76ef1ea.entry.js +4 -0
- package/dist/ionic/p-c8580577.system.js +4 -0
- package/dist/ionic/{p-2c4bfe1c.entry.js → p-cc0cf2d1.entry.js} +1 -1
- package/dist/ionic/{p-15a40a0b.system.entry.js → p-d3a95477.system.entry.js} +1 -1
- package/dist/ionic/{p-ceceac26.js → p-d68ecea4.js} +1 -1
- package/dist/ionic/p-d873a8c2.system.entry.js +4 -0
- package/dist/ionic/{p-079da3df.entry.js → p-dbd77435.entry.js} +1 -1
- package/dist/ionic/p-dc2d302c.entry.js +4 -0
- package/dist/ionic/{p-7670acd8.entry.js → p-dd2996cf.entry.js} +1 -1
- package/dist/ionic/{p-4788693d.entry.js → p-dec423a3.entry.js} +1 -1
- package/dist/ionic/{p-2ea71956.system.entry.js → p-deeae694.system.entry.js} +1 -1
- package/dist/ionic/p-e06d65b3.system.entry.js +4 -0
- package/dist/ionic/{p-cbcffe6e.system.js → p-e0948431.system.js} +1 -1
- package/dist/ionic/{p-86813176.system.entry.js → p-e15cfec4.system.entry.js} +1 -1
- package/dist/ionic/p-e1bd8d9c.system.entry.js +4 -0
- package/dist/ionic/{p-1636923f.system.js → p-e34eefb5.system.js} +1 -1
- package/dist/ionic/{p-b6279412.entry.js → p-e57a212a.entry.js} +1 -1
- package/dist/ionic/{p-437f4d02.system.entry.js → p-e6ee6ead.system.entry.js} +1 -1
- package/dist/ionic/p-e7055fb8.entry.js +4 -0
- package/dist/ionic/p-ea723fc4.entry.js +4 -0
- package/dist/ionic/p-ead0d463.js +5 -0
- package/dist/ionic/p-ed3ad350.entry.js +4 -0
- package/dist/ionic/{p-5d7e32ce.js → p-efef9f3a.js} +1 -1
- package/dist/ionic/p-f4ccaa64.entry.js +4 -0
- package/dist/ionic/{p-bcd9cad8.system.js → p-f4fb429a.system.js} +1 -1
- package/dist/ionic/p-f549716b.system.js +4 -0
- package/dist/ionic/p-f6a50d5c.entry.js +4 -0
- package/dist/ionic/p-fc053a55.entry.js +4 -0
- package/dist/ionic/{p-1f19958f.system.entry.js → p-fd059a23.system.entry.js} +1 -1
- package/dist/ionic/{p-e4e74b5f.system.entry.js → p-fdcf1482.system.entry.js} +1 -1
- package/dist/ionic/{p-3079950e.entry.js → p-fe3ae39d.entry.js} +1 -1
- package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
- package/dist/types/components/datetime/datetime.d.ts +10 -1
- package/dist/types/components/datetime/utils/format.d.ts +7 -13
- package/dist/types/components/datetime/utils/manipulation.d.ts +7 -7
- package/dist/types/components/datetime/utils/state.d.ts +2 -2
- package/dist/types/components/datetime/utils/validate.d.ts +8 -0
- package/dist/types/components/input/input.utils.d.ts +1 -1
- package/dist/types/components/range/range.d.ts +29 -0
- package/dist/types/components/searchbar/searchbar.d.ts +37 -0
- package/dist/types/components/toggle/toggle.d.ts +1 -1
- package/dist/types/components.d.ts +36 -4
- package/dist/types/utils/framework-delegate.d.ts +1 -1
- package/dist/types/utils/hardware-back-button.d.ts +1 -1
- package/dist/types/utils/keyboard/keyboard-controller.d.ts +1 -1
- package/dist/types/utils/overlays.d.ts +2 -2
- package/hydrate/index.js +667 -316
- package/package.json +9 -5
- package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
- package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
- package/dist/esm-es5/data-0f3ab200.js +0 -4
- package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
- package/dist/esm-es5/index-4c30cddd.js +0 -5
- package/dist/esm-es5/index-e1b622e3.js +0 -4
- package/dist/esm-es5/input-shims-5329bbe8.js +0 -4
- package/dist/esm-es5/md.transition-b8224313.js +0 -4
- package/dist/esm-es5/overlays-19b26885.js +0 -4
- package/dist/ionic/p-021f9d72.entry.js +0 -4
- package/dist/ionic/p-02ad4bbe.js +0 -4
- package/dist/ionic/p-0b34d3a7.system.js +0 -4
- package/dist/ionic/p-12527c4b.entry.js +0 -4
- package/dist/ionic/p-1846513c.js +0 -4
- package/dist/ionic/p-1a680496.entry.js +0 -4
- package/dist/ionic/p-1f16d040.entry.js +0 -4
- package/dist/ionic/p-257046d2.system.js +0 -4
- package/dist/ionic/p-262024fd.entry.js +0 -4
- package/dist/ionic/p-2fd3c3dd.entry.js +0 -4
- package/dist/ionic/p-337ac0f5.entry.js +0 -4
- package/dist/ionic/p-36be3332.js +0 -4
- package/dist/ionic/p-482ea916.system.entry.js +0 -4
- package/dist/ionic/p-49f481cc.system.entry.js +0 -4
- package/dist/ionic/p-521b3971.entry.js +0 -4
- package/dist/ionic/p-644d03d7.system.entry.js +0 -4
- package/dist/ionic/p-6b6ca3f5.system.entry.js +0 -4
- package/dist/ionic/p-72fa96bf.system.js +0 -5
- package/dist/ionic/p-7330c044.system.js +0 -4
- package/dist/ionic/p-741a0f0d.system.entry.js +0 -4
- package/dist/ionic/p-7a615a5a.entry.js +0 -4
- package/dist/ionic/p-84b85535.entry.js +0 -4
- package/dist/ionic/p-85f66c3c.entry.js +0 -4
- package/dist/ionic/p-860e2539.system.entry.js +0 -4
- package/dist/ionic/p-8cc34120.entry.js +0 -4
- package/dist/ionic/p-9056778e.system.entry.js +0 -4
- package/dist/ionic/p-96084f36.entry.js +0 -4
- package/dist/ionic/p-97ca0cb9.system.js +0 -4
- package/dist/ionic/p-98aa0553.entry.js +0 -4
- package/dist/ionic/p-a1222c24.entry.js +0 -4
- package/dist/ionic/p-a4aa6dd2.system.entry.js +0 -4
- package/dist/ionic/p-a8459bfb.entry.js +0 -4
- package/dist/ionic/p-ae828bd9.system.entry.js +0 -4
- package/dist/ionic/p-b4d2f43c.system.js +0 -4
- package/dist/ionic/p-b727af6a.entry.js +0 -4
- package/dist/ionic/p-ba0fbecc.entry.js +0 -4
- package/dist/ionic/p-c1c7309e.entry.js +0 -4
- package/dist/ionic/p-cb3065b8.entry.js +0 -4
- package/dist/ionic/p-cb9812f7.entry.js +0 -4
- package/dist/ionic/p-d425b1de.entry.js +0 -4
- package/dist/ionic/p-d6c6541b.system.entry.js +0 -4
- package/dist/ionic/p-e1c52dc6.entry.js +0 -4
- package/dist/ionic/p-e626800f.system.entry.js +0 -4
- package/dist/ionic/p-e94c1402.entry.js +0 -4
- package/dist/ionic/p-ed4760ef.entry.js +0 -4
- package/dist/ionic/p-ed7a529f.js +0 -5
- package/dist/ionic/p-f02c41af.system.js +0 -4
- package/dist/ionic/p-f7dce541.js +0 -4
- package/dist/ionic/p-fa8d3b01.entry.js +0 -4
|
@@ -15,7 +15,7 @@ import { config } from "../global/config";
|
|
|
15
15
|
* moment this file is evaluated which could be
|
|
16
16
|
* before the config is set.
|
|
17
17
|
*/
|
|
18
|
-
export const
|
|
18
|
+
export const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
|
|
19
19
|
/**
|
|
20
20
|
* When hardwareBackButton: false in config,
|
|
21
21
|
* we need to make sure we also block the default
|
|
@@ -85,7 +85,7 @@ export const startHardwareBackButton = () => {
|
|
|
85
85
|
* backbutton event otherwise we may get duplicate
|
|
86
86
|
* events firing.
|
|
87
87
|
*/
|
|
88
|
-
if (
|
|
88
|
+
if (shouldUseCloseWatcher()) {
|
|
89
89
|
let watcher;
|
|
90
90
|
const configureWatcher = () => {
|
|
91
91
|
watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
|
|
@@ -96,7 +96,7 @@ export const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, ke
|
|
|
96
96
|
const focusOut = () => {
|
|
97
97
|
hasKeyboardBeenPresentedForTextField = false;
|
|
98
98
|
win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
|
|
99
|
-
componentEl.removeEventListener('focusout', focusOut
|
|
99
|
+
componentEl.removeEventListener('focusout', focusOut);
|
|
100
100
|
};
|
|
101
101
|
/**
|
|
102
102
|
* When the input is about to receive
|
|
@@ -116,13 +116,13 @@ export const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, ke
|
|
|
116
116
|
}
|
|
117
117
|
jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight);
|
|
118
118
|
win === null || win === void 0 ? void 0 : win.addEventListener('ionKeyboardDidShow', keyboardShow);
|
|
119
|
-
componentEl.addEventListener('focusout', focusOut
|
|
119
|
+
componentEl.addEventListener('focusout', focusOut);
|
|
120
120
|
};
|
|
121
|
-
componentEl.addEventListener('focusin', focusIn
|
|
121
|
+
componentEl.addEventListener('focusin', focusIn);
|
|
122
122
|
return () => {
|
|
123
|
-
componentEl.removeEventListener('focusin', focusIn
|
|
123
|
+
componentEl.removeEventListener('focusin', focusIn);
|
|
124
124
|
win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
|
|
125
|
-
componentEl.removeEventListener('focusout', focusOut
|
|
125
|
+
componentEl.removeEventListener('focusout', focusOut);
|
|
126
126
|
};
|
|
127
127
|
};
|
|
128
128
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { doc } from "./browser/index";
|
|
5
|
-
import {
|
|
5
|
+
import { shouldUseCloseWatcher } from "./hardware-back-button";
|
|
6
6
|
import { config } from "../global/config";
|
|
7
7
|
import { getIonMode } from "../global/ionic-global";
|
|
8
8
|
import { CoreDelegate } from "./framework-delegate";
|
|
@@ -365,7 +365,7 @@ const connectListeners = (doc) => {
|
|
|
365
365
|
* this behavior will be handled via the ionBackButton
|
|
366
366
|
* event.
|
|
367
367
|
*/
|
|
368
|
-
if (!
|
|
368
|
+
if (!shouldUseCloseWatcher()) {
|
|
369
369
|
doc.addEventListener('keydown', (ev) => {
|
|
370
370
|
if (ev.key === 'Escape') {
|
|
371
371
|
const lastOverlay = getPresentedOverlay(doc);
|
|
@@ -455,15 +455,7 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
|
|
|
455
455
|
return;
|
|
456
456
|
}
|
|
457
457
|
setRootAriaHidden(true);
|
|
458
|
-
|
|
459
|
-
* Hide all other overlays from screen readers so only this one
|
|
460
|
-
* can be read. Note that presenting an overlay always makes
|
|
461
|
-
* it the topmost one.
|
|
462
|
-
*/
|
|
463
|
-
if (doc !== undefined) {
|
|
464
|
-
const presentedOverlays = getPresentedOverlays(doc);
|
|
465
|
-
presentedOverlays.forEach((o) => o.setAttribute('aria-hidden', 'true'));
|
|
466
|
-
}
|
|
458
|
+
hideOverlaysFromScreenReaders(overlay.el);
|
|
467
459
|
overlay.presented = true;
|
|
468
460
|
overlay.willPresent.emit();
|
|
469
461
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
@@ -556,7 +548,7 @@ const restoreElementFocus = async (overlayEl) => {
|
|
|
556
548
|
}
|
|
557
549
|
};
|
|
558
550
|
export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
|
|
559
|
-
var _a, _b
|
|
551
|
+
var _a, _b;
|
|
560
552
|
if (!overlay.presented) {
|
|
561
553
|
return false;
|
|
562
554
|
}
|
|
@@ -607,13 +599,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
|
|
|
607
599
|
console.error(err);
|
|
608
600
|
}
|
|
609
601
|
overlay.el.remove();
|
|
610
|
-
|
|
611
|
-
* If there are other overlays presented, unhide the new
|
|
612
|
-
* topmost one from screen readers.
|
|
613
|
-
*/
|
|
614
|
-
if (doc !== undefined) {
|
|
615
|
-
(_c = getPresentedOverlay(doc)) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-hidden');
|
|
616
|
-
}
|
|
602
|
+
revealOverlaysToScreenReaders();
|
|
617
603
|
return true;
|
|
618
604
|
};
|
|
619
605
|
const getAppRoot = (doc) => {
|
|
@@ -809,3 +795,59 @@ export const createTriggerController = () => {
|
|
|
809
795
|
removeClickListener,
|
|
810
796
|
};
|
|
811
797
|
};
|
|
798
|
+
/**
|
|
799
|
+
* Ensure that underlying overlays have aria-hidden if necessary so that screen readers
|
|
800
|
+
* cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
|
|
801
|
+
* events here because those events do not fire when the screen readers moves to a non-focusable
|
|
802
|
+
* element such as text.
|
|
803
|
+
* Without this logic screen readers would be able to move focus outside of the top focus-trapped overlay.
|
|
804
|
+
*
|
|
805
|
+
* @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
|
|
806
|
+
* fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
|
|
807
|
+
*/
|
|
808
|
+
const hideOverlaysFromScreenReaders = (newTopMostOverlay) => {
|
|
809
|
+
var _a;
|
|
810
|
+
if (doc === undefined)
|
|
811
|
+
return;
|
|
812
|
+
const overlays = getPresentedOverlays(doc);
|
|
813
|
+
for (let i = overlays.length - 1; i >= 0; i--) {
|
|
814
|
+
const presentedOverlay = overlays[i];
|
|
815
|
+
const nextPresentedOverlay = (_a = overlays[i + 1]) !== null && _a !== void 0 ? _a : newTopMostOverlay;
|
|
816
|
+
/**
|
|
817
|
+
* If next overlay has aria-hidden then all remaining overlays will have it too.
|
|
818
|
+
* Or, if the next overlay is a Toast that does not have aria-hidden then current overlay
|
|
819
|
+
* should not have aria-hidden either so focus can remain in the current overlay.
|
|
820
|
+
*/
|
|
821
|
+
if (nextPresentedOverlay.hasAttribute('aria-hidden') || nextPresentedOverlay.tagName !== 'ION-TOAST') {
|
|
822
|
+
presentedOverlay.setAttribute('aria-hidden', 'true');
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
};
|
|
826
|
+
/**
|
|
827
|
+
* When dismissing an overlay we need to reveal the new top-most overlay to screen readers.
|
|
828
|
+
* If the top-most overlay is a Toast we potentially need to reveal more overlays since
|
|
829
|
+
* focus is never automatically moved to the Toast.
|
|
830
|
+
*/
|
|
831
|
+
const revealOverlaysToScreenReaders = () => {
|
|
832
|
+
if (doc === undefined)
|
|
833
|
+
return;
|
|
834
|
+
const overlays = getPresentedOverlays(doc);
|
|
835
|
+
for (let i = overlays.length - 1; i >= 0; i--) {
|
|
836
|
+
const currentOverlay = overlays[i];
|
|
837
|
+
/**
|
|
838
|
+
* If the current we are looking at is a Toast then we can remove aria-hidden.
|
|
839
|
+
* However, we potentially need to keep looking at the overlay stack because there
|
|
840
|
+
* could be more Toasts underneath. Additionally, we need to unhide the closest non-Toast
|
|
841
|
+
* overlay too so focus can move there since focus is never automatically moved to the Toast.
|
|
842
|
+
*/
|
|
843
|
+
currentOverlay.removeAttribute('aria-hidden');
|
|
844
|
+
/**
|
|
845
|
+
* If we found a non-Toast element then we can just remove aria-hidden and stop searching entirely
|
|
846
|
+
* since this overlay should always receive focus. As a result, all underlying overlays should still
|
|
847
|
+
* be hidden from screen readers.
|
|
848
|
+
*/
|
|
849
|
+
if (currentOverlay.tagName !== 'ION-TOAST') {
|
|
850
|
+
break;
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
};
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { newSpecPage } from "@stencil/core/testing";
|
|
5
5
|
import { Modal } from "../../../components/modal/modal";
|
|
6
|
+
import { Toast } from "../../../components/toast/toast";
|
|
6
7
|
import { Nav } from "../../../components/nav/nav";
|
|
7
8
|
import { RouterOutlet } from "../../../components/router-outlet/router-outlet";
|
|
8
9
|
import { setRootAriaHidden } from "../../overlays";
|
|
@@ -150,4 +151,56 @@ describe('aria-hidden on individual overlays', () => {
|
|
|
150
151
|
await modalOne.present();
|
|
151
152
|
expect(modalOne.hasAttribute('aria-hidden')).toEqual(false);
|
|
152
153
|
});
|
|
154
|
+
it('should not hide previous overlay if top-most overlay is toast', async () => {
|
|
155
|
+
const page = await newSpecPage({
|
|
156
|
+
components: [Modal, Toast],
|
|
157
|
+
html: `
|
|
158
|
+
<ion-modal id="m-one"></ion-modal>
|
|
159
|
+
<ion-modal id="m-two"></ion-modal>
|
|
160
|
+
<ion-toast id="t-one"></ion-toast>
|
|
161
|
+
<ion-toast id="t-two"></ion-toast>
|
|
162
|
+
`,
|
|
163
|
+
});
|
|
164
|
+
const modalOne = page.body.querySelector('ion-modal#m-one');
|
|
165
|
+
const modalTwo = page.body.querySelector('ion-modal#m-two');
|
|
166
|
+
const toastOne = page.body.querySelector('ion-toast#t-one');
|
|
167
|
+
const toastTwo = page.body.querySelector('ion-toast#t-two');
|
|
168
|
+
await modalOne.present();
|
|
169
|
+
await modalTwo.present();
|
|
170
|
+
await toastOne.present();
|
|
171
|
+
await toastTwo.present();
|
|
172
|
+
expect(modalOne.hasAttribute('aria-hidden')).toEqual(true);
|
|
173
|
+
expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false);
|
|
174
|
+
expect(toastOne.hasAttribute('aria-hidden')).toEqual(false);
|
|
175
|
+
expect(toastTwo.hasAttribute('aria-hidden')).toEqual(false);
|
|
176
|
+
await toastTwo.dismiss();
|
|
177
|
+
expect(modalOne.hasAttribute('aria-hidden')).toEqual(true);
|
|
178
|
+
expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false);
|
|
179
|
+
expect(toastOne.hasAttribute('aria-hidden')).toEqual(false);
|
|
180
|
+
await toastOne.dismiss();
|
|
181
|
+
expect(modalOne.hasAttribute('aria-hidden')).toEqual(true);
|
|
182
|
+
expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false);
|
|
183
|
+
});
|
|
184
|
+
it('should hide previous overlay even with a toast that is not the top-most overlay', async () => {
|
|
185
|
+
const page = await newSpecPage({
|
|
186
|
+
components: [Modal, Toast],
|
|
187
|
+
html: `
|
|
188
|
+
<ion-modal id="m-one"></ion-modal>
|
|
189
|
+
<ion-toast id="t-one"></ion-toast>
|
|
190
|
+
<ion-modal id="m-two"></ion-modal>
|
|
191
|
+
`,
|
|
192
|
+
});
|
|
193
|
+
const modalOne = page.body.querySelector('ion-modal#m-one');
|
|
194
|
+
const modalTwo = page.body.querySelector('ion-modal#m-two');
|
|
195
|
+
const toastOne = page.body.querySelector('ion-toast#t-one');
|
|
196
|
+
await modalOne.present();
|
|
197
|
+
await toastOne.present();
|
|
198
|
+
await modalTwo.present();
|
|
199
|
+
expect(modalOne.hasAttribute('aria-hidden')).toEqual(true);
|
|
200
|
+
expect(toastOne.hasAttribute('aria-hidden')).toEqual(true);
|
|
201
|
+
expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false);
|
|
202
|
+
await modalTwo.dismiss();
|
|
203
|
+
expect(modalOne.hasAttribute('aria-hidden')).toEqual(false);
|
|
204
|
+
expect(toastOne.hasAttribute('aria-hidden')).toEqual(false);
|
|
205
|
+
});
|
|
153
206
|
});
|
package/dist/docs.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2024-
|
|
2
|
+
"timestamp": "2024-04-25T02:33:09",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
|
-
"version": "4.
|
|
6
|
-
"typescriptVersion": "5.
|
|
5
|
+
"version": "4.15.0",
|
|
6
|
+
"typescriptVersion": "5.4.4"
|
|
7
7
|
},
|
|
8
8
|
"components": [
|
|
9
9
|
{
|
|
@@ -7086,6 +7086,44 @@
|
|
|
7086
7086
|
"optional": false,
|
|
7087
7087
|
"required": false
|
|
7088
7088
|
},
|
|
7089
|
+
{
|
|
7090
|
+
"name": "formatOptions",
|
|
7091
|
+
"type": "undefined | { date: DateTimeFormatOptions; time?: DateTimeFormatOptions | undefined; } | { date?: DateTimeFormatOptions | undefined; time: DateTimeFormatOptions; }",
|
|
7092
|
+
"complexType": {
|
|
7093
|
+
"original": "FormatOptions",
|
|
7094
|
+
"resolved": "undefined | { date: DateTimeFormatOptions; time?: DateTimeFormatOptions | undefined; } | { date?: DateTimeFormatOptions | undefined; time: DateTimeFormatOptions; }",
|
|
7095
|
+
"references": {
|
|
7096
|
+
"FormatOptions": {
|
|
7097
|
+
"location": "import",
|
|
7098
|
+
"path": "./datetime-interface",
|
|
7099
|
+
"id": "src/components/datetime/datetime-interface.ts::FormatOptions"
|
|
7100
|
+
}
|
|
7101
|
+
}
|
|
7102
|
+
},
|
|
7103
|
+
"mutable": false,
|
|
7104
|
+
"reflectToAttr": false,
|
|
7105
|
+
"docs": "Formatting options for dates and times.\nShould include a 'date' and/or 'time' object, each of which is of type [Intl.DateTimeFormatOptions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options).",
|
|
7106
|
+
"docsTags": [],
|
|
7107
|
+
"values": [
|
|
7108
|
+
{
|
|
7109
|
+
"type": "undefined"
|
|
7110
|
+
},
|
|
7111
|
+
{
|
|
7112
|
+
"type": "{ date: DateTimeFormatOptions; time?: DateTimeFormatOptions"
|
|
7113
|
+
},
|
|
7114
|
+
{
|
|
7115
|
+
"type": "undefined; }"
|
|
7116
|
+
},
|
|
7117
|
+
{
|
|
7118
|
+
"type": "{ date?: DateTimeFormatOptions"
|
|
7119
|
+
},
|
|
7120
|
+
{
|
|
7121
|
+
"type": "undefined; time: DateTimeFormatOptions; }"
|
|
7122
|
+
}
|
|
7123
|
+
],
|
|
7124
|
+
"optional": true,
|
|
7125
|
+
"required": false
|
|
7126
|
+
},
|
|
7089
7127
|
{
|
|
7090
7128
|
"name": "highlightedDates",
|
|
7091
7129
|
"type": "((dateIsoString: string) => DatetimeHighlightStyle | undefined) | DatetimeHighlight[] | undefined",
|
|
@@ -22393,6 +22431,28 @@
|
|
|
22393
22431
|
"optional": false,
|
|
22394
22432
|
"required": false
|
|
22395
22433
|
},
|
|
22434
|
+
{
|
|
22435
|
+
"name": "autocapitalize",
|
|
22436
|
+
"type": "string",
|
|
22437
|
+
"complexType": {
|
|
22438
|
+
"original": "string",
|
|
22439
|
+
"resolved": "string",
|
|
22440
|
+
"references": {}
|
|
22441
|
+
},
|
|
22442
|
+
"mutable": false,
|
|
22443
|
+
"attr": "autocapitalize",
|
|
22444
|
+
"reflectToAttr": false,
|
|
22445
|
+
"docs": "Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\nAvailable options: `\"off\"`, `\"none\"`, `\"on\"`, `\"sentences\"`, `\"words\"`, `\"characters\"`.",
|
|
22446
|
+
"docsTags": [],
|
|
22447
|
+
"default": "'default'",
|
|
22448
|
+
"values": [
|
|
22449
|
+
{
|
|
22450
|
+
"type": "string"
|
|
22451
|
+
}
|
|
22452
|
+
],
|
|
22453
|
+
"optional": false,
|
|
22454
|
+
"required": false
|
|
22455
|
+
},
|
|
22396
22456
|
{
|
|
22397
22457
|
"name": "autocomplete",
|
|
22398
22458
|
"type": "\"name\" | \"email\" | \"tel\" | \"url\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"photo\"",
|
|
@@ -22943,6 +23003,54 @@
|
|
|
22943
23003
|
"optional": true,
|
|
22944
23004
|
"required": false
|
|
22945
23005
|
},
|
|
23006
|
+
{
|
|
23007
|
+
"name": "maxlength",
|
|
23008
|
+
"type": "number | undefined",
|
|
23009
|
+
"complexType": {
|
|
23010
|
+
"original": "number",
|
|
23011
|
+
"resolved": "number | undefined",
|
|
23012
|
+
"references": {}
|
|
23013
|
+
},
|
|
23014
|
+
"mutable": false,
|
|
23015
|
+
"attr": "maxlength",
|
|
23016
|
+
"reflectToAttr": false,
|
|
23017
|
+
"docs": "This attribute specifies the maximum number of characters that the user can enter.",
|
|
23018
|
+
"docsTags": [],
|
|
23019
|
+
"values": [
|
|
23020
|
+
{
|
|
23021
|
+
"type": "number"
|
|
23022
|
+
},
|
|
23023
|
+
{
|
|
23024
|
+
"type": "undefined"
|
|
23025
|
+
}
|
|
23026
|
+
],
|
|
23027
|
+
"optional": true,
|
|
23028
|
+
"required": false
|
|
23029
|
+
},
|
|
23030
|
+
{
|
|
23031
|
+
"name": "minlength",
|
|
23032
|
+
"type": "number | undefined",
|
|
23033
|
+
"complexType": {
|
|
23034
|
+
"original": "number",
|
|
23035
|
+
"resolved": "number | undefined",
|
|
23036
|
+
"references": {}
|
|
23037
|
+
},
|
|
23038
|
+
"mutable": false,
|
|
23039
|
+
"attr": "minlength",
|
|
23040
|
+
"reflectToAttr": false,
|
|
23041
|
+
"docs": "This attribute specifies the minimum number of characters that the user can enter.",
|
|
23042
|
+
"docsTags": [],
|
|
23043
|
+
"values": [
|
|
23044
|
+
{
|
|
23045
|
+
"type": "number"
|
|
23046
|
+
},
|
|
23047
|
+
{
|
|
23048
|
+
"type": "undefined"
|
|
23049
|
+
}
|
|
23050
|
+
],
|
|
23051
|
+
"optional": true,
|
|
23052
|
+
"required": false
|
|
23053
|
+
},
|
|
22946
23054
|
{
|
|
22947
23055
|
"name": "mode",
|
|
22948
23056
|
"type": "\"ios\" | \"md\"",
|
|
@@ -28616,7 +28724,7 @@
|
|
|
28616
28724
|
"mutable": false,
|
|
28617
28725
|
"attr": "alignment",
|
|
28618
28726
|
"reflectToAttr": false,
|
|
28619
|
-
"docs": "How to control the alignment of the toggle and label on the cross axis.\n
|
|
28727
|
+
"docs": "How to control the alignment of the toggle and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.",
|
|
28620
28728
|
"docsTags": [],
|
|
28621
28729
|
"default": "'center'",
|
|
28622
28730
|
"values": [
|
|
@@ -29369,6 +29477,11 @@
|
|
|
29369
29477
|
"docstring": "",
|
|
29370
29478
|
"path": "src/components/content/content-interface.ts"
|
|
29371
29479
|
},
|
|
29480
|
+
"src/components/datetime/datetime-interface.ts::FormatOptions": {
|
|
29481
|
+
"declaration": "export type FormatOptions =\n | {\n date: Intl.DateTimeFormatOptions;\n time?: Intl.DateTimeFormatOptions;\n }\n | {\n date?: Intl.DateTimeFormatOptions;\n time: Intl.DateTimeFormatOptions;\n };",
|
|
29482
|
+
"docstring": "",
|
|
29483
|
+
"path": "src/components/datetime/datetime-interface.ts"
|
|
29484
|
+
},
|
|
29372
29485
|
"src/components/datetime/datetime-interface.ts::DatetimePresentation": {
|
|
29373
29486
|
"declaration": "export type DatetimePresentation = 'date-time' | 'time-date' | 'date' | 'time' | 'month' | 'year' | 'month-year';",
|
|
29374
29487
|
"docstring": "",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { w as writeTask } from './index-
|
|
4
|
+
import { w as writeTask } from './index-a1a47f01.js';
|
|
5
5
|
import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-554688a5.js';
|
|
6
6
|
import { createGesture } from './index-2cf77112.js';
|
|
7
7
|
|
|
@@ -832,7 +832,25 @@ const getFormattedDayPeriod = (dayPeriod) => {
|
|
|
832
832
|
}
|
|
833
833
|
return dayPeriod.toUpperCase();
|
|
834
834
|
};
|
|
835
|
-
|
|
835
|
+
/**
|
|
836
|
+
* Including time zone options may lead to the rendered text showing a
|
|
837
|
+
* different time from what was selected in the Datetime, which could cause
|
|
838
|
+
* confusion.
|
|
839
|
+
*/
|
|
840
|
+
const stripTimeZone = (formatOptions) => {
|
|
841
|
+
return Object.assign(Object.assign({}, formatOptions), {
|
|
842
|
+
/**
|
|
843
|
+
* Setting the time zone to UTC ensures that the value shown is always the
|
|
844
|
+
* same as what was selected and safeguards against older Safari bugs with
|
|
845
|
+
* Intl.DateTimeFormat.
|
|
846
|
+
*/
|
|
847
|
+
timeZone: 'UTC',
|
|
848
|
+
/**
|
|
849
|
+
* We do not want to display the time zone name
|
|
850
|
+
*/
|
|
851
|
+
timeZoneName: undefined });
|
|
852
|
+
};
|
|
853
|
+
const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: 'numeric', minute: 'numeric' }) => {
|
|
836
854
|
const timeParts = {
|
|
837
855
|
hour: refParts.hour,
|
|
838
856
|
minute: refParts.minute,
|
|
@@ -840,28 +858,12 @@ const getLocalizedTime = (locale, refParts, hourCycle) => {
|
|
|
840
858
|
if (timeParts.hour === undefined || timeParts.minute === undefined) {
|
|
841
859
|
return 'Invalid Time';
|
|
842
860
|
}
|
|
843
|
-
return new Intl.DateTimeFormat(locale, {
|
|
844
|
-
hour: 'numeric',
|
|
845
|
-
minute: 'numeric',
|
|
846
|
-
/**
|
|
847
|
-
* Setting the timeZone to UTC prevents
|
|
848
|
-
* new Intl.DatetimeFormat from subtracting
|
|
849
|
-
* the user's current timezone offset
|
|
850
|
-
* when formatting the time.
|
|
851
|
-
*/
|
|
852
|
-
timeZone: 'UTC',
|
|
861
|
+
return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, stripTimeZone(formatOptions)), {
|
|
853
862
|
/**
|
|
854
863
|
* We use hourCycle here instead of hour12 due to:
|
|
855
864
|
* https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
|
|
856
865
|
*/
|
|
857
|
-
hourCycle
|
|
858
|
-
/**
|
|
859
|
-
* Setting Z at the end indicates that this
|
|
860
|
-
* date string is in the UTC time zone. This
|
|
861
|
-
* prevents new Date from adding the time zone
|
|
862
|
-
* offset when getting the ISO string.
|
|
863
|
-
*/
|
|
864
|
-
}).format(new Date(convertDataToISO(Object.assign({
|
|
866
|
+
hourCycle })).format(new Date(convertDataToISO(Object.assign({
|
|
865
867
|
/**
|
|
866
868
|
* JS uses a simplified ISO 8601 format which allows for
|
|
867
869
|
* date-only formats and date-time formats, but not
|
|
@@ -947,14 +949,6 @@ const generateDayAriaLabel = (locale, today, refParts) => {
|
|
|
947
949
|
*/
|
|
948
950
|
return today ? `Today, ${labelString}` : labelString;
|
|
949
951
|
};
|
|
950
|
-
/**
|
|
951
|
-
* Gets the day of the week, month, and day
|
|
952
|
-
* Used for the header in MD mode.
|
|
953
|
-
*/
|
|
954
|
-
const getMonthAndDay = (locale, refParts) => {
|
|
955
|
-
const date = getNormalizedDate(refParts);
|
|
956
|
-
return new Intl.DateTimeFormat(locale, { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }).format(date);
|
|
957
|
-
};
|
|
958
952
|
/**
|
|
959
953
|
* Given a locale and a date object,
|
|
960
954
|
* return a formatted string that includes
|
|
@@ -965,15 +959,6 @@ const getMonthAndYear = (locale, refParts) => {
|
|
|
965
959
|
const date = getNormalizedDate(refParts);
|
|
966
960
|
return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(date);
|
|
967
961
|
};
|
|
968
|
-
/**
|
|
969
|
-
* Given a locale and a date object,
|
|
970
|
-
* return a formatted string that includes
|
|
971
|
-
* the short month, numeric day, and full year.
|
|
972
|
-
* Example: Apr 22, 2021
|
|
973
|
-
*/
|
|
974
|
-
const getMonthDayAndYear = (locale, refParts) => {
|
|
975
|
-
return getLocalizedDateTime(locale, refParts, { month: 'short', day: 'numeric', year: 'numeric' });
|
|
976
|
-
};
|
|
977
962
|
/**
|
|
978
963
|
* Given a locale and a date object,
|
|
979
964
|
* return a formatted string that includes
|
|
@@ -1023,7 +1008,7 @@ const getNormalizedDate = (refParts) => {
|
|
|
1023
1008
|
*/
|
|
1024
1009
|
const getLocalizedDateTime = (locale, refParts, options) => {
|
|
1025
1010
|
const date = getNormalizedDate(refParts);
|
|
1026
|
-
return getDateTimeFormat(locale, options).format(date);
|
|
1011
|
+
return getDateTimeFormat(locale, stripTimeZone(options)).format(date);
|
|
1027
1012
|
};
|
|
1028
1013
|
/**
|
|
1029
1014
|
* Given a locale, DatetimeParts, and options
|
|
@@ -1622,4 +1607,4 @@ const getTimeColumnsData = (locale, refParts, hourCycle, minParts, maxParts, all
|
|
|
1622
1607
|
};
|
|
1623
1608
|
};
|
|
1624
1609
|
|
|
1625
|
-
export { getNumDaysInMonth as A, getCombinedDateColumnData as B, getMonthColumnData as C, getDayColumnData as D, getYearColumnData as E, isMonthFirstLocale as F, getTimeColumnsData as G, isLocaleDayPeriodRTL as H, getDaysOfWeek as I, getMonthAndYear as J, getDaysOfMonth as K, getHourCycle as L, getLocalizedTime as M,
|
|
1610
|
+
export { getNumDaysInMonth as A, getCombinedDateColumnData as B, getMonthColumnData as C, getDayColumnData as D, getYearColumnData as E, isMonthFirstLocale as F, getTimeColumnsData as G, isLocaleDayPeriodRTL as H, getDaysOfWeek as I, getMonthAndYear as J, getDaysOfMonth as K, getHourCycle as L, getLocalizedTime as M, getLocalizedDateTime as N, formatValue as O, clampDate as P, parseAmPm as Q, calculateHourFromAMPM as R, getDay as a, isAfter as b, isSameDay as c, getPreviousMonth as d, getNextMonth as e, getPartsFromCalendarDay as f, generateDayAriaLabel as g, getNextYear as h, isBefore as i, getPreviousYear as j, getEndOfWeek as k, getStartOfWeek as l, getPreviousDay as m, getNextDay as n, getPreviousWeek as o, getNextWeek as p, parseMinParts as q, parseMaxParts as r, parseDate as s, convertToArrayOfNumbers as t, convertDataToISO as u, validateParts as v, warnIfValueOutOfBounds as w, getToday as x, getClosestValidDate as y, generateMonths as z };
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { w as win } from './index-a5d50daf.js';
|
|
5
|
-
import { c as config } from './ionic-global-
|
|
6
|
-
import './index-
|
|
5
|
+
import { c as config } from './ionic-global-94f25d1b.js';
|
|
6
|
+
import './index-a1a47f01.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* CloseWatcher is a newer API that lets
|
|
@@ -17,7 +17,7 @@ import './index-4c30cddd.js';
|
|
|
17
17
|
* moment this file is evaluated which could be
|
|
18
18
|
* before the config is set.
|
|
19
19
|
*/
|
|
20
|
-
const
|
|
20
|
+
const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
|
|
21
21
|
/**
|
|
22
22
|
* When hardwareBackButton: false in config,
|
|
23
23
|
* we need to make sure we also block the default
|
|
@@ -87,7 +87,7 @@ const startHardwareBackButton = () => {
|
|
|
87
87
|
* backbutton event otherwise we may get duplicate
|
|
88
88
|
* events firing.
|
|
89
89
|
*/
|
|
90
|
-
if (
|
|
90
|
+
if (shouldUseCloseWatcher()) {
|
|
91
91
|
let watcher;
|
|
92
92
|
const configureWatcher = () => {
|
|
93
93
|
watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
|
|
@@ -113,4 +113,4 @@ const startHardwareBackButton = () => {
|
|
|
113
113
|
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
114
114
|
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
115
115
|
|
|
116
|
-
export { MENU_BACK_BUTTON_PRIORITY, OVERLAY_BACK_BUTTON_PRIORITY, blockHardwareBackButton,
|
|
116
|
+
export { MENU_BACK_BUTTON_PRIORITY, OVERLAY_BACK_BUTTON_PRIORITY, blockHardwareBackButton, shouldUseCloseWatcher, startHardwareBackButton };
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { d as doc } from './index-a5d50daf.js';
|
|
5
|
-
import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-
|
|
5
|
+
import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-6107a37c.js';
|
|
6
6
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
7
7
|
import { c as componentOnReady } from './helpers-be245865.js';
|
|
8
|
-
import { b as getIonMode } from './ionic-global-
|
|
8
|
+
import { b as getIonMode } from './ionic-global-94f25d1b.js';
|
|
9
9
|
import { c as createAnimation } from './animation-6a0c5338.js';
|
|
10
10
|
|
|
11
11
|
/**
|