From a45f5d5a7deef6c2785a8b3bcd2bedfff65ddb0c Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 12 Oct 2023 13:18:57 -0400 Subject: [PATCH 01/21] adds inactive state to button components --- e2e/components/Button.test.ts | 34 ++++++ src/Button/Button.docs.json | 5 + src/Button/Button.features.stories.tsx | 6 + src/Button/Button.stories.tsx | 6 + src/Button/ButtonBase.tsx | 2 + src/Button/IconButton.docs.json | 5 + src/Button/IconButton.stories.tsx | 5 + src/Button/styles.ts | 33 +++--- src/Button/types.ts | 5 + .../Button2/Button.features.stories.tsx | 2 + src/drafts/Button2/Button.stories.tsx | 106 ++++++++++-------- src/drafts/Button2/Button.tsx | 28 ++--- src/drafts/Button2/styles.ts | 30 ++--- src/drafts/Button2/types.ts | 5 + 14 files changed, 180 insertions(+), 92 deletions(-) diff --git a/e2e/components/Button.test.ts b/e2e/components/Button.test.ts index 95863abb376..fe3944068ee 100644 --- a/e2e/components/Button.test.ts +++ b/e2e/components/Button.test.ts @@ -479,6 +479,40 @@ test.describe('Button', () => { } }) + test.describe('Inactive', () => { + for (const theme of themes) { + test.describe(theme, () => { + test('default @vrt', async ({page}) => { + await visit(page, { + id: 'components-button-features--inactive', + globals: { + colorScheme: theme, + }, + }) + + // Default state + expect(await page.screenshot()).toMatchSnapshot(`Button.Inactive.${theme}.png`) + }) + + test('axe @aat', async ({page}) => { + await visit(page, { + id: 'components-button-features--inactive', + globals: { + colorScheme: theme, + }, + }) + await expect(page).toHaveNoViolations({ + rules: { + 'color-contrast': { + enabled: theme !== 'dark_dimmed', + }, + }, + }) + }) + }) + } + }) + test.describe('Dev: Invisible Variants', () => { for (const theme of themes) { test.describe(theme, () => { diff --git a/src/Button/Button.docs.json b/src/Button/Button.docs.json index bf9c739d76b..b7f3c7ffb6f 100644 --- a/src/Button/Button.docs.json +++ b/src/Button/Button.docs.json @@ -44,6 +44,11 @@ "type": "React.ElementType", "description": "A visual to display after the button text." }, + { + "name": "inactive", + "type": "boolean", + "description": "Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button." + }, { "name": "as", "type": "React.ElementType", diff --git a/src/Button/Button.features.stories.tsx b/src/Button/Button.features.stories.tsx index b5611963f75..68e96f15be0 100644 --- a/src/Button/Button.features.stories.tsx +++ b/src/Button/Button.features.stories.tsx @@ -82,6 +82,12 @@ export const Block = () => export const Disabled = () => +export const Inactive = () => ( + +) + export const Small = () => export const Medium = () => diff --git a/src/Button/Button.stories.tsx b/src/Button/Button.stories.tsx index f4d51ee3ba3..f5074d5f28a 100644 --- a/src/Button/Button.stories.tsx +++ b/src/Button/Button.stories.tsx @@ -18,6 +18,11 @@ export default { type: 'boolean', }, }, + inactive: { + control: { + type: 'boolean', + }, + }, variant: { control: { type: 'radio', @@ -48,6 +53,7 @@ export default { block: false, size: 'medium', disabled: false, + inactive: false, variant: 'default', alignContent: 'center', trailingVisual: null, diff --git a/src/Button/ButtonBase.tsx b/src/Button/ButtonBase.tsx index 6ae4ae4b274..57a314ac1ef 100644 --- a/src/Button/ButtonBase.tsx +++ b/src/Button/ButtonBase.tsx @@ -21,6 +21,7 @@ const ButtonBase = forwardRef( size = 'medium', alignContent = 'center', block = false, + inactive, ...rest } = props const LeadingVisual = leadingVisual ?? leadingIcon @@ -70,6 +71,7 @@ const ButtonBase = forwardRef( data-block={block ? 'block' : null} data-size={size === 'small' || size === 'large' ? size : undefined} data-no-visuals={!LeadingVisual && !TrailingVisual && !TrailingAction ? true : undefined} + aria-disabled={inactive} > {Icon ? ( diff --git a/src/Button/IconButton.docs.json b/src/Button/IconButton.docs.json index c49de7a2661..ad1529202a8 100644 --- a/src/Button/IconButton.docs.json +++ b/src/Button/IconButton.docs.json @@ -24,6 +24,11 @@ "defaultValue": "", "description": "Changes the size of the icon button component" }, + { + "name": "inactive", + "type": "boolean", + "description": "Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button." + }, { "name": "icon", "type": "Component", diff --git a/src/Button/IconButton.stories.tsx b/src/Button/IconButton.stories.tsx index aad997ed291..9643e53a4a8 100644 --- a/src/Button/IconButton.stories.tsx +++ b/src/Button/IconButton.stories.tsx @@ -18,6 +18,11 @@ const meta: Meta> = { type: 'boolean', }, }, + inactive: { + control: { + type: 'boolean', + }, + }, variant: { control: { type: 'radio', diff --git a/src/Button/styles.ts b/src/Button/styles.ts index 9e4fdbce43e..89943390b48 100644 --- a/src/Button/styles.ts +++ b/src/Button/styles.ts @@ -7,15 +7,15 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.text', backgroundColor: 'btn.bg', boxShadow: `${theme?.shadows.btn.shadow}, ${theme?.shadows.btn.insetShadow}`, - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([aria-disabled])': { backgroundColor: 'btn.hoverBg', borderColor: 'btn.hoverBorder', }, - '&:active:not([disabled])': { + '&:active:not([disabled]):not([aria-disabled])': { backgroundColor: 'btn.activeBg', borderColor: 'btn.activeBorder', }, - '&:disabled': { + '&:disabled, &[aria-disabled]': { color: 'primer.fg.disabled', '[data-component=ButtonCounter]': { color: 'inherit', @@ -34,7 +34,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme backgroundColor: 'btn.primary.bg', borderColor: 'btn.primary.border', boxShadow: `${theme?.shadows.btn.primary.shadow}`, - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([aria-disabled])': { color: 'btn.primary.hoverText', backgroundColor: 'btn.primary.hoverBg', }, @@ -44,11 +44,11 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme '&:focus-visible:not([disabled])': { boxShadow: 'inset 0 0 0 3px', }, - '&:active:not([disabled])': { + '&:active:not([disabled]):not([aria-disabled])': { backgroundColor: 'btn.primary.selectedBg', boxShadow: `${theme?.shadows.btn.primary.selectedShadow}`, }, - '&:disabled': { + '&:disabled, &[aria-disabled]': { color: 'btn.primary.disabledText', backgroundColor: 'btn.primary.disabledBg', '[data-component=ButtonCounter]': { @@ -68,7 +68,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.danger.text', backgroundColor: 'btn.bg', boxShadow: `${theme?.shadows.btn.shadow}`, - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([aria-disabled])': { color: 'btn.danger.hoverText', backgroundColor: 'btn.danger.hoverBg', borderColor: 'btn.danger.hoverBorder', @@ -78,13 +78,13 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.danger.hoverCounterFg', }, }, - '&:active:not([disabled])': { + '&:active:not([disabled]):not([aria-disabled])': { color: 'btn.danger.selectedText', backgroundColor: 'btn.danger.selectedBg', boxShadow: `${theme?.shadows.btn.danger.selectedShadow}`, borderColor: 'btn.danger.selectedBorder', }, - '&:disabled': { + '&:disabled, &[aria-disabled]': { color: 'btn.danger.disabledText', backgroundColor: 'btn.danger.disabledBg', borderColor: 'btn.danger.disabledBorder', @@ -115,13 +115,13 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme textDecoration: 'var(--prefers-link-underlines, underline)', }, }, - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([aria-disabled])': { backgroundColor: 'btn.hoverBg', }, - '&:active:not([disabled])': { + '&:active:not([disabled]):not([aria-disabled])': { backgroundColor: 'btn.selectedBg', }, - '&:disabled': { + '&:disabled, &[aria-disabled]': { color: 'primer.fg.disabled', '[data-component=ButtonCounter], [data-component="leadingVisual"], [data-component="trailingAction"]': { color: 'inherit', @@ -158,7 +158,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme borderColor: 'btn.border', backgroundColor: 'btn.bg', - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([aria-disabled])': { color: 'btn.outline.hoverText', backgroundColor: 'btn.outline.hoverBg', borderColor: 'btn.outline.hoverBorder', @@ -168,14 +168,14 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.outline.hoverCounterFg', }, }, - '&:active:not([disabled])': { + '&:active:not([disabled]):not([aria-disabled])': { color: 'btn.outline.selectedText', backgroundColor: 'btn.outline.selectedBg', boxShadow: `${theme?.shadows.btn.outline.selectedShadow}`, borderColor: 'btn.outline.selectedBorder', }, - '&:disabled': { + '&:disabled, &[aria-disabled]': { color: 'btn.outline.disabledText', backgroundColor: 'btn.outline.disabledBg', borderColor: 'btn.border', @@ -232,6 +232,9 @@ export const getBaseStyles = (theme?: Theme) => ({ '&:active': { transition: 'none', }, + '&[aria-disabled]': { + cursor: 'auto', + }, '&:disabled': { cursor: 'not-allowed', boxShadow: 'none', diff --git a/src/Button/types.ts b/src/Button/types.ts index 41e91c4acda..0dd5a9b17a8 100644 --- a/src/Button/types.ts +++ b/src/Button/types.ts @@ -35,6 +35,11 @@ export type ButtonBaseProps = { * Allow button width to fill its container. */ block?: boolean + /** + * Whether the button looks visually disabled, but can still accept all the same + * interactions as an enabled button. + */ + inactive?: boolean } & SxProp & React.ButtonHTMLAttributes diff --git a/src/drafts/Button2/Button.features.stories.tsx b/src/drafts/Button2/Button.features.stories.tsx index 79014edda13..322a70bc87f 100644 --- a/src/drafts/Button2/Button.features.stories.tsx +++ b/src/drafts/Button2/Button.features.stories.tsx @@ -34,6 +34,8 @@ export const Block = () => export const Disabled = () => +export const Inactive = () => + export const Small = () => export const Medium = () => diff --git a/src/drafts/Button2/Button.stories.tsx b/src/drafts/Button2/Button.stories.tsx index deed09867fb..a628cef7516 100644 --- a/src/drafts/Button2/Button.stories.tsx +++ b/src/drafts/Button2/Button.stories.tsx @@ -6,55 +6,6 @@ import {OcticonArgType} from '../../utils/story-helpers' export default { title: 'Drafts/Components/Button', - argTypes: { - size: { - control: { - type: 'radio', - }, - options: ['small', 'medium', 'large'], - }, - disabled: { - control: { - type: 'boolean', - }, - }, - variant: { - control: { - type: 'radio', - }, - options: ['default', 'primary', 'danger', 'invisible', 'outline'], - }, - alignContent: { - control: { - type: 'radio', - }, - options: ['center', 'start'], - }, - block: { - control: { - type: 'boolean', - }, - }, - leadingIcon: OcticonArgType([EyeClosedIcon, EyeIcon, SearchIcon, XIcon, HeartIcon]), - trailingIcon: OcticonArgType([EyeClosedIcon, EyeIcon, SearchIcon, XIcon, HeartIcon]), - trailingAction: OcticonArgType([TriangleDownIcon]), - trailingVisualCount: { - control: { - type: 'number', - }, - }, - }, - args: { - block: false, - size: 'medium', - disabled: false, - variant: 'default', - alignContent: 'center', - trailingIcon: null, - leadingIcon: null, - trailingAction: null, - trailingVisualCount: undefined, - }, } as Meta export const Playground: StoryFn = args => { @@ -67,4 +18,61 @@ export const Playground: StoryFn = args => { ) } +Playground.argTypes = { + size: { + control: { + type: 'radio', + }, + options: ['small', 'medium', 'large'], + }, + disabled: { + control: { + type: 'boolean', + }, + }, + inactive: { + control: { + type: 'boolean', + }, + }, + variant: { + control: { + type: 'radio', + }, + options: ['default', 'primary', 'danger', 'invisible', 'outline'], + }, + alignContent: { + control: { + type: 'radio', + }, + options: ['center', 'start'], + }, + block: { + control: { + type: 'boolean', + }, + }, + leadingIcon: OcticonArgType([EyeClosedIcon, EyeIcon, SearchIcon, XIcon, HeartIcon]), + trailingIcon: OcticonArgType([EyeClosedIcon, EyeIcon, SearchIcon, XIcon, HeartIcon]), + trailingAction: OcticonArgType([TriangleDownIcon]), + trailingVisualCount: { + control: { + type: 'number', + }, + }, +} + +Playground.args = { + block: false, + size: 'medium', + disabled: false, + inactive: false, + variant: 'default', + alignContent: 'center', + trailingIcon: null, + leadingIcon: null, + trailingAction: null, + trailingVisualCount: undefined, +} + export const Default = () => diff --git a/src/drafts/Button2/Button.tsx b/src/drafts/Button2/Button.tsx index d3cce915480..2fc4c566a17 100644 --- a/src/drafts/Button2/Button.tsx +++ b/src/drafts/Button2/Button.tsx @@ -5,22 +5,24 @@ import {ForwardRefComponent as PolymorphicForwardRefComponent} from '../../utils import {defaultSxProp} from '../../utils/defaultSxProp' import {BetterSystemStyleObject} from '../../sx' -const ButtonComponent = forwardRef(({children, sx: sxProp = defaultSxProp, ...props}, forwardedRef): JSX.Element => { - let sxStyles = sxProp +const ButtonComponent = forwardRef( + ({children, sx: sxProp = defaultSxProp, inactive, ...props}, forwardedRef): JSX.Element => { + let sxStyles = sxProp - // grap the button props that have associated data attributes in the styles - const {block, size, leadingIcon, trailingIcon, trailingAction} = props + // grap the button props that have associated data attributes in the styles + const {block, size, leadingIcon, trailingIcon, trailingAction} = props - if (sxProp !== null && Object.keys(sxProp).length > 0) { - sxStyles = generateCustomSxProp({block, size, leadingIcon, trailingIcon, trailingAction}, sxProp) - } + if (sxProp !== null && Object.keys(sxProp).length > 0) { + sxStyles = generateCustomSxProp({block, size, leadingIcon, trailingIcon, trailingAction}, sxProp) + } - return ( - - {children} - - ) -}) as PolymorphicForwardRefComponent<'button', ButtonProps> + return ( + + {children} + + ) + }, +) as PolymorphicForwardRefComponent<'button', ButtonProps> // This function is used to generate a custom cssSelector for the sxProp diff --git a/src/drafts/Button2/styles.ts b/src/drafts/Button2/styles.ts index 240a8c0044f..5f2398dc2ef 100644 --- a/src/drafts/Button2/styles.ts +++ b/src/drafts/Button2/styles.ts @@ -7,15 +7,15 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.text', backgroundColor: 'btn.bg', boxShadow: `${theme?.shadows.btn.shadow}, ${theme?.shadows.btn.insetShadow}`, - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([aria-disabled])': { backgroundColor: 'btn.hoverBg', borderColor: 'btn.hoverBorder', }, - '&:active:not([disabled])': { + '&:active:not([disabled]):not([aria-disabled])': { backgroundColor: 'btn.activeBg', borderColor: 'btn.activeBorder', }, - '&:disabled': { + '&:disabled, &[aria-disabled]': { color: 'primer.fg.disabled', '[data-component=ButtonCounter]': { color: 'inherit', @@ -31,7 +31,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme backgroundColor: 'btn.primary.bg', borderColor: 'btn.primary.border', boxShadow: `${theme?.shadows.btn.primary.shadow}`, - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([aria-disabled])': { color: 'btn.primary.hoverText', backgroundColor: 'btn.primary.hoverBg', }, @@ -41,11 +41,11 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme '&:focus-visible:not([disabled])': { boxShadow: 'inset 0 0 0 3px', }, - '&:active:not([disabled])': { + '&:active:not([disabled]):not([aria-disabled])': { backgroundColor: 'btn.primary.selectedBg', boxShadow: `${theme?.shadows.btn.primary.selectedShadow}`, }, - '&:disabled': { + '&:disabled, &[aria-disabled]': { color: 'btn.primary.disabledText', backgroundColor: 'btn.primary.disabledBg', '[data-component=ButtonCounter]': { @@ -65,7 +65,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.danger.text', backgroundColor: 'btn.bg', boxShadow: `${theme?.shadows.btn.shadow}`, - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([aria-disabled])': { color: 'btn.danger.hoverText', backgroundColor: 'btn.danger.hoverBg', borderColor: 'btn.danger.hoverBorder', @@ -75,13 +75,13 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.danger.hoverText', }, }, - '&:active:not([disabled])': { + '&:active:not([disabled]):not([aria-disabled])': { color: 'btn.danger.selectedText', backgroundColor: 'btn.danger.selectedBg', boxShadow: `${theme?.shadows.btn.danger.selectedShadow}`, borderColor: 'btn.danger.selectedBorder', }, - '&:disabled': { + '&:disabled, &[aria-disabled]': { color: 'btn.danger.disabledText', backgroundColor: 'btn.danger.disabledBg', borderColor: 'btn.danger.disabledBorder', @@ -112,13 +112,13 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme textDecoration: 'var(--prefers-link-underlines, underline)', }, }, - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([aria-disabled])': { backgroundColor: 'btn.hoverBg', }, - '&:active:not([disabled])': { + '&:active:not([disabled]):not([aria-disabled])': { backgroundColor: 'btn.selectedBg', }, - '&:disabled': { + '&:disabled, &[aria-disabled]': { color: 'primer.fg.disabled', '[data-component=ButtonCounter]': { color: 'inherit', @@ -149,7 +149,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme borderColor: 'btn.border', backgroundColor: 'btn.bg', - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([aria-disabled])': { color: 'btn.outline.hoverText', backgroundColor: 'btn.outline.hoverBg', borderColor: 'btn.outline.hoverBorder', @@ -159,14 +159,14 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'inherit', }, }, - '&:active:not([disabled])': { + '&:active:not([disabled]):not([aria-disabled])': { color: 'btn.outline.selectedText', backgroundColor: 'btn.outline.selectedBg', boxShadow: `${theme?.shadows.btn.outline.selectedShadow}`, borderColor: 'btn.outline.selectedBorder', }, - '&:disabled': { + '&:disabled, &[aria-disabled]': { color: 'btn.outline.disabledText', backgroundColor: 'btn.outline.disabledBg', borderColor: 'btn.border', diff --git a/src/drafts/Button2/types.ts b/src/drafts/Button2/types.ts index 2d689771362..0b3bc37510d 100644 --- a/src/drafts/Button2/types.ts +++ b/src/drafts/Button2/types.ts @@ -31,6 +31,11 @@ export type ButtonBaseProps = { * Items that are disabled can not be clicked, selected, or navigated through. */ disabled?: boolean + /** + * Whether the button looks visually disabled, but can still accept all the same + * interactions as an enabled button. + */ + inactive?: boolean /** * Allow button width to fill its container. */ From 557b012430376fa271812594eab4d11ec742d368 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 12 Oct 2023 13:20:39 -0400 Subject: [PATCH 02/21] update snapshots --- .../__snapshots__/Button.test.tsx.snap | 200 ++++++++++++------ .../__snapshots__/ActionMenu.test.tsx.snap | 23 +- .../__snapshots__/TextInput.test.tsx.snap | 87 +++++--- 3 files changed, 213 insertions(+), 97 deletions(-) diff --git a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap index 29133a6d684..67712a3d6cd 100644 --- a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap +++ b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap @@ -91,14 +91,13 @@ exports[`Button renders consistently 1`] = ` transition: none; } +.c0[aria-disabled] { + cursor: auto; +} + .c0:disabled { cursor: not-allowed; box-shadow: none; - color: #8c959f; -} - -.c0:disabled [data-component=ButtonCounter] { - color: inherit; } .c0 [data-component=ButtonCounter] { @@ -194,16 +193,26 @@ exports[`Button renders consistently 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]) { background-color: #f3f4f6; border-color: rgba(31,35,40,0.15); } -.c0:active:not([disabled]) { +.c0:active:not([disabled]):not([aria-disabled]) { background-color: hsla(220,14%,93%,1); border-color: rgba(31,35,40,0.15); } +.c0:disabled, +.c0[aria-disabled] { + color: #8c959f; +} + +.c0:disabled [data-component=ButtonCounter], +.c0[aria-disabled] [data-component=ButtonCounter] { + color: inherit; +} + .c0[aria-expanded=true] { background-color: hsla(220,14%,93%,1); border-color: rgba(31,35,40,0.15); @@ -325,14 +334,13 @@ exports[`Button respects block prop 1`] = ` transition: none; } +.c0[aria-disabled] { + cursor: auto; +} + .c0:disabled { cursor: not-allowed; box-shadow: none; - color: primer.fg.disabled; -} - -.c0:disabled [data-component=ButtonCounter] { - color: inherit; } .c0 [data-component=ButtonCounter] { @@ -428,16 +436,26 @@ exports[`Button respects block prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]) { background-color: btn.hoverBg; border-color: btn.hoverBorder; } -.c0:active:not([disabled]) { +.c0:active:not([disabled]):not([aria-disabled]) { background-color: btn.activeBg; border-color: btn.activeBorder; } +.c0:disabled, +.c0[aria-disabled] { + color: primer.fg.disabled; +} + +.c0:disabled [data-component=ButtonCounter], +.c0[aria-disabled] [data-component=ButtonCounter] { + color: inherit; +} + .c0[aria-expanded=true] { background-color: btn.activeBg; border-color: btn.activeBorder; @@ -564,14 +582,13 @@ exports[`Button respects the alignContent prop 1`] = ` transition: none; } +.c0[aria-disabled] { + cursor: auto; +} + .c0:disabled { cursor: not-allowed; box-shadow: none; - color: primer.fg.disabled; -} - -.c0:disabled [data-component=ButtonCounter] { - color: inherit; } .c0 [data-component=ButtonCounter] { @@ -667,16 +684,26 @@ exports[`Button respects the alignContent prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]) { background-color: btn.hoverBg; border-color: btn.hoverBorder; } -.c0:active:not([disabled]) { +.c0:active:not([disabled]):not([aria-disabled]) { background-color: btn.activeBg; border-color: btn.activeBorder; } +.c0:disabled, +.c0[aria-disabled] { + color: primer.fg.disabled; +} + +.c0:disabled [data-component=ButtonCounter], +.c0[aria-disabled] [data-component=ButtonCounter] { + color: inherit; +} + .c0[aria-expanded=true] { background-color: btn.activeBg; border-color: btn.activeBorder; @@ -802,14 +829,13 @@ exports[`Button respects the large size prop 1`] = ` transition: none; } +.c0[aria-disabled] { + cursor: auto; +} + .c0:disabled { cursor: not-allowed; box-shadow: none; - color: primer.fg.disabled; -} - -.c0:disabled [data-component=ButtonCounter] { - color: inherit; } .c0 [data-component=ButtonCounter] { @@ -905,16 +931,26 @@ exports[`Button respects the large size prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]) { background-color: btn.hoverBg; border-color: btn.hoverBorder; } -.c0:active:not([disabled]) { +.c0:active:not([disabled]):not([aria-disabled]) { background-color: btn.activeBg; border-color: btn.activeBorder; } +.c0:disabled, +.c0[aria-disabled] { + color: primer.fg.disabled; +} + +.c0:disabled [data-component=ButtonCounter], +.c0[aria-disabled] [data-component=ButtonCounter] { + color: inherit; +} + .c0[aria-expanded=true] { background-color: btn.activeBg; border-color: btn.activeBorder; @@ -1041,14 +1077,13 @@ exports[`Button respects the small size prop 1`] = ` transition: none; } +.c0[aria-disabled] { + cursor: auto; +} + .c0:disabled { cursor: not-allowed; box-shadow: none; - color: primer.fg.disabled; -} - -.c0:disabled [data-component=ButtonCounter] { - color: inherit; } .c0 [data-component=ButtonCounter] { @@ -1144,16 +1179,26 @@ exports[`Button respects the small size prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]) { background-color: btn.hoverBg; border-color: btn.hoverBorder; } -.c0:active:not([disabled]) { +.c0:active:not([disabled]):not([aria-disabled]) { background-color: btn.activeBg; border-color: btn.activeBorder; } +.c0:disabled, +.c0[aria-disabled] { + color: primer.fg.disabled; +} + +.c0:disabled [data-component=ButtonCounter], +.c0[aria-disabled] [data-component=ButtonCounter] { + color: inherit; +} + .c0[aria-expanded=true] { background-color: btn.activeBg; border-color: btn.activeBorder; @@ -1280,17 +1325,13 @@ exports[`Button styles danger button appropriately 1`] = ` transition: none; } +.c0[aria-disabled] { + cursor: auto; +} + .c0:disabled { cursor: not-allowed; box-shadow: none; - color: btn.danger.disabledText; - background-color: btn.danger.disabledBg; - border-color: btn.danger.disabledBorder; -} - -.c0:disabled [data-component=ButtonCounter] { - color: btn.danger.disabledCounterFg; - background-color: btn.danger.disabledCounterBg; } .c0 [data-component=ButtonCounter] { @@ -1388,25 +1429,38 @@ exports[`Button styles danger button appropriately 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]) { color: btn.danger.hoverText; background-color: btn.danger.hoverBg; border-color: btn.danger.hoverBorder; box-shadow: undefined; } -.c0:hover:not([disabled]) [data-component=ButtonCounter] { +.c0:hover:not([disabled]):not([aria-disabled]) [data-component=ButtonCounter] { background-color: btn.danger.hoverCounterBg; color: btn.danger.hoverCounterFg; } -.c0:active:not([disabled]) { +.c0:active:not([disabled]):not([aria-disabled]) { color: btn.danger.selectedText; background-color: btn.danger.selectedBg; box-shadow: undefined; border-color: btn.danger.selectedBorder; } +.c0:disabled, +.c0[aria-disabled] { + color: btn.danger.disabledText; + background-color: btn.danger.disabledBg; + border-color: btn.danger.disabledBorder; +} + +.c0:disabled [data-component=ButtonCounter], +.c0[aria-disabled] [data-component=ButtonCounter] { + color: btn.danger.disabledCounterFg; + background-color: btn.danger.disabledCounterBg; +} + .c0[aria-expanded=true] { color: btn.danger.selectedText; background-color: btn.danger.selectedBg; @@ -1531,16 +1585,13 @@ exports[`Button styles invisible button appropriately 1`] = ` transition: none; } +.c0[aria-disabled] { + cursor: auto; +} + .c0:disabled { cursor: not-allowed; box-shadow: none; - color: primer.fg.disabled; -} - -.c0:disabled [data-component=ButtonCounter], -.c0:disabled [data-component="leadingVisual"], -.c0:disabled [data-component="trailingAction"] { - color: inherit; } .c0 [data-component=ButtonCounter] { @@ -1638,14 +1689,28 @@ exports[`Button styles invisible button appropriately 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]) { background-color: btn.hoverBg; } -.c0:active:not([disabled]) { +.c0:active:not([disabled]):not([aria-disabled]) { background-color: btn.selectedBg; } +.c0:disabled, +.c0[aria-disabled] { + color: primer.fg.disabled; +} + +.c0:disabled [data-component=ButtonCounter], +.c0[aria-disabled] [data-component=ButtonCounter], +.c0:disabled [data-component="leadingVisual"], +.c0[aria-disabled] [data-component="leadingVisual"], +.c0:disabled [data-component="trailingAction"], +.c0[aria-disabled] [data-component="trailingAction"] { + color: inherit; +} + .c0[aria-expanded=true] { background-color: btn.selectedBg; } @@ -1785,15 +1850,13 @@ exports[`Button styles primary button appropriately 1`] = ` transition: none; } +.c0[aria-disabled] { + cursor: auto; +} + .c0:disabled { cursor: not-allowed; box-shadow: none; - color: btn.primary.disabledText; - background-color: btn.primary.disabledBg; -} - -.c0:disabled [data-component=ButtonCounter] { - color: inherit; } .c0 [data-component=ButtonCounter] { @@ -1891,7 +1954,7 @@ exports[`Button styles primary button appropriately 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]) { color: btn.primary.hoverText; background-color: btn.primary.hoverBg; } @@ -1904,11 +1967,22 @@ exports[`Button styles primary button appropriately 1`] = ` box-shadow: inset 0 0 0 3px; } -.c0:active:not([disabled]) { +.c0:active:not([disabled]):not([aria-disabled]) { background-color: btn.primary.selectedBg; box-shadow: undefined; } +.c0:disabled, +.c0[aria-disabled] { + color: btn.primary.disabledText; + background-color: btn.primary.disabledBg; +} + +.c0:disabled [data-component=ButtonCounter], +.c0[aria-disabled] [data-component=ButtonCounter] { + color: inherit; +} + .c0[aria-expanded=true] { background-color: btn.primary.selectedBg; box-shadow: undefined; diff --git a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap index 0927c476249..db3f4eb84a3 100644 --- a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +++ b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap @@ -105,14 +105,13 @@ exports[`ActionMenu renders consistently 1`] = ` transition: none; } +.c1[aria-disabled] { + cursor: auto; +} + .c1:disabled { cursor: not-allowed; box-shadow: none; - color: #8c959f; -} - -.c1:disabled [data-component=ButtonCounter] { - color: inherit; } .c1 [data-component=ButtonCounter] { @@ -208,16 +207,26 @@ exports[`ActionMenu renders consistently 1`] = ` margin-right: 8px; } -.c1:hover:not([disabled]) { +.c1:hover:not([disabled]):not([aria-disabled]) { background-color: #f3f4f6; border-color: rgba(31,35,40,0.15); } -.c1:active:not([disabled]) { +.c1:active:not([disabled]):not([aria-disabled]) { background-color: hsla(220,14%,93%,1); border-color: rgba(31,35,40,0.15); } +.c1:disabled, +.c1[aria-disabled] { + color: #8c959f; +} + +.c1:disabled [data-component=ButtonCounter], +.c1[aria-disabled] [data-component=ButtonCounter] { + color: inherit; +} + .c1[aria-expanded=true] { background-color: hsla(220,14%,93%,1); border-color: rgba(31,35,40,0.15); diff --git a/src/__tests__/__snapshots__/TextInput.test.tsx.snap b/src/__tests__/__snapshots__/TextInput.test.tsx.snap index 72d9a22ed98..d0ff95e5c3e 100644 --- a/src/__tests__/__snapshots__/TextInput.test.tsx.snap +++ b/src/__tests__/__snapshots__/TextInput.test.tsx.snap @@ -1729,16 +1729,13 @@ exports[`TextInput renders trailingAction icon button 1`] = ` transition: none; } +.c4[aria-disabled] { + cursor: auto; +} + .c4:disabled { cursor: not-allowed; box-shadow: none; - color: #8c959f; -} - -.c4:disabled [data-component=ButtonCounter], -.c4:disabled [data-component="leadingVisual"], -.c4:disabled [data-component="trailingAction"] { - color: inherit; } .c4 [data-component=ButtonCounter] { @@ -1836,14 +1833,28 @@ exports[`TextInput renders trailingAction icon button 1`] = ` margin-right: 8px; } -.c4:hover:not([disabled]) { +.c4:hover:not([disabled]):not([aria-disabled]) { background-color: #f3f4f6; } -.c4:active:not([disabled]) { +.c4:active:not([disabled]):not([aria-disabled]) { background-color: hsla(220,14%,94%,1); } +.c4:disabled, +.c4[aria-disabled] { + color: #8c959f; +} + +.c4:disabled [data-component=ButtonCounter], +.c4[aria-disabled] [data-component=ButtonCounter], +.c4:disabled [data-component="leadingVisual"], +.c4[aria-disabled] [data-component="leadingVisual"], +.c4:disabled [data-component="trailingAction"], +.c4[aria-disabled] [data-component="trailingAction"] { + color: inherit; +} + .c4[aria-expanded=true] { background-color: hsla(220,14%,94%,1); } @@ -2380,16 +2391,13 @@ exports[`TextInput renders trailingAction text button 1`] = ` transition: none; } +.c3[aria-disabled] { + cursor: auto; +} + .c3:disabled { cursor: not-allowed; box-shadow: none; - color: #8c959f; -} - -.c3:disabled [data-component=ButtonCounter], -.c3:disabled [data-component="leadingVisual"], -.c3:disabled [data-component="trailingAction"] { - color: inherit; } .c3 [data-component=ButtonCounter] { @@ -2487,14 +2495,28 @@ exports[`TextInput renders trailingAction text button 1`] = ` margin-right: 8px; } -.c3:hover:not([disabled]) { +.c3:hover:not([disabled]):not([aria-disabled]) { background-color: #f3f4f6; } -.c3:active:not([disabled]) { +.c3:active:not([disabled]):not([aria-disabled]) { background-color: hsla(220,14%,94%,1); } +.c3:disabled, +.c3[aria-disabled] { + color: #8c959f; +} + +.c3:disabled [data-component=ButtonCounter], +.c3[aria-disabled] [data-component=ButtonCounter], +.c3:disabled [data-component="leadingVisual"], +.c3[aria-disabled] [data-component="leadingVisual"], +.c3:disabled [data-component="trailingAction"], +.c3[aria-disabled] [data-component="trailingAction"] { + color: inherit; +} + .c3[aria-expanded=true] { background-color: hsla(220,14%,94%,1); } @@ -2783,16 +2805,13 @@ exports[`TextInput renders trailingAction text button with a tooltip 1`] = ` transition: none; } +.c4[aria-disabled] { + cursor: auto; +} + .c4:disabled { cursor: not-allowed; box-shadow: none; - color: #8c959f; -} - -.c4:disabled [data-component=ButtonCounter], -.c4:disabled [data-component="leadingVisual"], -.c4:disabled [data-component="trailingAction"] { - color: inherit; } .c4 [data-component=ButtonCounter] { @@ -2890,14 +2909,28 @@ exports[`TextInput renders trailingAction text button with a tooltip 1`] = ` margin-right: 8px; } -.c4:hover:not([disabled]) { +.c4:hover:not([disabled]):not([aria-disabled]) { background-color: #f3f4f6; } -.c4:active:not([disabled]) { +.c4:active:not([disabled]):not([aria-disabled]) { background-color: hsla(220,14%,94%,1); } +.c4:disabled, +.c4[aria-disabled] { + color: #8c959f; +} + +.c4:disabled [data-component=ButtonCounter], +.c4[aria-disabled] [data-component=ButtonCounter], +.c4:disabled [data-component="leadingVisual"], +.c4[aria-disabled] [data-component="leadingVisual"], +.c4:disabled [data-component="trailingAction"], +.c4[aria-disabled] [data-component="trailingAction"] { + color: inherit; +} + .c4[aria-expanded=true] { background-color: hsla(220,14%,94%,1); } From f3f0f404867ccb38e71fc3e0f4f3a6ead2893bc3 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 12 Oct 2023 13:23:03 -0400 Subject: [PATCH 03/21] adds changeset --- .changeset/soft-pans-punch.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/soft-pans-punch.md diff --git a/.changeset/soft-pans-punch.md b/.changeset/soft-pans-punch.md new file mode 100644 index 00000000000..e0a29220089 --- /dev/null +++ b/.changeset/soft-pans-punch.md @@ -0,0 +1,7 @@ +--- +'@primer/react': minor +--- + +Adds an 'inactive' state to buttons. An inactive button looks disabled and has aria-disabled, but it can still be clicked and focused. This was added to support buttons that are broken due to availability issues, but can't be removed from the page. + + From 16f34a0f4e68ab32287ae4fa2b31f25491e40985 Mon Sep 17 00:00:00 2001 From: mperrotti Date: Thu, 12 Oct 2023 17:48:04 +0000 Subject: [PATCH 04/21] test(vrt): update snapshots --- .../Button-Inactive-dark-colorblind-linux.png | Bin 0 -> 6360 bytes .../Button-Inactive-dark-dimmed-linux.png | Bin 0 -> 6312 bytes ...tton-Inactive-dark-high-contrast-linux.png | Bin 0 -> 6147 bytes .../Button-Inactive-dark-linux.png | Bin 0 -> 6380 bytes .../Button-Inactive-dark-tritanopia-linux.png | Bin 0 -> 6360 bytes ...Button-Inactive-light-colorblind-linux.png | Bin 0 -> 6147 bytes ...ton-Inactive-light-high-contrast-linux.png | Bin 0 -> 6430 bytes .../Button-Inactive-light-linux.png | Bin 0 -> 6381 bytes ...Button-Inactive-light-tritanopia-linux.png | Bin 0 -> 6147 bytes ...utton-Playground-dark-colorblind-linux.png | Bin 6422 -> 6200 bytes .../Button-Playground-dark-dimmed-linux.png | Bin 6437 -> 6125 bytes ...on-Playground-dark-high-contrast-linux.png | Bin 6425 -> 6361 bytes .../Button-Playground-dark-linux.png | Bin 6422 -> 6200 bytes ...utton-Playground-dark-tritanopia-linux.png | Bin 6422 -> 6200 bytes ...tton-Playground-light-colorblind-linux.png | Bin 6483 -> 6427 bytes ...n-Playground-light-high-contrast-linux.png | Bin 6529 -> 6505 bytes .../Button-Playground-light-linux.png | Bin 6481 -> 6428 bytes ...tton-Playground-light-tritanopia-linux.png | Bin 6483 -> 6427 bytes ...utton-Playground-dark-colorblind-linux.png | Bin 6422 -> 6200 bytes .../Button-Playground-dark-dimmed-linux.png | Bin 6437 -> 6125 bytes ...on-Playground-dark-high-contrast-linux.png | Bin 6425 -> 6361 bytes .../Button-Playground-dark-linux.png | Bin 6422 -> 6200 bytes ...utton-Playground-dark-tritanopia-linux.png | Bin 6422 -> 6200 bytes ...tton-Playground-light-colorblind-linux.png | Bin 6483 -> 6427 bytes ...n-Playground-light-high-contrast-linux.png | Bin 6529 -> 6505 bytes .../Button-Playground-light-linux.png | Bin 6481 -> 6428 bytes ...tton-Playground-light-tritanopia-linux.png | Bin 6483 -> 6427 bytes 27 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-colorblind-linux.png create mode 100644 .playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-dimmed-linux.png create mode 100644 .playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-high-contrast-linux.png create mode 100644 .playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-linux.png create mode 100644 .playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-tritanopia-linux.png create mode 100644 .playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-colorblind-linux.png create mode 100644 .playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-high-contrast-linux.png create mode 100644 .playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-linux.png create mode 100644 .playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-tritanopia-linux.png diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-colorblind-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-colorblind-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..17f885289a66c2efb2f940a4d2c9d6605c3d9392 GIT binary patch literal 6360 zcmeHLYfw{X8ji9`R|Iy4R$MG(M|Z#(SFnX31_G!QbQpkOg-~t_fm{rMoB#j>(wLxh<+J?9g0H^e+&Q&#OSb6b z#N+FJzdQb=U)OBSbU@FxLy<>kt9QH`zJF`s`J2B#BUrN378az}ifOOHtJiAV$ zOpVF^`5GHs;BVpk^e5st)Cl&-O03`&UR$QUk**z;0;7 z^eHaDan;&lpy*PyV~QKVP^$k;G{D&T-&M?#%WYzj^3|FfbTAK8K%0TrfO}2vA4B6LZ)xtCT`Y85v#Ck?6XuL;&(pQjEj!viktg z`D6$~%zG+dz77|*TrUevIFuczi$6mspWQ$*hOaW#hu7=!C@buYLvuCEJhs> zCYCsG9EX!CW8{4?wXUlIYM$isEzGGce_g7Y1OCNJ%;cmJzy&>8#Y@=8l%Yh9N0Ub& zN0)s}T@{P&x!%L%{ANsbxKJ?wM#JMXOKy;XYBrbyT7!nQV=t1ym&fT@7&Q-6vNbQ8 zdL1Htu27g@tu({ot!Pk%0yxA-l?CiwVysLN1U1|)en8l6u<>Ht+Cn8bu;hoRDDP&i z4fA%bLYtc6;v*NcG{{crc#F*3gDg#x*l+o34rdUWhx#rG+Gqycuq+pjlqy0va{8wI z$L~mB4*`WEM&$?w2a6hb_~rwCd_*_7D7_XblzO>olY zEz3>LPL*zU-0i@La5Nj&hi3Az@MjvaGzsSWDgh~$t}FI~42;!=2HPses}Kn)LcKnV zOv!(M)gl2WyWD{S?d!52V3|qR%n{rfGOH#NgJ-`t8Td-OHWUp)i#wF&uCrQr`7($Q zb!10V4{GjQQ-_35)MGEcM!rAXX(F_Zm?7;Bz!wYG}I9oXBxseA>E`4o<1 z5TOL5iZy+G7dZg{L6PqcUo%39n;Zq$YMp7Xd99wOwN>4j;lVqJxzZ#qy)fTLmpcZt z45PP|z&si*gu>NuAKxrwt(s10_x%h%i?lPAkkSYQ^=?EUmSB6~@ zY+P=b0}d#zun!8_wb8^#&F1X*sVeY}R&Qv0(IHiv zzmUs~PLJ85CP=0_H|~-U_a{CWXdjs(X`r{<8c50^O`Lx~h-0^=R#!NX&d>`GFZ}fX zCsg2y=|*QUK;Zd9t9cQ%*VxQobr4a7n7b>Ytup2G4O+~3mpwrkFt;Jy92=G_B|;?F%CctP}n_)8o* zy?N!$D{o%C&EGgLqr8mrGRn)SH!m{0%HUN7uQGU*!K)0v$o=`REw8qz^fNtuyPA?b R_e-#oA7!MpAN$Ma{{gXA!x#Vn literal 0 HcmV?d00001 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-dimmed-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-dimmed-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..1a4c059100c7e75e9f1f836658cbd79aa73ff88c GIT binary patch literal 6312 zcmeHLTU1k58a~xlJ6d3-t5cA2amG%0ut2Tc7MCED;i42!NI(LF!3r9Lh)xJ55L6b! z$gGf=)rtc&B#ID7OoG+O%@7@1Y^?!>93lpiGRp0Q1kjw2oRDO8X3fjYt4^QtaL!)) zKmTR_-}(Pb@V&^Zj>uVIyG~pX^NC)^lup*Y)wRgSkD3|6yt4 zdxEfd{L|k)k59h*o4nA7n>`Y99)mrVKbBgXJV$73i>E1;OV`)T6(z&mnp(L$My?9+ zi(wY!fyn#5n!magj1Vq1&I1hR-i!hFH{S(IgnpU)Xfx2*`Dzcyl)0jb?KVWQF1W$Z z6d4Q=*`MTn0AmW&J8y^bK_{HT22t(=UH@I27Lk&**JbeZME6~6zo_h*va06xuMbcd zti+Diy^7YU*nC?(bH=Rt&fEP@U;1r_ptHW^2ZB2MtBOeQ!`|j>3Vbr++FBLu+iE;q z6)m1!y=29;`@;4B)93ULK}MD5KHq9HZnlvhhLEW<`uRHPMe=9}89Qgcn)C()6*j2< z_-K7)MYZptc25pTWVfC712Gt-6LGPjYVqu%iSY27UGF6Im69vT<41tQ-g{+{i$u<( zm|kpmeCo#*!c)E!GXS*k)K>xj3nb6X<7#QO9Qs-ms?cJlE)^zQNQY;G{b$bi0Og-F zRvSg@=!Y2&5=Hc)My~bi>*}J#E2C3Kp(6G^s9r_ai!*6#I1ClB+0= zxqY%9CtLlYSquPyh<_-GBjM3meyoU_Z@${fDpr^lkkv~~N)^|UD6?pE)HP&a?B+<; z5HZ_Ra>A0n;QNF@^2NrF{5#pQ<5%Kpt)@h`NrFH?KH8fl?`K|SzWn|MI=$wJY~=?} z9*e%Vq)FvOVAZ~VZ<8c;99#%?+-AO5BZm60khzjtxx0ZQu`%40m$$N&Ldx(Vk3b*6 zGj{ah30X@nktAe0p4CM%45@g0%<1JXq{K}0nMazoW!6KE@ljI}MOp8t*fcwA+m4P; zkc7n@hqX-07}7wol?944SdoW2$a2G5ZPp5~^>0h#uInUB&U?Ipq=W=rg@YV$!$=OkND#ITW4Gx;ZTh(7| zJq?p@AyM*|3-T8%ri8S+ZjNNJ-rL@w3-^o2(zR7 zAyUiEw1dY>z((^<$S-EYb6a z&PdyF^lu{dJ>a^>G)5!=f~Xpp{id(*P9D=9gdTn~r5J_Ru#TW#aMDTYI{N z;X$g{jh8~uDkGegjYXSE*U~Yj>bW#byf@n$r0vh4$Z9dMjuW$f(04kDq{R@f5-A+e z*q(C`YLIe*&AEo6(ny9qHPEMuH*C2WE0(h2I5D+dge|+_{sXC7C}`;zIlI)De{@L(mexlfdzJtx_*I;w3F7PXcnJ&C3Dj@oSXDQrM6ciiU-P65@o zKU@T}oqy#4rZ~IL*>}(;KqL*i4ng9P-NjSC@@9<$vws1^)1S4uW2{aVIXnQ<(bW5e zQ(`dtkF&ld9tkHuBulGx+R!=7KrX4p=mpG{PXe>M7vtP0P2l}#8qZuo2Pdf3k=`xY zTfX#r3q%FPSJ7Y#$>0%P0r-J zDDZ!C`Jb`br`?kjvFfJ>JVKBtjqU?YY|HlWTtFByi<*KXK`3vUiC|5_hI?B~iuj4q!#U(B-adC-@OI%z6 ijx=8XY5C7VuUNXH;M*cnMhFk20HypsEkPV#c>Z4mbvhmZ literal 0 HcmV?d00001 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-high-contrast-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-high-contrast-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..5445ea39c77b37fd31245a9c130ff9889f3aed21 GIT binary patch literal 6147 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 literal 0 HcmV?d00001 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-tritanopia-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-tritanopia-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..17f885289a66c2efb2f940a4d2c9d6605c3d9392 GIT binary patch literal 6360 zcmeHLYfw{X8ji9`R|Iy4R$MG(M|Z#(SFnX31_G!QbQpkOg-~t_fm{rMoB#j>(wLxh<+J?9g0H^e+&Q&#OSb6b z#N+FJzdQb=U)OBSbU@FxLy<>kt9QH`zJF`s`J2B#BUrN378az}ifOOHtJiAV$ zOpVF^`5GHs;BVpk^e5st)Cl&-O03`&UR$QUk**z;0;7 z^eHaDan;&lpy*PyV~QKVP^$k;G{D&T-&M?#%WYzj^3|FfbTAK8K%0TrfO}2vA4B6LZ)xtCT`Y85v#Ck?6XuL;&(pQjEj!viktg z`D6$~%zG+dz77|*TrUevIFuczi$6mspWQ$*hOaW#hu7=!C@buYLvuCEJhs> zCYCsG9EX!CW8{4?wXUlIYM$isEzGGce_g7Y1OCNJ%;cmJzy&>8#Y@=8l%Yh9N0Ub& zN0)s}T@{P&x!%L%{ANsbxKJ?wM#JMXOKy;XYBrbyT7!nQV=t1ym&fT@7&Q-6vNbQ8 zdL1Htu27g@tu({ot!Pk%0yxA-l?CiwVysLN1U1|)en8l6u<>Ht+Cn8bu;hoRDDP&i z4fA%bLYtc6;v*NcG{{crc#F*3gDg#x*l+o34rdUWhx#rG+Gqycuq+pjlqy0va{8wI z$L~mB4*`WEM&$?w2a6hb_~rwCd_*_7D7_XblzO>olY zEz3>LPL*zU-0i@La5Nj&hi3Az@MjvaGzsSWDgh~$t}FI~42;!=2HPses}Kn)LcKnV zOv!(M)gl2WyWD{S?d!52V3|qR%n{rfGOH#NgJ-`t8Td-OHWUp)i#wF&uCrQr`7($Q zb!10V4{GjQQ-_35)MGEcM!rAXX(F_Zm?7;Bz!wYG}I9oXBxseA>E`4o<1 z5TOL5iZy+G7dZg{L6PqcUo%39n;Zq$YMp7Xd99wOwN>4j;lVqJxzZ#qy)fTLmpcZt z45PP|z&si*gu>NuAKxrwt(s10_x%h%i?lPAkkSYQ^=?EUmSB6~@ zY+P=b0}d#zun!8_wb8^#&F1X*sVeY}R&Qv0(IHiv zzmUs~PLJ85CP=0_H|~-U_a{CWXdjs(X`r{<8c50^O`Lx~h-0^=R#!NX&d>`GFZ}fX zCsg2y=|*QUK;Zd9t9cQ%*VxQobr4a7n7b>Ytup2G4O+~3mpwrkFt;Jy92=G_B|;?F%CctP}n_)8o* zy?N!$D{o%C&EGgLqr8mrGRn)SH!m{0%HUN7uQGU*!K)0v$o=`REw8qz^fNtuyPA?b R_e-#oA7!MpAN$Ma{{gXA!x#Vn literal 0 HcmV?d00001 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-colorblind-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-colorblind-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..051e115bb9035f694206a0a5789b532b0bfef58a GIT binary patch literal 6147 zcmeI0Yfu~46@ZnJl*A9H=?_sGBhR#nCN&k4QOm=;iXVercc9=nw5Eo{szu~%4%i1AXx-S6s%pID~Uytg^;#aGyUg3 zb;tduAA9fIz4zR6&$;J(clUPwskmtSmYrJ|494~&hYyx97;)?1VZ8iP@aCh}(rQ8V zg0QS;KSPD3EHW6(u_Ffy-)xqz+U*xyfs^B2Gm5QXBtO$^``eGnWq+Uk?D*c}TZU)b z-!5$ZbpQ9iZfkb8!yhsuaZBxGw|Bh$;hwp;Lqlbkcc$GO9WmXx_U=u+%|v1thI;3$ z$*i)ztZvM}Rx`KBg;`XdQb;<8P$-N|SC5|94p#E<4e4YYs2Kv~)p!Qu{GP%@&?sz6 z1!dcdd7ympl~z!`oCJ(u{Onf?FEAK;4&MhNzyJ8Z5%~IS?}hLkp_M>->M*N%roToT zNDwaSEx}`Kyfai{N-SvQOXs}8qPzs4z@1bxI8}Y_{vm^e!Zsf;)6G`Zu*sqeK@uL% zVsY;7qX)xbo71jXT`tEZL^<^(tEE0QOVcvR11qaXcmLr&jS-c-N1KYxmSB7W@7mC6 zjkEt=hL*@Ikb18dfl;%)Ii8FS!gyBFuOEr1E(H-}m`X&2nHHRKej}ay94rLPl(k^= zY>wLYH96lw8`91w^a2BDf1V0#KhGn_3*p779N{TyGTJ+&d?Y_=B~yIKKsH4fpRln@ zKiFh?$>aFQ*VUyvON{rt3VP1d-APY*d94ukqUeC~lb~xL!C*)hDKYOTi~nh^8Yd*4vCL#AAb8|_i0lDDE3 zBwtKhfcO#b6(s#6l0A|kbpL=PItnPN1ltT!+$wl=c=&9!1nQM3eWklI}1`n#Sm0>uif~iaZLMN=vaWGC+L3;=5S%p6<2*YJk?Ma zo>Cwk4t_KN#_i*mcvGU*I3L}pjLYes_DjPYceSvUS1syVFUV0{mM9VbAmH<`P zvmah92rB+;goL^qo96s{>N_1`G<==Hq5t7eB3PpLUU7FXb6M~i9CA?j@<}JsGCP^H z1ZBtuUB*U8m!}bzdOVA+qwgc9Ghu-buURF{^6Zh@WM^h}6$_}i`0#RS13jPk8<;!s zlAB|f2fHDN9^)}R@p3lWq==9-^ES0?_1YKxkL*99+vbgrN-YGeKv@2 zTqu5%R#!^Aw%}^X#vj3mW@6?X5#1ezv+rp>C8VrF8GL`hpTLvx-hl<~0{FG)ypGpF z#%_g5&?#nx@0^P(;;K3v49Gx>dk9dAsGd?g7li675dN-qJHjK9$| zdzJQx%;x!u98Gx1b*GnI8=9J+9wRx_zXJUQOQm3nEF5UAsHmVi2i%Cg&x&tMn9W$% zvc{+tC2L+?aXS#jt_hLTc&=7Th6AWYwmS-4$6x+K!^Wm2;>tu1fs{8Ad&~X!_f|h~ zR}q)qSKlbCB^w(Y zR;$fFbhC-cFOLbQv0O0J$?n)0<@u*O*)B_B)QC|dMvWLXV$^v47t#M8wua+pBAxA%*YZ99 QQOh`TsQ932|J!Z<28z~j{{R30 literal 0 HcmV?d00001 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-high-contrast-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-high-contrast-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..b88f7f23f9f021add64020e5ee307b91f987a12f GIT binary patch literal 6430 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 QQOh`TsQ932|J!Z<28z~j{{R30 literal 0 HcmV?d00001 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-colorblind-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-colorblind-linux.png index e3d5a91a66bbc9ce7a94a8ecbd29cc5b566a23aa..321b19d37f3487dd257edf5ecb84c9b55d70bdb6 100644 GIT binary patch literal 6200 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 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-dimmed-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-dimmed-linux.png index 56d48dbc00a479ef53f1889fbad2910dad31ef8f..7b9171e6cd9b6cc8488eeac98c11b51e6d3b79ac 100644 GIT binary patch literal 6125 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 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-high-contrast-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-high-contrast-linux.png index 857e7d3bc0c025a5d27d88fe62693cc55d90706f..1a6f14f40401cf8c2e87f0a901b9c14e38993f56 100644 GIT binary patch literal 6361 zcmeHKYfze38YZ#T*hcNtZS3NOc5HQL)5K0wv<)aRvDze)n0QMf0w$(tL1hvz7!+u= ztz)|A&ZdoNA`hOOc)}FzX~1slOEaE+fi-Y6*%zS^xJvquiwY-xxD(< zAGEkBK5^^ES~-N9`j&jV3GMUU2k7Lmx0lL?GGqUcb&Ndw;+264 zhrpk9|8Isf?C?tcOecQ}d-!bDoyc>1v~qZgukPzBJC#Tf3~yJfw8`Nzxi5SYy{caQ z{K3_5Pv+9%rYh${U7w|(sEFJ&s}JP9DTC0+G32BB4bohB`@Ute?txBRSo$vPw!S;q z+e!;6Q!p4dsNXLP)0!+Gl!gcsaq!lqXVDb6;?ku9Sfa3WVjz=r?Gr8|*e!wOMQ!G7L% zJv-XI)-Wq&CU{AA!{=c5J@~|((S{YM-b?}j;NHLhrG2jGbLf)Y)PJMM41FJg&9+r@ z(ag_*YLudyO4XoLKc}Pf zK0cqoHj%l`a!`s23KAqXHS5$ue6S|3Fjo*#Rw8qiJ~I`fOtP)ov92r31^`%IS%IE@ zT_B+^#GS%A;^fwi1#o&gN%GA%6lYcqxH>ZkX|=*Or_o@ZH)csXO86|>w&FryRJCe# zb&!!W*KeNPU#T1M!=_;9dIj@i`NQTILCt9%d_6mf+3jidg7l3v&HR(j01}WzLkTyt z*({sXIEIH>#7sGZ!GQ1)_Oo)M6{lL0P0RDQEsrfYP3@5&AFfvaB01MVx zkji37iA)O$lAwY_MZz?_6Z#SW7@H4t=HX{r>!N*_q5r-gT{dB5>{Ny8?Az7g2zy(@ zSXr&18XQ%~-v-<76?YUGk8(e{(k&XzXz5?DiEg>FqPkEN%ibi*U_hdkNPv^I`=+c`vYpK@hl(8`)f66CN_WT4K z|Khk7I=Ai&k5(m*q@uCd45nOe*5h`@vqK){N+=guj-G{%?hIFHqwnjVAcJyKR9Ag` z_ogK-02mq!FU0=8K;;VbhbbI#8(B;glBomYEl)bHD6?@|7bsQvDrTWP+u*p(yCWQ_ZKksFrN|0SI!Mtddc-|q&p^&Zba7#B zchkYTp5RRn4-Yi9+p%RI`SzsBMv4&{3z+aPXxje29_>R3i+Qf)*cs2K89E@n1by*w$-ztNPm7>jac9Dj?)H;0C*7I0_A z$ZcW1*t4K`0_<95*S~g)D@zNEk4hu4NvWwWDY>~X07q9(3kTA{jB^zg97szjT8W0! z(J@kF-oIV5Hjj4=cyY0;sksSy(9@j;lF9kFUhJ;Zc+}o z6wzNM@D2?Pgr=1P`C=FrKOx(n-sP1U&gWSqLhj6Gr)C%iCi>bA_up0=6S{n0bV4PH zt|`96%aLub^Qj;i8rAyA>2lf3PFS!lwl(@m*rh!`-+?wd_ z2JQyw{xv|jY2c=Tn+9$gxSvbzha$pF12+x+&osD8LUhF|{{DOKy^HXx3vv9D({ZAs HndScgewR*9 delta 1832 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 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-tritanopia-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-tritanopia-linux.png index e3d5a91a66bbc9ce7a94a8ecbd29cc5b566a23aa..321b19d37f3487dd257edf5ecb84c9b55d70bdb6 100644 GIT binary patch literal 6200 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 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-colorblind-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-colorblind-linux.png index 5762cf818cdcbd25e4bc71185033967c7b802467..3b07fbc0a52572417f9a840019d429a04fa09eef 100644 GIT binary patch literal 6427 zcmeHLeKebC7SF66osODr*IDCa2How4*(&W!OGmA$PN&!zLP^q%NSHZGClU;mkdRE* zYPV}q+cR}a)mOC=B0e@kH3>DPh9p&a6B5Kn5h4^#B44tP`FH=E?jL(j{&?Se-se8& zKEHeKbAR`F-kVX8q0aBY--E$m&f#GfF2P_9Z@>e4*Aa~TAbsl@}Q0Hfze*1s#M9v*Aq$DR(l1#O|q~G#>H`z*I z3@vVEkj3qidlc1V=E5n*{N8E+fR`7v@y)JYC7-7E-d*J|sojVY+4}4tP6$IY9 ze)EeI)v^;e;>+<3&z{v|maY==_@{?Q;!urH)8NgU<#+Ekk5_6%xZMDW;bwor2{+=^ zFbaviupmbHvB+8lvaXIzC_Z(gRdq+MF%U>3zAx^{Wxoc6kdanYRGg~E0EEQM&-a*4 zrak$y%k4QXO}+}>>&TtCmIy~eS57TIedYu$HOaKRsVC#!@4#R!BGQ(JsjzH;VX87t zLJZITTqIP@GUbP872IwXof-)&PQw-HFC@p0$yQc~&NH6Yb;tY=kytFVJe^JA{0au^ z@#oD{i>a=zSj zLhg7(AQ0N#Usc6<{xJis?Mjr>?r&}w@QwLqgUsq_Q%4!%@OVzlBZ+kK#+utQ78r56 z9^qtSu}X5)VUxNcN-Rf+D|2<#K#ZVx#-@(Zusb-9F-ab(F`TOFma(m7y>v{ij-pfq z(wZahpYhp&JN7SsKXvH9#S|))#bS{=lv$dZ{47hs2b!@=6+2YWBE*Q2e2)1-?UJen zig^2hDW7hAN#aSpO6U(TY*di$O)xZ}TwJbfU(~!}j_RKG?Sq(diL{XO1XEb}rC&fm zG;pYMwac82M7o>xPF#TiRb|v6u;Vk5?b$)<^lc%Ar=o8DAfK|VV}qU(H)Dq4Tz1ZSI5S z=YKHC*4IEp*YZ|RYaZs&mg_tPk34d=Y942QE7&&14QSMPo~+}H^%>I}Yp7<+>9}k> zbCFTwo_e-LSUg2Z({_DFu`ZPf4lL{hD5C@W0ulL7x%AZqA75W+B5-l}<iSVoAjr85=`D!A?OWo2kWZf=vn@_bP>+R72=sr)xTHR`$~XQRyesmn+t z-l{lF7f0tir|ty^xa;EK}QG9+q<&S!z>=p z%u-KBpueVPacT1-*+?Wisa+PGh=3vypgGCD3+^V8`@j6u>XuGuIhnB1vU&J>g3yc%UMbYrEw7{v1rHpSJ zDl5~B@q}@sfn@2%#-ET#QAhIf1VSuVD5yvz-}2KS!M_4s2@(8uwg9lSti!eeLhF&W zG0P^ZvW>g5X6HR)kqA`rMH)+b)br+qQ8#GntsTaFYF|`$M*R*fcMl#Hg0qHIG&2G zY|)Rqitpvrt)9spNaBD*_V{;zJq`E*MnC)C%zULUB>2-$XIoQk5gd7A>3)XSPVNHB-k7-3<}-{h=a6Yh?Q&p0p+X6W zZ zaZ`$&jH3wj#8#PHuDMgOPg=}mif~RpuljLFu-jhN=#q5yv?u literal 6483 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 SuZSpV0*4L|_KWwXUik;&nw+fw literal 6529 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 delta 1899 zcmXw3dsLEX8h6IbY1z@4ak56oVdqTc?wQRlUenOb%sQ4$wj==oD_5wuOO@Vq2&bxkyMZc1om^!>_5+Q-t*jk?{oRlkB=X( zItqSlg zhw#smG*$19WbM5jdg}3o@|FJPYqI9k<9A!aF_V{$*niXW`Es(HR{X^~ePY^xnI(-m}EFL?`<)A$L5=OOIu?7o|r)HuNU=ELaf*<;nR zLm(;W#PzHj(f3xN_{PR-z7l|#r~8u0n`Sv6mZfjQ5xD7zgHWm?91?%$Y!`$d%^&Dn zOt+*7M;K=tckh0H#^&Vsl4-U7)>cVrc*&wTRwGBnO7PP02+KLWK~E$fhU+c2SM0Lf z$J93)Hx-gM_VyAy4=1pH?ZW^W<5}YQHOSY`FIC7+lxTj0y=xXSik&QLZ&2ua3@VjM zqwEzFqtRWA=Q54k{{2nB_Gsq&uv=@EAT;FU$tyz-yjq-!$B`TeFMate5_jXqQyCMs z9~FuMltQ5pNCiR9f}dPWCK9f=xLbz%zYQ~~0RdgR3EHHIZf(JK2cMNCMPT z3c7=uG;5C!S<~6xukB;N9T-XNd|$x*f-vm5n*um06mx@Oq;k%Zmg&n zfhTh_N~!YKY5A)YrblEyY5bb?o0LM0gqt&GC29K~isvAk;Yg8SK#n4A=L#iH$`C=F zvargN$>7#fh*o(4hNAp|z1spC)B}wbED1ASnwV)#FWFe&Nyze&t0~~ZMMw6Mb+|2? zXnf8DRjUMfY$jblsh3IT65tg;qltsh9!kQTQCIi|b3L2jPsgIsU`J78t*ru~`eAZ} zRgcnU>xI~M^(!^>E{G@2Ng-$u1p#Kdzof??H{3E?jZ{a~#>M!lYn3IODAWSWROwk) zBdUB4hL_qFw)VLRYkh`gDeBxoR*qFx>Wf09JPOW7w?{iU6LDN|e!;Ex9fZ1uWjTh#nbVlxPS{iZ&IT~4;wA48`8N;{brx5#} zC;gm8@d!S8iEpABqz^b?&!Iz}*!)$RgsIN4ks@n1V>07GEVcz>5G1u`5K9c>!p?V5 z@W;}&@--3bl$w>Pe7z4@wURw57K>voeJhzg$`e6_Yb^BF@xAlC8Lf#}^9)M=BL~lJ zXaE}koez+e)h_T9V4EdygXZ_<4meo6Wo?qRhK9fb5e`tWQ@H7aZ%yT9ZOM5dWo4*P zikziHl&J0_Ib0mr&0u)7D|di*kS9_QW$aUgv&UoHNk^0%$RA- zd|I%bCZq}tT4c+wze0|vE$~e_vUxHpNPlWrJMDcXI@@BU3Kb$XXMO#SJgiPpLa8g7RS4T{-Q*4Q7G%gMqGgqV= zpW%c5WH9jjg%Ooj8=_!u#zfV`Je^)VA>Wm*c>qeOR^o7aDrMx&9& zS>B@oJtnhBby)2$=Jo0~CrbN}}ML5lrFzUVlJ>ktrD-gAx zROk&IQD)omW5+IUn#`R&yWu#(>_18=gKxuqPj=^EYxj|_mHP%51I<_WwYlz)BY zdj=q#pHFj~8uSYYNVq51tlzVP1g!gw)CUISB$By8rB*YaMY>9FIUpE39?!+>v2n=L z6L&qIbvxoL004|QPGG0&7X=ACDNMm>73y)rW}Ho#buaotEYladV{s}H zWkieATFz_NKR5ON-H8cPe|+P(aw}=4Zm!23lY*Pn@-@Is+PQv@&&lU-K5ml9$rw>a zD@~NalkVIC`bp#eI@5hT`KU)L^@FmH8pl3(&sB#F*yj{ns&^B^x$Mq|N1b7xPP_GA DCI1m8 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-tritanopia-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-tritanopia-linux.png index 5762cf818cdcbd25e4bc71185033967c7b802467..3b07fbc0a52572417f9a840019d429a04fa09eef 100644 GIT binary patch literal 6427 zcmeHLeKebC7SF66osODr*IDCa2How4*(&W!OGmA$PN&!zLP^q%NSHZGClU;mkdRE* zYPV}q+cR}a)mOC=B0e@kH3>DPh9p&a6B5Kn5h4^#B44tP`FH=E?jL(j{&?Se-se8& zKEHeKbAR`F-kVX8q0aBY--E$m&f#GfF2P_9Z@>e4*Aa~TAbsl@}Q0Hfze*1s#M9v*Aq$DR(l1#O|q~G#>H`z*I z3@vVEkj3qidlc1V=E5n*{N8E+fR`7v@y)JYC7-7E-d*J|sojVY+4}4tP6$IY9 ze)EeI)v^;e;>+<3&z{v|maY==_@{?Q;!urH)8NgU<#+Ekk5_6%xZMDW;bwor2{+=^ zFbaviupmbHvB+8lvaXIzC_Z(gRdq+MF%U>3zAx^{Wxoc6kdanYRGg~E0EEQM&-a*4 zrak$y%k4QXO}+}>>&TtCmIy~eS57TIedYu$HOaKRsVC#!@4#R!BGQ(JsjzH;VX87t zLJZITTqIP@GUbP872IwXof-)&PQw-HFC@p0$yQc~&NH6Yb;tY=kytFVJe^JA{0au^ z@#oD{i>a=zSj zLhg7(AQ0N#Usc6<{xJis?Mjr>?r&}w@QwLqgUsq_Q%4!%@OVzlBZ+kK#+utQ78r56 z9^qtSu}X5)VUxNcN-Rf+D|2<#K#ZVx#-@(Zusb-9F-ab(F`TOFma(m7y>v{ij-pfq z(wZahpYhp&JN7SsKXvH9#S|))#bS{=lv$dZ{47hs2b!@=6+2YWBE*Q2e2)1-?UJen zig^2hDW7hAN#aSpO6U(TY*di$O)xZ}TwJbfU(~!}j_RKG?Sq(diL{XO1XEb}rC&fm zG;pYMwac82M7o>xPF#TiRb|v6u;Vk5?b$)<^lc%Ar=o8DAfK|VV}qU(H)Dq4Tz1ZSI5S z=YKHC*4IEp*YZ|RYaZs&mg_tPk34d=Y942QE7&&14QSMPo~+}H^%>I}Yp7<+>9}k> zbCFTwo_e-LSUg2Z({_DFu`ZPf4lL{hD5C@W0ulL7x%AZqA75W+B5-l}<iSVoAjr85=`D!A?OWo2kWZf=vn@_bP>+R72=sr)xTHR`$~XQRyesmn+t z-l{lF7f0tir|ty^xa;EK}QG9+q<&S!z>=p z%u-KBpueVPacT1-*+?Wisa+PGh=3vypgGCD3+^V8`@j6u>XuGuIhnB1vU&J>g3yc%UMbYrEw7{v1rHpSJ zDl5~B@q}@sfn@2%#-ET#QAhIf1VSuVD5yvz-}2KS!M_4s2@(8uwg9lSti!eeLhF&W zG0P^ZvW>g5X6HR)kqA`rMH)+b)br+qQ8#GntsTaFYF|`$M*R*fcMl#Hg0qHIG&2G zY|)Rqitpvrt)9spNaBD*_V{;zJq`E*MnC)C%zULUB>2-$XIoQk5gd7A>3)XSPVNHB-k7-3<}-{h=a6Yh?Q&p0p+X6W zZ zaZ`$&jH3wj#8#PHuDMgOPg=}mif~RpuljLFu-jhN=#q5yv?u literal 6483 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 diff --git a/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-dark-dimmed-linux.png b/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-dark-dimmed-linux.png index 56d48dbc00a479ef53f1889fbad2910dad31ef8f..7b9171e6cd9b6cc8488eeac98c11b51e6d3b79ac 100644 GIT binary patch literal 6125 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 diff --git a/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-dark-high-contrast-linux.png b/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-dark-high-contrast-linux.png index 857e7d3bc0c025a5d27d88fe62693cc55d90706f..1a6f14f40401cf8c2e87f0a901b9c14e38993f56 100644 GIT binary patch literal 6361 zcmeHKYfze38YZ#T*hcNtZS3NOc5HQL)5K0wv<)aRvDze)n0QMf0w$(tL1hvz7!+u= ztz)|A&ZdoNA`hOOc)}FzX~1slOEaE+fi-Y6*%zS^xJvquiwY-xxD(< zAGEkBK5^^ES~-N9`j&jV3GMUU2k7Lmx0lL?GGqUcb&Ndw;+264 zhrpk9|8Isf?C?tcOecQ}d-!bDoyc>1v~qZgukPzBJC#Tf3~yJfw8`Nzxi5SYy{caQ z{K3_5Pv+9%rYh${U7w|(sEFJ&s}JP9DTC0+G32BB4bohB`@Ute?txBRSo$vPw!S;q z+e!;6Q!p4dsNXLP)0!+Gl!gcsaq!lqXVDb6;?ku9Sfa3WVjz=r?Gr8|*e!wOMQ!G7L% zJv-XI)-Wq&CU{AA!{=c5J@~|((S{YM-b?}j;NHLhrG2jGbLf)Y)PJMM41FJg&9+r@ z(ag_*YLudyO4XoLKc}Pf zK0cqoHj%l`a!`s23KAqXHS5$ue6S|3Fjo*#Rw8qiJ~I`fOtP)ov92r31^`%IS%IE@ zT_B+^#GS%A;^fwi1#o&gN%GA%6lYcqxH>ZkX|=*Or_o@ZH)csXO86|>w&FryRJCe# zb&!!W*KeNPU#T1M!=_;9dIj@i`NQTILCt9%d_6mf+3jidg7l3v&HR(j01}WzLkTyt z*({sXIEIH>#7sGZ!GQ1)_Oo)M6{lL0P0RDQEsrfYP3@5&AFfvaB01MVx zkji37iA)O$lAwY_MZz?_6Z#SW7@H4t=HX{r>!N*_q5r-gT{dB5>{Ny8?Az7g2zy(@ zSXr&18XQ%~-v-<76?YUGk8(e{(k&XzXz5?DiEg>FqPkEN%ibi*U_hdkNPv^I`=+c`vYpK@hl(8`)f66CN_WT4K z|Khk7I=Ai&k5(m*q@uCd45nOe*5h`@vqK){N+=guj-G{%?hIFHqwnjVAcJyKR9Ag` z_ogK-02mq!FU0=8K;;VbhbbI#8(B;glBomYEl)bHD6?@|7bsQvDrTWP+u*p(yCWQ_ZKksFrN|0SI!Mtddc-|q&p^&Zba7#B zchkYTp5RRn4-Yi9+p%RI`SzsBMv4&{3z+aPXxje29_>R3i+Qf)*cs2K89E@n1by*w$-ztNPm7>jac9Dj?)H;0C*7I0_A z$ZcW1*t4K`0_<95*S~g)D@zNEk4hu4NvWwWDY>~X07q9(3kTA{jB^zg97szjT8W0! z(J@kF-oIV5Hjj4=cyY0;sksSy(9@j;lF9kFUhJ;Zc+}o z6wzNM@D2?Pgr=1P`C=FrKOx(n-sP1U&gWSqLhj6Gr)C%iCi>bA_up0=6S{n0bV4PH zt|`96%aLub^Qj;i8rAyA>2lf3PFS!lwl(@m*rh!`-+?wd_ z2JQyw{xv|jY2c=Tn+9$gxSvbzha$pF12+x+&osD8LUhF|{{DOKy^HXx3vv9D({ZAs HndScgewR*9 delta 1832 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 diff --git a/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-dark-tritanopia-linux.png b/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-dark-tritanopia-linux.png index e3d5a91a66bbc9ce7a94a8ecbd29cc5b566a23aa..321b19d37f3487dd257edf5ecb84c9b55d70bdb6 100644 GIT binary patch literal 6200 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 diff --git a/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-light-colorblind-linux.png b/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-light-colorblind-linux.png index 5762cf818cdcbd25e4bc71185033967c7b802467..3b07fbc0a52572417f9a840019d429a04fa09eef 100644 GIT binary patch literal 6427 zcmeHLeKebC7SF66osODr*IDCa2How4*(&W!OGmA$PN&!zLP^q%NSHZGClU;mkdRE* zYPV}q+cR}a)mOC=B0e@kH3>DPh9p&a6B5Kn5h4^#B44tP`FH=E?jL(j{&?Se-se8& zKEHeKbAR`F-kVX8q0aBY--E$m&f#GfF2P_9Z@>e4*Aa~TAbsl@}Q0Hfze*1s#M9v*Aq$DR(l1#O|q~G#>H`z*I z3@vVEkj3qidlc1V=E5n*{N8E+fR`7v@y)JYC7-7E-d*J|sojVY+4}4tP6$IY9 ze)EeI)v^;e;>+<3&z{v|maY==_@{?Q;!urH)8NgU<#+Ekk5_6%xZMDW;bwor2{+=^ zFbaviupmbHvB+8lvaXIzC_Z(gRdq+MF%U>3zAx^{Wxoc6kdanYRGg~E0EEQM&-a*4 zrak$y%k4QXO}+}>>&TtCmIy~eS57TIedYu$HOaKRsVC#!@4#R!BGQ(JsjzH;VX87t zLJZITTqIP@GUbP872IwXof-)&PQw-HFC@p0$yQc~&NH6Yb;tY=kytFVJe^JA{0au^ z@#oD{i>a=zSj zLhg7(AQ0N#Usc6<{xJis?Mjr>?r&}w@QwLqgUsq_Q%4!%@OVzlBZ+kK#+utQ78r56 z9^qtSu}X5)VUxNcN-Rf+D|2<#K#ZVx#-@(Zusb-9F-ab(F`TOFma(m7y>v{ij-pfq z(wZahpYhp&JN7SsKXvH9#S|))#bS{=lv$dZ{47hs2b!@=6+2YWBE*Q2e2)1-?UJen zig^2hDW7hAN#aSpO6U(TY*di$O)xZ}TwJbfU(~!}j_RKG?Sq(diL{XO1XEb}rC&fm zG;pYMwac82M7o>xPF#TiRb|v6u;Vk5?b$)<^lc%Ar=o8DAfK|VV}qU(H)Dq4Tz1ZSI5S z=YKHC*4IEp*YZ|RYaZs&mg_tPk34d=Y942QE7&&14QSMPo~+}H^%>I}Yp7<+>9}k> zbCFTwo_e-LSUg2Z({_DFu`ZPf4lL{hD5C@W0ulL7x%AZqA75W+B5-l}<iSVoAjr85=`D!A?OWo2kWZf=vn@_bP>+R72=sr)xTHR`$~XQRyesmn+t z-l{lF7f0tir|ty^xa;EK}QG9+q<&S!z>=p z%u-KBpueVPacT1-*+?Wisa+PGh=3vypgGCD3+^V8`@j6u>XuGuIhnB1vU&J>g3yc%UMbYrEw7{v1rHpSJ zDl5~B@q}@sfn@2%#-ET#QAhIf1VSuVD5yvz-}2KS!M_4s2@(8uwg9lSti!eeLhF&W zG0P^ZvW>g5X6HR)kqA`rMH)+b)br+qQ8#GntsTaFYF|`$M*R*fcMl#Hg0qHIG&2G zY|)Rqitpvrt)9spNaBD*_V{;zJq`E*MnC)C%zULUB>2-$XIoQk5gd7A>3)XSPVNHB-k7-3<}-{h=a6Yh?Q&p0p+X6W zZ zaZ`$&jH3wj#8#PHuDMgOPg=}mif~RpuljLFu-jhN=#q5yv?u literal 6483 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 SuZSpV0*4L|_KWwXUik;&nw+fw literal 6529 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 delta 1899 zcmXw3dsLEX8h6IbY1z@4ak56oVdqTc?wQRlUenOb%sQ4$wj==oD_5wuOO@Vq2&bxkyMZc1om^!>_5+Q-t*jk?{oRlkB=X( zItqSlg zhw#smG*$19WbM5jdg}3o@|FJPYqI9k<9A!aF_V{$*niXW`Es(HR{X^~ePY^xnI(-m}EFL?`<)A$L5=OOIu?7o|r)HuNU=ELaf*<;nR zLm(;W#PzHj(f3xN_{PR-z7l|#r~8u0n`Sv6mZfjQ5xD7zgHWm?91?%$Y!`$d%^&Dn zOt+*7M;K=tckh0H#^&Vsl4-U7)>cVrc*&wTRwGBnO7PP02+KLWK~E$fhU+c2SM0Lf z$J93)Hx-gM_VyAy4=1pH?ZW^W<5}YQHOSY`FIC7+lxTj0y=xXSik&QLZ&2ua3@VjM zqwEzFqtRWA=Q54k{{2nB_Gsq&uv=@EAT;FU$tyz-yjq-!$B`TeFMate5_jXqQyCMs z9~FuMltQ5pNCiR9f}dPWCK9f=xLbz%zYQ~~0RdgR3EHHIZf(JK2cMNCMPT z3c7=uG;5C!S<~6xukB;N9T-XNd|$x*f-vm5n*um06mx@Oq;k%Zmg&n zfhTh_N~!YKY5A)YrblEyY5bb?o0LM0gqt&GC29K~isvAk;Yg8SK#n4A=L#iH$`C=F zvargN$>7#fh*o(4hNAp|z1spC)B}wbED1ASnwV)#FWFe&Nyze&t0~~ZMMw6Mb+|2? zXnf8DRjUMfY$jblsh3IT65tg;qltsh9!kQTQCIi|b3L2jPsgIsU`J78t*ru~`eAZ} zRgcnU>xI~M^(!^>E{G@2Ng-$u1p#Kdzof??H{3E?jZ{a~#>M!lYn3IODAWSWROwk) zBdUB4hL_qFw)VLRYkh`gDeBxoR*qFx>Wf09JPOW7w?{iU6LDN|e!;Ex9fZ1uWjTh#nbVlxPS{iZ&IT~4;wA48`8N;{brx5#} zC;gm8@d!S8iEpABqz^b?&!Iz}*!)$RgsIN4ks@n1V>07GEVcz>5G1u`5K9c>!p?V5 z@W;}&@--3bl$w>Pe7z4@wURw57K>voeJhzg$`e6_Yb^BF@xAlC8Lf#}^9)M=BL~lJ zXaE}koez+e)h_T9V4EdygXZ_<4meo6Wo?qRhK9fb5e`tWQ@H7aZ%yT9ZOM5dWo4*P zikziHl&J0_Ib0mr&0u)7D|di*kS9_QW$aUgv&UoHNk^0%$RA- zd|I%bCZq}tT4c+wze0|vE$~e_vUxHpNPlWrJMDcXI@@BU3Kb$XXMO#SJgiPpLa8g7RS4T{-Q*4Q7G%gMqGgqV= zpW%c5WH9jjg%Ooj8=_!u#zfV`Je^)VA>Wm*c>qeOR^o7aDrMx&9& zS>B@oJtnhBby)2$=Jo0~CrbN}}ML5lrFzUVlJ>ktrD-gAx zROk&IQD)omW5+IUn#`R&yWu#(>_18=gKxuqPj=^EYxj|_mHP%51I<_WwYlz)BY zdj=q#pHFj~8uSYYNVq51tlzVP1g!gw)CUISB$By8rB*YaMY>9FIUpE39?!+>v2n=L z6L&qIbvxoL004|QPGG0&7X=ACDNMm>73y)rW}Ho#buaotEYladV{s}H zWkieATFz_NKR5ON-H8cPe|+P(aw}=4Zm!23lY*Pn@-@Is+PQv@&&lU-K5ml9$rw>a zD@~NalkVIC`bp#eI@5hT`KU)L^@FmH8pl3(&sB#F*yj{ns&^B^x$Mq|N1b7xPP_GA DCI1m8 diff --git a/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-light-tritanopia-linux.png b/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-light-tritanopia-linux.png index 5762cf818cdcbd25e4bc71185033967c7b802467..3b07fbc0a52572417f9a840019d429a04fa09eef 100644 GIT binary patch literal 6427 zcmeHLeKebC7SF66osODr*IDCa2How4*(&W!OGmA$PN&!zLP^q%NSHZGClU;mkdRE* zYPV}q+cR}a)mOC=B0e@kH3>DPh9p&a6B5Kn5h4^#B44tP`FH=E?jL(j{&?Se-se8& zKEHeKbAR`F-kVX8q0aBY--E$m&f#GfF2P_9Z@>e4*Aa~TAbsl@}Q0Hfze*1s#M9v*Aq$DR(l1#O|q~G#>H`z*I z3@vVEkj3qidlc1V=E5n*{N8E+fR`7v@y)JYC7-7E-d*J|sojVY+4}4tP6$IY9 ze)EeI)v^;e;>+<3&z{v|maY==_@{?Q;!urH)8NgU<#+Ekk5_6%xZMDW;bwor2{+=^ zFbaviupmbHvB+8lvaXIzC_Z(gRdq+MF%U>3zAx^{Wxoc6kdanYRGg~E0EEQM&-a*4 zrak$y%k4QXO}+}>>&TtCmIy~eS57TIedYu$HOaKRsVC#!@4#R!BGQ(JsjzH;VX87t zLJZITTqIP@GUbP872IwXof-)&PQw-HFC@p0$yQc~&NH6Yb;tY=kytFVJe^JA{0au^ z@#oD{i>a=zSj zLhg7(AQ0N#Usc6<{xJis?Mjr>?r&}w@QwLqgUsq_Q%4!%@OVzlBZ+kK#+utQ78r56 z9^qtSu}X5)VUxNcN-Rf+D|2<#K#ZVx#-@(Zusb-9F-ab(F`TOFma(m7y>v{ij-pfq z(wZahpYhp&JN7SsKXvH9#S|))#bS{=lv$dZ{47hs2b!@=6+2YWBE*Q2e2)1-?UJen zig^2hDW7hAN#aSpO6U(TY*di$O)xZ}TwJbfU(~!}j_RKG?Sq(diL{XO1XEb}rC&fm zG;pYMwac82M7o>xPF#TiRb|v6u;Vk5?b$)<^lc%Ar=o8DAfK|VV}qU(H)Dq4Tz1ZSI5S z=YKHC*4IEp*YZ|RYaZs&mg_tPk34d=Y942QE7&&14QSMPo~+}H^%>I}Yp7<+>9}k> zbCFTwo_e-LSUg2Z({_DFu`ZPf4lL{hD5C@W0ulL7x%AZqA75W+B5-l}<iSVoAjr85=`D!A?OWo2kWZf=vn@_bP>+R72=sr)xTHR`$~XQRyesmn+t z-l{lF7f0tir|ty^xa;EK}QG9+q<&S!z>=p z%u-KBpueVPacT1-*+?Wisa+PGh=3vypgGCD3+^V8`@j6u>XuGuIhnB1vU&J>g3yc%UMbYrEw7{v1rHpSJ zDl5~B@q}@sfn@2%#-ET#QAhIf1VSuVD5yvz-}2KS!M_4s2@(8uwg9lSti!eeLhF&W zG0P^ZvW>g5X6HR)kqA`rMH)+b)br+qQ8#GntsTaFYF|`$M*R*fcMl#Hg0qHIG&2G zY|)Rqitpvrt)9spNaBD*_V{;zJq`E*MnC)C%zULUB>2-$XIoQk5gd7A>3)XSPVNHB-k7-3<}-{h=a6Yh?Q&p0p+X6W zZ zaZ`$&jH3wj#8#PHuDMgOPg=}mif~RpuljLFu-jhN=#q5yv?u literal 6483 zcmeHLdr*^C77weoN*i>wK0pKA>8|c90$LZ8m#DZPBSH%sB7qQED$oRjk_2J`i82FS zC=ZpkZoz<~<&iIhG-5(YLV~4|b&%IW5(E=a6=X_t;M{&_`cQ1Ds3Lv!@3uPMx`(FqAMvYJ%tec85&Rbo0>|`rh96 zE@ks0-A_C~?t9Da#)pVrK^$TtZg+W7j^B7~Db;g__R>&QD%Gv|>r=mT+u8p7ygx0J zw(;N(A4E14)4pk!&KTG9sp`3~xebe|U4Ko4<|MI!Mc4nRVy1x>M$v2z2hHZ4z-ZWx zb3>b8uv71!-VQo9{y#xWGqb0(G#W=DA4XDg4l9FnhFh~sXC!Meka zPZQ@Y@4_8Zb!#($Hus7(2uea;=s*V^`Cbgs4c`Kd-G^(h4sEZlP&~ZU2f?u>8J>^k z=RAMtb1h3xyclQgCHdd|-2P zXqPh*jCXgw4cvaJ*c)_yvyBSgTi^3BIac&o?(xefI)d&R1)hV{xh?v(2$9ivdCVD5 znW*^Yv{lZW?M%4+r(H;-Jp0eMC*`}zZ>&mXK$=NS)otTm8z!El$>wmj{b^Vf)|_%# zrSHDM8-GZ~cNr16x!P2qC;N*kdZa^gK7b_^(aslX+6I+;Wh!!gMaQ+IlCIi%iX5x= zvnrMltm*2|Hjk8t-*H6YtAlBY3mKKJ!@c1b}p5MTuE<*Ab-j0e^L#PztC>C z8*0b{y+#OH;CAG2jA}ZaS-9Y7CeBItb`!C{yRb{ku*_O@Z0Coy2fyDxtNTE0GEaYiw%Hgg|Jm#cRv^0@w`uco%t^ ztWdeL6Bw_?Vc#^dec-iZ+Ya zy(*)MW_$~jcO>G*($Z3hEnpE{r0pU4&o_)qx>nwW%XxS#GPFPk+3k(y zc#Fz-zsmOGUOf~c)U8;5l0~4k3foyElF4{Uqt74Z;QA?9Km(<-zmw7F7}GQECvj4f z!5j)Ftths#qC#;jK7wdiwykd;otmnT^j;r|+^%Fb*XJFXjgE@aE+3K<7?!uZW5pE~ zzM9f?t*^)phJPIH+69#UJsbhII!D?E!%{-?7gy~8eGG$AtETDMTCS*xN~JD*w+owc zh)McXwQ(y2KREPJWmT2pf{&z;J{^fdTvo)IY~)GkYC^8*YLz~P1JQ&|R@1>l_@3apg%=khuo)Q{=9hK3Cti!+ z2?&!`op|*(>+|E%M*mLJCjRHs!Q|y9d*w`qy#zQn6gSdTY0i-OVCx2G(HKLUMKK)h zgJdVQwSqg{`z&PIGy-uuI@ID%GK!}62k205++eVD0hy2Hcrwr0bNqag(Mgl{^m;71C$dL3b}4P2w^tj86=oX94cD&`dQVFi4R#18 zpPE_ Date: Mon, 16 Oct 2023 14:06:25 -0400 Subject: [PATCH 05/21] Update src/Button/ButtonBase.tsx Co-authored-by: Katie Langerman <18661030+langermank@users.noreply.github.com> --- src/Button/ButtonBase.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Button/ButtonBase.tsx b/src/Button/ButtonBase.tsx index 57a314ac1ef..2b05c8108c5 100644 --- a/src/Button/ButtonBase.tsx +++ b/src/Button/ButtonBase.tsx @@ -71,7 +71,7 @@ const ButtonBase = forwardRef( data-block={block ? 'block' : null} data-size={size === 'small' || size === 'large' ? size : undefined} data-no-visuals={!LeadingVisual && !TrailingVisual && !TrailingAction ? true : undefined} - aria-disabled={inactive} + aria-disabled={inactive ? true : undefined} > {Icon ? ( From e9f368da21b0b9486416cba0f96e78717fba5a0d Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 9 Nov 2023 13:08:55 -0500 Subject: [PATCH 06/21] follow-up on resolving merge conflicts --- src/Button/Button.stories.tsx | 1 + src/Dialog/__snapshots__/Dialog.test.tsx.snap | 25 +++++++++++++------ .../__snapshots__/SelectPanel.test.tsx.snap | 23 +++++++++++------ 3 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/Button/Button.stories.tsx b/src/Button/Button.stories.tsx index 159e3794519..793d5884195 100644 --- a/src/Button/Button.stories.tsx +++ b/src/Button/Button.stories.tsx @@ -56,6 +56,7 @@ Playground.args = { block: false, size: 'medium', disabled: false, + inactive: false, variant: 'default', alignContent: 'center', trailingVisual: null, diff --git a/src/Dialog/__snapshots__/Dialog.test.tsx.snap b/src/Dialog/__snapshots__/Dialog.test.tsx.snap index cb0b5cfda3a..fe4f5809028 100644 --- a/src/Dialog/__snapshots__/Dialog.test.tsx.snap +++ b/src/Dialog/__snapshots__/Dialog.test.tsx.snap @@ -164,16 +164,13 @@ exports[`Dialog renders consistently 1`] = ` transition: none; } +.c1[aria-disabled] { + cursor: auto; +} + .c1:disabled { cursor: not-allowed; box-shadow: none; - color: #8c959f; -} - -.c1:disabled [data-component=ButtonCounter], -.c1:disabled [data-component="leadingVisual"], -.c1:disabled [data-component="trailingAction"] { - color: inherit; } .c1 [data-component=ButtonCounter] { @@ -279,6 +276,20 @@ exports[`Dialog renders consistently 1`] = ` background-color: rgba(208,215,222,0.48); } +.c1:disabled, +.c1[aria-disabled] { + color: #8c959f; +} + +.c1:disabled [data-component=ButtonCounter], +.c1[aria-disabled] [data-component=ButtonCounter], +.c1:disabled [data-component="leadingVisual"], +.c1[aria-disabled] [data-component="leadingVisual"], +.c1:disabled [data-component="trailingAction"], +.c1[aria-disabled] [data-component="trailingAction"] { + color: inherit; +} + .c1[aria-expanded=true] { background-color: rgba(208,215,222,0.24); } diff --git a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap index 7d696d62efc..e429a29327a 100644 --- a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap +++ b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap @@ -105,14 +105,13 @@ exports[`SelectPanel renders consistently 1`] = ` transition: none; } +.c1[aria-disabled] { + cursor: auto; +} + .c1:disabled { cursor: not-allowed; box-shadow: none; - color: #8c959f; -} - -.c1:disabled [data-component=ButtonCounter] { - color: inherit; } .c1 [data-component=ButtonCounter] { @@ -208,16 +207,26 @@ exports[`SelectPanel renders consistently 1`] = ` margin-right: 8px; } -.c1:hover:not([disabled]) { +.c1:hover:not([disabled]):not([aria-disabled]) { background-color: #f3f4f6; border-color: var(--button-default-borderColor-hover,rgba(31,35,40,0.15)); } -.c1:active:not([disabled]) { +.c1:active:not([disabled]):not([aria-disabled]) { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); } +.c1:disabled, +.c1[aria-disabled] { + color: #8c959f; +} + +.c1:disabled [data-component=ButtonCounter], +.c1[aria-disabled] [data-component=ButtonCounter] { + color: inherit; +} + .c1[aria-expanded=true] { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); From 7ee2525967ebe11dac767c532ab5cb292a133dd1 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 9 Nov 2023 14:50:12 -0500 Subject: [PATCH 07/21] adds new button style for inactive buttons --- src/Button/ButtonBase.tsx | 6 +++--- src/Button/styles.ts | 13 +++++++++++-- src/drafts/Button2/Button.tsx | 33 ++++++++++++++++----------------- src/drafts/Button2/styles.ts | 9 ++++++++- 4 files changed, 38 insertions(+), 23 deletions(-) diff --git a/src/Button/ButtonBase.tsx b/src/Button/ButtonBase.tsx index ff6821e9df3..b628aede588 100644 --- a/src/Button/ButtonBase.tsx +++ b/src/Button/ButtonBase.tsx @@ -30,8 +30,8 @@ const ButtonBase = forwardRef( const {theme} = useTheme() const baseStyles = useMemo(() => { - return merge.all([getButtonStyles(theme), getVariantStyles(variant, theme)]) - }, [theme, variant]) + return merge.all([getButtonStyles(theme), getVariantStyles(variant, inactive, theme)]) + }, [theme, variant, inactive]) const sxStyles = useMemo(() => { return merge(baseStyles, sxProp) }, [baseStyles, sxProp]) @@ -69,7 +69,7 @@ const ButtonBase = forwardRef( data-block={block ? 'block' : null} data-size={size === 'small' || size === 'large' ? size : undefined} data-no-visuals={!LeadingVisual && !TrailingVisual && !TrailingAction ? true : undefined} - aria-disabled={inactive ? true : undefined} + data-inactive={inactive ? true : undefined} > {Icon ? ( diff --git a/src/Button/styles.ts b/src/Button/styles.ts index 08ad37db52c..473ccb54d66 100644 --- a/src/Button/styles.ts +++ b/src/Button/styles.ts @@ -1,7 +1,7 @@ import {VariantType, AlignContent} from './types' import {Theme} from '../ThemeProvider' -export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme) => { +export const getVariantStyles = (variant: VariantType = 'default', inactive?: boolean, theme?: Theme) => { const style = { default: { color: 'btn.text', @@ -190,6 +190,15 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme }, }, } + + if (inactive) { + return { + backgroundColor: `var(--button-inactive-bgColor, ${theme?.colors.btn.inactive.bg})`, + border: 0, + color: `var(--button-inactive-fgColor, ${theme?.colors.btn.inactive.text})`, + } + } + return style[variant] } @@ -226,7 +235,7 @@ export const getBaseStyles = (theme?: Theme) => ({ '&:active': { transition: 'none', }, - '&[aria-disabled]': { + '&[aria-disabled], &[data-inactive]': { cursor: 'auto', }, '&:disabled': { diff --git a/src/drafts/Button2/Button.tsx b/src/drafts/Button2/Button.tsx index 2fc4c566a17..9f02953aae3 100644 --- a/src/drafts/Button2/Button.tsx +++ b/src/drafts/Button2/Button.tsx @@ -5,24 +5,22 @@ import {ForwardRefComponent as PolymorphicForwardRefComponent} from '../../utils import {defaultSxProp} from '../../utils/defaultSxProp' import {BetterSystemStyleObject} from '../../sx' -const ButtonComponent = forwardRef( - ({children, sx: sxProp = defaultSxProp, inactive, ...props}, forwardedRef): JSX.Element => { - let sxStyles = sxProp +const ButtonComponent = forwardRef(({children, sx: sxProp = defaultSxProp, ...props}, forwardedRef): JSX.Element => { + let sxStyles = sxProp - // grap the button props that have associated data attributes in the styles - const {block, size, leadingIcon, trailingIcon, trailingAction} = props + // grab the button props that have associated data attributes in the styles + const {block, size, leadingIcon, trailingIcon, trailingAction, inactive} = props - if (sxProp !== null && Object.keys(sxProp).length > 0) { - sxStyles = generateCustomSxProp({block, size, leadingIcon, trailingIcon, trailingAction}, sxProp) - } + if (sxProp !== null && Object.keys(sxProp).length > 0) { + sxStyles = generateCustomSxProp({block, size, leadingIcon, trailingIcon, trailingAction, inactive}, sxProp) + } - return ( - - {children} - - ) - }, -) as PolymorphicForwardRefComponent<'button', ButtonProps> + return ( + + {children} + + ) +}) as PolymorphicForwardRefComponent<'button', ButtonProps> // This function is used to generate a custom cssSelector for the sxProp @@ -65,16 +63,17 @@ sx={{ // We need to make sure we append the customCSSSelector to the original class selector. i.e & - > &[data-attribute="Icon"][data-size="small"] */ export function generateCustomSxProp( - props: Partial>, + props: Partial>, providedSx: BetterSystemStyleObject, ) { // Possible data attributes: data-size, data-block, data-no-visuals const size = props.size && props.size !== 'medium' ? `[data-size="${props.size}"]` : '' // medium is a default size therefore it doesn't have a data attribute that used for styling const block = props.block ? `[data-block="block"]` : '' const noVisuals = props.leadingIcon || props.trailingIcon || props.trailingAction ? '' : '[data-no-visuals="true"]' + const inactive = props.inactive ? '[data-inactive="true"]' : '' // this is custom selector. We need to make sure we add the data attributes to the base css class (& -> &[data-attributename="value"]]) - const cssSelector = `&${size}${block}${noVisuals}` // &[data-size="small"][data-block="block"][data-no-visuals="true"] + const cssSelector = `&${size}${block}${noVisuals}${inactive}` // &[data-size="small"][data-block="block"][data-no-visuals="true"] const customSxProp: { [key: string]: BetterSystemStyleObject diff --git a/src/drafts/Button2/styles.ts b/src/drafts/Button2/styles.ts index 1905a26bb8b..6fb2a2ec32b 100644 --- a/src/drafts/Button2/styles.ts +++ b/src/drafts/Button2/styles.ts @@ -1,7 +1,7 @@ import {VariantType, AlignContent} from './types' import {Theme} from '../../ThemeProvider' -export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme) => { +export const getVariantStyles = (variant: VariantType = 'default', inactive?: boolean, theme?: Theme) => { const style = { default: { color: 'btn.text', @@ -181,6 +181,13 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme }, }, } + + if (inactive) { + return { + color: 'pink', + } + } + return style[variant] } From fd935c0234ddab04a7ed69ad9b239535eab9e8a9 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 9 Nov 2023 15:28:52 -0500 Subject: [PATCH 08/21] refactors inactive styles, lets disabled style override inactive style --- src/Button/ButtonBase.tsx | 4 ++-- src/Button/styles.ts | 23 +++++++++++++++-------- src/drafts/Button2/styles.ts | 11 +++++------ 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/Button/ButtonBase.tsx b/src/Button/ButtonBase.tsx index b628aede588..1e05138e5c2 100644 --- a/src/Button/ButtonBase.tsx +++ b/src/Button/ButtonBase.tsx @@ -30,8 +30,8 @@ const ButtonBase = forwardRef( const {theme} = useTheme() const baseStyles = useMemo(() => { - return merge.all([getButtonStyles(theme), getVariantStyles(variant, inactive, theme)]) - }, [theme, variant, inactive]) + return merge.all([getButtonStyles(theme), getVariantStyles(variant, theme)]) + }, [theme, variant]) const sxStyles = useMemo(() => { return merge(baseStyles, sxProp) }, [baseStyles, sxProp]) diff --git a/src/Button/styles.ts b/src/Button/styles.ts index 473ccb54d66..c8af01af9a9 100644 --- a/src/Button/styles.ts +++ b/src/Button/styles.ts @@ -1,7 +1,7 @@ import {VariantType, AlignContent} from './types' import {Theme} from '../ThemeProvider' -export const getVariantStyles = (variant: VariantType = 'default', inactive?: boolean, theme?: Theme) => { +export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme) => { const style = { default: { color: 'btn.text', @@ -191,13 +191,15 @@ export const getVariantStyles = (variant: VariantType = 'default', inactive?: bo }, } - if (inactive) { - return { - backgroundColor: `var(--button-inactive-bgColor, ${theme?.colors.btn.inactive.bg})`, - border: 0, - color: `var(--button-inactive-fgColor, ${theme?.colors.btn.inactive.text})`, - } - } + // if (inactive) { + // return { + // '&[data-inactive]:not([disabled]):not([aria-disabled])': { + // backgroundColor: `var(--button-inactive-bgColor, ${theme?.colors.btn.inactive.bg})`, + // border: 0, + // color: `var(--button-inactive-fgColor, ${theme?.colors.btn.inactive.text})`, + // }, + // } + // } return style[variant] } @@ -303,6 +305,11 @@ export const getButtonStyles = (theme?: Theme) => { '&[data-block="block"]': { width: '100%', }, + '&[data-inactive]:not([disabled]):not([aria-disabled])': { + backgroundColor: `var(--button-inactive-bgColor, ${theme?.colors.btn.inactive.bg})`, + border: 0, + color: `var(--button-inactive-fgColor, ${theme?.colors.btn.inactive.text})`, + }, '[data-component="leadingVisual"]': { gridArea: 'leadingVisual', }, diff --git a/src/drafts/Button2/styles.ts b/src/drafts/Button2/styles.ts index 6fb2a2ec32b..ca179cebe10 100644 --- a/src/drafts/Button2/styles.ts +++ b/src/drafts/Button2/styles.ts @@ -182,12 +182,6 @@ export const getVariantStyles = (variant: VariantType = 'default', inactive?: bo }, } - if (inactive) { - return { - color: 'pink', - } - } - return style[variant] } @@ -289,6 +283,11 @@ export const getButtonStyles = (theme?: Theme) => { '&[data-block="block"]': { width: '100%', }, + '&[data-inactive]:not([disabled]):not([aria-disabled])': { + backgroundColor: `var(--button-inactive-bgColor, ${theme?.colors.btn.inactive.bg})`, + border: 0, + color: `var(--button-inactive-fgColor, ${theme?.colors.btn.inactive.text})`, + }, '[data-component="leadingVisual"]': { gridArea: 'leadingVisual', }, From 5814f734db6a9470b51336316b66700fbd6ba52f Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 9 Nov 2023 15:29:18 -0500 Subject: [PATCH 09/21] adds docs for 'inactive' prop --- src/Button/Button.docs.json | 2 +- src/drafts/Button2/Button.docs.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Button/Button.docs.json b/src/Button/Button.docs.json index 00b65ea3ac8..e2ab4c6b3d1 100644 --- a/src/Button/Button.docs.json +++ b/src/Button/Button.docs.json @@ -53,7 +53,7 @@ { "name": "inactive", "type": "boolean", - "description": "Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button." + "description": "Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button.\n This is intended to be used when a system error such as an outage prevents the button from performing its usual action.\n Inactive styles are slightly different from disabled styles because inactive buttons need to have an accessible color contrast ratio. This is because inactive buttons can have tooltips or perform an action such as opening a dialog explaining why it's inactive.\n If both `disabled` and `inactive` are true, `disabled` takes precedence." }, { "name": "as", diff --git a/src/drafts/Button2/Button.docs.json b/src/drafts/Button2/Button.docs.json index b8a24e7a045..5b27f9006e2 100644 --- a/src/drafts/Button2/Button.docs.json +++ b/src/drafts/Button2/Button.docs.json @@ -32,6 +32,11 @@ "type": "React.ComponentType", "description": "An icon to display after the button text." }, + { + "name": "inactive", + "type": "boolean", + "description": "Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button.\n This is intended to be used when a system error such as an outage prevents the button from performing its usual action.\n Inactive styles are slightly different from disabled styles because inactive buttons need to have an accessible color contrast ratio. This is because inactive buttons can have tooltips or perform an action such as opening a dialog explaining why it's inactive.\n If both `disabled` and `inactive` are true, `disabled` takes precedence." + }, { "name": "as", "type": "React.ElementType", From 466b029d91d1aee9c553ccfbdbf5d3bdb91727e1 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Tue, 14 Nov 2023 11:43:08 -0500 Subject: [PATCH 10/21] upgrades styled components, fixes hover and active style bugs on inactive buttons --- package-lock.json | 8 ++++---- package.json | 2 +- src/Button/styles.ts | 26 ++++++++------------------ src/drafts/Button2/styles.ts | 20 ++++++++++---------- 4 files changed, 23 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index c1f73dc3e2b..383931219a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@oddbird/popover-polyfill": "^0.3.1", "@primer/behaviors": "^1.3.4", "@primer/octicons-react": "^19.8.0", - "@primer/primitives": "^7.11.11", + "@primer/primitives": "7.15.1", "@react-aria/ssr": "^3.5.0", "@styled-system/css": "^5.1.5", "@styled-system/props": "^5.1.5", @@ -5987,9 +5987,9 @@ } }, "node_modules/@primer/primitives": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.13.0.tgz", - "integrity": "sha512-pO1o0rdgatVOcUosuiQIni0ur7qLS954QjwmnIz1cXWxZhVLbhjK4eY/DUL2zmvbohLTXTE+6dC6ksLafckPvg==" + "version": "7.15.1", + "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.1.tgz", + "integrity": "sha512-+0YS8GM2bvhH8uYOcPYBkoVMgRpvZyUs+2SpRAab0cOFi7zWhwRiag7ggh1ZAcIxN/LvOI5dhEYgxzfZwTPgEg==" }, "node_modules/@primer/view-components": { "version": "0.5.1", diff --git a/package.json b/package.json index dd4465c487e..77e66db44c1 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "@oddbird/popover-polyfill": "^0.3.1", "@primer/behaviors": "^1.3.4", "@primer/octicons-react": "^19.8.0", - "@primer/primitives": "^7.11.11", + "@primer/primitives": "7.15.1", "@react-aria/ssr": "^3.5.0", "@styled-system/css": "^5.1.5", "@styled-system/props": "^5.1.5", diff --git a/src/Button/styles.ts b/src/Button/styles.ts index c8af01af9a9..674da9d656d 100644 --- a/src/Button/styles.ts +++ b/src/Button/styles.ts @@ -7,11 +7,11 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.text', backgroundColor: 'btn.bg', boxShadow: `${theme?.shadows.btn.shadow}, ${theme?.shadows.btn.insetShadow}`, - '&:hover:not([disabled]):not([aria-disabled])': { + '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { backgroundColor: 'btn.hoverBg', borderColor: `var(--button-default-borderColor-hover, ${theme?.colors.btn.hoverBorder})`, }, - '&:active:not([disabled]):not([aria-disabled])': { + '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { backgroundColor: 'btn.activeBg', borderColor: `var(--button-default-borderColor-active, ${theme?.colors.btn.activeBorder})`, }, @@ -34,7 +34,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme backgroundColor: 'btn.primary.bg', borderColor: 'btn.primary.border', boxShadow: `${theme?.shadows.btn.primary.shadow}`, - '&:hover:not([disabled]):not([aria-disabled])': { + '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { color: 'btn.primary.hoverText', backgroundColor: 'btn.primary.hoverBg', }, @@ -44,7 +44,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme '&:focus-visible:not([disabled])': { boxShadow: 'inset 0 0 0 3px', }, - '&:active:not([disabled]):not([aria-disabled])': { + '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { backgroundColor: 'btn.primary.selectedBg', boxShadow: `${theme?.shadows.btn.primary.selectedShadow}`, }, @@ -68,7 +68,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.danger.text', backgroundColor: 'btn.bg', boxShadow: `${theme?.shadows.btn.shadow}`, - '&:hover:not([disabled]):not([aria-disabled])': { + '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { color: 'btn.danger.hoverText', backgroundColor: 'btn.danger.hoverBg', borderColor: 'btn.danger.hoverBorder', @@ -78,7 +78,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.danger.hoverCounterFg', }, }, - '&:active:not([disabled]):not([aria-disabled])': { + '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { color: 'btn.danger.selectedText', backgroundColor: 'btn.danger.selectedBg', boxShadow: `${theme?.shadows.btn.danger.selectedShadow}`, @@ -152,7 +152,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme borderColor: `var(--button-default-borderColor-rest, ${theme?.colors.btn.border})`, backgroundColor: 'btn.bg', - '&:hover:not([disabled]):not([aria-disabled])': { + '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { color: 'btn.outline.hoverText', backgroundColor: 'btn.outline.hoverBg', borderColor: `${theme?.colors.btn.outline.hoverBorder}`, @@ -162,7 +162,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.outline.hoverCounterFg', }, }, - '&:active:not([disabled]):not([aria-disabled])': { + '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { color: 'btn.outline.selectedText', backgroundColor: 'btn.outline.selectedBg', boxShadow: `${theme?.shadows.btn.outline.selectedShadow}`, @@ -191,16 +191,6 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme }, } - // if (inactive) { - // return { - // '&[data-inactive]:not([disabled]):not([aria-disabled])': { - // backgroundColor: `var(--button-inactive-bgColor, ${theme?.colors.btn.inactive.bg})`, - // border: 0, - // color: `var(--button-inactive-fgColor, ${theme?.colors.btn.inactive.text})`, - // }, - // } - // } - return style[variant] } diff --git a/src/drafts/Button2/styles.ts b/src/drafts/Button2/styles.ts index ca179cebe10..fd5b955b397 100644 --- a/src/drafts/Button2/styles.ts +++ b/src/drafts/Button2/styles.ts @@ -7,11 +7,11 @@ export const getVariantStyles = (variant: VariantType = 'default', inactive?: bo color: 'btn.text', backgroundColor: 'btn.bg', boxShadow: `${theme?.shadows.btn.shadow}, ${theme?.shadows.btn.insetShadow}`, - '&:hover:not([disabled]):not([aria-disabled])': { + '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { backgroundColor: 'btn.hoverBg', borderColor: 'btn.hoverBorder', }, - '&:active:not([disabled]):not([aria-disabled])': { + '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { backgroundColor: 'btn.activeBg', borderColor: 'btn.activeBorder', }, @@ -31,7 +31,7 @@ export const getVariantStyles = (variant: VariantType = 'default', inactive?: bo backgroundColor: 'btn.primary.bg', borderColor: 'btn.primary.border', boxShadow: `${theme?.shadows.btn.primary.shadow}`, - '&:hover:not([disabled]):not([aria-disabled])': { + '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { color: 'btn.primary.hoverText', backgroundColor: 'btn.primary.hoverBg', }, @@ -41,7 +41,7 @@ export const getVariantStyles = (variant: VariantType = 'default', inactive?: bo '&:focus-visible:not([disabled])': { boxShadow: 'inset 0 0 0 3px', }, - '&:active:not([disabled]):not([aria-disabled])': { + '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { backgroundColor: 'btn.primary.selectedBg', boxShadow: `${theme?.shadows.btn.primary.selectedShadow}`, }, @@ -65,7 +65,7 @@ export const getVariantStyles = (variant: VariantType = 'default', inactive?: bo color: 'btn.danger.text', backgroundColor: 'btn.bg', boxShadow: `${theme?.shadows.btn.shadow}`, - '&:hover:not([disabled]):not([aria-disabled])': { + '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { color: 'btn.danger.hoverText', backgroundColor: 'btn.danger.hoverBg', borderColor: 'btn.danger.hoverBorder', @@ -75,7 +75,7 @@ export const getVariantStyles = (variant: VariantType = 'default', inactive?: bo color: 'btn.danger.hoverText', }, }, - '&:active:not([disabled]):not([aria-disabled])': { + '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { color: 'btn.danger.selectedText', backgroundColor: 'btn.danger.selectedBg', boxShadow: `${theme?.shadows.btn.danger.selectedShadow}`, @@ -106,10 +106,10 @@ export const getVariantStyles = (variant: VariantType = 'default', inactive?: bo backgroundColor: 'transparent', borderColor: 'transparent', boxShadow: 'none', - '&:hover:not([disabled])': { + '&:hover:not([disabled]):not([data-inactive])': { backgroundColor: 'btn.hoverBg', }, - '&:active:not([disabled]):not([aria-disabled])': { + '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { backgroundColor: 'btn.selectedBg', }, '&:disabled, &[aria-disabled]': { @@ -143,7 +143,7 @@ export const getVariantStyles = (variant: VariantType = 'default', inactive?: bo borderColor: 'btn.border', backgroundColor: 'btn.bg', - '&:hover:not([disabled]):not([aria-disabled])': { + '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { color: 'btn.outline.hoverText', backgroundColor: 'btn.outline.hoverBg', borderColor: 'btn.outline.hoverBorder', @@ -153,7 +153,7 @@ export const getVariantStyles = (variant: VariantType = 'default', inactive?: bo color: 'inherit', }, }, - '&:active:not([disabled]):not([aria-disabled])': { + '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { color: 'btn.outline.selectedText', backgroundColor: 'btn.outline.selectedBg', boxShadow: `${theme?.shadows.btn.outline.selectedShadow}`, From 2f515f90de13b25498d9c99e2dc27de81197eb48 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Tue, 14 Nov 2023 16:19:28 -0500 Subject: [PATCH 11/21] fix drafts/Button2 inactive implementation --- src/drafts/Button2/ButtonBase.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/drafts/Button2/ButtonBase.tsx b/src/drafts/Button2/ButtonBase.tsx index 44125f7dbd0..84c30c19863 100644 --- a/src/drafts/Button2/ButtonBase.tsx +++ b/src/drafts/Button2/ButtonBase.tsx @@ -19,6 +19,7 @@ const ButtonBase = forwardRef( size = 'medium', alignContent = 'center', block = false, + inactive, ...rest } = props @@ -27,8 +28,8 @@ const ButtonBase = forwardRef( const {theme} = useTheme() const baseStyles = useMemo(() => { - return merge.all([getButtonStyles(theme), getVariantStyles(variant, theme)]) - }, [theme, variant]) + return merge.all([getButtonStyles(theme), getVariantStyles(variant, inactive, theme)]) + }, [inactive, theme, variant]) const sxStyles = useMemo(() => { return merge(baseStyles, sxProp) }, [baseStyles, sxProp]) @@ -66,6 +67,7 @@ const ButtonBase = forwardRef( data-block={block ? 'block' : null} data-size={size === 'small' || size === 'large' ? size : undefined} data-no-visuals={!LeadingIcon && !TrailingIcon && !TrailingAction ? true : undefined} + data-inactive={inactive ? true : undefined} > {Icon ? ( From 48d08d7d338a2d56c96e96c797fbe996ec4976a8 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Tue, 14 Nov 2023 16:53:22 -0500 Subject: [PATCH 12/21] cursor style tweak, update snapshots, update package-lock.json --- package-lock.json | 4 +- .../__snapshots__/Button.test.tsx.snap | 94 ++++++++++++++----- src/Button/styles.ts | 2 +- src/Dialog/__snapshots__/Dialog.test.tsx.snap | 8 +- .../__snapshots__/SelectPanel.test.tsx.snap | 12 ++- .../__snapshots__/ActionMenu.test.tsx.snap | 12 ++- .../__snapshots__/TextInput.test.tsx.snap | 24 ++++- src/drafts/Button2/styles.ts | 3 + 8 files changed, 123 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index ee8f20cc5d1..1b6fe5a4679 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@primer/react", - "version": "36.1.0", + "version": "36.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@primer/react", - "version": "36.1.0", + "version": "36.2.0", "license": "MIT", "dependencies": { "@github/combobox-nav": "^2.1.5", diff --git a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap index 86e4fb83f3a..c747f4c351d 100644 --- a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap +++ b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap @@ -91,7 +91,7 @@ exports[`Button renders consistently 1`] = ` transition: none; } -.c0[aria-disabled] { +.c0[data-inactive] { cursor: auto; } @@ -155,6 +155,12 @@ exports[`Button renders consistently 1`] = ` width: 100%; } +.c0[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,#d0d7de); + border: 0; + color: var(--button-inactive-fgColor,#656d76); +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -193,12 +199,12 @@ exports[`Button renders consistently 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: #f3f4f6; border-color: var(--button-default-borderColor-hover,rgba(31,35,40,0.15)); } -.c0:active:not([disabled]):not([aria-disabled]) { +.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); } @@ -335,7 +341,7 @@ exports[`Button respects block prop 1`] = ` transition: none; } -.c0[aria-disabled] { +.c0[data-inactive] { cursor: auto; } @@ -399,6 +405,12 @@ exports[`Button respects block prop 1`] = ` width: 100%; } +.c0[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,undefined); + border: 0; + color: var(--button-inactive-fgColor,undefined); +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -437,12 +449,12 @@ exports[`Button respects block prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: btn.hoverBg; border-color: var(--button-default-borderColor-hover,undefined); } -.c0:active:not([disabled]):not([aria-disabled]) { +.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); } @@ -584,7 +596,7 @@ exports[`Button respects the alignContent prop 1`] = ` transition: none; } -.c0[aria-disabled] { +.c0[data-inactive] { cursor: auto; } @@ -648,6 +660,12 @@ exports[`Button respects the alignContent prop 1`] = ` width: 100%; } +.c0[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,undefined); + border: 0; + color: var(--button-inactive-fgColor,undefined); +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -686,12 +704,12 @@ exports[`Button respects the alignContent prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: btn.hoverBg; border-color: var(--button-default-borderColor-hover,undefined); } -.c0:active:not([disabled]):not([aria-disabled]) { +.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); } @@ -832,7 +850,7 @@ exports[`Button respects the large size prop 1`] = ` transition: none; } -.c0[aria-disabled] { +.c0[data-inactive] { cursor: auto; } @@ -896,6 +914,12 @@ exports[`Button respects the large size prop 1`] = ` width: 100%; } +.c0[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,undefined); + border: 0; + color: var(--button-inactive-fgColor,undefined); +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -934,12 +958,12 @@ exports[`Button respects the large size prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: btn.hoverBg; border-color: var(--button-default-borderColor-hover,undefined); } -.c0:active:not([disabled]):not([aria-disabled]) { +.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); } @@ -1081,7 +1105,7 @@ exports[`Button respects the small size prop 1`] = ` transition: none; } -.c0[aria-disabled] { +.c0[data-inactive] { cursor: auto; } @@ -1145,6 +1169,12 @@ exports[`Button respects the small size prop 1`] = ` width: 100%; } +.c0[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,undefined); + border: 0; + color: var(--button-inactive-fgColor,undefined); +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -1183,12 +1213,12 @@ exports[`Button respects the small size prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: btn.hoverBg; border-color: var(--button-default-borderColor-hover,undefined); } -.c0:active:not([disabled]):not([aria-disabled]) { +.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); } @@ -1330,7 +1360,7 @@ exports[`Button styles danger button appropriately 1`] = ` transition: none; } -.c0[aria-disabled] { +.c0[data-inactive] { cursor: auto; } @@ -1396,6 +1426,12 @@ exports[`Button styles danger button appropriately 1`] = ` width: 100%; } +.c0[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,undefined); + border: 0; + color: var(--button-inactive-fgColor,undefined); +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -1434,19 +1470,19 @@ exports[`Button styles danger button appropriately 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { color: btn.danger.hoverText; background-color: btn.danger.hoverBg; border-color: btn.danger.hoverBorder; box-shadow: undefined; } -.c0:hover:not([disabled]):not([aria-disabled]) [data-component=ButtonCounter] { +.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) [data-component=ButtonCounter] { background-color: btn.danger.hoverCounterBg; color: btn.danger.hoverCounterFg; } -.c0:active:not([disabled]):not([aria-disabled]) { +.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { color: btn.danger.selectedText; background-color: btn.danger.selectedBg; box-shadow: undefined; @@ -1588,7 +1624,7 @@ exports[`Button styles invisible button appropriately 1`] = ` transition: none; } -.c0[aria-disabled] { +.c0[data-inactive] { cursor: auto; } @@ -1652,6 +1688,12 @@ exports[`Button styles invisible button appropriately 1`] = ` width: 100%; } +.c0[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,undefined); + border: 0; + color: var(--button-inactive-fgColor,undefined); +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; color: fg.muted; @@ -1853,7 +1895,7 @@ exports[`Button styles primary button appropriately 1`] = ` transition: none; } -.c0[aria-disabled] { +.c0[data-inactive] { cursor: auto; } @@ -1919,6 +1961,12 @@ exports[`Button styles primary button appropriately 1`] = ` width: 100%; } +.c0[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,undefined); + border: 0; + color: var(--button-inactive-fgColor,undefined); +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -1957,7 +2005,7 @@ exports[`Button styles primary button appropriately 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]) { +.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { color: btn.primary.hoverText; background-color: btn.primary.hoverBg; } @@ -1970,7 +2018,7 @@ exports[`Button styles primary button appropriately 1`] = ` box-shadow: inset 0 0 0 3px; } -.c0:active:not([disabled]):not([aria-disabled]) { +.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: btn.primary.selectedBg; box-shadow: undefined; } diff --git a/src/Button/styles.ts b/src/Button/styles.ts index 674da9d656d..263913dc6fd 100644 --- a/src/Button/styles.ts +++ b/src/Button/styles.ts @@ -227,7 +227,7 @@ export const getBaseStyles = (theme?: Theme) => ({ '&:active': { transition: 'none', }, - '&[aria-disabled], &[data-inactive]': { + '&[data-inactive]': { cursor: 'auto', }, '&:disabled': { diff --git a/src/Dialog/__snapshots__/Dialog.test.tsx.snap b/src/Dialog/__snapshots__/Dialog.test.tsx.snap index fe4f5809028..1d7b9b8868e 100644 --- a/src/Dialog/__snapshots__/Dialog.test.tsx.snap +++ b/src/Dialog/__snapshots__/Dialog.test.tsx.snap @@ -164,7 +164,7 @@ exports[`Dialog renders consistently 1`] = ` transition: none; } -.c1[aria-disabled] { +.c1[data-inactive] { cursor: auto; } @@ -228,6 +228,12 @@ exports[`Dialog renders consistently 1`] = ` width: 100%; } +.c1[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,#d0d7de); + border: 0; + color: var(--button-inactive-fgColor,#656d76); +} + .c1 [data-component="leadingVisual"] { grid-area: leadingVisual; color: #656d76; diff --git a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap index e429a29327a..97eb74322ff 100644 --- a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap +++ b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap @@ -105,7 +105,7 @@ exports[`SelectPanel renders consistently 1`] = ` transition: none; } -.c1[aria-disabled] { +.c1[data-inactive] { cursor: auto; } @@ -169,6 +169,12 @@ exports[`SelectPanel renders consistently 1`] = ` width: 100%; } +.c1[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,#d0d7de); + border: 0; + color: var(--button-inactive-fgColor,#656d76); +} + .c1 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -207,12 +213,12 @@ exports[`SelectPanel renders consistently 1`] = ` margin-right: 8px; } -.c1:hover:not([disabled]):not([aria-disabled]) { +.c1:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: #f3f4f6; border-color: var(--button-default-borderColor-hover,rgba(31,35,40,0.15)); } -.c1:active:not([disabled]):not([aria-disabled]) { +.c1:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); } diff --git a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap index dd05227aa59..d69ffdb2132 100644 --- a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +++ b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap @@ -105,7 +105,7 @@ exports[`ActionMenu renders consistently 1`] = ` transition: none; } -.c1[aria-disabled] { +.c1[data-inactive] { cursor: auto; } @@ -169,6 +169,12 @@ exports[`ActionMenu renders consistently 1`] = ` width: 100%; } +.c1[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,#d0d7de); + border: 0; + color: var(--button-inactive-fgColor,#656d76); +} + .c1 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -207,12 +213,12 @@ exports[`ActionMenu renders consistently 1`] = ` margin-right: 8px; } -.c1:hover:not([disabled]):not([aria-disabled]) { +.c1:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: #f3f4f6; border-color: var(--button-default-borderColor-hover,rgba(31,35,40,0.15)); } -.c1:active:not([disabled]):not([aria-disabled]) { +.c1:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); } diff --git a/src/__tests__/__snapshots__/TextInput.test.tsx.snap b/src/__tests__/__snapshots__/TextInput.test.tsx.snap index 236a3218ce3..8d2171ff920 100644 --- a/src/__tests__/__snapshots__/TextInput.test.tsx.snap +++ b/src/__tests__/__snapshots__/TextInput.test.tsx.snap @@ -1766,7 +1766,7 @@ exports[`TextInput renders trailingAction icon button 1`] = ` transition: none; } -.c5[aria-disabled] { +.c5[data-inactive] { cursor: auto; } @@ -1830,6 +1830,12 @@ exports[`TextInput renders trailingAction icon button 1`] = ` width: 100%; } +.c5[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,#d0d7de); + border: 0; + color: var(--button-inactive-fgColor,#656d76); +} + .c5 [data-component="leadingVisual"] { grid-area: leadingVisual; color: #656d76; @@ -2429,7 +2435,7 @@ exports[`TextInput renders trailingAction text button 1`] = ` transition: none; } -.c4[aria-disabled] { +.c4[data-inactive] { cursor: auto; } @@ -2493,6 +2499,12 @@ exports[`TextInput renders trailingAction text button 1`] = ` width: 100%; } +.c4[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,#d0d7de); + border: 0; + color: var(--button-inactive-fgColor,#656d76); +} + .c4 [data-component="leadingVisual"] { grid-area: leadingVisual; color: #656d76; @@ -2844,7 +2856,7 @@ exports[`TextInput renders trailingAction text button with a tooltip 1`] = ` transition: none; } -.c5[aria-disabled] { +.c5[data-inactive] { cursor: auto; } @@ -2908,6 +2920,12 @@ exports[`TextInput renders trailingAction text button with a tooltip 1`] = ` width: 100%; } +.c5[data-inactive]:not([disabled]):not([aria-disabled]) { + background-color: var(--button-inactive-bgColor,#d0d7de); + border: 0; + color: var(--button-inactive-fgColor,#656d76); +} + .c5 [data-component="leadingVisual"] { grid-area: leadingVisual; color: #656d76; diff --git a/src/drafts/Button2/styles.ts b/src/drafts/Button2/styles.ts index fd5b955b397..86c9574c74b 100644 --- a/src/drafts/Button2/styles.ts +++ b/src/drafts/Button2/styles.ts @@ -218,6 +218,9 @@ export const getBaseStyles = (theme?: Theme) => ({ '&:active': { transition: 'none', }, + '&[data-inactive]': { + cursor: 'auto', + }, '&:disabled': { cursor: 'not-allowed', boxShadow: 'none', From 36b2c536d85ca1a7d874a3e4ff8fe39cc4bae739 Mon Sep 17 00:00:00 2001 From: mperrotti Date: Tue, 14 Nov 2023 22:00:08 +0000 Subject: [PATCH 13/21] test(vrt): update snapshots --- .../Button-Inactive-dark-colorblind-linux.png | Bin 6360 -> 6256 bytes .../Button-Inactive-dark-dimmed-linux.png | Bin 6312 -> 6142 bytes ...tton-Inactive-dark-high-contrast-linux.png | Bin 6147 -> 6246 bytes .../Button-Inactive-dark-linux.png | Bin 6380 -> 6231 bytes .../Button-Inactive-dark-tritanopia-linux.png | Bin 6360 -> 6256 bytes ...Button-Inactive-light-colorblind-linux.png | Bin 6147 -> 6277 bytes ...ton-Inactive-light-high-contrast-linux.png | Bin 6430 -> 6300 bytes .../Button-Inactive-light-linux.png | Bin 6381 -> 6263 bytes ...Button-Inactive-light-tritanopia-linux.png | Bin 6147 -> 6277 bytes ...utton-Playground-dark-colorblind-linux.png | Bin 6200 -> 6215 bytes .../Button-Playground-dark-dimmed-linux.png | Bin 6125 -> 6190 bytes ...on-Playground-dark-high-contrast-linux.png | Bin 6361 -> 6215 bytes .../Button-Playground-dark-linux.png | Bin 6200 -> 6215 bytes ...utton-Playground-dark-tritanopia-linux.png | Bin 6200 -> 6215 bytes ...tton-Playground-light-colorblind-linux.png | Bin 6427 -> 6271 bytes ...n-Playground-light-high-contrast-linux.png | Bin 6505 -> 6333 bytes .../Button-Playground-light-linux.png | Bin 6428 -> 6270 bytes ...tton-Playground-light-tritanopia-linux.png | Bin 6427 -> 6271 bytes ...utton-Playground-dark-colorblind-linux.png | Bin 6200 -> 6422 bytes .../Button-Playground-dark-dimmed-linux.png | Bin 6125 -> 6437 bytes ...on-Playground-dark-high-contrast-linux.png | Bin 6361 -> 6425 bytes .../Button-Playground-dark-linux.png | Bin 6200 -> 6422 bytes ...utton-Playground-dark-tritanopia-linux.png | Bin 6200 -> 6422 bytes ...tton-Playground-light-colorblind-linux.png | Bin 6427 -> 6483 bytes ...n-Playground-light-high-contrast-linux.png | Bin 6505 -> 6529 bytes .../Button-Playground-light-linux.png | Bin 6428 -> 6481 bytes ...tton-Playground-light-tritanopia-linux.png | Bin 6427 -> 6483 bytes 27 files changed, 0 insertions(+), 0 deletions(-) diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-colorblind-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-colorblind-linux.png index 17f885289a66c2efb2f940a4d2c9d6605c3d9392..d9dd6608e6a5c8fada7fc235a7e22b5cd87207a0 100644 GIT binary patch literal 6256 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 R_e-#oA7!MpAN$Ma{{gXA!x#Vn diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-dimmed-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-dimmed-linux.png index 1a4c059100c7e75e9f1f836658cbd79aa73ff88c..9a57ae787e0427f3359269cbec5bfd0c55b631d1 100644 GIT binary patch literal 6142 zcmeHLYfw{18$K%iVr|9NcEHw1wAI?N0jjh>xX4GfgN{?^HJD-(J5Iv1Ts3mZg~V#x zjAf8ki*O1dww19q1d1udkYFrAsX`JvATj2qK+XXqNg)a3e!A(;e)G-rHq$@(adzkI zzVGgPdERHw*^{s4=B!@zfKLXS^4ql-472)+TRRKZ*JR^{WRTJ z-n?qZ=O!5a@2BT*5Oi!~_8KsgeLN1d$D=Yq8}%R?v@6#Flc7g8{}F|F0`i^P zT}OGRKxA!bpb%pOBwvqICQEVH?HbMEcyUQdoI4FHXM8t$%XH(}7^e2*8EJ1%<+{nW zF|~ulm|98!P1NnKle4W0a}LJ__uFCNP0`lV{>QfFnO@tD3COx}WZ?Q6Iep<6R(;wW z?Q^>)rI&iy>lEiD?HwAQZ~kj4aO+t5z$>_*Fd*_~O%Z|U<+n=Hrt`_<=tK4OQH8+! ztCAz5*(%qg*bDwO{S+WkF80LzkH^n$a9zl?q>Hfrd_*35g*z&3t+9XPomwGE`%nUu z?p~8|A6L0LTd@he>V5|dlWto?LZMB5biQ9X?@L7P+!8xDnxKeXo$wBqLk(W9kFHR) zwGA4pkdeTmnnsvC0G3H5=B#xkC8+{lEh1C#4#n)-Cp{eSw0NaBR4U@|c&?yhGdU|>J+L7hI6ulV<2hXnKk_KLjqLgxSddTv-WRkYBL2UL}|@wjNU^LoW7A{6JNZJoisCV=w0Jx2>32r3i`sY04`fBg_TaB&pGxx+gs zMj3p5nb~9#>S&w_yMHt(9Gon+9YNe)q?XqFP?=D4;=~C#cc#CXsz_ckI)C`BR#u&w zJMG7Ab;0_qrnG$8iK=aI6fvV-2rju{3E`NSW=$&ejV<8Ha(o9NiY5>*o zwr|oCF1%jDwrO2*GNYoRB)OB;e5<=#Z!*DU+#tcCV``1q)eO%~JW|K&+ z-QH5dDJrV0?5St326OgD1PfnQ>&)^UI2=x}ecKH1-7IH&ztM#iqc3sS?OI%1L?jlh zbX=Fhs3@s9n@?tR?Z^K(Z5TJ3%}RwLJ>5_s?e1oc-3Kb=0@CN_u(E=J=7|{aTDr`# z>+c@}fBM{rDEyJrH4>#rl>VtNwFs6XSc+f?oOplrS0_?HkphYoP^5tV+yzO5H6pAL pVT}lDL|EgWzkL4pxb-G~dH>^0QO3Na9RS+U-j{QCcf54)_^%#>UH1S0 literal 6312 zcmeHLTU1k58a~xlJ6d3-t5cA2amG%0ut2Tc7MCED;i42!NI(LF!3r9Lh)xJ55L6b! z$gGf=)rtc&B#ID7OoG+O%@7@1Y^?!>93lpiGRp0Q1kjw2oRDO8X3fjYt4^QtaL!)) zKmTR_-}(Pb@V&^Zj>uVIyG~pX^NC)^lup*Y)wRgSkD3|6yt4 zdxEfd{L|k)k59h*o4nA7n>`Y99)mrVKbBgXJV$73i>E1;OV`)T6(z&mnp(L$My?9+ zi(wY!fyn#5n!magj1Vq1&I1hR-i!hFH{S(IgnpU)Xfx2*`Dzcyl)0jb?KVWQF1W$Z z6d4Q=*`MTn0AmW&J8y^bK_{HT22t(=UH@I27Lk&**JbeZME6~6zo_h*va06xuMbcd zti+Diy^7YU*nC?(bH=Rt&fEP@U;1r_ptHW^2ZB2MtBOeQ!`|j>3Vbr++FBLu+iE;q z6)m1!y=29;`@;4B)93ULK}MD5KHq9HZnlvhhLEW<`uRHPMe=9}89Qgcn)C()6*j2< z_-K7)MYZptc25pTWVfC712Gt-6LGPjYVqu%iSY27UGF6Im69vT<41tQ-g{+{i$u<( zm|kpmeCo#*!c)E!GXS*k)K>xj3nb6X<7#QO9Qs-ms?cJlE)^zQNQY;G{b$bi0Og-F zRvSg@=!Y2&5=Hc)My~bi>*}J#E2C3Kp(6G^s9r_ai!*6#I1ClB+0= zxqY%9CtLlYSquPyh<_-GBjM3meyoU_Z@${fDpr^lkkv~~N)^|UD6?pE)HP&a?B+<; z5HZ_Ra>A0n;QNF@^2NrF{5#pQ<5%Kpt)@h`NrFH?KH8fl?`K|SzWn|MI=$wJY~=?} z9*e%Vq)FvOVAZ~VZ<8c;99#%?+-AO5BZm60khzjtxx0ZQu`%40m$$N&Ldx(Vk3b*6 zGj{ah30X@nktAe0p4CM%45@g0%<1JXq{K}0nMazoW!6KE@ljI}MOp8t*fcwA+m4P; zkc7n@hqX-07}7wol?944SdoW2$a2G5ZPp5~^>0h#uInUB&U?Ipq=W=rg@YV$!$=OkND#ITW4Gx;ZTh(7| zJq?p@AyM*|3-T8%ri8S+ZjNNJ-rL@w3-^o2(zR7 zAyUiEw1dY>z((^<$S-EYb6a z&PdyF^lu{dJ>a^>G)5!=f~Xpp{id(*P9D=9gdTn~r5J_Ru#TW#aMDTYI{N z;X$g{jh8~uDkGegjYXSE*U~Yj>bW#byf@n$r0vh4$Z9dMjuW$f(04kDq{R@f5-A+e z*q(C`YLIe*&AEo6(ny9qHPEMuH*C2WE0(h2I5D+dge|+_{sXC7C}`;zIlI)De{@L(mexlfdzJtx_*I;w3F7PXcnJ&C3Dj@oSXDQrM6ciiU-P65@o zKU@T}oqy#4rZ~IL*>}(;KqL*i4ng9P-NjSC@@9<$vws1^)1S4uW2{aVIXnQ<(bW5e zQ(`dtkF&ld9tkHuBulGx+R!=7KrX4p=mpG{PXe>M7vtP0P2l}#8qZuo2Pdf3k=`xY zTfX#r3q%FPSJ7Y#$>0%P0r-J zDDZ!C`Jb`br`?kjvFfJ>JVKBtjqU?YY|HlWTtFByi<*KXK`3vUiC|5_hI?B~iuj4q!#U(B-adC-@OI%z6 ijx=8XY5C7VuUNXH;M*cnMhFk20HypsEkPV#c>Z4mbvhmZ diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-high-contrast-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-high-contrast-linux.png index 5445ea39c77b37fd31245a9c130ff9889f3aed21..78a50c2bf71e2b8c92fb0f9260aa5e430e70a614 100644 GIT binary patch delta 1745 zcmY*Zdr(tn7EiaWlroB~1=`&}=(N^$!9bfrNP~%3TV%6hN2-)Z0BcRQ-W1s^^BcZs&$!Fqi|Jd(}y(#RS(cX1s6& z=s7|ol~p;1^JGIcErp8YgxuXri;a30{jN>aO}4q5W=3G(?qzN)nzD_M5N#};(hSI0Fy$9x8*K7HGeq58`DBcB++HObJF$9p~GRn%^Oa}mYk4?KJpgW3DZ2aCAC zRI#vk7HVZ%quN~FzUCz5zeIw`4%*EqG}-}Zs$&KLS`x>IMQ+YB84RO@&JH*&qEe}% zVs_0%vuTRqry-HIPbPlXNQXM)j~j^iB|$_)g!hLW@%y<-_wvr}2$YI;!bJH|wRlA( zzD99sIX07_!w9RNmkkZ2v4B7U=xIfM3GA8wbuCl3l^8UZnU(ykTJqA*nYz~iW_o!R zbF*WI^9OoVrRD+o+9XS-BLaMh+-3pQporK8k6PKY98kYJ(aU7mrkb#17H`xJj^c*v zDgN`3dQDNiD={%qtJQuT1MAZLD6v-rP0Qz=(ijX||9Eyc4KJ^wz)83cND1BM*a-Sz z2vIET1hqhK(Z*BU)RRrFY?9SOU732Yi&_CMAB@q4?+QA2j^j8{Q^BswQQO@v8^Db8Pqv21A4dsqF@V z&(E;6Hcis>Wi81p|d?KeC+92t7hq<^XRs7@sa{zP3B9#3U;-WV(kogVW!OoT%u=L5EX zN%h{}S}65C#|$A;O0926t6n>u|G#-@Z~XgWEC2p2*|E`Y~OR(o_1%-3~(ZMu1El&|#toGE@^99+2OKDTi)^G4TvOW-#yqV$To zWqyR0ud1o4nv@o+#IxaOt&U<%G_Y!)lyvL5h`L*mf`>xh(|OxgU}KnM{h?T76e7du zL_@qM5yhPb0H%T;B?ae6^`Spy6*I#mP#B{xH2@QQy?OYgJw3=2)K5z2TqYfbwc!J?`# zj>Z!aevkqUg3G;<_5|q&Pmg$W^{$z_V66b!U_0*^X9B`DcqxG~as3k88o+lY-~mHl z-e>J?s^A1fa^I#&+s$xbfP(}qj$-&c;GBPK#Gq9At5w(IWA-GhNzd(c&TDn26;y<{}Rp=SfS^J<;5cV6LQUlu-( zI>P>-goU6QU{?13F1jV;I_#)AP#KK|Vc!m5SJCB~T5D01zf+TCR+gI`mD@Ivcv^MN z2)RO4?n4{%%1;+Izhf;gP@qw4LE)zJn>rKo&Lm0b#L{S^{(Nr?!+QM)EydT<&oxTq zOt3}H4Gfr~lun7YXjAQ|_QIAuXliB2daTT|CAj@!ayT&>4qN!@Oy|4b^}mcln5>Vo K_e=JbH2fEXC#`t^ delta 1653 zcmX|BZBSEZ7LJuJx>l&RyKDzGnXWTsre#Eo+7iC1)S6E8G7tLb-ByJG61_1u8MZX*>4A?rj%NUJF28 z%XI}eE_DxRl1Wp$qlrtn7!(TS?R&bKY%)?({){p*WNdDybTc-;2VThSop}5UtCU_X z#(6MtRu3dy{-&McmcMGndjcY2MSycz{k6oZrAD%mLYdm}iP@^1XwV%f6k%8C)h*}< zO}n>?n`fMnb{js9SgaOnzdkGCUhqg}<5#P&2Q1uBBgt4tE*$wHeO4QPmRE7TxFY7J z)#=`2f@s`6domN~cU zYf%%^&X5*AzBye(id;BVSAQP`k;JkI(Q^@n0hx;{xPwT_EoI8BQs0P-|At{9C zZ!8aN%|e?w(oO9o<>;k1wkFJj%vQfRSF0}KVLFAt$*|_up=D<+Ha0yD=xubd<`R;cjLCl%ZqeMcA|n$^Q?~+>9^I6##T> zUah}3;wT@CBSvBQ+aH4+4D3N6P!G5qb|`+^9%y|;>L6zybC8b6^@C})nlEzjemJa`;AB`W8&wXSW&hg+M?bRzMbD`OUmTo7`umNmo@>7rtWW!v0C>vPl(IC zX3f`xXC_Hxvk}E`4vjh=6^Kc#Hx3+aH{f6}F@t#X>2#Q5L>dR^tQ1%^U8XLAZ<*9TCNq;fFvjAt!ha#trOVW} zp0Ws&fwvmc?`-Vpy8RL=Vs`{ba+K{aka_B8B`ehIxtL zieQNbiXIM;Wvl0FBN6Us@AdnbBlV0eYUOh@L06ugF}PHs@4fCDS7}sbBr`V6qsf2G zIm|^3Ag(-Gww=UE&is8#0)je~;&xd|hrvW@3Fh&lV?7#^e^R`ss}L7;1XYE`Trm3E wHGXoW^M798C$iuTo2#?OHZO1ZGqL6Ds8m<@)nFCblyd0c`|pe%_{SIj1@*O{K>z>% diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-linux.png index e027b0df63813ffe0c1ae4cf1f89bfa34da56490..2ce2acffba0a4f64a571449bdc900546381cb08f 100644 GIT binary patch literal 6231 zcmeHLZBSF$8NOCs1nNg?SFFIs?Q~09AhAY`;pfh2?&lMwRNlTN39+8^%D{^*bV zxaZ8d?|I*I=6#>%Irp9`Co(fOM(l`yAZX*^chgTo(Arnvfi}DW-hA?tgksRGK~82I zgj%&R3lOyZdxz5x{I*JHnJ~36n6zG7Gp?4Z1=RN1a?_w)W7e*Q%ImW})7e$*}**#1!5csjC?JS;$x3a*j%9J@VmK{zaM zSEe=9bF2p_Kb~I$X1_bQ7J`2Hm)l_w^wG}Oargi&AwKHpNK&a(odv9O+oHBHkp-33DYZ~# zj-jIBVvW%#IGVZ%ERl6HCw%qt<;$2-k)~3`%i6R1ru(K7T8Y{(7Z>jrJy1Wbt)()T z4C1#U!Rqm!w`PB+te)z9^G!Qk%wjS0n`644odt2q)=Q^u(`h-4V)5L>&3B5=onxIk zl|^!F2e$0DiTmf6z7B)t?2{U?|iWYk!aY+zeB0uM!;T$(FJ_dmv zo+e_5Ug2ph)wo35ylqiY`MzEqqDn4ppa4xkh~jBvG-$RW4CH+x7t6p2JnPL z5-PLG3q@7lb_~M=JkJQemcTx{s8Ldn0cdSKLu!8&o+`wHKN!uOPmb@pdjc+ns zuqWC-pSiBtNO``8;2j9Vdzi}762+W87zV#aXb=cEOP*eDUvi1C*>4IXp|-(->VnK7 z`L4L!s`sC>OvQFDf@+3_hEi7Il}Uw#g@`AXseKP#@fVepD2!I;^wnl92M(5mn{z5~ zhi{fm3UoRhwQ7D)txj1{5kxnlqwP_Ar_|kt6GRe;M2ah1s9Ig`U%iT$N5689l=2b9 zvbzTF)n%a`c%_%?`6|PB9QM@MkJAH-a@P_EPaMhRqSDTe)#ky$;{ zqg&%L)lIM$3l_>~kTz1;v&%)o6`S0x!J~rYI#Kr2e<;wIU7=H(&A}vhc6aYm`eaJi zC#X4R9B$4m@y=dNPDc7`Dd;iEY&ja8{ilgkyXD}Fgy*{^^Uyh1sG#XELwk^4;OvG~v>d#gKUTwNhsB-%(mQJ|* zQ8hXwqUF+9jf!v(POc!*21x)bt0 z1p+Ju$-fpuP2oERltMya-dzvdCHxf+YqH0M#_?y!ojpCN86sY#-_}BB=^Q~qP^*>) z0oRp#o9QWgucy7NrA>JHS(B+Qjd5YvK6@jOR?0Dw4kbr*^h!oz4G(C~w}AY!?_~hn zRKyhfL(u;Z5guG0=0n-9#{c%kf0Rsl!D%j0+x~Qh1YEj*52OwiQhTBi`P-xa7B~2i zQnI(9p+WYGqhkQW@_$Gw?mhX}I_>e40gmn2Q$Sd(R{UvYrB-wAMsz*jN~9eOr?-I-@jK|9 z*FG=4_5l-ec%5T7l%-IXzO7HX5SBt%3SkKxY~S>sC`6zTfkFfd5$NmPq=Zx>q#7aB n2&qO$HNO2@>i;Bjoew^>j zIq#YGea<=W`@H9z@0Mtuo$ zrR~JYj>2gFcOUveBW}L8H$Hs!R+;?0yy!oFo8$TW8Y1rXw&>|!^F^Co2xSj~Gk6tK z%dG!sv?|DoV;}<;*Oo#T6)B{#Yr>H&34Ip`<rnM5V$3nv57;52Z_U>&%rvNmHq%HTB zO>~Yuy@FoxWO2mpLOkd5e8mSVSWsc=VzST1v*7XMY+lgU1j&`wh1PmOY0)GRl-(I) z!IwnA-=%P+J`WFTe_2p2)c@`JzD@6!KswwlPc|pXhATQz=uo z88gAexs{7pEUU9KDcc;u|6=XD&cUwJ%>UBPMJz%MyxYo<(tC}iGaXPx!QIew1AhTw z)DTtPOL$PrzRS(XDjTmr$F6gj-h{zFOkWQokxjZ{AON|hHJaIsZuk8(Ti)o|$~f^% zVw5()v=&}GCCI@kXj6nsz93RqP8*uBx;6wK5Vtd#oQ5kD-Q>@d=XwvxJ0@fj8)dEo zaLYh>yNt5bXeC;2 zHX8bgMTNbG@pz_V%TT8oGTcwVV*O;cQ*O8A#3s?$^QI_NW;Eix58=qk$!3+INj$isU*_`%AxbhExbtx&QoS!vDNgm1&1!Y zq2-uib&ErZoGwG|l@6iRSy7&4TyR0e5RL$R2E zD$4E=O#y6rj|c~o<7+Bj1yvX(>klg25;;KQSzvjH0}Bepeo|MfjkB9qxkiOa(bu8x zClw>Q4X)&kja4Q^%U+^433G!%qADv^)%VZakE3|E#~L#`TW(havUOL$w*dGH)$+)i zHQJpUcb9EZ=z^zHU8?zC_^ShiLL!}_e`Hl;7^rlXpPx^MWbz>lz83^?uc+L6!!yeh zrf6i!hOhOVc^qRTqWZb?i=sSZt8F}KK*gTRj+H!lCeqHBRGF;RTEp1JUxIXE3c|bdy1ydXVKItNWx+r+z8Y;_y=$`#uo?=@zbGJiupk> zak2NhmdjZ71kwcYfj%WYZ-iY4jzq}sUi}vunP7e;;7+q5 zTaIj#RAkGi{003TDLCp>1CBhAd5qc}8717){kZP~$^MS3*@5mK&q>?8sywLvps_A!OhqITl(!pS90 wE^%^+lS`aj0^a3!{%zPvum30X+T?(`UH-?h@sZ2h|1}`dCu2`^MVz|yPxua5KL7v# diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-tritanopia-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-tritanopia-linux.png index 17f885289a66c2efb2f940a4d2c9d6605c3d9392..d9dd6608e6a5c8fada7fc235a7e22b5cd87207a0 100644 GIT binary patch literal 6256 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 R_e-#oA7!MpAN$Ma{{gXA!x#Vn diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-colorblind-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-colorblind-linux.png index 051e115bb9035f694206a0a5789b532b0bfef58a..06b96eae488eec2a570f8b225c7a7dee47660730 100644 GIT binary patch delta 1784 zcmY*ZeN=Fduv4{@VM;d*Anc?)ly4 zKJW8;1SuDHUrvGEB_BGl@8c?=&17j@uB42-fbF`Hy|z?^;oGF!hl@5(%A!AeC*}P& z|8b^Z|ChL5lP*i%-SGn6zOnt|6coMHysh@NzoNdclYkK0e8DicJBVTjQ8|PLrG{zNKLrrTR9lAxNffV z(Rox6shwWhIa?+c9*!n759JThdl?jcpb=Cb$?r+-Ga`WzSMuBqQ4^8t9W#PWCO1eT zc{?p`H4;xsowyDa=*zD6EU6Q*=L-ojLvH~T_oXay{dYTF)(PJPJM=+esL%P}{@UEq zq0vHcaHdmOF(o3gsJSnz{(L4HoCp*7b@AX?yD=Bc8^gF@-t@;%pU)N0dl&BDTZ_of zE?L{!eX{?m=UIWOH=^hbz%YvWNrE3*`GD-N=eQRHX=ySJW-cr)7M8aSSMu$iOn7TS zvA-WR`u+*Ei5)}S63>Hz4hvthGhf$d_strsmbO^-2DO}3f3eZ0(R@|nuI1PpGBy7? zA~ru66<~7SFiEs7%ZFni&laqMRubr^?vi$BW(vrRUZ!EVQ;`dO9~e1rYh!K-lGYW) zM6Vk9m?Ck`DO97e{wU*hs{FrX=}}cmpU-DwnX(a5cz8H#WoltyNeA875E?H`D;J|g z*x$q%CkzAqO?yRtOm!nPJ}V_OA}7mr-WP*)Rw^089)e3ZTwMv@x>tuTj*ky`%q?cK z2pam7N4*b^d!>-6Jl?b*z^^}7t{+vU!~B=B_-gC$E4v8x&d_KKn?@PffNw^) zmLhYvIytwmZUdklsKcIRuM*CWV(47g64vUlihxNxno@|(w$1Nx@LdM9l^L)R&stZE zpQDttH0)YwKtAy7-x4$Q8v=h?X^CUD)bXDSJVwNn(PwmC;UGLDP0F!J%vh;=G1hGt zkY^(FluE7AdJP9}y zW6rW4$bj0T)`EQyxGN%majbZd2FDV)=h)UclFBuYR2S>#S+E{L)vxSrnX0D^SdW;p zCoN6nekAfs^&Q&Bg^r(t8ZisX!DWAVsdu9A#EE7}=ip~-$NU~OXqd@_#+-HU{h1je z+v_eXQ3Nh*V439loNZVTeSR;JyzZU7c#*i4AexnSbZVSVXVhvQDEXvb{>eU7cXw)I z&ROVWL>&L5UE%P1)T(u>_f?-NS6aQ6NK;?aVviD~!bA~w+4#90McwsLGG%v8AHval zwFuw78%;_|(z@{6zaBew3@Gw7%V4Y29AVpq2@{vJ8jang0BWi-cNP@Ts8nQFssWKQ zA(Ve#VTsLU(=Um#c8l{A&?!6+8-u?voekV3I9dqR90WLjuB!|*p+mWr36*vBdz~MY zVu`?=Mm|bmS@6~L=w5JTdV6c8cM{h5zH2$nwObJt0(&u=_-W#?T>$SlOK@)MUdD3wWw)TJjn{e!THlJa!T= ztC-4JTiqpX6V5y=m$9jg+~14(G8psehF*GeoS|2D(14@Do%?S$l!OJ7eKMHr6^V{0 zwOR(OA(2Q}W=+%DHeShNB?qG$dO>0#B%J3YNZJ|}ogxS(ZdRsOw@vm=sPXNqDPj4z cn}N69CTnJVKWx1Pz>q@+^A2?G|4Z$E0UadMqyPW_ delta 1653 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 a=fMz?36D@wfmMM53Gakz1)A_mF+2hZrHnFk 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 T6E|8xIKz&mrXLX=E~xw$&ry(v literal 6381 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 delta 1653 zcmZWpYfKwg7G{eolqPEwR$8+S!If66l?`hed6!2ZMl_9Rn-z$pDZ60L0`Y@BShAr%joxWsiFJg8|Cbs3LI7VMZ}n}v9W=h$Yjox#}Ci`0Mp zbI(2c&N<&Xy7zo-hc3VV+3N^@{Ovaj-)+*ayWLlOkuwuPJ5H<-v@F~1`qxjXCqAG3 z_o;)YUK*Znd%v*d<{Ll!skO=9hJ3=0C$6-exWD(nC$B6d9veE*^>W7Du~FNDTOZ!F zxNI~*5O{FGnJPHZm(xvHg$Di}Eu6y~(ZjTdibi9^Y}MH5-zFp^eD=~E^>iY*B*^vM zT}h{qZ!Yv+i9LXw6xvfuI1O|C)usp!UbZ;clR~m1T4GBsXpyNGf^g9h9?0^iR1eNn zU7R{*RWZc&V}7RHIWlZ>n4^$NDs?!#`}?@TSj^>h>(*DxNEKDad?jeEOV2SjPfLH3 zkWh#3e`ks#sEXd>jm35cn}qPBw}#fMz5S1}OjLG(I(WMXgw6Nn1+um%?1HM_G8!Mb z#-ivjlZ?aJ4wCVHtDgQ6bOK7{EMbA|G1uWn?+18&#(AAZZUz3A>0rJ~QhK5gS)R#* z&oa|H=#c)Y_PCQy3#EeGG&qU3wa+rxXhU8Mcs>nvcA76x6Fsj2=n~hRk_5~vg~`Ax zY)uDe>qa3G#PI?B7p!l9XLV#sa+#wMfpR~yk{hxz6WyaQm-NzOOPxcypCp`L32m5VE>P3 zvZsJyN{DTi5mzGX!^0PPL? zU8uh0Jjoh}wP6`iLnzlCqeaE`A%ji1K8t&;e=%CVV4wX?%qQ@CWeb@Yu_+PKt2q-A zDC$_OTp{L^%_MqovRb+Q7`25^Od0I_gL*wCM&J)guK^1_RS>vxAxYzmh6Gx65rRf& zB`4v7QJz=O_uwUNc>`bWL?03OkPR26>&70UWG3z4c)mF7ao~w_~k@Zib z<3dQnZQS`IHg5VpdNLxiP~86p^TbHty00!4o2jpj&FIi}k8BF$PPpl}lFeML!zp`D z49B0*VV%Mb4^vBJg|08y!VH9UfBbosQb+;f_Dv*6-cS100r zIGeI9C%;2ce(n9ejL_M`tW=szr$=sc_iUkahzfAs&V6#DfYtpSgJAQWZM#Imd~ZfE z>o;j4?!Vy_N}%{?m%n>eEI`hakcS~x&v?=1`RSAuC`&Ww!x|v-5u>s+5Losd{}?@& zjmSe}^*U|W=8oQ{JF;^t1%Tq}ldkl7ZZY}Kht`xt^87fpk7rS1v^*0dFM9p2K zrV^qFP%xG}wMD zGs!$d^O*lf`U_S{L5&;|P?wjNGaUnd)ZOPKwkX7<%Jz%?R|QBvYX&Pp}| zWd8QlQKMBtKLVdLp$P)Ih|!L4c+RR)G&D5G5QO_$Gd?(MFxY?W7E;q+orGtJd=Tmt ww!gdy>_ntp`oMT|myKtgAQ|ft+ z=6vTn-*;wyM_*_u{7WJ5`b!7)mVGRct}HMwviZ!B0OIvE^4Y`OyNg5A{@i~YD{FsM zbZyh#E#dF}+KDULaVGoaQ!kUwZrpO3TS?S>ymQCHwT;!d&7@=cW4EsF4IFxH;G4Gx zk5`F5e2O>s?dV%XzWj)`G;vn*#%d*fjaV_;9@>wU|eZyue0r!el9F!l2-Yc%KSNa~^I2;-+5TBqYubO*Uct(=hAGpj&9S&(&wLL6L ze)>BLMsL#0PZ3uMnc4kly9!7dmw#cV^B06DY4^$%#F$z^!id>hM~0u?J(q!57(xF> z&T{C9RYoIs&?0UKDvi6Zg_bLT%(OAg(ZO1d%@wc^+RE7sCMSoaaqDn0K@I!*d0Lp zdD>Hu`QlK2@0DERPiI0`W*jAi)cyUgF2H#N9XYijR9g$gg2}mC{@xI3E;Z+)1wp>%QwBfWOGEgc1-OkM;64JgeIM$LW)mns8=397GKqnQr5$hS`T z1PSg$`fsUFoNW4>%`SO|1D)DHR1b;nCL`PZ-8z$VH}A{vS>c27nm8>b!_@i1`2#Bo-$9O2ZL`WnIOTB*S z=;$a2R#jI^6ZF8hAZQQ-?&PJWy4c~fj}KB9n1Hx|^VMW#=?6LmZwE3E=)+u?enqSuYVkhJ$T&9bggPf*3WC`v49}_SWnw@g zk+k^i!hI;_)t`U3+nIirhL(#%?MoK)O-l!S#1wSKZ06YWDr&Q+CYWtr+s-f#3{X&} zJ#cSpe7r}Uhb>jQA}eZj%WoE{0b{F>Ez^Ht(k}t3ZbIpr*DnH9jNpB*%?w1m3!!HX z=Q*ZapwSbE2FkW0F@p#0MV!RcC23dIc zAZ-4MEt~bHr)uL*h|%1F8mXUgQqbAiXj3Bq;CQZqvaKv>}QxRN}{dsHH8r%hiFT&LJ&gSnio-ScO~^exx*~F3qk;soWm;@5eb^Dkg6xC8qR?N$Envv2+lnIXAU delta 1705 zcmYjReNfux9VfT0nq`$-ca>#jkh^tdyL!=#HUv@G*7mYoZg_nqMwGlPa19I+ObUqM zm&Il5&Lyl(8>4{qmbSSqqDh$|0VKu|tNs9AP8{+Ub^g%us=O(0zdh{w$NqV~e|%q_ z=lQ&RCu&A&{#wJrZ5@5%SMN&H5nr=dy(Yb~%>8^{^T(T&@n`2>;y=HXMA1*a{JDz% zvy=QsPkwlGnDe{Tl~4K)eEq$@zxf}}=)mhAAT3S`H)D|DaD)EC`!E>H{vKcB%?AJNg>SrJV%WL4xv5syCBE9-Wjj4=Fa#g_uQd%S5r@Xfv9xMa$H8Uh zr;N2*IgcTrwz*t&d1RS?NY(u^!sS2=27{w_!{b7N<1|ku2#j8K{bUyg6MtTUd}bA` zO;vT@a|Z(S>(aS&#;S>|of}{oMXozwX8fuQlw91{3KKhIKhm4`R$wcTxi6-<_0NKA z^$52jo1oG3ZoKwMRrMcJ95RhY`@h_RXy@&EGK6N-YBem9{zFwlR#-u~pMqC>UiK{W}`rgX6I67!y$`un^-?3z%{EIc~N#Jvcf- zVbdiwT{>I8L!-UN9B@=aDMv?oV?vKc8a*DlOeP}`3Gn3n{N?##H0oy=+uxh{4#0v{ zJO3G7p1pWzLe;a{1K2Ce1suFZA#7I}f_Jb1ZO_f7f%n@APjqgdPh&fc%u)id#iWIt zlarI?ooTimObdsjj_(AwpB#eR5gqw zXj(aaoMx2^8?1>9l=_GJ2JtBYx`NZ+wwZG(NJU3C?*JJT-E?dTq~AJyRm?_jw`mi@X)2*WT5D$e5xc$mrds_63M7=S~iG6^pL*-F`iCJDi!r^fKbuu0wcH+b_$LfSKIG#b@flG*ZrO~U!jm=HG@J7&UTnI-Z z_H&oyQJ;xMB9RiwZOLeUtIG&UcIMy}MWBWFWBU;K|N-pW}wsvnG=(5Q4en>jOREsPzxHNC)hg^2mW+!wF3?M!{@_WS#&O|UENs;Z>F zje^d-Y43LnqM_b35%ox8ADm|Qb)xak0Qz~X^c|F&&eaJ8IpKT%B4~;K zO&S##p+fdLwYL2iz=isT+TO@ox~dzhkKI4cx2IicrCcl&iYqG8R^<+Gl)71yE21Ug z*<9>FSM_jZpk=aT+1upjvJsuGNl?ulV%h!vYtmIa)Wd8w9@YkS1dTf+NJ(@qFORXT zQr_^efx~<78b#n&HyZ-^*_11kQqv*%aAmXJ!gAOFF&sQwD3JG;1kn0Qv`gV^&$@STO#xvCX@bzj=^&WmjGVl2B@S_a l)}Jb$!Rqgqx9qA+(s8Fpyt~+s<)8+0^i9Sa1HV3b^}qYZyaWIM diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-dimmed-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-dimmed-linux.png index 7b9171e6cd9b6cc8488eeac98c11b51e6d3b79ac..a7908879ad177ce009058d98b3da8d4a3cdd72d6 100644 GIT binary patch delta 1671 zcmXApeNa5duoNN~U>w`EKv=n!$XBpbh$T1ohPaXjNg~E16q0)(fk1LevWMM2&OP^> zGr#w|=Q;0rJWN&cKR$%!k7gb|E^YHzEDc{*oO-3&-M$shLZIWe{K zNY4j{esSUW+gmg3*AuQ>&I~cx$(oM$_FPEFEZWs^M+1dTx8eoHCdq$H`Z7{zh?S&9=93H^S*u%e=3bMBSV$X+yKocUV-dGsc~%s}TuP6jg( zo1UJQBaMA!%dZ$rCN{MyieK6D|FG}Pn|gn2iO}d}?+!Sp|a?iZmb3XpGuQgAV+= zYhYy6L$t-FqzIi;(K`O4i=S%3k9n?R?Hf%x#|t zLlI;^B69iGtPqP!UQ5Ns#yZU}hCUL@$aI&r8doyIKAKP{v_H8XaHvNLkG- zD_xw(FMZvqnlJE(Q3h-J!++M&LrZ)~Y3Qe6XBjsQ1F48a6{7g{1)ggM^xVbv5}r=$-$`lB?jX)bV((4{Q-*U=13A z{C*W1UnJIjYkC0Hyndqs&EnRW)NvRxJeN3{oJV6K^ziotN?J+fsl2>aQ)mT45Tt1@ zPv{xEE7`cV!x!d;?3Kh21QkD;dosL2mCvUKIpFrra-q2ScY}F?z_*ow2Ft-{IJu4& zgZNOw?$6g&>SXrk-1a!z>mI zODc2Zq04ESl5>KCbZ{I^8$eRU8!W)6E z)8tR9CahMkHxEjeA82#9D~7lOrRQ&|=&cHc?nSf9I6Yl}5jc(*jhDj-Ao9}RX2-{~Fax2tYPzX_%6zrv=5KWga>)F)vHbgjse%wwlVVti{(?~LKoxjOjh*A;X3fJg$guf1FV+t% zbZ~u7e}Jo`WnAIW)12Wdy{#XF{@d?uC#WH3Kmw1*zBt(sXKtwc1ayj?o*v+sct;jU z`Q6COAabK{%^!&+_@gbE?w-+ehNag$n>}KkyjTLJ? z7mvP^KDb|AsLD$}(3N!)l$KYXNdB`ARB?aOnKr%8<(xIMsGMz^$iMD|^4(zgJ`IeN oTks4xYU}eD_$-wlMKeHAyJP!gMFYQm4HhX!KhDWi9XWgDzjybVCjbBd delta 1604 zcmX|Be^6Ri7N*l~X`5|qr8y;w~Kq&&z7*O%?Gzf~od%gLmf8DwB zo%?;~eD|C)dKk<5GG9D&;+?XO+Ilg6Rei6gxnt=lm3IDLU%gh#Ga!Z+w5OOINuzEiO`VywuOn1qf#P1Lb~R>d|W28o%Atlt7s zZL?>8eszZqH9@C`UFpqb+eV9d=g%Rjgvo@M5~B~z$`jdZto<6?kF5Xa@q;W&<2>DO z;VL3lZ*5U`KL6Ly_GgJiBD5O9hG~DGP&!%{4?UH6Kc9R_2ctQDi`?}oc(-{~@n9er z4_mjl3{jsfL7JtxO*P3ci9zf|$yb}5lz$TF8-S_hGBsk7d-iwLr_wt?ZOJ<_=% z!dhT&ZD_@-W%GEXEdp}lN_A+7YTJK^Ki(5zjXKp~XP*2lkZY3(+H+F(7@BYrifPX< zufrlkcyD1rsl>I(sILoVb2G;;SGTy!RbjCI;h}9T% z0$7J7ltsFGre>uyx|sYstz@@4R4utJLbtZcVW{D-`bKhT+g3sl3wEL1ufb7bYH9CCMV3$CzdoW$XvGV{q8`O_(28)fr?A~N|lxv{1_GkRLq&`_LRDBFq7!v20| zXCBf+&6@0WHF0O@s^Y@Jpep9-?dwDDK@5HIk34yP1dVI_2q1t1PwK z2HK4L=1-2Iq1ejYAR9_H5h*o!AO_Sd&4Gyl^3G_c-O8d;yWoINH>9CE?KYvM{iw6Q zv_C=@l3q`p(I?-0n9Ylh>H98*(n?M$MMai4fS^MhyjI!-kw~T8ZnFb@TQyrxEa}M* z|8&H)F=j@RNvg--yfQd=hAAk_&W42}l3TmaOF%Dm1m~-=w}<03r-$RU#yqJ>h}Ic( zR59VnYscaTSt0j`FSfbFk`cg6k@)xyw6F&x4_KQui@}LY(lK9*&Ee?$EgWdrwH~ia ziE|~_)q1*uyx(w=HN=}qSDSi3t7;Hre7wiTAB$wGZMoO${pEm#0(q{vH>yp&57*;Y z(^E^gldI8L8P=HAt6@Q1`q>8%R;R-Yy`ZAMbwc#99)z%exUIxJ*{ zcO8E3#a0-qw5nb>XXZkejs^5OVl^~k>d_<7=rZV{$_#rKdjP(6v&D3`JX-HB?XNOw zq>>PrDjh1BOs*RY|4b3)E}1esom?TLvc|@IsqS8qV0avv|If|A?Be2{lwMV2_P5Y@ z?MHO+nyVUKufXgtfm8+5E>9>RVCd1Pt4>tHxq&4Uh8B#hmhDZ0;W@g4Lq%D1Rbig9 z2yt{huA9tK^Hju;KKL#158`1A>Ko$I#O@OO3y@WqM`VJd?SBMefpe3`_G_Pb_GPFY zEQ2~@Ay4+VbgJf7g@t$z!1o2)GiBtX+Ct!bfke*86}%x>1S7pU40Z>!x3ZN(%Ms1w z;$KX6zU|rl9oR~r7fqJvz=~vk+W+I@O$mGL>M%pVeGZV~7o%VllYumAHXx^Hh( zT{Ls`=-Qg4O;x~f_KV`hfZxJ!cbk5hgNMF-8QfG)M!$i}sO}fE4OC(FDn$9I`^O0+ TyiW!&%8BDA-x+=Dlh1zxY(0c! diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-high-contrast-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-high-contrast-linux.png index 1a6f14f40401cf8c2e87f0a901b9c14e38993f56..27b289bc5804e2e7e984196eb685e7b0d05b7eed 100644 GIT binary patch literal 6215 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 HndScgewR*9 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-linux.png index 321b19d37f3487dd257edf5ecb84c9b55d70bdb6..5d9402a7fccda1459709e0de351df2d590f6d630 100644 GIT binary patch delta 1700 zcmZ`(dr(t%8co+$c1o8xI!e1mvd%bTyNLycE-?*BmR%j|Qe|4(3M+xODZwtppef`* z!d>gAQ|ft+ z=6vTn-*;wyM_*_u{7WJ5`b!7)mVGRct}HMwviZ!B0OIvE^4Y`OyNg5A{@i~YD{FsM zbZyh#E#dF}+KDULaVGoaQ!kUwZrpO3TS?S>ymQCHwT;!d&7@=cW4EsF4IFxH;G4Gx zk5`F5e2O>s?dV%XzWj)`G;vn*#%d*fjaV_;9@>wU|eZyue0r!el9F!l2-Yc%KSNa~^I2;-+5TBqYubO*Uct(=hAGpj&9S&(&wLL6L ze)>BLMsL#0PZ3uMnc4kly9!7dmw#cV^B06DY4^$%#F$z^!id>hM~0u?J(q!57(xF> z&T{C9RYoIs&?0UKDvi6Zg_bLT%(OAg(ZO1d%@wc^+RE7sCMSoaaqDn0K@I!*d0Lp zdD>Hu`QlK2@0DERPiI0`W*jAi)cyUgF2H#N9XYijR9g$gg2}mC{@xI3E;Z+)1wp>%QwBfWOGEgc1-OkM;64JgeIM$LW)mns8=397GKqnQr5$hS`T z1PSg$`fsUFoNW4>%`SO|1D)DHR1b;nCL`PZ-8z$VH}A{vS>c27nm8>b!_@i1`2#Bo-$9O2ZL`WnIOTB*S z=;$a2R#jI^6ZF8hAZQQ-?&PJWy4c~fj}KB9n1Hx|^VMW#=?6LmZwE3E=)+u?enqSuYVkhJ$T&9bggPf*3WC`v49}_SWnw@g zk+k^i!hI;_)t`U3+nIirhL(#%?MoK)O-l!S#1wSKZ06YWDr&Q+CYWtr+s-f#3{X&} zJ#cSpe7r}Uhb>jQA}eZj%WoE{0b{F>Ez^Ht(k}t3ZbIpr*DnH9jNpB*%?w1m3!!HX z=Q*ZapwSbE2FkW0F@p#0MV!RcC23dIc zAZ-4MEt~bHr)uL*h|%1F8mXUgQqbAiXj3Bq;CQZqvaKv>}QxRN}{dsHH8r%hiFT&LJ&gSnio-ScO~^exx*~F3qk;soWm;@5eb^Dkg6xC8qR?N$Envv2+lnIXAU delta 1705 zcmYjReNfux9VfT0nq`$-ca>#jkh^tdyL!=#HUv@G*7mYoZg_nqMwGlPa19I+ObUqM zm&Il5&Lyl(8>4{qmbSSqqDh$|0VKu|tNs9AP8{+Ub^g%us=O(0zdh{w$NqV~e|%q_ z=lQ&RCu&A&{#wJrZ5@5%SMN&H5nr=dy(Yb~%>8^{^T(T&@n`2>;y=HXMA1*a{JDz% zvy=QsPkwlGnDe{Tl~4K)eEq$@zxf}}=)mhAAT3S`H)D|DaD)EC`!E>H{vKcB%?AJNg>SrJV%WL4xv5syCBE9-Wjj4=Fa#g_uQd%S5r@Xfv9xMa$H8Uh zr;N2*IgcTrwz*t&d1RS?NY(u^!sS2=27{w_!{b7N<1|ku2#j8K{bUyg6MtTUd}bA` zO;vT@a|Z(S>(aS&#;S>|of}{oMXozwX8fuQlw91{3KKhIKhm4`R$wcTxi6-<_0NKA z^$52jo1oG3ZoKwMRrMcJ95RhY`@h_RXy@&EGK6N-YBem9{zFwlR#-u~pMqC>UiK{W}`rgX6I67!y$`un^-?3z%{EIc~N#Jvcf- zVbdiwT{>I8L!-UN9B@=aDMv?oV?vKc8a*DlOeP}`3Gn3n{N?##H0oy=+uxh{4#0v{ zJO3G7p1pWzLe;a{1K2Ce1suFZA#7I}f_Jb1ZO_f7f%n@APjqgdPh&fc%u)id#iWIt zlarI?ooTimObdsjj_(AwpB#eR5gqw zXj(aaoMx2^8?1>9l=_GJ2JtBYx`NZ+wwZG(NJU3C?*JJT-E?dTq~AJyRm?_jw`mi@X)2*WT5D$e5xc$mrds_63M7=S~iG6^pL*-F`iCJDi!r^fKbuu0wcH+b_$LfSKIG#b@flG*ZrO~U!jm=HG@J7&UTnI-Z z_H&oyQJ;xMB9RiwZOLeUtIG&UcIMy}MWBWFWBU;K|N-pW}wsvnG=(5Q4en>jOREsPzxHNC)hg^2mW+!wF3?M!{@_WS#&O|UENs;Z>F zje^d-Y43LnqM_b35%ox8ADm|Qb)xak0Qz~X^c|F&&eaJ8IpKT%B4~;K zO&S##p+fdLwYL2iz=isT+TO@ox~dzhkKI4cx2IicrCcl&iYqG8R^<+Gl)71yE21Ug z*<9>FSM_jZpk=aT+1upjvJsuGNl?ulV%h!vYtmIa)Wd8w9@YkS1dTf+NJ(@qFORXT zQr_^efx~<78b#n&HyZ-^*_11kQqv*%aAmXJ!gAOFF&sQwD3JG;1kn0Qv`gV^&$@STO#xvCX@bzj=^&WmjGVl2B@S_a l)}Jb$!Rqgqx9qA+(s8Fpyt~+s<)8+0^i9Sa1HV3b^}qYZyaWIM diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-tritanopia-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-dark-tritanopia-linux.png index 321b19d37f3487dd257edf5ecb84c9b55d70bdb6..5d9402a7fccda1459709e0de351df2d590f6d630 100644 GIT binary patch delta 1700 zcmZ`(dr(t%8co+$c1o8xI!e1mvd%bTyNLycE-?*BmR%j|Qe|4(3M+xODZwtppef`* z!d>gAQ|ft+ z=6vTn-*;wyM_*_u{7WJ5`b!7)mVGRct}HMwviZ!B0OIvE^4Y`OyNg5A{@i~YD{FsM zbZyh#E#dF}+KDULaVGoaQ!kUwZrpO3TS?S>ymQCHwT;!d&7@=cW4EsF4IFxH;G4Gx zk5`F5e2O>s?dV%XzWj)`G;vn*#%d*fjaV_;9@>wU|eZyue0r!el9F!l2-Yc%KSNa~^I2;-+5TBqYubO*Uct(=hAGpj&9S&(&wLL6L ze)>BLMsL#0PZ3uMnc4kly9!7dmw#cV^B06DY4^$%#F$z^!id>hM~0u?J(q!57(xF> z&T{C9RYoIs&?0UKDvi6Zg_bLT%(OAg(ZO1d%@wc^+RE7sCMSoaaqDn0K@I!*d0Lp zdD>Hu`QlK2@0DERPiI0`W*jAi)cyUgF2H#N9XYijR9g$gg2}mC{@xI3E;Z+)1wp>%QwBfWOGEgc1-OkM;64JgeIM$LW)mns8=397GKqnQr5$hS`T z1PSg$`fsUFoNW4>%`SO|1D)DHR1b;nCL`PZ-8z$VH}A{vS>c27nm8>b!_@i1`2#Bo-$9O2ZL`WnIOTB*S z=;$a2R#jI^6ZF8hAZQQ-?&PJWy4c~fj}KB9n1Hx|^VMW#=?6LmZwE3E=)+u?enqSuYVkhJ$T&9bggPf*3WC`v49}_SWnw@g zk+k^i!hI;_)t`U3+nIirhL(#%?MoK)O-l!S#1wSKZ06YWDr&Q+CYWtr+s-f#3{X&} zJ#cSpe7r}Uhb>jQA}eZj%WoE{0b{F>Ez^Ht(k}t3ZbIpr*DnH9jNpB*%?w1m3!!HX z=Q*ZapwSbE2FkW0F@p#0MV!RcC23dIc zAZ-4MEt~bHr)uL*h|%1F8mXUgQqbAiXj3Bq;CQZqvaKv>}QxRN}{dsHH8r%hiFT&LJ&gSnio-ScO~^exx*~F3qk;soWm;@5eb^Dkg6xC8qR?N$Envv2+lnIXAU delta 1705 zcmYjReNfux9VfT0nq`$-ca>#jkh^tdyL!=#HUv@G*7mYoZg_nqMwGlPa19I+ObUqM zm&Il5&Lyl(8>4{qmbSSqqDh$|0VKu|tNs9AP8{+Ub^g%us=O(0zdh{w$NqV~e|%q_ z=lQ&RCu&A&{#wJrZ5@5%SMN&H5nr=dy(Yb~%>8^{^T(T&@n`2>;y=HXMA1*a{JDz% zvy=QsPkwlGnDe{Tl~4K)eEq$@zxf}}=)mhAAT3S`H)D|DaD)EC`!E>H{vKcB%?AJNg>SrJV%WL4xv5syCBE9-Wjj4=Fa#g_uQd%S5r@Xfv9xMa$H8Uh zr;N2*IgcTrwz*t&d1RS?NY(u^!sS2=27{w_!{b7N<1|ku2#j8K{bUyg6MtTUd}bA` zO;vT@a|Z(S>(aS&#;S>|of}{oMXozwX8fuQlw91{3KKhIKhm4`R$wcTxi6-<_0NKA z^$52jo1oG3ZoKwMRrMcJ95RhY`@h_RXy@&EGK6N-YBem9{zFwlR#-u~pMqC>UiK{W}`rgX6I67!y$`un^-?3z%{EIc~N#Jvcf- zVbdiwT{>I8L!-UN9B@=aDMv?oV?vKc8a*DlOeP}`3Gn3n{N?##H0oy=+uxh{4#0v{ zJO3G7p1pWzLe;a{1K2Ce1suFZA#7I}f_Jb1ZO_f7f%n@APjqgdPh&fc%u)id#iWIt zlarI?ooTimObdsjj_(AwpB#eR5gqw zXj(aaoMx2^8?1>9l=_GJ2JtBYx`NZ+wwZG(NJU3C?*JJT-E?dTq~AJyRm?_jw`mi@X)2*WT5D$e5xc$mrds_63M7=S~iG6^pL*-F`iCJDi!r^fKbuu0wcH+b_$LfSKIG#b@flG*ZrO~U!jm=HG@J7&UTnI-Z z_H&oyQJ;xMB9RiwZOLeUtIG&UcIMy}MWBWFWBU;K|N-pW}wsvnG=(5Q4en>jOREsPzxHNC)hg^2mW+!wF3?M!{@_WS#&O|UENs;Z>F zje^d-Y43LnqM_b35%ox8ADm|Qb)xak0Qz~X^c|F&&eaJ8IpKT%B4~;K zO&S##p+fdLwYL2iz=isT+TO@ox~dzhkKI4cx2IicrCcl&iYqG8R^<+Gl)71yE21Ug z*<9>FSM_jZpk=aT+1upjvJsuGNl?ulV%h!vYtmIa)Wd8w9@YkS1dTf+NJ(@qFORXT zQr_^efx~<78b#n&HyZ-^*_11kQqv*%aAmXJ!gAOFF&sQwD3JG;1kn0Qv`gV^&$@STO#xvCX@bzj=^&WmjGVl2B@S_a l)}Jb$!Rqgqx9qA+(s8Fpyt~+s<)8+0^i9Sa1HV3b^}qYZyaWIM diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-colorblind-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-colorblind-linux.png index 3b07fbc0a52572417f9a840019d429a04fa09eef..bade62c029ec7f08750809fb81a2193696546547 100644 GIT binary patch literal 6271 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 diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-high-contrast-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-high-contrast-linux.png index 79d3bdd0e788d902419fdae0ed8fd368ec6ba469..bed6d6eb6635df5448a7e7eba57a881cd7ba87e3 100644 GIT binary patch literal 6333 zcmeHLdr(tX8ow3Y+Rk8{x}sYk*ip;6z@|2(5FufGP|C2%uB#CySQG;H4XHW2C$S*hDyFa}tHF|%uWa^;vzeFb2$4Kf$+_>=FVt}2Z19=f@ zKG}I*+3(2W8)Ra6cvs%QN>c_B(ZPC2ZT}G$1dI8;Q6`y1NGjmO{Z@9UhpeydvOi8k zZMkhIQpB2|+uPN zt$GE^#aNroRd-CCs8gv_e2ck?p{)nU-nlA_*7uxMtm_7-W9w(yYhV$+fSEP*75qXh ze=jK$T$dM{y3`m2b3rJK%(1kCra7{>Gw&&ME&eplRp=-Z6x*8NvY=MGi+LBZ*Cs{_ zs-x^*oBGL}84N?PPq`a<9LlpY_+j&|)_=-e1{Fp;liy7wtUaz0j#T)P7Dp;zw~IlA zc|;~4i4jAqgI;hWDCV-+rP~gjV&6CDD_PaDdD)MIi(z!UyT4x8;2;4SvM6*^bHOA{uc;gSUUMhTE(M#nyjZG7u?aBzR`_S?1^aYE`rC!`6 zNWRIp4SFg0Y<5FK!zr9Q-O=Z46L@1(XU(v7cD+8VF=GCb7i4q!DzRAd9Cc=hppK2V zs=C!YdX8GeMKSYjolkRyu6QFUT9;Jt9-`siHde6m)O8O4=CvB9b1 zVH48kG<8ZK_X8}ppjeZp_9e>?HgT;bREMmUAA*Sjb8-@ytEI?-R6&`cda9TXm8#^F>Jw-hmnc@y#bR0qt{QTdupn^zpOONw` zWcKfWv6jd4F{}mUk2yTXB%|ESxhnWi>O9LYWll97k1`A>X6m>RWDyeIe zu+k}c@@2=0G)-+@CiZo{Mv-1DwpZ38GH-fA7G<_w=Xm~@(|LUtWDLvz=lm&8(@ zL79!zwU5JJ#bMGb@CO1O7$u<@>ETTLrlEw-{k{ zNE#HzcW80XKHr;|tz?o$)5#OJ`i%|U&#nbQ3c8*38Xneo^>^j}FK%_9wp$EjqAPwH!7&gUed1Wlkxxqg1#?i$kpKVy literal 6505 zcmeHLdr(u^8Na(LVi(cvvLh7*oH7G#vCz6gDwsrkEIMeSV0a`XAXbBkCJH9N4FQ!= zy6iyexQh#{3CJ#wizLDtLIO#|2WWXq9tZ^LizNw{fN&EChV;^zPCK)I*8bDUA9ubv z=X;!UfA{---#Pcoql9SBk9|G{0KoIm!TqrS@X-SL0PEJGGev>h&!OUj%-HC?fVgj~ z5dby^9NHgsJo`J?KoN`~{H{66^y1xY{hzEO%#(%3Hw|Cvc;wmI^q^|Z(RDjJ4saWG zHWq0*;gfX`jYRU_>*0Oi8z1S1l+;}v4=(@i`>*59GVXtt3wRydHayPx)B^T@t~_Ii zZ~g5>_tW@pGe;Krx!N&3ri`8!ow+v(b3Z^ga|~2qQ2{J2u3439K1H_+d~$H$BLLX5 zEovh=xcuKK(xZYlj@p!6X8-)fY7o%|aO^#01V1djkt}ZxXRE|4HLSBwVrGoit>|jF z03Vp!h8^8E&bK)1^XkQJ=!@zZwR43mV^I;CEh}x}JIsz9u@==b3%f9|Pdk*Z5jl(^ zjY4{p!`p;Lm`{$rvSM?lCQvhbYeuBZgx-5(?d5>#oj%2kaGvS1+HQ{EPA59xiQU8S zA=IHK^GDUSl|kh)G?=c-;__>2=%;a+e@r21Su!RF)^Htj{v_g$NrD-J{$CCo>_Hpe zRjM2?TibKE!HaiWN`^<|nRM)hzq=cR9|FMr-57Hv9$d(#%1@jOYU%MX>m`!vXh9Zl zH52B??iA!LPCqx9&E`j?IVVz6E3fqnVe5KSH@RzK-^2-#lK2TasNC|O=>G;cm2dAb zjyQ&2N$HlAB$1Tuj6>{AUcQNLsIlmdo5B8207o9hgiRj-gTOP<;x-kzyOe4-;&!3$Ivdj? zXHH?*3aGOy$W#zVhYT$J4I-WrvutN{S=-Di_Bg5fr!Ldug2D#KG!vPxT$|vjDK%rX zB|J3^zx-GZPRa{74<)pOiIE((p&9OsSO}G9%Blo5(*B8AJHB2~QIL!|L zF72ZCx$)VSmnN8+TwPs_bQr55vSyO`XSzAk^Bq@KrzzoVNH(5Vd-^olADnLf!GTcJ zIYbopb72)&DTqLdi^gX@J}cS(EYD18!bFBseMUA)($-zSKFE-cAcjK!N)eTiF4B*a%kfq{XcK28*Zzn<-Lb3A#He&q0BU31J$-BME%`Cj@7 zM_(Tg|Lml|51$lG<5kbJ!Zl=RMkNGU;rzEZ@pT3v{AbjAQPV4zjroI12N7FnJt^3o zaV9_i2!Wt|vNZ3_5(&%2b8}yQg|jY{RVk*MwccrY85vMs9_#f3*rU9+Tv#Tbo!4lN zA303m?{)qH4Vasu@L9MK7Z(Pu+PZMN*o-?-LZ0NZMyVIKp=3 zw$#+tpr7)IxeI!JmbP%m%>!iQ=HBiM3S>^ImFv(g0GUy%fd1_|#`H}9`#4Ga@_+~P z{CSdLUOLKn{I;Lk+J6p{FBjsoTdmWEl-|?C#v~=gQX2Ik;J9{+q%N+Opbrq>XfYwi z#>Nzdsxzdb&U=HeI0p3AcLwYAJWKvjL7rs~LTj!QE8Z5F%#_$hU7@5Yh4;K1L{bD= zVV9pIQUzutsaXG^%{j>lMU! zbuCzdMT1?+VWFO{R4_98P;fCVrk&eHZL>|+``XS~te>IYlky~Y$E~a}+E<&x%^mK3 zQ;&q{8*#IHeh*V(v&Jv*WVNW#ANs>aU@otvu>Hb9qGQ~VpV*MFQCH#{Y3gjGpxEB^ zTApmTP4FZe{Bg-`Sr&0sRTcQ!;uMFd-_09@D7D?+t-oH$mW_ttaI}dD=YGeONLa6@ z@sxe*JvnGckY%J+ij~%K1yWjJ#>}W1KpwAQF#Y1c8v?$!r$^J%b684lWJt-kBDe&z z(O54O3K`)Q+Oy$pSd_Xh_5Y=0?P?dCHGYc}zFcjOBHYixe2>l173w{lFkB$IK>S~v zTwQtP$}3l1z0bR#tD;;L<*F!GMY+z@=+)x=|7vs5tBYP;dF7(l|1Wx7@$K;cwSAM< SuZSpV0*4L|_KWwXUik;&nw+fw diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-linux.png index 92a44e7bff1c85eed95fa236b0143256ada70d08..8d898c8f5dcc353d429272db6212e7a89771bdd4 100644 GIT binary patch literal 6270 zcmeHLYfu~472cEt>^PvrZgFd4a3`(l3<3ocP!%4D4H@F0m^A4WD8_O`5LFC@WG!S_ z2-&7K1Db#z2^IzU5@^$)BX- z=`a1*dv^ESd(PRj-}%n&t@`kAYT&E8UWFhi@X!Y-A3>0x6&%nOe{iRIAF&9Cm*9_5 z4?<#9$RY&&{I`cv4*cO%;;(Phgf{PagXU-qgp7`pR^n1)ia`k+lLRv~1?eSBD?`+UuYZ^}><3v;be%H8+m)@PDNw9G&? zG8OBsmgB{zE#2(}bhBr@&vGrNxFH<7_pxClgZr)A99Z1=W@?QJL3Eh5#juE$*~{Fj z43&~}YCPdtxQHT=*}5p~=MO7*zXaKscb(MCCiC1IRk9@#{+ZBvD_k`?I?CdD0_Ge- zjSM!*m)jNb#hXn!XP1rEA;{D@A8UFG&{^9^ty09@NVZH#%9-UJGLJ*2#}z$(o4Prg zX&5-`XL&;KEY7lrQVnLm0ApTQuO)!{ci^#PWO_N&SzpiUbJ^J|F8ot^hu})fVWmEl zrI+gox}JR;o?VK^iCk{21#@VV;#np^Q+z2hMzv3{r%2dDBL$|@=_+A7nZ#b>gHxBi zNQ!T*ZRjP0WL?n%91IX9di*`xc;>pzdShY%onEsiK1sCkG#9pPJDL!NJqR$4Mo8qh z`c^h4t{QF-xC^G4UdMNN@1FG70N@O(+)A(rKwHXji1}!-w(}Xy(Fqij*f}<9* zH)7SuphQML;l30mR4dF~nr;?aX055^4XH`N{8)-vBQ*je3`TmF7nuRte3;^6(vWy5VcZYPHNL6=+%dPmlAwE+oVff8cx)SWe=QfeX(Z3N zn{AYA;5jQfjh`lu_ULduY#H7yrnaZbcOO-{1^eksvQ?YoEbSp+Xvu4=zemJ63F z%Gqr8A2T!6w7OeUQ&ZVT?XoRkGC`acHQt^Rhiaq+UX`=}RZT}WsQ=9mX+chHZ>g#y zZ^*0616*a!jsGuYAEy*WXf+{}PJjLF5Xu*y*46bh1A*Q7Z=_z1zuGfWwIkffrzRyd zkc)+hy(}f5wt~s#^yAUGeB-PPhMi|8Vbi@T3J-H1VJ%Nd_0R6V7sYJd^C%{85JK9G3F&a8O>$a+_6+^x{781&$j=Ei*=nnJ@2%( zw!%;Dp3fdEB1NR7rFj7q5fLHn?ChM=11JAD(9ZBS5{MAQyB-AOi|9H(x=r~O{E%ku z%aSikFY3e4hb14Dd{_eg?tlHW@)eM;fP4kyE1(~@ALC;UA8Ytn!^avv)_C!I-Tz;1 bT~I*Gr3DFL&)59`&d{Ov52uI^9y|9>=}Mqj literal 6428 zcmeHLdr(tX9=?_;wiL5#cS{WjOl@VSuCN`78516YEb1u4ib*6u0%is@F=R`4NFbrD z!?NrckhQ>;r<8|~ki>!^6-Z*GfS@EOB;lPAlt)4cuMl$~WDnTc*`1x~Kl^X~xcAJx zzkBZa?svZLJ7;d*`G`}_?;_uYAjtX5>Cg)h=7m!skWk?^ z4?!QQ&x8hFyk2gYu-zWt&F)z?PcE|i*}c0g?hfaUd{p~~{7W@OABc+&j8$uYPV1XP zDAo#Aaw87FyWNOQ2N%AL=(!np{^r9wwV}_$xm0imCs7X4!%? zzh}BfYV9yetF)ErRZ0%h%8`=+j1%7$#`}O4+MIej05os!2S}mcoE~rhHP2uKxcK`2 zD>V2$j(2hKQ9WOIMU16u!X%i-&!X}Ck*40>ywdL`zrf5UDh^5rjbdsDP=qq}XXK*$w z&KBk6Ew{yUWU!S(XT|+94CjaB5`X+l^{7GIW}3OtNqT4J;X(5N`BKM4RYPf2m1wg4 zPcwWTj8o~&G!93`TOMS-1<+^)>Thtq{IW4k(XWEGo_UD0MvdaZ17b`Ja{W_Kzs4-v z2aCmN+ybui)%6%M-M(ZR2-T<7zV6DN#|7>bLok2SmtumPYD&3y@vGVT zcX096J1lVC`#X;{QPuHiL=YSrurjQrv($vj>&>$4sh3bI0P+=$@7F}$Box@#v77U& zqpsYr@bGZ;*X(w^L$0wQ7Nw9+ANS$diqQ8M=@T126ug%r=W@B|3|-1Z#zv+i+64@< zC;mz>8E1Nda2H}G&6B$IW4fujI+leTq0(jN<~yh6S@!3Pl=d)qBXBJFBc+)2Ui7jyOqb2_TR*mR%Edz1jXmDM=*T zT%wqA5#wakLV3H)3(yN~A)*)E;dWzN3m!ja>K34n%x^I$^i1LLT++0 zELB=JbdLklHNvu_h9K+IY?nV6Hd;~a1o!4GmzI_{fDb~i&RE*6Uv11EXQqpZg3|I2 zMVX6RMeqyxRzsU~Qt8&tOlpd4VwSik9{pYZn%87PrT3WqYjTU!gS^AV34T_p7W~(S#|8&_t_u zW;ALv!JSLMsi?DOo? zjhE4Sg?saJsyQ4rv>1z04{Enaf>sSxFxYsviY=^!yL|~2C|}=5Cnp#FV3g=d2|+g} zkwp$-(uVr_s5l%Tu5mRegRj=0csyNKNyNpLkq%uGo*#9DZvc$oB>I1_0fg4#YEp9c zW|zm%vP<@P9Pa&TikM-ngl}jqg0}f?%MqjHDO--mdSFNe{_85LUs-CLtrA{iWNq?R z_sMOoXy$s1)k3z>!?EG2oP7=U_cJ6WSOGIWPmfZJ38$+&+5yESJp zh$UFOuJu7=I&TC2;b=NyJE50W-{i)}bGsnO^VXf6Kml1)Soqt5)D1@4L=yMrYs@y? z8g=~>X4bX)=n92r+QGAQ^NUlWrW(t1^X`pZz*pQZza(^Zvk(!*`Ocba+*T+`W8Vz4M zD(tGO8yy~QIO%9sk_5FK?g`A=?w)Qc zHMu#V{x0?M|(HsVXxf=b{p7jV7I}Wouz%Z1U8j+ yG1$cbWbn%$8~XxjUm)#buxFw@6Mr=mt&Ztlt_hxNxQpO1=**uZLWLo5-~0=nk?!CC diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-tritanopia-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Playground-light-tritanopia-linux.png index 3b07fbc0a52572417f9a840019d429a04fa09eef..bade62c029ec7f08750809fb81a2193696546547 100644 GIT binary patch literal 6271 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 diff --git a/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-dark-colorblind-linux.png b/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-dark-colorblind-linux.png index 321b19d37f3487dd257edf5ecb84c9b55d70bdb6..e3d5a91a66bbc9ce7a94a8ecbd29cc5b566a23aa 100644 GIT binary patch literal 6422 zcmeHLZBSEJ8jeMmQkTh2ot9PsJ6l&egGg%$l<*N&DacUyk^mbBp=%3m0s#vlF?f?A zWmy!2wbhOU0v0ilFGS><5O<|yRS1cYTmd0OMaVZ0E)hb=-gI`R`+w=b+?jjdx#!$- z&U@bXd7g9bsZ5BAc7J348wdo#J?3O&5(43}2H%L+e+QRbJbWY%HoFRwqK_klQcn#6 z@s2De^3Tb%dc$mbRYo}=S+Uco`dMgB(Djk9HtD_Ci0>*6#qZ(8RQ|;EOZXu)z~hTt z7xm+Wo81w(7UB=rZnj-H{^7i=Dd22UOXSyAYkdj=(_XhC*YWLQOrzv_Fw?d;2%vJLUsrv`XZgb}z4!29ro$oz=@-0V^O_qSe!hNa zX%}2q+vJKsd>irqRZObJK0kBj4C>f1Tv=I}A~$d#m@X&w%uw`CI_et2k_9O|PzR5B z`?G+k!^$!LqLZCdd`LGg$S(ZSE0}&Wjve|Jvw5%gfgAF#k_iNYz#E4*tY?gk4kj3i z2S5_+=zQ27dAi{-$?xlZ6TopVMJsXVRX%?YY+6e1`I3Nln(@Ipi5a zzZ(@Tp^F^ZjD32cjG?#}K|%WrbUeBuGZqoEvYJ4WV-mxDpDeL#wntiwSvR1QNETyTjn;?l)m@ApY<{_>%w7i!0OXvh{w`cHUk#)KO!nh@N|ir^*HJ z2lHKu&Ve4_S-w$F7?j(}<;HPN!|^IMO=D{S0}q;5Y-Iji$k6pLIgYZ%jhT2VMSRsa zRk3g&NQq%uR)o?$a0#z@;#1tw#ny-~RLXm8V8@xqL5 zeTFRX4J7kNVMsyttc!uPoy5fp*~EQ38$zuUf$cI?{@*#GDyVS z04Lh4TeUA1WUYe1|u3+7KZ4`!%C#a2XMH*C1lBM727=fS`8{NFvUZpent$~ zPg%rM!6Cq3DF{+!^f2eU>+0)U$I^RJu!=_J(h2DMgZAE`trmZUp=TDiNdBaU+-I=p zOjLcVA4|w{?Vcr=02PI@y=PI(^s$N!_Mu9?>h`u(MC(9d@8G7@npv!$yDp-bPX#G0V!KFN6sMdR zpn{{Ld!c?%)c*_peim|md}=48@Y52_W)5*ScrlsTDGs-n`w!_q-uFF;XdePFmg%5YwUqRAA ztW0@F{=lk%0-?Z3iLsBv244DLv5;K6`N}`MRi3u=5N=z8mmKbRD>>KQ&e=+I8DE{rqi`Ggv3j>WHK#I%&=)Ji_?V|3(0nGKEfS| z6i2CGL?JRm!rV7+-1ui*ea30{qG($3`IvsQkZw+&OG1V%M>L?%-CB+BrP}#2@VQKG`x}btTO2pbrd~9YW zw1tEH;&O%kS}hFEoO%@Xufh?DghczIx6XFSc-+C~Ykll%+Ah=iRJ>J6#bOnDeQubj zglf|?KE-27wmBS3p~(l62^IGQEVU|w#EBCg_+%twQ;nw0 zM*zk`X6o}0326di@f7G}6|faTnfmfag^y{V2WOwJIA_88`kNt&PUeH@kw}V852_vUjeh1&M2Sc@WOW7-q!cbn6i}66Y4tV#JFwU0|61 zDHn#hL$_Zo{I9N@l);q|O?zAc&O}>Ov%DIA?YpSv#D+M|uPRk@5W^Ue4Ed#wZEvF) zTeNl%?k1};y+C#_^i`6(z*{?VH1=OIS%Me*`fKI5RGLyk7N)d&8%M(BaQbz_mCsQj zAv6Eg&Hisr4~j~1hy__#2gK&*BOu7HvBUsDg4WW~QkZf4Qmij2JNp*s>yYl>|DyU- z(vv4o(yFVf;09SJ))=`OKRInE_6jNHXXhZXJcSl=fcVHhyt`w4n%Ad=gCp=9@4flQ zom;7PaM5#iwF5f`XAqr1{4I8*PFy*0<;2xa{^L0rm=-Bz=_}@xi?Jh6)!;h0UyoX`85iy^}MGB8+UHA_$6z;SD literal 6200 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 literal 6125 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 HndScgewR*9 diff --git a/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-dark-linux.png b/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-dark-linux.png index 321b19d37f3487dd257edf5ecb84c9b55d70bdb6..e3d5a91a66bbc9ce7a94a8ecbd29cc5b566a23aa 100644 GIT binary patch literal 6422 zcmeHLZBSEJ8jeMmQkTh2ot9PsJ6l&egGg%$l<*N&DacUyk^mbBp=%3m0s#vlF?f?A zWmy!2wbhOU0v0ilFGS><5O<|yRS1cYTmd0OMaVZ0E)hb=-gI`R`+w=b+?jjdx#!$- z&U@bXd7g9bsZ5BAc7J348wdo#J?3O&5(43}2H%L+e+QRbJbWY%HoFRwqK_klQcn#6 z@s2De^3Tb%dc$mbRYo}=S+Uco`dMgB(Djk9HtD_Ci0>*6#qZ(8RQ|;EOZXu)z~hTt z7xm+Wo81w(7UB=rZnj-H{^7i=Dd22UOXSyAYkdj=(_XhC*YWLQOrzv_Fw?d;2%vJLUsrv`XZgb}z4!29ro$oz=@-0V^O_qSe!hNa zX%}2q+vJKsd>irqRZObJK0kBj4C>f1Tv=I}A~$d#m@X&w%uw`CI_et2k_9O|PzR5B z`?G+k!^$!LqLZCdd`LGg$S(ZSE0}&Wjve|Jvw5%gfgAF#k_iNYz#E4*tY?gk4kj3i z2S5_+=zQ27dAi{-$?xlZ6TopVMJsXVRX%?YY+6e1`I3Nln(@Ipi5a zzZ(@Tp^F^ZjD32cjG?#}K|%WrbUeBuGZqoEvYJ4WV-mxDpDeL#wntiwSvR1QNETyTjn;?l)m@ApY<{_>%w7i!0OXvh{w`cHUk#)KO!nh@N|ir^*HJ z2lHKu&Ve4_S-w$F7?j(}<;HPN!|^IMO=D{S0}q;5Y-Iji$k6pLIgYZ%jhT2VMSRsa zRk3g&NQq%uR)o?$a0#z@;#1tw#ny-~RLXm8V8@xqL5 zeTFRX4J7kNVMsyttc!uPoy5fp*~EQ38$zuUf$cI?{@*#GDyVS z04Lh4TeUA1WUYe1|u3+7KZ4`!%C#a2XMH*C1lBM727=fS`8{NFvUZpent$~ zPg%rM!6Cq3DF{+!^f2eU>+0)U$I^RJu!=_J(h2DMgZAE`trmZUp=TDiNdBaU+-I=p zOjLcVA4|w{?Vcr=02PI@y=PI(^s$N!_Mu9?>h`u(MC(9d@8G7@npv!$yDp-bPX#G0V!KFN6sMdR zpn{{Ld!c?%)c*_peim|md}=48@Y52_W)5*ScrlsTDGs-n`w!_q-uFF;XdePFmg%5YwUqRAA ztW0@F{=lk%0-?Z3iLsBv244DLv5;K6`N}`MRi3u=5N=z8mmKbRD>>KQ&e=+I8DE{rqi`Ggv3j>WHK#I%&=)Ji_?V|3(0nGKEfS| z6i2CGL?JRm!rV7+-1ui*ea30{qG($3`IvsQkZw+&OG1V%M>L?%-CB+BrP}#2@VQKG`x}btTO2pbrd~9YW zw1tEH;&O%kS}hFEoO%@Xufh?DghczIx6XFSc-+C~Ykll%+Ah=iRJ>J6#bOnDeQubj zglf|?KE-27wmBS3p~(l62^IGQEVU|w#EBCg_+%twQ;nw0 zM*zk`X6o}0326di@f7G}6|faTnfmfag^y{V2WOwJIA_88`kNt&PUeH@kw}V852_vUjeh1&M2Sc@WOW7-q!cbn6i}66Y4tV#JFwU0|61 zDHn#hL$_Zo{I9N@l);q|O?zAc&O}>Ov%DIA?YpSv#D+M|uPRk@5W^Ue4Ed#wZEvF) zTeNl%?k1};y+C#_^i`6(z*{?VH1=OIS%Me*`fKI5RGLyk7N)d&8%M(BaQbz_mCsQj zAv6Eg&Hisr4~j~1hy__#2gK&*BOu7HvBUsDg4WW~QkZf4Qmij2JNp*s>yYl>|DyU- z(vv4o(yFVf;09SJ))=`OKRInE_6jNHXXhZXJcSl=fcVHhyt`w4n%Ad=gCp=9@4flQ zom;7PaM5#iwF5f`XAqr1{4I8*PFy*0<;2xa{^L0rm=-Bz=_}@xi?Jh6)!;h0UyoX`85iy^}MGB8+UHA_$6z;SD literal 6200 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 literal 6200 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 diff --git a/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-light-high-contrast-linux.png b/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-light-high-contrast-linux.png index 79d3bdd0e788d902419fdae0ed8fd368ec6ba469..cd7ea93d91a3553ac416288aca0be2ccfec37c95 100644 GIT binary patch literal 6529 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 SuZSpV0*4L|_KWwXUik;&nw+fw diff --git a/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-light-linux.png b/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-light-linux.png index 92a44e7bff1c85eed95fa236b0143256ada70d08..6eebd6ca8c7ce225b575de45fe0ad6656505ac0d 100644 GIT binary patch delta 1899 zcmXw3dsLEX8h6IbY1z@4ak56oVdqTc?wQRlUenOb%sQ4$wj==oD_5wuOO@Vq2&bxkyMZc1om^!>_5+Q-t*jk?{oRlkB=X( zItqSlg zhw#smG*$19WbM5jdg}3o@|FJPYqI9k<9A!aF_V{$*niXW`Es(HR{X^~ePY^xnI(-m}EFL?`<)A$L5=OOIu?7o|r)HuNU=ELaf*<;nR zLm(;W#PzHj(f3xN_{PR-z7l|#r~8u0n`Sv6mZfjQ5xD7zgHWm?91?%$Y!`$d%^&Dn zOt+*7M;K=tckh0H#^&Vsl4-U7)>cVrc*&wTRwGBnO7PP02+KLWK~E$fhU+c2SM0Lf z$J93)Hx-gM_VyAy4=1pH?ZW^W<5}YQHOSY`FIC7+lxTj0y=xXSik&QLZ&2ua3@VjM zqwEzFqtRWA=Q54k{{2nB_Gsq&uv=@EAT;FU$tyz-yjq-!$B`TeFMate5_jXqQyCMs z9~FuMltQ5pNCiR9f}dPWCK9f=xLbz%zYQ~~0RdgR3EHHIZf(JK2cMNCMPT z3c7=uG;5C!S<~6xukB;N9T-XNd|$x*f-vm5n*um06mx@Oq;k%Zmg&n zfhTh_N~!YKY5A)YrblEyY5bb?o0LM0gqt&GC29K~isvAk;Yg8SK#n4A=L#iH$`C=F zvargN$>7#fh*o(4hNAp|z1spC)B}wbED1ASnwV)#FWFe&Nyze&t0~~ZMMw6Mb+|2? zXnf8DRjUMfY$jblsh3IT65tg;qltsh9!kQTQCIi|b3L2jPsgIsU`J78t*ru~`eAZ} zRgcnU>xI~M^(!^>E{G@2Ng-$u1p#Kdzof??H{3E?jZ{a~#>M!lYn3IODAWSWROwk) zBdUB4hL_qFw)VLRYkh`gDeBxoR*qFx>Wf09JPOW7w?{iU6LDN|e!;Ex9fZ1uWjTh#nbVlxPS{iZ&IT~4;wA48`8N;{brx5#} zC;gm8@d!S8iEpABqz^b?&!Iz}*!)$RgsIN4ks@n1V>07GEVcz>5G1u`5K9c>!p?V5 z@W;}&@--3bl$w>Pe7z4@wURw57K>voeJhzg$`e6_Yb^BF@xAlC8Lf#}^9)M=BL~lJ zXaE}koez+e)h_T9V4EdygXZ_<4meo6Wo?qRhK9fb5e`tWQ@H7aZ%yT9ZOM5dWo4*P zikziHl&J0_Ib0mr&0u)7D|di*kS9_QW$aUgv&UoHNk^0%$RA- zd|I%bCZq}tT4c+wze0|vE$~e_vUxHpNPlWrJMDcXI@@BU3Kb$XXMO#SJgiPpLa8g7RS4T{-Q*4Q7G%gMqGgqV= zpW%c5WH9jjg%Ooj8=_!u#zfV`Je^)VA>Wm*c>qeOR^o7aDrMx&9& zS>B@oJtnhBby)2$=Jo0~CrbN}}ML5lrFzUVlJ>ktrD-gAx zROk&IQD)omW5+IUn#`R&yWu#(>_18=gKxuqPj=^EYxj|_mHP%51I<_WwYlz)BY zdj=q#pHFj~8uSYYNVq51tlzVP1g!gw)CUISB$By8rB*YaMY>9FIUpE39?!+>v2n=L z6L&qIbvxoL004|QPGG0&7X=ACDNMm>73y)rW}Ho#buaotEYladV{s}H zWkieATFz_NKR5ON-H8cPe|+P(aw}=4Zm!23lY*Pn@-@Is+PQv@&&lU-K5ml9$rw>a zD@~NalkVIC`bp#eI@5hT`KU)L^@FmH8pl3(&sB#F*yj{ns&^B^x$Mq|N1b7xPP_GA DCI1m8 delta 1836 zcmXw33s72D8m7%8He({&W;a$enrXIir`c#zYnXtKyw=@LqNHnphzc5JG=U&nQHi{6 zw;4CUGiu@k1biU@MfRHP&YU@O?ws@8|2yA* zzHji0nlJ8t4t#9<>in6@H*0K@zOsqk+};(}l$|@k?R(E1y6fVxPa6MJa;2gCpt2%p zyx#mK{oG}keOdLF{d(~@8?*y-;}GyNi=1#D}k)ED&su@4YOKg|pb zj5NGleN9NGnG#g!r-P|D*=TcLUvbrsQ(vR!vu>*cAe`ePK2K{lFWuF7Shc6v3hAKO z?XHa;qhJ}0r~d72>&yXDt--UGM(Je&_(oz!M>&C96kehlmJ*6z=Z@!Tf=mre1?ZGh6>@evbJtCx~AvQjP_HQt%13XG)0bju1 zf3=d9nfDM&rBb_yyWUkeW41YECuSA_CY^dR)nIe}OT7m|jn{nS2OT*5T`2VN{$3U| zfAIUTbx?RJ6&~+7AG9px|=N;VCEI94Px>wRTkY$+QJKb-1M!*wXtA+LSkZ~ z@t@od>#o}laXM0`ojn!F^Od6>(3z8)KMVHdY59CUs?d@*S-1(X{ZN5Wl|7l)&XBOq zX?UmtJ>{CRY@D>rh(s(mDal~w*upH^n8{RC2v2KB z9aHXzM55PKH8o;*h(>L1 zU)zvMQ6Bj`g-lk*d97jEmM)>Udp6%3&Qs>7-LZJ$=1Oq3r4NW9sEMFvYnkl44WA$( zmufmR;gGBsac9pc!{BgPtr%`YR(6xsA6V~jh6~yEBEV)NQovP7 zr94NgHihk4k_tErinqj`ba#8^>7lYCF3tnZdXb+s*%c}w>tjjtI<3>+wp{1kv^D7`T@vjV&mX2xZ7+X!Pe2sp5-*g%D$H&U3;R|*j67m^>pO8)< zD2O15#CtO+EY!b#b}Skl<&7s&zeG5@lJ8r~@jm&Otsok~C(uAcPlAgD$alPD>V{}t zxbRFlMwGc9jkb5T5N2n|PSNc+S4j!iU5>XFK`qep<}_oin@v)wrysA~W|Uayxnv0a z%XZtur!I5c_Su1p7*pM32c@8($!J6=J2~!ty~%{6!I}qVS=7 zJk~%t2~f$i+6aTA8N{>Y41OGBKv)|3+O4JB_*!ICRINk7kk{t9PZ~_Ee;cgCJJIU43y~V{0v{6XPwU3lCA}4eQhYl zMw-`6^3f78iH6=dPdy=pW{T4DR7a2YT9<7q0~HiXw4Agps*;@hlbz$EMWbWW)iTbn zQ}wqtA-$7^j|k$v)^dH}RNvI3Y3`2@tH-``4Q2=3akok6aeh!Jz!iiYA@a{Enl zB%Hl}hxyOPnebR>vAkAxV($R}ilNfd4+Z&~^!CXd{+&1I9f?iGre_S!jfbdO-Qj}K zgQ(ghD5nD6;U6XXd6%B&9giR)ev24?GBYEps{Ju^0|CL_hFUG76>9*Cii+NAE~8~; z)+6{T{kyjPFQB1^?Sbq^&C7c@mjz@~a&ub-sMiZcI2@h|H8n?t+)4H1YyR`Su2fcpG@ZhY&>)6ZC7VN9PB%N2B&G_!Wk_+R^ diff --git a/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-light-tritanopia-linux.png b/.playwright/snapshots/components/drafts/Button2.test.ts-snapshots/Button-Playground-light-tritanopia-linux.png index 3b07fbc0a52572417f9a840019d429a04fa09eef..5762cf818cdcbd25e4bc71185033967c7b802467 100644 GIT binary patch literal 6483 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 From 1f04313b63f5edc8ebbe997159500827cd068a30 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 16 Nov 2023 11:01:41 -0500 Subject: [PATCH 14/21] upgrades @primer/primitives --- package-lock.json | 8 ++++---- package.json | 2 +- src/Button/__tests__/__snapshots__/Button.test.tsx.snap | 2 +- src/Dialog/__snapshots__/Dialog.test.tsx.snap | 2 +- src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap | 2 +- src/__tests__/__snapshots__/ActionMenu.test.tsx.snap | 2 +- src/__tests__/__snapshots__/TextInput.test.tsx.snap | 6 +++--- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7909c723618..d2163dc4e4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@oddbird/popover-polyfill": "^0.3.1", "@primer/behaviors": "^1.3.4", "@primer/octicons-react": "^19.8.0", - "@primer/primitives": "7.15.1", + "@primer/primitives": "7.15.2", "@react-aria/ssr": "^3.5.0", "@styled-system/css": "^5.1.5", "@styled-system/props": "^5.1.5", @@ -5987,9 +5987,9 @@ } }, "node_modules/@primer/primitives": { - "version": "7.15.1", - "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.1.tgz", - "integrity": "sha512-+0YS8GM2bvhH8uYOcPYBkoVMgRpvZyUs+2SpRAab0cOFi7zWhwRiag7ggh1ZAcIxN/LvOI5dhEYgxzfZwTPgEg==" + "version": "7.15.2", + "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.2.tgz", + "integrity": "sha512-084G46rIxTQSoWJBZT3WN3Pwuf9iFHIu7gbflKNHroXsVsxB7LzcRwPihjfSgaQijAmS5US/2fnSIQ2eT4lIgg==" }, "node_modules/@primer/view-components": { "version": "0.5.1", diff --git a/package.json b/package.json index c4546be0957..78acd14a6fd 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "@oddbird/popover-polyfill": "^0.3.1", "@primer/behaviors": "^1.3.4", "@primer/octicons-react": "^19.8.0", - "@primer/primitives": "7.15.1", + "@primer/primitives": "7.15.2", "@react-aria/ssr": "^3.5.0", "@styled-system/css": "^5.1.5", "@styled-system/props": "^5.1.5", diff --git a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap index c747f4c351d..cc82488f3c0 100644 --- a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap +++ b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap @@ -156,7 +156,7 @@ exports[`Button renders consistently 1`] = ` } .c0[data-inactive]:not([disabled]):not([aria-disabled]) { - background-color: var(--button-inactive-bgColor,#d0d7de); + background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#656d76); } diff --git a/src/Dialog/__snapshots__/Dialog.test.tsx.snap b/src/Dialog/__snapshots__/Dialog.test.tsx.snap index 1d7b9b8868e..7657834413c 100644 --- a/src/Dialog/__snapshots__/Dialog.test.tsx.snap +++ b/src/Dialog/__snapshots__/Dialog.test.tsx.snap @@ -229,7 +229,7 @@ exports[`Dialog renders consistently 1`] = ` } .c1[data-inactive]:not([disabled]):not([aria-disabled]) { - background-color: var(--button-inactive-bgColor,#d0d7de); + background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#656d76); } diff --git a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap index 97eb74322ff..615cc489f55 100644 --- a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap +++ b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap @@ -170,7 +170,7 @@ exports[`SelectPanel renders consistently 1`] = ` } .c1[data-inactive]:not([disabled]):not([aria-disabled]) { - background-color: var(--button-inactive-bgColor,#d0d7de); + background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#656d76); } diff --git a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap index d69ffdb2132..35305a11c43 100644 --- a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +++ b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap @@ -170,7 +170,7 @@ exports[`ActionMenu renders consistently 1`] = ` } .c1[data-inactive]:not([disabled]):not([aria-disabled]) { - background-color: var(--button-inactive-bgColor,#d0d7de); + background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#656d76); } diff --git a/src/__tests__/__snapshots__/TextInput.test.tsx.snap b/src/__tests__/__snapshots__/TextInput.test.tsx.snap index 8d2171ff920..c7f146e2a49 100644 --- a/src/__tests__/__snapshots__/TextInput.test.tsx.snap +++ b/src/__tests__/__snapshots__/TextInput.test.tsx.snap @@ -1831,7 +1831,7 @@ exports[`TextInput renders trailingAction icon button 1`] = ` } .c5[data-inactive]:not([disabled]):not([aria-disabled]) { - background-color: var(--button-inactive-bgColor,#d0d7de); + background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#656d76); } @@ -2500,7 +2500,7 @@ exports[`TextInput renders trailingAction text button 1`] = ` } .c4[data-inactive]:not([disabled]):not([aria-disabled]) { - background-color: var(--button-inactive-bgColor,#d0d7de); + background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#656d76); } @@ -2921,7 +2921,7 @@ exports[`TextInput renders trailingAction text button with a tooltip 1`] = ` } .c5[data-inactive]:not([disabled]):not([aria-disabled]) { - background-color: var(--button-inactive-bgColor,#d0d7de); + background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#656d76); } From c019d0ee41c6e07f3e5c8184c1b2746ac4540e81 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Tue, 21 Nov 2023 12:04:13 -0500 Subject: [PATCH 15/21] test next primitives release --- package-lock.json | 16 +++++++++++----- package.json | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15917d64a46..15bf73cd3b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,9 +15,9 @@ "@github/relative-time-element": "^4.1.2", "@lit-labs/react": "^1.1.1", "@oddbird/popover-polyfill": "^0.3.1", - "@primer/behaviors": "1.5.1", + "@primer/behaviors": "^1.5.1", "@primer/octicons-react": "^19.8.0", - "@primer/primitives": "7.15.2", + "@primer/primitives": "0.0.0-20231121170110", "@react-aria/ssr": "^3.5.0", "@styled-system/css": "^5.1.5", "@styled-system/props": "^5.1.5", @@ -5975,6 +5975,12 @@ "node": ">=16.0.0" } }, + "node_modules/@primer/css/node_modules/@primer/primitives": { + "version": "7.15.2", + "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.2.tgz", + "integrity": "sha512-084G46rIxTQSoWJBZT3WN3Pwuf9iFHIu7gbflKNHroXsVsxB7LzcRwPihjfSgaQijAmS5US/2fnSIQ2eT4lIgg==", + "dev": true + }, "node_modules/@primer/octicons-react": { "version": "19.8.0", "resolved": "https://registry.npmjs.org/@primer/octicons-react/-/octicons-react-19.8.0.tgz", @@ -5987,9 +5993,9 @@ } }, "node_modules/@primer/primitives": { - "version": "7.15.2", - "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.2.tgz", - "integrity": "sha512-084G46rIxTQSoWJBZT3WN3Pwuf9iFHIu7gbflKNHroXsVsxB7LzcRwPihjfSgaQijAmS5US/2fnSIQ2eT4lIgg==" + "version": "0.0.0-20231121170110", + "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-0.0.0-20231121170110.tgz", + "integrity": "sha512-27jiIwPesfYvPEjYRAttyeoAq55+gVRS5VSLcz4bGRbQvki5zVD7EhJQVuzdLTzkmQdHRwo1lZO+oL184Gs+wQ==" }, "node_modules/@primer/view-components": { "version": "0.5.1", diff --git a/package.json b/package.json index 2534582c213..14ea79ae55d 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "@oddbird/popover-polyfill": "^0.3.1", "@primer/behaviors": "^1.5.1", "@primer/octicons-react": "^19.8.0", - "@primer/primitives": "7.15.2", + "@primer/primitives": "0.0.0-20231121170110", "@react-aria/ssr": "^3.5.0", "@styled-system/css": "^5.1.5", "@styled-system/props": "^5.1.5", From d48a3e23466a47a078dd8531cdcc66c74d65c347 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Tue, 21 Nov 2023 12:47:27 -0500 Subject: [PATCH 16/21] upgrades @primer/primitives to 7.15.3 --- package-lock.json | 14 ++++---------- package.json | 2 +- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15bf73cd3b1..37e287a1f98 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@oddbird/popover-polyfill": "^0.3.1", "@primer/behaviors": "^1.5.1", "@primer/octicons-react": "^19.8.0", - "@primer/primitives": "0.0.0-20231121170110", + "@primer/primitives": "7.15.3", "@react-aria/ssr": "^3.5.0", "@styled-system/css": "^5.1.5", "@styled-system/props": "^5.1.5", @@ -5975,12 +5975,6 @@ "node": ">=16.0.0" } }, - "node_modules/@primer/css/node_modules/@primer/primitives": { - "version": "7.15.2", - "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.2.tgz", - "integrity": "sha512-084G46rIxTQSoWJBZT3WN3Pwuf9iFHIu7gbflKNHroXsVsxB7LzcRwPihjfSgaQijAmS5US/2fnSIQ2eT4lIgg==", - "dev": true - }, "node_modules/@primer/octicons-react": { "version": "19.8.0", "resolved": "https://registry.npmjs.org/@primer/octicons-react/-/octicons-react-19.8.0.tgz", @@ -5993,9 +5987,9 @@ } }, "node_modules/@primer/primitives": { - "version": "0.0.0-20231121170110", - "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-0.0.0-20231121170110.tgz", - "integrity": "sha512-27jiIwPesfYvPEjYRAttyeoAq55+gVRS5VSLcz4bGRbQvki5zVD7EhJQVuzdLTzkmQdHRwo1lZO+oL184Gs+wQ==" + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-7.15.3.tgz", + "integrity": "sha512-BFxFKwa0Bkr+esqbXU5Yt91z/58J2MPoW1cYtp0j2rUYus4lIZnczX7+ZYb7j4BqpfY/88q9Vn+BRwW/Sx4eIA==" }, "node_modules/@primer/view-components": { "version": "0.5.1", diff --git a/package.json b/package.json index 14ea79ae55d..a5ea547bb6e 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "@oddbird/popover-polyfill": "^0.3.1", "@primer/behaviors": "^1.5.1", "@primer/octicons-react": "^19.8.0", - "@primer/primitives": "0.0.0-20231121170110", + "@primer/primitives": "7.15.3", "@react-aria/ssr": "^3.5.0", "@styled-system/css": "^5.1.5", "@styled-system/props": "^5.1.5", From bfa913326ade8474133b8f4cb103f253a3cda73f Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Tue, 21 Nov 2023 13:27:27 -0500 Subject: [PATCH 17/21] updates jest snaps --- src/Button/__tests__/__snapshots__/Button.test.tsx.snap | 2 +- src/Dialog/__snapshots__/Dialog.test.tsx.snap | 2 +- src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap | 2 +- src/__tests__/__snapshots__/ActionMenu.test.tsx.snap | 2 +- src/__tests__/__snapshots__/TextInput.test.tsx.snap | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap index cc82488f3c0..dfb478daddf 100644 --- a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap +++ b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap @@ -158,7 +158,7 @@ exports[`Button renders consistently 1`] = ` .c0[data-inactive]:not([disabled]):not([aria-disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; - color: var(--button-inactive-fgColor,#656d76); + color: var(--button-inactive-fgColor,#57606a); } .c0 [data-component="leadingVisual"] { diff --git a/src/Dialog/__snapshots__/Dialog.test.tsx.snap b/src/Dialog/__snapshots__/Dialog.test.tsx.snap index 7657834413c..daedbbc002f 100644 --- a/src/Dialog/__snapshots__/Dialog.test.tsx.snap +++ b/src/Dialog/__snapshots__/Dialog.test.tsx.snap @@ -231,7 +231,7 @@ exports[`Dialog renders consistently 1`] = ` .c1[data-inactive]:not([disabled]):not([aria-disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; - color: var(--button-inactive-fgColor,#656d76); + color: var(--button-inactive-fgColor,#57606a); } .c1 [data-component="leadingVisual"] { diff --git a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap index 615cc489f55..e3ec074e3c9 100644 --- a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap +++ b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap @@ -172,7 +172,7 @@ exports[`SelectPanel renders consistently 1`] = ` .c1[data-inactive]:not([disabled]):not([aria-disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; - color: var(--button-inactive-fgColor,#656d76); + color: var(--button-inactive-fgColor,#57606a); } .c1 [data-component="leadingVisual"] { diff --git a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap index 35305a11c43..0cc2dc942f1 100644 --- a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +++ b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap @@ -172,7 +172,7 @@ exports[`ActionMenu renders consistently 1`] = ` .c1[data-inactive]:not([disabled]):not([aria-disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; - color: var(--button-inactive-fgColor,#656d76); + color: var(--button-inactive-fgColor,#57606a); } .c1 [data-component="leadingVisual"] { diff --git a/src/__tests__/__snapshots__/TextInput.test.tsx.snap b/src/__tests__/__snapshots__/TextInput.test.tsx.snap index c7f146e2a49..7a77a09d416 100644 --- a/src/__tests__/__snapshots__/TextInput.test.tsx.snap +++ b/src/__tests__/__snapshots__/TextInput.test.tsx.snap @@ -1833,7 +1833,7 @@ exports[`TextInput renders trailingAction icon button 1`] = ` .c5[data-inactive]:not([disabled]):not([aria-disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; - color: var(--button-inactive-fgColor,#656d76); + color: var(--button-inactive-fgColor,#57606a); } .c5 [data-component="leadingVisual"] { @@ -2502,7 +2502,7 @@ exports[`TextInput renders trailingAction text button 1`] = ` .c4[data-inactive]:not([disabled]):not([aria-disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; - color: var(--button-inactive-fgColor,#656d76); + color: var(--button-inactive-fgColor,#57606a); } .c4 [data-component="leadingVisual"] { @@ -2923,7 +2923,7 @@ exports[`TextInput renders trailingAction text button with a tooltip 1`] = ` .c5[data-inactive]:not([disabled]):not([aria-disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; - color: var(--button-inactive-fgColor,#656d76); + color: var(--button-inactive-fgColor,#57606a); } .c5 [data-component="leadingVisual"] { From 7c0acc27d77f4d0c2d761987c748102c07c6b3f9 Mon Sep 17 00:00:00 2001 From: mperrotti Date: Tue, 21 Nov 2023 18:30:52 +0000 Subject: [PATCH 18/21] test(vrt): update snapshots --- ...ton-Inactive-light-high-contrast-linux.png | Bin 6300 -> 6287 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-high-contrast-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-high-contrast-linux.png index e821315d1d3177f858d2a3308a05359d8d8b8181..761a31e4f2012d066901c02de39547e39b21d26b 100644 GIT binary patch delta 1797 zcmY*Zdr(u^9ZqGpu!D#$Gty3Y?5>?fT_B6G1tcL_w2s3{Z0!;?1RNO1VtB|#3?YO| zWs%uh#Fpg|h#;+K9U-iHk!(mHJQmW$JXlsy$b*-;Hztq>7jg+9p@->T{pZ|s=KJ06 z_kHL5<`c)%#@va4&YU@U;?E`GWdpM_hsUazpB1xbQmR{%cRf9xo7{1KC^^&r%X2aJ zDsCQp=bYb1hd-=%bkBU}Px1HPo7sCRC}~&bty3`{haCRZt_$XC?J)=M^zL40@A)iY zS$$2nH0?`z9`oSyTX2HFq{R%&4yH{B*&rNYa`G>*SgcS2f#Cl^_F`!u*bvGbb^G4? z9J;6B$X*S%k8r42L$$7^ zr>Bbqdm_~f^Bqr{4zXMsEl zapzxqHmj0u!99xa_QUt1qM&Z|aQobVQ?)_WOF z+txnkE`Vp5|6S>w_e8rLHUC3bE?oyze($e=b?RPJ18vX0DwjwR^FSR6v)y$o)ix!^aL`Fuc-wmeZ^cKzzJb;a*db`Vj7DD@X#D_?y zqAc{8Cs`@9pLWU>f1v$`|h*OFs<-o`ZwAa+9|19{QS zA4yvui&Y;8=i8qcLxA!PS_nfov2CfPaP9rP*|Nn3W=?i?u|(i-Bb{WOnAg9Uj}aM4 zzTG6}C0_H?kjY##F+HJHu#|=bG-y5zFA0{=`Dynz__ zm%-pxre)YSt`(Fb7+5oRt0yNXJz6Td1fw&&eqpo#n(To27$UR$Q>6pfPMzIU6?Tu* z1Lnabj9JL5wtd-DuyjD?Dv z;jd`K*t{l>J5W78>Q>PJ)ALZq2?*ukYOlu^F>rOFegUriF=DxCwp0hn!=KCAJO&N+ zHNE^wI+onstfD%>P-4AOB?eL1#i_NWIe_Fspz1{w4z2z~Ya#0>Sz-7q47kuX``}UP zR=NGys;9lOI%jr37+7NOk_x%e{Nd5lnchL6KX%t);JL{zB6y}oIVzmZegpiLAKRaI5V1P+sHu3FOeGhOh*Qa{_FR*Qws zi?9Hfq7y?&z}nX>iBx899)Iv@FH~Tp;3j#YbD8#Obzpe;U>5LtncAg~!o%GgXR#-> zvq#C~h_py`A$b1)u-RCyS-hYcV~--)52k6!!;cYA(2RpF3meU2s&5 zfdE7TK628g{lW2eJqXM5DT%qMjE0w)4LvXFJL1i+>!t*|0hqG)bm*F1TG-Y_WT(>S zP!)s0VCx^$z(TikJq)mcIBiy#%U?>)v-gnH*2#s=Xp+Wi9lsPQNMo{CE}X-G~s$D9tRYN zFHara$=r&ptg{6&-yOkG@Cm<@d+Uz-E$&|{gvS;RNeaI*0)TMlRLV)o?=Ro@FV%w2 ATmS$7 delta 1806 zcmYjRYgAKL8l~fdT1RlosMCeObh;>GDWR0%5yOQ#=%A~uwA5Bp5EMpe4KE2KKtgT@ zrA(y-tJNsx;Y^F@2#NH{BP4`c1uVJArHm##0)Ye*G$g@X$jv3WWG-Fvqvyx@vG+dT z+TS_*d`&Tem~%1UM+f%qIaDdIO)*BUZ=nD1jFBEKZ=bQBO;p`2|84!l7Z*oH9@dY( z+WFF3zl(DodNVvezGmy+f`>M>zW&GeM>}>hM&H@{`wyVsbOi2;%geuc8k6VS=zS-((o9-lN-j}Y?VeTj1(1j8FK_d> zY?IynsVrMBTZy+vK}AExjD>HQ?v)C3Ufm?9tBX_hy|5*eCl?9fJh4U=TsFB$;MXJ7yzZ@k3S7=?7fzZHBnhhl2 zKg{zd0Gi|ISs?U9!J7SmZ-{^ufP?)?bJmv{NHTkBL&?2%JwWd3TTZX0B%@cTXjQAa zK?Dx+km>gq@x>E=i4ayg6*Fx) zB2yFST_y3%_DKo$%BAxDO|W_>FpEal9B$o6VYOo)NRF8 zSRbeX9G#HK9)b=-hzKMsjL^j|Lngb`d7;=Cy`M*%w}Y;M=qy^8Z!C>p{wi7I^_CNx zSC*||@oB)*_nC0VkS1MNHmrD3yV>$(EFx&2^c-W^_0-tdgsF0q!llr`H<2orcNF3s zr+DursEtM=3@cVXw7@$geXLa@vdYy|-@OtWi+&L)74TPw>1YGumQ~HZgj|hGuEfC_ zF=lR{2n;DcuVZ5Np(TkU!COJEM7K)(*B37ZFg@;&@+w5jZ~>ekk=ySktv%pkD)k00 z71TE5B(e3UJX|{@7WQ#4ja5TqH%@bxxHD%15f4SqEuQ-R1V!dnlLorj-k*}59Y}A^ z0X*B7PacN}O1K1QMXwt;CWTYLG@A}*$4NPa)e=$ydb~Qma%r7y@nI`a!!wbrdnkn` z@y?~dP06l~z`?_0EIn=a_3HL-ekU&gAc#S4I(?NER9m7 zK2wUxjA@21-ZEbgE)f7676OTI)PRbjGP~fP)56fB(snX066MqX;GTZZ>elyLh2ZY131L8b<&Qy@%Xv-0 zA~H}>35GI*VTU7IKy&mEye7ifsndKQTD{}RCYQ-;jXA|Se*b`Y3Y|z9D1D3kX%8tF&b38{FFL-Cdhmyh{v5~ z{gjz+)zS(kT{cwP;QK@a-V3&~r_Jg##K*NUpc;=$R-w8ibN_p@`Np@6&6y?giv0XW zs;dVd=JzKxutCc%oPTshNk4L=2Q<*@Ls(;ap2r4NScS#o{-mF4cM8cyF~A|hl$NR3 zSmyoNG&o&UKB_PY9nE31Rkvpv{X9W=ic+N-K!1$YTqZlC;=3XcD~NeLLQHQF$B2Di ziy3bf$EPJbAK>c4K5f!+*QB{Ay2@Ipzy0Y!fLOwpTEXPF=wxdh^r>l(YLgYf-^Q1S zrsQl8X=@di4QH{Qw4k*XfK5@jqtLksv3o|ap1d*l%k5*`B|hH%RdLSBM25|Iu5>gg zv|ArZa;48Fl3!zO5+%Ly>ru3+nuMO8a9qogywFUNwly3Wz&v%MK z0*UXr1XY7RqikSKSG;t(%(70J?o0-p0=&|m4u=r_P90e-Uap-(xY-#qki#r z%UC#L08T11%|fj9$R(2A`G;Hl+y}437YX{v;2I@UOhhxqbcp&Owjtx4?!{BJuOU1v+Nhw3ZH2s`!k$x!N_@{XCeT^&`HLj0wm)r;LmG;-@bi&zHOot zDxT_noJ~I2XQ}Y{jcXIP^jKwc2=ul8{MHMl{;4~z`8I@~={HJ_I|U@^cVOSay^_Bk GtNkB}qw4Vh From 4865b69943e5c5e8700347fee0e48cd73b46e5a5 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 30 Nov 2023 09:43:51 -0500 Subject: [PATCH 19/21] rm disabled styles --- .../__snapshots__/Button.test.tsx.snap | 180 +++++++----------- src/Button/styles.ts | 28 +-- src/Dialog/__snapshots__/Dialog.test.tsx.snap | 23 +-- .../__snapshots__/SelectPanel.test.tsx.snap | 21 +- .../__snapshots__/ActionMenu.test.tsx.snap | 21 +- .../__snapshots__/TextInput.test.tsx.snap | 69 +++---- 6 files changed, 131 insertions(+), 211 deletions(-) diff --git a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap index dfb478daddf..90204742387 100644 --- a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap +++ b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap @@ -98,6 +98,11 @@ exports[`Button renders consistently 1`] = ` .c0:disabled { cursor: not-allowed; box-shadow: none; + color: #8c959f; +} + +.c0:disabled [data-component=ButtonCounter] { + color: inherit; } .c0 [data-component=ButtonCounter] { @@ -155,7 +160,7 @@ exports[`Button renders consistently 1`] = ` width: 100%; } -.c0[data-inactive]:not([disabled]):not([aria-disabled]) { +.c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#57606a); @@ -199,26 +204,16 @@ exports[`Button renders consistently 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:hover:not([disabled]):not([data-inactive]) { background-color: #f3f4f6; border-color: var(--button-default-borderColor-hover,rgba(31,35,40,0.15)); } -.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:active:not([disabled]):not([data-inactive]) { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); } -.c0:disabled, -.c0[aria-disabled] { - color: #8c959f; -} - -.c0:disabled [data-component=ButtonCounter], -.c0[aria-disabled] [data-component=ButtonCounter] { - color: inherit; -} - .c0[aria-expanded=true] { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); @@ -348,6 +343,11 @@ exports[`Button respects block prop 1`] = ` .c0:disabled { cursor: not-allowed; box-shadow: none; + color: primer.fg.disabled; +} + +.c0:disabled [data-component=ButtonCounter] { + color: inherit; } .c0 [data-component=ButtonCounter] { @@ -405,7 +405,7 @@ exports[`Button respects block prop 1`] = ` width: 100%; } -.c0[data-inactive]:not([disabled]):not([aria-disabled]) { +.c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); border: 0; color: var(--button-inactive-fgColor,undefined); @@ -449,26 +449,16 @@ exports[`Button respects block prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:hover:not([disabled]):not([data-inactive]) { background-color: btn.hoverBg; border-color: var(--button-default-borderColor-hover,undefined); } -.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:active:not([disabled]):not([data-inactive]) { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); } -.c0:disabled, -.c0[aria-disabled] { - color: primer.fg.disabled; -} - -.c0:disabled [data-component=ButtonCounter], -.c0[aria-disabled] [data-component=ButtonCounter] { - color: inherit; -} - .c0[aria-expanded=true] { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); @@ -603,6 +593,11 @@ exports[`Button respects the alignContent prop 1`] = ` .c0:disabled { cursor: not-allowed; box-shadow: none; + color: primer.fg.disabled; +} + +.c0:disabled [data-component=ButtonCounter] { + color: inherit; } .c0 [data-component=ButtonCounter] { @@ -660,7 +655,7 @@ exports[`Button respects the alignContent prop 1`] = ` width: 100%; } -.c0[data-inactive]:not([disabled]):not([aria-disabled]) { +.c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); border: 0; color: var(--button-inactive-fgColor,undefined); @@ -704,26 +699,16 @@ exports[`Button respects the alignContent prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:hover:not([disabled]):not([data-inactive]) { background-color: btn.hoverBg; border-color: var(--button-default-borderColor-hover,undefined); } -.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:active:not([disabled]):not([data-inactive]) { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); } -.c0:disabled, -.c0[aria-disabled] { - color: primer.fg.disabled; -} - -.c0:disabled [data-component=ButtonCounter], -.c0[aria-disabled] [data-component=ButtonCounter] { - color: inherit; -} - .c0[aria-expanded=true] { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); @@ -857,6 +842,11 @@ exports[`Button respects the large size prop 1`] = ` .c0:disabled { cursor: not-allowed; box-shadow: none; + color: primer.fg.disabled; +} + +.c0:disabled [data-component=ButtonCounter] { + color: inherit; } .c0 [data-component=ButtonCounter] { @@ -914,7 +904,7 @@ exports[`Button respects the large size prop 1`] = ` width: 100%; } -.c0[data-inactive]:not([disabled]):not([aria-disabled]) { +.c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); border: 0; color: var(--button-inactive-fgColor,undefined); @@ -958,26 +948,16 @@ exports[`Button respects the large size prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:hover:not([disabled]):not([data-inactive]) { background-color: btn.hoverBg; border-color: var(--button-default-borderColor-hover,undefined); } -.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:active:not([disabled]):not([data-inactive]) { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); } -.c0:disabled, -.c0[aria-disabled] { - color: primer.fg.disabled; -} - -.c0:disabled [data-component=ButtonCounter], -.c0[aria-disabled] [data-component=ButtonCounter] { - color: inherit; -} - .c0[aria-expanded=true] { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); @@ -1112,6 +1092,11 @@ exports[`Button respects the small size prop 1`] = ` .c0:disabled { cursor: not-allowed; box-shadow: none; + color: primer.fg.disabled; +} + +.c0:disabled [data-component=ButtonCounter] { + color: inherit; } .c0 [data-component=ButtonCounter] { @@ -1169,7 +1154,7 @@ exports[`Button respects the small size prop 1`] = ` width: 100%; } -.c0[data-inactive]:not([disabled]):not([aria-disabled]) { +.c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); border: 0; color: var(--button-inactive-fgColor,undefined); @@ -1213,26 +1198,16 @@ exports[`Button respects the small size prop 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:hover:not([disabled]):not([data-inactive]) { background-color: btn.hoverBg; border-color: var(--button-default-borderColor-hover,undefined); } -.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:active:not([disabled]):not([data-inactive]) { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); } -.c0:disabled, -.c0[aria-disabled] { - color: primer.fg.disabled; -} - -.c0:disabled [data-component=ButtonCounter], -.c0[aria-disabled] [data-component=ButtonCounter] { - color: inherit; -} - .c0[aria-expanded=true] { background-color: btn.activeBg; border-color: var(--button-default-borderColor-active,undefined); @@ -1367,6 +1342,14 @@ exports[`Button styles danger button appropriately 1`] = ` .c0:disabled { cursor: not-allowed; box-shadow: none; + color: btn.danger.disabledText; + background-color: btn.danger.disabledBg; + border-color: btn.danger.disabledBorder; +} + +.c0:disabled [data-component=ButtonCounter] { + color: btn.danger.disabledCounterFg; + background-color: btn.danger.disabledCounterBg; } .c0 [data-component=ButtonCounter] { @@ -1426,7 +1409,7 @@ exports[`Button styles danger button appropriately 1`] = ` width: 100%; } -.c0[data-inactive]:not([disabled]):not([aria-disabled]) { +.c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); border: 0; color: var(--button-inactive-fgColor,undefined); @@ -1470,38 +1453,25 @@ exports[`Button styles danger button appropriately 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:hover:not([disabled]):not([data-inactive]) { color: btn.danger.hoverText; background-color: btn.danger.hoverBg; border-color: btn.danger.hoverBorder; box-shadow: undefined; } -.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) [data-component=ButtonCounter] { +.c0:hover:not([disabled]):not([data-inactive]) [data-component=ButtonCounter] { background-color: btn.danger.hoverCounterBg; color: btn.danger.hoverCounterFg; } -.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:active:not([disabled]):not([data-inactive]) { color: btn.danger.selectedText; background-color: btn.danger.selectedBg; box-shadow: undefined; border-color: btn.danger.selectedBorder; } -.c0:disabled, -.c0[aria-disabled] { - color: btn.danger.disabledText; - background-color: btn.danger.disabledBg; - border-color: btn.danger.disabledBorder; -} - -.c0:disabled [data-component=ButtonCounter], -.c0[aria-disabled] [data-component=ButtonCounter] { - color: btn.danger.disabledCounterFg; - background-color: btn.danger.disabledCounterBg; -} - .c0[aria-expanded=true] { color: btn.danger.selectedText; background-color: btn.danger.selectedBg; @@ -1631,6 +1601,13 @@ exports[`Button styles invisible button appropriately 1`] = ` .c0:disabled { cursor: not-allowed; box-shadow: none; + color: primer.fg.disabled; +} + +.c0:disabled [data-component=ButtonCounter], +.c0:disabled [data-component="leadingVisual"], +.c0:disabled [data-component="trailingAction"] { + color: inherit; } .c0 [data-component=ButtonCounter] { @@ -1688,7 +1665,7 @@ exports[`Button styles invisible button appropriately 1`] = ` width: 100%; } -.c0[data-inactive]:not([disabled]):not([aria-disabled]) { +.c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); border: 0; color: var(--button-inactive-fgColor,undefined); @@ -1742,20 +1719,6 @@ exports[`Button styles invisible button appropriately 1`] = ` background-color: actionListItem.default.activeBg; } -.c0:disabled, -.c0[aria-disabled] { - color: primer.fg.disabled; -} - -.c0:disabled [data-component=ButtonCounter], -.c0[aria-disabled] [data-component=ButtonCounter], -.c0:disabled [data-component="leadingVisual"], -.c0[aria-disabled] [data-component="leadingVisual"], -.c0:disabled [data-component="trailingAction"], -.c0[aria-disabled] [data-component="trailingAction"] { - color: inherit; -} - .c0[aria-expanded=true] { background-color: actionListItem.default.selectedBg; } @@ -1902,6 +1865,12 @@ exports[`Button styles primary button appropriately 1`] = ` .c0:disabled { cursor: not-allowed; box-shadow: none; + color: btn.primary.disabledText; + background-color: btn.primary.disabledBg; +} + +.c0:disabled [data-component=ButtonCounter] { + color: inherit; } .c0 [data-component=ButtonCounter] { @@ -1961,7 +1930,7 @@ exports[`Button styles primary button appropriately 1`] = ` width: 100%; } -.c0[data-inactive]:not([disabled]):not([aria-disabled]) { +.c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); border: 0; color: var(--button-inactive-fgColor,undefined); @@ -2005,7 +1974,7 @@ exports[`Button styles primary button appropriately 1`] = ` margin-right: 8px; } -.c0:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:hover:not([disabled]):not([data-inactive]) { color: btn.primary.hoverText; background-color: btn.primary.hoverBg; } @@ -2018,22 +1987,11 @@ exports[`Button styles primary button appropriately 1`] = ` box-shadow: inset 0 0 0 3px; } -.c0:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c0:active:not([disabled]):not([data-inactive]) { background-color: btn.primary.selectedBg; box-shadow: undefined; } -.c0:disabled, -.c0[aria-disabled] { - color: btn.primary.disabledText; - background-color: btn.primary.disabledBg; -} - -.c0:disabled [data-component=ButtonCounter], -.c0[aria-disabled] [data-component=ButtonCounter] { - color: inherit; -} - .c0[aria-expanded=true] { background-color: btn.primary.selectedBg; box-shadow: undefined; diff --git a/src/Button/styles.ts b/src/Button/styles.ts index 263913dc6fd..1eba8872777 100644 --- a/src/Button/styles.ts +++ b/src/Button/styles.ts @@ -7,15 +7,15 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.text', backgroundColor: 'btn.bg', boxShadow: `${theme?.shadows.btn.shadow}, ${theme?.shadows.btn.insetShadow}`, - '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { + '&:hover:not([disabled]):not([data-inactive])': { backgroundColor: 'btn.hoverBg', borderColor: `var(--button-default-borderColor-hover, ${theme?.colors.btn.hoverBorder})`, }, - '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { + '&:active:not([disabled]):not([data-inactive])': { backgroundColor: 'btn.activeBg', borderColor: `var(--button-default-borderColor-active, ${theme?.colors.btn.activeBorder})`, }, - '&:disabled, &[aria-disabled]': { + '&:disabled': { color: 'primer.fg.disabled', '[data-component=ButtonCounter]': { color: 'inherit', @@ -34,7 +34,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme backgroundColor: 'btn.primary.bg', borderColor: 'btn.primary.border', boxShadow: `${theme?.shadows.btn.primary.shadow}`, - '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { + '&:hover:not([disabled]):not([data-inactive])': { color: 'btn.primary.hoverText', backgroundColor: 'btn.primary.hoverBg', }, @@ -44,11 +44,11 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme '&:focus-visible:not([disabled])': { boxShadow: 'inset 0 0 0 3px', }, - '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { + '&:active:not([disabled]):not([data-inactive])': { backgroundColor: 'btn.primary.selectedBg', boxShadow: `${theme?.shadows.btn.primary.selectedShadow}`, }, - '&:disabled, &[aria-disabled]': { + '&:disabled': { color: 'btn.primary.disabledText', backgroundColor: 'btn.primary.disabledBg', '[data-component=ButtonCounter]': { @@ -68,7 +68,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.danger.text', backgroundColor: 'btn.bg', boxShadow: `${theme?.shadows.btn.shadow}`, - '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { + '&:hover:not([disabled]):not([data-inactive])': { color: 'btn.danger.hoverText', backgroundColor: 'btn.danger.hoverBg', borderColor: 'btn.danger.hoverBorder', @@ -78,13 +78,13 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.danger.hoverCounterFg', }, }, - '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { + '&:active:not([disabled]):not([data-inactive])': { color: 'btn.danger.selectedText', backgroundColor: 'btn.danger.selectedBg', boxShadow: `${theme?.shadows.btn.danger.selectedShadow}`, borderColor: 'btn.danger.selectedBorder', }, - '&:disabled, &[aria-disabled]': { + '&:disabled': { color: 'btn.danger.disabledText', backgroundColor: 'btn.danger.disabledBg', borderColor: 'btn.danger.disabledBorder', @@ -115,7 +115,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme '&:active:not([disabled])': { backgroundColor: 'actionListItem.default.activeBg', }, - '&:disabled, &[aria-disabled]': { + '&:disabled': { color: 'primer.fg.disabled', '[data-component=ButtonCounter], [data-component="leadingVisual"], [data-component="trailingAction"]': { color: 'inherit', @@ -152,7 +152,7 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme borderColor: `var(--button-default-borderColor-rest, ${theme?.colors.btn.border})`, backgroundColor: 'btn.bg', - '&:hover:not([disabled]):not([aria-disabled]):not([data-inactive])': { + '&:hover:not([disabled]):not([data-inactive])': { color: 'btn.outline.hoverText', backgroundColor: 'btn.outline.hoverBg', borderColor: `${theme?.colors.btn.outline.hoverBorder}`, @@ -162,14 +162,14 @@ export const getVariantStyles = (variant: VariantType = 'default', theme?: Theme color: 'btn.outline.hoverCounterFg', }, }, - '&:active:not([disabled]):not([aria-disabled]):not([data-inactive])': { + '&:active:not([disabled]):not([data-inactive])': { color: 'btn.outline.selectedText', backgroundColor: 'btn.outline.selectedBg', boxShadow: `${theme?.shadows.btn.outline.selectedShadow}`, borderColor: `${theme?.colors.btn.outline.selectedBorder}`, }, - '&:disabled, &[aria-disabled]': { + '&:disabled': { color: 'btn.outline.disabledText', backgroundColor: 'btn.outline.disabledBg', borderColor: 'btn.border', @@ -295,7 +295,7 @@ export const getButtonStyles = (theme?: Theme) => { '&[data-block="block"]': { width: '100%', }, - '&[data-inactive]:not([disabled]):not([aria-disabled])': { + '&[data-inactive]:not([disabled])': { backgroundColor: `var(--button-inactive-bgColor, ${theme?.colors.btn.inactive.bg})`, border: 0, color: `var(--button-inactive-fgColor, ${theme?.colors.btn.inactive.text})`, diff --git a/src/Dialog/__snapshots__/Dialog.test.tsx.snap b/src/Dialog/__snapshots__/Dialog.test.tsx.snap index daedbbc002f..8e87c7451b8 100644 --- a/src/Dialog/__snapshots__/Dialog.test.tsx.snap +++ b/src/Dialog/__snapshots__/Dialog.test.tsx.snap @@ -171,6 +171,13 @@ exports[`Dialog renders consistently 1`] = ` .c1:disabled { cursor: not-allowed; box-shadow: none; + color: #8c959f; +} + +.c1:disabled [data-component=ButtonCounter], +.c1:disabled [data-component="leadingVisual"], +.c1:disabled [data-component="trailingAction"] { + color: inherit; } .c1 [data-component=ButtonCounter] { @@ -228,7 +235,7 @@ exports[`Dialog renders consistently 1`] = ` width: 100%; } -.c1[data-inactive]:not([disabled]):not([aria-disabled]) { +.c1[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#57606a); @@ -282,20 +289,6 @@ exports[`Dialog renders consistently 1`] = ` background-color: rgba(208,215,222,0.48); } -.c1:disabled, -.c1[aria-disabled] { - color: #8c959f; -} - -.c1:disabled [data-component=ButtonCounter], -.c1[aria-disabled] [data-component=ButtonCounter], -.c1:disabled [data-component="leadingVisual"], -.c1[aria-disabled] [data-component="leadingVisual"], -.c1:disabled [data-component="trailingAction"], -.c1[aria-disabled] [data-component="trailingAction"] { - color: inherit; -} - .c1[aria-expanded=true] { background-color: rgba(208,215,222,0.24); } diff --git a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap index e3ec074e3c9..9c6c8d098f9 100644 --- a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap +++ b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap @@ -112,6 +112,11 @@ exports[`SelectPanel renders consistently 1`] = ` .c1:disabled { cursor: not-allowed; box-shadow: none; + color: #8c959f; +} + +.c1:disabled [data-component=ButtonCounter] { + color: inherit; } .c1 [data-component=ButtonCounter] { @@ -169,7 +174,7 @@ exports[`SelectPanel renders consistently 1`] = ` width: 100%; } -.c1[data-inactive]:not([disabled]):not([aria-disabled]) { +.c1[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#57606a); @@ -213,26 +218,16 @@ exports[`SelectPanel renders consistently 1`] = ` margin-right: 8px; } -.c1:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c1:hover:not([disabled]):not([data-inactive]) { background-color: #f3f4f6; border-color: var(--button-default-borderColor-hover,rgba(31,35,40,0.15)); } -.c1:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c1:active:not([disabled]):not([data-inactive]) { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); } -.c1:disabled, -.c1[aria-disabled] { - color: #8c959f; -} - -.c1:disabled [data-component=ButtonCounter], -.c1[aria-disabled] [data-component=ButtonCounter] { - color: inherit; -} - .c1[aria-expanded=true] { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); diff --git a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap index 0cc2dc942f1..40a6a237101 100644 --- a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +++ b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap @@ -112,6 +112,11 @@ exports[`ActionMenu renders consistently 1`] = ` .c1:disabled { cursor: not-allowed; box-shadow: none; + color: #8c959f; +} + +.c1:disabled [data-component=ButtonCounter] { + color: inherit; } .c1 [data-component=ButtonCounter] { @@ -169,7 +174,7 @@ exports[`ActionMenu renders consistently 1`] = ` width: 100%; } -.c1[data-inactive]:not([disabled]):not([aria-disabled]) { +.c1[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#57606a); @@ -213,26 +218,16 @@ exports[`ActionMenu renders consistently 1`] = ` margin-right: 8px; } -.c1:hover:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c1:hover:not([disabled]):not([data-inactive]) { background-color: #f3f4f6; border-color: var(--button-default-borderColor-hover,rgba(31,35,40,0.15)); } -.c1:active:not([disabled]):not([aria-disabled]):not([data-inactive]) { +.c1:active:not([disabled]):not([data-inactive]) { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); } -.c1:disabled, -.c1[aria-disabled] { - color: #8c959f; -} - -.c1:disabled [data-component=ButtonCounter], -.c1[aria-disabled] [data-component=ButtonCounter] { - color: inherit; -} - .c1[aria-expanded=true] { background-color: hsla(220,14%,93%,1); border-color: var(--button-default-borderColor-active,rgba(31,35,40,0.15)); diff --git a/src/__tests__/__snapshots__/TextInput.test.tsx.snap b/src/__tests__/__snapshots__/TextInput.test.tsx.snap index 7a77a09d416..b0a7f4427cd 100644 --- a/src/__tests__/__snapshots__/TextInput.test.tsx.snap +++ b/src/__tests__/__snapshots__/TextInput.test.tsx.snap @@ -1773,6 +1773,13 @@ exports[`TextInput renders trailingAction icon button 1`] = ` .c5:disabled { cursor: not-allowed; box-shadow: none; + color: #8c959f; +} + +.c5:disabled [data-component=ButtonCounter], +.c5:disabled [data-component="leadingVisual"], +.c5:disabled [data-component="trailingAction"] { + color: inherit; } .c5 [data-component=ButtonCounter] { @@ -1830,7 +1837,7 @@ exports[`TextInput renders trailingAction icon button 1`] = ` width: 100%; } -.c5[data-inactive]:not([disabled]):not([aria-disabled]) { +.c5[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#57606a); @@ -1884,20 +1891,6 @@ exports[`TextInput renders trailingAction icon button 1`] = ` background-color: rgba(208,215,222,0.48); } -.c5:disabled, -.c5[aria-disabled] { - color: #8c959f; -} - -.c5:disabled [data-component=ButtonCounter], -.c5[aria-disabled] [data-component=ButtonCounter], -.c5:disabled [data-component="leadingVisual"], -.c5[aria-disabled] [data-component="leadingVisual"], -.c5:disabled [data-component="trailingAction"], -.c5[aria-disabled] [data-component="trailingAction"] { - color: inherit; -} - .c5[aria-expanded=true] { background-color: rgba(208,215,222,0.24); } @@ -2442,6 +2435,13 @@ exports[`TextInput renders trailingAction text button 1`] = ` .c4:disabled { cursor: not-allowed; box-shadow: none; + color: #8c959f; +} + +.c4:disabled [data-component=ButtonCounter], +.c4:disabled [data-component="leadingVisual"], +.c4:disabled [data-component="trailingAction"] { + color: inherit; } .c4 [data-component=ButtonCounter] { @@ -2499,7 +2499,7 @@ exports[`TextInput renders trailingAction text button 1`] = ` width: 100%; } -.c4[data-inactive]:not([disabled]):not([aria-disabled]) { +.c4[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#57606a); @@ -2553,20 +2553,6 @@ exports[`TextInput renders trailingAction text button 1`] = ` background-color: rgba(208,215,222,0.48); } -.c4:disabled, -.c4[aria-disabled] { - color: #8c959f; -} - -.c4:disabled [data-component=ButtonCounter], -.c4[aria-disabled] [data-component=ButtonCounter], -.c4:disabled [data-component="leadingVisual"], -.c4[aria-disabled] [data-component="leadingVisual"], -.c4:disabled [data-component="trailingAction"], -.c4[aria-disabled] [data-component="trailingAction"] { - color: inherit; -} - .c4[aria-expanded=true] { background-color: rgba(208,215,222,0.24); } @@ -2863,6 +2849,13 @@ exports[`TextInput renders trailingAction text button with a tooltip 1`] = ` .c5:disabled { cursor: not-allowed; box-shadow: none; + color: #8c959f; +} + +.c5:disabled [data-component=ButtonCounter], +.c5:disabled [data-component="leadingVisual"], +.c5:disabled [data-component="trailingAction"] { + color: inherit; } .c5 [data-component=ButtonCounter] { @@ -2920,7 +2913,7 @@ exports[`TextInput renders trailingAction text button with a tooltip 1`] = ` width: 100%; } -.c5[data-inactive]:not([disabled]):not([aria-disabled]) { +.c5[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); border: 0; color: var(--button-inactive-fgColor,#57606a); @@ -2974,20 +2967,6 @@ exports[`TextInput renders trailingAction text button with a tooltip 1`] = ` background-color: rgba(208,215,222,0.48); } -.c5:disabled, -.c5[aria-disabled] { - color: #8c959f; -} - -.c5:disabled [data-component=ButtonCounter], -.c5[aria-disabled] [data-component=ButtonCounter], -.c5:disabled [data-component="leadingVisual"], -.c5[aria-disabled] [data-component="leadingVisual"], -.c5:disabled [data-component="trailingAction"], -.c5[aria-disabled] [data-component="trailingAction"] { - color: inherit; -} - .c5[aria-expanded=true] { background-color: rgba(208,215,222,0.24); } From fc9d71347eccb44967d8c0a9298e59f281a412b1 Mon Sep 17 00:00:00 2001 From: Mike Perrotti Date: Thu, 30 Nov 2023 16:32:04 -0500 Subject: [PATCH 20/21] preserves border on inactive buttons --- .../__snapshots__/Button.test.tsx.snap | 48 +++++++++++++++---- src/Button/styles.ts | 5 +- src/Dialog/__snapshots__/Dialog.test.tsx.snap | 6 ++- .../__snapshots__/SelectPanel.test.tsx.snap | 6 ++- .../__snapshots__/ActionMenu.test.tsx.snap | 6 ++- .../__snapshots__/TextInput.test.tsx.snap | 18 +++++-- 6 files changed, 74 insertions(+), 15 deletions(-) diff --git a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap index 90204742387..67da6d5e057 100644 --- a/src/Button/__tests__/__snapshots__/Button.test.tsx.snap +++ b/src/Button/__tests__/__snapshots__/Button.test.tsx.snap @@ -162,10 +162,14 @@ exports[`Button renders consistently 1`] = ` .c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); - border: 0; + border-color: var(--button-inactive-bgColor,#eaeef2); color: var(--button-inactive-fgColor,#57606a); } +.c0[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -407,10 +411,14 @@ exports[`Button respects block prop 1`] = ` .c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); - border: 0; + border-color: var(--button-inactive-bgColor,undefined); color: var(--button-inactive-fgColor,undefined); } +.c0[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -657,10 +665,14 @@ exports[`Button respects the alignContent prop 1`] = ` .c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); - border: 0; + border-color: var(--button-inactive-bgColor,undefined); color: var(--button-inactive-fgColor,undefined); } +.c0[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -906,10 +918,14 @@ exports[`Button respects the large size prop 1`] = ` .c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); - border: 0; + border-color: var(--button-inactive-bgColor,undefined); color: var(--button-inactive-fgColor,undefined); } +.c0[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -1156,10 +1172,14 @@ exports[`Button respects the small size prop 1`] = ` .c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); - border: 0; + border-color: var(--button-inactive-bgColor,undefined); color: var(--button-inactive-fgColor,undefined); } +.c0[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -1411,10 +1431,14 @@ exports[`Button styles danger button appropriately 1`] = ` .c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); - border: 0; + border-color: var(--button-inactive-bgColor,undefined); color: var(--button-inactive-fgColor,undefined); } +.c0[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } @@ -1667,10 +1691,14 @@ exports[`Button styles invisible button appropriately 1`] = ` .c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); - border: 0; + border-color: var(--button-inactive-bgColor,undefined); color: var(--button-inactive-fgColor,undefined); } +.c0[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; color: fg.muted; @@ -1932,10 +1960,14 @@ exports[`Button styles primary button appropriately 1`] = ` .c0[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,undefined); - border: 0; + border-color: var(--button-inactive-bgColor,undefined); color: var(--button-inactive-fgColor,undefined); } +.c0[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c0 [data-component="leadingVisual"] { grid-area: leadingVisual; } diff --git a/src/Button/styles.ts b/src/Button/styles.ts index 1eba8872777..81a9d0c606b 100644 --- a/src/Button/styles.ts +++ b/src/Button/styles.ts @@ -297,9 +297,12 @@ export const getButtonStyles = (theme?: Theme) => { }, '&[data-inactive]:not([disabled])': { backgroundColor: `var(--button-inactive-bgColor, ${theme?.colors.btn.inactive.bg})`, - border: 0, + borderColor: `var(--button-inactive-bgColor, ${theme?.colors.btn.inactive.bg})`, color: `var(--button-inactive-fgColor, ${theme?.colors.btn.inactive.text})`, }, + '&[data-inactive]:not([disabled]):focus-visible': { + boxShadow: 'none', + }, '[data-component="leadingVisual"]': { gridArea: 'leadingVisual', }, diff --git a/src/Dialog/__snapshots__/Dialog.test.tsx.snap b/src/Dialog/__snapshots__/Dialog.test.tsx.snap index 8e87c7451b8..f3aaf3ab027 100644 --- a/src/Dialog/__snapshots__/Dialog.test.tsx.snap +++ b/src/Dialog/__snapshots__/Dialog.test.tsx.snap @@ -237,10 +237,14 @@ exports[`Dialog renders consistently 1`] = ` .c1[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); - border: 0; + border-color: var(--button-inactive-bgColor,#eaeef2); color: var(--button-inactive-fgColor,#57606a); } +.c1[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c1 [data-component="leadingVisual"] { grid-area: leadingVisual; color: #656d76; diff --git a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap index 9c6c8d098f9..0100d49191c 100644 --- a/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap +++ b/src/SelectPanel/__snapshots__/SelectPanel.test.tsx.snap @@ -176,10 +176,14 @@ exports[`SelectPanel renders consistently 1`] = ` .c1[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); - border: 0; + border-color: var(--button-inactive-bgColor,#eaeef2); color: var(--button-inactive-fgColor,#57606a); } +.c1[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c1 [data-component="leadingVisual"] { grid-area: leadingVisual; } diff --git a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap index 40a6a237101..34058241d76 100644 --- a/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +++ b/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap @@ -176,10 +176,14 @@ exports[`ActionMenu renders consistently 1`] = ` .c1[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); - border: 0; + border-color: var(--button-inactive-bgColor,#eaeef2); color: var(--button-inactive-fgColor,#57606a); } +.c1[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c1 [data-component="leadingVisual"] { grid-area: leadingVisual; } diff --git a/src/__tests__/__snapshots__/TextInput.test.tsx.snap b/src/__tests__/__snapshots__/TextInput.test.tsx.snap index 5d4e4f62569..e891006f9dd 100644 --- a/src/__tests__/__snapshots__/TextInput.test.tsx.snap +++ b/src/__tests__/__snapshots__/TextInput.test.tsx.snap @@ -1852,10 +1852,14 @@ exports[`TextInput renders trailingAction icon button 1`] = ` .c5[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); - border: 0; + border-color: var(--button-inactive-bgColor,#eaeef2); color: var(--button-inactive-fgColor,#57606a); } +.c5[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c5 [data-component="leadingVisual"] { grid-area: leadingVisual; color: #656d76; @@ -2515,10 +2519,14 @@ exports[`TextInput renders trailingAction text button 1`] = ` .c4[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); - border: 0; + border-color: var(--button-inactive-bgColor,#eaeef2); color: var(--button-inactive-fgColor,#57606a); } +.c4[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c4 [data-component="leadingVisual"] { grid-area: leadingVisual; color: #656d76; @@ -2930,10 +2938,14 @@ exports[`TextInput renders trailingAction text button with a tooltip 1`] = ` .c5[data-inactive]:not([disabled]) { background-color: var(--button-inactive-bgColor,#eaeef2); - border: 0; + border-color: var(--button-inactive-bgColor,#eaeef2); color: var(--button-inactive-fgColor,#57606a); } +.c5[data-inactive]:not([disabled]):focus-visible { + box-shadow: none; +} + .c5 [data-component="leadingVisual"] { grid-area: leadingVisual; color: #656d76; From 737b6cafd057d1823112ce255475823d32c345ce Mon Sep 17 00:00:00 2001 From: mperrotti Date: Fri, 1 Dec 2023 16:17:48 +0000 Subject: [PATCH 21/21] test(vrt): update snapshots --- .../Button-Inactive-dark-colorblind-linux.png | Bin 6256 -> 6300 bytes .../Button-Inactive-dark-dimmed-linux.png | Bin 6142 -> 6184 bytes ...tton-Inactive-dark-high-contrast-linux.png | Bin 6246 -> 6371 bytes .../Button-Inactive-dark-linux.png | Bin 6231 -> 6300 bytes .../Button-Inactive-dark-tritanopia-linux.png | Bin 6256 -> 6300 bytes ...Button-Inactive-light-colorblind-linux.png | Bin 6277 -> 6295 bytes ...ton-Inactive-light-high-contrast-linux.png | Bin 6287 -> 6294 bytes .../Button-Inactive-light-linux.png | Bin 6263 -> 6295 bytes ...Button-Inactive-light-tritanopia-linux.png | Bin 6277 -> 6295 bytes 9 files changed, 0 insertions(+), 0 deletions(-) diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-colorblind-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-colorblind-linux.png index d9dd6608e6a5c8fada7fc235a7e22b5cd87207a0..1e3a0c457173e5fafac0cd3d1c084cdd440dfc34 100644 GIT binary patch delta 1798 zcmX9;Yfw{X8fIH|qMKc`Wex3E6KC5Fb&G&axdaF)i*Q!&!gfiq;LQEq6KeaR-Z8#;oPk$_l7=a)099ZW{h`dF~Ee{b#!q zBi}x9JnN6&G(YiBJUQh~Y+c;`s(p2Ihru1|kAY&cDON`9)z=9KaO zQJ#44?%AHB@Q6e`(t*e!xy^4t<+OBnA@`Xj0$c~MIx=SaVPhh?^{t&Jptj*N14~QS zG-Et8F8-kM@nf%};K#|y$v&y1BbpU!*<3!ZBS(P^$i;(LUxOc2&(Evq42Hh)m{6>$!QgSeO&X5Gn??sXk(=muET z_|(;##YOavE-1a7IVIdzaEPWA?n^I2oKCQ(0{sXiiC(GFtQ@vCO)l z1GOkmCdm0Vk240DpDW6c@+LYhCn)Gj-OQeRg~ejYs17#}iR|EIX_rLs?2fCyiXR*x z8MkzBN{*1v6lMfA7=oo-79|piu*V`(4Rq%q*#xeM@5v@y|IZi?NlMXwN+c43 z)5VGgpc<+2w|h4*CJH8gwEA?tAwf|o6Vw_}F-1&ka7Md&SBr@15$kQjsekfpa@OgQ zEy@3Qp`m4h@=7zo=nO^zdk#AOh4r<@QdJj+h9C_bZj^h>F^XSfq7<;vr=e5WWmIu0 zNfMUnEX??^3LK6=@jZJ#$8y0A+4bK3D%GTK^1aNne;2-2#})haNachW=o=DyRK9!HPB)sI3^-fFi7F*IeGc0%27HMQiqdMQjjC^qYW5i;-x%>d$|)@{m-!Ij!e-9)Z=mrX6CrZ3h1fBsVu5=D349 z8T<{%Ece?+@Rz(`29T;3$4ey=61xo7jwASah*L$^46T-Hqk%lGuY&b7K^muCSutv4 zRVK!n87y+SN-!6ALJR#8nCQtQb$0G`Exw7WgQzKGp%8ktt!i#=&UIsNm1qHW9HTuj zf)ZFXYJn=w&JdID-D6Kc$E00$eAw0(vbTC#fSY5;_S^KoYDq+5{#f7!y|@^9Jfsql zwu`{GUkx@f^>#dJybro`Ci zR7E~~#y`5zM9GBRsshUst(Lze)FGaM(!mECo{8#(E{^I%esQ{Nbk*QWfwtP&o{d{Q z$o_3F9RI%5)D%-GR=%NjM0#U4pI+Eif$rGmJ;BJ`o~Bui+bS9(TaRL}P}=HE(~B1` zz9Fd&2*Lb}pveZKe1uIr>eBdp9qV{7z0R}sbWBjIegAgIUr|w^0M=c{gI@nX-rYk} zcjOSdl*+;St{|y|&1O?2nMpk~iP82I08E{#oXK_w36x|IN|SaAN=r+rlC&ffS->C3 zp#uEHjPHLqf!#-`t;nnGSJ(=9WhFH=IGm~lW32+eoAmkm`pITR1^}acQh?he5__oP z8^>d5l}lGaY&<%ZLhau69_jPJmpkjC1`~ht!y7ms0XaXA7U^C21IUT^;t2Kd{XhM! F@xP)K)l>ig delta 1735 zcmZ`(dr(tn7N;#8q3#$fL)a+@j*RP01=Esh3L(i>yF;B+n5`9-f{Efl%JK*pNxUJ+ z#dTcQ(vn>%C`gi}UCFR2Q7*_MF%cZGXdXPqB{3!uCAmC89wa1?+;I2Oo$Y`7&-uPN zXU=zi=l7lS>-f;~!QVav-#_x{CtsfHShg&QyLg2Uyf?`Zaav+o-Y=iJQIb7*sOX=4 zd!n~ecE$Yq&C5S@?}~qPxCBW-Qons~*Y?l;digKE{bon>x4WOcvwPyu=W|~wE!BAw zls+ZVY}v^?*&g+%Pu~YI13rLs34T(CT7~csEZT2`&{yBR5fv5n1-CLL_$GFFaBOe$ z8}A$k)2r=w?Dm$zufA%3bVCB&Ielthj*O%4pb+JGl!NkIN&D(*|1x7sR8)gc+Zr8d z+DR@8N-0oZpDOwaJNjfaO>s-R(rpLk*1VbZ0Vh}SHdX*Ap;r&tAf6kD_u1Ix zh1k+P-;9oAv3tOAdQ6~en2dp{zSv6 zrOR$!b);d*=ejDh=6Pwz*EHQmcMTr%WFHf3qhM!rEFZHmJN%g4{{6PlTUQxbnvEWw zfm|KY9W{hnimcRv`~K3RJMo)Yk$d*LPH;f=`rjt>7E7nqwh>v5x$!v8ytLjyN4*!< z1BY?cg-lxg>H&_sv)(~O*A~((>{GS1jI*Xjn5N;wt$M7}hTFYWGAQ7dDTQi2EP)0G zKS)?M(+Y}#XUK}enju?LighP!AxCrjU6tyipr!unWb&%9)x{n6fjDh^0b|cR*6GKr z^fcyR7)K(WoLO8vCej@z2u&}*HBXW%tYHa-!lqZVp!it8==98F~PM~R7v z5X)^{U!T#O>e0-04LOFF96vM$bR!pdhA|W5Yi07y#b?IPXVxr;b#}r~i3?dtfP0@Z zvlaCZuY-=`wBRBz-cq0+8ym~6L4`yj=iyO>L?)Un_1$I*B3_Dh)vO`qGznNu*@&mO z_8A@S+>+99Lqhj;4XEn!3ku-Ht4xv&8Jj7qs#-q6G+&MrQ|&&C;|BR+M<^vk5Y2Kp zvppv`FW)9yYinZ)d_}Nv@<(4MP6e{5NGDFa=(70Q6WP+XHnC`q;7~uj1p5Zir-HQ$ zZkaF~H0TuJi$jrn27TD-d+h7Z6O}OPA{7oGfr)(29fYMyIAGoYlKGwyz%ARDOaj(s z(>1vm0^=>t`|~roJ-YF@y=87|qvHylvH3eBly7Fi+68bL;-0CZqU-^Kp_sew{Nvh4 zzc@KFBSnDL!#!*vM=#AJU&8HdPt8e|!qgyOuGxb<>+wIohjyZ;_8V(QDl03sR$+o} zbaWJPxzQ0EqF-EeWs01}pn!e)^l5BZ?3{Ia&$X78t*nCw%Yf2SJl-%wkH+{p3XIkOj)j-MXd+D_b5vZ|`8tf-U*e4!9};|p|86+_k3z)Xr{i;I>`B(jzEWfZR1 zZ}g90NbXSd-9;|u`oESiN>e$u*{}nn7V7QIQ1aX&1a533Yr?K@+~C}UJsi(Vi}*1z zHMQb254gQD8C3}K@%V&fln+no3mJt#dk=;xO3Ed^{^if}kq+W=Hchb0((ufn*PU&x$ z`iHYfR^&M*5UEf|lQ&D_`+q7%RE;dKwiecEiz6!)Ft&erA20bArlE?u86MkYtIdt* z-ooINl_j!=G=X?UM+MXSq^+%x44iS@4^9Z?3}~e~GI3ap>TMvxhM$qF*>2=Jo?(F~ zhbKlZ_{Q@DNGxpe+6g)zF6mkkxWscz=7VX;EZ8txN=$H|E5>+t2khw|L8aRB?u+d05 zNPL+o-HlSPAw0j#!1lSp*AO0Wo{UWZuWt)Mw7DN``W!tby$!4M#3`}A zctlmpbNNnh>PR8>sONJNLiWpZb)irw-+ASpT1^#8vikogkXJ6flAQDZ-DETxzxl(F z#6%W6nbX7$zK3OYHECDs5;?iS-&|ZZT>&9{wjZ45tA7=uvz$5o=oW7n7ZxF g+hf%D2(I8a|LCK>_}x}46m{hHxu5nNI{D}S05TTC*Z=?k diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-dimmed-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-dimmed-linux.png index 9a57ae787e0427f3359269cbec5bfd0c55b631d1..20fa18b1f091f682b10915372dc951d069c53e82 100644 GIT binary patch delta 1668 zcmX|Bdr(t%7LHSG?Ansubrqx?;*$@*FqE&DtFSiwW<>8~bk&p*AFLLv^`@6F<{pbE> z&iUp$-?`^}Ctvxms?V!Co*X*3|Bt>BmR1qdQtHNhXIw>CW@Z!3GFPe!_UEFBQ z-Qc9>ubkgPAQ0XytY?6SuyJ?i@Fn8=@WTSWcF>_-_Igzd`b1NC*g!O9D+QY;C8~!`T684Ve+v*dj6o$nSs3G3=vF!uP>qr$7>yqZ z>&PDsCiHsa>3p`u3QKcG+i9nQ4-_-l{{18Z;pXdWe>k5<^&L8^Pyj(aLLuU&ab34% zjA|J(9q(J`%usB89z|9%Qcs3?M-=qEWo2djq!6oSX4Y7c(Od^Vm%AKbR7hm!o@d!miUH9Di9Gnq;S)U{G7*OG?k>~=c3HVz2{0x5c%Y-Zk$anN})`jm|* zbyhKEc`qgHR7sKLrlzJVMQz#Dbj0SntSn>aVPOI2Ia}Ff?0DwO&aUfbwAFhe#&!t8 z;maP+6*w1|bQs#uaj*$r)~kAX5Hy2@xsKU^B1Arkb+$>@;B|gyMkC5zbJ^Fie9#Iz9n@cXw4$rDDWW2D6dKGaZ9{*%BJLD8?VV+k%+U!)GO@~_CONJ2@0jwhxKVqmlKIWk|%lRniz2# zg|y zp0l#|%;*>!d2|f%*yITO-RzFovz;u*3W`o>)Q&M0eJ`snXYbbt6TwI^Q`%Q}y+fzf zQe_g<)y|CuJG)Lg?DmNB3oxBK2Hvfq7NZR6OOtr!~)24CCt~D#c4Pf&2D}X#p_aCIfpy|j28=duaL2g4B6yu zww^h0L}hNzqXU&raEnB_g;8f(Z3tYtt5W1Fmb9ap>tv*)eRZj<9D-r4G=@wf!APY4 z#Y|e)9=OF~&_}UvplXxZNR4f_7j%8N>th!1@V_CWT9I@4N)y|0 z&2x&w1;hW{UI?2WU&Ri{B-6vod+>N?ZE<|jCyrJjH`Gf%MQCiVa(!`)0kUV$H4>b@KN z$r4V5TxSppDmbRzqyImJ#75f0g^E^l)d*Naiv&#Mx~|dvYVCa-YL-fRG-jGu%$A)g z28@xP_ZP-%YQ*eGr}zDLc7RCjs`AvX61-TA?ibr1l60RJHf{O!7U|)yw{^{}{1YSy Ohu%JNQ1jNYbN>U?d7~Ks delta 1621 zcmZ8hX;4#F6pl+9tu0!0Ku09C>ex{h5etMx#%hN;j?#`AjA(*o5=L1SS+bDlQk$_1 zVxb7H5Mry0+7Ky5h#|o!f~b&$4oHmI6v%skBoUH8_Sc*K?4Nt*-t(PvzjMBG&z+ z3&H*vzoq60{sl_(D#<4@_@>%ga(FP8=tkRlz19%qb~wgF_dA(uq|hy4%RQyrJ#&)+*qu-8Ie_=^ynI*6csRg5 zJd&RFRFry<;~5#x>97oJEx!$rjCO+@!_c}?J+TOuSREDp!+vkqJqE9I?gxApfInMQjxT5aO6{$OLm*Vz{6`@uyx z2v?|0xPQZ_)r04SFs#wZc7+%?IbodXD-7?8+h_(h>(CgD{PxO9hJ9uW3hG!i{kn~a zd5j7b$6W(#4RU8c8Ypl;nj+)^9x>HX8a+z(*)X%UCA*q0eEgcg%A1AR+X6Iz8&bM)TXktbowLAT%a)Z*CBPS zzFZ1tvR4z&Q78F_vypZvB`&HQG7}Kpaw;sUN{%k&$Ga|+JUsW#>~aZEgeOQxn_GQd z^?0CI$GMD;d{U`YBo)QHU)P8B+#Ld?zUS%{pmYc-FzEF>HI-Ft@eIWT%9FyhAc(_- zR8Sk174Z0%E?ttaC%bbg(%5;O?a9S3kjN)jr>i{}^r{Wkq|{edj)@*T*hzIx8GZlk zA*t2btRfp^C@b7P&vT78N-#f}LT(_&*VlqSa?CyE1f0%yYPU|PV`J&X#d)!<)P`5> z?HauvE@1lzMs<-&hdoYm4r&-C78aWxMg1LyRlDZ9xspimb||c!s`hXR3^o)S*Q%=R z56QN<9b__@2ZF4dkBYcXr_mhAeAejjq@?hjd0n*pD5Ytv&)Rtg^ZWhb5fS-b+0k%1 zgJ#;p+zbMKcn6w@+R`#G^~N0#{67(sZPRS;Drg7FvA+xr9gr0{ULKdQPlc6_-UZpf zy|c4PZm8#wZG1>2LuEptLgKMVvrn}p2?RN|*S9fthgeL{D=(+h1L;ZA8ta>Tp{{X! zSVE%5#VgZZl)y>RX#->3S~l2B&CeS@jkW6QCS@1a5p9~n0|K!6$T%IVb-OgqwWmb z^Q<&5jpn?FA`Y>45%{WPtXZScG#OYVkyO*A%btBd5s za{(zFme!}-<%cgdto?AsqYNF1BrHX-F>z|wLZBnA6sNAKxv(?@0>fs0e(rz6Mk-~k zVX-&GF9XQ@S}?nWiuc^MzSN5%aPgKTnY>{HJj_Dj)7P8xSUEW*B^_1F&w$Ocf;;<1 znc5)Pfyd*y(OV}$ss;(ubw?d=47$%=vuAE@4iOr${1J5=y*O`2`So-Xz3ph|vkC2p z!C;U{rHP5!3{iVKWB5JrDdZA=yMYyCWHgKhgJb>z;~vp&{NRe3YfF9%8H5&gudZLL UON-e7Y`A^j9^8BHo6L*<0wZFE<^TWy diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-high-contrast-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-high-contrast-linux.png index 78a50c2bf71e2b8c92fb0f9260aa5e430e70a614..d9fea4956381ec13349fd6bfe1fc93c750eed123 100644 GIT binary patch literal 6371 zcmeHLTU1k58cvIqTBNBu9W0k%%VN+XTE+oNFo`;}f({7^0ZAZ2~`YW0!a~tH48#u$OYtbpdgoE5^muVNHQlgk9{nC%fmVQto@(; zt?$2m`<$H@jXmx9f%^wA7|b;?BK$lI=ClG`u=jUDGxz>*I2jt=VV*yI3MT6HoP)vk z^CH7f#$JDv^BsaeMGJiQy@#9llrnOU6fn_8!`$8XSBaeD1Buy#vvD z1>V?JI|aN*&ha{CHK3JmdRlE8ZOpX{+<R#EMSEU8tf&xZu{dqslYVT`yD->Kf9!iOFiY2@)V6=k z9O~ra@i-jAHTVuq@!FM#c+U<*=|2flcdPHUx9fB|TG#P@i9|wsHBJd~SNtDhZ}V)W zHz6nyHHy+dyc{_@XQ-?Crw0AR!{hUAoA33SQer!yFFixPUPa=BDE&EvAg+yAn2CQSvYt_q{YnrVsZkAOf zrA>Agur@x9SBZ^T4Ak>XcCuu;)cn#9lMrGXQ<$uZGJ2Ib`l#%BEdZo*r3AerSVO>jmR_KKylr_jjg`Vg{CnqOX*I&^wK0ZFC_5h*|ykSm@!eV807LRPx z6w#ang=4(nOQWI6HUZC$_Kz0<-3=|RP`Y(RhL)Pn&O&V)8;n^4*^GkxeAOzEAp`(9 zck1uRw1pE{MsGP0GLe&87G9VK_03v#x*m|C*ETp?9$;-5W^0qx?_1nj_enV@ZMI(2 zijd!}M~rR^DK-6M1jyIRe|DxrxhYj#5t7=>J)0JPGo4DEtsj;xKP?ci zJ-rnw>&?Y(3GJZ?4 zlw<@jTPt2HH9lSqqO8}&1R;{Up4ztlbCr2v)k}RXm`+Lku?gf5E$w_XOJgD-JOt#d zt}q&fQhDd@-T9^>?lV$oMm6*-0Ca=1)FkeruUcL$2Y{53?_v~+-g1_3sHDUlLBcDp zG;%mfsmmu2l?&5I0svLDKsell$E&AQ-?lAmSvl+7WD&V_+1k$TBLYn3`UL0A)W2Vw^b9Ri5T_0pW~-)NhU+)_V@w8e zHXF6Thilf?1twKdIk3-U})2AU?H=8T% z3i#v0_ipHaF3^`=jtpJ$c1EHg(Sw~G%wWUq%DiCP_e*L1z1IrVoLktrs3aGc@6BPGz85cEtis|dfPn!%5@oOUvx!8+y|tx5Y7`C^FuyrR6vjnWlmf-L z{B+LmAp3(HQDQ8?IOz8A_fx+-*5oU=K;F-+EAhh*N6fP>A<7t06uW9H1 zJX*bg;P*pnO3B;vOV_r2JKDyb%>lIyp9hX0I)eCHe0DnO%28L2y4ubkIY&o1I?B;e zj*i-nLm`KjIJCr}B@QidXbE%@vi)c7zfN8&Z96nq#lbn#w;LgLu*k2l;i6NNTmJ=- Cv_)Y6 literal 6246 zcmeHLYfzI{8vb0Z6d7cz1-9Kl*x6d!1;I9jkOmX6wvo+>4pb?Z0M?pp%OyZYAmpYp zEelkrZk1a|sBN_sOw=F{B#E<3if(RJ20}JK6i7ZUxqyLukn4Wge>?tZyPf@&AKy7M z=bZPM_q^wQp7(sG{%ATOblc0@000P0J9IDu05-3}AMpHEc%-~t9dEvkx56C~h zk&WsY`|}HRWbd}j4E=3v+e=sHUx_)mH}N!z)|e4gdS#<=*SS3T{-ai7g#_;${-NT{ zx+$B);2MHf*6mCUomBvO3^b62qsV6lLm5G^KZoe|DiYuxaIbIK2X|Y7YvA_z9kAoT zZ(o_;1OPFI9&QGJ{afLT@$YpYqDDOWLMwa%Zw-(a62kCLR&I%SNP6xL0)3m; z?*mk0QFD$p5uQx`OI+$hA*o^C_Fy%Pb7u1?ey#U!V}y8lblnyTyxV(cZ);LzpBTSl zp~Ttk3HT-ycrH#nK_Dz$bMo1 zU5oJDoTZS-S^ji3re zyS2r7DJ!iCyYLM`^%5neB#q(^S4K`>m#j$NCte$;s#ItWOCUBGKsm@mw|Iw*v}ro1 zUL5PDkWCYH2rQL3yaWy-2WxQ73t?(SevLIQE>5Xbej4djr8r?+I}e%^&paiP$)?`X z^iE>DxEkk8K(;|r=r-MiQV&8t$=ohb*`2@f6glz450#EFuHcs^9_+@KdKV8zDuZ{s z%}n!2B(Kh6yR-$~W!YZLchYx!O;u7x^!m;)?nsI$k}Pisw_im|*;2M*kG&Vg!^z6W zMdZ<|hwU>o??+@Z&*#RsYS<1ZeJMAg9i@4j(S-M|)8%|gabGcAk+M>MO;wc7^17cO zC56!|_jhu7qHt^9AJKI551o>(%M(;PdCPMfi&@l3B-MXvjt8mXt5wtVkx8#b5B^~U zSIzeRxLZ{|5{1s~%S*;qnp?59p_5)m36-CDg!KqLoXnY>z9fVG zPLV)jMcMBNStZfs{|Htrr^C>NzMRV)GoIICkvA(UZ8~h2=RuwNh3?}j8Qc9eewBMN ziQ0anzu0qj#9`Kjo z;m^b?-Dvey)rhi6YVV{!`a5ThEpdEaz*uyTQ*n&^^(!>cxrE1~P?0jbjlJ4uXg>p6qF~%99qp8h z+u~h_C68UdL^HbLJ7VKGnx5<5H4&s%6tilyCXle;L0h8$FMXgZzaAv32`(n_qwdsQFn1hLx_$GJWSo z24V;IIe1ObKXE}GsB&8L-y>HeNqQOmuYh zGPD9Q1#A*CTzxvJMPSVLSBqig#jXCLQdYPg_3M_EpIwIn20x`*2ci^+(ld9RUwHEi zJ6Ivq`v)) U&wF>khY6&;n|@Gmpzz$k0py#5f&c&j diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-dark-linux.png index 2ce2acffba0a4f64a571449bdc900546381cb08f..1e3a0c457173e5fafac0cd3d1c084cdd440dfc34 100644 GIT binary patch delta 1798 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 F@xP)K)l>ig delta 1735 zcmZ`(dr(tn7N;#8q3#$fL)a+@j*RP01=Esh3L(i>yF;B+n5`9-f{Efl%JK*pNxUJ+ z#dTcQ(vn>%C`gi}UCFR2Q7*_MF%cZGXdXPqB{3!uCAmC89wa1?+;I2Oo$Y`7&-uPN zXU=zi=l7lS>-f;~!QVav-#_x{CtsfHShg&QyLg2Uyf?`Zaav+o-Y=iJQIb7*sOX=4 zd!n~ecE$Yq&C5S@?}~qPxCBW-Qons~*Y?l;digKE{bon>x4WOcvwPyu=W|~wE!BAw zls+ZVY}v^?*&g+%Pu~YI13rLs34T(CT7~csEZT2`&{yBR5fv5n1-CLL_$GFFaBOe$ z8}A$k)2r=w?Dm$zufA%3bVCB&Ielthj*O%4pb+JGl!NkIN&D(*|1x7sR8)gc+Zr8d z+DR@8N-0oZpDOwaJNjfaO>s-R(rpLk*1VbZ0Vh}SHdX*Ap;r&tAf6kD_u1Ix zh1k+P-;9oAv3tOAdQ6~en2dp{zSv6 zrOR$!b);d*=ejDh=6Pwz*EHQmcMTr%WFHf3qhM!rEFZHmJN%g4{{6PlTUQxbnvEWw zfm|KY9W{hnimcRv`~K3RJMo)Yk$d*LPH;f=`rjt>7E7nqwh>v5x$!v8ytLjyN4*!< z1BY?cg-lxg>H&_sv)(~O*A~((>{GS1jI*Xjn5N;wt$M7}hTFYWGAQ7dDTQi2EP)0G zKS)?M(+Y}#XUK}enju?LighP!AxCrjU6tyipr!unWb&%9)x{n6fjDh^0b|cR*6GKr z^fcyR7)K(WoLO8vCej@z2u&}*HBXW%tYHa-!lqZVp!it8==98F~PM~R7v z5X)^{U!T#O>e0-04LOFF96vM$bR!pdhA|W5Yi07y#b?IPXVxr;b#}r~i3?dtfP0@Z zvlaCZuY-=`wBRBz-cq0+8ym~6L4`yj=iyO>L?)Un_1$I*B3_Dh)vO`qGznNu*@&mO z_8A@S+>+99Lqhj;4XEn!3ku-Ht4xv&8Jj7qs#-q6G+&MrQ|&&C;|BR+M<^vk5Y2Kp zvppv`FW)9yYinZ)d_}Nv@<(4MP6e{5NGDFa=(70Q6WP+XHnC`q;7~uj1p5Zir-HQ$ zZkaF~H0TuJi$jrn27TD-d+h7Z6O}OPA{7oGfr)(29fYMyIAGoYlKGwyz%ARDOaj(s z(>1vm0^=>t`|~roJ-YF@y=87|qvHylvH3eBly7Fi+68bL;-0CZqU-^Kp_sew{Nvh4 zzc@KFBSnDL!#!*vM=#AJU&8HdPt8e|!qgyOuGxb<>+wIohjyZ;_8V(QDl03sR$+o} zbaWJPxzQ0EqF-EeWs01}pn!e)^l5BZ?3{Ia&$X78t*nCw%Yf2SJl-%wkH+{p3XIkOj)j-MXd+D_b5vZ|`8tf-U*e4!9};|p|86+_k3z)Xr{i;I>`B(jzEWfZR1 zZ}g90NbXSd-9;|u`oESiN>e$u*{}nn7V7QIQ1aX&1a533Yr?K@+~C}UJsi(Vi}*1z zHMQb254gQD8C3}K@%V&fln+no3mJt#dk=;xO3Ed^{^if}kq+W=Hchb0((ufn*PU&x$ z`iHYfR^&M*5UEf|lQ&D_`+q7%RE;dKwiecEiz6!)Ft&erA20bArlE?u86MkYtIdt* z-ooINl_j!=G=X?UM+MXSq^+%x44iS@4^9Z?3}~e~GI3ap>TMvxhM$qF*>2=Jo?(F~ zhbKlZ_{Q@DNGxpe+6g)zF6mkkxWscz=7VX;EZ8txN=$H|E5>+t2khw|L8aRB?u+d05 zNPL+o-HlSPAw0j#!1lSp*AO0Wo{UWZuWt)Mw7DN``W!tby$!4M#3`}A zctlmpbNNnh>PR8>sONJNLiWpZb)irw-+ASpT1^#8vikogkXJ6flAQDZ-DETxzxl(F z#6%W6nbX7$zK3OYHECDs5;?iS-&|ZZT>&9{wjZ45tA7=uvz$5o=oW7n7ZxF g+hf%D2(I8a|LCK>_}x}46m{hHxu5nNI{D}S05TTC*Z=?k diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-colorblind-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-colorblind-linux.png index 06b96eae488eec2a570f8b225c7a7dee47660730..aac9a555acfc48d3c2a780ccca60759d1e6c769e 100644 GIT binary patch delta 1806 zcmX|Bdr*^C77vPx+ErYg!gfK@8M?*U(-S<0@Xr93{k%#1V}y} ztIQS!thNwB5}gjRjv*<8S0E59Yon5vAYc+8piMrSCy?+6dF{>qvGzo#1Bp)mg{gcR9xBP4TIcr^be@U+4GQ&J)N!@=#a0wJ1l*mf9iPJ& z#>!%QuP!ZxANjiUbOTRu4j-CaPibM^>1{ov%_Ox@h)oG);lSP+nGh3FS6pDz+HePJ zccZf!+PZpUDa=#f_fZ|c2L>}iymXcBnsgXj@f8Jcct+H8(K2SQ_-;jjc$NERPIB+( zU`tEE&+LY*jP11`*z^1FXc!*kg^KF`VfQ9I=(J%l>Y0;&LP+&J|0Fm7g&Nsm{dWz6 zLa(3aerDbQ45gY6-4r$zu_-v|I?m~32lX~?oEMrd_YmMq`EIMjODP?BRo%wvqOQesnHwTJTjRQ|Leb?XFo(> zQ|rSytP&eX;+hFXPEctkw-w@ILJ6r4Xmpe2EwS*=a^3|I7PG zEaifV3N!%DyG*9K$8?jnF&f+Qi0@UoSKqd=>PTLxu)F)vAXQX6SFWFgMsFp`jT(*n zmxdgia^t(4<~w~w>^|`-1@i1lRNT^u3zA*eYu`FwAI@PmFwA$Lv5xY5>B@xVlZ~=`q{&^yCYh4j5Um{WnsKYlFwNUQ#Nz^H-1-wU+WR%BvH$yNn{Fz zLi+mGKO;}#DjwsOs>pMLEdMO&q*qFAc+&{>4bhwWBqU7N&j_h|BKGXJwN5BsVFe6* z8>CLp!Sz{YlWd|DBa=y6c#A_oa1Jv}Gb#xMq}8q_S)cDslKmgHfpd)If=mv9?#Z*8 zb?zRTFNkm`kzs#;zIdaKVXmfaPH=F+3{{pL;1Fp5fFH4jm!wF<6+U(6dD=Cb8Z(^@ zkIsn8*KwYQnM{9A^m>=_6vIkJTH<`3aO~Azil#Xt(B9cRIF4P1Uj9+tl{a?wvX=%K z-WfEoe48D+Hr@k;T{d4@j9K@wo@g|e=DG`t=IACKpD(YAr9YV^L0U^Wa&w}@+aOJ# z&f%sj^pEV<uFDEvmHD%wCRvL_zWG{jeuhp2 zDQJsop~*2p_El{aBE4E`nRoti4J2i|tjiixQU8_Lfu-ufa}1z{?D9n2s(XC=d#nTB zXB6;wGOs77{zX&(3|8|z`QsW!US8gsSwt^V3(3Q4tA&WgR*JYs3Em0!6owlg#qOpl z7*A^uvk?7(ZOFJ4LWVt1u72d~75$_=6n65<&)OX9Bt+-+XoXjE^NJ*No7nZuBg4y6 znN01vmCa;klUtJ$XB{2b(xrKstirL6%V}$a%ZJmxEHI6mhu+kSAe|Rm5sa(?OmibC zpz~<&QzHz7$`$N(xyERmohsWn7OF@kcpuXAg>wht4VMIia7(P6>Og?T2K=h~Omw|*k5gW5 zJtN48qPx~ouq!W4xrkk$ib@2Jp=%|18OhyX9^OJ`E(<9&v zVe#05EF%5`C}()GqO%#;Kr7>ELJI3%5DGQ_>Wiivk*-sWtDF2-*jsiXq^`&Hvf(Gd z=bvXqPvuiqRWi*2ZKQsG7=AAZxgNj@F`dx`ojz^wPt>C7eio5P6y!A&vJ$DB4q~6; zSriwirDH&CBST+h*Z8aJFX4^FtosulN*8u+9|{&$?zk8b;)#0LrH>5=dM6#IP-(|9 Kj`IJKTm4_DlhfG% delta 1783 zcmY*ZeNT4`7+rwqM-?Rx5dTe8CVUBd071zX3Zk)Qo??|X0k z<9y!1FLA#kHHv?|>jk`XbH^u%Z~VFL-R}=Y{E1l-;tHDCb*t)dM4haMvh@!plbuO> znM~>!{~YyWjj zWO*`NgUNVml5j(s3r9ijZCEFr>K~x(k#uUO^T^D;Qlq*{kq!OeAG%~~FWnL#tuKg* zTr>8U3Po9GQLWbcla$w`@%@HnKs9^&y2#(|tMqTew;29;%es#scL_>aGWfmw7chYD#a)T@m>UBZYE098Kh2WLsxR8mAelEHs!|umM6RUfJ8zHBalYUJ+$q zN{Z0+Na&LoI(3ip9lroIqUM$IC0}TfXDt8JsTOgU{4=)0yl(z(KCYd2?2Npn|-wP*icxJ9#A+E;>XC$3n+SS$7h_xJ0@=2ZS^Z`vzPjW-n z1?Wsz4F8N>;qbX9G#ggWtA0(kq;fr;K5<=#J&KnI;)UF$xz7zK>Z*&7Dtof}5sty5 zL-_V2G$A2D=frdWcH+bdpvbo@qpe(fjBOXhja}7gwRV#NsHsWcotH;qS3u(zdq#$mnp`_^+@yA{zuz9;wa&23GE$ppxqz*<|Du~6Wd zg~MNA%Ba#C{s9LWjl=tYE>sR=z&vxkw6_;Z6~O{`cRoB|fBcg(w;Zl5^)7p!wIZoJ zC)GO={U*@MLuQ^TD998Ou0dYJULc{g|LRf}VJ< z@wJI=O2amEt!a10Vsp3Z!P`}=rOq1uN_Ds!8vkFGL4vZ&cID3<{~vEf@?I8b<(^o@ zKbeU9Y$E0H;8Y3t#`((`D>squ;;};c#TQ)bHQA@MM5BrYJk>oVevO|z+3;H)I{}zg zMB}Wl?UA$#rXQ9_*)(SMABFvCOmnKSkI@oi?9(4M;%IQ!!Q1uJkU+AJ2a>%k-Vre| zAqCbDi^VL9wt0OAkNQ~2!5GFqkXQ%_=RO0Hwu;4|)C3YYBi*ClA$<|j7}gWg`X=tC a|Lu3k+G+2P+iw9d=*Z!mLtO{|TK!+`TGT=S diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-high-contrast-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-high-contrast-linux.png index 761a31e4f2012d066901c02de39547e39b21d26b..f8942b5bac8353f337288688156870e6eff87f57 100644 GIT binary patch delta 1805 zcmZXVdsLI>9mm74AZy1hf#|8j_JE-h0Ry>M(V>!Cp%Mco;g(AwBtS@F?t8QSx#z#dJ2^-9Z#x9LAh~lQ?P9}`qdz{mS^w(%pRR9jf2R?0QX7)QquuXkiyR!Za-lT&evck!S}b0Rp)>cup1v0hb*3YS;G9 z0d4P4nf=l2e-&px%*btPC(-E#@mSu$RAuGt!xKarT1;MgjzYK&l(iE4NIF+UkQA;lAaN$!T%Vn1r-f}fqanu4U`m#;S@zBl)U}?Z&mna_m7Wtf^fk(6)5N;4?Pt8Sw z@%&s%GuqKn#P#<|{1lxsT@l<*(=VlmdS*_Ql?me0YL_bwqx1sOn0aQ-GA)$kX=9`P zmzC&l;aGFSsL+FHBGDqCsk`#iL$`g?N!Sc0*F>j1f0?MUs1B&QO|uwXIWYdZZj~aI z4t|UaelcmW_IO|G2P-C}p)OM=pDLlt8FLg@rzW^2b+2TqOk9u4wa~)jI7Z1{LEVan z!V-)?ottmLRVlb(8^*~OvK(T|EK^Q6y}6jE zOaMHIuAw=3n5(LOPDt;vVgq-r(%ftg&pAtek{!Ly?xi%_2o*hJGYK7QONaj6YrsWe-$Ngj}x;7q54q|S0(k9hQr2}u^Q zF!DI4DiHFy0k5j@>Q(&+HL~~gC=iSWR9}<0#pIE__PG&2jqwWfVv-_TV9J-+ zK$iEoP<|2Xzu%&P0dBL)mW#PWBpQQlBU~NrB+30P34B`hadS1y$&e7RrCXH5T1RPu@Gj&rfD=aN&x`qeYI3&op{N(fCZYj(bDg z_4yz4pa36z7aSlGV9Xr0K~vMz^oKosbL4C|oD#0#EgaJbZzN@^eO6(nH8Rhl zh2pSCws%b!+Z1OB=}d>5;c;*Fd>u(p;}5PXLV?t@G_`^4Q3k-P7Vu`F${ui|RO(5> z!y^XI4bWX!x4qUJ`$vU1Q zsUZ>zQRZdIIy_Oi%9Pb5Z~X0=iK$GN*%PfrBE>m|EPO-En(mdnS&X+s~1c)@xJI|EO|S{exA?a|anz6U{AcLLgKk_UQ*y3Ai( za{L;tV}n?N6rP(m?J3XWrlNUOX3%N~OON3wEAtZ&5ZMFFfspgDUceeRM4qB+77QNykg` z2MDN{G=ayH=)Uzz%*CZBYh-t$?A$i;TdKr#pD>}^oa*0;%IJf^px?DWz9$le|ExQl zg35@8H!%qoG3pQ)L-S4x^2rmSLi zL~D1E_x!ipD};h7N%X&xTqfSN{Q^{69jAy%wBcfiA1_|7to?fyC_(a$6&@A+;cUZy E0OrEc&Hw-a delta 1798 zcmY*Zdr(u^9Zq4lxJ5yi8EGdxcGpf(7sy6z0ZGVO);bQA*xDs(2skjnVtB|#3?YO| zWs%vnh^@;b5J6heIzm|YBH55Ycr2ugd9bXaArD^W-k3llT*xJaBt1<3>Obe6GvDui zzwbNeH(wLEfqaV$ojUc&@xPRdRt(JUJT9wxVNR4kn^xDJ>i6X1g4C{iBdOVepPwP$ zt-gNntuwnmIQ)L~!@K5Ne@?vj&g|Y3At`>@H%^d$6L$EQe&@_rI>`rb_3vKn?E7QV zit37XSrC4g1G0tbJZ=z#k)RU9e3$X%&?z_^lLZh75Ut~Oz)L(SoQ3`%Z7%2oiRO?!1 zW~PuI6s=lZ=z7v}DBsqkhHbCH;ey-5h@GjMi`f~t9 z-TGJ1R&B}+xKIA=e)wKY4AiR{?Hu2T@Fx(eL%#o0fakBZDQvQG?AjoxoC0?yY!)A(mefSN_Dj zSBOv8Ux zlZk3+8$zjNG!PjlRV=h>xR$9-*J!BX2qVM$^>10Bpy|xyz*`=bs)6dRL%(|3ailJ^ z8M&EcZ_!rS5h-%#g@z=znmM}Lv4S(~=;&zG+o6=a{*t+&`>?S>Z+98c5@`R9_%O*# zjDeTU(P|KS{~$-FSSZE3R9JP+v}z!&|KG0O__s-%eQk$?L^-u z9c_~-HmK^$KZL}#hEg0+i2Nk&Qk8pvJx&4rm0e4REnGV#H;r0`F1zgQz&{fOZy*Bx zr7*Y^ofP}pwTe>sL+j>V)%5hVM?*!IVRV)|D2U}l(_JtRL!_2}Dz)I+sdHP(lHRdK zz&xD7HWo{L9o^mCs_T1*s3r+lt*xzXFOn4ADy3l%Z%?$T;=KC&o$(=6zJ7`|$3vyg z$d@!?d|`{n9jsaycPnXt=~+1AID~R>mDdx17&uztARpKK5Vg`WSD}Suk8 z?+?67AV7rj&w7|sbCPd9;u;0`vJOURrf8oGi-+7?3?>PFES&8t(9nGHM4wyJMoixR zyH4U8Hb^edRa&kSQGo*Y24pz?7MIomZK05`wzgKvcbHuBb>fbn==|@O2lE{&l}O+` z5A$&eIyI64tbN&*Ol9^L@`j)EL&Zi4ZjzNaS7;yA1xHp5=K!x4sXh7_Jkq^+8hhL@ zcQh_8s-to`V{}xEOvPddNk})Xzm~4mGt}%X%qo4e8cI3Z1_Tm(bYeP#(O^BkrpFC%I!uWc z@h8L^5g>x9LxxK?c2hyooB3T8;PZd^WUO(!veQ+BLc92IBk`it6qrD<_D2f*6GFWSd!XmoxBju&tS4xE}YG}Alj3b z8i4L=c=^P107$>=r~78$I<1EUqH3fjAiuPJn3pTo&Xex zF3ud?$=vFkoYTe9fE~dxF!>j0LGZ B&}RSu diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-linux.png index 497c9262997c6e02c8b578f36e91fc0ec3594389..3bc974ffe651b3d0b3f0df8f454389e7da1ff2b7 100644 GIT binary patch delta 1805 zcmYLJdsNfs8P1d*tc=oQ)wHuf&$iZW0x4tyF+irM;5@>5PFsi=(t;#o5Cg^#!X;60 zbqou(3Xw|^Jf4-#Aqdfggphz#K@#!{pb3(Ya4Gq5O@IVK?)!4~$Nu@wcfR-XJ@50p z=dpjviM}1p{_M=j)FOUiS8%DkA&z8v&N$TFaQNn|%M`gPrK59LQ-+uu4 zmrq+i+4u2xH?9U};s5o1s(O9bzJ1lvse7O7Kk@7Cs`lT1mGk-I`#}dz9b0=cp;B@e z4D&(X|1vsnBe8FxV zT@g=?3=Gm{)U)`+?qfAu7k1)>`J}X|it*J+VV;mW-90uB@{4d?`CXaqXUmPn+H06A zJHurW^-t*v6DE&2bh_>r2t>c9UlQP1W0;! zKiU~yE>m7U5npkU{^dLDP{X1hSNuRIU2VZWjxi>lQ86e@m9C7~vOOS>R+JKID_Efg z_-^E+`x7;q*)F;l%TC`8Kp?K>Drk$~?~hW|yTNd`TLZycYlYgkLO0&akUE2{54C+8 zKWZg&=h#VnuM*aL{Re*&VJ!7kIBV?ymEB~iAlsG7h{(uM6<0wUdkco%-NcbF;x#Bj^_-IbT+}AkuuUsMRN(aov>O@qc_RXc9S@sW(RapL8{|xa_ zl)tK}MpA~26>Th6V&ms7HNTOV~VrS!^?LY;)(z)9z|x!us{Q=<1K=JLEx!`Q{ArM6HI33{f%bTE z3&!XcQ7Qd#K$5Guz82TO7e4XW&jQ}3&cyx_kX0K)T*M_pKFSJDO zZi4F##4h%lbNMZ>&ucYFX%Hakh{26C+MAw7)RvJzlb+5{hDZTMNc& zn;`qH?H0h>It$A;Gf+i?2`=;2)CyIaA0=CS)|<-$VVWXRr1y9mBAa2gUH?$t-5uky zhsU2b2Kd3%a)X1N_4V~{1aPgG4)GjQ+RkQ?e4cBq^VuM)4yt(3a%FtH#d=MILZ^@|KHzXo2^pEI^hYU=6eFpUJHeL*4bsCFC zlX=BXeT7wI0w~dF>sWe4nXr&8wm0t=7EZ^MTckAel!*O~QNgSPpe9ofl_@+oahn^C z^^~L}G&-cTzt+(eq~aqz8{w)dRg%jLC0H;}ll=mH^n!Ql2uT4n9Q!*`Nt44}G~-Hf zonuMtbsmEAI=vH^t-IlkM5c3sWHAK6l@?!r1PTS^hO<4x4o)XAuCs4$R6t`g!^)Q) zkhC2WBno{itRT@nS7Uk*?t3NOJW9QXb5_284=sVa+PPBO!co$Ng@5{5sfE#Pxtga0URU3tylvb8oM{jR5=)O??*V z`DCLkmPeBEU$Q_!Q6Z>6Stg@vUccVDw{YWeCV_j0u{!yG;{>ij z5neLbrhk;xvTT{Zrc`1sj3XckjIWcF#c@(Z!mNx9?%VAb>b?D(z&) IiLb8z7ewOY;{X5v delta 1772 zcmY*ZeN>WJ9;T+4r#~=>!88SAn#p4=lkQHfp4QJ9S6L$@djmwE zcf~1pYSgtoW11i{r&Df|NroST2w3K71A-%M_<`U@f+&K5LVWLaXZMf&{c-O-_rCA* z{GNM%zvnj2d-QKO7CnS<|53U++?1?s>)!EcdG%^yZRebsvh(KJ1qUFId?<%Gqk;zMPP z3!kt(Ga;U7%x&}@Q(3FLBAJ9pNCNS51OjpD{G?+CnE$e~Q1tg7_xu6w{{HKmB<|+( z1Eh+}nQa9kDOE>bnm`GMheeRhHF02)Ys+I5Iav*FArOP#es&Bcvi1PZV*$J-!ng87~ImI3&?r^Z31AO0?NSACF$UAe~kLO<+N`JWNJMhK6WK7M>utyV*`%v#IdzS*RlJkBtsz#1?|p60Qa zr#V)JqL^YOKo&bO{ALkaeI%KhU;@UXhZia1I?aIZ3`3a9;ExGO-17Q3QYw-h9Oc;< zN}>~v1T2=;@~YFcj?PD8#|#B{IooNPn2JWH!9*n4r4z&frBSbXe-?7g%BfD10*{B* z=c+kd4;ezZa<1AJV3_gAM$S-tf>OB`uHw=R*?(2T^K)TanD@pw19#&wABRISE2 z;3esF>n%DS%e2+W)*k6I27|OL;)dS0Vo>4$k=qJy*nC3-N3$BMvIonf!7T>&pb&}SS(iOdS4CMC%XXs5VR?~3kB9xI63Qx*5z^yER8YRM$i#M3fp6h za*!^~4f2AEXi+Ppzl;Sg6JCvuy;Jjcv=*-;O81I)0oa0q8P8}4+pWY&A0Hj5j}>ig zZTVidr-cNRZ5cpUL}u8(f4`+`BwP~5-|R|JJo$jY(sXooXk`%gD;Qw>L;j5*JlRzY zRh5(^kS|@z6cSS?6pH%=*|&K6igO4_{s5WwW}G(%dtpYW%(Bwb;#(+$ZIJ9fe7ri3jmEwyp}u-zzgryKs5XH03&6x{)Eki$5I zQf%8%FRbq+U5?B;Nyp70Qw?as?(RfGY-%Fgxbdybbt8uak2#f2wxx~h6oWoC#wWyU znFh39CJ_b91zx{Fd$v}5M;Bh2m3nVctjXqZuWa70hs+_b?tQLDLjw&NocU#z#+nwn zCVPEriLO>Gy#8+f`4#DkjG zB6B_A1E-!~HGo$gO#i$BvtMSPt3FR=muJ7yYHdAI$YS(&NEjD~Cr};N zuEk1e)@Sj~0^!oVd}!+FTQj76AT3m5Y+6iAOm4Ob^V1vCXw*_ZpZ~B)@$QlMcnvV4 z(z3ELkG+DmZBT9+rDj{|adHy>`hOOYyVZM;Pxc(%i5iD@JUgStWPN(89ejZ}ot}BJ J^P?iczX7_Oz9Iks diff --git a/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-tritanopia-linux.png b/.playwright/snapshots/components/Button.test.ts-snapshots/Button-Inactive-light-tritanopia-linux.png index 06b96eae488eec2a570f8b225c7a7dee47660730..aac9a555acfc48d3c2a780ccca60759d1e6c769e 100644 GIT binary patch delta 1806 zcmX|Bdr*^C77vPx+ErYg!gfK@8M?*U(-S<0@Xr93{k%#1V}y} ztIQS!thNwB5}gjRjv*<8S0E59Yon5vAYc+8piMrSCy?+6dF{>qvGzo#1Bp)mg{gcR9xBP4TIcr^be@U+4GQ&J)N!@=#a0wJ1l*mf9iPJ& z#>!%QuP!ZxANjiUbOTRu4j-CaPibM^>1{ov%_Ox@h)oG);lSP+nGh3FS6pDz+HePJ zccZf!+PZpUDa=#f_fZ|c2L>}iymXcBnsgXj@f8Jcct+H8(K2SQ_-;jjc$NERPIB+( zU`tEE&+LY*jP11`*z^1FXc!*kg^KF`VfQ9I=(J%l>Y0;&LP+&J|0Fm7g&Nsm{dWz6 zLa(3aerDbQ45gY6-4r$zu_-v|I?m~32lX~?oEMrd_YmMq`EIMjODP?BRo%wvqOQesnHwTJTjRQ|Leb?XFo(> zQ|rSytP&eX;+hFXPEctkw-w@ILJ6r4Xmpe2EwS*=a^3|I7PG zEaifV3N!%DyG*9K$8?jnF&f+Qi0@UoSKqd=>PTLxu)F)vAXQX6SFWFgMsFp`jT(*n zmxdgia^t(4<~w~w>^|`-1@i1lRNT^u3zA*eYu`FwAI@PmFwA$Lv5xY5>B@xVlZ~=`q{&^yCYh4j5Um{WnsKYlFwNUQ#Nz^H-1-wU+WR%BvH$yNn{Fz zLi+mGKO;}#DjwsOs>pMLEdMO&q*qFAc+&{>4bhwWBqU7N&j_h|BKGXJwN5BsVFe6* z8>CLp!Sz{YlWd|DBa=y6c#A_oa1Jv}Gb#xMq}8q_S)cDslKmgHfpd)If=mv9?#Z*8 zb?zRTFNkm`kzs#;zIdaKVXmfaPH=F+3{{pL;1Fp5fFH4jm!wF<6+U(6dD=Cb8Z(^@ zkIsn8*KwYQnM{9A^m>=_6vIkJTH<`3aO~Azil#Xt(B9cRIF4P1Uj9+tl{a?wvX=%K z-WfEoe48D+Hr@k;T{d4@j9K@wo@g|e=DG`t=IACKpD(YAr9YV^L0U^Wa&w}@+aOJ# z&f%sj^pEV<uFDEvmHD%wCRvL_zWG{jeuhp2 zDQJsop~*2p_El{aBE4E`nRoti4J2i|tjiixQU8_Lfu-ufa}1z{?D9n2s(XC=d#nTB zXB6;wGOs77{zX&(3|8|z`QsW!US8gsSwt^V3(3Q4tA&WgR*JYs3Em0!6owlg#qOpl z7*A^uvk?7(ZOFJ4LWVt1u72d~75$_=6n65<&)OX9Bt+-+XoXjE^NJ*No7nZuBg4y6 znN01vmCa;klUtJ$XB{2b(xrKstirL6%V}$a%ZJmxEHI6mhu+kSAe|Rm5sa(?OmibC zpz~<&QzHz7$`$N(xyERmohsWn7OF@kcpuXAg>wht4VMIia7(P6>Og?T2K=h~Omw|*k5gW5 zJtN48qPx~ouq!W4xrkk$ib@2Jp=%|18OhyX9^OJ`E(<9&v zVe#05EF%5`C}()GqO%#;Kr7>ELJI3%5DGQ_>Wiivk*-sWtDF2-*jsiXq^`&Hvf(Gd z=bvXqPvuiqRWi*2ZKQsG7=AAZxgNj@F`dx`ojz^wPt>C7eio5P6y!A&vJ$DB4q~6; zSriwirDH&CBST+h*Z8aJFX4^FtosulN*8u+9|{&$?zk8b;)#0LrH>5=dM6#IP-(|9 Kj`IJKTm4_DlhfG% delta 1783 zcmY*ZeNT4`7+rwqM-?Rx5dTe8CVUBd071zX3Zk)Qo??|X0k z<9y!1FLA#kHHv?|>jk`XbH^u%Z~VFL-R}=Y{E1l-;tHDCb*t)dM4haMvh@!plbuO> znM~>!{~YyWjj zWO*`NgUNVml5j(s3r9ijZCEFr>K~x(k#uUO^T^D;Qlq*{kq!OeAG%~~FWnL#tuKg* zTr>8U3Po9GQLWbcla$w`@%@HnKs9^&y2#(|tMqTew;29;%es#scL_>aGWfmw7chYD#a)T@m>UBZYE098Kh2WLsxR8mAelEHs!|umM6RUfJ8zHBalYUJ+$q zN{Z0+Na&LoI(3ip9lroIqUM$IC0}TfXDt8JsTOgU{4=)0yl(z(KCYd2?2Npn|-wP*icxJ9#A+E;>XC$3n+SS$7h_xJ0@=2ZS^Z`vzPjW-n z1?Wsz4F8N>;qbX9G#ggWtA0(kq;fr;K5<=#J&KnI;)UF$xz7zK>Z*&7Dtof}5sty5 zL-_V2G$A2D=frdWcH+bdpvbo@qpe(fjBOXhja}7gwRV#NsHsWcotH;qS3u(zdq#$mnp`_^+@yA{zuz9;wa&23GE$ppxqz*<|Du~6Wd zg~MNA%Ba#C{s9LWjl=tYE>sR=z&vxkw6_;Z6~O{`cRoB|fBcg(w;Zl5^)7p!wIZoJ zC)GO={U*@MLuQ^TD998Ou0dYJULc{g|LRf}VJ< z@wJI=O2amEt!a10Vsp3Z!P`}=rOq1uN_Ds!8vkFGL4vZ&cID3<{~vEf@?I8b<(^o@ zKbeU9Y$E0H;8Y3t#`((`D>squ;;};c#TQ)bHQA@MM5BrYJk>oVevO|z+3;H)I{}zg zMB}Wl?UA$#rXQ9_*)(SMABFvCOmnKSkI@oi?9(4M;%IQ!!Q1uJkU+AJ2a>%k-Vre| zAqCbDi^VL9wt0OAkNQ~2!5GFqkXQ%_=RO0Hwu;4|)C3YYBi*ClA$<|j7}gWg`X=tC a|Lu3k+G+2P+iw9d=*Z!mLtO{|TK!+`TGT=S