button-component #29
@ -13,25 +13,31 @@ const variantClasses: Record<ButtonVariant, string> = {
|
|||||||
primary: `
|
primary: `
|
||||||
bg-primary text-base-canvas
|
bg-primary text-base-canvas
|
||||||
border border-primary
|
border border-primary
|
||||||
hover(bg-secondary text-base-canvas border border-primary)
|
hover:bg-secondary hover:text-base-canvas
|
||||||
focus-visible(bg-base-canvas text-base-ink-strong border border-primary outline outline-[length:var(--border-width-lg)] outline-sky-100)
|
hover:border hover:border-primary
|
||||||
|
focus-visible:bg-base-canvas focus-visible:text-base-ink-strong
|
||||||
|
focus-visible:border focus-visible:border-primary
|
||||||
|
focus-visible:outline focus-visible:outline-[length:var(--border-width-lg)] focus-visible:outline-sky-100
|
||||||
`.trim(),
|
`.trim(),
|
||||||
|
secondary: `bg-base-canvas text-base-ink-strong
|
||||||
secondary: `
|
|
||||||
bg-base-canvas text-base-ink-strong
|
|
||||||
border-solid [border-width:var(--border-width-sm)] border-base-ink-soft
|
border-solid [border-width:var(--border-width-sm)] border-base-ink-soft
|
||||||
hover(bg-base-canvas text-base-ink-strong border-base-ink-medium)
|
hover:bg-base-canvas hover:text-base-ink-strong
|
||||||
focus-visible(bg-base-canvas text-base-ink-strong border-primary outline outline-[length:var(--border-width-lg)] outline-sky-100)
|
hover:border-base-ink-medium
|
||||||
|
focus-visible:bg-base-canvas focus-visible:text-base-ink-strong
|
||||||
|
focus-visible:border-primary
|
||||||
|
focus-visible:outline focus-visible:outline-[length:var(--border-width-lg)] focus-visible:outline-sky-100
|
||||||
`.trim(),
|
`.trim(),
|
||||||
|
|
||||||
red: `
|
red: `
|
||||||
bg-other-red-100 text-su-white
|
bg-other-red-100 text-su-white
|
||||||
focus-visible(bg-base-canvas text-base-ink-strong border border-primary outline outline-[length:var(--border-width-lg)] outline-sky-100)
|
focus-visible:bg-base-canvas focus-visible:text-base-ink-strong
|
||||||
|
focus-visible:border-primary focus-visible:border
|
||||||
|
focus-visible:outline focus-visible:outline-[length:var(--border-width-lg)] focus-visible:outline-sky-100
|
||||||
`.trim(),
|
`.trim(),
|
||||||
|
|
||||||
green: `
|
green: `
|
||||||
bg-other-green text-su-white
|
bg-other-green text-su-white
|
||||||
focus-visible(bg-base-canvas text-base-ink-strong border border-primary outline outline-[length:var(--border-width-lg)] outline-sky-100)
|
focus-visible:bg-base-canvas focus-visible:text-base-ink-strong
|
||||||
|
focus-visible:border-primary focus-visible:border
|
||||||
|
focus-visible:outline focus-visible:outline-[length:var(--border-width-lg)] focus-visible:outline-sky-100
|
||||||
`.trim(),
|
`.trim(),
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -62,7 +68,7 @@ export default function Button({
|
|||||||
sizeClasses[size],
|
sizeClasses[size],
|
||||||
className,
|
className,
|
||||||
]
|
]
|
||||||
.filter(Boolean) // Filter out empty strings and undefined values so they won't pollute the class list
|
.filter(Boolean)
|
||||||
.join(" ");
|
.join(" ");
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user