@ionic/core 7.6.7-dev.11707156611.1b43b9ec → 7.6.7-dev.11707162903.1706e75f
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 +2 -2
- package/components/alert.js +2 -2
- package/components/checkbox.js +2 -2
- package/components/ion-breadcrumb.js +2 -2
- package/components/ion-card-subtitle.js +2 -2
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +2 -2
- package/components/ion-datetime-button.js +2 -2
- package/components/ion-datetime.js +2 -2
- package/components/ion-fab-list.js +1 -1
- package/components/ion-infinite-scroll-content.js +2 -2
- package/components/ion-input.js +8 -4
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-options.js +2 -2
- package/components/ion-loading.js +2 -2
- package/components/ion-menu.js +2 -2
- package/components/ion-modal.js +2 -2
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-range.js +2 -2
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +2 -2
- package/components/ion-searchbar.js +2 -2
- package/components/ion-segment-button.js +1 -1
- package/components/ion-select.js +2 -2
- package/components/ion-split-pane.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-textarea.js +2 -2
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +2 -2
- package/components/ion-toolbar.js +2 -2
- package/components/item.js +2 -2
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/list.js +1 -1
- package/components/note.js +2 -2
- package/components/picker-column2.js +2 -2
- package/components/picker.js +2 -2
- package/components/popover.js +1 -1
- package/components/radio.js +2 -2
- package/css/core.css.map +1 -1
- package/css/display.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/themes/dark.always.css +79 -41
- package/css/themes/dark.always.css.map +1 -1
- package/css/themes/dark.class.css +79 -41
- package/css/themes/dark.class.css.map +1 -1
- package/css/themes/dark.system.css +79 -41
- package/css/themes/dark.system.css.map +1 -1
- package/css/themes/high-contrast-dark.always.css +180 -0
- package/css/themes/high-contrast-dark.always.css.map +1 -0
- package/css/themes/high-contrast-dark.class.css +180 -0
- package/css/themes/high-contrast-dark.class.css.map +1 -0
- package/css/themes/high-contrast-dark.css +3 -0
- package/css/themes/high-contrast-dark.css.map +1 -0
- package/css/themes/high-contrast-dark.system.css +182 -0
- package/css/themes/high-contrast-dark.system.css.map +1 -0
- package/css/themes/high-contrast.always.css +101 -0
- package/css/themes/high-contrast.always.css.map +1 -0
- package/css/themes/high-contrast.class.css +101 -0
- package/css/themes/high-contrast.class.css.map +1 -0
- package/css/themes/high-contrast.css +3 -0
- package/css/themes/high-contrast.css.map +1 -0
- package/css/themes/high-contrast.system.css +103 -0
- package/css/themes/high-contrast.system.css.map +1 -0
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
- package/dist/cjs/ion-alert.cjs.entry.js +2 -2
- package/dist/cjs/ion-app_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +5 -5
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +6 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
- package/dist/cjs/ion-loading.cjs.entry.js +2 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-modal.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +1 -1
- 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-searchbar.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/action-sheet/action-sheet.ios.css +4 -4
- package/dist/collection/components/action-sheet/action-sheet.md.css +1 -1
- package/dist/collection/components/alert/alert.ios.css +58 -10
- package/dist/collection/components/alert/alert.md.css +115 -19
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +9 -9
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +9 -9
- package/dist/collection/components/card/card.ios.css +1 -1
- package/dist/collection/components/card/card.md.css +1 -1
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +1 -1
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +1 -1
- package/dist/collection/components/card-title/card-title.md.css +1 -1
- package/dist/collection/components/checkbox/checkbox.ios.css +21 -3
- package/dist/collection/components/checkbox/checkbox.md.css +21 -3
- package/dist/collection/components/datetime/datetime.ios.css +32 -10
- package/dist/collection/components/datetime/datetime.md.css +33 -11
- package/dist/collection/components/datetime-button/datetime-button.css +1 -1
- package/dist/collection/components/fab-list/fab-list.css +42 -4
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +3 -3
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +3 -3
- package/dist/collection/components/input/input.ios.css +31 -7
- package/dist/collection/components/input/input.js +41 -2
- package/dist/collection/components/input/input.md.css +86 -19
- package/dist/collection/components/item/item.ios.css +2 -2
- package/dist/collection/components/item/item.md.css +30 -11
- package/dist/collection/components/item-divider/item-divider.ios.css +3 -3
- package/dist/collection/components/item-divider/item-divider.md.css +3 -3
- package/dist/collection/components/item-options/item-options.ios.css +1 -1
- package/dist/collection/components/item-options/item-options.md.css +1 -1
- package/dist/collection/components/label/label.ios.css +1 -1
- package/dist/collection/components/label/label.md.css +1 -1
- package/dist/collection/components/list/list.md.css +26 -2
- package/dist/collection/components/list-header/list-header.ios.css +2 -2
- package/dist/collection/components/list-header/list-header.md.css +1 -1
- package/dist/collection/components/loading/loading.ios.css +2 -2
- package/dist/collection/components/loading/loading.md.css +2 -2
- package/dist/collection/components/menu/menu.ios.css +50 -8
- package/dist/collection/components/menu/menu.md.css +50 -8
- package/dist/collection/components/modal/modal.ios.css +1 -1
- package/dist/collection/components/modal/modal.md.css +1 -1
- package/dist/collection/components/note/note.ios.css +1 -1
- package/dist/collection/components/note/note.md.css +1 -1
- package/dist/collection/components/picker/picker.ios.css +43 -5
- package/dist/collection/components/picker/picker.md.css +42 -4
- package/dist/collection/components/picker-legacy/picker.ios.css +74 -7
- package/dist/collection/components/picker-legacy/picker.md.css +76 -9
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +26 -2
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +26 -2
- package/dist/collection/components/popover/popover.ios.css +27 -3
- package/dist/collection/components/radio/radio.ios.css +42 -5
- package/dist/collection/components/radio/radio.md.css +42 -5
- package/dist/collection/components/range/range.ios.css +80 -11
- package/dist/collection/components/range/range.md.css +132 -16
- package/dist/collection/components/refresher/refresher.ios.css +27 -4
- package/dist/collection/components/refresher/refresher.md.css +28 -5
- package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +1 -2
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/searchbar/searchbar.ios.css +55 -7
- package/dist/collection/components/searchbar/searchbar.md.css +82 -10
- package/dist/collection/components/segment-button/segment-button.ios.css +3 -3
- package/dist/collection/components/select/select.ios.css +23 -5
- package/dist/collection/components/select/select.md.css +79 -18
- package/dist/collection/components/split-pane/split-pane.ios.css +1 -1
- package/dist/collection/components/split-pane/split-pane.md.css +1 -1
- package/dist/collection/components/tab-bar/tab-bar.ios.css +3 -3
- package/dist/collection/components/tab-bar/tab-bar.md.css +2 -2
- package/dist/collection/components/tab-button/tab-button.ios.css +93 -10
- package/dist/collection/components/tab-button/tab-button.md.css +93 -10
- package/dist/collection/components/textarea/textarea.ios.css +30 -6
- package/dist/collection/components/textarea/textarea.md.css +85 -18
- package/dist/collection/components/title/title.ios.css +21 -2
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +33 -0
- package/dist/collection/components/toast/toast.ios.css +54 -7
- package/dist/collection/components/toast/toast.md.css +55 -8
- package/dist/collection/components/toggle/toggle.ios.css +21 -3
- package/dist/collection/components/toggle/toggle.md.css +21 -3
- package/dist/collection/components/toolbar/toolbar.ios.css +2 -2
- package/dist/collection/components/toolbar/toolbar.md.css +1 -1
- package/dist/collection/themes/test/colors/theme.e2e.js +56 -0
- package/dist/docs.json +54 -1
- package/dist/esm/ion-action-sheet.entry.js +2 -2
- package/dist/esm/ion-alert.entry.js +2 -2
- package/dist/esm/ion-app_8.entry.js +3 -3
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +5 -5
- package/dist/esm/ion-checkbox.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +6 -6
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +6 -4
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-item_8.entry.js +11 -11
- package/dist/esm/ion-loading.entry.js +2 -2
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +2 -2
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +1 -1
- 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-searchbar.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +2 -2
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.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-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-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-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-picker.entry.js +1 -1
- package/dist/esm-es5/ion-popover.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-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/loader.js +1 -1
- package/dist/html.html-data.json +8 -0
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-0055506a.entry.js +4 -0
- package/dist/ionic/p-07d725a7.entry.js +4 -0
- package/dist/ionic/p-0ac49b0c.system.entry.js +4 -0
- package/dist/ionic/{p-5a85d71d.entry.js → p-0d850325.entry.js} +1 -1
- package/dist/ionic/{p-95d8071f.entry.js → p-0f55b1b0.entry.js} +1 -1
- package/dist/ionic/{p-7178018d.entry.js → p-14196559.entry.js} +1 -1
- package/dist/ionic/p-14b8100f.system.entry.js +4 -0
- package/dist/ionic/p-15878390.system.entry.js +4 -0
- package/dist/ionic/{p-f3478ed6.system.entry.js → p-16e781a6.system.entry.js} +1 -1
- package/dist/ionic/p-1a5f0313.system.js +1 -1
- package/dist/ionic/p-1c445de9.entry.js +4 -0
- package/dist/ionic/p-2800e6d5.system.entry.js +4 -0
- package/dist/ionic/p-283d8f5e.system.entry.js +4 -0
- package/dist/ionic/p-2aa29487.system.entry.js +4 -0
- package/dist/ionic/p-305423e0.entry.js +4 -0
- package/dist/ionic/p-327211c1.entry.js +4 -0
- package/dist/ionic/{p-4b94c354.entry.js → p-32b129a2.entry.js} +1 -1
- package/dist/ionic/p-34f05cec.entry.js +4 -0
- package/dist/ionic/p-3587df88.system.entry.js +4 -0
- package/dist/ionic/{p-ea90bf85.system.entry.js → p-381ca6f8.system.entry.js} +1 -1
- package/dist/ionic/{p-029891a2.entry.js → p-3cf67784.entry.js} +1 -1
- package/dist/ionic/p-3f3ae637.system.entry.js +4 -0
- package/dist/ionic/p-438b6002.system.entry.js +4 -0
- package/dist/ionic/p-4eaf5dcd.system.entry.js +4 -0
- package/dist/ionic/{p-e0909061.system.entry.js → p-5186ff3f.system.entry.js} +1 -1
- package/dist/ionic/{p-dc5a71e3.system.entry.js → p-659086a2.system.entry.js} +1 -1
- package/dist/ionic/p-6793b96e.system.entry.js +4 -0
- package/dist/ionic/{p-9928b546.entry.js → p-69926b34.entry.js} +1 -1
- package/dist/ionic/p-6b0c8263.entry.js +4 -0
- package/dist/ionic/p-7e8ef0bb.system.entry.js +4 -0
- package/dist/ionic/p-89c5f8ba.system.entry.js +4 -0
- package/dist/ionic/p-8a1d33e3.system.entry.js +4 -0
- package/dist/ionic/{p-8a66c00e.entry.js → p-8aaade76.entry.js} +1 -1
- package/dist/ionic/{p-a11e45fe.system.entry.js → p-97657f32.system.entry.js} +1 -1
- package/dist/ionic/p-97e39972.system.entry.js +4 -0
- package/dist/ionic/p-9b930e4f.entry.js +4 -0
- package/dist/ionic/p-a114831c.entry.js +4 -0
- package/dist/ionic/p-ae8747aa.entry.js +4 -0
- package/dist/ionic/p-b13f5e6a.entry.js +4 -0
- package/dist/ionic/{p-7a1ef06a.system.entry.js → p-b6e4e9ce.system.entry.js} +1 -1
- package/dist/ionic/p-b8213f04.entry.js +4 -0
- package/dist/ionic/{p-67c1996d.entry.js → p-b8fbc01d.entry.js} +1 -1
- package/dist/ionic/{p-85e04029.entry.js → p-c6a6ffe6.entry.js} +1 -1
- package/dist/ionic/{p-870453fd.entry.js → p-cd6a60d2.entry.js} +1 -1
- package/dist/ionic/p-d0291fe9.entry.js +4 -0
- package/dist/ionic/p-d5a21de8.entry.js +4 -0
- package/dist/ionic/p-db00f04e.entry.js +4 -0
- package/dist/ionic/p-ddf79d90.system.entry.js +4 -0
- package/dist/ionic/p-def451e2.system.entry.js +4 -0
- package/dist/ionic/p-df5134fa.entry.js +4 -0
- package/dist/ionic/p-df7aaa62.entry.js +4 -0
- package/dist/ionic/p-dfd21411.system.entry.js +4 -0
- package/dist/ionic/p-e9a36c6f.entry.js +4 -0
- package/dist/ionic/p-ef6ec008.system.entry.js +4 -0
- package/dist/ionic/p-ef9e6f77.system.entry.js +4 -0
- package/dist/ionic/{p-7751def0.system.entry.js → p-f003e500.system.entry.js} +1 -1
- package/dist/ionic/p-f27b18ba.system.entry.js +4 -0
- package/dist/ionic/p-f62122bb.system.entry.js +4 -0
- package/dist/ionic/p-fdc3ff96.entry.js +4 -0
- package/dist/types/components/input/input.d.ts +6 -0
- package/dist/types/components.d.ts +12 -0
- package/dist/types/utils/test/playwright/generator.d.ts +3 -1
- package/hydrate/index.js +81 -77
- package/package.json +1 -1
- package/dist/ionic/p-05266a75.entry.js +0 -4
- package/dist/ionic/p-055aee88.system.entry.js +0 -4
- package/dist/ionic/p-0b27e3f9.entry.js +0 -4
- package/dist/ionic/p-127ff448.entry.js +0 -4
- package/dist/ionic/p-18858f40.entry.js +0 -4
- package/dist/ionic/p-26976bfc.system.entry.js +0 -4
- package/dist/ionic/p-2e93a307.system.entry.js +0 -4
- package/dist/ionic/p-359da6bc.entry.js +0 -4
- package/dist/ionic/p-39af44bb.entry.js +0 -4
- package/dist/ionic/p-3bb8dba2.system.entry.js +0 -4
- package/dist/ionic/p-4210519e.entry.js +0 -4
- package/dist/ionic/p-4565aa49.system.entry.js +0 -4
- package/dist/ionic/p-467ec026.entry.js +0 -4
- package/dist/ionic/p-4b890ea2.entry.js +0 -4
- package/dist/ionic/p-4f18d611.system.entry.js +0 -4
- package/dist/ionic/p-567ba50a.system.entry.js +0 -4
- package/dist/ionic/p-598bd8e2.entry.js +0 -4
- package/dist/ionic/p-673614dd.system.entry.js +0 -4
- package/dist/ionic/p-6ba863b1.system.entry.js +0 -4
- package/dist/ionic/p-731c9b0c.system.entry.js +0 -4
- package/dist/ionic/p-735807f6.system.entry.js +0 -4
- package/dist/ionic/p-77166522.system.entry.js +0 -4
- package/dist/ionic/p-7a15321a.entry.js +0 -4
- package/dist/ionic/p-7a2c6bb5.entry.js +0 -4
- package/dist/ionic/p-85897798.entry.js +0 -4
- package/dist/ionic/p-85cb3f46.entry.js +0 -4
- package/dist/ionic/p-92453558.entry.js +0 -4
- package/dist/ionic/p-b0ab5300.entry.js +0 -4
- package/dist/ionic/p-b3196337.system.entry.js +0 -4
- package/dist/ionic/p-bad61026.system.entry.js +0 -4
- package/dist/ionic/p-c9b8f9e5.system.entry.js +0 -4
- package/dist/ionic/p-cb304e5f.system.entry.js +0 -4
- package/dist/ionic/p-d05259ce.system.entry.js +0 -4
- package/dist/ionic/p-d5d46104.system.entry.js +0 -4
- package/dist/ionic/p-e1635f65.entry.js +0 -4
- package/dist/ionic/p-e219aec9.system.entry.js +0 -4
- package/dist/ionic/p-e28a6fd5.entry.js +0 -4
- package/dist/ionic/p-ee1214e0.system.entry.js +0 -4
- package/dist/ionic/p-f065a07b.entry.js +0 -4
- package/dist/ionic/p-f62739dd.system.entry.js +0 -4
- package/dist/ionic/p-ffaba024.system.entry.js +0 -4
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
--placeholder-color: initial;
|
|
85
85
|
--placeholder-font-style: initial;
|
|
86
86
|
--placeholder-font-weight: initial;
|
|
87
|
-
--placeholder-opacity: 0.6;
|
|
87
|
+
--placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
|
|
88
88
|
--padding-top: 0;
|
|
89
89
|
--padding-end: 0;
|
|
90
90
|
--padding-bottom: 0;
|
|
@@ -275,8 +275,32 @@
|
|
|
275
275
|
position: absolute;
|
|
276
276
|
pointer-events: none;
|
|
277
277
|
}
|
|
278
|
-
|
|
279
|
-
|
|
278
|
+
@supports (inset-inline-start: 0) {
|
|
279
|
+
.cloned-input {
|
|
280
|
+
inset-inline-start: 0;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
@supports not (inset-inline-start: 0) {
|
|
284
|
+
.cloned-input {
|
|
285
|
+
left: 0;
|
|
286
|
+
}
|
|
287
|
+
:host-context([dir=rtl]) .cloned-input {
|
|
288
|
+
left: unset;
|
|
289
|
+
right: unset;
|
|
290
|
+
right: 0;
|
|
291
|
+
}
|
|
292
|
+
[dir=rtl] .cloned-input {
|
|
293
|
+
left: unset;
|
|
294
|
+
right: unset;
|
|
295
|
+
right: 0;
|
|
296
|
+
}
|
|
297
|
+
@supports selector(:dir(rtl)) {
|
|
298
|
+
.cloned-input:dir(rtl) {
|
|
299
|
+
left: unset;
|
|
300
|
+
right: unset;
|
|
301
|
+
right: 0;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
280
304
|
}
|
|
281
305
|
|
|
282
306
|
/**
|
|
@@ -466,7 +490,7 @@
|
|
|
466
490
|
|
|
467
491
|
.textarea-bottom .helper-text {
|
|
468
492
|
display: block;
|
|
469
|
-
color: var(--ion-color-step-550, #737373);
|
|
493
|
+
color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
|
|
470
494
|
}
|
|
471
495
|
|
|
472
496
|
:host(.ion-touched.ion-invalid) .textarea-bottom .error-text {
|
|
@@ -485,7 +509,7 @@
|
|
|
485
509
|
*/
|
|
486
510
|
-webkit-margin-start: auto;
|
|
487
511
|
margin-inline-start: auto;
|
|
488
|
-
color: var(--ion-color-step-550, #737373);
|
|
512
|
+
color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
|
|
489
513
|
white-space: nowrap;
|
|
490
514
|
padding-inline-start: 16px;
|
|
491
515
|
}
|
|
@@ -917,7 +941,7 @@
|
|
|
917
941
|
*/
|
|
918
942
|
:host {
|
|
919
943
|
--border-width: 0.55px;
|
|
920
|
-
--border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));
|
|
944
|
+
--border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));
|
|
921
945
|
--padding-top: 10px;
|
|
922
946
|
--padding-end: 0px;
|
|
923
947
|
--padding-bottom: 8px;
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
--placeholder-color: initial;
|
|
85
85
|
--placeholder-font-style: initial;
|
|
86
86
|
--placeholder-font-weight: initial;
|
|
87
|
-
--placeholder-opacity: 0.6;
|
|
87
|
+
--placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
|
|
88
88
|
--padding-top: 0;
|
|
89
89
|
--padding-end: 0;
|
|
90
90
|
--padding-bottom: 0;
|
|
@@ -275,8 +275,32 @@
|
|
|
275
275
|
position: absolute;
|
|
276
276
|
pointer-events: none;
|
|
277
277
|
}
|
|
278
|
-
|
|
279
|
-
|
|
278
|
+
@supports (inset-inline-start: 0) {
|
|
279
|
+
.cloned-input {
|
|
280
|
+
inset-inline-start: 0;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
@supports not (inset-inline-start: 0) {
|
|
284
|
+
.cloned-input {
|
|
285
|
+
left: 0;
|
|
286
|
+
}
|
|
287
|
+
:host-context([dir=rtl]) .cloned-input {
|
|
288
|
+
left: unset;
|
|
289
|
+
right: unset;
|
|
290
|
+
right: 0;
|
|
291
|
+
}
|
|
292
|
+
[dir=rtl] .cloned-input {
|
|
293
|
+
left: unset;
|
|
294
|
+
right: unset;
|
|
295
|
+
right: 0;
|
|
296
|
+
}
|
|
297
|
+
@supports selector(:dir(rtl)) {
|
|
298
|
+
.cloned-input:dir(rtl) {
|
|
299
|
+
left: unset;
|
|
300
|
+
right: unset;
|
|
301
|
+
right: 0;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
280
304
|
}
|
|
281
305
|
|
|
282
306
|
/**
|
|
@@ -466,7 +490,7 @@
|
|
|
466
490
|
|
|
467
491
|
.textarea-bottom .helper-text {
|
|
468
492
|
display: block;
|
|
469
|
-
color: var(--ion-color-step-550, #737373);
|
|
493
|
+
color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
|
|
470
494
|
}
|
|
471
495
|
|
|
472
496
|
:host(.ion-touched.ion-invalid) .textarea-bottom .error-text {
|
|
@@ -485,7 +509,7 @@
|
|
|
485
509
|
*/
|
|
486
510
|
-webkit-margin-start: auto;
|
|
487
511
|
margin-inline-start: auto;
|
|
488
|
-
color: var(--ion-color-step-550, #737373);
|
|
512
|
+
color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
|
|
489
513
|
white-space: nowrap;
|
|
490
514
|
padding-inline-start: 16px;
|
|
491
515
|
}
|
|
@@ -971,8 +995,8 @@
|
|
|
971
995
|
* }
|
|
972
996
|
*/
|
|
973
997
|
:host(.textarea-fill-solid) {
|
|
974
|
-
--background: var(--ion-color-step-50, #f2f2f2);
|
|
975
|
-
--border-color: var(--ion-color-step-500, gray);
|
|
998
|
+
--background: var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));
|
|
999
|
+
--border-color: var(--ion-color-step-500, var(--ion-background-color-step-500, gray));
|
|
976
1000
|
--border-radius: 4px;
|
|
977
1001
|
--padding-start: 16px;
|
|
978
1002
|
--padding-end: 16px;
|
|
@@ -1008,8 +1032,8 @@
|
|
|
1008
1032
|
*/
|
|
1009
1033
|
@media (any-hover: hover) {
|
|
1010
1034
|
:host(.textarea-fill-solid:hover) {
|
|
1011
|
-
--background: var(--ion-color-step-100, #e6e6e6);
|
|
1012
|
-
--border-color: var(--ion-color-step-750, #404040);
|
|
1035
|
+
--background: var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));
|
|
1036
|
+
--border-color: var(--ion-color-step-750, var(--ion-background-color-step-750, #404040));
|
|
1013
1037
|
}
|
|
1014
1038
|
}
|
|
1015
1039
|
/**
|
|
@@ -1017,8 +1041,8 @@
|
|
|
1017
1041
|
* much darker on focus.
|
|
1018
1042
|
*/
|
|
1019
1043
|
:host(.textarea-fill-solid.has-focus) {
|
|
1020
|
-
--background: var(--ion-color-step-150, #d9d9d9);
|
|
1021
|
-
--border-color: var(--ion-color-step-750, #404040);
|
|
1044
|
+
--background: var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));
|
|
1045
|
+
--border-color: var(--ion-color-step-750, var(--ion-background-color-step-750, #404040));
|
|
1022
1046
|
}
|
|
1023
1047
|
|
|
1024
1048
|
:host(.textarea-fill-solid) .textarea-wrapper {
|
|
@@ -1111,7 +1135,7 @@
|
|
|
1111
1135
|
* }
|
|
1112
1136
|
*/
|
|
1113
1137
|
:host(.textarea-fill-outline) {
|
|
1114
|
-
--border-color: var(--ion-color-step-300, #b3b3b3);
|
|
1138
|
+
--border-color: var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));
|
|
1115
1139
|
--border-radius: 4px;
|
|
1116
1140
|
--padding-start: 16px;
|
|
1117
1141
|
--padding-end: 16px;
|
|
@@ -1139,7 +1163,7 @@
|
|
|
1139
1163
|
*/
|
|
1140
1164
|
@media (any-hover: hover) {
|
|
1141
1165
|
:host(.textarea-fill-outline:hover) {
|
|
1142
|
-
--border-color: var(--ion-color-step-750, #404040);
|
|
1166
|
+
--border-color: var(--ion-color-step-750, var(--ion-background-color-step-750, #404040));
|
|
1143
1167
|
}
|
|
1144
1168
|
}
|
|
1145
1169
|
/**
|
|
@@ -1381,7 +1405,7 @@
|
|
|
1381
1405
|
|
|
1382
1406
|
:host {
|
|
1383
1407
|
--border-width: 1px;
|
|
1384
|
-
--border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));
|
|
1408
|
+
--border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));
|
|
1385
1409
|
--padding-top: 18px;
|
|
1386
1410
|
--padding-end: 0px;
|
|
1387
1411
|
--padding-bottom: 8px;
|
|
@@ -1442,8 +1466,32 @@
|
|
|
1442
1466
|
transition: transform 200ms;
|
|
1443
1467
|
background: var(--highlight-color);
|
|
1444
1468
|
}
|
|
1445
|
-
|
|
1446
|
-
|
|
1469
|
+
@supports (inset-inline-start: 0) {
|
|
1470
|
+
.textarea-highlight {
|
|
1471
|
+
inset-inline-start: 0;
|
|
1472
|
+
}
|
|
1473
|
+
}
|
|
1474
|
+
@supports not (inset-inline-start: 0) {
|
|
1475
|
+
.textarea-highlight {
|
|
1476
|
+
left: 0;
|
|
1477
|
+
}
|
|
1478
|
+
:host-context([dir=rtl]) .textarea-highlight {
|
|
1479
|
+
left: unset;
|
|
1480
|
+
right: unset;
|
|
1481
|
+
right: 0;
|
|
1482
|
+
}
|
|
1483
|
+
[dir=rtl] .textarea-highlight {
|
|
1484
|
+
left: unset;
|
|
1485
|
+
right: unset;
|
|
1486
|
+
right: 0;
|
|
1487
|
+
}
|
|
1488
|
+
@supports selector(:dir(rtl)) {
|
|
1489
|
+
.textarea-highlight:dir(rtl) {
|
|
1490
|
+
left: unset;
|
|
1491
|
+
right: unset;
|
|
1492
|
+
right: 0;
|
|
1493
|
+
}
|
|
1494
|
+
}
|
|
1447
1495
|
}
|
|
1448
1496
|
|
|
1449
1497
|
:host(.has-focus) .textarea-highlight {
|
|
@@ -1458,8 +1506,27 @@
|
|
|
1458
1506
|
:host(.in-item) .textarea-highlight {
|
|
1459
1507
|
bottom: 0;
|
|
1460
1508
|
}
|
|
1461
|
-
|
|
1462
|
-
|
|
1509
|
+
@supports (inset-inline-start: 0) {
|
|
1510
|
+
:host(.in-item) .textarea-highlight {
|
|
1511
|
+
inset-inline-start: 0;
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
@supports not (inset-inline-start: 0) {
|
|
1515
|
+
:host(.in-item) .textarea-highlight {
|
|
1516
|
+
left: 0;
|
|
1517
|
+
}
|
|
1518
|
+
:host-context([dir=rtl]):host(.in-item) .textarea-highlight, :host-context([dir=rtl]).in-item .textarea-highlight {
|
|
1519
|
+
left: unset;
|
|
1520
|
+
right: unset;
|
|
1521
|
+
right: 0;
|
|
1522
|
+
}
|
|
1523
|
+
@supports selector(:dir(rtl)) {
|
|
1524
|
+
:host(.in-item:dir(rtl)) .textarea-highlight {
|
|
1525
|
+
left: unset;
|
|
1526
|
+
right: unset;
|
|
1527
|
+
right: 0;
|
|
1528
|
+
}
|
|
1529
|
+
}
|
|
1463
1530
|
}
|
|
1464
1531
|
|
|
1465
1532
|
:host(.textarea-shape-round) {
|
|
@@ -100,8 +100,27 @@
|
|
|
100
100
|
box-sizing: border-box;
|
|
101
101
|
pointer-events: none;
|
|
102
102
|
}
|
|
103
|
-
:
|
|
104
|
-
|
|
103
|
+
@supports (inset-inline-start: 0) {
|
|
104
|
+
:host {
|
|
105
|
+
inset-inline-start: 0;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
@supports not (inset-inline-start: 0) {
|
|
109
|
+
:host {
|
|
110
|
+
left: 0;
|
|
111
|
+
}
|
|
112
|
+
:host-context([dir=rtl]) {
|
|
113
|
+
left: unset;
|
|
114
|
+
right: unset;
|
|
115
|
+
right: 0;
|
|
116
|
+
}
|
|
117
|
+
@supports selector(:dir(rtl)) {
|
|
118
|
+
:host(:dir(rtl)) {
|
|
119
|
+
left: unset;
|
|
120
|
+
right: unset;
|
|
121
|
+
right: 0;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
105
124
|
}
|
|
106
125
|
|
|
107
126
|
:host(.title-small) {
|
|
@@ -175,3 +175,36 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
|
175
175
|
});
|
|
176
176
|
});
|
|
177
177
|
});
|
|
178
|
+
/**
|
|
179
|
+
* High contrast mode tests
|
|
180
|
+
*/
|
|
181
|
+
configs({ directions: ['ltr'], themes: ['high-contrast-dark', 'high-contrast-light'] }).forEach(({ title, config, screenshot }) => {
|
|
182
|
+
test.describe(title('toast: high contrast: buttons'), () => {
|
|
183
|
+
test.beforeEach(async ({ page }) => {
|
|
184
|
+
await page.setContent(`
|
|
185
|
+
<ion-toast is-open="true" header="Testing" message="Hello world"></ion-toast>
|
|
186
|
+
<script>
|
|
187
|
+
const toast = document.querySelector('ion-toast');
|
|
188
|
+
toast.buttons = [
|
|
189
|
+
{ text: 'Cancel', role: 'cancel' },
|
|
190
|
+
{ text: 'OK' }
|
|
191
|
+
];
|
|
192
|
+
</script>
|
|
193
|
+
`, config);
|
|
194
|
+
});
|
|
195
|
+
test('should not have visual regressions', async ({ page }) => {
|
|
196
|
+
const toast = page.locator('ion-toast');
|
|
197
|
+
await expect(toast).toBeVisible();
|
|
198
|
+
const toastWrapper = toast.locator('.toast-wrapper');
|
|
199
|
+
await expect(toastWrapper).toHaveScreenshot(screenshot(`toast-high-contrast-buttons`));
|
|
200
|
+
});
|
|
201
|
+
test('should pass AAA guidelines', async ({ page }) => {
|
|
202
|
+
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
203
|
+
await ionToastDidPresent.next();
|
|
204
|
+
const results = await new AxeBuilder({ page })
|
|
205
|
+
.options({ rules: { 'color-contrast-enhanced': { enabled: true } } })
|
|
206
|
+
.analyze();
|
|
207
|
+
expect(results.violations).toEqual([]);
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
});
|
|
@@ -102,8 +102,27 @@
|
|
|
102
102
|
z-index: 1001;
|
|
103
103
|
pointer-events: none;
|
|
104
104
|
}
|
|
105
|
-
:
|
|
106
|
-
|
|
105
|
+
@supports (inset-inline-start: 0) {
|
|
106
|
+
:host {
|
|
107
|
+
inset-inline-start: 0;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
@supports not (inset-inline-start: 0) {
|
|
111
|
+
:host {
|
|
112
|
+
left: 0;
|
|
113
|
+
}
|
|
114
|
+
:host-context([dir=rtl]) {
|
|
115
|
+
left: unset;
|
|
116
|
+
right: unset;
|
|
117
|
+
right: 0;
|
|
118
|
+
}
|
|
119
|
+
@supports selector(:dir(rtl)) {
|
|
120
|
+
:host(:dir(rtl)) {
|
|
121
|
+
left: unset;
|
|
122
|
+
right: unset;
|
|
123
|
+
right: 0;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
107
126
|
}
|
|
108
127
|
|
|
109
128
|
:host(.overlay-hidden) {
|
|
@@ -137,9 +156,37 @@
|
|
|
137
156
|
background: var(--background);
|
|
138
157
|
box-shadow: var(--box-shadow);
|
|
139
158
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
159
|
+
@supports (inset-inline-start: 0) {
|
|
160
|
+
.toast-wrapper {
|
|
161
|
+
inset-inline-start: var(--start);
|
|
162
|
+
inset-inline-end: var(--end);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
@supports not (inset-inline-start: 0) {
|
|
166
|
+
.toast-wrapper {
|
|
167
|
+
left: var(--start);
|
|
168
|
+
right: var(--end);
|
|
169
|
+
}
|
|
170
|
+
:host-context([dir=rtl]) .toast-wrapper {
|
|
171
|
+
left: unset;
|
|
172
|
+
right: unset;
|
|
173
|
+
left: var(--end);
|
|
174
|
+
right: var(--start);
|
|
175
|
+
}
|
|
176
|
+
[dir=rtl] .toast-wrapper {
|
|
177
|
+
left: unset;
|
|
178
|
+
right: unset;
|
|
179
|
+
left: var(--end);
|
|
180
|
+
right: var(--start);
|
|
181
|
+
}
|
|
182
|
+
@supports selector(:dir(rtl)) {
|
|
183
|
+
.toast-wrapper:dir(rtl) {
|
|
184
|
+
left: unset;
|
|
185
|
+
right: unset;
|
|
186
|
+
left: var(--end);
|
|
187
|
+
right: var(--start);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
143
190
|
}
|
|
144
191
|
|
|
145
192
|
.toast-wrapper.toast-top {
|
|
@@ -274,10 +321,10 @@
|
|
|
274
321
|
* }
|
|
275
322
|
*/
|
|
276
323
|
:host {
|
|
277
|
-
--background: var(--ion-color-step-50, #f2f2f2);
|
|
324
|
+
--background: var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));
|
|
278
325
|
--border-radius: 14px;
|
|
279
326
|
--button-color: var(--ion-color-primary, #0054e9);
|
|
280
|
-
--color: var(--ion-color-step-850, #262626);
|
|
327
|
+
--color: var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));
|
|
281
328
|
--max-width: 700px;
|
|
282
329
|
--max-height: 478px;
|
|
283
330
|
--start: 10px;
|
|
@@ -102,8 +102,27 @@
|
|
|
102
102
|
z-index: 1001;
|
|
103
103
|
pointer-events: none;
|
|
104
104
|
}
|
|
105
|
-
:
|
|
106
|
-
|
|
105
|
+
@supports (inset-inline-start: 0) {
|
|
106
|
+
:host {
|
|
107
|
+
inset-inline-start: 0;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
@supports not (inset-inline-start: 0) {
|
|
111
|
+
:host {
|
|
112
|
+
left: 0;
|
|
113
|
+
}
|
|
114
|
+
:host-context([dir=rtl]) {
|
|
115
|
+
left: unset;
|
|
116
|
+
right: unset;
|
|
117
|
+
right: 0;
|
|
118
|
+
}
|
|
119
|
+
@supports selector(:dir(rtl)) {
|
|
120
|
+
:host(:dir(rtl)) {
|
|
121
|
+
left: unset;
|
|
122
|
+
right: unset;
|
|
123
|
+
right: 0;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
107
126
|
}
|
|
108
127
|
|
|
109
128
|
:host(.overlay-hidden) {
|
|
@@ -137,9 +156,37 @@
|
|
|
137
156
|
background: var(--background);
|
|
138
157
|
box-shadow: var(--box-shadow);
|
|
139
158
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
159
|
+
@supports (inset-inline-start: 0) {
|
|
160
|
+
.toast-wrapper {
|
|
161
|
+
inset-inline-start: var(--start);
|
|
162
|
+
inset-inline-end: var(--end);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
@supports not (inset-inline-start: 0) {
|
|
166
|
+
.toast-wrapper {
|
|
167
|
+
left: var(--start);
|
|
168
|
+
right: var(--end);
|
|
169
|
+
}
|
|
170
|
+
:host-context([dir=rtl]) .toast-wrapper {
|
|
171
|
+
left: unset;
|
|
172
|
+
right: unset;
|
|
173
|
+
left: var(--end);
|
|
174
|
+
right: var(--start);
|
|
175
|
+
}
|
|
176
|
+
[dir=rtl] .toast-wrapper {
|
|
177
|
+
left: unset;
|
|
178
|
+
right: unset;
|
|
179
|
+
left: var(--end);
|
|
180
|
+
right: var(--start);
|
|
181
|
+
}
|
|
182
|
+
@supports selector(:dir(rtl)) {
|
|
183
|
+
.toast-wrapper:dir(rtl) {
|
|
184
|
+
left: unset;
|
|
185
|
+
right: unset;
|
|
186
|
+
left: var(--end);
|
|
187
|
+
right: var(--start);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
143
190
|
}
|
|
144
191
|
|
|
145
192
|
.toast-wrapper.toast-top {
|
|
@@ -274,11 +321,11 @@
|
|
|
274
321
|
* }
|
|
275
322
|
*/
|
|
276
323
|
:host {
|
|
277
|
-
--background: var(--ion-color-step-800, #333333);
|
|
324
|
+
--background: var(--ion-color-step-800, var(--ion-background-color-step-800, #333333));
|
|
278
325
|
--border-radius: 4px;
|
|
279
326
|
--box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);
|
|
280
327
|
--button-color: var(--ion-color-primary, #0054e9);
|
|
281
|
-
--color: var(--ion-color-step-50, #f2f2f2);
|
|
328
|
+
--color: var(--ion-color-step-50, var(--ion-text-color-step-950, #f2f2f2));
|
|
282
329
|
--max-width: 700px;
|
|
283
330
|
--start: 8px;
|
|
284
331
|
--end: 8px;
|
|
@@ -357,7 +404,7 @@
|
|
|
357
404
|
}
|
|
358
405
|
|
|
359
406
|
.toast-button-cancel {
|
|
360
|
-
color: var(--ion-color-step-100, #e6e6e6);
|
|
407
|
+
color: var(--ion-color-step-100, var(--ion-text-color-step-900, #e6e6e6));
|
|
361
408
|
}
|
|
362
409
|
|
|
363
410
|
.toast-button-icon-only {
|
|
@@ -129,10 +129,28 @@
|
|
|
129
129
|
opacity: 0;
|
|
130
130
|
pointer-events: none;
|
|
131
131
|
}
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
@supports (inset-inline-start: 0) {
|
|
133
|
+
:host(.legacy-toggle) label {
|
|
134
|
+
inset-inline-start: 0;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
@supports not (inset-inline-start: 0) {
|
|
138
|
+
:host(.legacy-toggle) label {
|
|
139
|
+
left: 0;
|
|
140
|
+
}
|
|
141
|
+
:host-context([dir=rtl]):host(.legacy-toggle) label, :host-context([dir=rtl]).legacy-toggle label {
|
|
142
|
+
left: unset;
|
|
143
|
+
right: unset;
|
|
144
|
+
right: 0;
|
|
145
|
+
}
|
|
146
|
+
@supports selector(:dir(rtl)) {
|
|
147
|
+
:host(.legacy-toggle:dir(rtl)) label {
|
|
148
|
+
left: unset;
|
|
149
|
+
right: unset;
|
|
150
|
+
right: 0;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
134
153
|
}
|
|
135
|
-
|
|
136
154
|
:host(.legacy-toggle) label::-moz-focus-inner {
|
|
137
155
|
border: 0;
|
|
138
156
|
}
|
|
@@ -129,10 +129,28 @@
|
|
|
129
129
|
opacity: 0;
|
|
130
130
|
pointer-events: none;
|
|
131
131
|
}
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
@supports (inset-inline-start: 0) {
|
|
133
|
+
:host(.legacy-toggle) label {
|
|
134
|
+
inset-inline-start: 0;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
@supports not (inset-inline-start: 0) {
|
|
138
|
+
:host(.legacy-toggle) label {
|
|
139
|
+
left: 0;
|
|
140
|
+
}
|
|
141
|
+
:host-context([dir=rtl]):host(.legacy-toggle) label, :host-context([dir=rtl]).legacy-toggle label {
|
|
142
|
+
left: unset;
|
|
143
|
+
right: unset;
|
|
144
|
+
right: 0;
|
|
145
|
+
}
|
|
146
|
+
@supports selector(:dir(rtl)) {
|
|
147
|
+
:host(.legacy-toggle:dir(rtl)) label {
|
|
148
|
+
left: unset;
|
|
149
|
+
right: unset;
|
|
150
|
+
right: 0;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
134
153
|
}
|
|
135
|
-
|
|
136
154
|
:host(.legacy-toggle) label::-moz-focus-inner {
|
|
137
155
|
border: 0;
|
|
138
156
|
}
|
|
@@ -198,9 +198,9 @@
|
|
|
198
198
|
* }
|
|
199
199
|
*/
|
|
200
200
|
:host {
|
|
201
|
-
--background: var(--ion-toolbar-background, var(--ion-color-step-50, #f7f7f7));
|
|
201
|
+
--background: var(--ion-toolbar-background, var(--ion-color-step-50, var(--ion-background-color-step-50, #f7f7f7)));
|
|
202
202
|
--color: var(--ion-toolbar-color, var(--ion-text-color, #000));
|
|
203
|
-
--border-color: var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));
|
|
203
|
+
--border-color: var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.2)))));
|
|
204
204
|
--padding-top: 3px;
|
|
205
205
|
--padding-bottom: 3px;
|
|
206
206
|
--padding-start: 4px;
|
|
@@ -200,7 +200,7 @@
|
|
|
200
200
|
:host {
|
|
201
201
|
--background: var(--ion-toolbar-background, var(--ion-background-color, #fff));
|
|
202
202
|
--color: var(--ion-toolbar-color, var(--ion-text-color, #424242));
|
|
203
|
-
--border-color: var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #c1c4cd)));
|
|
203
|
+
--border-color: var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, #c1c4cd))));
|
|
204
204
|
--padding-top: 0;
|
|
205
205
|
--padding-bottom: 0;
|
|
206
206
|
--padding-start: 0;
|
|
@@ -4,10 +4,15 @@
|
|
|
4
4
|
import AxeBuilder from "@axe-core/playwright";
|
|
5
5
|
import { expect } from "@playwright/test";
|
|
6
6
|
import { configs, test } from "../../../utils/test/playwright/index";
|
|
7
|
+
/**
|
|
8
|
+
* Small text is defined as 14pt (~18.5px)
|
|
9
|
+
* when computing color contrast: https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html
|
|
10
|
+
*/
|
|
7
11
|
const styleTestHelpers = `
|
|
8
12
|
<style>
|
|
9
13
|
main {
|
|
10
14
|
background: var(--ion-color-contrast);
|
|
15
|
+
font-size: 14pt;
|
|
11
16
|
}
|
|
12
17
|
.ion-background {
|
|
13
18
|
background: var(--ion-color-base);
|
|
@@ -112,3 +117,54 @@ configs({ modes: ['md'], directions: ['ltr'], themes: ['light', 'dark'] }).forEa
|
|
|
112
117
|
}
|
|
113
118
|
});
|
|
114
119
|
});
|
|
120
|
+
configs({ modes: ['md'], directions: ['ltr'], themes: ['high-contrast-light', 'high-contrast-dark'] }).forEach(({ config, title }) => {
|
|
121
|
+
const colors = ['primary', 'secondary', 'tertiary', 'success', 'warning', 'danger', 'light', 'medium', 'dark'];
|
|
122
|
+
test.describe(title('theme'), () => {
|
|
123
|
+
test.beforeEach(({ skip }) => {
|
|
124
|
+
skip.browser('firefox', 'Color contrast ratio is consistent across browsers');
|
|
125
|
+
skip.browser('webkit', 'Color contrast ratio is consistent across browsers');
|
|
126
|
+
});
|
|
127
|
+
for (const color of colors) {
|
|
128
|
+
test(`color "${color}" should pass AAA guidelines`, async ({ page }) => {
|
|
129
|
+
await page.setContent(`${styleTestHelpers}
|
|
130
|
+
<main class="ion-color-${color}">
|
|
131
|
+
<p class="ion-color">Hello World</p>
|
|
132
|
+
</main>`, config);
|
|
133
|
+
const results = await new AxeBuilder({ page })
|
|
134
|
+
.options({ rules: { 'color-contrast-enhanced': { enabled: true } } })
|
|
135
|
+
.analyze();
|
|
136
|
+
expect(results.violations).toEqual([]);
|
|
137
|
+
});
|
|
138
|
+
test(`contrast color on "${color}" background should pass AAA guidelines`, async ({ page }) => {
|
|
139
|
+
await page.setContent(`${styleTestHelpers}
|
|
140
|
+
<main class="ion-color-${color}">
|
|
141
|
+
<p class="ion-color-contrast ion-background">Hello World</p>
|
|
142
|
+
</main>`, config);
|
|
143
|
+
const results = await new AxeBuilder({ page })
|
|
144
|
+
.options({ rules: { 'color-contrast-enhanced': { enabled: true } } })
|
|
145
|
+
.analyze();
|
|
146
|
+
expect(results.violations).toEqual([]);
|
|
147
|
+
});
|
|
148
|
+
test(`contrast color on "${color}" background shade should pass AAA guidelines`, async ({ page }) => {
|
|
149
|
+
await page.setContent(`${styleTestHelpers}
|
|
150
|
+
<main class="ion-color-${color}">
|
|
151
|
+
<p class="ion-color-contrast ion-background-shade">Hello World</p>
|
|
152
|
+
</main>`, config);
|
|
153
|
+
const results = await new AxeBuilder({ page })
|
|
154
|
+
.options({ rules: { 'color-contrast-enhanced': { enabled: true } } })
|
|
155
|
+
.analyze();
|
|
156
|
+
expect(results.violations).toEqual([]);
|
|
157
|
+
});
|
|
158
|
+
test(`contrast color on "${color}" background tint should pass AAA guidelines`, async ({ page }) => {
|
|
159
|
+
await page.setContent(`${styleTestHelpers}
|
|
160
|
+
<main class="ion-color-${color}">
|
|
161
|
+
<p class="ion-color-contrast ion-background-tint">Hello World</p>
|
|
162
|
+
</main>`, config);
|
|
163
|
+
const results = await new AxeBuilder({ page })
|
|
164
|
+
.options({ rules: { 'color-contrast-enhanced': { enabled: true } } })
|
|
165
|
+
.analyze();
|
|
166
|
+
expect(results.violations).toEqual([]);
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
});
|