voyager-ionic-core 7.7.2 → 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/helpers.js +2 -2
- 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-select.js +3 -3
- 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 +3 -3
- package/components/list-header.js +2 -2
- package/components/list.js +1 -1
- package/components/note.js +2 -2
- package/components/overlays.js +127 -39
- 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/{animation-fdab9de5.js → animation-c2840aea.js} +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/{form-controller-7b90d7b7.js → form-controller-c83330c0.js} +1 -1
- package/dist/cjs/{framework-delegate-a3e6d060.js → framework-delegate-e0e13baa.js} +1 -1
- package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-adba3ac7.js} +5 -5
- package/dist/cjs/{helpers-2e1028fa.js → helpers-da4c0ed1.js} +2 -2
- package/dist/cjs/{index-c3580a90.js → index-1f7c54f8.js} +4 -4
- package/dist/cjs/{index-0ffe376d.js → index-22617dd6.js} +51 -7
- package/dist/cjs/{index-a43f7a0f.js → index-5c38afe7.js} +4 -4
- package/dist/cjs/{index-10da82ce.js → index-62290fec.js} +1 -1
- package/dist/cjs/{index-53d162b2.js → index-bef98850.js} +1 -1
- package/dist/cjs/index.cjs.js +11 -11
- package/dist/cjs/{input-shims-6f804705.js → input-shims-05ac9905.js} +7 -7
- package/dist/cjs/{input.utils-d693d18a.js → input.utils-d7dca90f.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -11
- package/dist/cjs/ion-alert.cjs.entry.js +10 -10
- package/dist/cjs/ion-app_8.cjs.entry.js +29 -29
- package/dist/cjs/ion-avatar_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-back-button.cjs.entry.js +5 -5
- package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +9 -9
- package/dist/cjs/ion-button_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-card_5.cjs.entry.js +11 -11
- package/dist/cjs/ion-checkbox.cjs.entry.js +5 -5
- 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 +15 -14
- package/dist/cjs/ion-datetime_3.cjs.entry.js +83 -23
- package/dist/cjs/ion-fab_3.cjs.entry.js +9 -9
- package/dist/cjs/ion-img.cjs.entry.js +4 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-input.cjs.entry.js +14 -6
- package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-item_8.cjs.entry.js +17 -17
- package/dist/cjs/ion-loading.cjs.entry.js +9 -9
- package/dist/cjs/ion-menu_3.cjs.entry.js +14 -14
- package/dist/cjs/ion-modal.cjs.entry.js +90 -34
- package/dist/cjs/ion-nav_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +11 -7
- package/dist/cjs/ion-picker-internal.cjs.entry.js +4 -4
- package/dist/cjs/ion-popover.cjs.entry.js +12 -12
- package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
- package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-range.cjs.entry.js +131 -26
- package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
- package/dist/cjs/ion-searchbar.cjs.entry.js +32 -8
- package/dist/cjs/ion-segment_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-select_3.cjs.entry.js +12 -12
- 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 +7 -7
- package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +6 -6
- package/dist/cjs/ion-toast.cjs.entry.js +9 -9
- package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
- 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-c3b11cc3.js → ios.transition-30830fc4.js} +4 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-82a8c649.js → md.transition-7f581866.js} +4 -4
- package/dist/cjs/{notch-controller-db0127c4.js → notch-controller-bfbcbb7a.js} +1 -1
- package/dist/cjs/{overlays-fb7ca451.js → overlays-129dfc13.js} +129 -41
- package/dist/cjs/{status-tap-692f6d32.js → status-tap-03d82840.js} +3 -3
- package/dist/cjs/{swipe-back-7a848bb8.js → swipe-back-dcd0d4a9.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.ios.css +0 -4
- package/dist/collection/components/label/label.js +1 -1
- package/dist/collection/components/label/label.md.css +0 -4
- package/dist/collection/components/label/test/item/item.e2e.js +24 -0
- 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/select.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/helpers.js +1 -1
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -5
- package/dist/collection/utils/overlays.js +127 -39
- package/dist/collection/utils/test/overlays/overlays.e2e.js +89 -0
- package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
- package/dist/docs.json +117 -4
- package/dist/esm/{animation-60dbdd13.js → animation-6a0c5338.js} +1 -1
- 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/{form-controller-014aa89f.js → form-controller-21dd62b1.js} +1 -1
- package/dist/esm/{framework-delegate-fed7fe7c.js → framework-delegate-ed4ba327.js} +1 -1
- package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-6107a37c.js} +5 -5
- package/dist/esm/{helpers-c0b9ca37.js → helpers-be245865.js} +2 -2
- package/dist/esm/{index-d64f34ea.js → index-020f5464.js} +1 -1
- package/dist/esm/{index-47b2066d.js → index-6e05b96e.js} +4 -4
- package/dist/esm/{index-4c30cddd.js → index-a1a47f01.js} +51 -7
- package/dist/esm/{index-eb12ef92.js → index-f3946ac1.js} +1 -1
- package/dist/esm/{index-0b4beb69.js → index-fae1515c.js} +4 -4
- package/dist/esm/index.js +11 -11
- package/dist/esm/{input-shims-b90ca55f.js → input-shims-a52daa3a.js} +7 -7
- package/dist/esm/{input.utils-6e9b0046.js → input.utils-a445f677.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +11 -11
- package/dist/esm/ion-alert.entry.js +10 -10
- package/dist/esm/ion-app_8.entry.js +29 -29
- package/dist/esm/ion-avatar_3.entry.js +6 -6
- package/dist/esm/ion-back-button.entry.js +5 -5
- package/dist/esm/ion-backdrop.entry.js +3 -3
- package/dist/esm/ion-breadcrumb_2.entry.js +9 -9
- package/dist/esm/ion-button_2.entry.js +7 -7
- package/dist/esm/ion-card_5.entry.js +11 -11
- package/dist/esm/ion-checkbox.entry.js +5 -5
- 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 +15 -14
- package/dist/esm/ion-datetime_3.entry.js +83 -23
- package/dist/esm/ion-fab_3.entry.js +9 -9
- package/dist/esm/ion-img.entry.js +4 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +7 -7
- package/dist/esm/ion-input.entry.js +14 -6
- package/dist/esm/ion-item-option_3.entry.js +8 -8
- package/dist/esm/ion-item_8.entry.js +17 -17
- package/dist/esm/ion-loading.entry.js +9 -9
- package/dist/esm/ion-menu_3.entry.js +14 -14
- package/dist/esm/ion-modal.entry.js +90 -34
- package/dist/esm/ion-nav_2.entry.js +8 -8
- package/dist/esm/ion-picker-column-internal.entry.js +11 -7
- package/dist/esm/ion-picker-internal.entry.js +4 -4
- package/dist/esm/ion-popover.entry.js +12 -12
- package/dist/esm/ion-progress-bar.entry.js +4 -4
- package/dist/esm/ion-radio_2.entry.js +5 -5
- package/dist/esm/ion-range.entry.js +131 -26
- package/dist/esm/ion-refresher_2.entry.js +7 -7
- package/dist/esm/ion-reorder_2.entry.js +6 -6
- package/dist/esm/ion-ripple-effect.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +5 -5
- package/dist/esm/ion-searchbar.entry.js +32 -8
- package/dist/esm/ion-segment_2.entry.js +8 -8
- package/dist/esm/ion-select_3.entry.js +12 -12
- 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 +7 -7
- package/dist/esm/ion-tab_2.entry.js +6 -6
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +6 -6
- package/dist/esm/ion-toast.entry.js +9 -9
- package/dist/esm/ion-toggle.entry.js +4 -4
- 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-b76c7020.js → ios.transition-a50a9a55.js} +4 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-564937a7.js → md.transition-0da92976.js} +4 -4
- package/dist/esm/{notch-controller-15d281a4.js → notch-controller-6bd3e0f9.js} +1 -1
- package/dist/esm/{overlays-04a9a43f.js → overlays-b874c3c3.js} +129 -41
- package/dist/esm/{status-tap-5a95077d.js → status-tap-dfea3607.js} +3 -3
- package/dist/esm/{swipe-back-fa0ec5cd.js → swipe-back-c6d0e5d9.js} +1 -1
- package/dist/esm-es5/{animation-60dbdd13.js → animation-6a0c5338.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/{form-controller-014aa89f.js → form-controller-21dd62b1.js} +1 -1
- package/dist/esm-es5/framework-delegate-ed4ba327.js +4 -0
- package/dist/esm-es5/hardware-back-button-6107a37c.js +4 -0
- package/dist/esm-es5/helpers-be245865.js +4 -0
- package/dist/esm-es5/index-020f5464.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-eb12ef92.js → index-f3946ac1.js} +1 -1
- package/dist/esm-es5/{index-0b4beb69.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/{input.utils-6e9b0046.js → input.utils-a445f677.js} +1 -1
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-internal.entry.js +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-b76c7020.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/{notch-controller-15d281a4.js → notch-controller-6bd3e0f9.js} +1 -1
- package/dist/esm-es5/overlays-b874c3c3.js +4 -0
- package/dist/esm-es5/{status-tap-5a95077d.js → status-tap-dfea3607.js} +1 -1
- package/dist/esm-es5/{swipe-back-fa0ec5cd.js → swipe-back-c6d0e5d9.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-30cd5e7b.js → p-0047bd0e.js} +1 -1
- package/dist/ionic/{p-70e34286.system.entry.js → p-01a1ff55.system.entry.js} +1 -1
- package/dist/ionic/{p-b0ff8075.entry.js → p-01de45e4.entry.js} +1 -1
- package/dist/ionic/{p-2e14c533.system.js → p-0609a7d8.system.js} +1 -1
- package/dist/ionic/p-08ab4c96.js +4 -0
- package/dist/ionic/{p-e04b9647.system.entry.js → p-094cb5ba.system.entry.js} +1 -1
- package/dist/ionic/p-0aac3a1c.js +4 -0
- package/dist/ionic/{p-de55ec45.js → p-0b743628.js} +1 -1
- package/dist/ionic/{p-b253ad7f.js → p-12a8643e.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-b8c685a7.system.js → p-1bc9b5f5.system.js} +1 -1
- package/dist/ionic/p-1cd372ed.js +4 -0
- package/dist/ionic/{p-123b4809.js → p-1e151efb.js} +1 -1
- package/dist/ionic/{p-bf05cbc7.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-94be3ad7.js → p-2c118b1e.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-0457213c.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-eb07b88f.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-f53d074d.system.entry.js → p-3b9edd02.system.entry.js} +1 -1
- package/dist/ionic/{p-5e23bea8.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-c858f685.js → p-46bcc2f5.js} +1 -1
- package/dist/ionic/p-47686f0a.system.entry.js +4 -0
- package/dist/ionic/{p-afd6d696.system.entry.js → p-47d7ffb4.system.entry.js} +1 -1
- package/dist/ionic/{p-7b1ed642.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-cde3ac34.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-a022b684.system.entry.js → p-4f9018d4.system.entry.js} +1 -1
- package/dist/ionic/{p-3481d54e.system.entry.js → p-55ae3e14.system.entry.js} +1 -1
- package/dist/ionic/{p-aaaa615c.system.entry.js → p-56271222.system.entry.js} +1 -1
- package/dist/ionic/{p-42a9f663.system.entry.js → p-565a12d7.system.entry.js} +1 -1
- package/dist/ionic/{p-d39ab63d.entry.js → p-56b810d5.entry.js} +1 -1
- package/dist/ionic/{p-31c495c2.js → p-56ee6d9a.js} +1 -1
- package/dist/ionic/{p-a85d9047.system.entry.js → p-5a0345f7.system.entry.js} +1 -1
- package/dist/ionic/{p-ba97a133.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-8794fa00.system.entry.js → p-625ef2fb.system.entry.js} +1 -1
- package/dist/ionic/{p-6871553b.system.js → p-62b7320a.system.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-c747f89b.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 +4 -0
- package/dist/ionic/{p-abcedc15.system.entry.js → p-6b178502.system.entry.js} +1 -1
- package/dist/ionic/p-6c45c617.js +4 -0
- package/dist/ionic/{p-74deb358.system.js → p-6ecddf53.system.js} +1 -1
- package/dist/ionic/{p-5c580e89.entry.js → p-70929384.entry.js} +1 -1
- package/dist/ionic/p-73d70509.system.js +4 -0
- package/dist/ionic/{p-ae35294f.system.entry.js → p-776f7b9e.system.entry.js} +1 -1
- package/dist/ionic/{p-a3f572a7.js → p-779aede8.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-a0b28c69.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-5928fac9.system.entry.js → p-8a335b91.system.entry.js} +1 -1
- package/dist/ionic/{p-cd9a7017.system.entry.js → p-8eba832c.system.entry.js} +1 -1
- package/dist/ionic/{p-91cb3f9a.entry.js → p-8ed4de58.entry.js} +1 -1
- package/dist/ionic/{p-502780e4.entry.js → p-917bb906.entry.js} +1 -1
- package/dist/ionic/{p-b2595011.system.entry.js → p-93f86b06.system.entry.js} +1 -1
- package/dist/ionic/{p-9393a49f.js → p-942a9358.js} +1 -1
- package/dist/ionic/p-9625a2e6.entry.js +4 -0
- package/dist/ionic/{p-f0194418.system.entry.js → p-9bc8bd0c.system.entry.js} +1 -1
- package/dist/ionic/{p-18beebdf.system.entry.js → p-9d53b773.system.entry.js} +2 -2
- package/dist/ionic/{p-dcb5711d.entry.js → p-9fbfbaef.entry.js} +1 -1
- package/dist/ionic/p-a04ecf1a.system.js +4 -0
- package/dist/ionic/{p-c2289cd1.js → p-a1036ce7.js} +1 -1
- package/dist/ionic/{p-ea25b4c8.system.entry.js → p-a3b2d4a7.system.entry.js} +2 -2
- package/dist/ionic/{p-5f169eba.entry.js → p-a5cd2e1f.entry.js} +1 -1
- package/dist/ionic/p-a5d9fafe.entry.js +4 -0
- package/dist/ionic/{p-49543c9c.system.js → p-a667dd1f.system.js} +1 -1
- 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-1924f2e0.system.entry.js → p-b1bebf4a.system.entry.js} +2 -2
- 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-37c33319.system.js → p-bd313b73.system.js} +1 -1
- package/dist/ionic/p-c379d010.system.entry.js +4 -0
- package/dist/ionic/{p-7173ba59.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-275705e5.entry.js → p-cc0cf2d1.entry.js} +1 -1
- package/dist/ionic/{p-c39cc96d.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-64db1331.entry.js → p-dbd77435.entry.js} +1 -1
- package/dist/ionic/p-dc2d302c.entry.js +4 -0
- package/dist/ionic/{p-601e17b4.entry.js → p-dd2996cf.entry.js} +1 -1
- package/dist/ionic/{p-508a4c87.entry.js → p-dec423a3.entry.js} +1 -1
- package/dist/ionic/{p-1131946f.system.entry.js → p-deeae694.system.entry.js} +1 -1
- package/dist/ionic/p-e06d65b3.system.entry.js +4 -0
- package/dist/ionic/{p-d4cadd34.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-3471a7c0.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-30d77a91.system.js → p-ebc1ca90.system.js} +1 -1
- 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-f4fb429a.system.js +4 -0
- package/dist/ionic/{p-a5951821.system.js → p-f549716b.system.js} +1 -1
- package/dist/ionic/p-f6a50d5c.entry.js +4 -0
- package/dist/ionic/p-fbd01db3.system.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-f8c96502.system.entry.js → p-fdcf1482.system.entry.js} +1 -1
- package/dist/ionic/{p-e2bb92ed.system.js → p-fe320051.system.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/helpers.d.ts +1 -1
- package/dist/types/utils/keyboard/keyboard-controller.d.ts +1 -1
- package/dist/types/utils/overlays.d.ts +7 -2
- package/hydrate/index.js +737 -340
- 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/framework-delegate-fed7fe7c.js +0 -4
- package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
- package/dist/esm-es5/helpers-c0b9ca37.js +0 -4
- package/dist/esm-es5/index-47b2066d.js +0 -4
- package/dist/esm-es5/index-4c30cddd.js +0 -5
- package/dist/esm-es5/index-d64f34ea.js +0 -4
- package/dist/esm-es5/input-shims-b90ca55f.js +0 -4
- package/dist/esm-es5/md.transition-564937a7.js +0 -4
- package/dist/esm-es5/overlays-04a9a43f.js +0 -4
- package/dist/ionic/p-027f3674.entry.js +0 -4
- package/dist/ionic/p-05d560ec.entry.js +0 -4
- package/dist/ionic/p-0b34d3a7.system.js +0 -4
- package/dist/ionic/p-0e23c289.system.entry.js +0 -4
- package/dist/ionic/p-1f16d040.entry.js +0 -4
- package/dist/ionic/p-21ca1f1c.js +0 -4
- package/dist/ionic/p-2327064c.entry.js +0 -4
- package/dist/ionic/p-23c73017.entry.js +0 -4
- package/dist/ionic/p-2e1f014a.system.entry.js +0 -4
- package/dist/ionic/p-337ac0f5.entry.js +0 -4
- package/dist/ionic/p-396083cc.entry.js +0 -4
- package/dist/ionic/p-3a7de59c.entry.js +0 -4
- package/dist/ionic/p-3c6f02cf.system.js +0 -4
- package/dist/ionic/p-3d961d93.entry.js +0 -4
- package/dist/ionic/p-3e9ad72a.system.entry.js +0 -4
- package/dist/ionic/p-43a5edee.entry.js +0 -4
- package/dist/ionic/p-49aba878.js +0 -4
- package/dist/ionic/p-4f777b5e.js +0 -4
- package/dist/ionic/p-4fda5c35.entry.js +0 -4
- package/dist/ionic/p-5b40d967.entry.js +0 -4
- package/dist/ionic/p-5c2ae448.js +0 -4
- package/dist/ionic/p-5c6a04bd.entry.js +0 -4
- package/dist/ionic/p-61ba2137.system.js +0 -4
- package/dist/ionic/p-64761c90.entry.js +0 -4
- package/dist/ionic/p-64856c3c.system.entry.js +0 -4
- package/dist/ionic/p-6486e393.system.entry.js +0 -4
- package/dist/ionic/p-667e3e2d.entry.js +0 -4
- package/dist/ionic/p-68ba8e77.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-7ce40e7b.entry.js +0 -4
- package/dist/ionic/p-9056778e.system.entry.js +0 -4
- package/dist/ionic/p-95d5a097.entry.js +0 -4
- package/dist/ionic/p-9cd7ba27.system.js +0 -4
- package/dist/ionic/p-9ec7208d.system.js +0 -4
- package/dist/ionic/p-a6e465f5.entry.js +0 -4
- package/dist/ionic/p-a8a56449.entry.js +0 -4
- package/dist/ionic/p-bd4787eb.entry.js +0 -4
- package/dist/ionic/p-c11bab7e.entry.js +0 -4
- package/dist/ionic/p-c1797ec5.system.entry.js +0 -4
- package/dist/ionic/p-c308f773.entry.js +0 -4
- package/dist/ionic/p-c80c7e90.system.js +0 -4
- package/dist/ionic/p-cb9e71e0.entry.js +0 -4
- package/dist/ionic/p-db30f71b.entry.js +0 -4
- package/dist/ionic/p-dbcba5a2.js +0 -4
- package/dist/ionic/p-e81bf09e.system.entry.js +0 -4
- package/dist/ionic/p-e9f9388e.system.js +0 -4
- package/dist/ionic/p-ed7a529f.js +0 -5
- package/dist/ionic/p-edcada2b.system.entry.js +0 -4
- package/dist/ionic/p-f460c7ae.entry.js +0 -4
- package/dist/ionic/p-f7dce541.js +0 -4
- package/dist/ionic/p-f840d817.entry.js +0 -4
- package/dist/ionic/p-fb9f8495.system.entry.js +0 -4
- package/dist/ionic/p-fd2aa50c.js +0 -4
- /package/dist/ionic/{p-b5839dc2.js → p-1b3ffb2f.js} +0 -0
- /package/dist/ionic/{p-fd8ced99.system.js → p-5fc8d5ef.system.js} +0 -0
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
const index = require('./index-c8d52405.js');
|
|
7
|
-
const hardwareBackButton = require('./hardware-back-button-
|
|
8
|
-
const ionicGlobal = require('./ionic-global-
|
|
9
|
-
const frameworkDelegate = require('./framework-delegate-
|
|
10
|
-
const helpers = require('./helpers-
|
|
7
|
+
const hardwareBackButton = require('./hardware-back-button-adba3ac7.js');
|
|
8
|
+
const ionicGlobal = require('./ionic-global-c5503e93.js');
|
|
9
|
+
const frameworkDelegate = require('./framework-delegate-e0e13baa.js');
|
|
10
|
+
const helpers = require('./helpers-da4c0ed1.js');
|
|
11
11
|
const index$1 = require('./index-5915f9b3.js');
|
|
12
12
|
|
|
13
13
|
let lastOverlayIndex = 0;
|
|
@@ -100,32 +100,48 @@ const createOverlay = (tagName, opts) => {
|
|
|
100
100
|
* valid usage for the disabled property on ion-button.
|
|
101
101
|
*/
|
|
102
102
|
const focusableQueryString = '[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';
|
|
103
|
+
const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
|
|
104
|
+
/**
|
|
105
|
+
* Focuses the first descendant in an overlay
|
|
106
|
+
* that can receive focus. If none exists,
|
|
107
|
+
* the entire overlay will be focused.
|
|
108
|
+
*/
|
|
103
109
|
const focusFirstDescendant = (ref, overlay) => {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (shadowRoot) {
|
|
107
|
-
// If there are no inner focusable elements, just focus the host element.
|
|
108
|
-
firstInput = shadowRoot.querySelector(focusableQueryString) || firstInput;
|
|
109
|
-
}
|
|
110
|
-
if (firstInput) {
|
|
111
|
-
helpers.focusElement(firstInput);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
// Focus overlay instead of letting focus escape
|
|
115
|
-
overlay.focus();
|
|
116
|
-
}
|
|
110
|
+
const firstInput = ref.querySelector(focusableQueryString);
|
|
111
|
+
focusElementInOverlay(firstInput, overlay);
|
|
117
112
|
};
|
|
118
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Focuses the last descendant in an overlay
|
|
115
|
+
* that can receive focus. If none exists,
|
|
116
|
+
* the entire overlay will be focused.
|
|
117
|
+
*/
|
|
119
118
|
const focusLastDescendant = (ref, overlay) => {
|
|
120
119
|
const inputs = Array.from(ref.querySelectorAll(focusableQueryString));
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
|
|
121
|
+
focusElementInOverlay(lastInput, overlay);
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Focuses a particular element in an overlay. If the element
|
|
125
|
+
* doesn't have anything focusable associated with it then
|
|
126
|
+
* the overlay itself will be focused.
|
|
127
|
+
* This should be used instead of the focus() method
|
|
128
|
+
* on most elements because the focusable element
|
|
129
|
+
* may not be the host element.
|
|
130
|
+
*
|
|
131
|
+
* For example, if an ion-button should be focused
|
|
132
|
+
* then we should actually focus the native <button>
|
|
133
|
+
* element inside of ion-button's shadow root, not
|
|
134
|
+
* the host element itself.
|
|
135
|
+
*/
|
|
136
|
+
const focusElementInOverlay = (hostToFocus, overlay) => {
|
|
137
|
+
let elementToFocus = hostToFocus;
|
|
138
|
+
const shadowRoot = hostToFocus === null || hostToFocus === void 0 ? void 0 : hostToFocus.shadowRoot;
|
|
123
139
|
if (shadowRoot) {
|
|
124
140
|
// If there are no inner focusable elements, just focus the host element.
|
|
125
|
-
|
|
141
|
+
elementToFocus = shadowRoot.querySelector(focusableQueryString) || hostToFocus;
|
|
126
142
|
}
|
|
127
|
-
if (
|
|
128
|
-
|
|
143
|
+
if (elementToFocus) {
|
|
144
|
+
helpers.focusVisibleElement(elementToFocus);
|
|
129
145
|
}
|
|
130
146
|
else {
|
|
131
147
|
// Focus overlay instead of letting focus escape
|
|
@@ -176,6 +192,21 @@ const trapKeyboardFocus = (ev, doc) => {
|
|
|
176
192
|
*/
|
|
177
193
|
if (lastOverlay === target) {
|
|
178
194
|
lastOverlay.lastFocus = undefined;
|
|
195
|
+
/**
|
|
196
|
+
* Toasts can be presented from an overlay.
|
|
197
|
+
* However, focus should still be returned to
|
|
198
|
+
* the overlay when clicking a toast. Normally,
|
|
199
|
+
* focus would be returned to the last focusable
|
|
200
|
+
* descendant in the overlay which may not always be
|
|
201
|
+
* the button that the toast was presented from. In this case,
|
|
202
|
+
* the focus may be returned to an unexpected element.
|
|
203
|
+
* To account for this, we make sure to return focus to the
|
|
204
|
+
* last focused element in the overlay if focus is
|
|
205
|
+
* moved to the toast.
|
|
206
|
+
*/
|
|
207
|
+
}
|
|
208
|
+
else if (target.tagName === 'ION-TOAST') {
|
|
209
|
+
focusElementInOverlay(lastOverlay.lastFocus, lastOverlay);
|
|
179
210
|
/**
|
|
180
211
|
* Otherwise, we must be focusing an element
|
|
181
212
|
* inside of the overlay. The two possible options
|
|
@@ -247,6 +278,21 @@ const trapKeyboardFocus = (ev, doc) => {
|
|
|
247
278
|
*/
|
|
248
279
|
if (lastOverlay.contains(target)) {
|
|
249
280
|
lastOverlay.lastFocus = target;
|
|
281
|
+
/**
|
|
282
|
+
* Toasts can be presented from an overlay.
|
|
283
|
+
* However, focus should still be returned to
|
|
284
|
+
* the overlay when clicking a toast. Normally,
|
|
285
|
+
* focus would be returned to the last focusable
|
|
286
|
+
* descendant in the overlay which may not always be
|
|
287
|
+
* the button that the toast was presented from. In this case,
|
|
288
|
+
* the focus may be returned to an unexpected element.
|
|
289
|
+
* To account for this, we make sure to return focus to the
|
|
290
|
+
* last focused element in the overlay if focus is
|
|
291
|
+
* moved to the toast.
|
|
292
|
+
*/
|
|
293
|
+
}
|
|
294
|
+
else if (target.tagName === 'ION-TOAST') {
|
|
295
|
+
focusElementInOverlay(lastOverlay.lastFocus, lastOverlay);
|
|
250
296
|
}
|
|
251
297
|
else {
|
|
252
298
|
/**
|
|
@@ -320,7 +366,7 @@ const connectListeners = (doc) => {
|
|
|
320
366
|
* this behavior will be handled via the ionBackButton
|
|
321
367
|
* event.
|
|
322
368
|
*/
|
|
323
|
-
if (!hardwareBackButton.
|
|
369
|
+
if (!hardwareBackButton.shouldUseCloseWatcher()) {
|
|
324
370
|
doc.addEventListener('keydown', (ev) => {
|
|
325
371
|
if (ev.key === 'Escape') {
|
|
326
372
|
const lastOverlay = getPresentedOverlay(doc);
|
|
@@ -410,15 +456,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
410
456
|
return;
|
|
411
457
|
}
|
|
412
458
|
setRootAriaHidden(true);
|
|
413
|
-
|
|
414
|
-
* Hide all other overlays from screen readers so only this one
|
|
415
|
-
* can be read. Note that presenting an overlay always makes
|
|
416
|
-
* it the topmost one.
|
|
417
|
-
*/
|
|
418
|
-
if (index.doc !== undefined) {
|
|
419
|
-
const presentedOverlays = getPresentedOverlays(index.doc);
|
|
420
|
-
presentedOverlays.forEach((o) => o.setAttribute('aria-hidden', 'true'));
|
|
421
|
-
}
|
|
459
|
+
hideOverlaysFromScreenReaders(overlay.el);
|
|
422
460
|
overlay.presented = true;
|
|
423
461
|
overlay.willPresent.emit();
|
|
424
462
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
@@ -511,7 +549,7 @@ const restoreElementFocus = async (overlayEl) => {
|
|
|
511
549
|
}
|
|
512
550
|
};
|
|
513
551
|
const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
|
|
514
|
-
var _a, _b
|
|
552
|
+
var _a, _b;
|
|
515
553
|
if (!overlay.presented) {
|
|
516
554
|
return false;
|
|
517
555
|
}
|
|
@@ -562,13 +600,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
562
600
|
console.error(err);
|
|
563
601
|
}
|
|
564
602
|
overlay.el.remove();
|
|
565
|
-
|
|
566
|
-
* If there are other overlays presented, unhide the new
|
|
567
|
-
* topmost one from screen readers.
|
|
568
|
-
*/
|
|
569
|
-
if (index.doc !== undefined) {
|
|
570
|
-
(_c = getPresentedOverlay(index.doc)) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-hidden');
|
|
571
|
-
}
|
|
603
|
+
revealOverlaysToScreenReaders();
|
|
572
604
|
return true;
|
|
573
605
|
};
|
|
574
606
|
const getAppRoot = (doc) => {
|
|
@@ -764,6 +796,62 @@ const createTriggerController = () => {
|
|
|
764
796
|
removeClickListener,
|
|
765
797
|
};
|
|
766
798
|
};
|
|
799
|
+
/**
|
|
800
|
+
* Ensure that underlying overlays have aria-hidden if necessary so that screen readers
|
|
801
|
+
* cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
|
|
802
|
+
* events here because those events do not fire when the screen readers moves to a non-focusable
|
|
803
|
+
* element such as text.
|
|
804
|
+
* Without this logic screen readers would be able to move focus outside of the top focus-trapped overlay.
|
|
805
|
+
*
|
|
806
|
+
* @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
|
|
807
|
+
* fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
|
|
808
|
+
*/
|
|
809
|
+
const hideOverlaysFromScreenReaders = (newTopMostOverlay) => {
|
|
810
|
+
var _a;
|
|
811
|
+
if (index.doc === undefined)
|
|
812
|
+
return;
|
|
813
|
+
const overlays = getPresentedOverlays(index.doc);
|
|
814
|
+
for (let i = overlays.length - 1; i >= 0; i--) {
|
|
815
|
+
const presentedOverlay = overlays[i];
|
|
816
|
+
const nextPresentedOverlay = (_a = overlays[i + 1]) !== null && _a !== void 0 ? _a : newTopMostOverlay;
|
|
817
|
+
/**
|
|
818
|
+
* If next overlay has aria-hidden then all remaining overlays will have it too.
|
|
819
|
+
* Or, if the next overlay is a Toast that does not have aria-hidden then current overlay
|
|
820
|
+
* should not have aria-hidden either so focus can remain in the current overlay.
|
|
821
|
+
*/
|
|
822
|
+
if (nextPresentedOverlay.hasAttribute('aria-hidden') || nextPresentedOverlay.tagName !== 'ION-TOAST') {
|
|
823
|
+
presentedOverlay.setAttribute('aria-hidden', 'true');
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
};
|
|
827
|
+
/**
|
|
828
|
+
* When dismissing an overlay we need to reveal the new top-most overlay to screen readers.
|
|
829
|
+
* If the top-most overlay is a Toast we potentially need to reveal more overlays since
|
|
830
|
+
* focus is never automatically moved to the Toast.
|
|
831
|
+
*/
|
|
832
|
+
const revealOverlaysToScreenReaders = () => {
|
|
833
|
+
if (index.doc === undefined)
|
|
834
|
+
return;
|
|
835
|
+
const overlays = getPresentedOverlays(index.doc);
|
|
836
|
+
for (let i = overlays.length - 1; i >= 0; i--) {
|
|
837
|
+
const currentOverlay = overlays[i];
|
|
838
|
+
/**
|
|
839
|
+
* If the current we are looking at is a Toast then we can remove aria-hidden.
|
|
840
|
+
* However, we potentially need to keep looking at the overlay stack because there
|
|
841
|
+
* could be more Toasts underneath. Additionally, we need to unhide the closest non-Toast
|
|
842
|
+
* overlay too so focus can move there since focus is never automatically moved to the Toast.
|
|
843
|
+
*/
|
|
844
|
+
currentOverlay.removeAttribute('aria-hidden');
|
|
845
|
+
/**
|
|
846
|
+
* If we found a non-Toast element then we can just remove aria-hidden and stop searching entirely
|
|
847
|
+
* since this overlay should always receive focus. As a result, all underlying overlays should still
|
|
848
|
+
* be hidden from screen readers.
|
|
849
|
+
*/
|
|
850
|
+
if (currentOverlay.tagName !== 'ION-TOAST') {
|
|
851
|
+
break;
|
|
852
|
+
}
|
|
853
|
+
}
|
|
854
|
+
};
|
|
767
855
|
|
|
768
856
|
exports.BACKDROP = BACKDROP;
|
|
769
857
|
exports.GESTURE = GESTURE;
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
const index = require('./index-
|
|
7
|
-
const index$1 = require('./index-
|
|
8
|
-
const helpers = require('./helpers-
|
|
6
|
+
const index = require('./index-22617dd6.js');
|
|
7
|
+
const index$1 = require('./index-bef98850.js');
|
|
8
|
+
const helpers = require('./helpers-da4c0ed1.js');
|
|
9
9
|
require('./index-5915f9b3.js');
|
|
10
10
|
|
|
11
11
|
const startStatusTap = () => {
|
|
@@ -191,12 +191,12 @@ export class ActionSheet {
|
|
|
191
191
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
192
192
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
193
193
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
194
|
-
return (h(Host, Object.assign({ key: '
|
|
194
|
+
return (h(Host, Object.assign({ key: '49c8b5b3412b5688e44f3e3fa18abcc01c75a770', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
195
195
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
196
|
-
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '
|
|
196
|
+
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '80b4c279fca194c6d65bbdb8128956641387bb05', tappable: this.backdropDismiss }), h("div", { key: '245cde1873c07ef09267de8ab1a4d6ee51c0a83c', tabindex: "0" }), h("div", { key: '045109bb2118decbe633f45aa3d71b824d37c0fd', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: 'b053f3a177b6ac7f2f76f5470f7023389f06cfd8', class: "action-sheet-container" }, h("div", { key: '88287aa180c22389747c9fec702112e29f4ec039', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (h("div", { key: '693e67af994a0018508a6deb867937916913eaa6', id: headerID, class: {
|
|
197
197
|
'action-sheet-title': true,
|
|
198
198
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
199
|
-
} }, header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b) }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect",
|
|
199
|
+
} }, header, this.subHeader && h("div", { key: '813cbb8d66e46d5a55a6c8bf52c5689882dc7002', class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b) }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { key: 'f99cd10e7d91d3014edac6109c3e6dc128737f7c', class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({ key: '595c6a39ba04185e80cc3b0705536f93b4f1ebf4' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { key: '1f40403b907c6e925405a8b405ede9f7f9885611', class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { key: '75d5398d889fa70b514843b9cc73b2087a0bf1a0', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", { key: 'cda40def00755c69da9f6a67494eee4dc79550fc' })))))), h("div", { key: '4d9432bae550ef618ba762857144f1558e3e29e7', tabindex: "0" })));
|
|
200
200
|
}
|
|
201
201
|
static get is() { return "ion-action-sheet"; }
|
|
202
202
|
static get encapsulation() { return "scoped"; }
|
|
@@ -391,9 +391,9 @@ export class Alert {
|
|
|
391
391
|
* If neither is defined, don't set aria-labelledby.
|
|
392
392
|
*/
|
|
393
393
|
const ariaLabelledBy = header ? hdrId : subHeader ? subHdrId : null;
|
|
394
|
-
return (h(Host, Object.assign({ key: '
|
|
394
|
+
return (h(Host, Object.assign({ key: 'd623baf94bddc6b1932f128f6a605c6232b37fb5', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
395
395
|
zIndex: `${20000 + overlayIndex}`,
|
|
396
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '
|
|
396
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: 'a594ba787a73a33ba10e7a32ca863bd610730cb6', tappable: this.backdropDismiss }), h("div", { key: 'c95ef8332f46ce93fb8d3b7f0168ae5b939c52fd', tabindex: "0" }), h("div", { key: '1895ea338a8e446d01c6151552af658e1e1c841d', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '5156393eb8a8f3e60e7d4bce20b0b85196141b0e', class: "alert-head" }, header && (h("h2", { key: '72ba8253644adfeeb8472531234d3572af28b473', id: hdrId, class: "alert-title" }, header)), subHeader && (h("h2", { key: 'eb8d2443170fbea182199bb3b3f5446c98f1c17e', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '13c6fac1a58574156951ae2dfdd24790c0812e11', tabindex: "0" })));
|
|
397
397
|
}
|
|
398
398
|
static get is() { return "ion-alert"; }
|
|
399
399
|
static get encapsulation() { return "scoped"; }
|
|
@@ -222,6 +222,10 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
222
222
|
const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent');
|
|
223
223
|
await alert.evaluate((el) => el.present());
|
|
224
224
|
await ionAlertDidPresent.next();
|
|
225
|
+
/**
|
|
226
|
+
* The borders on the text fields may not be visible in the screenshot
|
|
227
|
+
* when using Safari, this is due to a WebKit rendering quirk.
|
|
228
|
+
*/
|
|
225
229
|
await expect(page).toHaveScreenshot(screenshot(`alert-text-fields-scale`));
|
|
226
230
|
});
|
|
227
231
|
});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Build, Host, h } from "@stencil/core";
|
|
5
|
-
import {
|
|
5
|
+
import { shouldUseCloseWatcher } from "../../utils/hardware-back-button";
|
|
6
6
|
import { printIonWarning } from "../../utils/logging/index";
|
|
7
7
|
import { isPlatform } from "../../utils/platform";
|
|
8
8
|
import { config } from "../../global/config";
|
|
@@ -27,7 +27,7 @@ export class App {
|
|
|
27
27
|
import('../../utils/input-shims/input-shims').then((module) => module.startInputShims(config, platform));
|
|
28
28
|
}
|
|
29
29
|
const hardwareBackButtonModule = await import('../../utils/hardware-back-button');
|
|
30
|
-
const supportsHardwareBackButtonEvents = isHybrid ||
|
|
30
|
+
const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
|
|
31
31
|
if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
|
|
32
32
|
hardwareBackButtonModule.startHardwareBackButton();
|
|
33
33
|
}
|
|
@@ -36,7 +36,7 @@ export class App {
|
|
|
36
36
|
* If an app sets hardwareBackButton: false and experimentalCloseWatcher: true
|
|
37
37
|
* then the close watcher will not be used.
|
|
38
38
|
*/
|
|
39
|
-
if (
|
|
39
|
+
if (shouldUseCloseWatcher()) {
|
|
40
40
|
printIonWarning('experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used.');
|
|
41
41
|
}
|
|
42
42
|
hardwareBackButtonModule.blockHardwareBackButton();
|
|
@@ -65,7 +65,7 @@ export class App {
|
|
|
65
65
|
}
|
|
66
66
|
render() {
|
|
67
67
|
const mode = getIonMode(this);
|
|
68
|
-
return (h(Host, { key: '
|
|
68
|
+
return (h(Host, { key: '6d7c57453b4be454690e8f1a0721f1e3da8f92aa', class: {
|
|
69
69
|
[mode]: true,
|
|
70
70
|
'ion-page': true,
|
|
71
71
|
'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
|
|
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import { getIonMode } from "../../global/ionic-global";
|
|
6
6
|
export class Avatar {
|
|
7
7
|
render() {
|
|
8
|
-
return (h(Host, { key: '
|
|
8
|
+
return (h(Host, { key: 'f6014b524497bb18ae919ba6f6928407310d6870', class: getIonMode(this) }, h("slot", { key: '192ff4a8e10c0b0a4a2ed795ff2675afa8b23449' })));
|
|
9
9
|
}
|
|
10
10
|
static get is() { return "ion-avatar"; }
|
|
11
11
|
static get encapsulation() { return "shadow"; }
|
|
@@ -72,7 +72,7 @@ export class BackButton {
|
|
|
72
72
|
const showBackButton = defaultHref !== undefined;
|
|
73
73
|
const mode = getIonMode(this);
|
|
74
74
|
const ariaLabel = inheritedAttributes['aria-label'] || backButtonText || 'back';
|
|
75
|
-
return (h(Host, { key: '
|
|
75
|
+
return (h(Host, { key: '9e837be314ee8ea487ba2771d36668ef58442faa', onClick: this.onClick, class: createColorClasses(color, {
|
|
76
76
|
[mode]: true,
|
|
77
77
|
button: true, // ion-buttons target .button
|
|
78
78
|
'back-button-disabled': disabled,
|
|
@@ -82,7 +82,7 @@ export class BackButton {
|
|
|
82
82
|
'ion-activatable': true,
|
|
83
83
|
'ion-focusable': true,
|
|
84
84
|
'show-back-button': showBackButton,
|
|
85
|
-
}) }, h("button", { key: '
|
|
85
|
+
}) }, h("button", { key: 'c4531348bd80cf6163931c5fb432526aa8127043', type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, h("span", { key: 'aab8c6d5f0a84aed9f4e4a2532a239b28c7d5589', class: "button-inner" }, backButtonIcon && (h("ion-icon", { key: '121eae10947b46a3d109709b79f4126b1c40ade4', part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false, "flip-rtl": icon === undefined })), backButtonText && (h("span", { key: '11c28875cc52b99470525d18c1f88f27c390a75a', part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText))), mode === 'md' && h("ion-ripple-effect", { key: '804bf8a06cd033c99d61ec2665c842b3b25945fa', type: this.rippleType }))));
|
|
86
86
|
}
|
|
87
87
|
static get is() { return "ion-back-button"; }
|
|
88
88
|
static get encapsulation() { return "shadow"; }
|
|
@@ -35,7 +35,7 @@ export class Backdrop {
|
|
|
35
35
|
}
|
|
36
36
|
render() {
|
|
37
37
|
const mode = getIonMode(this);
|
|
38
|
-
return (h(Host, { key: '
|
|
38
|
+
return (h(Host, { key: '16b1328f4a058b8d3752e58dc56c44bed556c425', tabindex: "-1", "aria-hidden": "true", class: {
|
|
39
39
|
[mode]: true,
|
|
40
40
|
'backdrop-hide': !this.visible,
|
|
41
41
|
'backdrop-no-tappable': !this.tappable,
|
|
@@ -13,9 +13,9 @@ export class Badge {
|
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
15
|
const mode = getIonMode(this);
|
|
16
|
-
return (h(Host, { key: '
|
|
16
|
+
return (h(Host, { key: '22d41ceefb76f40dfbf739fd71483f1272a45858', class: createColorClasses(this.color, {
|
|
17
17
|
[mode]: true,
|
|
18
|
-
}) }, h("slot", { key: '
|
|
18
|
+
}) }, h("slot", { key: 'e7e65463bac5903971a8f9f6be55515f42b81a83' })));
|
|
19
19
|
}
|
|
20
20
|
static get is() { return "ion-badge"; }
|
|
21
21
|
static get encapsulation() { return "shadow"; }
|
|
@@ -64,7 +64,7 @@ export class Breadcrumb {
|
|
|
64
64
|
// to show the separator as long as it isn't also the last breadcrumb
|
|
65
65
|
// otherwise if not collapsed use the value in separator
|
|
66
66
|
const showSeparator = last ? false : collapsed ? (showCollapsedIndicator && !last ? true : false) : separator;
|
|
67
|
-
return (h(Host, { key: '
|
|
67
|
+
return (h(Host, { key: '6d354439f90ec3cfab9fbf93cb17a67fb9ca6034', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
|
|
68
68
|
[mode]: true,
|
|
69
69
|
'breadcrumb-active': active,
|
|
70
70
|
'breadcrumb-collapsed': collapsed,
|
|
@@ -74,15 +74,15 @@ export class Breadcrumb {
|
|
|
74
74
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
75
75
|
'ion-activatable': clickable,
|
|
76
76
|
'ion-focusable': clickable,
|
|
77
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
77
|
+
}) }, h(TagType, Object.assign({ key: '4782977969bd84af02b1834573a6e51069b798ae' }, attrs, { class: "breadcrumb-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("slot", { key: '7d5fb845e463b8195142099773e7f258fc8ed31d', name: "start" }), h("slot", { key: '6b642ccb9101c12f72124fed5dd0f6362345fb41' }), h("slot", { key: '9fb0841fed712e21d1e84b187e1bc9159cf80b56', name: "end" })), showCollapsedIndicator && (h("button", { key: '4b64544d879224d491447a79da8f8672b994af0b', part: "collapsed-indicator", "aria-label": "Show more breadcrumbs", onClick: () => this.collapsedIndicatorClick(), ref: (collapsedEl) => (this.collapsedRef = collapsedEl), class: {
|
|
78
78
|
'breadcrumbs-collapsed-indicator': true,
|
|
79
|
-
} }, h("ion-icon", { "aria-hidden": "true", icon: ellipsisHorizontal, lazy: false }))), showSeparator && (
|
|
79
|
+
} }, h("ion-icon", { key: '5a2511b237aa8c401f416e967a831f8315423949', "aria-hidden": "true", icon: ellipsisHorizontal, lazy: false }))), showSeparator && (
|
|
80
80
|
/**
|
|
81
81
|
* Separators should not be announced by narrators.
|
|
82
82
|
* We add aria-hidden on the span so that this applies
|
|
83
83
|
* to any custom separators too.
|
|
84
84
|
*/
|
|
85
|
-
h("span", { class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, h("slot", { name: "separator" }, mode === 'ios' ? (h("ion-icon", { icon: chevronForwardOutline, lazy: false, "flip-rtl": true })) : (h("span", null, "/")))))));
|
|
85
|
+
h("span", { key: '348952855dd79eb92f8d370e5839a8d09aff4097', class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, h("slot", { key: '0120f416edb1d776fa6900b5986b2b57eef554b3', name: "separator" }, mode === 'ios' ? (h("ion-icon", { icon: chevronForwardOutline, lazy: false, "flip-rtl": true })) : (h("span", null, "/")))))));
|
|
86
86
|
}
|
|
87
87
|
static get is() { return "ion-breadcrumb"; }
|
|
88
88
|
static get encapsulation() { return "shadow"; }
|
|
@@ -105,12 +105,12 @@ export class Breadcrumbs {
|
|
|
105
105
|
render() {
|
|
106
106
|
const { color, collapsed } = this;
|
|
107
107
|
const mode = getIonMode(this);
|
|
108
|
-
return (h(Host, { key: '
|
|
108
|
+
return (h(Host, { key: 'cd288d4bf5498f86d086eb999b506993818642f3', class: createColorClasses(color, {
|
|
109
109
|
[mode]: true,
|
|
110
110
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
111
111
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
112
112
|
'breadcrumbs-collapsed': collapsed,
|
|
113
|
-
}) }, h("slot", { key: '
|
|
113
|
+
}) }, h("slot", { key: '73c802065511dbebef3867b01ce929313d24cba2', onSlotchange: this.slotChanged })));
|
|
114
114
|
}
|
|
115
115
|
static get is() { return "ion-breadcrumbs"; }
|
|
116
116
|
static get encapsulation() { return "shadow"; }
|
|
@@ -330,11 +330,6 @@ ion-ripple-effect {
|
|
|
330
330
|
color: var(--ion-toolbar-background, var(--color));
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native {
|
|
334
|
-
background: var(--ion-toolbar-color, var(--color));
|
|
335
|
-
color: var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff));
|
|
336
|
-
}
|
|
337
|
-
|
|
338
333
|
/**
|
|
339
334
|
* Convert a font size to a dynamic font size.
|
|
340
335
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -593,4 +588,9 @@ ion-ripple-effect {
|
|
|
593
588
|
|
|
594
589
|
:host(.button-solid.ion-color.ion-activated) .button-native::after {
|
|
595
590
|
background: var(--ion-color-shade);
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native {
|
|
594
|
+
background: var(--ion-toolbar-color, var(--color));
|
|
595
|
+
color: var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff));
|
|
596
596
|
}
|
|
@@ -199,7 +199,7 @@ export class Button {
|
|
|
199
199
|
{
|
|
200
200
|
type !== 'button' && this.renderHiddenButton();
|
|
201
201
|
}
|
|
202
|
-
return (h(Host, { key: '
|
|
202
|
+
return (h(Host, { key: '54569350aae49882123f0e22a720956eddee33f5', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
|
|
203
203
|
[mode]: true,
|
|
204
204
|
[buttonType]: true,
|
|
205
205
|
[`${buttonType}-${expand}`]: expand !== undefined,
|
|
@@ -214,7 +214,7 @@ export class Button {
|
|
|
214
214
|
'button-disabled': disabled,
|
|
215
215
|
'ion-activatable': true,
|
|
216
216
|
'ion-focusable': true,
|
|
217
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
217
|
+
}) }, h(TagType, Object.assign({ key: '95c196fc5bf080ef308532c3627e2a9d68f24996' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("span", { key: 'e247013b847158187258d28f37ab23905fe49110', class: "button-inner" }, h("slot", { key: '58ac0bd8f643f4392ddbe465fab26eedffe02b7a', name: "icon-only" }), h("slot", { key: '2289d37a37a64472ffe818b3b1126945cebf101e', name: "start" }), h("slot", { key: 'b69a915dff465d251f0466449b91450d4a4048a9' }), h("slot", { key: '594a80d6707fd5edabc03e467f7aae3011d020f6', name: "end" })), mode === 'md' && h("ion-ripple-effect", { key: 'b034770cadefe74922ed6564a17147ddc6c9fdb1', type: this.rippleType }))));
|
|
218
218
|
}
|
|
219
219
|
static get is() { return "ion-button"; }
|
|
220
220
|
static get encapsulation() { return "shadow"; }
|
|
@@ -330,11 +330,6 @@ ion-ripple-effect {
|
|
|
330
330
|
color: var(--ion-toolbar-background, var(--color));
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native {
|
|
334
|
-
background: var(--ion-toolbar-color, var(--color));
|
|
335
|
-
color: var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff));
|
|
336
|
-
}
|
|
337
|
-
|
|
338
333
|
/**
|
|
339
334
|
* Convert a font size to a dynamic font size.
|
|
340
335
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -515,4 +510,8 @@ ion-ripple-effect {
|
|
|
515
510
|
:host(.button-outline.ion-color:hover) .button-native::after {
|
|
516
511
|
background: var(--ion-color-base);
|
|
517
512
|
}
|
|
513
|
+
}
|
|
514
|
+
:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native {
|
|
515
|
+
background: var(--ion-toolbar-background, var(--color));
|
|
516
|
+
color: var(--ion-toolbar-color, var(--background), var(--ion-color-primary-contrast, #fff));
|
|
518
517
|
}
|
|
@@ -9,7 +9,7 @@ export class Buttons {
|
|
|
9
9
|
}
|
|
10
10
|
render() {
|
|
11
11
|
const mode = getIonMode(this);
|
|
12
|
-
return (h(Host, { key: '
|
|
12
|
+
return (h(Host, { key: '2929fd8c4469bab2953c23d47f601706acb104f1', class: {
|
|
13
13
|
[mode]: true,
|
|
14
14
|
['buttons-collapse']: this.collapse,
|
|
15
15
|
} }));
|
|
@@ -49,7 +49,7 @@ export class Card {
|
|
|
49
49
|
}
|
|
50
50
|
render() {
|
|
51
51
|
const mode = getIonMode(this);
|
|
52
|
-
return (h(Host, { key: '
|
|
52
|
+
return (h(Host, { key: 'b92792294360fd974324b31ed2d3db00d3e2f8cd', class: createColorClasses(this.color, {
|
|
53
53
|
[mode]: true,
|
|
54
54
|
'card-disabled': this.disabled,
|
|
55
55
|
'ion-activatable': this.isClickable(),
|
|
@@ -9,7 +9,7 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
9
9
|
export class CardContent {
|
|
10
10
|
render() {
|
|
11
11
|
const mode = getIonMode(this);
|
|
12
|
-
return (h(Host, { key: '
|
|
12
|
+
return (h(Host, { key: 'dd95806f042fcd124b18126679f671be6e32a021', class: {
|
|
13
13
|
[mode]: true,
|
|
14
14
|
// Used internally for styling
|
|
15
15
|
[`card-content-${mode}`]: true,
|
|
@@ -14,11 +14,11 @@ export class CardHeader {
|
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
16
|
const mode = getIonMode(this);
|
|
17
|
-
return (h(Host, { key: '
|
|
17
|
+
return (h(Host, { key: '44077ad8e3edf7726d0f7a039046e32dc56a83c9', class: createColorClasses(this.color, {
|
|
18
18
|
'card-header-translucent': this.translucent,
|
|
19
19
|
'ion-inherit-color': true,
|
|
20
20
|
[mode]: true,
|
|
21
|
-
}) }, h("slot", { key: '
|
|
21
|
+
}) }, h("slot", { key: '51b6f4048d25521ece18d79e5361c762af41cae7' })));
|
|
22
22
|
}
|
|
23
23
|
static get is() { return "ion-card-header"; }
|
|
24
24
|
static get encapsulation() { return "shadow"; }
|
|
@@ -13,10 +13,10 @@ export class CardSubtitle {
|
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
15
|
const mode = getIonMode(this);
|
|
16
|
-
return (h(Host, { key: '
|
|
16
|
+
return (h(Host, { key: '6f94c9ced239cc945a148e0ecc7ab848fa70d8e3', role: "heading", "aria-level": "3", class: createColorClasses(this.color, {
|
|
17
17
|
'ion-inherit-color': true,
|
|
18
18
|
[mode]: true,
|
|
19
|
-
}) }, h("slot", { key: '
|
|
19
|
+
}) }, h("slot", { key: '445f81155799be5e81baa571bd16d57e5149df62' })));
|
|
20
20
|
}
|
|
21
21
|
static get is() { return "ion-card-subtitle"; }
|
|
22
22
|
static get encapsulation() { return "shadow"; }
|
|
@@ -13,10 +13,10 @@ export class CardTitle {
|
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
15
|
const mode = getIonMode(this);
|
|
16
|
-
return (h(Host, { key: '
|
|
16
|
+
return (h(Host, { key: 'a9e4190346e7d0a8e6089ec1fe01bca0f5f7200d', role: "heading", "aria-level": "2", class: createColorClasses(this.color, {
|
|
17
17
|
'ion-inherit-color': true,
|
|
18
18
|
[mode]: true,
|
|
19
|
-
}) }, h("slot", { key: '
|
|
19
|
+
}) }, h("slot", { key: '8d87636ad703545b6d2297629205a5a8616eb94e' })));
|
|
20
20
|
}
|
|
21
21
|
static get is() { return "ion-card-title"; }
|
|
22
22
|
static get encapsulation() { return "shadow"; }
|
|
@@ -105,7 +105,7 @@ export class Checkbox {
|
|
|
105
105
|
const mode = getIonMode(this);
|
|
106
106
|
const path = getSVGPath(mode, indeterminate);
|
|
107
107
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
108
|
-
return (h(Host, { class: createColorClasses(color, {
|
|
108
|
+
return (h(Host, { "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
|
|
109
109
|
[mode]: true,
|
|
110
110
|
'in-item': hostContext('ion-item', el),
|
|
111
111
|
'checkbox-checked': checked,
|