Refactor TripadvisorChip * feat: create new StaticChip componeny * refactor tripadvisor chip to use ChipStatic * refactor: use TripadvisorChip everywhere * fix: use withChipStatic Approved-by: Erik Tiekstra
40 lines
766 B
TypeScript
40 lines
766 B
TypeScript
import { cva } from "class-variance-authority"
|
|
|
|
import styles from "./chip-static.module.css"
|
|
|
|
import { deepmerge } from "deepmerge-ts"
|
|
|
|
const config = {
|
|
variants: {
|
|
color: {
|
|
Subtle: styles["color-subtle"],
|
|
Disabled: styles["color-disabled"],
|
|
Neutral: styles["color-neutral"],
|
|
},
|
|
size: {
|
|
xs: styles["size-xs"],
|
|
sm: styles["size-sm"],
|
|
lg: styles["size-lg"],
|
|
},
|
|
},
|
|
defaultVariants: {
|
|
color: "Neutral",
|
|
size: "sm",
|
|
},
|
|
} as const
|
|
|
|
export const variants = cva(styles.chip, config)
|
|
|
|
const chipConfig = {
|
|
variants: {
|
|
...config.variants,
|
|
},
|
|
defaultVariants: {
|
|
...config.defaultVariants,
|
|
},
|
|
} as const
|
|
|
|
export function withChipStatic<T>(config: T) {
|
|
return deepmerge(chipConfig, config)
|
|
}
|