@ionic/core 7.6.2-dev.11705694334.11b34c62 → 7.6.2-dev.11706205501.196a5433
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 +4 -4
- package/components/alert.js +2 -2
- package/components/animation.js +1 -16
- package/components/button-active.js +1 -1
- package/components/button.js +2 -2
- package/components/checkbox.js +2 -2
- package/components/ion-back-button.js +1 -1
- package/components/ion-badge.js +2 -2
- package/components/ion-content.js +2 -3
- package/components/ion-datetime-button.js +4 -4
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +2 -2
- package/components/ion-input.js +2 -2
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-sliding.js +7 -128
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu.js +21 -15
- package/components/ion-modal.js +1 -1
- package/components/ion-nav.js +7 -3
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-progress-bar.js +2 -5
- package/components/ion-range.js +2 -2
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-select.js +2 -2
- package/components/ion-split-pane.js +26 -15
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +1 -1
- package/components/ion-textarea.js +2 -2
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +2 -2
- package/components/item.js +2 -2
- package/components/label.js +1 -1
- package/components/picker-column2.js +1 -1
- package/components/radio.js +2 -2
- package/components/select-popover.js +1 -1
- package/css/core.css +101 -34
- package/css/core.css.map +1 -1
- package/css/global.bundle.css +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/themes/dark.always.css +122 -0
- package/css/themes/dark.always.css.map +1 -0
- package/css/themes/dark.class.css +122 -0
- package/css/themes/dark.class.css.map +1 -0
- package/css/themes/dark.css +3 -0
- package/css/themes/dark.css.map +1 -0
- package/css/themes/dark.system.css +124 -0
- package/css/themes/dark.system.css.map +1 -0
- package/css/typography.css +1 -1
- package/dist/cjs/{animation-8a4f9df4.js → animation-9b401d39.js} +0 -16
- package/dist/cjs/{button-active-466dfc8a.js → button-active-5bf1cac0.js} +1 -1
- package/dist/cjs/{index-d8b5d5f9.js → index-17ab7794.js} +2 -2
- package/dist/cjs/{index-8023641e.js → index-3b012034.js} +1 -1
- package/dist/cjs/index.cjs.js +5 -5
- package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
- package/dist/cjs/ion-alert.cjs.entry.js +4 -4
- package/dist/cjs/ion-app_8.cjs.entry.js +3 -4
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
- package/dist/cjs/ion-datetime_3.cjs.entry.js +5 -5
- package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-option_3.cjs.entry.js +10 -130
- package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-loading.cjs.entry.js +2 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +24 -19
- package/dist/cjs/ion-modal.cjs.entry.js +3 -3
- package/dist/cjs/ion-nav_2.cjs.entry.js +6 -3
- package/dist/cjs/ion-popover.cjs.entry.js +2 -2
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -5
- package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-range.cjs.entry.js +2 -2
- package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
- package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-split-pane.cjs.entry.js +24 -14
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +3 -3
- package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-34cad0cb.js → ios.transition-b5353f3e.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-5bcc289d.js → md.transition-67157dd9.js} +2 -2
- package/dist/collection/components/action-sheet/action-sheet.ios.css +5 -12
- package/dist/collection/components/action-sheet/action-sheet.js +2 -2
- package/dist/collection/components/action-sheet/action-sheet.md.css +2 -9
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +23 -14
- package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +0 -19
- package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +0 -22
- package/dist/collection/components/alert/alert.ios.css +27 -28
- package/dist/collection/components/alert/alert.md.css +6 -6
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +22 -9
- package/dist/collection/components/back-button/back-button.ios.css +1 -1
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +21 -0
- package/dist/collection/components/badge/badge.ios.css +1 -1
- package/dist/collection/components/badge/badge.md.css +1 -1
- package/dist/collection/components/badge/test/a11y/badge.e2e.js +18 -0
- package/dist/collection/components/button/button.ios.css +10 -10
- package/dist/collection/components/button/button.md.css +8 -8
- package/dist/collection/components/button/test/a11y/button.e2e.js +48 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +5 -5
- package/dist/collection/components/checkbox/checkbox.md.css +3 -2
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +11 -2
- package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +0 -10
- package/dist/collection/components/content/content.js +2 -3
- package/dist/collection/components/datetime/datetime.ios.css +2 -3
- package/dist/collection/components/datetime-button/{datetime-button.md.css → datetime-button.css} +6 -9
- package/dist/collection/components/datetime-button/datetime-button.js +4 -4
- package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +0 -12
- package/dist/collection/components/fab-button/fab-button.ios.css +13 -13
- package/dist/collection/components/fab-button/fab-button.md.css +4 -4
- package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +50 -0
- package/dist/collection/components/input/input.ios.css +3 -3
- package/dist/collection/components/input/input.md.css +3 -3
- package/dist/collection/components/input/test/a11y/input.e2e.js +41 -3
- package/dist/collection/components/item/item.ios.css +3 -3
- package/dist/collection/components/item/item.md.css +4 -4
- package/dist/collection/components/item-option/item-option.ios.css +2 -2
- package/dist/collection/components/item-option/item-option.md.css +1 -1
- package/dist/collection/components/item-sliding/item-sliding.css +4 -8
- package/dist/collection/components/item-sliding/item-sliding.js +6 -89
- package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +28 -0
- package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +25 -62
- package/dist/collection/components/label/label.md.css +1 -1
- package/dist/collection/components/label/test/a11y/label.e2e.js +20 -0
- package/dist/collection/components/loading/loading.md.css +1 -1
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +21 -5
- package/dist/collection/components/menu/menu.ios.css +64 -3
- package/dist/collection/components/menu/menu.js +19 -13
- package/dist/collection/components/menu/menu.md.css +64 -3
- package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +14 -0
- package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -1
- package/dist/collection/components/nav/nav.js +22 -2
- package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
- package/dist/collection/components/picker-legacy/picker.ios.css +1 -1
- package/dist/collection/components/picker-legacy/picker.md.css +1 -1
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +1 -1
- package/dist/collection/components/progress-bar/progress-bar.ios.css +11 -17
- package/dist/collection/components/progress-bar/progress-bar.js +0 -3
- package/dist/collection/components/progress-bar/progress-bar.md.css +10 -8
- package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +24 -0
- package/dist/collection/components/radio/radio.ios.css +2 -2
- package/dist/collection/components/radio/radio.md.css +2 -2
- package/dist/collection/components/radio/test/a11y/radio.e2e.js +101 -68
- package/dist/collection/components/range/range.ios.css +1 -1
- package/dist/collection/components/range/range.md.css +3 -3
- package/dist/collection/components/range/test/a11y/range.e2e.js +18 -8
- package/dist/collection/components/refresher/refresher.md.css +2 -2
- package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +25 -0
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/router-link/router-link.css +1 -1
- package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +23 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +4 -4
- package/dist/collection/components/segment/test/a11y/segment.e2e.js +23 -0
- package/dist/collection/components/segment-button/segment-button.md.css +2 -2
- package/dist/collection/components/select/select.ios.css +3 -3
- package/dist/collection/components/select/select.md.css +3 -3
- package/dist/collection/components/select/test/a11y/select.e2e.js +68 -4
- package/dist/collection/components/select-popover/select-popover.md.css +4 -4
- package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +32 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +1 -53
- package/dist/collection/components/split-pane/split-pane.js +46 -12
- package/dist/collection/components/split-pane/split-pane.md.css +1 -53
- package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +41 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +1 -1
- package/dist/collection/components/tab-bar/tab-bar.md.css +1 -1
- package/dist/collection/components/tab-button/tab-button.ios.css +1 -6
- package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +41 -3
- package/dist/collection/components/textarea/textarea.ios.css +3 -3
- package/dist/collection/components/textarea/textarea.md.css +3 -3
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +56 -24
- package/dist/collection/components/toast/toast.ios.css +1 -1
- package/dist/collection/components/toast/toast.md.css +2 -2
- package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +8 -2
- package/dist/collection/components/toggle/toggle.ios.css +8 -8
- package/dist/collection/components/toggle/toggle.md.css +2 -2
- package/dist/collection/css/test/a11y/typography.e2e.js +18 -0
- package/dist/collection/themes/test/colors/theme.e2e.js +114 -0
- package/dist/collection/utils/animation/animation.js +0 -15
- package/dist/collection/utils/gesture/button-active.js +1 -1
- package/dist/collection/utils/test/playwright/generator.js +1 -0
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- package/dist/docs.json +29 -34
- package/dist/esm/{animation-ccab0993.js → animation-dde8cc0d.js} +1 -16
- package/dist/esm/{button-active-2758ff14.js → button-active-48379dd2.js} +1 -1
- package/dist/esm/{index-b7e9478d.js → index-1193f005.js} +1 -1
- package/dist/esm/{index-9dbb78a4.js → index-4743453d.js} +2 -2
- package/dist/esm/index.js +5 -5
- package/dist/esm/ion-action-sheet.entry.js +6 -6
- package/dist/esm/ion-alert.entry.js +4 -4
- package/dist/esm/ion-app_8.entry.js +3 -4
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +4 -4
- package/dist/esm/ion-datetime_3.entry.js +5 -5
- package/dist/esm/ion-fab_3.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +2 -2
- package/dist/esm/ion-item-option_3.entry.js +10 -130
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +2 -2
- package/dist/esm/ion-menu_3.entry.js +24 -19
- package/dist/esm/ion-modal.entry.js +3 -3
- package/dist/esm/ion-nav_2.entry.js +6 -3
- package/dist/esm/ion-popover.entry.js +2 -2
- package/dist/esm/ion-progress-bar.entry.js +2 -5
- package/dist/esm/ion-radio_2.entry.js +2 -2
- package/dist/esm/ion-range.entry.js +2 -2
- package/dist/esm/ion-refresher_2.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +1 -1
- package/dist/esm/ion-searchbar.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +3 -3
- package/dist/esm/ion-split-pane.entry.js +24 -14
- package/dist/esm/ion-tab-bar_2.entry.js +3 -3
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +3 -3
- package/dist/esm/ion-toggle.entry.js +2 -2
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-01176d76.js → ios.transition-3376ccb2.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-558655c7.js → md.transition-f992779f.js} +2 -2
- package/dist/esm-es5/animation-dde8cc0d.js +4 -0
- package/dist/esm-es5/button-active-48379dd2.js +4 -0
- package/dist/esm-es5/{index-b7e9478d.js → index-1193f005.js} +1 -1
- package/dist/esm-es5/{index-9dbb78a4.js → index-4743453d.js} +1 -1
- package/dist/esm-es5/index.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-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.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-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-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-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-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.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.js +1 -1
- package/dist/esm-es5/{ios.transition-01176d76.js → ios.transition-3376ccb2.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-f992779f.js +4 -0
- package/dist/html.html-data.json +0 -12
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-7b4649d7.js → p-04377cfa.js} +1 -1
- package/dist/ionic/p-04d84d5d.entry.js +4 -0
- package/dist/ionic/p-068950da.entry.js +4 -0
- package/dist/ionic/p-0832dedf.entry.js +4 -0
- package/dist/ionic/{p-e755af39.system.js → p-0aa78a8d.system.js} +1 -1
- package/dist/ionic/p-11c55ac8.system.js +4 -0
- package/dist/ionic/p-124b6e41.system.entry.js +4 -0
- package/dist/ionic/p-19d9ceb8.system.js +1 -1
- package/dist/ionic/{p-c8f7e8c8.system.js → p-1ab2642a.system.js} +1 -1
- package/dist/ionic/p-1b60cc53.js +4 -0
- package/dist/ionic/{p-a1bd098f.system.entry.js → p-1c453add.system.entry.js} +1 -1
- package/dist/ionic/{p-11bf2ad0.system.entry.js → p-1d5b03e3.system.entry.js} +1 -1
- package/dist/ionic/p-24c3f2cd.system.entry.js +4 -0
- package/dist/ionic/{p-b68d435f.entry.js → p-2716d76c.entry.js} +1 -1
- package/dist/ionic/p-2724403e.entry.js +4 -0
- package/dist/ionic/p-283bc1a1.system.entry.js +4 -0
- package/dist/ionic/p-29d03b3a.js +4 -0
- package/dist/ionic/{p-abd5d0d5.system.entry.js → p-354682e8.system.entry.js} +1 -1
- package/dist/ionic/{p-19c379da.system.entry.js → p-3796194b.system.entry.js} +1 -1
- package/dist/ionic/{p-cf53213c.entry.js → p-385bb983.entry.js} +1 -1
- package/dist/ionic/p-38f2c6bb.system.js +4 -0
- package/dist/ionic/p-3af5faf8.system.entry.js +4 -0
- package/dist/ionic/{p-c75dc92f.js → p-44a56556.js} +1 -1
- package/dist/ionic/{p-7c7bc0cc.entry.js → p-4abb1251.entry.js} +1 -1
- package/dist/ionic/p-4eae8c91.entry.js +4 -0
- package/dist/ionic/{p-2316de85.system.entry.js → p-530bb2af.system.entry.js} +1 -1
- package/dist/ionic/p-56944895.entry.js +4 -0
- package/dist/ionic/{p-0e908476.system.entry.js → p-590447a5.system.entry.js} +1 -1
- package/dist/ionic/{p-f0eafd38.entry.js → p-5aec2208.entry.js} +1 -1
- package/dist/ionic/{p-26ff1180.entry.js → p-5cbfce20.entry.js} +1 -1
- package/dist/ionic/{p-3b043115.entry.js → p-5f1b0512.entry.js} +1 -1
- package/dist/ionic/{p-0dfa4ab4.system.entry.js → p-662a9a47.system.entry.js} +1 -1
- package/dist/ionic/p-713af1fe.entry.js +4 -0
- package/dist/ionic/{p-69ce8bba.system.entry.js → p-7dade589.system.entry.js} +1 -1
- package/dist/ionic/p-8a25bf30.system.entry.js +4 -0
- package/dist/ionic/{p-67e52d31.entry.js → p-8b160fba.entry.js} +1 -1
- package/dist/ionic/{p-799da666.entry.js → p-8e961825.entry.js} +1 -1
- package/dist/ionic/{p-20a4ee02.entry.js → p-92bfb607.entry.js} +1 -1
- package/dist/ionic/p-97aaf697.system.entry.js +4 -0
- package/dist/ionic/p-98f35d98.js +4 -0
- package/dist/ionic/p-9a68d8ef.system.js +4 -0
- package/dist/ionic/p-9a8bc8f3.system.entry.js +4 -0
- package/dist/ionic/{p-bb3fd397.entry.js → p-9c48f42f.entry.js} +1 -1
- package/dist/ionic/{p-614e63a9.system.entry.js → p-9f94e34a.system.entry.js} +1 -1
- package/dist/ionic/{p-7de7a5fd.system.js → p-a074be82.system.js} +1 -1
- package/dist/ionic/{p-7dcf795f.entry.js → p-a29db3a0.entry.js} +1 -1
- package/dist/ionic/{p-56b1a872.system.entry.js → p-a41eaff2.system.entry.js} +1 -1
- package/dist/ionic/{p-9093afb1.system.js → p-a49931aa.system.js} +1 -1
- package/dist/ionic/p-a6e5f54e.system.entry.js +4 -0
- package/dist/ionic/{p-6855f26a.entry.js → p-aa975ff8.entry.js} +1 -1
- package/dist/ionic/p-b231b7cf.system.entry.js +4 -0
- package/dist/ionic/p-b59fe3bd.system.entry.js +4 -0
- package/dist/ionic/p-b7e03ff0.system.entry.js +4 -0
- package/dist/ionic/{p-ba5d9e27.entry.js → p-bc01c384.entry.js} +1 -1
- package/dist/ionic/p-bec6ae40.entry.js +4 -0
- package/dist/ionic/{p-5dc16594.entry.js → p-c001b24f.entry.js} +1 -1
- package/dist/ionic/p-c16fbc5f.system.entry.js +4 -0
- package/dist/ionic/{p-0cc80201.entry.js → p-c6e9ef77.entry.js} +1 -1
- package/dist/ionic/p-cb3ef9c1.system.entry.js +4 -0
- package/dist/ionic/p-cb6a1fa0.system.entry.js +4 -0
- package/dist/ionic/p-cc1c26cc.entry.js +4 -0
- package/dist/ionic/{p-db05ecb6.system.entry.js → p-cc700688.system.entry.js} +1 -1
- package/dist/ionic/p-cd3e1a06.entry.js +4 -0
- package/dist/ionic/p-cd574dfa.js +4 -0
- package/dist/ionic/{p-da666998.system.entry.js → p-d01449a3.system.entry.js} +1 -1
- package/dist/ionic/{p-84b567a6.entry.js → p-d08e0136.entry.js} +1 -1
- package/dist/ionic/p-d1ad57d5.system.entry.js +4 -0
- package/dist/ionic/p-d2634efe.system.entry.js +4 -0
- package/dist/ionic/{p-41208f54.system.entry.js → p-d88ed181.system.entry.js} +1 -1
- package/dist/ionic/{p-10339dcc.entry.js → p-df6f50ef.entry.js} +1 -1
- package/dist/ionic/{p-d1ab26de.entry.js → p-e403ff07.entry.js} +1 -1
- package/dist/ionic/{p-ae4b7df8.entry.js → p-e9431a58.entry.js} +1 -1
- package/dist/ionic/{p-019e0d80.system.entry.js → p-ec0a9b2c.system.entry.js} +1 -1
- package/dist/ionic/{p-42925096.system.entry.js → p-f0dbd73e.system.entry.js} +1 -1
- package/dist/ionic/{p-806a9810.entry.js → p-f38c1f8d.entry.js} +1 -1
- package/dist/ionic/p-fc17f198.entry.js +4 -0
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +0 -8
- package/dist/types/components/item-sliding/item-sliding.d.ts +0 -19
- package/dist/types/components/menu/menu.d.ts +11 -1
- package/dist/types/components/nav/nav.d.ts +4 -1
- package/dist/types/components/split-pane/split-pane.d.ts +14 -2
- package/dist/types/components.d.ts +5 -8
- package/dist/types/utils/animation/animation-interface.d.ts +0 -6
- package/dist/types/utils/animation/animation.d.ts +0 -2
- package/hydrate/index.js +115 -235
- package/package.json +1 -1
- package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -107
- package/dist/collection/components/item-sliding/animations/item-sliding-options.js +0 -59
- package/dist/esm-es5/animation-ccab0993.js +0 -4
- package/dist/esm-es5/button-active-2758ff14.js +0 -4
- package/dist/esm-es5/md.transition-558655c7.js +0 -4
- package/dist/ionic/p-02dc8c5b.entry.js +0 -4
- package/dist/ionic/p-1a22895e.system.entry.js +0 -4
- package/dist/ionic/p-1c69a4ca.system.entry.js +0 -4
- package/dist/ionic/p-289f354c.entry.js +0 -4
- package/dist/ionic/p-2a3b87cd.entry.js +0 -4
- package/dist/ionic/p-2e01f1c5.system.entry.js +0 -4
- package/dist/ionic/p-38531958.system.entry.js +0 -4
- package/dist/ionic/p-3b434dee.system.entry.js +0 -4
- package/dist/ionic/p-44791cff.entry.js +0 -4
- package/dist/ionic/p-4981ea0a.system.entry.js +0 -4
- package/dist/ionic/p-5074a526.entry.js +0 -4
- package/dist/ionic/p-57785713.system.entry.js +0 -4
- package/dist/ionic/p-57e9de81.system.js +0 -4
- package/dist/ionic/p-6fb2b5e3.js +0 -4
- package/dist/ionic/p-80ad9792.system.js +0 -4
- package/dist/ionic/p-922c234e.js +0 -4
- package/dist/ionic/p-950c05ad.entry.js +0 -4
- package/dist/ionic/p-97a9d526.system.entry.js +0 -4
- package/dist/ionic/p-99d448ba.system.entry.js +0 -4
- package/dist/ionic/p-9c5e3a2c.system.entry.js +0 -4
- package/dist/ionic/p-a619ecad.entry.js +0 -4
- package/dist/ionic/p-b20717fc.system.entry.js +0 -4
- package/dist/ionic/p-b61d7624.entry.js +0 -4
- package/dist/ionic/p-b660ba8a.system.js +0 -4
- package/dist/ionic/p-ba2b1ef5.entry.js +0 -4
- package/dist/ionic/p-cd729946.js +0 -4
- package/dist/ionic/p-d2a73201.system.entry.js +0 -4
- package/dist/ionic/p-d3525765.js +0 -4
- package/dist/ionic/p-dc43a79e.entry.js +0 -4
- package/dist/ionic/p-ee71caaa.system.entry.js +0 -4
- package/dist/ionic/p-f25b4396.system.entry.js +0 -4
- package/dist/ionic/p-f65f4d3e.system.entry.js +0 -4
- package/dist/ionic/p-fd98debb.entry.js +0 -4
- package/dist/ionic/p-fe458994.system.entry.js +0 -4
- package/dist/types/components/item-sliding/animations/item-sliding-options.d.ts +0 -10
|
@@ -7,6 +7,7 @@ import { GESTURE_CONTROLLER } from "../../utils/gesture/index";
|
|
|
7
7
|
import { inheritAriaAttributes, assert, clamp, isEndSide as isEnd } from "../../utils/helpers";
|
|
8
8
|
import { menuController } from "../../utils/menu-controller/index";
|
|
9
9
|
import { getPresentedOverlay } from "../../utils/overlays";
|
|
10
|
+
import { hostContext } from "../../utils/theme";
|
|
10
11
|
import { config } from "../../global/config";
|
|
11
12
|
import { getIonMode } from "../../global/ionic-global";
|
|
12
13
|
const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
|
|
@@ -138,6 +139,19 @@ export class Menu {
|
|
|
138
139
|
}
|
|
139
140
|
async componentDidLoad() {
|
|
140
141
|
this.didLoad = true;
|
|
142
|
+
/**
|
|
143
|
+
* A menu inside of a split pane is assumed
|
|
144
|
+
* to be a side pane.
|
|
145
|
+
*
|
|
146
|
+
* When the menu is loaded it needs to
|
|
147
|
+
* see if it should be considered visible inside
|
|
148
|
+
* of the split pane. If the split pane is
|
|
149
|
+
* hidden then the menu should be too.
|
|
150
|
+
*/
|
|
151
|
+
const splitPane = this.el.closest('ion-split-pane');
|
|
152
|
+
if (splitPane !== null) {
|
|
153
|
+
this.isPaneVisible = await splitPane.isVisible();
|
|
154
|
+
}
|
|
141
155
|
this.menuChanged();
|
|
142
156
|
this.updateState();
|
|
143
157
|
}
|
|
@@ -173,20 +187,11 @@ export class Menu {
|
|
|
173
187
|
this.contentEl = undefined;
|
|
174
188
|
}
|
|
175
189
|
onSplitPaneChanged(ev) {
|
|
176
|
-
const { target } = ev;
|
|
177
190
|
const closestSplitPane = this.el.closest('ion-split-pane');
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
* a SplitPane changes visibility. As a result, we only want
|
|
182
|
-
* Menu's visibility state to update if its parent SplitPane
|
|
183
|
-
* changes visibility.
|
|
184
|
-
*/
|
|
185
|
-
if (target !== closestSplitPane) {
|
|
186
|
-
return;
|
|
191
|
+
if (closestSplitPane !== null && closestSplitPane === ev.target) {
|
|
192
|
+
this.isPaneVisible = ev.detail.visible;
|
|
193
|
+
this.updateState();
|
|
187
194
|
}
|
|
188
|
-
this.isPaneVisible = ev.detail.isPane(this.el);
|
|
189
|
-
this.updateState();
|
|
190
195
|
}
|
|
191
196
|
onBackdropClick(ev) {
|
|
192
197
|
// TODO(FW-2832): type (CustomEvent triggers errors which should be sorted)
|
|
@@ -593,7 +598,7 @@ export class Menu {
|
|
|
593
598
|
}
|
|
594
599
|
}
|
|
595
600
|
render() {
|
|
596
|
-
const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
|
|
601
|
+
const { type, disabled, el, isPaneVisible, inheritedAttributes, side } = this;
|
|
597
602
|
const mode = getIonMode(this);
|
|
598
603
|
return (h(Host, { role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
599
604
|
[mode]: true,
|
|
@@ -601,6 +606,7 @@ export class Menu {
|
|
|
601
606
|
'menu-enabled': !disabled,
|
|
602
607
|
[`menu-side-${side}`]: true,
|
|
603
608
|
'menu-pane-visible': isPaneVisible,
|
|
609
|
+
'split-pane-side': hostContext('ion-split-pane', el),
|
|
604
610
|
} }, h("div", { class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", null)), h("ion-backdrop", { ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
605
611
|
}
|
|
606
612
|
static get is() { return "ion-menu"; }
|
|
@@ -295,10 +295,49 @@ ion-backdrop {
|
|
|
295
295
|
cursor: pointer;
|
|
296
296
|
}
|
|
297
297
|
|
|
298
|
+
/**
|
|
299
|
+
* The split pane styles for menu are defined
|
|
300
|
+
* in the menu stylesheets instead in the split pane
|
|
301
|
+
* stylesheets with ::slotted to allow for menus
|
|
302
|
+
* to be wrapped in custom components.
|
|
303
|
+
* If we used ::slotted to target the menu
|
|
304
|
+
* then menus wrapped in components would never
|
|
305
|
+
* receive these styles because they are not
|
|
306
|
+
* children of the split pane.
|
|
307
|
+
*/
|
|
308
|
+
/**
|
|
309
|
+
* Do not pass CSS Variables down on larger
|
|
310
|
+
* screens as we want them to affect the outer
|
|
311
|
+
* `ion-menu` rather than the inner content
|
|
312
|
+
*/
|
|
298
313
|
:host(.menu-pane-visible) {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
314
|
+
flex: 0 1 auto;
|
|
315
|
+
width: var(--side-width, var(--width));
|
|
316
|
+
min-width: var(--side-min-width, var(--min-width));
|
|
317
|
+
max-width: var(--side-max-width, var(--max-width));
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
:host(.menu-pane-visible.split-pane-side) {
|
|
321
|
+
left: 0;
|
|
322
|
+
right: 0;
|
|
323
|
+
top: 0;
|
|
324
|
+
bottom: 0;
|
|
325
|
+
position: relative;
|
|
326
|
+
box-shadow: none;
|
|
327
|
+
z-index: 0;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
:host(.menu-pane-visible.split-pane-side.menu-enabled) {
|
|
331
|
+
display: flex;
|
|
332
|
+
flex-shrink: 0;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
:host(.menu-pane-visible.split-pane-side) {
|
|
336
|
+
order: -1;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
:host(.menu-pane-visible.split-pane-side[side=end]) {
|
|
340
|
+
order: 1;
|
|
302
341
|
}
|
|
303
342
|
|
|
304
343
|
:host(.menu-pane-visible) .menu-inner {
|
|
@@ -314,6 +353,28 @@ ion-backdrop {
|
|
|
314
353
|
display: hidden !important;
|
|
315
354
|
}
|
|
316
355
|
|
|
356
|
+
:host(.menu-pane-visible.split-pane-side) {
|
|
357
|
+
-webkit-border-start: 0;
|
|
358
|
+
border-inline-start: 0;
|
|
359
|
+
-webkit-border-end: var(--border);
|
|
360
|
+
border-inline-end: var(--border);
|
|
361
|
+
border-top: 0;
|
|
362
|
+
border-bottom: 0;
|
|
363
|
+
min-width: var(--side-min-width);
|
|
364
|
+
max-width: var(--side-max-width);
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
:host(.menu-pane-visible.split-pane-side[side=end]) {
|
|
368
|
+
-webkit-border-start: var(--border);
|
|
369
|
+
border-inline-start: var(--border);
|
|
370
|
+
-webkit-border-end: 0;
|
|
371
|
+
border-inline-end: 0;
|
|
372
|
+
border-top: 0;
|
|
373
|
+
border-bottom: 0;
|
|
374
|
+
min-width: var(--side-min-width);
|
|
375
|
+
max-width: var(--side-max-width);
|
|
376
|
+
}
|
|
377
|
+
|
|
317
378
|
/**
|
|
318
379
|
* Convert a font size to a dynamic font size.
|
|
319
380
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -261,7 +261,7 @@ ion-icon {
|
|
|
261
261
|
--background-focused: currentColor;
|
|
262
262
|
--background-focused-opacity: .1;
|
|
263
263
|
--border-radius: 4px;
|
|
264
|
-
--color: var(--ion-color-primary, #
|
|
264
|
+
--color: var(--ion-color-primary, #0054e9);
|
|
265
265
|
--padding-start: 5px;
|
|
266
266
|
--padding-end: 5px;
|
|
267
267
|
min-height: 32px;
|
|
@@ -4,6 +4,20 @@
|
|
|
4
4
|
import AxeBuilder from "@axe-core/playwright";
|
|
5
5
|
import { expect } from "@playwright/test";
|
|
6
6
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
7
|
+
/**
|
|
8
|
+
* Only ios mode uses ion-color() for the menu button
|
|
9
|
+
*/
|
|
10
|
+
configs({ directions: ['ltr'], modes: ['ios'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
|
|
11
|
+
test.describe(title('menu-button: a11y for ion-color()'), () => {
|
|
12
|
+
test('should not have accessibility violations', async ({ page }) => {
|
|
13
|
+
await page.setContent(`
|
|
14
|
+
<ion-menu-button auto-hide="false"></ion-menu-button>
|
|
15
|
+
`, config);
|
|
16
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
17
|
+
expect(results.violations).toEqual([]);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
});
|
|
7
21
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
8
22
|
test.describe(title('menu-button: a11y'), () => {
|
|
9
23
|
test('should not have accessibility violations', async ({ page }) => {
|
|
@@ -10,7 +10,7 @@ import { setCardStatusBarDark, setCardStatusBarDefault } from "../utils";
|
|
|
10
10
|
import { calculateSpringStep, handleCanDismiss } from "./utils";
|
|
11
11
|
// Defaults for the card swipe animation
|
|
12
12
|
export const SwipeToCloseDefaults = {
|
|
13
|
-
MIN_PRESENTING_SCALE: 0.
|
|
13
|
+
MIN_PRESENTING_SCALE: 0.93,
|
|
14
14
|
};
|
|
15
15
|
export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) => {
|
|
16
16
|
/**
|
|
@@ -320,8 +320,11 @@ export class Nav {
|
|
|
320
320
|
async getPrevious(view) {
|
|
321
321
|
return this.getPreviousSync(view);
|
|
322
322
|
}
|
|
323
|
-
|
|
324
|
-
|
|
323
|
+
/**
|
|
324
|
+
* Returns the number of views in the stack.
|
|
325
|
+
*/
|
|
326
|
+
async getLength() {
|
|
327
|
+
return Promise.resolve(this.views.length);
|
|
325
328
|
}
|
|
326
329
|
getActiveSync() {
|
|
327
330
|
return this.views[this.views.length - 1];
|
|
@@ -1839,6 +1842,23 @@ export class Nav {
|
|
|
1839
1842
|
"text": "view The view to get."
|
|
1840
1843
|
}]
|
|
1841
1844
|
}
|
|
1845
|
+
},
|
|
1846
|
+
"getLength": {
|
|
1847
|
+
"complexType": {
|
|
1848
|
+
"signature": "() => Promise<number>",
|
|
1849
|
+
"parameters": [],
|
|
1850
|
+
"references": {
|
|
1851
|
+
"Promise": {
|
|
1852
|
+
"location": "global",
|
|
1853
|
+
"id": "global::Promise"
|
|
1854
|
+
}
|
|
1855
|
+
},
|
|
1856
|
+
"return": "Promise<number>"
|
|
1857
|
+
},
|
|
1858
|
+
"docs": {
|
|
1859
|
+
"text": "Returns the number of views in the stack.",
|
|
1860
|
+
"tags": []
|
|
1861
|
+
}
|
|
1842
1862
|
}
|
|
1843
1863
|
};
|
|
1844
1864
|
}
|
|
@@ -20,20 +20,20 @@ describe('NavController', () => {
|
|
|
20
20
|
const hasCompleted = true;
|
|
21
21
|
const requiresTransition = true;
|
|
22
22
|
expect(push1Done).toHaveBeenCalledWith(hasCompleted, requiresTransition, view1, undefined, 'forward');
|
|
23
|
-
expect(nav.getLength()).toEqual(1);
|
|
23
|
+
expect(await nav.getLength()).toEqual(1);
|
|
24
24
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
25
25
|
// Push 2
|
|
26
26
|
const view2 = mockView(MockView2);
|
|
27
27
|
await nav.push(view2, null, { animated: false }, push2Done);
|
|
28
28
|
expect(push2Done).toHaveBeenCalledWith(hasCompleted, requiresTransition, view2, view1, 'forward');
|
|
29
|
-
expect(nav.getLength()).toEqual(2);
|
|
29
|
+
expect(await nav.getLength()).toEqual(2);
|
|
30
30
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
31
31
|
expect(nav['views'][1].component).toEqual(MockView2);
|
|
32
32
|
// Push 3
|
|
33
33
|
const view3 = mockView(MockView3);
|
|
34
34
|
await nav.push(view3, null, { animated: false }, push3Done);
|
|
35
35
|
expect(push3Done).toHaveBeenCalledWith(hasCompleted, requiresTransition, view3, view2, 'forward');
|
|
36
|
-
expect(nav.getLength()).toEqual(3);
|
|
36
|
+
expect(await nav.getLength()).toEqual(3);
|
|
37
37
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
38
38
|
expect(nav['views'][1].component).toEqual(MockView2);
|
|
39
39
|
expect(nav['views'][2].component).toEqual(MockView3);
|
|
@@ -41,7 +41,7 @@ describe('NavController', () => {
|
|
|
41
41
|
const view4 = mockView(MockView4);
|
|
42
42
|
await nav.push(view4, null, { animated: false }, push4Done);
|
|
43
43
|
expect(push4Done).toHaveBeenCalledWith(hasCompleted, requiresTransition, view4, view3, 'forward');
|
|
44
|
-
expect(nav.getLength()).toEqual(4);
|
|
44
|
+
expect(await nav.getLength()).toEqual(4);
|
|
45
45
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
46
46
|
expect(nav['views'][1].component).toEqual(MockView2);
|
|
47
47
|
expect(nav['views'][2].component).toEqual(MockView3);
|
|
@@ -49,20 +49,20 @@ describe('NavController', () => {
|
|
|
49
49
|
// Pop 1
|
|
50
50
|
await nav.pop({ animated: false }, pop1Done);
|
|
51
51
|
expect(pop1Done).toHaveBeenCalledWith(hasCompleted, requiresTransition, view3, view4, 'back');
|
|
52
|
-
expect(nav.getLength()).toEqual(3);
|
|
52
|
+
expect(await nav.getLength()).toEqual(3);
|
|
53
53
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
54
54
|
expect(nav['views'][1].component).toEqual(MockView2);
|
|
55
55
|
expect(nav['views'][2].component).toEqual(MockView3);
|
|
56
56
|
// Pop 2
|
|
57
57
|
await nav.pop({ animated: false }, pop2Done);
|
|
58
58
|
expect(pop2Done).toHaveBeenCalledWith(hasCompleted, requiresTransition, view2, view3, 'back');
|
|
59
|
-
expect(nav.getLength()).toEqual(2);
|
|
59
|
+
expect(await nav.getLength()).toEqual(2);
|
|
60
60
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
61
61
|
expect(nav['views'][1].component).toEqual(MockView2);
|
|
62
62
|
// Pop 3
|
|
63
63
|
await nav.pop({ animated: false }, pop3Done);
|
|
64
64
|
expect(pop3Done).toHaveBeenCalledWith(hasCompleted, requiresTransition, view1, view2, 'back');
|
|
65
|
-
expect(nav.getLength()).toEqual(1);
|
|
65
|
+
expect(await nav.getLength()).toEqual(1);
|
|
66
66
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
67
67
|
}, 10000);
|
|
68
68
|
});
|
|
@@ -73,7 +73,7 @@ describe('NavController', () => {
|
|
|
73
73
|
const hasCompleted = true;
|
|
74
74
|
const requiresTransition = true;
|
|
75
75
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view1, undefined, 'forward');
|
|
76
|
-
expect(nav.getLength()).toEqual(1);
|
|
76
|
+
expect(await nav.getLength()).toEqual(1);
|
|
77
77
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
78
78
|
expect(nav['isTransitioning']).toEqual(false);
|
|
79
79
|
}, 10000);
|
|
@@ -85,7 +85,7 @@ describe('NavController', () => {
|
|
|
85
85
|
const hasCompleted = true;
|
|
86
86
|
const requiresTransition = true;
|
|
87
87
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view2, view1, 'forward');
|
|
88
|
-
expect(nav.getLength()).toEqual(2);
|
|
88
|
+
expect(await nav.getLength()).toEqual(2);
|
|
89
89
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
90
90
|
expect(nav['views'][1].component).toEqual(MockView2);
|
|
91
91
|
expect(nav['isTransitioning']).toEqual(false);
|
|
@@ -110,7 +110,7 @@ describe('NavController', () => {
|
|
|
110
110
|
const hasCompleted = true;
|
|
111
111
|
const requiresTransition = true;
|
|
112
112
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view2, view1, 'forward');
|
|
113
|
-
expect(nav.getLength()).toEqual(2);
|
|
113
|
+
expect(await nav.getLength()).toEqual(2);
|
|
114
114
|
}, 10000);
|
|
115
115
|
});
|
|
116
116
|
describe('insert', () => {
|
|
@@ -128,9 +128,9 @@ describe('NavController', () => {
|
|
|
128
128
|
const hasCompleted = true;
|
|
129
129
|
const requiresTransition = false;
|
|
130
130
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, undefined, undefined, undefined);
|
|
131
|
-
expect(nav.getLength()).toEqual(4);
|
|
131
|
+
expect(await nav.getLength()).toEqual(4);
|
|
132
132
|
expect(nav['views'][0].component).toEqual(MockView4);
|
|
133
|
-
expect(nav['views'][nav.getLength() - 1].component).toEqual(MockView3);
|
|
133
|
+
expect(nav['views'][(await nav.getLength()) - 1].component).toEqual(MockView3);
|
|
134
134
|
}, 10000);
|
|
135
135
|
it('should insert at the end when given -1', async () => {
|
|
136
136
|
const opts = {};
|
|
@@ -141,8 +141,8 @@ describe('NavController', () => {
|
|
|
141
141
|
const hasCompleted = true;
|
|
142
142
|
const requiresTransition = true;
|
|
143
143
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view2, view1, 'forward');
|
|
144
|
-
expect(nav.getLength()).toEqual(2);
|
|
145
|
-
expect(nav['views'][nav.getLength() - 1].component).toEqual(MockView2);
|
|
144
|
+
expect(await nav.getLength()).toEqual(2);
|
|
145
|
+
expect(nav['views'][(await nav.getLength()) - 1].component).toEqual(MockView2);
|
|
146
146
|
}, 10000);
|
|
147
147
|
it('should insert at the end when given a number greater than actual length', async () => {
|
|
148
148
|
const view1 = mockView(MockView1);
|
|
@@ -152,8 +152,8 @@ describe('NavController', () => {
|
|
|
152
152
|
const hasCompleted = true;
|
|
153
153
|
const requiresTransition = true;
|
|
154
154
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view2, view1, 'forward');
|
|
155
|
-
expect(nav.getLength()).toEqual(2);
|
|
156
|
-
expect(nav['views'][nav.getLength() - 1].component).toEqual(MockView2);
|
|
155
|
+
expect(await nav.getLength()).toEqual(2);
|
|
156
|
+
expect(nav['views'][(await nav.getLength()) - 1].component).toEqual(MockView2);
|
|
157
157
|
}, 10000);
|
|
158
158
|
it('should not insert if null view', (done) => {
|
|
159
159
|
mockViews(nav, [mockView(MockView1)]);
|
|
@@ -162,14 +162,14 @@ describe('NavController', () => {
|
|
|
162
162
|
.then(() => {
|
|
163
163
|
fail('it should not succeed');
|
|
164
164
|
})
|
|
165
|
-
.catch((err) => {
|
|
165
|
+
.catch(async (err) => {
|
|
166
166
|
const hasCompleted = false;
|
|
167
167
|
const requiresTransition = false;
|
|
168
168
|
const rejectReason = new Error('invalid views to insert');
|
|
169
169
|
expect(err).toEqual(rejectReason);
|
|
170
170
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, rejectReason);
|
|
171
|
-
expect(nav.getLength()).toEqual(1);
|
|
172
|
-
expect(nav['views'][nav.getLength() - 1].component).toEqual(MockView1);
|
|
171
|
+
expect(await nav.getLength()).toEqual(1);
|
|
172
|
+
expect(nav['views'][(await nav.getLength()) - 1].component).toEqual(MockView1);
|
|
173
173
|
done();
|
|
174
174
|
});
|
|
175
175
|
}, 10000);
|
|
@@ -192,7 +192,7 @@ describe('NavController', () => {
|
|
|
192
192
|
const hasCompleted = true;
|
|
193
193
|
const requiresTransition = false;
|
|
194
194
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, undefined, undefined, undefined);
|
|
195
|
-
expect(nav.getLength()).toEqual(5);
|
|
195
|
+
expect(await nav.getLength()).toEqual(5);
|
|
196
196
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
197
197
|
expect(nav['views'][1].component).toEqual(MockView4);
|
|
198
198
|
expect(nav['views'][2].component).toEqual(MockView5);
|
|
@@ -209,13 +209,13 @@ describe('NavController', () => {
|
|
|
209
209
|
.then(() => {
|
|
210
210
|
fail('it should not succeed');
|
|
211
211
|
})
|
|
212
|
-
.catch((err) => {
|
|
212
|
+
.catch(async (err) => {
|
|
213
213
|
const hasCompleted = false;
|
|
214
214
|
const requiresTransition = false;
|
|
215
215
|
const rejectReason = new Error('no views in the stack to be removed');
|
|
216
216
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, rejectReason);
|
|
217
217
|
expect(err).toEqual(rejectReason);
|
|
218
|
-
expect(nav.getLength()).toEqual(0);
|
|
218
|
+
expect(await nav.getLength()).toEqual(0);
|
|
219
219
|
expect(nav['isTransitioning']).toEqual(false);
|
|
220
220
|
done();
|
|
221
221
|
});
|
|
@@ -240,7 +240,7 @@ describe('NavController', () => {
|
|
|
240
240
|
const hasCompleted = true;
|
|
241
241
|
const requiresTransition = true;
|
|
242
242
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view1, view2, 'back');
|
|
243
|
-
expect(nav.getLength()).toEqual(1);
|
|
243
|
+
expect(await nav.getLength()).toEqual(1);
|
|
244
244
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
245
245
|
expect(nav['isTransitioning']).toEqual(false);
|
|
246
246
|
}, 10000);
|
|
@@ -255,7 +255,7 @@ describe('NavController', () => {
|
|
|
255
255
|
const hasCompleted = true;
|
|
256
256
|
const requiresTransition = true;
|
|
257
257
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view2, view3, 'back');
|
|
258
|
-
expect(nav.getLength()).toEqual(2);
|
|
258
|
+
expect(await nav.getLength()).toEqual(2);
|
|
259
259
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
260
260
|
expect(nav['views'][1].component).toEqual(MockView2);
|
|
261
261
|
}, 10000);
|
|
@@ -269,7 +269,7 @@ describe('NavController', () => {
|
|
|
269
269
|
const hasCompleted = true;
|
|
270
270
|
const requiresTransition = true;
|
|
271
271
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view2, view4, 'back');
|
|
272
|
-
expect(nav.getLength()).toEqual(2);
|
|
272
|
+
expect(await nav.getLength()).toEqual(2);
|
|
273
273
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
274
274
|
expect(nav['views'][1].component).toEqual(MockView2);
|
|
275
275
|
}, 10000);
|
|
@@ -307,7 +307,7 @@ describe('NavController', () => {
|
|
|
307
307
|
const hasCompleted = true;
|
|
308
308
|
const requiresTransition = true;
|
|
309
309
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view1, view4, 'back');
|
|
310
|
-
expect(nav.getLength()).toEqual(1);
|
|
310
|
+
expect(await nav.getLength()).toEqual(1);
|
|
311
311
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
312
312
|
}, 10000);
|
|
313
313
|
});
|
|
@@ -346,7 +346,7 @@ describe('NavController', () => {
|
|
|
346
346
|
const hasCompleted = true;
|
|
347
347
|
const requiresTransition = true;
|
|
348
348
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view1, view4, 'back');
|
|
349
|
-
expect(nav.getLength()).toEqual(1);
|
|
349
|
+
expect(await nav.getLength()).toEqual(1);
|
|
350
350
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
351
351
|
}, 10000);
|
|
352
352
|
it("should not pop first view if it's the only view", async () => {
|
|
@@ -356,7 +356,7 @@ describe('NavController', () => {
|
|
|
356
356
|
const hasCompleted = true;
|
|
357
357
|
const requiresTransition = false;
|
|
358
358
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, undefined, undefined, undefined);
|
|
359
|
-
expect(nav.getLength()).toEqual(1);
|
|
359
|
+
expect(await nav.getLength()).toEqual(1);
|
|
360
360
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
361
361
|
}, 10000);
|
|
362
362
|
});
|
|
@@ -395,7 +395,7 @@ describe('NavController', () => {
|
|
|
395
395
|
const hasCompleted = true;
|
|
396
396
|
const requiresTransition = false;
|
|
397
397
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, undefined, undefined, undefined);
|
|
398
|
-
expect(nav.getLength()).toEqual(1);
|
|
398
|
+
expect(await nav.getLength()).toEqual(1);
|
|
399
399
|
expect(nav['views'][0].component).toEqual(MockView4);
|
|
400
400
|
}, 10000);
|
|
401
401
|
it('should remove two views in the middle', async () => {
|
|
@@ -439,7 +439,7 @@ describe('NavController', () => {
|
|
|
439
439
|
const hasCompleted = true;
|
|
440
440
|
const requiresTransition = false;
|
|
441
441
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, undefined, undefined, undefined);
|
|
442
|
-
expect(nav.getLength()).toEqual(3);
|
|
442
|
+
expect(await nav.getLength()).toEqual(3);
|
|
443
443
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
444
444
|
expect(nav['views'][1].component).toEqual(MockView2);
|
|
445
445
|
expect(nav['views'][2].component).toEqual(MockView5);
|
|
@@ -478,7 +478,7 @@ describe('NavController', () => {
|
|
|
478
478
|
const hasCompleted = true;
|
|
479
479
|
const requiresTransition = true;
|
|
480
480
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view2, view4, 'back');
|
|
481
|
-
expect(nav.getLength()).toEqual(2);
|
|
481
|
+
expect(await nav.getLength()).toEqual(2);
|
|
482
482
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
483
483
|
expect(nav['views'][1].component).toEqual(MockView2);
|
|
484
484
|
}, 10000);
|
|
@@ -511,7 +511,7 @@ describe('NavController', () => {
|
|
|
511
511
|
const hasCompleted = true;
|
|
512
512
|
const requiresTransition = false;
|
|
513
513
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, undefined, undefined, undefined);
|
|
514
|
-
expect(nav.getLength()).toEqual(1);
|
|
514
|
+
expect(await nav.getLength()).toEqual(1);
|
|
515
515
|
expect(nav['views'][0].component).toEqual(MockView3);
|
|
516
516
|
}, 10000);
|
|
517
517
|
it('should set a ViewController as the root when its the middle view, with transition', async () => {
|
|
@@ -541,7 +541,7 @@ describe('NavController', () => {
|
|
|
541
541
|
const hasCompleted = true;
|
|
542
542
|
const requiresTransition = true;
|
|
543
543
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view2, view3, 'back');
|
|
544
|
-
expect(nav.getLength()).toEqual(1);
|
|
544
|
+
expect(await nav.getLength()).toEqual(1);
|
|
545
545
|
expect(nav['views'][0].component).toEqual(MockView2);
|
|
546
546
|
}, 10000);
|
|
547
547
|
it('should set a ViewController as the root when its the first view, with transition', async () => {
|
|
@@ -571,7 +571,7 @@ describe('NavController', () => {
|
|
|
571
571
|
const hasCompleted = true;
|
|
572
572
|
const requiresTransition = true;
|
|
573
573
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view1, view3, 'back');
|
|
574
|
-
expect(nav.getLength()).toEqual(1);
|
|
574
|
+
expect(await nav.getLength()).toEqual(1);
|
|
575
575
|
expect(nav['views'][0].component).toEqual(MockView1);
|
|
576
576
|
}, 10000);
|
|
577
577
|
it('should set a page component as the root, with transition', async () => {
|
|
@@ -590,7 +590,7 @@ describe('NavController', () => {
|
|
|
590
590
|
const hasCompleted = true;
|
|
591
591
|
const requiresTransition = true;
|
|
592
592
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view4, view3, 'back');
|
|
593
|
-
expect(nav.getLength()).toEqual(1);
|
|
593
|
+
expect(await nav.getLength()).toEqual(1);
|
|
594
594
|
expect(nav['views'][0].component).toEqual(MockView4);
|
|
595
595
|
}, 10000);
|
|
596
596
|
});
|
|
@@ -609,7 +609,7 @@ describe('NavController', () => {
|
|
|
609
609
|
const hasCompleted = true;
|
|
610
610
|
const requiresTransition = true;
|
|
611
611
|
expect(trnsDone).toHaveBeenCalledWith(hasCompleted, requiresTransition, view5, view2, 'back');
|
|
612
|
-
expect(nav.getLength()).toEqual(2);
|
|
612
|
+
expect(await nav.getLength()).toEqual(2);
|
|
613
613
|
expect(nav['views'][0].component).toEqual(MockView4);
|
|
614
614
|
expect(nav['views'][1].component).toEqual(MockView5);
|
|
615
615
|
}, 10000);
|
|
@@ -57,9 +57,11 @@
|
|
|
57
57
|
/**
|
|
58
58
|
* @prop --background: Background of the progress track, or the buffer bar if `buffer` is set
|
|
59
59
|
* @prop --progress-background: Background of the progress bar representing the current value
|
|
60
|
+
* @prop --buffer-background: DEPRECATED, use `--background` instead
|
|
60
61
|
*/
|
|
61
|
-
--background: rgba(var(--ion-color-primary-rgb,
|
|
62
|
-
--progress-background: var(--ion-color-primary, #
|
|
62
|
+
--background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.3);
|
|
63
|
+
--progress-background: var(--ion-color-primary, #0054e9);
|
|
64
|
+
--buffer-background: var(--background);
|
|
63
65
|
display: block;
|
|
64
66
|
position: relative;
|
|
65
67
|
width: 100%;
|
|
@@ -113,7 +115,7 @@
|
|
|
113
115
|
}
|
|
114
116
|
|
|
115
117
|
.progress-buffer-bar {
|
|
116
|
-
background: var(--background);
|
|
118
|
+
background: var(--buffer-background);
|
|
117
119
|
z-index: 1;
|
|
118
120
|
}
|
|
119
121
|
|
|
@@ -150,7 +152,7 @@
|
|
|
150
152
|
}
|
|
151
153
|
|
|
152
154
|
.buffer-circles {
|
|
153
|
-
background-image: radial-gradient(ellipse at center, var(--background) 0%, var(--background) 30%, transparent 30%);
|
|
155
|
+
background-image: radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%);
|
|
154
156
|
/* stylelint-disable property-disallowed-list */
|
|
155
157
|
background-repeat: repeat-x;
|
|
156
158
|
background-position: 5px center;
|
|
@@ -170,6 +172,10 @@
|
|
|
170
172
|
animation-play-state: paused;
|
|
171
173
|
}
|
|
172
174
|
|
|
175
|
+
:host(.ion-color) .progress-buffer-bar {
|
|
176
|
+
background: rgba(var(--ion-color-base-rgb), 0.3);
|
|
177
|
+
}
|
|
178
|
+
|
|
173
179
|
:host(.ion-color) .buffer-circles {
|
|
174
180
|
background-image: radial-gradient(ellipse at center, rgba(var(--ion-color-base-rgb), 0.3) 0%, rgba(var(--ion-color-base-rgb), 0.3) 30%, transparent 30%);
|
|
175
181
|
}
|
|
@@ -251,17 +257,5 @@
|
|
|
251
257
|
}
|
|
252
258
|
}
|
|
253
259
|
:host {
|
|
254
|
-
|
|
255
|
-
height: 4px;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
:host(.progress-bar-solid) {
|
|
259
|
-
/**
|
|
260
|
-
* On iOS the unfilled portion of the progress bar
|
|
261
|
-
* is always a consistent background color. We
|
|
262
|
-
* only apply this style when the progress bar is
|
|
263
|
-
* solid (with a buffer value of 1). This maintains
|
|
264
|
-
* the custom Ionic appearance for a buffered progress bar.
|
|
265
|
-
*/
|
|
266
|
-
--background: var(--ion-color-step-100, #e6e6e6);
|
|
260
|
+
height: 3px;
|
|
267
261
|
}
|
|
@@ -26,14 +26,11 @@ export class ProgressBar {
|
|
|
26
26
|
const { color, type, reversed, value, buffer } = this;
|
|
27
27
|
const paused = config.getBoolean('_testing');
|
|
28
28
|
const mode = getIonMode(this);
|
|
29
|
-
// If the progress is displayed as a solid bar.
|
|
30
|
-
const progressSolid = buffer === 1;
|
|
31
29
|
return (h(Host, { role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
|
|
32
30
|
[mode]: true,
|
|
33
31
|
[`progress-bar-${type}`]: true,
|
|
34
32
|
'progress-paused': paused,
|
|
35
33
|
'progress-bar-reversed': document.dir === 'rtl' ? !reversed : reversed,
|
|
36
|
-
'progress-bar-solid': progressSolid,
|
|
37
34
|
}) }, type === 'indeterminate' ? renderIndeterminate() : renderProgress(value, buffer)));
|
|
38
35
|
}
|
|
39
36
|
static get is() { return "ion-progress-bar"; }
|
|
@@ -57,9 +57,11 @@
|
|
|
57
57
|
/**
|
|
58
58
|
* @prop --background: Background of the progress track, or the buffer bar if `buffer` is set
|
|
59
59
|
* @prop --progress-background: Background of the progress bar representing the current value
|
|
60
|
+
* @prop --buffer-background: DEPRECATED, use `--background` instead
|
|
60
61
|
*/
|
|
61
|
-
--background: rgba(var(--ion-color-primary-rgb,
|
|
62
|
-
--progress-background: var(--ion-color-primary, #
|
|
62
|
+
--background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.3);
|
|
63
|
+
--progress-background: var(--ion-color-primary, #0054e9);
|
|
64
|
+
--buffer-background: var(--background);
|
|
63
65
|
display: block;
|
|
64
66
|
position: relative;
|
|
65
67
|
width: 100%;
|
|
@@ -113,7 +115,7 @@
|
|
|
113
115
|
}
|
|
114
116
|
|
|
115
117
|
.progress-buffer-bar {
|
|
116
|
-
background: var(--background);
|
|
118
|
+
background: var(--buffer-background);
|
|
117
119
|
z-index: 1;
|
|
118
120
|
}
|
|
119
121
|
|
|
@@ -150,7 +152,7 @@
|
|
|
150
152
|
}
|
|
151
153
|
|
|
152
154
|
.buffer-circles {
|
|
153
|
-
background-image: radial-gradient(ellipse at center, var(--background) 0%, var(--background) 30%, transparent 30%);
|
|
155
|
+
background-image: radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%);
|
|
154
156
|
/* stylelint-disable property-disallowed-list */
|
|
155
157
|
background-repeat: repeat-x;
|
|
156
158
|
background-position: 5px center;
|
|
@@ -170,6 +172,10 @@
|
|
|
170
172
|
animation-play-state: paused;
|
|
171
173
|
}
|
|
172
174
|
|
|
175
|
+
:host(.ion-color) .progress-buffer-bar {
|
|
176
|
+
background: rgba(var(--ion-color-base-rgb), 0.3);
|
|
177
|
+
}
|
|
178
|
+
|
|
173
179
|
:host(.ion-color) .buffer-circles {
|
|
174
180
|
background-image: radial-gradient(ellipse at center, rgba(var(--ion-color-base-rgb), 0.3) 0%, rgba(var(--ion-color-base-rgb), 0.3) 30%, transparent 30%);
|
|
175
181
|
}
|
|
@@ -252,8 +258,4 @@
|
|
|
252
258
|
}
|
|
253
259
|
:host {
|
|
254
260
|
height: 4px;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
:host(.ion-color) .progress-buffer-bar {
|
|
258
|
-
background: rgba(var(--ion-color-base-rgb), 0.3);
|
|
259
261
|
}
|