1- ' use client' ;
1+ " use client"
22
3- import { CheckIcon , ChevronRightIcon , CircleIcon } from 'lucide- react' ;
4- import { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui' ;
5- import type * as React from 'react' ;
3+ import * as React from " react"
4+ import { CheckIcon , ChevronRightIcon , CircleIcon } from "lucide-react"
5+ import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui"
66
7- import { cn } from ' @/lib/utils' ;
7+ import { cn } from " @/lib/utils"
88
99function DropdownMenu ( {
1010 ...props
1111} : React . ComponentProps < typeof DropdownMenuPrimitive . Root > ) {
12- return < DropdownMenuPrimitive . Root data-slot = "dropdown-menu" { ...props } /> ;
12+ return < DropdownMenuPrimitive . Root data-slot = "dropdown-menu" { ...props } />
1313}
1414
1515function DropdownMenuPortal ( {
1616 ...props
1717} : React . ComponentProps < typeof DropdownMenuPrimitive . Portal > ) {
1818 return (
1919 < DropdownMenuPrimitive . Portal data-slot = "dropdown-menu-portal" { ...props } />
20- ) ;
20+ )
2121}
2222
2323function DropdownMenuTrigger ( {
@@ -28,7 +28,7 @@ function DropdownMenuTrigger({
2828 data-slot = "dropdown-menu-trigger"
2929 { ...props }
3030 />
31- ) ;
31+ )
3232}
3333
3434function DropdownMenuContent ( {
@@ -39,47 +39,47 @@ function DropdownMenuContent({
3939 return (
4040 < DropdownMenuPrimitive . Portal >
4141 < DropdownMenuPrimitive . Content
42+ data-slot = "dropdown-menu-content"
43+ sideOffset = { sideOffset }
4244 className = { cn (
43- ' 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-[state=closed]:fade -out-0 data-[state=closed]:zoom -out-95 data-[state=open]:fade-in-0 data-[state=open]:zoom -in-95 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate -in' ,
45+ "z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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-[state=closed]:animate -out data-[state=closed]:fade -out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate -in data-[state=open]:fade-in-0 data-[state=open]:zoom -in-95" ,
4446 className
4547 ) }
46- data-slot = "dropdown-menu-content"
47- sideOffset = { sideOffset }
4848 { ...props }
4949 />
5050 </ DropdownMenuPrimitive . Portal >
51- ) ;
51+ )
5252}
5353
5454function DropdownMenuGroup ( {
5555 ...props
5656} : React . ComponentProps < typeof DropdownMenuPrimitive . Group > ) {
5757 return (
5858 < DropdownMenuPrimitive . Group data-slot = "dropdown-menu-group" { ...props } />
59- ) ;
59+ )
6060}
6161
6262function DropdownMenuItem ( {
6363 className,
6464 inset,
65- variant = ' default' ,
65+ variant = " default" ,
6666 ...props
6767} : React . ComponentProps < typeof DropdownMenuPrimitive . Item > & {
68- inset ?: boolean ;
69- variant ?: ' default' | ' destructive' ;
68+ inset ?: boolean
69+ variant ?: " default" | " destructive"
7070} ) {
7171 return (
7272 < DropdownMenuPrimitive . Item
73+ data-slot = "dropdown-menu-item"
74+ data-inset = { inset }
75+ data-variant = { variant }
7376 className = { cn (
74- "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[disabled]:opacity-50 data-[ variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg: not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:*:[svg]:text-destructive!" ,
77+ "relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[ inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg: not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!" ,
7578 className
7679 ) }
77- data-inset = { inset }
78- data-slot = "dropdown-menu-item"
79- data-variant = { variant }
8080 { ...props }
8181 />
82- ) ;
82+ )
8383}
8484
8585function DropdownMenuCheckboxItem ( {
@@ -90,12 +90,12 @@ function DropdownMenuCheckboxItem({
9090} : React . ComponentProps < typeof DropdownMenuPrimitive . CheckboxItem > ) {
9191 return (
9292 < DropdownMenuPrimitive . CheckboxItem
93- checked = { checked }
93+ data-slot = "dropdown-menu-checkbox-item"
9494 className = { cn (
95- "relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg: not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 " ,
95+ "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg: not([class*='size-'])]:size-4" ,
9696 className
9797 ) }
98- data-slot = "dropdown-menu-checkbox-item"
98+ checked = { checked }
9999 { ...props }
100100 >
101101 < span className = "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center" >
@@ -105,7 +105,7 @@ function DropdownMenuCheckboxItem({
105105 </ span >
106106 { children }
107107 </ DropdownMenuPrimitive . CheckboxItem >
108- ) ;
108+ )
109109}
110110
111111function DropdownMenuRadioGroup ( {
@@ -116,7 +116,7 @@ function DropdownMenuRadioGroup({
116116 data-slot = "dropdown-menu-radio-group"
117117 { ...props }
118118 />
119- ) ;
119+ )
120120}
121121
122122function DropdownMenuRadioItem ( {
@@ -126,11 +126,11 @@ function DropdownMenuRadioItem({
126126} : React . ComponentProps < typeof DropdownMenuPrimitive . RadioItem > ) {
127127 return (
128128 < DropdownMenuPrimitive . RadioItem
129+ data-slot = "dropdown-menu-radio-item"
129130 className = { cn (
130- "relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg: not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 " ,
131+ "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg: not([class*='size-'])]:size-4" ,
131132 className
132133 ) }
133- data-slot = "dropdown-menu-radio-item"
134134 { ...props }
135135 >
136136 < span className = "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center" >
@@ -140,27 +140,27 @@ function DropdownMenuRadioItem({
140140 </ span >
141141 { children }
142142 </ DropdownMenuPrimitive . RadioItem >
143- ) ;
143+ )
144144}
145145
146146function DropdownMenuLabel ( {
147147 className,
148148 inset,
149149 ...props
150150} : React . ComponentProps < typeof DropdownMenuPrimitive . Label > & {
151- inset ?: boolean ;
151+ inset ?: boolean
152152} ) {
153153 return (
154154 < DropdownMenuPrimitive . Label
155+ data-slot = "dropdown-menu-label"
156+ data-inset = { inset }
155157 className = { cn (
156- ' px-2 py-1.5 font-medium text-sm data-[inset]:pl-8' ,
158+ " px-2 py-1.5 text-sm font-medium data-[inset]:pl-8" ,
157159 className
158160 ) }
159- data-inset = { inset }
160- data-slot = "dropdown-menu-label"
161161 { ...props }
162162 />
163- ) ;
163+ )
164164}
165165
166166function DropdownMenuSeparator ( {
@@ -169,33 +169,33 @@ function DropdownMenuSeparator({
169169} : React . ComponentProps < typeof DropdownMenuPrimitive . Separator > ) {
170170 return (
171171 < DropdownMenuPrimitive . Separator
172- className = { cn ( '-mx-1 my-1 h-px bg-border' , className ) }
173172 data-slot = "dropdown-menu-separator"
173+ className = { cn ( "-mx-1 my-1 h-px bg-border" , className ) }
174174 { ...props }
175175 />
176- ) ;
176+ )
177177}
178178
179179function DropdownMenuShortcut ( {
180180 className,
181181 ...props
182- } : React . ComponentProps < ' span' > ) {
182+ } : React . ComponentProps < " span" > ) {
183183 return (
184184 < span
185+ data-slot = "dropdown-menu-shortcut"
185186 className = { cn (
186- ' ml-auto text-muted-foreground text- xs tracking-widest' ,
187+ " ml-auto text-xs tracking-widest text-muted-foreground" ,
187188 className
188189 ) }
189- data-slot = "dropdown-menu-shortcut"
190190 { ...props }
191191 />
192- ) ;
192+ )
193193}
194194
195195function DropdownMenuSub ( {
196196 ...props
197197} : React . ComponentProps < typeof DropdownMenuPrimitive . Sub > ) {
198- return < DropdownMenuPrimitive . Sub data-slot = "dropdown-menu-sub" { ...props } /> ;
198+ return < DropdownMenuPrimitive . Sub data-slot = "dropdown-menu-sub" { ...props } />
199199}
200200
201201function DropdownMenuSubTrigger ( {
@@ -204,22 +204,22 @@ function DropdownMenuSubTrigger({
204204 children,
205205 ...props
206206} : React . ComponentProps < typeof DropdownMenuPrimitive . SubTrigger > & {
207- inset ?: boolean ;
207+ inset ?: boolean
208208} ) {
209209 return (
210210 < DropdownMenuPrimitive . SubTrigger
211+ data-slot = "dropdown-menu-sub-trigger"
212+ data-inset = { inset }
211213 className = { cn (
212- "flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[inset]:pl-8 data-[state=open]:text-accent-foreground [&_svg: not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 " ,
214+ "flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg: not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground" ,
213215 className
214216 ) }
215- data-inset = { inset }
216- data-slot = "dropdown-menu-sub-trigger"
217217 { ...props }
218218 >
219219 { children }
220220 < ChevronRightIcon className = "ml-auto size-4" />
221221 </ DropdownMenuPrimitive . SubTrigger >
222- ) ;
222+ )
223223}
224224
225225function DropdownMenuSubContent ( {
@@ -228,14 +228,14 @@ function DropdownMenuSubContent({
228228} : React . ComponentProps < typeof DropdownMenuPrimitive . SubContent > ) {
229229 return (
230230 < DropdownMenuPrimitive . SubContent
231+ data-slot = "dropdown-menu-sub-content"
231232 className = { cn (
232- ' 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-[state=closed]:fade -out-0 data-[state=closed]:zoom -out-95 data-[state=open]:fade-in-0 data-[state=open]:zoom -in-95 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=closed]:animate-out data-[state=open]:animate -in' ,
233+ "z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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-[state=closed]:animate -out data-[state=closed]:fade -out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate -in data-[state=open]:fade-in-0 data-[state=open]:zoom -in-95" ,
233234 className
234235 ) }
235- data-slot = "dropdown-menu-sub-content"
236236 { ...props }
237237 />
238- ) ;
238+ )
239239}
240240
241241export {
@@ -254,4 +254,4 @@ export {
254254 DropdownMenuSub ,
255255 DropdownMenuSubTrigger ,
256256 DropdownMenuSubContent ,
257- } ;
257+ }
0 commit comments