Skip to content

Commit bacc3b9

Browse files
committed
remove variant, add darkmode
1 parent 9290354 commit bacc3b9

File tree

2 files changed

+29
-31
lines changed

2 files changed

+29
-31
lines changed

packages/components/src/components/Checkbox/index.tsx

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Box, css, Flex, Input, Text } from '@devup-ui/react'
1+
import { Box, css, Flex, getTheme, Input, Text } from '@devup-ui/react'
22
import { ComponentProps } from 'react'
33

44
import { CheckIcon } from './CheckIcon'
@@ -7,7 +7,6 @@ interface CheckboxProps
77
extends Omit<ComponentProps<'input'>, 'type' | 'onChange'> {
88
children: React.ReactNode
99
onChange?: (checked: boolean) => void
10-
variant?: 'primary' | 'default'
1110
label: string
1211
}
1312

@@ -16,10 +15,11 @@ export function Checkbox({
1615
disabled,
1716
checked,
1817
onChange,
19-
variant = 'primary',
2018
label,
2119
...props
2220
}: CheckboxProps) {
21+
const theme = getTheme()
22+
2323
return (
2424
<Flex alignItems="center" gap="8px" h="fit-content">
2525
<Box h="18px" pos="relative" w="fit-content">
@@ -28,13 +28,11 @@ export function Checkbox({
2828
disabled
2929
? undefined
3030
: {
31-
primary: {
32-
bg: 'color-mix(in srgb, var(--primary) 20%, #FFF 80%)',
33-
},
34-
default: {
35-
bg: 'color-mix(in srgb, var(--primary) 30%, #FFF 70%)',
36-
},
37-
}[variant]
31+
bg:
32+
theme === 'dark'
33+
? 'color-mix(in srgb, var(--primary) 30%, black 70%)'
34+
: 'color-mix(in srgb, var(--primary) 20%, #FFF 80%)',
35+
}
3836
}
3937
_checked={{
4038
bg: '$primary',
@@ -43,34 +41,31 @@ export function Checkbox({
4341
? undefined
4442
: {
4543
bg:
46-
variant === 'primary'
47-
? 'color-mix(in srgb, var(--primary) 100%, #000 15%)'
48-
: 'color-mix(in srgb, var(--primary) 100%, #FFF 15%)',
44+
theme === 'dark'
45+
? 'color-mix(in srgb, var(--primary) 100%, #FFF 15%)'
46+
: 'color-mix(in srgb, var(--primary) 100%, #000 15%)',
4947
},
5048
_disabled: {
51-
bg: '#F0F0F3',
49+
bg: theme === 'dark' ? '#47474A' : '#F0F0F3',
5250
},
5351
}}
5452
_disabled={{
55-
bg: '#F0F0F3',
53+
bg: theme === 'dark' ? '#47474A' : '#F0F0F3',
5654
}}
5755
_hover={
5856
disabled
5957
? undefined
6058
: {
61-
primary: {
62-
bg: 'color-mix(in srgb, var(--primary) 10%, #FFF 90%)',
63-
border: '1px solid var(--primary)',
64-
},
65-
default: {
66-
bg: 'color-mix(in srgb, var(--primary) 100%, #FFF 15%)',
67-
border: '1px solid var(--primary)',
68-
},
69-
}[variant]
59+
bg:
60+
theme === 'dark'
61+
? 'color-mix(in srgb, var(--primary) 20%, black 80%);'
62+
: 'color-mix(in srgb, var(--primary) 10%, #FFF 90%)',
63+
border: '1px solid var(--primary)',
64+
}
7065
}
7166
accentColor="$primary"
7267
appearance="none"
73-
bg="$contentBackground"
68+
bg={theme === 'dark' ? '$inputBg' : '$contentBackground'}
7469
border="1px solid var(--border)"
7570
borderRadius="2px"
7671
boxSize="16px"
@@ -93,17 +88,23 @@ export function Checkbox({
9388
transform: 'translate(-50%, -50%)',
9489
pointerEvents: 'none',
9590
})}
96-
color={disabled ? '#D6D7DE' : '#FFF'}
91+
color={
92+
disabled ? (theme === 'dark' ? '#373737' : '#D6D7DE') : '#FFF'
93+
}
9794
/>
9895
)}
9996
</Box>
10097

101-
<label htmlFor={label}>
98+
<label
99+
className={css({
100+
cursor: disabled ? 'not-allowed' : 'pointer',
101+
})}
102+
htmlFor={label}
103+
>
102104
{typeof children === 'string' ? (
103105
<Text
104106
as="span"
105107
color={disabled ? '#D6D7DE' : '$text'}
106-
cursor={disabled ? 'not-allowed' : 'pointer'}
107108
fontSize="14px"
108109
style={{ userSelect: 'none', verticalAlign: 'middle' }}
109110
>

packages/components/src/components/CheckboxLayer/index.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ export interface CheckBoxLayerProps {
2424
gap?: number
2525
onCheckboxChange?: (event: CheckboxChangeEvent) => void
2626
defaultCheckedIds?: string[]
27-
variant?: 'primary' | 'default'
2827
}
2928

3029
export function CheckboxLayer({
@@ -33,7 +32,6 @@ export function CheckboxLayer({
3332
gap,
3433
onCheckboxChange,
3534
defaultCheckedIds = [],
36-
variant = 'primary',
3735
}: CheckBoxLayerProps) {
3836
const [checkedIds, setCheckedIds] = useState<string[]>(defaultCheckedIds)
3937

@@ -71,7 +69,6 @@ export function CheckboxLayer({
7169
onChange={(checked) =>
7270
handleCheckboxChange(checkbox.id, checkbox.value, checked)
7371
}
74-
variant={variant}
7572
>
7673
{checkbox.value}
7774
</Checkbox>

0 commit comments

Comments
 (0)