@arolariu/components 0.0.10 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ui/alert-dialog.js +1 -1
- package/dist/cjs/components/ui/sidebar.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/types/accordion.d.ts +13 -0
- package/dist/types/alert-dialog.d.ts +27 -0
- package/dist/types/alert.d.ts +16 -0
- package/dist/types/aspect-ratio.d.ts +6 -0
- package/dist/types/avatar.d.ts +11 -0
- package/dist/types/badge.d.ts +14 -0
- package/dist/types/breadcrumb.d.ts +20 -0
- package/dist/types/button.d.ts +15 -0
- package/dist/types/calendar.d.ts +7 -0
- package/dist/types/card.d.ts +16 -0
- package/dist/types/carousel.d.ts +42 -0
- package/dist/types/chart.d.ts +50 -0
- package/dist/types/checkbox.d.ts +7 -0
- package/dist/types/collapsible.d.ts +10 -0
- package/dist/types/command.d.ts +29 -0
- package/dist/types/context-menu.d.ts +42 -0
- package/dist/types/dialog.d.ts +25 -0
- package/dist/types/drawer.d.ts +25 -0
- package/dist/types/dropdown-menu.d.ts +42 -0
- package/dist/types/form.d.ts +38 -0
- package/dist/types/hover-card.d.ts +11 -0
- package/dist/types/index.d.ts +689 -47
- package/dist/types/input-otp.d.ts +17 -0
- package/dist/types/input.d.ts +6 -0
- package/dist/types/label.d.ts +7 -0
- package/dist/types/menubar.d.ts +44 -0
- package/dist/types/navigation-menu.d.ts +26 -0
- package/dist/types/pagination.d.ts +33 -0
- package/dist/types/popover.d.ts +13 -0
- package/dist/types/progress.d.ts +7 -0
- package/dist/types/radio-group.d.ts +9 -0
- package/dist/types/resizable.d.ts +13 -0
- package/dist/types/scroll-area.d.ts +9 -0
- package/dist/types/select.d.ts +25 -0
- package/dist/types/separator.d.ts +7 -0
- package/dist/types/sheet.d.ts +23 -0
- package/dist/types/sidebar.d.ts +113 -0
- package/dist/types/skeleton.d.ts +5 -0
- package/dist/types/slider.d.ts +7 -0
- package/dist/types/sonner.d.ts +6 -0
- package/dist/types/switch.d.ts +7 -0
- package/dist/types/table.d.ts +20 -0
- package/dist/types/tabs.d.ts +13 -0
- package/dist/types/textarea.d.ts +6 -0
- package/dist/types/toggle-group.d.ts +16 -0
- package/dist/types/toggle.d.ts +14 -0
- package/dist/types/tooltip.d.ts +13 -0
- package/package.json +105 -97
- package/readme.md +169 -0
- package/dist/types/components/ui/accordion.d.ts.map +0 -1
- package/dist/types/components/ui/alert-dialog.d.ts.map +0 -1
- package/dist/types/components/ui/alert.d.ts.map +0 -1
- package/dist/types/components/ui/aspect-ratio.d.ts.map +0 -1
- package/dist/types/components/ui/avatar.d.ts.map +0 -1
- package/dist/types/components/ui/badge.d.ts.map +0 -1
- package/dist/types/components/ui/breadcrumb.d.ts.map +0 -1
- package/dist/types/components/ui/button.d.ts.map +0 -1
- package/dist/types/components/ui/calendar.d.ts.map +0 -1
- package/dist/types/components/ui/card.d.ts.map +0 -1
- package/dist/types/components/ui/carousel.d.ts.map +0 -1
- package/dist/types/components/ui/chart.d.ts.map +0 -1
- package/dist/types/components/ui/checkbox.d.ts.map +0 -1
- package/dist/types/components/ui/collapsible.d.ts.map +0 -1
- package/dist/types/components/ui/command.d.ts.map +0 -1
- package/dist/types/components/ui/context-menu.d.ts.map +0 -1
- package/dist/types/components/ui/dialog.d.ts.map +0 -1
- package/dist/types/components/ui/drawer.d.ts.map +0 -1
- package/dist/types/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/types/components/ui/form.d.ts.map +0 -1
- package/dist/types/components/ui/hover-card.d.ts.map +0 -1
- package/dist/types/components/ui/input-otp.d.ts.map +0 -1
- package/dist/types/components/ui/input.d.ts.map +0 -1
- package/dist/types/components/ui/label.d.ts.map +0 -1
- package/dist/types/components/ui/menubar.d.ts.map +0 -1
- package/dist/types/components/ui/navigation-menu.d.ts.map +0 -1
- package/dist/types/components/ui/pagination.d.ts.map +0 -1
- package/dist/types/components/ui/popover.d.ts.map +0 -1
- package/dist/types/components/ui/progress.d.ts.map +0 -1
- package/dist/types/components/ui/radio-group.d.ts.map +0 -1
- package/dist/types/components/ui/resizable.d.ts.map +0 -1
- package/dist/types/components/ui/scroll-area.d.ts.map +0 -1
- package/dist/types/components/ui/select.d.ts.map +0 -1
- package/dist/types/components/ui/separator.d.ts.map +0 -1
- package/dist/types/components/ui/sheet.d.ts.map +0 -1
- package/dist/types/components/ui/sidebar.d.ts.map +0 -1
- package/dist/types/components/ui/skeleton.d.ts.map +0 -1
- package/dist/types/components/ui/slider.d.ts.map +0 -1
- package/dist/types/components/ui/sonner.d.ts.map +0 -1
- package/dist/types/components/ui/switch.d.ts.map +0 -1
- package/dist/types/components/ui/table.d.ts.map +0 -1
- package/dist/types/components/ui/tabs.d.ts.map +0 -1
- package/dist/types/components/ui/textarea.d.ts.map +0 -1
- package/dist/types/components/ui/toggle-group.d.ts.map +0 -1
- package/dist/types/components/ui/toggle.d.ts.map +0 -1
- package/dist/types/components/ui/tooltip.d.ts.map +0 -1
- package/dist/types/hooks/use-mobile.d.ts +0 -2
- package/dist/types/hooks/use-mobile.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/lib/utils.d.ts +0 -3
- package/dist/types/lib/utils.d.ts.map +0 -1
- package/dist/umd/arolariu-components.umd.js +0 -7
- package/src/components/ui/accordion.tsx +0 -66
- package/src/components/ui/alert-dialog.tsx +0 -157
- package/src/components/ui/alert.tsx +0 -66
- package/src/components/ui/aspect-ratio.tsx +0 -11
- package/src/components/ui/avatar.tsx +0 -53
- package/src/components/ui/badge.tsx +0 -46
- package/src/components/ui/breadcrumb.tsx +0 -109
- package/src/components/ui/button.tsx +0 -58
- package/src/components/ui/calendar.tsx +0 -75
- package/src/components/ui/card.tsx +0 -68
- package/src/components/ui/carousel.tsx +0 -241
- package/src/components/ui/chart.tsx +0 -353
- package/src/components/ui/checkbox.tsx +0 -32
- package/src/components/ui/collapsible.tsx +0 -33
- package/src/components/ui/command.tsx +0 -177
- package/src/components/ui/context-menu.tsx +0 -252
- package/src/components/ui/dialog.tsx +0 -135
- package/src/components/ui/drawer.tsx +0 -132
- package/src/components/ui/dropdown-menu.tsx +0 -257
- package/src/components/ui/form.tsx +0 -167
- package/src/components/ui/hover-card.tsx +0 -42
- package/src/components/ui/input-otp.tsx +0 -78
- package/src/components/ui/input.tsx +0 -21
- package/src/components/ui/label.tsx +0 -24
- package/src/components/ui/menubar.tsx +0 -276
- package/src/components/ui/navigation-menu.tsx +0 -170
- package/src/components/ui/pagination.tsx +0 -127
- package/src/components/ui/popover.tsx +0 -48
- package/src/components/ui/progress.tsx +0 -31
- package/src/components/ui/radio-group.tsx +0 -45
- package/src/components/ui/resizable.tsx +0 -56
- package/src/components/ui/scroll-area.tsx +0 -58
- package/src/components/ui/select.tsx +0 -181
- package/src/components/ui/separator.tsx +0 -28
- package/src/components/ui/sheet.tsx +0 -139
- package/src/components/ui/sidebar.tsx +0 -723
- package/src/components/ui/skeleton.tsx +0 -13
- package/src/components/ui/slider.tsx +0 -63
- package/src/components/ui/sonner.tsx +0 -29
- package/src/components/ui/switch.tsx +0 -31
- package/src/components/ui/table.tsx +0 -116
- package/src/components/ui/tabs.tsx +0 -66
- package/src/components/ui/textarea.tsx +0 -18
- package/src/components/ui/toggle-group.tsx +0 -73
- package/src/components/ui/toggle.tsx +0 -47
- package/src/components/ui/tooltip.tsx +0 -61
- package/src/hooks/use-mobile.ts +0 -19
- package/src/hooks/use-mobile.tsx +0 -19
- package/src/index.css +0 -137
- package/src/index.ts +0 -326
- package/src/lib/utils.ts +0 -6
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import * as React from "react"
|
|
4
|
-
import * as MenubarPrimitive from "@radix-ui/react-menubar"
|
|
5
|
-
import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react"
|
|
6
|
-
|
|
7
|
-
import { cn } from "@/lib/utils"
|
|
8
|
-
|
|
9
|
-
function Menubar({
|
|
10
|
-
className,
|
|
11
|
-
...props
|
|
12
|
-
}: React.ComponentProps<typeof MenubarPrimitive.Root>) {
|
|
13
|
-
return (
|
|
14
|
-
<MenubarPrimitive.Root
|
|
15
|
-
data-slot="menubar"
|
|
16
|
-
className={cn(
|
|
17
|
-
"bg-white flex h-9 items-center gap-1 rounded-md border border-neutral-200 p-1 shadow-xs dark:bg-neutral-950 dark:border-neutral-800",
|
|
18
|
-
className
|
|
19
|
-
)}
|
|
20
|
-
{...props}
|
|
21
|
-
/>
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function MenubarMenu({
|
|
26
|
-
...props
|
|
27
|
-
}: React.ComponentProps<typeof MenubarPrimitive.Menu>) {
|
|
28
|
-
return <MenubarPrimitive.Menu data-slot="menubar-menu" {...props} />
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function MenubarGroup({
|
|
32
|
-
...props
|
|
33
|
-
}: React.ComponentProps<typeof MenubarPrimitive.Group>) {
|
|
34
|
-
return <MenubarPrimitive.Group data-slot="menubar-group" {...props} />
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function MenubarPortal({
|
|
38
|
-
...props
|
|
39
|
-
}: React.ComponentProps<typeof MenubarPrimitive.Portal>) {
|
|
40
|
-
return <MenubarPrimitive.Portal data-slot="menubar-portal" {...props} />
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function MenubarRadioGroup({
|
|
44
|
-
...props
|
|
45
|
-
}: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {
|
|
46
|
-
return (
|
|
47
|
-
<MenubarPrimitive.RadioGroup data-slot="menubar-radio-group" {...props} />
|
|
48
|
-
)
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function MenubarTrigger({
|
|
52
|
-
className,
|
|
53
|
-
...props
|
|
54
|
-
}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {
|
|
55
|
-
return (
|
|
56
|
-
<MenubarPrimitive.Trigger
|
|
57
|
-
data-slot="menubar-trigger"
|
|
58
|
-
className={cn(
|
|
59
|
-
"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50",
|
|
60
|
-
className
|
|
61
|
-
)}
|
|
62
|
-
{...props}
|
|
63
|
-
/>
|
|
64
|
-
)
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function MenubarContent({
|
|
68
|
-
className,
|
|
69
|
-
align = "start",
|
|
70
|
-
alignOffset = -4,
|
|
71
|
-
sideOffset = 8,
|
|
72
|
-
...props
|
|
73
|
-
}: React.ComponentProps<typeof MenubarPrimitive.Content>) {
|
|
74
|
-
return (
|
|
75
|
-
<MenubarPortal>
|
|
76
|
-
<MenubarPrimitive.Content
|
|
77
|
-
data-slot="menubar-content"
|
|
78
|
-
align={align}
|
|
79
|
-
alignOffset={alignOffset}
|
|
80
|
-
sideOffset={sideOffset}
|
|
81
|
-
className={cn(
|
|
82
|
-
"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 z-50 min-w-[12rem] overflow-hidden rounded-md border border-neutral-200 p-1 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
|
|
83
|
-
className
|
|
84
|
-
)}
|
|
85
|
-
{...props}
|
|
86
|
-
/>
|
|
87
|
-
</MenubarPortal>
|
|
88
|
-
)
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function MenubarItem({
|
|
92
|
-
className,
|
|
93
|
-
inset,
|
|
94
|
-
variant = "default",
|
|
95
|
-
...props
|
|
96
|
-
}: React.ComponentProps<typeof MenubarPrimitive.Item> & {
|
|
97
|
-
inset?: boolean
|
|
98
|
-
variant?: "default" | "destructive"
|
|
99
|
-
}) {
|
|
100
|
-
return (
|
|
101
|
-
<MenubarPrimitive.Item
|
|
102
|
-
data-slot="menubar-item"
|
|
103
|
-
data-inset={inset}
|
|
104
|
-
data-variant={variant}
|
|
105
|
-
className={cn(
|
|
106
|
-
"focus:bg-neutral-100 focus:text-neutral-900 data-[variant=destructive]:text-neutral-50 data-[variant=destructive]:focus:bg-red-500/10 dark:data-[variant=destructive]:focus:bg-red-500/40 data-[variant=destructive]:focus:text-neutral-50 data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[variant=destructive]:text-neutral-50 dark:data-[variant=destructive]:focus:bg-red-900/10 dark:dark:data-[variant=destructive]:focus:bg-red-900/40 dark:data-[variant=destructive]:focus:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400",
|
|
107
|
-
className
|
|
108
|
-
)}
|
|
109
|
-
{...props}
|
|
110
|
-
/>
|
|
111
|
-
)
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function MenubarCheckboxItem({
|
|
115
|
-
className,
|
|
116
|
-
children,
|
|
117
|
-
checked,
|
|
118
|
-
...props
|
|
119
|
-
}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {
|
|
120
|
-
return (
|
|
121
|
-
<MenubarPrimitive.CheckboxItem
|
|
122
|
-
data-slot="menubar-checkbox-item"
|
|
123
|
-
className={cn(
|
|
124
|
-
"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50",
|
|
125
|
-
className
|
|
126
|
-
)}
|
|
127
|
-
checked={checked}
|
|
128
|
-
{...props}
|
|
129
|
-
>
|
|
130
|
-
<span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
|
|
131
|
-
<MenubarPrimitive.ItemIndicator>
|
|
132
|
-
<CheckIcon className="size-4" />
|
|
133
|
-
</MenubarPrimitive.ItemIndicator>
|
|
134
|
-
</span>
|
|
135
|
-
{children}
|
|
136
|
-
</MenubarPrimitive.CheckboxItem>
|
|
137
|
-
)
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
function MenubarRadioItem({
|
|
141
|
-
className,
|
|
142
|
-
children,
|
|
143
|
-
...props
|
|
144
|
-
}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {
|
|
145
|
-
return (
|
|
146
|
-
<MenubarPrimitive.RadioItem
|
|
147
|
-
data-slot="menubar-radio-item"
|
|
148
|
-
className={cn(
|
|
149
|
-
"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50",
|
|
150
|
-
className
|
|
151
|
-
)}
|
|
152
|
-
{...props}
|
|
153
|
-
>
|
|
154
|
-
<span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
|
|
155
|
-
<MenubarPrimitive.ItemIndicator>
|
|
156
|
-
<CircleIcon className="size-2 fill-current" />
|
|
157
|
-
</MenubarPrimitive.ItemIndicator>
|
|
158
|
-
</span>
|
|
159
|
-
{children}
|
|
160
|
-
</MenubarPrimitive.RadioItem>
|
|
161
|
-
)
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
function MenubarLabel({
|
|
165
|
-
className,
|
|
166
|
-
inset,
|
|
167
|
-
...props
|
|
168
|
-
}: React.ComponentProps<typeof MenubarPrimitive.Label> & {
|
|
169
|
-
inset?: boolean
|
|
170
|
-
}) {
|
|
171
|
-
return (
|
|
172
|
-
<MenubarPrimitive.Label
|
|
173
|
-
data-slot="menubar-label"
|
|
174
|
-
data-inset={inset}
|
|
175
|
-
className={cn(
|
|
176
|
-
"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
|
|
177
|
-
className
|
|
178
|
-
)}
|
|
179
|
-
{...props}
|
|
180
|
-
/>
|
|
181
|
-
)
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
function MenubarSeparator({
|
|
185
|
-
className,
|
|
186
|
-
...props
|
|
187
|
-
}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {
|
|
188
|
-
return (
|
|
189
|
-
<MenubarPrimitive.Separator
|
|
190
|
-
data-slot="menubar-separator"
|
|
191
|
-
className={cn("bg-neutral-200 -mx-1 my-1 h-px dark:bg-neutral-800", className)}
|
|
192
|
-
{...props}
|
|
193
|
-
/>
|
|
194
|
-
)
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
function MenubarShortcut({
|
|
198
|
-
className,
|
|
199
|
-
...props
|
|
200
|
-
}: React.ComponentProps<"span">) {
|
|
201
|
-
return (
|
|
202
|
-
<span
|
|
203
|
-
data-slot="menubar-shortcut"
|
|
204
|
-
className={cn(
|
|
205
|
-
"text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400",
|
|
206
|
-
className
|
|
207
|
-
)}
|
|
208
|
-
{...props}
|
|
209
|
-
/>
|
|
210
|
-
)
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
function MenubarSub({
|
|
214
|
-
...props
|
|
215
|
-
}: React.ComponentProps<typeof MenubarPrimitive.Sub>) {
|
|
216
|
-
return <MenubarPrimitive.Sub data-slot="menubar-sub" {...props} />
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
function MenubarSubTrigger({
|
|
220
|
-
className,
|
|
221
|
-
inset,
|
|
222
|
-
children,
|
|
223
|
-
...props
|
|
224
|
-
}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
|
|
225
|
-
inset?: boolean
|
|
226
|
-
}) {
|
|
227
|
-
return (
|
|
228
|
-
<MenubarPrimitive.SubTrigger
|
|
229
|
-
data-slot="menubar-sub-trigger"
|
|
230
|
-
data-inset={inset}
|
|
231
|
-
className={cn(
|
|
232
|
-
"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50",
|
|
233
|
-
className
|
|
234
|
-
)}
|
|
235
|
-
{...props}
|
|
236
|
-
>
|
|
237
|
-
{children}
|
|
238
|
-
<ChevronRightIcon className="ml-auto h-4 w-4" />
|
|
239
|
-
</MenubarPrimitive.SubTrigger>
|
|
240
|
-
)
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
function MenubarSubContent({
|
|
244
|
-
className,
|
|
245
|
-
...props
|
|
246
|
-
}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {
|
|
247
|
-
return (
|
|
248
|
-
<MenubarPrimitive.SubContent
|
|
249
|
-
data-slot="menubar-sub-content"
|
|
250
|
-
className={cn(
|
|
251
|
-
"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 z-50 min-w-[8rem] overflow-hidden rounded-md border border-neutral-200 p-1 shadow-lg dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
|
|
252
|
-
className
|
|
253
|
-
)}
|
|
254
|
-
{...props}
|
|
255
|
-
/>
|
|
256
|
-
)
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
export {
|
|
260
|
-
Menubar,
|
|
261
|
-
MenubarPortal,
|
|
262
|
-
MenubarMenu,
|
|
263
|
-
MenubarTrigger,
|
|
264
|
-
MenubarContent,
|
|
265
|
-
MenubarGroup,
|
|
266
|
-
MenubarSeparator,
|
|
267
|
-
MenubarLabel,
|
|
268
|
-
MenubarItem,
|
|
269
|
-
MenubarShortcut,
|
|
270
|
-
MenubarCheckboxItem,
|
|
271
|
-
MenubarRadioGroup,
|
|
272
|
-
MenubarRadioItem,
|
|
273
|
-
MenubarSub,
|
|
274
|
-
MenubarSubTrigger,
|
|
275
|
-
MenubarSubContent,
|
|
276
|
-
}
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import * as React from "react"
|
|
4
|
-
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu"
|
|
5
|
-
import { cva } from "class-variance-authority"
|
|
6
|
-
import { ChevronDownIcon } from "lucide-react"
|
|
7
|
-
|
|
8
|
-
import { cn } from "@/lib/utils"
|
|
9
|
-
|
|
10
|
-
function NavigationMenu({
|
|
11
|
-
className,
|
|
12
|
-
children,
|
|
13
|
-
viewport = true,
|
|
14
|
-
...props
|
|
15
|
-
}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
|
|
16
|
-
viewport?: boolean
|
|
17
|
-
}) {
|
|
18
|
-
return (
|
|
19
|
-
<NavigationMenuPrimitive.Root
|
|
20
|
-
data-slot="navigation-menu"
|
|
21
|
-
data-viewport={viewport}
|
|
22
|
-
className={cn(
|
|
23
|
-
"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
|
|
24
|
-
className
|
|
25
|
-
)}
|
|
26
|
-
{...props}
|
|
27
|
-
>
|
|
28
|
-
{children}
|
|
29
|
-
{viewport && <NavigationMenuViewport />}
|
|
30
|
-
</NavigationMenuPrimitive.Root>
|
|
31
|
-
)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function NavigationMenuList({
|
|
35
|
-
className,
|
|
36
|
-
...props
|
|
37
|
-
}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {
|
|
38
|
-
return (
|
|
39
|
-
<NavigationMenuPrimitive.List
|
|
40
|
-
data-slot="navigation-menu-list"
|
|
41
|
-
className={cn(
|
|
42
|
-
"group flex flex-1 list-none items-center justify-center gap-1",
|
|
43
|
-
className
|
|
44
|
-
)}
|
|
45
|
-
{...props}
|
|
46
|
-
/>
|
|
47
|
-
)
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function NavigationMenuItem({
|
|
51
|
-
className,
|
|
52
|
-
...props
|
|
53
|
-
}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {
|
|
54
|
-
return (
|
|
55
|
-
<NavigationMenuPrimitive.Item
|
|
56
|
-
data-slot="navigation-menu-item"
|
|
57
|
-
className={cn("relative", className)}
|
|
58
|
-
{...props}
|
|
59
|
-
/>
|
|
60
|
-
)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const navigationMenuTriggerStyle = cva(
|
|
64
|
-
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 disabled:pointer-events-none disabled:opacity-50 data-[active=true]:bg-neutral-100/50 data-[state=open]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[state=open]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20"
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
function NavigationMenuTrigger({
|
|
68
|
-
className,
|
|
69
|
-
children,
|
|
70
|
-
...props
|
|
71
|
-
}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {
|
|
72
|
-
return (
|
|
73
|
-
<NavigationMenuPrimitive.Trigger
|
|
74
|
-
data-slot="navigation-menu-trigger"
|
|
75
|
-
className={cn(navigationMenuTriggerStyle(), "group", className)}
|
|
76
|
-
{...props}
|
|
77
|
-
>
|
|
78
|
-
{children}{""}
|
|
79
|
-
<ChevronDownIcon
|
|
80
|
-
className="relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180"
|
|
81
|
-
aria-hidden="true"
|
|
82
|
-
/>
|
|
83
|
-
</NavigationMenuPrimitive.Trigger>
|
|
84
|
-
)
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function NavigationMenuContent({
|
|
88
|
-
className,
|
|
89
|
-
...props
|
|
90
|
-
}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {
|
|
91
|
-
return (
|
|
92
|
-
<NavigationMenuPrimitive.Content
|
|
93
|
-
data-slot="navigation-menu-content"
|
|
94
|
-
className={cn(
|
|
95
|
-
"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto",
|
|
96
|
-
"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none",
|
|
97
|
-
className
|
|
98
|
-
)}
|
|
99
|
-
{...props}
|
|
100
|
-
/>
|
|
101
|
-
)
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
function NavigationMenuViewport({
|
|
105
|
-
className,
|
|
106
|
-
...props
|
|
107
|
-
}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {
|
|
108
|
-
return (
|
|
109
|
-
<div
|
|
110
|
-
className={cn(
|
|
111
|
-
"absolute top-full left-0 isolate z-50 flex justify-center"
|
|
112
|
-
)}
|
|
113
|
-
>
|
|
114
|
-
<NavigationMenuPrimitive.Viewport
|
|
115
|
-
data-slot="navigation-menu-viewport"
|
|
116
|
-
className={cn(
|
|
117
|
-
"origin-top-center bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-neutral-200 shadow md:w-[var(--radix-navigation-menu-viewport-width)] dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
|
|
118
|
-
className
|
|
119
|
-
)}
|
|
120
|
-
{...props}
|
|
121
|
-
/>
|
|
122
|
-
</div>
|
|
123
|
-
)
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
function NavigationMenuLink({
|
|
127
|
-
className,
|
|
128
|
-
...props
|
|
129
|
-
}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {
|
|
130
|
-
return (
|
|
131
|
-
<NavigationMenuPrimitive.Link
|
|
132
|
-
data-slot="navigation-menu-link"
|
|
133
|
-
className={cn(
|
|
134
|
-
"hover:bg-neutral-100 hover:text-neutral-900 focus:bg-neutral-100 focus:text-neutral-900 data-[active=true]:bg-neutral-100/50 data-[active=true]:text-neutral-900 ring-neutral-950/10 dark:ring-neutral-950/20 dark:outline-ring/40 outline-ring/50 [&_svg:not([class*='text-'])]:text-neutral-500 flex flex-col gap-1 rounded-sm p-2 text-sm transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[active=true]:bg-neutral-800/50 dark:data-[active=true]:text-neutral-50 dark:ring-neutral-300/10 dark:dark:ring-neutral-300/20 dark:[&_svg:not([class*='text-'])]:text-neutral-400",
|
|
135
|
-
className
|
|
136
|
-
)}
|
|
137
|
-
{...props}
|
|
138
|
-
/>
|
|
139
|
-
)
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
function NavigationMenuIndicator({
|
|
143
|
-
className,
|
|
144
|
-
...props
|
|
145
|
-
}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {
|
|
146
|
-
return (
|
|
147
|
-
<NavigationMenuPrimitive.Indicator
|
|
148
|
-
data-slot="navigation-menu-indicator"
|
|
149
|
-
className={cn(
|
|
150
|
-
"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden",
|
|
151
|
-
className
|
|
152
|
-
)}
|
|
153
|
-
{...props}
|
|
154
|
-
>
|
|
155
|
-
<div className="bg-neutral-200 relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md dark:bg-neutral-800" />
|
|
156
|
-
</NavigationMenuPrimitive.Indicator>
|
|
157
|
-
)
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
export {
|
|
161
|
-
NavigationMenu,
|
|
162
|
-
NavigationMenuList,
|
|
163
|
-
NavigationMenuItem,
|
|
164
|
-
NavigationMenuContent,
|
|
165
|
-
NavigationMenuTrigger,
|
|
166
|
-
NavigationMenuLink,
|
|
167
|
-
NavigationMenuIndicator,
|
|
168
|
-
NavigationMenuViewport,
|
|
169
|
-
navigationMenuTriggerStyle,
|
|
170
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import * as React from "react"
|
|
2
|
-
import {
|
|
3
|
-
ChevronLeftIcon,
|
|
4
|
-
ChevronRightIcon,
|
|
5
|
-
MoreHorizontalIcon,
|
|
6
|
-
} from "lucide-react"
|
|
7
|
-
|
|
8
|
-
import { cn } from "@/lib/utils"
|
|
9
|
-
import { Button, buttonVariants } from "@/components/ui/button"
|
|
10
|
-
|
|
11
|
-
function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
|
|
12
|
-
return (
|
|
13
|
-
<nav
|
|
14
|
-
role="navigation"
|
|
15
|
-
aria-label="pagination"
|
|
16
|
-
data-slot="pagination"
|
|
17
|
-
className={cn("mx-auto flex w-full justify-center", className)}
|
|
18
|
-
{...props}
|
|
19
|
-
/>
|
|
20
|
-
)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function PaginationContent({
|
|
24
|
-
className,
|
|
25
|
-
...props
|
|
26
|
-
}: React.ComponentProps<"ul">) {
|
|
27
|
-
return (
|
|
28
|
-
<ul
|
|
29
|
-
data-slot="pagination-content"
|
|
30
|
-
className={cn("flex flex-row items-center gap-1", className)}
|
|
31
|
-
{...props}
|
|
32
|
-
/>
|
|
33
|
-
)
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function PaginationItem({ ...props }: React.ComponentProps<"li">) {
|
|
37
|
-
return <li data-slot="pagination-item" {...props} />
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
type PaginationLinkProps = {
|
|
41
|
-
isActive?: boolean
|
|
42
|
-
} & Pick<React.ComponentProps<typeof Button>, "size"> &
|
|
43
|
-
React.ComponentProps<"a">
|
|
44
|
-
|
|
45
|
-
function PaginationLink({
|
|
46
|
-
className,
|
|
47
|
-
isActive,
|
|
48
|
-
size = "icon",
|
|
49
|
-
...props
|
|
50
|
-
}: PaginationLinkProps) {
|
|
51
|
-
return (
|
|
52
|
-
<a
|
|
53
|
-
aria-current={isActive ? "page" : undefined}
|
|
54
|
-
data-slot="pagination-link"
|
|
55
|
-
data-active={isActive}
|
|
56
|
-
className={cn(
|
|
57
|
-
buttonVariants({
|
|
58
|
-
variant: isActive ? "outline" : "ghost",
|
|
59
|
-
size,
|
|
60
|
-
}),
|
|
61
|
-
className
|
|
62
|
-
)}
|
|
63
|
-
{...props}
|
|
64
|
-
/>
|
|
65
|
-
)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function PaginationPrevious({
|
|
69
|
-
className,
|
|
70
|
-
...props
|
|
71
|
-
}: React.ComponentProps<typeof PaginationLink>) {
|
|
72
|
-
return (
|
|
73
|
-
<PaginationLink
|
|
74
|
-
aria-label="Go to previous page"
|
|
75
|
-
size="default"
|
|
76
|
-
className={cn("gap-1 px-2.5 sm:pl-2.5", className)}
|
|
77
|
-
{...props}
|
|
78
|
-
>
|
|
79
|
-
<ChevronLeftIcon />
|
|
80
|
-
<span className="hidden sm:block">Previous</span>
|
|
81
|
-
</PaginationLink>
|
|
82
|
-
)
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
function PaginationNext({
|
|
86
|
-
className,
|
|
87
|
-
...props
|
|
88
|
-
}: React.ComponentProps<typeof PaginationLink>) {
|
|
89
|
-
return (
|
|
90
|
-
<PaginationLink
|
|
91
|
-
aria-label="Go to next page"
|
|
92
|
-
size="default"
|
|
93
|
-
className={cn("gap-1 px-2.5 sm:pr-2.5", className)}
|
|
94
|
-
{...props}
|
|
95
|
-
>
|
|
96
|
-
<span className="hidden sm:block">Next</span>
|
|
97
|
-
<ChevronRightIcon />
|
|
98
|
-
</PaginationLink>
|
|
99
|
-
)
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function PaginationEllipsis({
|
|
103
|
-
className,
|
|
104
|
-
...props
|
|
105
|
-
}: React.ComponentProps<"span">) {
|
|
106
|
-
return (
|
|
107
|
-
<span
|
|
108
|
-
aria-hidden
|
|
109
|
-
data-slot="pagination-ellipsis"
|
|
110
|
-
className={cn("flex size-9 items-center justify-center", className)}
|
|
111
|
-
{...props}
|
|
112
|
-
>
|
|
113
|
-
<MoreHorizontalIcon className="size-4" />
|
|
114
|
-
<span className="sr-only">More pages</span>
|
|
115
|
-
</span>
|
|
116
|
-
)
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export {
|
|
120
|
-
Pagination,
|
|
121
|
-
PaginationContent,
|
|
122
|
-
PaginationLink,
|
|
123
|
-
PaginationItem,
|
|
124
|
-
PaginationPrevious,
|
|
125
|
-
PaginationNext,
|
|
126
|
-
PaginationEllipsis,
|
|
127
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import * as React from "react"
|
|
4
|
-
import * as PopoverPrimitive from "@radix-ui/react-popover"
|
|
5
|
-
|
|
6
|
-
import { cn } from "@/lib/utils"
|
|
7
|
-
|
|
8
|
-
function Popover({
|
|
9
|
-
...props
|
|
10
|
-
}: React.ComponentProps<typeof PopoverPrimitive.Root>) {
|
|
11
|
-
return <PopoverPrimitive.Root data-slot="popover" {...props} />
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function PopoverTrigger({
|
|
15
|
-
...props
|
|
16
|
-
}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {
|
|
17
|
-
return <PopoverPrimitive.Trigger data-slot="popover-trigger" {...props} />
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function PopoverContent({
|
|
21
|
-
className,
|
|
22
|
-
align = "center",
|
|
23
|
-
sideOffset = 4,
|
|
24
|
-
...props
|
|
25
|
-
}: React.ComponentProps<typeof PopoverPrimitive.Content>) {
|
|
26
|
-
return (
|
|
27
|
-
<PopoverPrimitive.Portal>
|
|
28
|
-
<PopoverPrimitive.Content
|
|
29
|
-
data-slot="popover-content"
|
|
30
|
-
align={align}
|
|
31
|
-
sideOffset={sideOffset}
|
|
32
|
-
className={cn(
|
|
33
|
-
"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 z-50 w-72 rounded-md border border-neutral-200 p-4 shadow-md outline-hidden dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
|
|
34
|
-
className
|
|
35
|
-
)}
|
|
36
|
-
{...props}
|
|
37
|
-
/>
|
|
38
|
-
</PopoverPrimitive.Portal>
|
|
39
|
-
)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function PopoverAnchor({
|
|
43
|
-
...props
|
|
44
|
-
}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {
|
|
45
|
-
return <PopoverPrimitive.Anchor data-slot="popover-anchor" {...props} />
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import * as React from "react"
|
|
4
|
-
import * as ProgressPrimitive from "@radix-ui/react-progress"
|
|
5
|
-
|
|
6
|
-
import { cn } from "@/lib/utils"
|
|
7
|
-
|
|
8
|
-
function Progress({
|
|
9
|
-
className,
|
|
10
|
-
value,
|
|
11
|
-
...props
|
|
12
|
-
}: React.ComponentProps<typeof ProgressPrimitive.Root>) {
|
|
13
|
-
return (
|
|
14
|
-
<ProgressPrimitive.Root
|
|
15
|
-
data-slot="progress"
|
|
16
|
-
className={cn(
|
|
17
|
-
"bg-neutral-900/20 relative h-2 w-full overflow-hidden rounded-full dark:bg-neutral-50/20",
|
|
18
|
-
className
|
|
19
|
-
)}
|
|
20
|
-
{...props}
|
|
21
|
-
>
|
|
22
|
-
<ProgressPrimitive.Indicator
|
|
23
|
-
data-slot="progress-indicator"
|
|
24
|
-
className="bg-neutral-900 h-full w-full flex-1 transition-all dark:bg-neutral-50"
|
|
25
|
-
style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
|
|
26
|
-
/>
|
|
27
|
-
</ProgressPrimitive.Root>
|
|
28
|
-
)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export { Progress }
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
|
|
3
|
-
import * as React from "react"
|
|
4
|
-
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group"
|
|
5
|
-
import { CircleIcon } from "lucide-react"
|
|
6
|
-
|
|
7
|
-
import { cn } from "@/lib/utils"
|
|
8
|
-
|
|
9
|
-
function RadioGroup({
|
|
10
|
-
className,
|
|
11
|
-
...props
|
|
12
|
-
}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {
|
|
13
|
-
return (
|
|
14
|
-
<RadioGroupPrimitive.Root
|
|
15
|
-
data-slot="radio-group"
|
|
16
|
-
className={cn("grid gap-3", className)}
|
|
17
|
-
{...props}
|
|
18
|
-
/>
|
|
19
|
-
)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function RadioGroupItem({
|
|
23
|
-
className,
|
|
24
|
-
...props
|
|
25
|
-
}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {
|
|
26
|
-
return (
|
|
27
|
-
<RadioGroupPrimitive.Item
|
|
28
|
-
data-slot="radio-group-item"
|
|
29
|
-
className={cn(
|
|
30
|
-
"border-neutral-200 text-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:text-neutral-50 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900",
|
|
31
|
-
className
|
|
32
|
-
)}
|
|
33
|
-
{...props}
|
|
34
|
-
>
|
|
35
|
-
<RadioGroupPrimitive.Indicator
|
|
36
|
-
data-slot="radio-group-indicator"
|
|
37
|
-
className="relative flex items-center justify-center"
|
|
38
|
-
>
|
|
39
|
-
<CircleIcon className="fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" />
|
|
40
|
-
</RadioGroupPrimitive.Indicator>
|
|
41
|
-
</RadioGroupPrimitive.Item>
|
|
42
|
-
)
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export { RadioGroup, RadioGroupItem }
|