@ionic/core 7.6.2-dev.11703182244.1165aeec → 7.6.2-dev.11704729332.13b412c8
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 +1 -1
- package/components/alert.js +2 -2
- package/components/backdrop.js +0 -12
- package/components/button.js +2 -2
- package/components/checkbox.js +2 -2
- package/components/data.js +1 -1
- package/components/gesture-controller.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-badge.js +2 -2
- package/components/ion-content.js +3 -4
- package/components/ion-datetime.js +40 -64
- 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-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-picker-column-option.d.ts +11 -0
- package/components/ion-picker-column-option.js +9 -0
- package/components/ion-picker-column.js +2 -2
- package/components/ion-picker-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +9 -0
- package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
- package/components/ion-picker-legacy.js +309 -0
- package/components/ion-picker.js +1 -309
- package/components/ion-progress-bar.js +2 -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-tab-bar.js +2 -2
- 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/overlays.js +11 -4
- package/components/picker-column-option.js +122 -0
- package/components/picker-column.js +351 -322
- package/components/picker-column2.js +379 -0
- package/components/{picker-internal.js → picker.js} +29 -22
- package/components/radio-group.js +1 -9
- package/components/radio.js +2 -2
- package/components/select-popover.js +1 -1
- package/css/core.css +35 -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/{button-active-962fe442.js → button-active-5bf1cac0.js} +1 -1
- package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
- package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
- package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
- package/dist/cjs/ion-alert.cjs.entry.js +6 -6
- package/dist/cjs/ion-app_8.cjs.entry.js +4 -5
- 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-backdrop.cjs.entry.js +0 -12
- 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 +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +37 -57
- 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 +3 -3
- package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-loading.cjs.entry.js +3 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
- 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-picker-column-option.cjs.entry.js +104 -0
- package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +104 -87
- package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +26 -19
- package/dist/cjs/ion-popover.cjs.entry.js +2 -1
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -11
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
- 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 +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +5 -4
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +5 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{overlays-e77cc023.js → overlays-7773cbe1.js} +11 -4
- package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
- package/dist/collection/collection-manifest.json +7 -6
- package/dist/collection/components/action-sheet/action-sheet.ios.css +3 -3
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +23 -14
- package/dist/collection/components/alert/alert.ios.css +6 -6
- 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/backdrop/backdrop.js +0 -12
- 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 +11 -11
- package/dist/collection/components/button/button.md.css +9 -9
- package/dist/collection/components/button/test/a11y/button.e2e.js +48 -0
- package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
- package/dist/collection/components/checkbox/checkbox.ios.css +2 -2
- package/dist/collection/components/checkbox/checkbox.md.css +2 -2
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +11 -2
- package/dist/collection/components/content/content.css +0 -4
- package/dist/collection/components/content/content.js +2 -3
- package/dist/collection/components/datetime/datetime.ios.css +91 -38
- package/dist/collection/components/datetime/datetime.js +24 -36
- package/dist/collection/components/datetime/datetime.md.css +96 -38
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
- package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
- package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
- package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
- package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
- package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
- package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
- package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
- package/dist/collection/components/datetime/utils/data.js +1 -1
- 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/test/a11y/item-sliding.e2e.js +28 -0
- 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-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/picker/picker.ios.css +112 -211
- package/dist/collection/components/picker/picker.js +472 -744
- package/dist/collection/components/picker/picker.md.css +108 -198
- package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
- package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
- package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
- package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +63 -32
- package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
- package/dist/collection/components/picker-column/picker-column.js +497 -335
- package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
- package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
- package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
- package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
- package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
- package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
- package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
- package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
- package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
- package/dist/collection/components/picker-legacy/picker.js +817 -0
- package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
- package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
- package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
- package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
- package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
- package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
- package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +1 -1
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
- package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
- package/dist/collection/components/progress-bar/progress-bar.ios.css +2 -2
- package/dist/collection/components/progress-bar/progress-bar.md.css +2 -2
- 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/radio-group/radio-group.js +1 -9
- 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 +1 -1
- 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/tab-bar/tab-bar.ios.css +1 -1
- package/dist/collection/components/tab-bar/tab-bar.md.css +1 -1
- 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 +1 -1
- 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/gesture/gesture-controller.js +1 -1
- package/dist/collection/utils/overlays.js +11 -4
- package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
- 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 +478 -41
- package/dist/esm/{button-active-308d3edd.js → button-active-48379dd2.js} +1 -1
- package/dist/esm/{data-775093f5.js → data-6a31d701.js} +1 -1
- package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
- package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
- package/dist/esm/index.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +5 -5
- package/dist/esm/ion-alert.entry.js +6 -6
- package/dist/esm/ion-app_8.entry.js +4 -5
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-backdrop.entry.js +0 -12
- 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 +1 -1
- package/dist/esm/ion-datetime_3.entry.js +36 -56
- 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 +3 -3
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +3 -2
- package/dist/esm/ion-menu_3.entry.js +4 -4
- package/dist/esm/ion-modal.entry.js +3 -3
- package/dist/esm/ion-nav_2.entry.js +1 -1
- package/dist/esm/ion-picker-column-option.entry.js +100 -0
- package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +104 -87
- package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +26 -19
- package/dist/esm/ion-popover.entry.js +2 -1
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +3 -11
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +5 -5
- package/dist/esm/ion-reorder_2.entry.js +1 -1
- 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 +2 -2
- package/dist/esm/ion-select_3.entry.js +5 -4
- package/dist/esm/ion-tab-bar_2.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +5 -5
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{overlays-b33f6bca.js → overlays-94dac1cb.js} +11 -4
- package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
- package/dist/esm-es5/{button-active-308d3edd.js → button-active-48379dd2.js} +1 -1
- package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
- package/dist/esm-es5/{index-2cf77112.js → index-39782642.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-backdrop.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-picker-column-option.entry.js +4 -0
- package/dist/esm-es5/ion-picker-column.entry.js +4 -0
- package/dist/esm-es5/ion-picker.entry.js +4 -0
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-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-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/loader.js +1 -1
- package/dist/esm-es5/overlays-94dac1cb.js +4 -0
- package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
- package/dist/html.html-data.json +152 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-61e4d3ec.entry.js → p-068950da.entry.js} +1 -1
- package/dist/ionic/{p-c1701827.entry.js → p-0832dedf.entry.js} +1 -1
- package/dist/ionic/{p-f6e9c227.system.js → p-11c55ac8.system.js} +1 -1
- package/dist/ionic/{p-f2bfd3d7.entry.js → p-13d4dfe7.entry.js} +1 -1
- package/dist/ionic/p-19d9ceb8.system.js +1 -1
- package/dist/ionic/{p-afa9f205.system.js → p-1ab2642a.system.js} +1 -1
- package/dist/ionic/{p-11a3973f.entry.js → p-1b14f0f8.entry.js} +1 -1
- package/dist/ionic/{p-0235067a.js → p-1b60cc53.js} +1 -1
- package/dist/ionic/p-1c453add.system.entry.js +4 -0
- package/dist/ionic/{p-11bf2ad0.system.entry.js → p-1d5b03e3.system.entry.js} +1 -1
- package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
- package/dist/ionic/{p-6b0ce9b4.system.entry.js → p-25312768.system.entry.js} +1 -1
- package/dist/ionic/{p-f894e0ad.entry.js → p-2724403e.entry.js} +1 -1
- package/dist/ionic/p-283bc1a1.system.entry.js +4 -0
- package/dist/ionic/{p-2df97906.system.entry.js → p-308b6cf2.system.entry.js} +1 -1
- package/dist/ionic/{p-abd5d0d5.system.entry.js → p-354682e8.system.entry.js} +1 -1
- package/dist/ionic/p-3717e641.system.entry.js +4 -0
- package/dist/ionic/{p-19c379da.system.entry.js → p-3796194b.system.entry.js} +1 -1
- package/dist/ionic/{p-bdf71399.entry.js → p-385bb983.entry.js} +1 -1
- package/dist/ionic/{p-745e3339.system.entry.js → p-3af5faf8.system.entry.js} +1 -1
- package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
- package/dist/ionic/{p-a42ef163.system.entry.js → p-456e19bb.system.entry.js} +1 -1
- package/dist/ionic/p-47e42aa3.system.entry.js +4 -0
- package/dist/ionic/{p-529b24fb.entry.js → p-4abb1251.entry.js} +1 -1
- package/dist/ionic/p-51abefb7.system.js +4 -0
- package/dist/ionic/{p-22827063.system.entry.js → p-530bb2af.system.entry.js} +1 -1
- package/dist/ionic/{p-96d4814f.system.entry.js → p-590447a5.system.entry.js} +1 -1
- package/dist/ionic/{p-1b27ac67.entry.js → p-5aec2208.entry.js} +1 -1
- package/dist/ionic/p-5cbfce20.entry.js +4 -0
- package/dist/ionic/{p-26c4bf85.entry.js → p-5f1b0512.entry.js} +1 -1
- package/dist/ionic/{p-10ec9af7.system.entry.js → p-5ff211d0.system.entry.js} +1 -1
- package/dist/ionic/{p-254ec7c0.system.entry.js → p-662a9a47.system.entry.js} +2 -2
- package/dist/ionic/{p-2894d5f6.entry.js → p-713af1fe.entry.js} +1 -1
- package/dist/ionic/p-7c0d778d.system.js +4 -0
- package/dist/ionic/{p-6e0539ea.system.entry.js → p-7dade589.system.entry.js} +1 -1
- package/dist/ionic/{p-a821750c.system.entry.js → p-8a25bf30.system.entry.js} +1 -1
- package/dist/ionic/p-8ad6d643.entry.js +4 -0
- package/dist/ionic/p-8b160fba.entry.js +4 -0
- package/dist/ionic/{p-799da666.entry.js → p-8e961825.entry.js} +1 -1
- package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
- package/dist/ionic/p-9164a09d.entry.js +4 -0
- package/dist/ionic/{p-b964aba3.entry.js → p-92bfb607.entry.js} +1 -1
- package/dist/ionic/p-97aaf697.system.entry.js +4 -0
- package/dist/ionic/{p-4685218a.system.entry.js → p-9a8bc8f3.system.entry.js} +1 -1
- package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
- package/dist/ionic/{p-3e8d5e53.entry.js → p-9c48f42f.entry.js} +1 -1
- package/dist/ionic/{p-9fda6824.system.entry.js → p-9f94e34a.system.entry.js} +1 -1
- package/dist/ionic/p-a17a9130.entry.js +4 -0
- package/dist/ionic/{p-7dcf795f.entry.js → p-a29db3a0.entry.js} +1 -1
- package/dist/ionic/p-a41eaff2.system.entry.js +4 -0
- package/dist/ionic/p-a60a1ce5.js +4 -0
- package/dist/ionic/{p-648ad047.system.entry.js → p-a6e5f54e.system.entry.js} +1 -1
- package/dist/ionic/{p-aee39e06.entry.js → p-aa8b021d.entry.js} +1 -1
- package/dist/ionic/{p-6855f26a.entry.js → p-aa975ff8.entry.js} +1 -1
- package/dist/ionic/{p-043aa6cc.system.entry.js → p-b59fe3bd.system.entry.js} +1 -1
- package/dist/ionic/p-b7e03ff0.system.entry.js +4 -0
- package/dist/ionic/{p-767f1a92.entry.js → p-bc01c384.entry.js} +1 -1
- package/dist/ionic/{p-a3ca2e64.entry.js → p-bec6ae40.entry.js} +1 -1
- package/dist/ionic/p-c001b24f.entry.js +4 -0
- package/dist/ionic/{p-06abe918.system.entry.js → p-c16fbc5f.system.entry.js} +1 -1
- package/dist/ionic/p-c19bf524.entry.js +4 -0
- package/dist/ionic/p-c6176849.system.entry.js +4 -0
- package/dist/ionic/{p-0cc80201.entry.js → p-c6e9ef77.entry.js} +1 -1
- package/dist/ionic/{p-ddd48faf.system.entry.js → p-cc700688.system.entry.js} +1 -1
- package/dist/ionic/p-cd3e1a06.entry.js +4 -0
- package/dist/ionic/p-cf350317.entry.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-28740823.system.entry.js → p-d2634efe.system.entry.js} +1 -1
- package/dist/ionic/{p-41208f54.system.entry.js → p-d88ed181.system.entry.js} +1 -1
- package/dist/ionic/p-dc63dccb.system.entry.js +4 -0
- package/dist/ionic/{p-11786dc7.entry.js → p-df6f50ef.entry.js} +1 -1
- package/dist/ionic/{p-c5acfeb1.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-ec0a9b2c.system.entry.js +4 -0
- package/dist/ionic/{p-2a583966.entry.js → p-ee8b825e.entry.js} +1 -1
- package/dist/ionic/p-f0717d98.js +4 -0
- 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-f60807dd.system.entry.js +4 -0
- package/dist/ionic/p-fc17f198.entry.js +4 -0
- package/dist/types/components/backdrop/backdrop.d.ts +0 -3
- package/dist/types/components/datetime/datetime.d.ts +0 -1
- package/dist/types/components/datetime/utils/data.d.ts +11 -7
- package/dist/types/components/menu/menu.d.ts +1 -1
- package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
- package/dist/types/components/picker/picker.d.ts +75 -129
- package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
- package/dist/types/components/picker-column/picker-column.d.ts +99 -39
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
- package/dist/types/components/picker-legacy/picker.d.ts +158 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components.d.ts +154 -122
- package/dist/types/interface.d.ts +1 -1
- package/dist/types/utils/config.d.ts +2 -2
- package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
- package/dist/types/utils/overlays.d.ts +5 -2
- package/hydrate/index.js +1540 -1448
- package/package.json +1 -1
- package/components/ion-picker-column-internal.d.ts +0 -11
- package/components/ion-picker-column-internal.js +0 -9
- package/components/ion-picker-internal.js +0 -9
- package/components/picker-column-internal.js +0 -390
- package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -565
- package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
- package/dist/collection/components/picker-internal/picker-internal.js +0 -544
- package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
- package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
- package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
- package/dist/esm-es5/overlays-b33f6bca.js +0 -4
- package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
- package/dist/ionic/p-12a62500.entry.js +0 -4
- package/dist/ionic/p-1c249831.entry.js +0 -4
- package/dist/ionic/p-35ce400e.system.js +0 -4
- package/dist/ionic/p-3671f1b9.system.js +0 -4
- package/dist/ionic/p-47bb15a1.entry.js +0 -4
- package/dist/ionic/p-4981ea0a.system.entry.js +0 -4
- package/dist/ionic/p-4d145435.entry.js +0 -4
- package/dist/ionic/p-507ddbfe.system.entry.js +0 -4
- package/dist/ionic/p-6a6477b2.js +0 -4
- package/dist/ionic/p-6ab03751.js +0 -4
- package/dist/ionic/p-6c277fa2.system.entry.js +0 -4
- package/dist/ionic/p-6fba0ce1.system.entry.js +0 -4
- package/dist/ionic/p-7dc892f8.entry.js +0 -4
- package/dist/ionic/p-85f48531.entry.js +0 -4
- package/dist/ionic/p-8f301ac5.system.entry.js +0 -4
- package/dist/ionic/p-932f2259.system.entry.js +0 -4
- package/dist/ionic/p-a3013394.entry.js +0 -4
- package/dist/ionic/p-b1f29949.system.entry.js +0 -4
- package/dist/ionic/p-b7a2ffc9.system.entry.js +0 -4
- package/dist/ionic/p-beeed22c.system.entry.js +0 -4
- package/dist/ionic/p-cd1b920b.entry.js +0 -4
- package/dist/ionic/p-da5e2652.entry.js +0 -4
- package/dist/ionic/p-dc71e4ef.system.entry.js +0 -4
- package/dist/ionic/p-ec652bc0.system.entry.js +0 -4
- package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
- package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
- package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
- package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
- /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
- /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
- /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
- /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
- /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
- /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
- /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
- /package/dist/esm-es5/{data-775093f5.js → data-6a31d701.js} +0 -0
- /package/dist/ionic/{p-87bb3735.system.js → p-7ff4359e.system.js} +0 -0
- /package/dist/ionic/{p-18cae04f.js → p-a64accf5.js} +0 -0
- /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
- /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
- /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
- /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
|
@@ -307,7 +307,7 @@
|
|
|
307
307
|
--button-background-focused-opacity: .12;
|
|
308
308
|
--button-background-selected: var(--ion-color-step-150, var(--ion-background-color, #fff));
|
|
309
309
|
--button-background-selected-opacity: 1;
|
|
310
|
-
--button-color: var(--ion-color-primary, #
|
|
310
|
+
--button-color: var(--ion-color-primary, #0054e9);
|
|
311
311
|
--color: var(--ion-color-step-400, #999999);
|
|
312
312
|
text-align: center;
|
|
313
313
|
}
|
|
@@ -434,11 +434,11 @@
|
|
|
434
434
|
.action-sheet-destructive,
|
|
435
435
|
.action-sheet-destructive.ion-activated,
|
|
436
436
|
.action-sheet-destructive.ion-focused {
|
|
437
|
-
color: var(--ion-color-danger, #
|
|
437
|
+
color: var(--ion-color-danger, #c5000f);
|
|
438
438
|
}
|
|
439
439
|
|
|
440
440
|
@media (any-hover: hover) {
|
|
441
441
|
.action-sheet-destructive:hover {
|
|
442
|
-
color: var(--ion-color-danger, #
|
|
442
|
+
color: var(--ion-color-danger, #c5000f);
|
|
443
443
|
}
|
|
444
444
|
}
|
|
@@ -26,24 +26,33 @@ const testAriaButton = async (page, buttonID, expectedAriaLabelledBy, expectedAr
|
|
|
26
26
|
await expect(actionSheetButton).toHaveAttribute('aria-labelledby', expectedAriaLabelledBy);
|
|
27
27
|
await expect(actionSheetButton).toHaveAttribute('aria-label', expectedAriaLabel);
|
|
28
28
|
};
|
|
29
|
+
configs({ directions: ['ltr'], themes: ['dark', 'light'] }).forEach(({ config, title }) => {
|
|
30
|
+
test.describe(title('action-sheet: Axe testing'), () => {
|
|
31
|
+
test('should not have accessibility violations when header is defined', async ({ page }) => {
|
|
32
|
+
await page.setContent(`
|
|
33
|
+
<ion-action-sheet></ion-action-sheet>
|
|
34
|
+
|
|
35
|
+
<script>
|
|
36
|
+
const actionSheet = document.querySelector('ion-action-sheet');
|
|
37
|
+
actionSheet.header = 'Header';
|
|
38
|
+
actionSheet.subHeader = 'Subtitle';
|
|
39
|
+
actionSheet.buttons = ['Confirm'];
|
|
40
|
+
</script>
|
|
41
|
+
`, config);
|
|
42
|
+
const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent');
|
|
43
|
+
const actionSheet = page.locator('ion-action-sheet');
|
|
44
|
+
await actionSheet.evaluate((el) => el.present());
|
|
45
|
+
await ionActionSheetDidPresent.next();
|
|
46
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
47
|
+
expect(results.violations).toEqual([]);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
|
29
51
|
configs({ directions: ['ltr'] }).forEach(({ config, title }) => {
|
|
30
|
-
test.describe(title('action-sheet:
|
|
52
|
+
test.describe(title('action-sheet: aria attributes'), () => {
|
|
31
53
|
test.beforeEach(async ({ page }) => {
|
|
32
54
|
await page.goto(`/src/components/action-sheet/test/a11y`, config);
|
|
33
55
|
});
|
|
34
|
-
test('should not have accessibility violations when header is defined', async ({ page }) => {
|
|
35
|
-
const button = page.locator('#bothHeaders');
|
|
36
|
-
const didPresent = await page.spyOnEvent('ionActionSheetDidPresent');
|
|
37
|
-
await button.click();
|
|
38
|
-
await didPresent.next();
|
|
39
|
-
/**
|
|
40
|
-
* action-sheet overlays the entire screen, so
|
|
41
|
-
* Axe will be unable to verify color contrast
|
|
42
|
-
* on elements under the backdrop.
|
|
43
|
-
*/
|
|
44
|
-
const results = await new AxeBuilder({ page }).disableRules('color-contrast').analyze();
|
|
45
|
-
expect(results.violations).toEqual([]);
|
|
46
|
-
});
|
|
47
56
|
test('should have aria-labelledby when header is set', async ({ page }) => {
|
|
48
57
|
await testAria(page, 'bothHeaders', 'action-sheet-1-header');
|
|
49
58
|
});
|
|
@@ -534,7 +534,7 @@ textarea.alert-input {
|
|
|
534
534
|
}
|
|
535
535
|
|
|
536
536
|
[aria-checked=true] .alert-radio-label {
|
|
537
|
-
color: var(--ion-color-primary, #
|
|
537
|
+
color: var(--ion-color-primary, #0054e9);
|
|
538
538
|
}
|
|
539
539
|
|
|
540
540
|
.alert-radio-icon {
|
|
@@ -553,7 +553,7 @@ textarea.alert-input {
|
|
|
553
553
|
border-top-width: 0;
|
|
554
554
|
border-left-width: 0;
|
|
555
555
|
border-style: solid;
|
|
556
|
-
border-color: var(--ion-color-primary, #
|
|
556
|
+
border-color: var(--ion-color-primary, #0054e9);
|
|
557
557
|
}
|
|
558
558
|
@supports (inset-inline-start: 0) {
|
|
559
559
|
[aria-checked=true] .alert-radio-inner {
|
|
@@ -613,8 +613,8 @@ textarea.alert-input {
|
|
|
613
613
|
}
|
|
614
614
|
|
|
615
615
|
[aria-checked=true] .alert-checkbox-icon {
|
|
616
|
-
border-color: var(--ion-color-primary, #
|
|
617
|
-
background-color: var(--ion-color-primary, #
|
|
616
|
+
border-color: var(--ion-color-primary, #0054e9);
|
|
617
|
+
background-color: var(--ion-color-primary, #0054e9);
|
|
618
618
|
}
|
|
619
619
|
|
|
620
620
|
[aria-checked=true] .alert-checkbox-inner {
|
|
@@ -684,7 +684,7 @@ textarea.alert-input {
|
|
|
684
684
|
border-top: 0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);
|
|
685
685
|
border-right: 0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);
|
|
686
686
|
background-color: transparent;
|
|
687
|
-
color: var(--ion-color-primary, #
|
|
687
|
+
color: var(--ion-color-primary, #0054e9);
|
|
688
688
|
font-size: max(17px, 1.0625rem);
|
|
689
689
|
overflow: hidden;
|
|
690
690
|
}
|
|
@@ -728,5 +728,5 @@ textarea.alert-input {
|
|
|
728
728
|
.alert-button-role-destructive,
|
|
729
729
|
.alert-button-role-destructive.ion-activated,
|
|
730
730
|
.alert-button-role-destructive.ion-focused {
|
|
731
|
-
color: var(--ion-color-danger, #
|
|
731
|
+
color: var(--ion-color-danger, #c5000f);
|
|
732
732
|
}
|
|
@@ -494,7 +494,7 @@ textarea.alert-input {
|
|
|
494
494
|
|
|
495
495
|
.alert-input:focus {
|
|
496
496
|
margin-bottom: 4px;
|
|
497
|
-
border-bottom: 2px solid var(--ion-color-primary, #
|
|
497
|
+
border-bottom: 2px solid var(--ion-color-primary, #0054e9);
|
|
498
498
|
}
|
|
499
499
|
|
|
500
500
|
.alert-radio-group,
|
|
@@ -580,7 +580,7 @@ textarea.alert-input {
|
|
|
580
580
|
height: 10px;
|
|
581
581
|
transform: scale3d(0, 0, 0);
|
|
582
582
|
transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
583
|
-
background-color: var(--ion-color-primary, #
|
|
583
|
+
background-color: var(--ion-color-primary, #0054e9);
|
|
584
584
|
}
|
|
585
585
|
@supports (inset-inline-start: 0) {
|
|
586
586
|
.alert-radio-inner {
|
|
@@ -615,7 +615,7 @@ textarea.alert-input {
|
|
|
615
615
|
}
|
|
616
616
|
|
|
617
617
|
[aria-checked=true] .alert-radio-icon {
|
|
618
|
-
border-color: var(--ion-color-primary, #
|
|
618
|
+
border-color: var(--ion-color-primary, #0054e9);
|
|
619
619
|
}
|
|
620
620
|
|
|
621
621
|
[aria-checked=true] .alert-radio-inner {
|
|
@@ -675,8 +675,8 @@ textarea.alert-input {
|
|
|
675
675
|
}
|
|
676
676
|
|
|
677
677
|
[aria-checked=true] .alert-checkbox-icon {
|
|
678
|
-
border-color: var(--ion-color-primary, #
|
|
679
|
-
background-color: var(--ion-color-primary, #
|
|
678
|
+
border-color: var(--ion-color-primary, #0054e9);
|
|
679
|
+
background-color: var(--ion-color-primary, #0054e9);
|
|
680
680
|
}
|
|
681
681
|
|
|
682
682
|
[aria-checked=true] .alert-checkbox-inner {
|
|
@@ -747,7 +747,7 @@ textarea.alert-input {
|
|
|
747
747
|
padding-bottom: 10px;
|
|
748
748
|
position: relative;
|
|
749
749
|
background-color: transparent;
|
|
750
|
-
color: var(--ion-color-primary, #
|
|
750
|
+
color: var(--ion-color-primary, #0054e9);
|
|
751
751
|
font-weight: 500;
|
|
752
752
|
text-align: end;
|
|
753
753
|
text-transform: uppercase;
|
|
@@ -19,6 +19,28 @@ 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
|
+
});
|
|
22
44
|
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
23
45
|
test.describe(title('alert: text wrapping'), () => {
|
|
24
46
|
test('should break on words and white spaces for radios', async ({ page }, testInfo) => {
|
|
@@ -72,15 +94,6 @@ configs({ directions: ['ltr'] }).forEach(({ config, title }) => {
|
|
|
72
94
|
test.beforeEach(async ({ page }) => {
|
|
73
95
|
await page.goto(`/src/components/alert/test/a11y`, config);
|
|
74
96
|
});
|
|
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
|
-
});
|
|
84
97
|
test('should have aria-labelledby when header is set', async ({ page }) => {
|
|
85
98
|
await testAria(page, 'noMessage', 'alert-1-hdr', null);
|
|
86
99
|
});
|
|
@@ -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, #0054e9);
|
|
335
335
|
--icon-margin-end: 1px;
|
|
336
336
|
--icon-margin-start: -4px;
|
|
337
337
|
/**
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import AxeBuilder from "@axe-core/playwright";
|
|
4
5
|
import { expect } from "@playwright/test";
|
|
5
6
|
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
|
+
});
|
|
6
27
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
28
|
test.describe(title('back-button: font scaling'), () => {
|
|
8
29
|
test('should scale text on larger font sizes', async ({ page }) => {
|
|
@@ -2,25 +2,13 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
|
-
import { GESTURE_CONTROLLER } from "../../utils/gesture/index";
|
|
6
5
|
import { getIonMode } from "../../global/ionic-global";
|
|
7
6
|
export class Backdrop {
|
|
8
7
|
constructor() {
|
|
9
|
-
this.blocker = GESTURE_CONTROLLER.createBlocker({
|
|
10
|
-
disableScroll: true,
|
|
11
|
-
});
|
|
12
8
|
this.visible = true;
|
|
13
9
|
this.tappable = true;
|
|
14
10
|
this.stopPropagation = true;
|
|
15
11
|
}
|
|
16
|
-
connectedCallback() {
|
|
17
|
-
if (this.stopPropagation) {
|
|
18
|
-
this.blocker.block();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
disconnectedCallback() {
|
|
22
|
-
this.blocker.unblock();
|
|
23
|
-
}
|
|
24
12
|
onMouseDown(ev) {
|
|
25
13
|
this.emitTap(ev);
|
|
26
14
|
}
|
|
@@ -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, #0054e9);
|
|
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, #0054e9);
|
|
67
67
|
--color: var(--ion-color-primary-contrast, #fff);
|
|
68
68
|
--padding-top: 3px;
|
|
69
69
|
--padding-end: 8px;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import AxeBuilder from "@axe-core/playwright";
|
|
4
5
|
import { expect } from "@playwright/test";
|
|
5
6
|
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
7
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
@@ -20,3 +21,20 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
20
21
|
});
|
|
21
22
|
});
|
|
22
23
|
});
|
|
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
|
+
});
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
font-family: var(--ion-font-family, inherit);
|
|
101
101
|
text-align: center;
|
|
102
102
|
text-decoration: none;
|
|
103
|
-
white-space:
|
|
103
|
+
white-space: normal;
|
|
104
104
|
user-select: none;
|
|
105
105
|
vertical-align: top;
|
|
106
106
|
vertical-align: -webkit-baseline-middle;
|
|
@@ -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, #0054e9);
|
|
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, #0054e9);
|
|
123
123
|
--background: transparent;
|
|
124
|
-
--color: var(--ion-color-primary, #
|
|
124
|
+
--color: var(--ion-color-primary, #0054e9);
|
|
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, #0054e9);
|
|
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, #004acd);
|
|
469
|
+
--background-focused: var(--ion-color-primary-shade, #004acd);
|
|
470
|
+
--background-hover: var(--ion-color-primary-tint, #1a65eb);
|
|
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, #0054e9);
|
|
481
|
+
--background-focused: var(--ion-color-primary, #0054e9);
|
|
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, #0054e9);
|
|
491
491
|
--background-hover: transparent;
|
|
492
492
|
--background-focused-opacity: .1;
|
|
493
493
|
font-size: min(1.0625rem, 51px);
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
font-family: var(--ion-font-family, inherit);
|
|
101
101
|
text-align: center;
|
|
102
102
|
text-decoration: none;
|
|
103
|
-
white-space:
|
|
103
|
+
white-space: normal;
|
|
104
104
|
user-select: none;
|
|
105
105
|
vertical-align: top;
|
|
106
106
|
vertical-align: -webkit-baseline-middle;
|
|
@@ -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, #0054e9);
|
|
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, #0054e9);
|
|
123
123
|
--background: transparent;
|
|
124
|
-
--color: var(--ion-color-primary, #
|
|
124
|
+
--color: var(--ion-color-primary, #0054e9);
|
|
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, #0054e9);
|
|
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, #0054e9);
|
|
435
|
+
--background-hover: var(--ion-color-primary, #0054e9);
|
|
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, #0054e9);
|
|
448
|
+
--background-hover: var(--ion-color-primary, #0054e9);
|
|
449
449
|
--background-activated-opacity: 0;
|
|
450
450
|
--background-focused-opacity: .12;
|
|
451
451
|
--background-hover-opacity: .04;
|
|
@@ -1,8 +1,56 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import AxeBuilder from "@axe-core/playwright";
|
|
4
5
|
import { expect } from "@playwright/test";
|
|
5
6
|
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
|
+
});
|
|
6
54
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
55
|
test.describe(title('button: font scaling'), () => {
|
|
8
56
|
test('should scale default button text on larger font sizes', async ({ page }) => {
|
|
@@ -6,33 +6,29 @@ import { configs, test } from "../../../../utils/test/playwright/index";
|
|
|
6
6
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
7
|
test.describe(title('button: wrap'), () => {
|
|
8
8
|
test('should render button with long text', async ({ page }) => {
|
|
9
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
10
9
|
await page.setContent(`
|
|
11
|
-
<ion-button
|
|
10
|
+
<ion-button>This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
12
11
|
`, config);
|
|
13
12
|
const button = page.locator('ion-button');
|
|
14
13
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap`));
|
|
15
14
|
});
|
|
16
15
|
test('should render small button with long text', async ({ page }) => {
|
|
17
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
18
16
|
await page.setContent(`
|
|
19
|
-
<ion-button
|
|
17
|
+
<ion-button size="small">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
20
18
|
`, config);
|
|
21
19
|
const button = page.locator('ion-button');
|
|
22
20
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-small`));
|
|
23
21
|
});
|
|
24
22
|
test('should render large button with long text', async ({ page }) => {
|
|
25
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
26
23
|
await page.setContent(`
|
|
27
|
-
<ion-button
|
|
24
|
+
<ion-button size="large">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
28
25
|
`, config);
|
|
29
26
|
const button = page.locator('ion-button');
|
|
30
27
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-large`));
|
|
31
28
|
});
|
|
32
29
|
test('should render button with long text and icons', async ({ page }) => {
|
|
33
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
34
30
|
await page.setContent(`
|
|
35
|
-
<ion-button
|
|
31
|
+
<ion-button>
|
|
36
32
|
<ion-icon slot="start" name="heart"></ion-icon>
|
|
37
33
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
38
34
|
<ion-icon slot="end" name="star"></ion-icon>
|
|
@@ -42,17 +38,15 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
42
38
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-icons`));
|
|
43
39
|
});
|
|
44
40
|
test('should render block button with long text', async ({ page }) => {
|
|
45
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
46
41
|
await page.setContent(`
|
|
47
|
-
<ion-button
|
|
42
|
+
<ion-button expand="block">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
48
43
|
`, config);
|
|
49
44
|
const button = page.locator('ion-button');
|
|
50
45
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-block`));
|
|
51
46
|
});
|
|
52
47
|
test('should render block button with long text and icons', async ({ page }) => {
|
|
53
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
54
48
|
await page.setContent(`
|
|
55
|
-
<ion-button
|
|
49
|
+
<ion-button expand="block">
|
|
56
50
|
<ion-icon slot="start" name="heart"></ion-icon>
|
|
57
51
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
58
52
|
<ion-icon slot="end" name="star"></ion-icon>
|
|
@@ -62,17 +56,15 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
62
56
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-block-icons`));
|
|
63
57
|
});
|
|
64
58
|
test('should render full button with long text', async ({ page }) => {
|
|
65
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
66
59
|
await page.setContent(`
|
|
67
|
-
<ion-button
|
|
60
|
+
<ion-button expand="full">This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends</ion-button>
|
|
68
61
|
`, config);
|
|
69
62
|
const button = page.locator('ion-button');
|
|
70
63
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-full`));
|
|
71
64
|
});
|
|
72
65
|
test('should render full button with long text and icons', async ({ page }) => {
|
|
73
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
74
66
|
await page.setContent(`
|
|
75
|
-
<ion-button
|
|
67
|
+
<ion-button expand="full">
|
|
76
68
|
<ion-icon slot="start" name="heart"></ion-icon>
|
|
77
69
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
78
70
|
<ion-icon slot="end" name="star"></ion-icon>
|
|
@@ -82,10 +74,9 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
82
74
|
await expect(button).toHaveScreenshot(screenshot(`button-wrap-full-icons`));
|
|
83
75
|
});
|
|
84
76
|
test('should render an item button with long text', async ({ page }) => {
|
|
85
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
86
77
|
await page.setContent(`
|
|
87
78
|
<ion-item>
|
|
88
|
-
<ion-button
|
|
79
|
+
<ion-button slot="end">
|
|
89
80
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
90
81
|
</ion-button>
|
|
91
82
|
</ion-item>
|
|
@@ -94,10 +85,9 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
94
85
|
await expect(item).toHaveScreenshot(screenshot(`button-wrap-item-button`));
|
|
95
86
|
});
|
|
96
87
|
test('should render an item button with long text and icons', async ({ page }) => {
|
|
97
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
98
88
|
await page.setContent(`
|
|
99
89
|
<ion-item>
|
|
100
|
-
<ion-button
|
|
90
|
+
<ion-button slot="end">
|
|
101
91
|
<ion-icon slot="start" name="heart"></ion-icon>
|
|
102
92
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
103
93
|
<ion-icon slot="end" name="star"></ion-icon>
|
|
@@ -108,11 +98,10 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
108
98
|
await expect(item).toHaveScreenshot(screenshot(`button-wrap-item-button-icons`));
|
|
109
99
|
});
|
|
110
100
|
test('should render a list header button with long text', async ({ page }) => {
|
|
111
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
112
101
|
await page.setContent(`
|
|
113
102
|
<ion-list-header>
|
|
114
103
|
<ion-label>List Header</ion-label>
|
|
115
|
-
<ion-button
|
|
104
|
+
<ion-button>
|
|
116
105
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
117
106
|
</ion-button>
|
|
118
107
|
</ion-list-header>
|
|
@@ -121,11 +110,10 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
121
110
|
await expect(listHeader).toHaveScreenshot(screenshot(`button-wrap-list-header-button`));
|
|
122
111
|
});
|
|
123
112
|
test('should render a toolbar button with long text', async ({ page }) => {
|
|
124
|
-
// TODO(FW-4599): remove ion-text-wrap class
|
|
125
113
|
await page.setContent(`
|
|
126
114
|
<ion-toolbar>
|
|
127
115
|
<ion-buttons slot="end">
|
|
128
|
-
<ion-button
|
|
116
|
+
<ion-button>
|
|
129
117
|
This is the button that never ends it just goes on and on and on and on and on and on and on and on my friends
|
|
130
118
|
</ion-button>
|
|
131
119
|
</ion-buttons>
|
|
@@ -71,8 +71,8 @@
|
|
|
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, #0054e9);
|
|
75
|
+
--border-color-checked: var(--ion-color-primary, #0054e9);
|
|
76
76
|
--checkmark-color: var(--ion-color-primary-contrast, #fff);
|
|
77
77
|
--checkmark-width: 1;
|
|
78
78
|
--transition: none;
|
|
@@ -71,8 +71,8 @@
|
|
|
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, #0054e9);
|
|
75
|
+
--border-color-checked: var(--ion-color-primary, #0054e9);
|
|
76
76
|
--checkmark-color: var(--ion-color-primary-contrast, #fff);
|
|
77
77
|
--checkmark-width: 1;
|
|
78
78
|
--transition: none;
|