feat(Checkbox/Progress/RadioGroup/Slider/Switch): add black color

This commit is contained in:
Benjamin Canac
2024-05-16 13:10:49 +02:00
parent 633a39452a
commit 08c91fe8f1
16 changed files with 203 additions and 104 deletions

View File

@@ -1,7 +1,7 @@
export default (config: { colors: string[] }) => ({
slots: {
root: 'relative flex items-start',
base: 'shrink-0 flex items-center justify-center text-white dark:text-gray-900 rounded ring ring-inset ring-gray-300 dark:ring-gray-700 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2',
base: 'shrink-0 flex items-center justify-center rounded text-white dark:text-gray-900 ring ring-inset ring-gray-300 dark:ring-gray-700 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2',
container: 'flex items-center',
wrapper: 'ms-2',
icon: 'shrink-0 size-full',
@@ -9,7 +9,10 @@ export default (config: { colors: string[] }) => ({
description: 'text-gray-500 dark:text-gray-400'
},
variants: {
color: Object.fromEntries(config.colors.map((color: string) => [color, `focus-visible:outline-${color}-500 dark:focus-visible:outline-${color}-400`])),
color: {
...Object.fromEntries(config.colors.map((color: string) => [color, `focus-visible:outline-${color}-500 dark:focus-visible:outline-${color}-400`])),
black: 'focus-visible:outline-gray-900 dark:focus-visible:outline-white'
},
size: {
xs: {
base: 'size-3',
@@ -51,21 +54,17 @@ export default (config: { colors: string[] }) => ({
},
checked: {
true: ''
},
indeterminate: {
true: ''
}
},
compoundVariants: config.colors.flatMap(color => ([{
compoundVariants: [...config.colors.map((color: string) => ({
color,
checked: true,
class: `ring-2 ring-inset ring-${color}-500 dark:ring-${color}-400 bg-${color}-500 dark:bg-${color}-400`
}, {
color,
indeterminate: true,
class: `ring-2 ring-inset ring-${color}-500 dark:ring-${color}-400 bg-${color}-500 dark:bg-${color}-400`
}
])),
class: `ring-2 ring-${color}-500 dark:ring-${color}-400 bg-${color}-500 dark:bg-${color}-400`
})), {
color: 'black',
checked: true,
class: 'ring-2 ring-gray-900 dark:ring-white bg-gray-900 dark:bg-white'
}],
defaultVariants: {
size: 'md',
color: 'primary'