mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-03 21:03:08 +00:00
refactor: Use Set for button variant lookup and improve undefined handling
This commit is contained in:
@@ -38,14 +38,14 @@ const buttonVariants = cva(
|
|||||||
);
|
);
|
||||||
|
|
||||||
/** Button variants that have colored backgrounds requiring foreground spinner color */
|
/** Button variants that have colored backgrounds requiring foreground spinner color */
|
||||||
const COLORED_BACKGROUND_VARIANTS = ['default', 'destructive'] as const;
|
const COLORED_BACKGROUND_VARIANTS = new Set<string>(['default', 'destructive']);
|
||||||
|
|
||||||
/** Get spinner variant based on button variant - use foreground for colored backgrounds */
|
/** Get spinner variant based on button variant - use foreground for colored backgrounds */
|
||||||
function getSpinnerVariant(
|
function getSpinnerVariant(
|
||||||
buttonVariant: VariantProps<typeof buttonVariants>['variant']
|
buttonVariant: VariantProps<typeof buttonVariants>['variant']
|
||||||
): SpinnerVariant {
|
): SpinnerVariant {
|
||||||
// undefined defaults to 'default' variant which has a colored background
|
const variant = buttonVariant ?? 'default';
|
||||||
if (!buttonVariant || COLORED_BACKGROUND_VARIANTS.includes(buttonVariant as any)) {
|
if (COLORED_BACKGROUND_VARIANTS.has(variant)) {
|
||||||
return 'foreground';
|
return 'foreground';
|
||||||
}
|
}
|
||||||
// outline, secondary, ghost, link, animated-outline use standard backgrounds
|
// outline, secondary, ghost, link, animated-outline use standard backgrounds
|
||||||
|
|||||||
Reference in New Issue
Block a user