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
|
@@ -30,10 +30,10 @@ const MenuToggle = /*@__PURE__*/ proxyCustomElement(class MenuToggle extends HTM
|
|
|
30
30
|
render() {
|
|
31
31
|
const mode = getIonMode(this);
|
|
32
32
|
const hidden = this.autoHide && !this.visible;
|
|
33
|
-
return (h(Host, { key: '
|
|
33
|
+
return (h(Host, { key: '94a0815a634c6fb1991854bfbcf5b2b4b61d7710', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
34
34
|
[mode]: true,
|
|
35
35
|
'menu-toggle-hidden': hidden,
|
|
36
|
-
} }, h("slot", { key: '
|
|
36
|
+
} }, h("slot", { key: 'f3ac6d17d5421390ab05f3f31ad00ec4f2ca5c7c' })));
|
|
37
37
|
}
|
|
38
38
|
static get style() { return IonMenuToggleStyle0; }
|
|
39
39
|
}, [1, "ion-menu-toggle", {
|
package/components/ion-menu.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { proxyCustomElement, HTMLElement, createEvent, Build, h, Host } from '@stencil/core/internal/client';
|
|
5
5
|
import { g as getTimeGivenProgression } from './cubic-bezier.js';
|
|
6
6
|
import { G as GESTURE_CONTROLLER } from './gesture-controller.js';
|
|
7
|
-
import {
|
|
7
|
+
import { shouldUseCloseWatcher } from './hardware-back-button.js';
|
|
8
8
|
import { o as isEndSide, i as inheritAriaAttributes, p as assert, m as clamp } from './helpers.js';
|
|
9
9
|
import { m as menuController } from './index4.js';
|
|
10
10
|
import { o as getPresentedOverlay } from './overlays.js';
|
|
@@ -612,13 +612,13 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
|
|
|
612
612
|
* the ionBackButton listener in the menu controller
|
|
613
613
|
* will handle closing the menu when Escape is pressed.
|
|
614
614
|
*/
|
|
615
|
-
return (h(Host, { key: '
|
|
615
|
+
return (h(Host, { key: '7443f67fbe5122052025bab862136044fc942401', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
616
616
|
[mode]: true,
|
|
617
617
|
[`menu-type-${type}`]: true,
|
|
618
618
|
'menu-enabled': !disabled,
|
|
619
619
|
[`menu-side-${side}`]: true,
|
|
620
620
|
'menu-pane-visible': isPaneVisible,
|
|
621
|
-
} }, h("div", { key: '
|
|
621
|
+
} }, h("div", { key: '45c7d37ace20f663a4bea89cb38bbc798f88dfbd', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '975437a5d4029cc200b6dbc2d47a16b4318c00aa' })), h("ion-backdrop", { key: 'acc8a1f5dc1b1e2a34757bf797e794017f545bdc', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
622
622
|
}
|
|
623
623
|
get el() { return this; }
|
|
624
624
|
static get watchers() { return {
|
package/components/ion-modal.js
CHANGED
|
@@ -875,19 +875,32 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
875
875
|
}
|
|
876
876
|
const canStart = (detail) => {
|
|
877
877
|
/**
|
|
878
|
-
* If the
|
|
879
|
-
*
|
|
880
|
-
*
|
|
881
|
-
*
|
|
878
|
+
* If we are swiping on the content, swiping should only be possible if the content
|
|
879
|
+
* is scrolled all the way to the top so that we do not interfere with scrolling.
|
|
880
|
+
*
|
|
881
|
+
* We cannot assume that the `ion-content` target will remain consistent between swipes.
|
|
882
|
+
* For example, when using ion-nav within a modal it is possible to swipe, push a view,
|
|
883
|
+
* and then swipe again. The target content will not be the same between swipes.
|
|
882
884
|
*/
|
|
883
|
-
const
|
|
885
|
+
const contentEl = findClosestIonContent(detail.event.target);
|
|
884
886
|
currentBreakpoint = getCurrentBreakpoint();
|
|
885
|
-
if (currentBreakpoint === 1 &&
|
|
886
|
-
|
|
887
|
+
if (currentBreakpoint === 1 && contentEl) {
|
|
888
|
+
/**
|
|
889
|
+
* The modal should never swipe to close on the content with a refresher.
|
|
890
|
+
* Note 1: We cannot solve this by making this gesture have a higher priority than
|
|
891
|
+
* the refresher gesture as the iOS native refresh gesture uses a scroll listener in
|
|
892
|
+
* addition to a gesture.
|
|
893
|
+
*
|
|
894
|
+
* Note 2: Do not use getScrollElement here because we need this to be a synchronous
|
|
895
|
+
* operation, and getScrollElement is asynchronous.
|
|
896
|
+
*/
|
|
897
|
+
const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
898
|
+
const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
|
|
899
|
+
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
887
900
|
}
|
|
888
901
|
return true;
|
|
889
902
|
};
|
|
890
|
-
const onStart = () => {
|
|
903
|
+
const onStart = (detail) => {
|
|
891
904
|
/**
|
|
892
905
|
* If canDismiss is anything other than `true`
|
|
893
906
|
* then users should be able to swipe down
|
|
@@ -902,11 +915,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
902
915
|
*/
|
|
903
916
|
canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
|
|
904
917
|
/**
|
|
905
|
-
* If
|
|
906
|
-
*
|
|
907
|
-
* the sheet will expand and the content will scroll.
|
|
918
|
+
* If we are pulling down, then it is possible we are pulling on the content.
|
|
919
|
+
* We do not want scrolling to happen at the same time as the gesture.
|
|
908
920
|
*/
|
|
909
|
-
if (contentEl) {
|
|
921
|
+
if (detail.deltaY > 0 && contentEl) {
|
|
910
922
|
contentEl.scrollY = false;
|
|
911
923
|
}
|
|
912
924
|
raf(() => {
|
|
@@ -919,6 +931,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
919
931
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
920
932
|
};
|
|
921
933
|
const onMove = (detail) => {
|
|
934
|
+
/**
|
|
935
|
+
* If we are pulling down, then it is possible we are pulling on the content.
|
|
936
|
+
* We do not want scrolling to happen at the same time as the gesture.
|
|
937
|
+
* This accounts for when the user scrolls down, scrolls all the way up, and then
|
|
938
|
+
* pulls down again such that the modal should start to move.
|
|
939
|
+
*/
|
|
940
|
+
if (detail.deltaY > 0 && contentEl) {
|
|
941
|
+
contentEl.scrollY = false;
|
|
942
|
+
}
|
|
922
943
|
/**
|
|
923
944
|
* Given the change in gesture position on the Y axis,
|
|
924
945
|
* compute where the offset of the animation should be
|
|
@@ -1021,6 +1042,16 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1021
1042
|
else if (!shouldRemainOpen) {
|
|
1022
1043
|
onDismiss();
|
|
1023
1044
|
}
|
|
1045
|
+
/**
|
|
1046
|
+
* If the sheet is going to be fully expanded then we should enable
|
|
1047
|
+
* scrolling immediately. The sheet modal animation takes ~500ms to finish
|
|
1048
|
+
* so if we wait until then there is a visible delay for when scrolling is
|
|
1049
|
+
* re-enabled. Native iOS allows for scrolling on the sheet modal as soon
|
|
1050
|
+
* as the gesture is released, so we align with that.
|
|
1051
|
+
*/
|
|
1052
|
+
if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
|
|
1053
|
+
contentEl.scrollY = true;
|
|
1054
|
+
}
|
|
1024
1055
|
return new Promise((resolve) => {
|
|
1025
1056
|
animation
|
|
1026
1057
|
.onFinish(() => {
|
|
@@ -1039,13 +1070,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1039
1070
|
animation.progressStart(true, 1 - snapToBreakpoint);
|
|
1040
1071
|
currentBreakpoint = snapToBreakpoint;
|
|
1041
1072
|
onBreakpointChange(currentBreakpoint);
|
|
1042
|
-
/**
|
|
1043
|
-
* If the sheet is fully expanded, we can safely
|
|
1044
|
-
* enable scrolling again.
|
|
1045
|
-
*/
|
|
1046
|
-
if (contentEl && currentBreakpoint === breakpoints[breakpoints.length - 1]) {
|
|
1047
|
-
contentEl.scrollY = true;
|
|
1048
|
-
}
|
|
1049
1073
|
/**
|
|
1050
1074
|
* Backdrop should become enabled
|
|
1051
1075
|
* after the backdropBreakpoint value
|
|
@@ -1214,9 +1238,41 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1214
1238
|
this.triggerController.removeClickListener();
|
|
1215
1239
|
}
|
|
1216
1240
|
componentWillLoad() {
|
|
1217
|
-
const { breakpoints, initialBreakpoint, el } = this;
|
|
1241
|
+
const { breakpoints, initialBreakpoint, el, htmlAttributes } = this;
|
|
1218
1242
|
const isSheetModal = (this.isSheetModal = breakpoints !== undefined && initialBreakpoint !== undefined);
|
|
1219
|
-
|
|
1243
|
+
const attributesToInherit = ['aria-label', 'role'];
|
|
1244
|
+
this.inheritedAttributes = inheritAttributes(el, attributesToInherit);
|
|
1245
|
+
/**
|
|
1246
|
+
* When using a controller modal you can set attributes
|
|
1247
|
+
* using the htmlAttributes property. Since the above attributes
|
|
1248
|
+
* need to be inherited inside of the modal, we need to look
|
|
1249
|
+
* and see if these attributes are being set via htmlAttributes.
|
|
1250
|
+
*
|
|
1251
|
+
* We could alternatively move this to componentDidLoad to simplify the work
|
|
1252
|
+
* here, but we'd then need to make inheritedAttributes a State variable,
|
|
1253
|
+
* thus causing another render to always happen after the first render.
|
|
1254
|
+
*/
|
|
1255
|
+
if (htmlAttributes !== undefined) {
|
|
1256
|
+
attributesToInherit.forEach((attribute) => {
|
|
1257
|
+
const attributeValue = htmlAttributes[attribute];
|
|
1258
|
+
if (attributeValue) {
|
|
1259
|
+
/**
|
|
1260
|
+
* If an attribute we need to inherit was
|
|
1261
|
+
* set using htmlAttributes then add it to
|
|
1262
|
+
* inheritedAttributes and remove it from htmlAttributes.
|
|
1263
|
+
* This ensures the attribute is inherited and not
|
|
1264
|
+
* set on the host.
|
|
1265
|
+
*
|
|
1266
|
+
* In this case, if an inherited attribute is set
|
|
1267
|
+
* on the host element and using htmlAttributes then
|
|
1268
|
+
* htmlAttributes wins, but that's not a pattern that we recommend.
|
|
1269
|
+
* The only time you'd need htmlAttributes is when using modalController.
|
|
1270
|
+
*/
|
|
1271
|
+
this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { [attribute]: htmlAttributes[attribute] });
|
|
1272
|
+
delete htmlAttributes[attribute];
|
|
1273
|
+
}
|
|
1274
|
+
});
|
|
1275
|
+
}
|
|
1220
1276
|
if (isSheetModal) {
|
|
1221
1277
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
1222
1278
|
}
|
|
@@ -1613,18 +1669,18 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
|
|
|
1613
1669
|
const mode = getIonMode(this);
|
|
1614
1670
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1615
1671
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1616
|
-
return (h(Host, Object.assign({ key: '
|
|
1672
|
+
return (h(Host, Object.assign({ key: 'e4ad28e6e794560d85252aebdca7f4752e4e7e99', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1617
1673
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1618
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '
|
|
1674
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '6efd67361a062d15488390f9f0d6c0841e541893', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '557b1c6b297df75acc80d1350b971e65ace6c343', class: "modal-shadow" }), h("div", Object.assign({ key: '67f9b27b662303fbaadaee2ae89972caadfd9994',
|
|
1619
1675
|
/*
|
|
1620
1676
|
role and aria-modal must be used on the
|
|
1621
1677
|
same element. They must also be set inside the
|
|
1622
1678
|
shadow DOM otherwise ion-button will not be highlighted
|
|
1623
1679
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
1624
1680
|
*/
|
|
1625
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { class: "modal-handle",
|
|
1681
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '8f1eecc451b52467a8c3cfe500335cf6254bbfbc', class: "modal-handle",
|
|
1626
1682
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1627
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '
|
|
1683
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: 'cdc923404f01a14b9071a434c68547da3b22c71e' }))));
|
|
1628
1684
|
}
|
|
1629
1685
|
get el() { return this; }
|
|
1630
1686
|
static get watchers() { return {
|
|
@@ -36,7 +36,7 @@ const NavLink = /*@__PURE__*/ proxyCustomElement(class NavLink extends HTMLEleme
|
|
|
36
36
|
this.routerAnimation = undefined;
|
|
37
37
|
}
|
|
38
38
|
render() {
|
|
39
|
-
return h(Host, { key: '
|
|
39
|
+
return h(Host, { key: 'dab6e8a908395d99c87452c5e5aa4e61d9e72435', onClick: this.onClick });
|
|
40
40
|
}
|
|
41
41
|
get el() { return this; }
|
|
42
42
|
}, [0, "ion-nav-link", {
|
package/components/ion-nav.js
CHANGED
|
@@ -902,7 +902,7 @@ const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
|
|
|
902
902
|
}
|
|
903
903
|
}
|
|
904
904
|
render() {
|
|
905
|
-
return h("slot", { key: '
|
|
905
|
+
return h("slot", { key: '6894eccc60e446294b01261477691ea1e88348ab' });
|
|
906
906
|
}
|
|
907
907
|
get el() { return this; }
|
|
908
908
|
static get watchers() { return {
|
package/components/ion-picker.js
CHANGED
|
@@ -242,11 +242,11 @@ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement
|
|
|
242
242
|
render() {
|
|
243
243
|
const { htmlAttributes } = this;
|
|
244
244
|
const mode = getIonMode(this);
|
|
245
|
-
return (h(Host, Object.assign({ key: '
|
|
245
|
+
return (h(Host, Object.assign({ key: 'eb5f91ea74fb11daa6942f779ef461742cad9ecb', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
246
246
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
247
247
|
}, class: Object.assign({ [mode]: true,
|
|
248
248
|
// Used internally for styling
|
|
249
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '
|
|
249
|
+
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '7ea872d939e62f14129fff15334b2822ad2360c9', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '2d77c225091eacab0207e28c96b966122afafef0', tabindex: "0" }), h("div", { key: '630d21e0c60ad97b71462cdc540858bb6ced0b8f', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: 'fa8553ec8d2ce8bf93e16e02334b6475cb51b5d4', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '177d1bcbd0ce38f16d9c936295a917fb981d02d7', class: "picker-columns" }, h("div", { key: 'be99b6e0279c210ef91a88ccc81acc7d37917a53', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-column", { col: c })), h("div", { key: 'b36b21e8133b59e873e1d3447a1279f1b971c854', class: "picker-below-highlight" }))), h("div", { key: '17cea6dd24dbb0a08073ca4a84bfe027eb24833d', tabindex: "0" })));
|
|
250
250
|
}
|
|
251
251
|
get el() { return this; }
|
|
252
252
|
static get watchers() { return {
|
|
@@ -27,7 +27,7 @@ const ProgressBar = /*@__PURE__*/ proxyCustomElement(class ProgressBar extends H
|
|
|
27
27
|
const { color, type, reversed, value, buffer } = this;
|
|
28
28
|
const paused = config.getBoolean('_testing');
|
|
29
29
|
const mode = getIonMode(this);
|
|
30
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: '944b79ed6fce1b2c0ed48681cd8517a5abbddd80', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
|
|
31
31
|
[mode]: true,
|
|
32
32
|
[`progress-bar-${type}`]: true,
|
|
33
33
|
'progress-paused': paused,
|
package/components/ion-range.js
CHANGED
|
@@ -100,8 +100,14 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
|
|
|
100
100
|
el: rangeSlider,
|
|
101
101
|
gestureName: 'range',
|
|
102
102
|
gesturePriority: 100,
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Provide a threshold since the drag movement
|
|
105
|
+
* might be a user scrolling the view.
|
|
106
|
+
* If this is true, then the range
|
|
107
|
+
* should not move.
|
|
108
|
+
*/
|
|
109
|
+
threshold: 10,
|
|
110
|
+
onStart: () => this.onStart(),
|
|
105
111
|
onMove: (ev) => this.onMove(ev),
|
|
106
112
|
onEnd: (ev) => this.onEnd(ev),
|
|
107
113
|
});
|
|
@@ -284,33 +290,93 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
|
|
|
284
290
|
this.value = this.ensureValueInBounds(this.value);
|
|
285
291
|
this.ionChange.emit({ value: this.value });
|
|
286
292
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
293
|
+
/**
|
|
294
|
+
* The value should be updated on touch end or
|
|
295
|
+
* when the component is being dragged.
|
|
296
|
+
* This follows the native behavior of mobile devices.
|
|
297
|
+
*
|
|
298
|
+
* For example: When the user lifts their finger from the
|
|
299
|
+
* screen after tapping the bar or dragging the bar or knob.
|
|
300
|
+
*/
|
|
301
|
+
onStart() {
|
|
302
|
+
this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* The value should be updated while dragging the
|
|
306
|
+
* bar or knob.
|
|
307
|
+
*
|
|
308
|
+
* While the user is dragging, the view
|
|
309
|
+
* should not scroll. This is to prevent the user from
|
|
310
|
+
* feeling disoriented while dragging.
|
|
311
|
+
*
|
|
312
|
+
* The user can scroll on the view if the knob or
|
|
313
|
+
* bar is not being dragged.
|
|
314
|
+
*
|
|
315
|
+
* @param detail The details of the gesture event.
|
|
316
|
+
*/
|
|
317
|
+
onMove(detail) {
|
|
318
|
+
const { contentEl, pressedKnob } = this;
|
|
319
|
+
const currentX = detail.currentX;
|
|
320
|
+
/**
|
|
321
|
+
* Since the user is dragging on the bar or knob, the view should not scroll.
|
|
322
|
+
*
|
|
323
|
+
* This only needs to be done once.
|
|
324
|
+
*/
|
|
325
|
+
if (contentEl && this.initialContentScrollY === undefined) {
|
|
290
326
|
this.initialContentScrollY = disableContentScrollY(contentEl);
|
|
291
327
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
328
|
+
/**
|
|
329
|
+
* The `pressedKnob` can be undefined if the user just
|
|
330
|
+
* started dragging the knob.
|
|
331
|
+
*
|
|
332
|
+
* This is necessary to determine which knob the user is dragging,
|
|
333
|
+
* especially when it's a dual knob.
|
|
334
|
+
* Plus, it determines when to apply certain styles.
|
|
335
|
+
*
|
|
336
|
+
* This only needs to be done once since the knob won't change
|
|
337
|
+
* while the user is dragging.
|
|
338
|
+
*/
|
|
339
|
+
if (pressedKnob === undefined) {
|
|
340
|
+
this.setPressedKnob(currentX);
|
|
298
341
|
}
|
|
299
|
-
this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
|
|
300
|
-
this.setFocus(this.pressedKnob);
|
|
301
|
-
// update the active knob's position
|
|
302
342
|
this.update(currentX);
|
|
303
|
-
this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
|
|
304
|
-
}
|
|
305
|
-
onMove(detail) {
|
|
306
|
-
this.update(detail.currentX);
|
|
307
343
|
}
|
|
344
|
+
/**
|
|
345
|
+
* The value should be updated on touch end:
|
|
346
|
+
* - When the user lifts their finger from the screen after
|
|
347
|
+
* tapping the bar.
|
|
348
|
+
*
|
|
349
|
+
* @param detail The details of the gesture or mouse event.
|
|
350
|
+
*/
|
|
308
351
|
onEnd(detail) {
|
|
309
352
|
const { contentEl, initialContentScrollY } = this;
|
|
310
|
-
|
|
353
|
+
const currentX = detail.currentX || detail.clientX;
|
|
354
|
+
/**
|
|
355
|
+
* The `pressedKnob` can be undefined if the user never
|
|
356
|
+
* dragged the knob. They just tapped on the bar.
|
|
357
|
+
*
|
|
358
|
+
* This is necessary to determine which knob the user is changing,
|
|
359
|
+
* especially when it's a dual knob.
|
|
360
|
+
* Plus, it determines when to apply certain styles.
|
|
361
|
+
*/
|
|
362
|
+
if (this.pressedKnob === undefined) {
|
|
363
|
+
this.setPressedKnob(currentX);
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* The user is no longer dragging the bar or
|
|
367
|
+
* knob (if they were dragging it).
|
|
368
|
+
*
|
|
369
|
+
* The user can now scroll on the view in the next gesture event.
|
|
370
|
+
*/
|
|
371
|
+
if (contentEl && initialContentScrollY !== undefined) {
|
|
311
372
|
resetContentScrollY(contentEl, initialContentScrollY);
|
|
312
373
|
}
|
|
313
|
-
|
|
374
|
+
// update the active knob's position
|
|
375
|
+
this.update(currentX);
|
|
376
|
+
/**
|
|
377
|
+
* Reset the pressed knob to undefined since the user
|
|
378
|
+
* may start dragging a different knob in the next gesture event.
|
|
379
|
+
*/
|
|
314
380
|
this.pressedKnob = undefined;
|
|
315
381
|
this.emitValueChange();
|
|
316
382
|
this.ionKnobMoveEnd.emit({ value: this.ensureValueInBounds(this.value) });
|
|
@@ -337,6 +403,16 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
|
|
|
337
403
|
// Update input value
|
|
338
404
|
this.updateValue();
|
|
339
405
|
}
|
|
406
|
+
setPressedKnob(currentX) {
|
|
407
|
+
const rect = (this.rect = this.rangeSlider.getBoundingClientRect());
|
|
408
|
+
// figure out which knob they started closer to
|
|
409
|
+
let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
|
|
410
|
+
if (isRTL(this.el)) {
|
|
411
|
+
ratio = 1 - ratio;
|
|
412
|
+
}
|
|
413
|
+
this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
|
|
414
|
+
this.setFocus(this.pressedKnob);
|
|
415
|
+
}
|
|
340
416
|
get valA() {
|
|
341
417
|
return ratioToValue(this.ratioA, this.min, this.max, this.step);
|
|
342
418
|
}
|
|
@@ -539,7 +615,36 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
539
615
|
if (!this.legacyFormController.hasLegacyControl() && this.hasLabel) {
|
|
540
616
|
labelledBy = 'range-label';
|
|
541
617
|
}
|
|
542
|
-
return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl)
|
|
618
|
+
return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl),
|
|
619
|
+
/**
|
|
620
|
+
* Since the gesture has a threshold, the value
|
|
621
|
+
* won't change until the user has dragged past
|
|
622
|
+
* the threshold. This is to prevent the range
|
|
623
|
+
* from moving when the user is scrolling.
|
|
624
|
+
*
|
|
625
|
+
* This results in the value not being updated
|
|
626
|
+
* and the event emitters not being triggered
|
|
627
|
+
* if the user taps on the range. This is why
|
|
628
|
+
* we need to listen for the "pointerUp" event.
|
|
629
|
+
*/
|
|
630
|
+
onPointerUp: (ev) => {
|
|
631
|
+
/**
|
|
632
|
+
* If the user drags the knob on the web
|
|
633
|
+
* version (does not occur on mobile),
|
|
634
|
+
* the "pointerUp" event will be triggered
|
|
635
|
+
* along with the gesture's events.
|
|
636
|
+
* This leads to duplicate events.
|
|
637
|
+
*
|
|
638
|
+
* By checking if the pressedKnob is undefined,
|
|
639
|
+
* we can determine if the "pointerUp" event was
|
|
640
|
+
* triggered by a tap or a drag. If it was
|
|
641
|
+
* dragged, the pressedKnob will be defined.
|
|
642
|
+
*/
|
|
643
|
+
if (this.pressedKnob === undefined) {
|
|
644
|
+
this.onStart();
|
|
645
|
+
this.onEnd(ev);
|
|
646
|
+
}
|
|
647
|
+
} }, ticks.map((tick) => (h("div", { style: tickStyle(tick), role: "presentation", class: {
|
|
543
648
|
'range-tick': true,
|
|
544
649
|
'range-tick-active': tick.active,
|
|
545
650
|
}, part: tick.active ? 'tick-active' : 'tick' }))), h("div", { class: "range-bar-container" }, h("div", { class: "range-bar", role: "presentation", part: "bar" }), h("div", { class: {
|
|
@@ -54,7 +54,7 @@ const RefresherContent = /*@__PURE__*/ proxyCustomElement(class RefresherContent
|
|
|
54
54
|
const pullingIcon = this.pullingIcon;
|
|
55
55
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
56
56
|
const mode = getIonMode(this);
|
|
57
|
-
return (h(Host, { key: '
|
|
57
|
+
return (h(Host, { key: 'cf3caa51c4aba8a95622f6d32cafa90b683b9d6e', class: mode }, h("div", { key: '5ad70801104bbea873d3525206660c52e4447903', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: '0f95df169fd367528bfaa5d9ccf6690a613609c4', class: "refresher-pulling-icon" }, h("div", { key: '4b8f0465a19f017751b207807c32e1fe00fda433', class: "spinner-arrow-container" }, h("ion-spinner", { key: '77e60179d76f0d17f8f2dc3518f97a2a924418e6', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: 'f78f63f08f071bead1bfe655bae6394f8a219d91', class: "arrow-container" }, h("ion-icon", { key: '4d833d134d2b221cae2dfb0611d4029f2d664db5', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: 'e6db19d7fa324363d2a7c3c046510f4c8461f7e6', class: "refresher-pulling-icon" }, h("ion-icon", { key: '66c2ef1a53c5809f49891de515da5f55d9bf8dcc', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: '80c413e21d362a5bb0419fcd13092453b3445cee', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: '0d5511f9644de26332a1a9ed39b160691fab74d9', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '54e4a96b081c7b453a98e00cceea7c086268a450', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
58
58
|
}
|
|
59
59
|
get el() { return this; }
|
|
60
60
|
}, [0, "ion-refresher-content", {
|
|
@@ -603,7 +603,7 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
|
|
|
603
603
|
}
|
|
604
604
|
render() {
|
|
605
605
|
const mode = getIonMode(this);
|
|
606
|
-
return (h(Host, { key: '
|
|
606
|
+
return (h(Host, { key: '96f4f595ebdb92a12755b642398691bcaab9f7c1', slot: "fixed", class: {
|
|
607
607
|
[mode]: true,
|
|
608
608
|
// Used internally for styling
|
|
609
609
|
[`refresher-${mode}`]: true,
|
|
@@ -245,7 +245,7 @@ const ReorderGroup = /*@__PURE__*/ proxyCustomElement(class ReorderGroup extends
|
|
|
245
245
|
}
|
|
246
246
|
render() {
|
|
247
247
|
const mode = getIonMode(this);
|
|
248
|
-
return (h(Host, { key: '
|
|
248
|
+
return (h(Host, { key: '68b5e5fa00a0531c74597964d84c82da8bc3252f', class: {
|
|
249
249
|
[mode]: true,
|
|
250
250
|
'reorder-enabled': !this.disabled,
|
|
251
251
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -30,7 +30,7 @@ const Reorder = /*@__PURE__*/ proxyCustomElement(class Reorder extends HTMLEleme
|
|
|
30
30
|
render() {
|
|
31
31
|
const mode = getIonMode(this);
|
|
32
32
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
33
|
-
return (h(Host, { key: '
|
|
33
|
+
return (h(Host, { key: '5747b63aa64b05bfed96bbce8087186c7e14c6d5', class: mode }, h("slot", { key: 'a745f29a23c905cd0bff572acb755b597a3fb3c3' }, h("ion-icon", { key: '48f433e85a3a68c16bc426623b2b74957b4b2eb7', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
34
34
|
}
|
|
35
35
|
get el() { return this; }
|
|
36
36
|
static get style() { return {
|
|
@@ -30,10 +30,10 @@ const RouterLink = /*@__PURE__*/ proxyCustomElement(class RouterLink extends HTM
|
|
|
30
30
|
rel: this.rel,
|
|
31
31
|
target: this.target,
|
|
32
32
|
};
|
|
33
|
-
return (h(Host, { key: '
|
|
33
|
+
return (h(Host, { key: 'e69892f4c6a6baf040a20c429afdec0e4db2dc0e', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
34
34
|
[mode]: true,
|
|
35
35
|
'ion-activatable': true,
|
|
36
|
-
}) }, h("a", Object.assign({ key: '
|
|
36
|
+
}) }, h("a", Object.assign({ key: '648cb22526f2933abe0865c86da6f30eac3ccb87' }, attrs), h("slot", { key: 'd6bc2e28b7c5cc228caedffebe653bde35934b67' }))));
|
|
37
37
|
}
|
|
38
38
|
static get style() { return IonRouterLinkStyle0; }
|
|
39
39
|
}, [1, "ion-router-link", {
|
|
@@ -187,7 +187,7 @@ const RouterOutlet = /*@__PURE__*/ proxyCustomElement(class RouterOutlet extends
|
|
|
187
187
|
return true;
|
|
188
188
|
}
|
|
189
189
|
render() {
|
|
190
|
-
return h("slot", { key: '
|
|
190
|
+
return h("slot", { key: '3fe520ecae37af68e07a51f3a3223ea454035a59' });
|
|
191
191
|
}
|
|
192
192
|
get el() { return this; }
|
|
193
193
|
static get watchers() { return {
|
package/components/ion-row.js
CHANGED
|
@@ -14,7 +14,7 @@ const Row = /*@__PURE__*/ proxyCustomElement(class Row extends HTMLElement {
|
|
|
14
14
|
this.__attachShadow();
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return (h(Host, { key: '
|
|
17
|
+
return (h(Host, { key: '242c9a45b0bb39af2aebf412fdfa9a176babc834', class: getIonMode(this) }, h("slot", { key: 'd9015d663d631bbf20bd3e0821fed874cd6c5156' })));
|
|
18
18
|
}
|
|
19
19
|
static get style() { return IonRowStyle0; }
|
|
20
20
|
}, [1, "ion-row"]);
|