@ionic/core 7.6.2-dev.11705355381.14b22962 → 7.6.2-dev.11705694334.11b34c62
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 +16 -1
- 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 +3 -2
- 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 +128 -7
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu.js +15 -21
- package/components/ion-modal.js +1 -1
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-progress-bar.js +5 -2
- 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 +15 -26
- 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 +34 -101
- 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/typography.css +1 -1
- package/dist/cjs/{animation-9b401d39.js → animation-8a4f9df4.js} +16 -0
- package/dist/cjs/{button-active-5bf1cac0.js → button-active-466dfc8a.js} +1 -1
- package/dist/cjs/{index-3b012034.js → index-8023641e.js} +1 -1
- package/dist/cjs/{index-17ab7794.js → index-d8b5d5f9.js} +2 -2
- 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 +4 -3
- 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 +130 -10
- 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 +19 -24
- package/dist/cjs/ion-modal.cjs.entry.js +3 -3
- package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +2 -2
- package/dist/cjs/ion-progress-bar.cjs.entry.js +5 -2
- 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 +14 -24
- 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-b5353f3e.js → ios.transition-34cad0cb.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-67157dd9.js → md.transition-5bcc289d.js} +2 -2
- package/dist/collection/components/action-sheet/action-sheet.ios.css +12 -5
- package/dist/collection/components/action-sheet/action-sheet.js +2 -2
- package/dist/collection/components/action-sheet/action-sheet.md.css +9 -2
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +14 -23
- package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +19 -0
- package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +22 -0
- package/dist/collection/components/alert/alert.ios.css +28 -27
- package/dist/collection/components/alert/alert.md.css +6 -6
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +9 -22
- package/dist/collection/components/back-button/back-button.ios.css +1 -1
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +0 -21
- 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 +0 -18
- 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 +0 -48
- package/dist/collection/components/checkbox/checkbox.ios.css +5 -5
- package/dist/collection/components/checkbox/checkbox.md.css +2 -3
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +2 -11
- package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +10 -0
- package/dist/collection/components/content/content.js +3 -2
- package/dist/collection/components/datetime/datetime.ios.css +3 -2
- package/dist/collection/components/datetime-button/datetime-button.ios.css +107 -0
- package/dist/collection/components/datetime-button/datetime-button.js +4 -4
- package/dist/collection/components/datetime-button/{datetime-button.css → datetime-button.md.css} +9 -6
- package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +12 -0
- 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 +0 -50
- 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 +3 -41
- 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/animations/item-sliding-options.js +59 -0
- package/dist/collection/components/item-sliding/item-sliding.css +8 -4
- package/dist/collection/components/item-sliding/item-sliding.js +89 -6
- package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +0 -28
- package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +62 -25
- package/dist/collection/components/label/label.md.css +1 -1
- package/dist/collection/components/label/test/a11y/label.e2e.js +0 -20
- package/dist/collection/components/loading/loading.md.css +1 -1
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +5 -21
- package/dist/collection/components/menu/menu.ios.css +3 -64
- package/dist/collection/components/menu/menu.js +13 -19
- package/dist/collection/components/menu/menu.md.css +3 -64
- package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +0 -14
- package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -1
- 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 +17 -11
- package/dist/collection/components/progress-bar/progress-bar.js +3 -0
- package/dist/collection/components/progress-bar/progress-bar.md.css +8 -10
- 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 +68 -101
- 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 +8 -18
- package/dist/collection/components/refresher/refresher.md.css +2 -2
- 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/searchbar/searchbar.ios.css +4 -4
- package/dist/collection/components/segment/test/a11y/segment.e2e.js +0 -23
- 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 +4 -68
- package/dist/collection/components/select-popover/select-popover.md.css +4 -4
- package/dist/collection/components/split-pane/split-pane.ios.css +53 -1
- package/dist/collection/components/split-pane/split-pane.js +12 -46
- package/dist/collection/components/split-pane/split-pane.md.css +53 -1
- 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 +6 -1
- package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +3 -41
- 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 +24 -56
- 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 +2 -8
- 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 +0 -18
- package/dist/collection/utils/animation/animation.js +15 -0
- package/dist/collection/utils/gesture/button-active.js +1 -1
- package/dist/collection/utils/test/playwright/generator.js +0 -1
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- package/dist/docs.json +34 -7
- package/dist/esm/{animation-dde8cc0d.js → animation-ccab0993.js} +16 -1
- package/dist/esm/{button-active-48379dd2.js → button-active-2758ff14.js} +1 -1
- package/dist/esm/{index-4743453d.js → index-9dbb78a4.js} +2 -2
- package/dist/esm/{index-1193f005.js → index-b7e9478d.js} +1 -1
- 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 +4 -3
- 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 +130 -10
- 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 +19 -24
- package/dist/esm/ion-modal.entry.js +3 -3
- package/dist/esm/ion-nav_2.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +2 -2
- package/dist/esm/ion-progress-bar.entry.js +5 -2
- 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 +14 -24
- 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-3376ccb2.js → ios.transition-01176d76.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-f992779f.js → md.transition-558655c7.js} +2 -2
- package/dist/esm-es5/animation-ccab0993.js +4 -0
- package/dist/esm-es5/button-active-2758ff14.js +4 -0
- package/dist/esm-es5/{index-4743453d.js → index-9dbb78a4.js} +1 -1
- package/dist/esm-es5/{index-1193f005.js → index-b7e9478d.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-3376ccb2.js → ios.transition-01176d76.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-558655c7.js +4 -0
- package/dist/html.html-data.json +12 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-ec0a9b2c.system.entry.js → p-019e0d80.system.entry.js} +1 -1
- package/dist/ionic/p-02dc8c5b.entry.js +4 -0
- package/dist/ionic/{p-c6e9ef77.entry.js → p-0cc80201.entry.js} +1 -1
- package/dist/ionic/{p-662a9a47.system.entry.js → p-0dfa4ab4.system.entry.js} +1 -1
- package/dist/ionic/{p-590447a5.system.entry.js → p-0e908476.system.entry.js} +1 -1
- package/dist/ionic/{p-df6f50ef.entry.js → p-10339dcc.entry.js} +1 -1
- package/dist/ionic/{p-1d5b03e3.system.entry.js → p-11bf2ad0.system.entry.js} +1 -1
- package/dist/ionic/{p-3796194b.system.entry.js → p-19c379da.system.entry.js} +1 -1
- package/dist/ionic/p-19d9ceb8.system.js +1 -1
- package/dist/ionic/p-1a22895e.system.entry.js +4 -0
- package/dist/ionic/p-1c69a4ca.system.entry.js +4 -0
- package/dist/ionic/{p-92bfb607.entry.js → p-20a4ee02.entry.js} +1 -1
- package/dist/ionic/{p-530bb2af.system.entry.js → p-2316de85.system.entry.js} +1 -1
- package/dist/ionic/{p-5cbfce20.entry.js → p-26ff1180.entry.js} +1 -1
- package/dist/ionic/p-289f354c.entry.js +4 -0
- package/dist/ionic/p-2a3b87cd.entry.js +4 -0
- package/dist/ionic/p-2e01f1c5.system.entry.js +4 -0
- package/dist/ionic/p-38531958.system.entry.js +4 -0
- package/dist/ionic/{p-5f1b0512.entry.js → p-3b043115.entry.js} +1 -1
- package/dist/ionic/p-3b434dee.system.entry.js +4 -0
- package/dist/ionic/{p-d88ed181.system.entry.js → p-41208f54.system.entry.js} +1 -1
- package/dist/ionic/{p-f0dbd73e.system.entry.js → p-42925096.system.entry.js} +1 -1
- package/dist/ionic/p-44791cff.entry.js +4 -0
- package/dist/ionic/p-4981ea0a.system.entry.js +4 -0
- package/dist/ionic/{p-13d4dfe7.entry.js → p-5074a526.entry.js} +1 -1
- package/dist/ionic/{p-a41eaff2.system.entry.js → p-56b1a872.system.entry.js} +1 -1
- package/dist/ionic/p-57785713.system.entry.js +4 -0
- package/dist/ionic/p-57e9de81.system.js +4 -0
- package/dist/ionic/{p-c001b24f.entry.js → p-5dc16594.entry.js} +1 -1
- package/dist/ionic/{p-9f94e34a.system.entry.js → p-614e63a9.system.entry.js} +1 -1
- package/dist/ionic/{p-8b160fba.entry.js → p-67e52d31.entry.js} +1 -1
- package/dist/ionic/{p-aa975ff8.entry.js → p-6855f26a.entry.js} +1 -1
- package/dist/ionic/{p-7dade589.system.entry.js → p-69ce8bba.system.entry.js} +1 -1
- package/dist/ionic/p-6fb2b5e3.js +4 -0
- package/dist/ionic/{p-8e961825.entry.js → p-799da666.entry.js} +1 -1
- package/dist/ionic/{p-04377cfa.js → p-7b4649d7.js} +1 -1
- package/dist/ionic/{p-4abb1251.entry.js → p-7c7bc0cc.entry.js} +1 -1
- package/dist/ionic/{p-a29db3a0.entry.js → p-7dcf795f.entry.js} +1 -1
- package/dist/ionic/{p-a074be82.system.js → p-7de7a5fd.system.js} +1 -1
- package/dist/ionic/{p-f38c1f8d.entry.js → p-806a9810.entry.js} +1 -1
- package/dist/ionic/p-80ad9792.system.js +4 -0
- package/dist/ionic/{p-d08e0136.entry.js → p-84b567a6.entry.js} +1 -1
- package/dist/ionic/{p-a49931aa.system.js → p-9093afb1.system.js} +1 -1
- package/dist/ionic/p-922c234e.js +4 -0
- package/dist/ionic/p-950c05ad.entry.js +4 -0
- package/dist/ionic/p-97a9d526.system.entry.js +4 -0
- package/dist/ionic/p-99d448ba.system.entry.js +4 -0
- package/dist/ionic/p-9c5e3a2c.system.entry.js +4 -0
- package/dist/ionic/{p-1c453add.system.entry.js → p-a1bd098f.system.entry.js} +1 -1
- package/dist/ionic/p-a619ecad.entry.js +4 -0
- package/dist/ionic/{p-354682e8.system.entry.js → p-abd5d0d5.system.entry.js} +1 -1
- package/dist/ionic/{p-e9431a58.entry.js → p-ae4b7df8.entry.js} +1 -1
- package/dist/ionic/p-b20717fc.system.entry.js +4 -0
- package/dist/ionic/p-b61d7624.entry.js +4 -0
- package/dist/ionic/p-b660ba8a.system.js +4 -0
- package/dist/ionic/{p-2716d76c.entry.js → p-b68d435f.entry.js} +1 -1
- package/dist/ionic/p-ba2b1ef5.entry.js +4 -0
- package/dist/ionic/{p-bc01c384.entry.js → p-ba5d9e27.entry.js} +1 -1
- package/dist/ionic/{p-9c48f42f.entry.js → p-bb3fd397.entry.js} +1 -1
- package/dist/ionic/{p-44a56556.js → p-c75dc92f.js} +1 -1
- package/dist/ionic/{p-1ab2642a.system.js → p-c8f7e8c8.system.js} +1 -1
- package/dist/ionic/p-cd729946.js +4 -0
- package/dist/ionic/{p-385bb983.entry.js → p-cf53213c.entry.js} +1 -1
- package/dist/ionic/{p-e403ff07.entry.js → p-d1ab26de.entry.js} +1 -1
- package/dist/ionic/p-d2a73201.system.entry.js +4 -0
- package/dist/ionic/p-d3525765.js +4 -0
- package/dist/ionic/{p-d01449a3.system.entry.js → p-da666998.system.entry.js} +1 -1
- package/dist/ionic/{p-cc700688.system.entry.js → p-db05ecb6.system.entry.js} +1 -1
- package/dist/ionic/p-dc43a79e.entry.js +4 -0
- package/dist/ionic/{p-0aa78a8d.system.js → p-e755af39.system.js} +1 -1
- package/dist/ionic/p-ee71caaa.system.entry.js +4 -0
- package/dist/ionic/{p-5aec2208.entry.js → p-f0eafd38.entry.js} +1 -1
- package/dist/ionic/{p-25312768.system.entry.js → p-f25b4396.system.entry.js} +1 -1
- package/dist/ionic/p-f65f4d3e.system.entry.js +4 -0
- package/dist/ionic/p-fd98debb.entry.js +4 -0
- package/dist/ionic/p-fe458994.system.entry.js +4 -0
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +8 -0
- package/dist/types/components/item-sliding/animations/item-sliding-options.d.ts +10 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +19 -0
- package/dist/types/components/menu/menu.d.ts +1 -11
- package/dist/types/components/split-pane/split-pane.d.ts +2 -14
- package/dist/types/components.d.ts +8 -1
- package/dist/types/utils/animation/animation-interface.d.ts +6 -0
- package/dist/types/utils/animation/animation.d.ts +2 -0
- package/hydrate/index.js +232 -108
- package/package.json +1 -1
- package/css/themes/dark.always.css +0 -122
- package/css/themes/dark.always.css.map +0 -1
- package/css/themes/dark.class.css +0 -122
- package/css/themes/dark.class.css.map +0 -1
- package/css/themes/dark.css +0 -3
- package/css/themes/dark.css.map +0 -1
- package/css/themes/dark.system.css +0 -124
- package/css/themes/dark.system.css.map +0 -1
- package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +0 -24
- package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +0 -25
- package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +0 -23
- package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +0 -32
- package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +0 -41
- package/dist/collection/themes/test/colors/theme.e2e.js +0 -114
- package/dist/esm-es5/animation-dde8cc0d.js +0 -4
- package/dist/esm-es5/button-active-48379dd2.js +0 -4
- package/dist/esm-es5/md.transition-f992779f.js +0 -4
- package/dist/ionic/p-04d84d5d.entry.js +0 -4
- package/dist/ionic/p-068950da.entry.js +0 -4
- package/dist/ionic/p-0832dedf.entry.js +0 -4
- package/dist/ionic/p-11c55ac8.system.js +0 -4
- package/dist/ionic/p-1b60cc53.js +0 -4
- package/dist/ionic/p-24c3f2cd.system.entry.js +0 -4
- package/dist/ionic/p-2724403e.entry.js +0 -4
- package/dist/ionic/p-283bc1a1.system.entry.js +0 -4
- package/dist/ionic/p-29d03b3a.js +0 -4
- package/dist/ionic/p-38f2c6bb.system.js +0 -4
- package/dist/ionic/p-3af5faf8.system.entry.js +0 -4
- package/dist/ionic/p-4eae8c91.entry.js +0 -4
- package/dist/ionic/p-56944895.entry.js +0 -4
- package/dist/ionic/p-713af1fe.entry.js +0 -4
- package/dist/ionic/p-8a25bf30.system.entry.js +0 -4
- package/dist/ionic/p-97aaf697.system.entry.js +0 -4
- package/dist/ionic/p-98f35d98.js +0 -4
- package/dist/ionic/p-9a68d8ef.system.js +0 -4
- package/dist/ionic/p-9a8bc8f3.system.entry.js +0 -4
- package/dist/ionic/p-a6e5f54e.system.entry.js +0 -4
- package/dist/ionic/p-b231b7cf.system.entry.js +0 -4
- package/dist/ionic/p-b59fe3bd.system.entry.js +0 -4
- package/dist/ionic/p-b7e03ff0.system.entry.js +0 -4
- package/dist/ionic/p-bec6ae40.entry.js +0 -4
- package/dist/ionic/p-c16fbc5f.system.entry.js +0 -4
- package/dist/ionic/p-cb3ef9c1.system.entry.js +0 -4
- package/dist/ionic/p-cb6a1fa0.system.entry.js +0 -4
- package/dist/ionic/p-cd3e1a06.entry.js +0 -4
- package/dist/ionic/p-cd574dfa.js +0 -4
- package/dist/ionic/p-d1ad57d5.system.entry.js +0 -4
- package/dist/ionic/p-d2634efe.system.entry.js +0 -4
- package/dist/ionic/p-fc17f198.entry.js +0 -4
|
@@ -19,28 +19,6 @@ const testAria = async (page, buttonID, expectedAriaLabelledBy, expectedAriaDesc
|
|
|
19
19
|
expect(ariaLabelledBy).toBe(expectedAriaLabelledBy);
|
|
20
20
|
expect(ariaDescribedBy).toBe(expectedAriaDescribedBy);
|
|
21
21
|
};
|
|
22
|
-
configs({ directions: ['ltr'], themes: ['dark', 'light'] }).forEach(({ title, config }) => {
|
|
23
|
-
test.describe(title('alert: Axe testing'), () => {
|
|
24
|
-
test('should not have accessibility violations when header and message are defined', async ({ page }) => {
|
|
25
|
-
await page.setContent(`
|
|
26
|
-
<ion-alert></ion-alert>
|
|
27
|
-
|
|
28
|
-
<script>
|
|
29
|
-
const alert = document.querySelector('ion-alert');
|
|
30
|
-
alert.header = 'Header';
|
|
31
|
-
alert.subHeader = 'Subtitle';
|
|
32
|
-
alert.buttons = ['OK'];
|
|
33
|
-
</script>
|
|
34
|
-
`, config);
|
|
35
|
-
const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent');
|
|
36
|
-
const alert = page.locator('ion-alert');
|
|
37
|
-
await alert.evaluate((el) => el.present());
|
|
38
|
-
await ionAlertDidPresent.next();
|
|
39
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
40
|
-
expect(results.violations).toEqual([]);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
22
|
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
45
23
|
test.describe(title('alert: text wrapping'), () => {
|
|
46
24
|
test('should break on words and white spaces for radios', async ({ page }, testInfo) => {
|
|
@@ -94,6 +72,15 @@ configs({ directions: ['ltr'] }).forEach(({ config, title }) => {
|
|
|
94
72
|
test.beforeEach(async ({ page }) => {
|
|
95
73
|
await page.goto(`/src/components/alert/test/a11y`, config);
|
|
96
74
|
});
|
|
75
|
+
test('should not have accessibility violations when header and message are defined', async ({ page }) => {
|
|
76
|
+
const didPresent = await page.spyOnEvent('ionAlertDidPresent');
|
|
77
|
+
const button = page.locator('#bothHeaders');
|
|
78
|
+
await button.click();
|
|
79
|
+
await didPresent.next();
|
|
80
|
+
// TODO FW-4375
|
|
81
|
+
const results = await new AxeBuilder({ page }).disableRules('color-contrast').analyze();
|
|
82
|
+
expect(results.violations).toEqual([]);
|
|
83
|
+
});
|
|
97
84
|
test('should have aria-labelledby when header is set', async ({ page }) => {
|
|
98
85
|
await testAria(page, 'noMessage', 'alert-1-hdr', null);
|
|
99
86
|
});
|
|
@@ -331,7 +331,7 @@ ion-icon {
|
|
|
331
331
|
--background-focused: currentColor;
|
|
332
332
|
--background-focused-opacity: .1;
|
|
333
333
|
--border-radius: 4px;
|
|
334
|
-
--color: var(--ion-color-primary, #
|
|
334
|
+
--color: var(--ion-color-primary, #3880ff);
|
|
335
335
|
--icon-margin-end: 1px;
|
|
336
336
|
--icon-margin-start: -4px;
|
|
337
337
|
/**
|
|
@@ -1,29 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import AxeBuilder from "@axe-core/playwright";
|
|
5
4
|
import { expect } from "@playwright/test";
|
|
6
5
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
7
|
-
/**
|
|
8
|
-
* Only ios mode uses ion-color() for the back button
|
|
9
|
-
*/
|
|
10
|
-
configs({ directions: ['ltr'], modes: ['ios'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
|
|
11
|
-
test.describe(title('back-button: a11y for ion-color()'), () => {
|
|
12
|
-
test('should not have accessibility violations', async ({ page }) => {
|
|
13
|
-
await page.setContent(`
|
|
14
|
-
<style>
|
|
15
|
-
ion-back-button {
|
|
16
|
-
display: inline-block !important;
|
|
17
|
-
vertical-align: middle;
|
|
18
|
-
}
|
|
19
|
-
</style>
|
|
20
|
-
<ion-back-button text="Back" aria-label="back button"></ion-back-button>
|
|
21
|
-
`, config);
|
|
22
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
23
|
-
expect(results.violations).toEqual([]);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
6
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
28
7
|
test.describe(title('back-button: font scaling'), () => {
|
|
29
8
|
test('should scale text on larger font sizes', async ({ page }) => {
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* @prop --padding-bottom: Bottom padding of the badge
|
|
64
64
|
* @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the badge
|
|
65
65
|
*/
|
|
66
|
-
--background: var(--ion-color-primary, #
|
|
66
|
+
--background: var(--ion-color-primary, #3880ff);
|
|
67
67
|
--color: var(--ion-color-primary-contrast, #fff);
|
|
68
68
|
--padding-top: 3px;
|
|
69
69
|
--padding-end: 8px;
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* @prop --padding-bottom: Bottom padding of the badge
|
|
64
64
|
* @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the badge
|
|
65
65
|
*/
|
|
66
|
-
--background: var(--ion-color-primary, #
|
|
66
|
+
--background: var(--ion-color-primary, #3880ff);
|
|
67
67
|
--color: var(--ion-color-primary-contrast, #fff);
|
|
68
68
|
--padding-top: 3px;
|
|
69
69
|
--padding-end: 8px;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import AxeBuilder from "@axe-core/playwright";
|
|
5
4
|
import { expect } from "@playwright/test";
|
|
6
5
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
7
6
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
@@ -21,20 +20,3 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
21
20
|
});
|
|
22
21
|
});
|
|
23
22
|
});
|
|
24
|
-
configs({ directions: ['ltr'], themes: ['light', 'dark'] }).forEach(({ config, title }) => {
|
|
25
|
-
test.describe(title('badge: a11y'), () => {
|
|
26
|
-
test('should not have accessibility violations', async ({ page }) => {
|
|
27
|
-
/**
|
|
28
|
-
* All page content should be contained by landmarks (main, nav, etc.)
|
|
29
|
-
* By containing the badge in a main element, we can avoid this violation.
|
|
30
|
-
*/
|
|
31
|
-
await page.setContent(`
|
|
32
|
-
<main>
|
|
33
|
-
<ion-badge>123</ion-badge>
|
|
34
|
-
</main>
|
|
35
|
-
`, config);
|
|
36
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
37
|
-
expect(results.violations).toEqual([]);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
});
|
|
@@ -114,20 +114,20 @@
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
:host(.button-solid) {
|
|
117
|
-
--background: var(--ion-color-primary, #
|
|
117
|
+
--background: var(--ion-color-primary, #3880ff);
|
|
118
118
|
--color: var(--ion-color-primary-contrast, #fff);
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
:host(.button-outline) {
|
|
122
|
-
--border-color: var(--ion-color-primary, #
|
|
122
|
+
--border-color: var(--ion-color-primary, #3880ff);
|
|
123
123
|
--background: transparent;
|
|
124
|
-
--color: var(--ion-color-primary, #
|
|
124
|
+
--color: var(--ion-color-primary, #3880ff);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
:host(.button-clear) {
|
|
128
128
|
--border-width: 0;
|
|
129
129
|
--background: transparent;
|
|
130
|
-
--color: var(--ion-color-primary, #
|
|
130
|
+
--color: var(--ion-color-primary, #3880ff);
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
:host(.button-block) {
|
|
@@ -465,9 +465,9 @@ ion-ripple-effect {
|
|
|
465
465
|
}
|
|
466
466
|
|
|
467
467
|
:host(.button-solid) {
|
|
468
|
-
--background-activated: var(--ion-color-primary-shade, #
|
|
469
|
-
--background-focused: var(--ion-color-primary-shade, #
|
|
470
|
-
--background-hover: var(--ion-color-primary-tint, #
|
|
468
|
+
--background-activated: var(--ion-color-primary-shade, #3171e0);
|
|
469
|
+
--background-focused: var(--ion-color-primary-shade, #3171e0);
|
|
470
|
+
--background-hover: var(--ion-color-primary-tint, #4c8dff);
|
|
471
471
|
--background-activated-opacity: 1;
|
|
472
472
|
--background-focused-opacity: 1;
|
|
473
473
|
--background-hover-opacity: 1;
|
|
@@ -477,8 +477,8 @@ ion-ripple-effect {
|
|
|
477
477
|
--border-radius: 14px;
|
|
478
478
|
--border-width: 1px;
|
|
479
479
|
--border-style: solid;
|
|
480
|
-
--background-activated: var(--ion-color-primary, #
|
|
481
|
-
--background-focused: var(--ion-color-primary, #
|
|
480
|
+
--background-activated: var(--ion-color-primary, #3880ff);
|
|
481
|
+
--background-focused: var(--ion-color-primary, #3880ff);
|
|
482
482
|
--background-hover: transparent;
|
|
483
483
|
--background-focused-opacity: .1;
|
|
484
484
|
--color-activated: var(--ion-color-primary-contrast, #fff);
|
|
@@ -487,7 +487,7 @@ ion-ripple-effect {
|
|
|
487
487
|
:host(.button-clear) {
|
|
488
488
|
--background-activated: transparent;
|
|
489
489
|
--background-activated-opacity: 0;
|
|
490
|
-
--background-focused: var(--ion-color-primary, #
|
|
490
|
+
--background-focused: var(--ion-color-primary, #3880ff);
|
|
491
491
|
--background-hover: transparent;
|
|
492
492
|
--background-focused-opacity: .1;
|
|
493
493
|
font-size: min(1.0625rem, 51px);
|
|
@@ -114,20 +114,20 @@
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
:host(.button-solid) {
|
|
117
|
-
--background: var(--ion-color-primary, #
|
|
117
|
+
--background: var(--ion-color-primary, #3880ff);
|
|
118
118
|
--color: var(--ion-color-primary-contrast, #fff);
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
:host(.button-outline) {
|
|
122
|
-
--border-color: var(--ion-color-primary, #
|
|
122
|
+
--border-color: var(--ion-color-primary, #3880ff);
|
|
123
123
|
--background: transparent;
|
|
124
|
-
--color: var(--ion-color-primary, #
|
|
124
|
+
--color: var(--ion-color-primary, #3880ff);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
:host(.button-clear) {
|
|
128
128
|
--border-width: 0;
|
|
129
129
|
--background: transparent;
|
|
130
|
-
--color: var(--ion-color-primary, #
|
|
130
|
+
--color: var(--ion-color-primary, #3880ff);
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
:host(.button-block) {
|
|
@@ -431,8 +431,8 @@ ion-ripple-effect {
|
|
|
431
431
|
--border-style: solid;
|
|
432
432
|
--box-shadow: none;
|
|
433
433
|
--background-activated: transparent;
|
|
434
|
-
--background-focused: var(--ion-color-primary, #
|
|
435
|
-
--background-hover: var(--ion-color-primary, #
|
|
434
|
+
--background-focused: var(--ion-color-primary, #3880ff);
|
|
435
|
+
--background-hover: var(--ion-color-primary, #3880ff);
|
|
436
436
|
--background-activated-opacity: 0;
|
|
437
437
|
--background-focused-opacity: .12;
|
|
438
438
|
--background-hover-opacity: .04;
|
|
@@ -444,8 +444,8 @@ ion-ripple-effect {
|
|
|
444
444
|
|
|
445
445
|
:host(.button-clear) {
|
|
446
446
|
--background-activated: transparent;
|
|
447
|
-
--background-focused: var(--ion-color-primary, #
|
|
448
|
-
--background-hover: var(--ion-color-primary, #
|
|
447
|
+
--background-focused: var(--ion-color-primary, #3880ff);
|
|
448
|
+
--background-hover: var(--ion-color-primary, #3880ff);
|
|
449
449
|
--background-activated-opacity: 0;
|
|
450
450
|
--background-focused-opacity: .12;
|
|
451
451
|
--background-hover-opacity: .04;
|
|
@@ -1,56 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import AxeBuilder from "@axe-core/playwright";
|
|
5
4
|
import { expect } from "@playwright/test";
|
|
6
5
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
7
|
-
configs({ directions: ['ltr'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
|
|
8
|
-
test.describe(title('button: a11y for ion-color()'), () => {
|
|
9
|
-
test('should not have accessibility violations', async ({ page }) => {
|
|
10
|
-
await page.setContent(`
|
|
11
|
-
<ion-button>Default</ion-button>
|
|
12
|
-
<ion-button fill="solid">Solid</ion-button>
|
|
13
|
-
<ion-button fill="outline">Outline</ion-button>
|
|
14
|
-
<ion-button fill="clear">Clear</ion-button>
|
|
15
|
-
`, config);
|
|
16
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
17
|
-
expect(results.violations).toEqual([]);
|
|
18
|
-
});
|
|
19
|
-
test('focused state should not have accessibility violations', async ({ page }) => {
|
|
20
|
-
await page.setContent(`
|
|
21
|
-
<ion-button class="ion-focused" fill="solid">Solid</ion-button>
|
|
22
|
-
<ion-button class="ion-focused" fill="outline">Outline</ion-button>
|
|
23
|
-
<ion-button class="ion-focused" fill="clear">Clear</ion-button>
|
|
24
|
-
`, config);
|
|
25
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
26
|
-
expect(results.violations).toEqual([]);
|
|
27
|
-
});
|
|
28
|
-
test('button in toolbar should not have accessibility violations', async ({ page }) => {
|
|
29
|
-
await page.setContent(`
|
|
30
|
-
<ion-toolbar>
|
|
31
|
-
<ion-button fill="outline" class="ion-activated">Start</ion-button>
|
|
32
|
-
</ion-toolbar>
|
|
33
|
-
`, config);
|
|
34
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
35
|
-
expect(results.violations).toEqual([]);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
/**
|
|
40
|
-
* Only ios mode uses ion-color() for the activated button state
|
|
41
|
-
*/
|
|
42
|
-
configs({ directions: ['ltr'], modes: ['ios'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
|
|
43
|
-
test.describe(title('button: ios contrast'), () => {
|
|
44
|
-
test('activated state should not have accessibility violations', async ({ page }) => {
|
|
45
|
-
await page.setContent(`
|
|
46
|
-
<ion-button class="ion-activated" fill="solid">Solid</ion-button>
|
|
47
|
-
<ion-button class="ion-activated" fill="outline">Outline</ion-button>
|
|
48
|
-
`, config);
|
|
49
|
-
const results = await new AxeBuilder({ page }).analyze();
|
|
50
|
-
expect(results.violations).toEqual([]);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
6
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
55
7
|
test.describe(title('button: font scaling'), () => {
|
|
56
8
|
test('should scale default button text on larger font sizes', async ({ page }) => {
|
|
@@ -71,10 +71,9 @@
|
|
|
71
71
|
* @prop --checkmark-color: Color of the checkbox checkmark when checked
|
|
72
72
|
* @prop --checkmark-width: Stroke width of the checkbox checkmark
|
|
73
73
|
*/
|
|
74
|
-
--checkbox-background-checked: var(--ion-color-primary, #
|
|
75
|
-
--border-color-checked: var(--ion-color-primary, #
|
|
74
|
+
--checkbox-background-checked: var(--ion-color-primary, #3880ff);
|
|
75
|
+
--border-color-checked: var(--ion-color-primary, #3880ff);
|
|
76
76
|
--checkmark-color: var(--ion-color-primary-contrast, #fff);
|
|
77
|
-
--checkmark-width: 1;
|
|
78
77
|
--transition: none;
|
|
79
78
|
display: inline-block;
|
|
80
79
|
position: relative;
|
|
@@ -504,11 +503,12 @@ input {
|
|
|
504
503
|
*/
|
|
505
504
|
:host {
|
|
506
505
|
--border-radius: 50%;
|
|
507
|
-
--border-width: 0.
|
|
506
|
+
--border-width: 0.125rem;
|
|
508
507
|
--border-style: solid;
|
|
509
508
|
--border-color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);
|
|
510
509
|
--checkbox-background: var(--ion-item-background, var(--ion-background-color, #fff));
|
|
511
|
-
--size: min(1.
|
|
510
|
+
--size: min(1.375rem, 55.836px);
|
|
511
|
+
--checkmark-width: 1.5px;
|
|
512
512
|
}
|
|
513
513
|
|
|
514
514
|
:host(.checkbox-disabled) {
|
|
@@ -71,10 +71,9 @@
|
|
|
71
71
|
* @prop --checkmark-color: Color of the checkbox checkmark when checked
|
|
72
72
|
* @prop --checkmark-width: Stroke width of the checkbox checkmark
|
|
73
73
|
*/
|
|
74
|
-
--checkbox-background-checked: var(--ion-color-primary, #
|
|
75
|
-
--border-color-checked: var(--ion-color-primary, #
|
|
74
|
+
--checkbox-background-checked: var(--ion-color-primary, #3880ff);
|
|
75
|
+
--border-color-checked: var(--ion-color-primary, #3880ff);
|
|
76
76
|
--checkmark-color: var(--ion-color-primary-contrast, #fff);
|
|
77
|
-
--checkmark-width: 1;
|
|
78
77
|
--transition: none;
|
|
79
78
|
display: inline-block;
|
|
80
79
|
position: relative;
|
|
@@ -4,19 +4,10 @@
|
|
|
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
|
-
configs({
|
|
7
|
+
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
8
8
|
test.describe(title('checkbox: a11y'), () => {
|
|
9
9
|
test('should not have accessibility violations', async ({ page }) => {
|
|
10
|
-
await page.
|
|
11
|
-
<main>
|
|
12
|
-
<ion-checkbox>Label</ion-checkbox>
|
|
13
|
-
<ion-checkbox aria-label="my aria label"></ion-checkbox>
|
|
14
|
-
<ion-checkbox checked="true">Checked</ion-checkbox>
|
|
15
|
-
<ion-item>
|
|
16
|
-
<ion-checkbox>Checkbox in item</ion-checkbox>
|
|
17
|
-
</ion-item>
|
|
18
|
-
</main>
|
|
19
|
-
`, config);
|
|
10
|
+
await page.goto(`/src/components/checkbox/test/a11y`, config);
|
|
20
11
|
const results = await new AxeBuilder({ page }).analyze();
|
|
21
12
|
expect(results.violations).toEqual([]);
|
|
22
13
|
});
|
|
@@ -5,6 +5,16 @@ import { expect } from "@playwright/test";
|
|
|
5
5
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
6
|
configs().forEach(({ title, screenshot, config }) => {
|
|
7
7
|
test.describe(title('checkbox: basic visual tests'), () => {
|
|
8
|
+
test('should not have visual regressions', async ({ page }) => {
|
|
9
|
+
await page.setContent(`
|
|
10
|
+
<div id="checkboxes">
|
|
11
|
+
<ion-checkbox>Unchecked</ion-checkbox>
|
|
12
|
+
<ion-checkbox checked>Checked</ion-checkbox>
|
|
13
|
+
</div>
|
|
14
|
+
`, config);
|
|
15
|
+
const checkboxes = page.locator('#checkboxes');
|
|
16
|
+
await expect(checkboxes).toHaveScreenshot(screenshot(`checkbox-basic`));
|
|
17
|
+
});
|
|
8
18
|
test('should render custom checkmark-width correctly', async ({ page }) => {
|
|
9
19
|
await page.setContent(`
|
|
10
20
|
<ion-checkbox checked style="--checkmark-width: 7">Checkmark Width</ion-checkbox>
|
|
@@ -334,8 +334,9 @@ export class Content {
|
|
|
334
334
|
const mode = getIonMode(this);
|
|
335
335
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
336
336
|
const transitionShadow = mode === 'ios';
|
|
337
|
+
const TagType = isMainContent ? 'main' : 'div';
|
|
337
338
|
this.resize();
|
|
338
|
-
return (h(Host, {
|
|
339
|
+
return (h(Host, { class: createColorClasses(this.color, {
|
|
339
340
|
[mode]: true,
|
|
340
341
|
'content-sizing': hostContext('ion-popover', this.el),
|
|
341
342
|
overscroll: forceOverscroll,
|
|
@@ -343,7 +344,7 @@ export class Content {
|
|
|
343
344
|
}), style: {
|
|
344
345
|
'--offset-top': `${this.cTop}px`,
|
|
345
346
|
'--offset-bottom': `${this.cBottom}px`,
|
|
346
|
-
} }, h("div", { ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h(
|
|
347
|
+
} }, h("div", { ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), h(TagType, { class: {
|
|
347
348
|
'inner-scroll': true,
|
|
348
349
|
'scroll-x': scrollX,
|
|
349
350
|
'scroll-y': scrollY,
|
|
@@ -613,8 +613,8 @@ ion-picker {
|
|
|
613
613
|
* }
|
|
614
614
|
*/
|
|
615
615
|
:host {
|
|
616
|
-
--background: var(--ion-color-light, #
|
|
617
|
-
--background-rgb: var(--ion-color-light-rgb
|
|
616
|
+
--background: var(--ion-color-light, #ffffff);
|
|
617
|
+
--background-rgb: var(--ion-color-light-rgb);
|
|
618
618
|
--title-color: var(--ion-color-step-600, #666666);
|
|
619
619
|
}
|
|
620
620
|
|
|
@@ -837,6 +837,7 @@ ion-picker {
|
|
|
837
837
|
|
|
838
838
|
.calendar-day.calendar-day-active {
|
|
839
839
|
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
840
|
+
font-size: min(1.375rem, 35.2px);
|
|
840
841
|
}
|
|
841
842
|
|
|
842
843
|
/**
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a font size to a dynamic font size.
|
|
3
|
+
* Fonts that participate in Dynamic Type should use
|
|
4
|
+
* dynamic font sizes.
|
|
5
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
+
* convert to a unit other than $baselineUnit.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Convert a font size to a dynamic font size but impose
|
|
11
|
+
* a maximum font size.
|
|
12
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
+
* convert to a unit other than $baselineUnit.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Convert a font size to a dynamic font size but impose
|
|
19
|
+
* a minimum font size.
|
|
20
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
+
* convert to a unit other than $baselineUnit.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Convert a font size to a dynamic font size but impose
|
|
27
|
+
* maximum and minimum font sizes.
|
|
28
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
+
* convert to a unit other than $baselineUnit.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* A heuristic that applies CSS to tablet
|
|
36
|
+
* viewports.
|
|
37
|
+
*
|
|
38
|
+
* Usage:
|
|
39
|
+
* @include tablet-viewport() {
|
|
40
|
+
* :host {
|
|
41
|
+
* background-color: green;
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* A heuristic that applies CSS to mobile
|
|
47
|
+
* viewports (i.e. phones, not tablets).
|
|
48
|
+
*
|
|
49
|
+
* Usage:
|
|
50
|
+
* @include mobile-viewport() {
|
|
51
|
+
* :host {
|
|
52
|
+
* background-color: blue;
|
|
53
|
+
* }
|
|
54
|
+
* }
|
|
55
|
+
*/
|
|
56
|
+
:host {
|
|
57
|
+
display: flex;
|
|
58
|
+
flex-wrap: wrap;
|
|
59
|
+
align-items: center;
|
|
60
|
+
justify-content: center;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
:host button {
|
|
64
|
+
border-radius: 8px;
|
|
65
|
+
-webkit-margin-start: 2px;
|
|
66
|
+
margin-inline-start: 2px;
|
|
67
|
+
-webkit-margin-end: 2px;
|
|
68
|
+
margin-inline-end: 2px;
|
|
69
|
+
margin-top: 0px;
|
|
70
|
+
margin-bottom: 0px;
|
|
71
|
+
position: relative;
|
|
72
|
+
transition: 150ms color ease-in-out;
|
|
73
|
+
border: none;
|
|
74
|
+
background: var(--ion-color-step-300, #edeef0);
|
|
75
|
+
color: var(--ion-text-color, #000);
|
|
76
|
+
font-family: inherit;
|
|
77
|
+
font-size: 1rem;
|
|
78
|
+
cursor: pointer;
|
|
79
|
+
overflow: hidden;
|
|
80
|
+
appearance: none;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
:host(.time-active) #time-button,
|
|
84
|
+
:host(.date-active) #date-button {
|
|
85
|
+
color: var(--ion-color-base);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
:host(.datetime-button-disabled) {
|
|
89
|
+
pointer-events: none;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
:host(.datetime-button-disabled) button {
|
|
93
|
+
opacity: 0.4;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
:host button {
|
|
97
|
+
-webkit-padding-start: 13px;
|
|
98
|
+
padding-inline-start: 13px;
|
|
99
|
+
-webkit-padding-end: 13px;
|
|
100
|
+
padding-inline-end: 13px;
|
|
101
|
+
padding-top: 7px;
|
|
102
|
+
padding-bottom: 7px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
:host button.ion-activated {
|
|
106
|
+
color: var(--ion-color-step-600, #666666);
|
|
107
|
+
}
|
|
@@ -346,14 +346,14 @@ export class DatetimeButton {
|
|
|
346
346
|
static get encapsulation() { return "shadow"; }
|
|
347
347
|
static get originalStyleUrls() {
|
|
348
348
|
return {
|
|
349
|
-
"ios": ["datetime-button.scss"],
|
|
350
|
-
"md": ["datetime-button.scss"]
|
|
349
|
+
"ios": ["datetime-button.ios.scss"],
|
|
350
|
+
"md": ["datetime-button.md.scss"]
|
|
351
351
|
};
|
|
352
352
|
}
|
|
353
353
|
static get styleUrls() {
|
|
354
354
|
return {
|
|
355
|
-
"ios": ["datetime-button.css"],
|
|
356
|
-
"md": ["datetime-button.css"]
|
|
355
|
+
"ios": ["datetime-button.ios.css"],
|
|
356
|
+
"md": ["datetime-button.md.css"]
|
|
357
357
|
};
|
|
358
358
|
}
|
|
359
359
|
static get properties() {
|
package/dist/collection/components/datetime-button/{datetime-button.css → datetime-button.md.css}
RENAMED
|
@@ -62,12 +62,6 @@
|
|
|
62
62
|
|
|
63
63
|
:host button {
|
|
64
64
|
border-radius: 8px;
|
|
65
|
-
-webkit-padding-start: 12px;
|
|
66
|
-
padding-inline-start: 12px;
|
|
67
|
-
-webkit-padding-end: 12px;
|
|
68
|
-
padding-inline-end: 12px;
|
|
69
|
-
padding-top: 6px;
|
|
70
|
-
padding-bottom: 6px;
|
|
71
65
|
-webkit-margin-start: 2px;
|
|
72
66
|
margin-inline-start: 2px;
|
|
73
67
|
-webkit-margin-end: 2px;
|
|
@@ -97,4 +91,13 @@
|
|
|
97
91
|
|
|
98
92
|
:host(.datetime-button-disabled) button {
|
|
99
93
|
opacity: 0.4;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
:host button {
|
|
97
|
+
-webkit-padding-start: 12px;
|
|
98
|
+
padding-inline-start: 12px;
|
|
99
|
+
-webkit-padding-end: 12px;
|
|
100
|
+
padding-inline-end: 12px;
|
|
101
|
+
padding-top: 6px;
|
|
102
|
+
padding-bottom: 6px;
|
|
100
103
|
}
|
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { expect } from "@playwright/test";
|
|
5
5
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
+
configs().forEach(({ config, screenshot, title }) => {
|
|
7
|
+
test.describe(title('datetime-button: basic'), () => {
|
|
8
|
+
test('should not have visual regressions', async ({ page }) => {
|
|
9
|
+
await page.setContent(`
|
|
10
|
+
<ion-datetime-button locale="en-US" datetime="datetime"></ion-datetime-button>
|
|
11
|
+
<ion-datetime id="datetime" value="2022-01-01T06:30:00" presentation="date-time"></ion-datetime>
|
|
12
|
+
`, config);
|
|
13
|
+
const datetimeButton = page.locator('ion-datetime-button');
|
|
14
|
+
await expect(datetimeButton).toHaveScreenshot(screenshot(`datetime-button-basic`));
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
});
|
|
6
18
|
/**
|
|
7
19
|
* The tested behavior does not
|
|
8
20
|
* vary across modes/directions
|
|
@@ -334,10 +334,10 @@ ion-ripple-effect {
|
|
|
334
334
|
* }
|
|
335
335
|
*/
|
|
336
336
|
:host {
|
|
337
|
-
--background: var(--ion-color-primary, #
|
|
338
|
-
--background-activated: var(--ion-color-primary-shade, #
|
|
339
|
-
--background-focused: var(--ion-color-primary-shade, #
|
|
340
|
-
--background-hover: var(--ion-color-primary-tint, #
|
|
337
|
+
--background: var(--ion-color-primary, #3880ff);
|
|
338
|
+
--background-activated: var(--ion-color-primary-shade, #3171e0);
|
|
339
|
+
--background-focused: var(--ion-color-primary-shade, #3171e0);
|
|
340
|
+
--background-hover: var(--ion-color-primary-tint, #4c8dff);
|
|
341
341
|
--background-activated-opacity: 1;
|
|
342
342
|
--background-focused-opacity: 1;
|
|
343
343
|
--background-hover-opacity: 1;
|
|
@@ -358,10 +358,10 @@ ion-ripple-effect {
|
|
|
358
358
|
}
|
|
359
359
|
|
|
360
360
|
:host(.fab-button-in-list) {
|
|
361
|
-
--background: var(--ion-color-light, #
|
|
362
|
-
--background-activated: var(--ion-color-light-shade, #
|
|
361
|
+
--background: var(--ion-color-light, #f4f5f8);
|
|
362
|
+
--background-activated: var(--ion-color-light-shade, #d7d8da);
|
|
363
363
|
--background-focused: var(--background-activated);
|
|
364
|
-
--background-hover: var(--ion-color-light-tint, #
|
|
364
|
+
--background-hover: var(--ion-color-light-tint, #f5f6f9);
|
|
365
365
|
--color: var(--ion-color-light-contrast, #000);
|
|
366
366
|
--color-activated: var(--ion-color-light-contrast, #000);
|
|
367
367
|
--color-focused: var(--color-activated);
|
|
@@ -395,15 +395,15 @@ ion-ripple-effect {
|
|
|
395
395
|
}
|
|
396
396
|
@supports (backdrop-filter: blur(0)) {
|
|
397
397
|
:host(.fab-button-translucent) {
|
|
398
|
-
--background: rgba(var(--ion-color-primary-rgb,
|
|
399
|
-
--background-hover: rgba(var(--ion-color-primary-rgb,
|
|
400
|
-
--background-focused: rgba(var(--ion-color-primary-rgb,
|
|
398
|
+
--background: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.9);
|
|
399
|
+
--background-hover: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.8);
|
|
400
|
+
--background-focused: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.82);
|
|
401
401
|
--backdrop-filter: saturate(180%) blur(20px);
|
|
402
402
|
}
|
|
403
403
|
:host(.fab-button-translucent-in-list) {
|
|
404
|
-
--background: rgba(var(--ion-color-light-rgb,
|
|
405
|
-
--background-hover: rgba(var(--ion-color-light-rgb,
|
|
406
|
-
--background-focused: rgba(var(--ion-color-light-rgb,
|
|
404
|
+
--background: rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);
|
|
405
|
+
--background-hover: rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);
|
|
406
|
+
--background-focused: rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82);
|
|
407
407
|
}
|
|
408
408
|
}
|
|
409
409
|
@supports (backdrop-filter: blur(0)) {
|