Skip to content

Commit 2b96666

Browse files
committed
refactor(ui): use design tokens in select, default to popper position
1 parent c129d71 commit 2b96666

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

components/ui/select.tsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,20 @@ function SelectTrigger({
6060
function SelectContent({
6161
className,
6262
children,
63-
position = "item-aligned",
64-
align = "center",
63+
position = "popper",
64+
align = "start",
65+
sideOffset = 4,
6566
...props
6667
}: React.ComponentProps<typeof SelectPrimitive.Content>) {
6768
return (
6869
<SelectPrimitive.Portal>
6970
<SelectPrimitive.Content
7071
data-slot="select-content"
7172
data-align-trigger={position === "item-aligned"}
72-
className={cn("relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-oklch(1 0 0) text-oklch(0.145 0 0) shadow-md ring-1 ring-oklch(0.145 0 0)/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 dark:bg-oklch(0.205 0 0) dark:text-oklch(0.985 0 0) dark:ring-oklch(0.985 0 0)/10", position ==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className )}
73+
className={cn("relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-white text-[var(--color-fg)] shadow-md ring-1 ring-black/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", position ==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className )}
7374
position={position}
7475
align={align}
76+
sideOffset={sideOffset}
7577
{...props}
7678
>
7779
<SelectScrollUpButton />
@@ -112,7 +114,7 @@ function SelectItem({
112114
<SelectPrimitive.Item
113115
data-slot="select-item"
114116
className={cn(
115-
"relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-oklch(0.97 0 0) focus:text-oklch(0.205 0 0) not-data-[variant=destructive]:focus:**:text-oklch(0.205 0 0) data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 dark:focus:bg-oklch(0.269 0 0) dark:focus:text-oklch(0.985 0 0) dark:not-data-[variant=destructive]:focus:**:text-oklch(0.985 0 0)",
117+
"relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-[var(--color-bg-soft)] focus:text-[var(--color-fg)] data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
116118
className
117119
)}
118120
{...props}
@@ -134,7 +136,7 @@ function SelectSeparator({
134136
return (
135137
<SelectPrimitive.Separator
136138
data-slot="select-separator"
137-
className={cn("pointer-events-none -mx-1 my-1 h-px bg-oklch(0.922 0 0) dark:bg-oklch(1 0 0 / 10%)", className)}
139+
className={cn("pointer-events-none -mx-1 my-1 h-px bg-[var(--color-border)]", className)}
138140
{...props}
139141
/>
140142
)
@@ -148,7 +150,7 @@ function SelectScrollUpButton({
148150
<SelectPrimitive.ScrollUpButton
149151
data-slot="select-scroll-up-button"
150152
className={cn(
151-
"z-10 flex cursor-default items-center justify-center bg-oklch(1 0 0) py-1 [&_svg:not([class*='size-'])]:size-4 dark:bg-oklch(0.205 0 0)",
153+
"z-10 flex cursor-default items-center justify-center bg-white py-1 [&_svg:not([class*='size-'])]:size-4",
152154
className
153155
)}
154156
{...props}
@@ -167,7 +169,7 @@ function SelectScrollDownButton({
167169
<SelectPrimitive.ScrollDownButton
168170
data-slot="select-scroll-down-button"
169171
className={cn(
170-
"z-10 flex cursor-default items-center justify-center bg-oklch(1 0 0) py-1 [&_svg:not([class*='size-'])]:size-4 dark:bg-oklch(0.205 0 0)",
172+
"z-10 flex cursor-default items-center justify-center bg-white py-1 [&_svg:not([class*='size-'])]:size-4",
171173
className
172174
)}
173175
{...props}

0 commit comments

Comments
 (0)