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
|
@@ -7,7 +7,7 @@ import { printIonError } from "../../utils/logging/index";
|
|
|
7
7
|
import { createColorClasses } from "../../utils/theme";
|
|
8
8
|
import { getIonMode } from "../../global/ionic-global";
|
|
9
9
|
import { getToday } from "../datetime/utils/data";
|
|
10
|
-
import {
|
|
10
|
+
import { getLocalizedDateTime, getLocalizedTime } from "../datetime/utils/format";
|
|
11
11
|
import { getHourCycle } from "../datetime/utils/helpers";
|
|
12
12
|
import { parseDate } from "../datetime/utils/parse";
|
|
13
13
|
/**
|
|
@@ -43,11 +43,12 @@ export class DatetimeButton {
|
|
|
43
43
|
* to the locale specified on ion-datetime.
|
|
44
44
|
*/
|
|
45
45
|
this.setDateTimeText = () => {
|
|
46
|
+
var _a, _b, _c, _d, _e;
|
|
46
47
|
const { datetimeEl, datetimePresentation } = this;
|
|
47
48
|
if (!datetimeEl) {
|
|
48
49
|
return;
|
|
49
50
|
}
|
|
50
|
-
const { value, locale, hourCycle, preferWheel, multiple, titleSelectedDatesFormatter } = datetimeEl;
|
|
51
|
+
const { value, locale, formatOptions, hourCycle, preferWheel, multiple, titleSelectedDatesFormatter } = datetimeEl;
|
|
51
52
|
const parsedValues = this.getParsedDateValues(value);
|
|
52
53
|
/**
|
|
53
54
|
* Both ion-datetime and ion-datetime-button default
|
|
@@ -70,8 +71,8 @@ export class DatetimeButton {
|
|
|
70
71
|
switch (datetimePresentation) {
|
|
71
72
|
case 'date-time':
|
|
72
73
|
case 'time-date':
|
|
73
|
-
const dateText =
|
|
74
|
-
const timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle);
|
|
74
|
+
const dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _a !== void 0 ? _a : { month: 'short', day: 'numeric', year: 'numeric' });
|
|
75
|
+
const timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time);
|
|
75
76
|
if (preferWheel) {
|
|
76
77
|
this.dateText = `${dateText} ${timeText}`;
|
|
77
78
|
}
|
|
@@ -94,20 +95,20 @@ export class DatetimeButton {
|
|
|
94
95
|
this.dateText = headerText;
|
|
95
96
|
}
|
|
96
97
|
else {
|
|
97
|
-
this.dateText =
|
|
98
|
+
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _b !== void 0 ? _b : { month: 'short', day: 'numeric', year: 'numeric' });
|
|
98
99
|
}
|
|
99
100
|
break;
|
|
100
101
|
case 'time':
|
|
101
|
-
this.timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle);
|
|
102
|
+
this.timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time);
|
|
102
103
|
break;
|
|
103
104
|
case 'month-year':
|
|
104
|
-
this.dateText =
|
|
105
|
+
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _c !== void 0 ? _c : { month: 'long', year: 'numeric' });
|
|
105
106
|
break;
|
|
106
107
|
case 'month':
|
|
107
|
-
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, { month: 'long' });
|
|
108
|
+
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) !== null && _d !== void 0 ? _d : { month: 'long' });
|
|
108
109
|
break;
|
|
109
110
|
case 'year':
|
|
110
|
-
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, { year: 'numeric' });
|
|
111
|
+
this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_e = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) !== null && _e !== void 0 ? _e : { year: 'numeric' });
|
|
111
112
|
break;
|
|
112
113
|
}
|
|
113
114
|
};
|
|
@@ -336,11 +337,11 @@ export class DatetimeButton {
|
|
|
336
337
|
render() {
|
|
337
338
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
338
339
|
const mode = getIonMode(this);
|
|
339
|
-
return (h(Host, { key: '
|
|
340
|
+
return (h(Host, { key: 'ab6c21a4c185dee71c8f14cafad82e38831c68d0', class: createColorClasses(color, {
|
|
340
341
|
[mode]: true,
|
|
341
342
|
[`${selectedButton}-active`]: datetimeActive,
|
|
342
343
|
['datetime-button-disabled']: disabled,
|
|
343
|
-
}) }, dateText && (h("button", { class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect",
|
|
344
|
+
}) }, dateText && (h("button", { key: 'cbda6f3386c3714567a04b5a97a96c71d59822c8', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: 'a00ff431512827bfef8c02982ef37099b2f21508', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '67935989628a2ed0492edb813fb0475bfd88abe7' }))), timeText && (h("button", { key: '4207c94de5bece91b8388332e0192d1756403e62', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '9ffa7ef4417571933bd1757950ec805c49704759', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: 'fbcad00cf828c9719074d1d06f4e13246b28903e' })))));
|
|
344
345
|
}
|
|
345
346
|
static get is() { return "ion-datetime-button"; }
|
|
346
347
|
static get encapsulation() { return "shadow"; }
|
|
@@ -174,4 +174,69 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
174
174
|
await expect(page.locator('#time-button')).not.toBeVisible();
|
|
175
175
|
});
|
|
176
176
|
});
|
|
177
|
+
test.describe(title('datetime-button: formatOptions'), () => {
|
|
178
|
+
test('should include date and time for presentation date-time', async ({ page }) => {
|
|
179
|
+
await page.setContent(`
|
|
180
|
+
<ion-datetime-button datetime="datetime"></ion-datetime-button>
|
|
181
|
+
<ion-datetime id="datetime" presentation="date-time" value="2023-11-02T01:22:00" locale="en-US"></ion-datetime>
|
|
182
|
+
<script>
|
|
183
|
+
const datetime = document.querySelector('ion-datetime');
|
|
184
|
+
datetime.formatOptions = {
|
|
185
|
+
date: {
|
|
186
|
+
weekday: "short",
|
|
187
|
+
month: "long",
|
|
188
|
+
day: "2-digit"
|
|
189
|
+
},
|
|
190
|
+
time: {
|
|
191
|
+
hour: "2-digit",
|
|
192
|
+
minute: "2-digit"
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
</script>
|
|
196
|
+
`, config);
|
|
197
|
+
await page.locator('.datetime-ready').waitFor();
|
|
198
|
+
await expect(page.locator('#date-button')).toContainText('Thu, November 02');
|
|
199
|
+
await expect(page.locator('#time-button')).toContainText('01:22 AM');
|
|
200
|
+
});
|
|
201
|
+
test('should include date for presentation date', async ({ page }) => {
|
|
202
|
+
await page.setContent(`
|
|
203
|
+
<ion-datetime-button datetime="datetime"></ion-datetime-button>
|
|
204
|
+
<ion-datetime id="datetime" presentation="date" value="2023-11-02" locale="en-US"></ion-datetime>
|
|
205
|
+
<script>
|
|
206
|
+
const datetime = document.querySelector('ion-datetime');
|
|
207
|
+
datetime.formatOptions = {
|
|
208
|
+
date: {
|
|
209
|
+
weekday: "short",
|
|
210
|
+
month: "long",
|
|
211
|
+
day: "2-digit"
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
</script>
|
|
215
|
+
`, config);
|
|
216
|
+
await page.locator('.datetime-ready').waitFor();
|
|
217
|
+
await expect(page.locator('#date-button')).toContainText('Thu, November 02');
|
|
218
|
+
});
|
|
219
|
+
test('should include date and time in same button for preferWheel', async ({ page }) => {
|
|
220
|
+
await page.setContent(`
|
|
221
|
+
<ion-datetime-button datetime="datetime"></ion-datetime-button>
|
|
222
|
+
<ion-datetime id="datetime" presentation="date-time" value="2023-11-02T01:22:00" locale="en-US" prefer-wheel="true"></ion-datetime>
|
|
223
|
+
<script>
|
|
224
|
+
const datetime = document.querySelector('ion-datetime');
|
|
225
|
+
datetime.formatOptions = {
|
|
226
|
+
date: {
|
|
227
|
+
weekday: "short",
|
|
228
|
+
month: "long",
|
|
229
|
+
day: "2-digit"
|
|
230
|
+
},
|
|
231
|
+
time: {
|
|
232
|
+
hour: "2-digit",
|
|
233
|
+
minute: "2-digit"
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
</script>
|
|
237
|
+
`, config);
|
|
238
|
+
await page.locator('.datetime-ready').waitFor();
|
|
239
|
+
await expect(page.locator('ion-datetime-button')).toContainText('Thu, November 02 01:22 AM');
|
|
240
|
+
});
|
|
241
|
+
});
|
|
177
242
|
});
|
|
@@ -47,12 +47,12 @@ export class Fab {
|
|
|
47
47
|
render() {
|
|
48
48
|
const { horizontal, vertical, edge } = this;
|
|
49
49
|
const mode = getIonMode(this);
|
|
50
|
-
return (h(Host, { key: '
|
|
50
|
+
return (h(Host, { key: '71df1068c3a2739a69d3571c2fe9bdf401a252cb', class: {
|
|
51
51
|
[mode]: true,
|
|
52
52
|
[`fab-horizontal-${horizontal}`]: horizontal !== undefined,
|
|
53
53
|
[`fab-vertical-${vertical}`]: vertical !== undefined,
|
|
54
54
|
'fab-edge': edge,
|
|
55
|
-
} }, h("slot", { key: '
|
|
55
|
+
} }, h("slot", { key: 'c3afd4a009d355d664f8c04057acf86196bda844' })));
|
|
56
56
|
}
|
|
57
57
|
static get is() { return "ion-fab"; }
|
|
58
58
|
static get encapsulation() { return "shadow"; }
|
|
@@ -63,7 +63,7 @@ export class FabButton {
|
|
|
63
63
|
rel: this.rel,
|
|
64
64
|
target: this.target,
|
|
65
65
|
};
|
|
66
|
-
return (h(Host, { key: '
|
|
66
|
+
return (h(Host, { key: '5b5e73a0236eabb3e994f0f33ee9ab6f75a12b24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
|
|
67
67
|
[mode]: true,
|
|
68
68
|
'fab-button-in-list': inList,
|
|
69
69
|
'fab-button-translucent-in-list': inList && translucent,
|
|
@@ -74,7 +74,7 @@ export class FabButton {
|
|
|
74
74
|
'ion-activatable': true,
|
|
75
75
|
'ion-focusable': true,
|
|
76
76
|
[`fab-button-${size}`]: size !== undefined,
|
|
77
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
77
|
+
}) }, h(TagType, Object.assign({ key: 'e3c85ff305b6790519543603401b85f294aabed1' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), h("ion-icon", { key: '39241f9fa051506717c8680e1b809dbf2e56f1a1', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: '03f0ec1c25352f3a5decb33ebc060b9043ab569e', class: "button-inner" }, h("slot", { key: '11c1a17bc0c54b840a96b96e03fffc23f0e64ff2' })), mode === 'md' && h("ion-ripple-effect", { key: '9b1642dba0beb3a22658ad0aead26b2ab57f0367' }))));
|
|
78
78
|
}
|
|
79
79
|
static get is() { return "ion-fab-button"; }
|
|
80
80
|
static get encapsulation() { return "shadow"; }
|
|
@@ -18,11 +18,11 @@ export class FabList {
|
|
|
18
18
|
}
|
|
19
19
|
render() {
|
|
20
20
|
const mode = getIonMode(this);
|
|
21
|
-
return (h(Host, { key: '
|
|
21
|
+
return (h(Host, { key: '3de1b0db4eb0230d4d2954e4265ddeb3c930b4dc', class: {
|
|
22
22
|
[mode]: true,
|
|
23
23
|
'fab-list-active': this.activated,
|
|
24
24
|
[`fab-list-side-${this.side}`]: true,
|
|
25
|
-
} }, h("slot", { key: '
|
|
25
|
+
} }, h("slot", { key: '970aac2239ad9ea2b6b6c3c3ea45a18c45b37df2' })));
|
|
26
26
|
}
|
|
27
27
|
static get is() { return "ion-fab-list"; }
|
|
28
28
|
static get encapsulation() { return "shadow"; }
|
|
@@ -80,7 +80,7 @@ export class Footer {
|
|
|
80
80
|
const mode = getIonMode(this);
|
|
81
81
|
const tabs = this.el.closest('ion-tabs');
|
|
82
82
|
const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
|
|
83
|
-
return (h(Host, { key: '
|
|
83
|
+
return (h(Host, { key: 'dd8fa96901e8a09759a9621b6513f0492b3a6197', role: "contentinfo", class: {
|
|
84
84
|
[mode]: true,
|
|
85
85
|
// Used internally for styling
|
|
86
86
|
[`footer-${mode}`]: true,
|
|
@@ -88,7 +88,7 @@ export class Footer {
|
|
|
88
88
|
[`footer-translucent-${mode}`]: translucent,
|
|
89
89
|
['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
|
|
90
90
|
[`footer-collapse-${collapse}`]: collapse !== undefined,
|
|
91
|
-
} }, mode === 'ios' && translucent && h("div", { class: "footer-background" }), h("slot", { key: '
|
|
91
|
+
} }, mode === 'ios' && translucent && h("div", { key: '0fbb4ebf8e3951ff399f843dc11aab37fc48f8b7', class: "footer-background" }), h("slot", { key: 'ecb14a65e3b6960670446c4428e3095b3231a3b0' })));
|
|
92
92
|
}
|
|
93
93
|
static get is() { return "ion-footer"; }
|
|
94
94
|
static get originalStyleUrls() {
|
|
@@ -9,10 +9,10 @@ export class Grid {
|
|
|
9
9
|
}
|
|
10
10
|
render() {
|
|
11
11
|
const mode = getIonMode(this);
|
|
12
|
-
return (h(Host, { key: '
|
|
12
|
+
return (h(Host, { key: 'a1c2ff77f97761c2bbcd869b2cc7b1558032b406', class: {
|
|
13
13
|
[mode]: true,
|
|
14
14
|
'grid-fixed': this.fixed,
|
|
15
|
-
} }, h("slot", { key: '
|
|
15
|
+
} }, h("slot", { key: 'cd25166436cf3a63a11ad436a9b9c5a607e72600' })));
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "ion-grid"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -240,8 +240,11 @@ ion-header ion-toolbar:first-of-type {
|
|
|
240
240
|
* We use opacity: 0 to avoid a layout shift.
|
|
241
241
|
* We target both the attribute and the class in the event that the attribute
|
|
242
242
|
* is not reflected on the host in some frameworks.
|
|
243
|
+
*
|
|
244
|
+
* Both headers should be scoped to iOS mode otherwise an MD app that uses an
|
|
245
|
+
* iOS header may cause other MD headers to be unexpectedly hidden.
|
|
243
246
|
*/
|
|
244
|
-
ion-header:not(.header-collapse-main):has(~ ion-content ion-header[collapse=condense],
|
|
245
|
-
~ ion-content ion-header.header-collapse-condense) {
|
|
247
|
+
ion-header.header-ios:not(.header-collapse-main):has(~ ion-content ion-header.header-ios[collapse=condense],
|
|
248
|
+
~ ion-content ion-header.header-ios.header-collapse-condense) {
|
|
246
249
|
opacity: 0;
|
|
247
250
|
}
|
|
@@ -140,14 +140,14 @@ export class Header {
|
|
|
140
140
|
const collapse = this.collapse || 'none';
|
|
141
141
|
// banner role must be at top level, so remove role if inside a menu
|
|
142
142
|
const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
|
|
143
|
-
return (h(Host, Object.assign({ key: '
|
|
143
|
+
return (h(Host, Object.assign({ key: '9fa0af97b605f9fe98b13361bc3d1289745c549f', role: roleType, class: {
|
|
144
144
|
[mode]: true,
|
|
145
145
|
// Used internally for styling
|
|
146
146
|
[`header-${mode}`]: true,
|
|
147
147
|
[`header-translucent`]: this.translucent,
|
|
148
148
|
[`header-collapse-${collapse}`]: true,
|
|
149
149
|
[`header-translucent-${mode}`]: this.translucent,
|
|
150
|
-
} }, inheritedAttributes), mode === 'ios' && translucent && h("div", { class: "header-background" }), h("slot", { key: '
|
|
150
|
+
} }, inheritedAttributes), mode === 'ios' && translucent && h("div", { key: '1a780d2625302f2465718e304bdd3794c89c9845', class: "header-background" }), h("slot", { key: 'b2b8557b44be40c590bfcc362ac4350f9f8b889e' })));
|
|
151
151
|
}
|
|
152
152
|
static get is() { return "ion-header"; }
|
|
153
153
|
static get originalStyleUrls() {
|
|
@@ -68,3 +68,80 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, c
|
|
|
68
68
|
});
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
|
+
/**
|
|
72
|
+
* This test only impacts MD applications
|
|
73
|
+
*/
|
|
74
|
+
configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
75
|
+
test.describe(title('header: translucent'), () => {
|
|
76
|
+
test('should not hide MD headers when using a descendant iOS header in an MD app', async ({ page }) => {
|
|
77
|
+
test.info().annotations.push({
|
|
78
|
+
type: 'issue',
|
|
79
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/28867',
|
|
80
|
+
});
|
|
81
|
+
await page.setContent(`
|
|
82
|
+
<ion-header id="main-header">
|
|
83
|
+
<ion-toolbar>
|
|
84
|
+
<ion-title>Header</ion-title>
|
|
85
|
+
</ion-toolbar>
|
|
86
|
+
</ion-header>
|
|
87
|
+
<ion-content>
|
|
88
|
+
<ion-header collapse="condense">
|
|
89
|
+
<ion-toolbar>
|
|
90
|
+
<ion-title size="large">Header</ion-title>
|
|
91
|
+
</ion-toolbar>
|
|
92
|
+
</ion-header>
|
|
93
|
+
|
|
94
|
+
<ion-header mode="ios">
|
|
95
|
+
<ion-toolbar>
|
|
96
|
+
<ion-title>Welcome</ion-title>
|
|
97
|
+
</ion-toolbar>
|
|
98
|
+
</ion-header>
|
|
99
|
+
</ion-content>
|
|
100
|
+
`, config);
|
|
101
|
+
const header = page.locator('ion-header#main-header');
|
|
102
|
+
/**
|
|
103
|
+
* The existence of the iOS header in an MD app should not cause the main MD header
|
|
104
|
+
* to be hidden. We do not have toHaveVisible because the behavior that hides
|
|
105
|
+
* the header under correct circumstances does it using opacity: 0.
|
|
106
|
+
* Playwright considers an element with opacity: 0 to still be visible
|
|
107
|
+
* because it has a non-zero bounding box.
|
|
108
|
+
*/
|
|
109
|
+
await expect(header).toHaveScreenshot(screenshot('header-md-visibility-ios-descendant'));
|
|
110
|
+
});
|
|
111
|
+
test('should not hide MD headers when using a root iOS header in an MD app', async ({ page }) => {
|
|
112
|
+
test.info().annotations.push({
|
|
113
|
+
type: 'issue',
|
|
114
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/28867',
|
|
115
|
+
});
|
|
116
|
+
await page.setContent(`
|
|
117
|
+
<ion-header id="main-header" mode="ios">
|
|
118
|
+
<ion-toolbar>
|
|
119
|
+
<ion-title>Header</ion-title>
|
|
120
|
+
</ion-toolbar>
|
|
121
|
+
</ion-header>
|
|
122
|
+
<ion-content>
|
|
123
|
+
<ion-header collapse="condense">
|
|
124
|
+
<ion-toolbar>
|
|
125
|
+
<ion-title size="large">Header</ion-title>
|
|
126
|
+
</ion-toolbar>
|
|
127
|
+
</ion-header>
|
|
128
|
+
|
|
129
|
+
<ion-header>
|
|
130
|
+
<ion-toolbar>
|
|
131
|
+
<ion-title>Welcome</ion-title>
|
|
132
|
+
</ion-toolbar>
|
|
133
|
+
</ion-header>
|
|
134
|
+
</ion-content>
|
|
135
|
+
`, config);
|
|
136
|
+
const header = page.locator('ion-header#main-header');
|
|
137
|
+
/**
|
|
138
|
+
* The existence of the iOS header in an MD app should not cause the main MD header
|
|
139
|
+
* to be hidden. We do not have toHaveVisible because the behavior that hides
|
|
140
|
+
* the header under correct circumstances does it using opacity: 0.
|
|
141
|
+
* Playwright considers an element with opacity: 0 to still be visible
|
|
142
|
+
* because it has a non-zero bounding box.
|
|
143
|
+
*/
|
|
144
|
+
await expect(header).toHaveScreenshot(screenshot('header-md-visibility-ios-main'));
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
});
|
|
@@ -71,7 +71,7 @@ export class Img {
|
|
|
71
71
|
render() {
|
|
72
72
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
73
73
|
const { draggable } = inheritedAttributes;
|
|
74
|
-
return (h(Host, { key: '
|
|
74
|
+
return (h(Host, { key: 'efff4d1bd0e54dbeff140c137eb50b803a9f6f60', class: getIonMode(this) }, h("img", { key: '3a1e0276ae67a7e40ec8c4ecd0061634573b2094', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
75
75
|
}
|
|
76
76
|
static get is() { return "ion-img"; }
|
|
77
77
|
static get encapsulation() { return "shadow"; }
|
|
@@ -167,7 +167,7 @@ export class InfiniteScroll {
|
|
|
167
167
|
render() {
|
|
168
168
|
const mode = getIonMode(this);
|
|
169
169
|
const disabled = this.disabled;
|
|
170
|
-
return (h(Host, { key: '
|
|
170
|
+
return (h(Host, { key: 'c2248d06232dd7771dd155693ec75f9258dc969e', class: {
|
|
171
171
|
[mode]: true,
|
|
172
172
|
'infinite-scroll-loading': this.isLoading,
|
|
173
173
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -27,11 +27,11 @@ export class InfiniteScrollContent {
|
|
|
27
27
|
}
|
|
28
28
|
render() {
|
|
29
29
|
const mode = getIonMode(this);
|
|
30
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: '2f4afb07bcfe3e12528eb9cee8646a097e0b359f', class: {
|
|
31
31
|
[mode]: true,
|
|
32
32
|
// Used internally for styling
|
|
33
33
|
[`infinite-scroll-content-${mode}`]: true,
|
|
34
|
-
} }, h("div", { key: '
|
|
34
|
+
} }, h("div", { key: 'af038177bf10c88c8970682487a4328689aaa5f2', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: '1da5d419bc6a978b6a509fdab47dae347fc8d221', class: "infinite-loading-spinner" }, h("ion-spinner", { key: '60cc5c64e0a317ac0005d5afe42c4bb8da58136f', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
|
|
35
35
|
}
|
|
36
36
|
static get is() { return "ion-infinite-scroll-content"; }
|
|
37
37
|
static get originalStyleUrls() {
|
|
@@ -429,6 +429,14 @@ export class Input {
|
|
|
429
429
|
* button is activated.
|
|
430
430
|
*/
|
|
431
431
|
ev.preventDefault();
|
|
432
|
+
}, onFocusin: (ev) => {
|
|
433
|
+
/**
|
|
434
|
+
* Prevent the focusin event from bubbling otherwise it will cause the focusin
|
|
435
|
+
* event listener in scroll assist to fire. When this fires, focus will be moved
|
|
436
|
+
* back to the input even if the clear button was never tapped. This poses issues
|
|
437
|
+
* for screen readers as it means users would be unable to swipe past the clear button.
|
|
438
|
+
*/
|
|
439
|
+
ev.stopPropagation();
|
|
432
440
|
}, onClick: this.clearTextInput }, h("ion-icon", { "aria-hidden": "true", icon: mode === 'ios' ? closeCircle : closeSharp }))), h("slot", { name: "end" })), shouldRenderHighlight && h("div", { class: "input-highlight" })), this.renderBottomContent()));
|
|
433
441
|
}
|
|
434
442
|
// TODO FW-2764 Remove this
|
|
@@ -269,7 +269,7 @@ export class Item {
|
|
|
269
269
|
'ion-activatable': canActivate,
|
|
270
270
|
'ion-focusable': this.focusable,
|
|
271
271
|
'item-rtl': document.dir === 'rtl',
|
|
272
|
-
})), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: '1f9e61b627fc94d646cccbfd8be24df745080c2c' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '6690445e14e6f0614beae23b6cc2a2b9cd668934', name: "start" }), h("div", { key: 'cc36ee6ad3f3c04b7fe907f7c63e81fa43938b28', class: "item-inner" }, h("div", { key: '502eff7a3d237fa5658e505b3d2f74cdfdef16af', class: "input-wrapper" }, h("slot", { key: '750d23dcab6844acb92c9636f21dff04c91d2b22' })), h("slot", { key: 'ed16f6bce4ea5a76a181597b879f9bb55c909612', name: "end" }), showDetail && (h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), h("div", { key: '
|
|
272
|
+
})), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: '1f9e61b627fc94d646cccbfd8be24df745080c2c' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '6690445e14e6f0614beae23b6cc2a2b9cd668934', name: "start" }), h("div", { key: 'cc36ee6ad3f3c04b7fe907f7c63e81fa43938b28', class: "item-inner" }, h("div", { key: '502eff7a3d237fa5658e505b3d2f74cdfdef16af', class: "input-wrapper" }, h("slot", { key: '750d23dcab6844acb92c9636f21dff04c91d2b22' })), h("slot", { key: 'ed16f6bce4ea5a76a181597b879f9bb55c909612', name: "end" }), showDetail && (h("ion-icon", { key: '95f5b05d1e409dbb7637f68313898d01a7321a15', icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), h("div", { key: '8074c0486bf0b72a4503f55dcb4a1fa8da310899', class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", { key: '7b2362cdcf8aaf8791f12d3f0b4aa1198d2b4961' }), h("div", { key: 'e82c247286a9dcd1cf6e839b6e95434de175146b', class: "item-highlight" })), h("div", { key: '37524cfdb3518f1f2a958eae4b49977a1199ba3d', class: "item-bottom" }, h("slot", { key: '3643138f87985649e8ee32e099f4b592a45c4712', name: "error" }), h("slot", { key: '0ce71b7fae1256290da625d0d70ac2ff69425247', name: "helper" }), counterString && h("ion-note", { key: '4549ec01076ae1fe959bb88cafa24528444919a1', class: "item-counter" }, counterString))));
|
|
273
273
|
}
|
|
274
274
|
static get is() { return "ion-item"; }
|
|
275
275
|
static get encapsulation() { return "shadow"; }
|
|
@@ -18,12 +18,28 @@ configs().forEach(({ title, screenshot, config }) => {
|
|
|
18
18
|
});
|
|
19
19
|
});
|
|
20
20
|
});
|
|
21
|
-
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
21
|
+
configs({ directions: ['ltr'], themes: ['dark'] }).forEach(({ title, screenshot, config }) => {
|
|
22
22
|
test.describe(title('item: buttons dark'), () => {
|
|
23
23
|
test('should not have visual regressions in dark', async ({ page }) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
test.info().annotations.push({
|
|
25
|
+
type: 'issue',
|
|
26
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/27130',
|
|
27
|
+
});
|
|
28
|
+
await page.setContent(`
|
|
29
|
+
<ion-list>
|
|
30
|
+
<ion-item button="true">
|
|
31
|
+
<ion-label>Button Item</ion-label>
|
|
32
|
+
</ion-item>
|
|
33
|
+
<ion-item button="true" class="ion-activated">
|
|
34
|
+
<ion-label>Activated Button Item</ion-label>
|
|
35
|
+
</ion-item>
|
|
36
|
+
<ion-item button="true" class="ion-focused">
|
|
37
|
+
<ion-label>Focused Button Item</ion-label>
|
|
38
|
+
</ion-item>
|
|
39
|
+
</ion-list>
|
|
40
|
+
`, config);
|
|
41
|
+
const list = page.locator('ion-list');
|
|
42
|
+
await expect(list).toHaveScreenshot(screenshot(`item-buttons-dark-diff`));
|
|
27
43
|
});
|
|
28
44
|
});
|
|
29
45
|
});
|
|
@@ -18,11 +18,11 @@ export class ItemDivider {
|
|
|
18
18
|
}
|
|
19
19
|
render() {
|
|
20
20
|
const mode = getIonMode(this);
|
|
21
|
-
return (h(Host, { key: '
|
|
21
|
+
return (h(Host, { key: '5727179159ef2a8879f55435265003e0ec72df3f', class: createColorClasses(this.color, {
|
|
22
22
|
[mode]: true,
|
|
23
23
|
'item-divider-sticky': this.sticky,
|
|
24
24
|
item: true,
|
|
25
|
-
}) }, h("slot", { key: '
|
|
25
|
+
}) }, h("slot", { key: 'bb7df137e60ca3fa9a50c612e30fbb3ee4c818ad', name: "start" }), h("div", { key: '6a25a01271957cfdd8e8dfb6ef76e1eb710380f2', class: "item-divider-inner" }, h("div", { key: '554ba681b0f346ed0af03232f8b2e6ca399877d9', class: "item-divider-wrapper" }, h("slot", { key: 'f98e20a01f09d0a2e19b7351eb1b4028881a07ab' })), h("slot", { key: '755643b5b8d3463af41b3d0805871073a34386a3', name: "end" }))));
|
|
26
26
|
}
|
|
27
27
|
static get is() { return "ion-item-divider"; }
|
|
28
28
|
static get encapsulation() { return "shadow"; }
|
|
@@ -6,7 +6,7 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
6
6
|
export class ItemGroup {
|
|
7
7
|
render() {
|
|
8
8
|
const mode = getIonMode(this);
|
|
9
|
-
return (h(Host, { key: '
|
|
9
|
+
return (h(Host, { key: '5778fb7e9c6791874b4ff14f0babdae715e322e7', role: "group", class: {
|
|
10
10
|
[mode]: true,
|
|
11
11
|
// Used internally for styling
|
|
12
12
|
[`item-group-${mode}`]: true,
|
|
@@ -44,12 +44,12 @@ export class ItemOption {
|
|
|
44
44
|
href: this.href,
|
|
45
45
|
target: this.target,
|
|
46
46
|
};
|
|
47
|
-
return (h(Host, { key: '
|
|
47
|
+
return (h(Host, { key: '763c3a7571b143d1068d85103ccab403bc48abae', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
48
48
|
[mode]: true,
|
|
49
49
|
'item-option-disabled': disabled,
|
|
50
50
|
'item-option-expandable': expandable,
|
|
51
51
|
'ion-activatable': true,
|
|
52
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
52
|
+
}) }, h(TagType, Object.assign({ key: 'cb199c2ccd38abaad3460f184af3093bf08546cc' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: 'f3ce9f1d343890c6f55f2609127f1e5113a2eedf', class: "button-inner" }, h("slot", { key: 'cd9434883c0bdb4129fb6f49970d49710653a09a', name: "top" }), h("div", { key: '764529c5f4b3d82105ce55885e8f121a91e8bc4a', class: "horizontal-wrapper" }, h("slot", { key: '5bbd7b9ed9f35c8bf422c3134a1a097e174ad6df', name: "start" }), h("slot", { key: '1e70a781cdf4ffcefb1dea70abe43655d7857c4b', name: "icon-only" }), h("slot", { key: 'c3205e9b1577a56786c10a8b5b420010b5fe53fc' }), h("slot", { key: '6bae6c98cd8d8526a203af47ca8e83753e1e1cb6', name: "end" })), h("slot", { key: '466cc32cdf9cbbdbb58e4b29144215cf2984c0d6', name: "bottom" })), mode === 'md' && h("ion-ripple-effect", { key: 'b5c54b801008b307ca8f718a41101be3e8d1d938' }))));
|
|
53
53
|
}
|
|
54
54
|
static get is() { return "ion-item-option"; }
|
|
55
55
|
static get encapsulation() { return "shadow"; }
|
|
@@ -17,7 +17,7 @@ export class ItemOptions {
|
|
|
17
17
|
render() {
|
|
18
18
|
const mode = getIonMode(this);
|
|
19
19
|
const isEnd = isEndSide(this.side);
|
|
20
|
-
return (h(Host, { key: '
|
|
20
|
+
return (h(Host, { key: '3dca0415ec2942ac8e87a057e26bcb290a892f65', class: {
|
|
21
21
|
[mode]: true,
|
|
22
22
|
// Used internally for styling
|
|
23
23
|
[`item-options-${mode}`]: true,
|
|
@@ -386,7 +386,7 @@ export class ItemSliding {
|
|
|
386
386
|
}
|
|
387
387
|
render() {
|
|
388
388
|
const mode = getIonMode(this);
|
|
389
|
-
return (h(Host, { key: '
|
|
389
|
+
return (h(Host, { key: '7f191e38bf717e6ccb246aa7b9fbd29d01e64677', class: {
|
|
390
390
|
[mode]: true,
|
|
391
391
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
392
392
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -55,7 +55,7 @@ export class Label {
|
|
|
55
55
|
render() {
|
|
56
56
|
const position = this.position;
|
|
57
57
|
const mode = getIonMode(this);
|
|
58
|
-
return (h(Host, { key: '
|
|
58
|
+
return (h(Host, { key: '72ad4ba5c1137ae0130e421346668e436ea53bf8', class: createColorClasses(this.color, {
|
|
59
59
|
[mode]: true,
|
|
60
60
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
61
61
|
[`label-${position}`]: position !== undefined,
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
+
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
|
+
test.describe(title('label: in item'), () => {
|
|
8
|
+
test('should render correctly in an item', async ({ page }) => {
|
|
9
|
+
test.info().annotations.push({
|
|
10
|
+
type: 'issue',
|
|
11
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/29033',
|
|
12
|
+
});
|
|
13
|
+
await page.setContent(`
|
|
14
|
+
<ion-item>
|
|
15
|
+
<ion-label slot="start">Start</ion-label>
|
|
16
|
+
<ion-label>Default</ion-label>
|
|
17
|
+
<ion-label slot="end">End</ion-label>
|
|
18
|
+
</ion-item>
|
|
19
|
+
`, config);
|
|
20
|
+
const item = page.locator('ion-item');
|
|
21
|
+
await expect(item).toHaveScreenshot(screenshot(`label-item`));
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
});
|
|
@@ -27,7 +27,7 @@ export class List {
|
|
|
27
27
|
render() {
|
|
28
28
|
const mode = getIonMode(this);
|
|
29
29
|
const { lines, inset } = this;
|
|
30
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: '3df401155114c7a39c81f201bf8a181d07e8d4c8', role: "list", class: {
|
|
31
31
|
[mode]: true,
|
|
32
32
|
// Used internally for styling
|
|
33
33
|
[`list-${mode}`]: true,
|
|
@@ -15,10 +15,10 @@ export class ListHeader {
|
|
|
15
15
|
render() {
|
|
16
16
|
const { lines } = this;
|
|
17
17
|
const mode = getIonMode(this);
|
|
18
|
-
return (h(Host, { key: '
|
|
18
|
+
return (h(Host, { key: 'e5fabb3ae91e6fe47c89273d1d2dba5902f77f94', class: createColorClasses(this.color, {
|
|
19
19
|
[mode]: true,
|
|
20
20
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
21
|
-
}) }, h("div", { key: '
|
|
21
|
+
}) }, h("div", { key: 'a9cfdaa436267fbabb0d618c3932849c1b77fbd2', class: "list-header-inner" }, h("slot", { key: '8ed806fd58f8f2265c5bf466886086e88ada93cc' }))));
|
|
22
22
|
}
|
|
23
23
|
static get is() { return "ion-list-header"; }
|
|
24
24
|
static get encapsulation() { return "shadow"; }
|
|
@@ -158,9 +158,9 @@ export class Loading {
|
|
|
158
158
|
* Otherwise, don't set aria-labelledby.
|
|
159
159
|
*/
|
|
160
160
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
161
|
-
return (h(Host, Object.assign({ key: '
|
|
161
|
+
return (h(Host, Object.assign({ key: 'e780853dc67b7b4ebd8dd65cadab648e4238c6ee', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
162
162
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
163
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '
|
|
163
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '8cd59ca7bc97b981fd578a526dfe859847e4d392', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'ef392aaf2cb7f6f9cecc685525cce3abc333e800', tabindex: "0" }), h("div", { key: 'f1f6df21a7fa6565fe33acb4a5f355b5ec3e65b2', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '725cf5a206152885e31ab061b0c466fe1ead0225', class: "loading-spinner" }, h("ion-spinner", { key: '5891dc39fa133b71576aec219f552386b202e163', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '8103269f1181325a507ed1c681f5ef15e40fbc34', tabindex: "0" })));
|
|
164
164
|
}
|
|
165
165
|
static get is() { return "ion-loading"; }
|
|
166
166
|
static get encapsulation() { return "scoped"; }
|