@potenlab/ui 0.1.0

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.
Files changed (71) hide show
  1. package/dist/chunk-2W3RBVMM.js +698 -0
  2. package/dist/chunk-2W3RBVMM.js.map +1 -0
  3. package/dist/chunk-3PDPL453.cjs +42 -0
  4. package/dist/chunk-3PDPL453.cjs.map +1 -0
  5. package/dist/chunk-6GVBJTP3.js +3 -0
  6. package/dist/chunk-6GVBJTP3.js.map +1 -0
  7. package/dist/chunk-7XPQQR3Z.cjs +586 -0
  8. package/dist/chunk-7XPQQR3Z.cjs.map +1 -0
  9. package/dist/chunk-CN4BR5A5.cjs +1442 -0
  10. package/dist/chunk-CN4BR5A5.cjs.map +1 -0
  11. package/dist/chunk-DUACVZEX.js +13 -0
  12. package/dist/chunk-DUACVZEX.js.map +1 -0
  13. package/dist/chunk-EKVWVJD4.cjs +4 -0
  14. package/dist/chunk-EKVWVJD4.cjs.map +1 -0
  15. package/dist/chunk-IIMC6ODV.js +554 -0
  16. package/dist/chunk-IIMC6ODV.js.map +1 -0
  17. package/dist/chunk-M67D4PYJ.cjs +4 -0
  18. package/dist/chunk-M67D4PYJ.cjs.map +1 -0
  19. package/dist/chunk-O4BML5KD.cjs +744 -0
  20. package/dist/chunk-O4BML5KD.cjs.map +1 -0
  21. package/dist/chunk-OF2IE7ZP.cjs +26 -0
  22. package/dist/chunk-OF2IE7ZP.cjs.map +1 -0
  23. package/dist/chunk-T2ZO7QTO.js +3 -0
  24. package/dist/chunk-T2ZO7QTO.js.map +1 -0
  25. package/dist/chunk-T3VMPVU4.js +20 -0
  26. package/dist/chunk-T3VMPVU4.js.map +1 -0
  27. package/dist/chunk-VMWIQIIN.js +1343 -0
  28. package/dist/chunk-VMWIQIIN.js.map +1 -0
  29. package/dist/chunk-YDSVKR35.js +23 -0
  30. package/dist/chunk-YDSVKR35.js.map +1 -0
  31. package/dist/chunk-YSNZIYC2.cjs +16 -0
  32. package/dist/chunk-YSNZIYC2.cjs.map +1 -0
  33. package/dist/components/common/index.cjs +54 -0
  34. package/dist/components/common/index.cjs.map +1 -0
  35. package/dist/components/common/index.d.cts +138 -0
  36. package/dist/components/common/index.d.ts +138 -0
  37. package/dist/components/common/index.js +5 -0
  38. package/dist/components/common/index.js.map +1 -0
  39. package/dist/components/layouts/index.cjs +16 -0
  40. package/dist/components/layouts/index.cjs.map +1 -0
  41. package/dist/components/layouts/index.d.cts +15 -0
  42. package/dist/components/layouts/index.d.ts +15 -0
  43. package/dist/components/layouts/index.js +3 -0
  44. package/dist/components/layouts/index.js.map +1 -0
  45. package/dist/components/ui/index.cjs +503 -0
  46. package/dist/components/ui/index.cjs.map +1 -0
  47. package/dist/components/ui/index.d.cts +217 -0
  48. package/dist/components/ui/index.d.ts +217 -0
  49. package/dist/components/ui/index.js +6 -0
  50. package/dist/components/ui/index.js.map +1 -0
  51. package/dist/hooks/index.cjs +13 -0
  52. package/dist/hooks/index.cjs.map +1 -0
  53. package/dist/hooks/index.d.cts +3 -0
  54. package/dist/hooks/index.d.ts +3 -0
  55. package/dist/hooks/index.js +4 -0
  56. package/dist/hooks/index.js.map +1 -0
  57. package/dist/index.cjs +571 -0
  58. package/dist/index.cjs.map +1 -0
  59. package/dist/index.d.cts +29 -0
  60. package/dist/index.d.ts +29 -0
  61. package/dist/index.js +10 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/lib/index.cjs +17 -0
  64. package/dist/lib/index.cjs.map +1 -0
  65. package/dist/lib/index.d.cts +6 -0
  66. package/dist/lib/index.d.ts +6 -0
  67. package/dist/lib/index.js +4 -0
  68. package/dist/lib/index.js.map +1 -0
  69. package/dist/styles/globals.css +167 -0
  70. package/package.json +137 -0
  71. package/src/styles/globals.css +167 -0
@@ -0,0 +1,698 @@
1
+ import { cn } from './chunk-DUACVZEX.js';
2
+ import { cva } from 'class-variance-authority';
3
+ import { Slot, DropdownMenu as DropdownMenu$1, Label as Label$1, Select as Select$1, Separator as Separator$1, Switch as Switch$1, Tabs as Tabs$1 } from 'radix-ui';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+ import { CheckIcon, CircleIcon, ChevronRightIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';
6
+
7
+ var buttonVariants = cva(
8
+ "inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap font-medium transition-[background-color,color,transform] duration-150 ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
9
+ {
10
+ variants: {
11
+ variant: {
12
+ primary: "bg-primary hover:bg-primary-hover active:bg-primary-active active:scale-[0.98] text-white font-pretendard text-[18px] font-semibold",
13
+ secondary: "bg-sidebar-selected text-black font-pretendard text-[18px] font-semibold",
14
+ pagination: "bg-primary-light text-primary hover:bg-[#A0C4C3] hover:text-primary-hover",
15
+ ghost: "bg-transparent text-delete-text hover:underline hover:text-primary-hover p-0 h-auto text-[14px]",
16
+ outline: "border border-border bg-transparent text-black hover:bg-sidebar-selected"
17
+ },
18
+ size: {
19
+ default: "h-10 px-4 rounded-lg",
20
+ secondary: "h-12 px-4 rounded-md",
21
+ pagination: "h-10 w-10 rounded-md",
22
+ ghost: "h-auto p-0",
23
+ icon: "size-9"
24
+ }
25
+ },
26
+ defaultVariants: { variant: "primary", size: "default" }
27
+ }
28
+ );
29
+ function Button({ className, variant = "primary", size = "default", asChild = false, ...props }) {
30
+ const Comp = asChild ? Slot.Root : "button";
31
+ return /* @__PURE__ */ jsx(
32
+ Comp,
33
+ {
34
+ "data-slot": "button",
35
+ "data-variant": variant,
36
+ "data-size": size,
37
+ className: cn(buttonVariants({ variant, size, className })),
38
+ ...props
39
+ }
40
+ );
41
+ }
42
+ var badgeVariants = cva(
43
+ "inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",
44
+ {
45
+ variants: {
46
+ variant: {
47
+ default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
48
+ secondary: "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
49
+ destructive: "bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",
50
+ outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
51
+ ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
52
+ link: "text-primary underline-offset-4 [a&]:hover:underline",
53
+ green: "bg-badge-green-bg text-badge-green-text font-pretendard text-[18px] font-bold px-3 py-1 rounded-full"
54
+ }
55
+ },
56
+ defaultVariants: {
57
+ variant: "default"
58
+ }
59
+ }
60
+ );
61
+ function Badge({
62
+ className,
63
+ variant = "default",
64
+ asChild = false,
65
+ ...props
66
+ }) {
67
+ const Comp = asChild ? Slot.Root : "span";
68
+ return /* @__PURE__ */ jsx(
69
+ Comp,
70
+ {
71
+ "data-slot": "badge",
72
+ "data-variant": variant,
73
+ className: cn(badgeVariants({ variant }), className),
74
+ ...props
75
+ }
76
+ );
77
+ }
78
+ function DropdownMenu({
79
+ ...props
80
+ }) {
81
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Root, { "data-slot": "dropdown-menu", ...props });
82
+ }
83
+ function DropdownMenuPortal({
84
+ ...props
85
+ }) {
86
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Portal, { "data-slot": "dropdown-menu-portal", ...props });
87
+ }
88
+ function DropdownMenuTrigger({
89
+ ...props
90
+ }) {
91
+ return /* @__PURE__ */ jsx(
92
+ DropdownMenu$1.Trigger,
93
+ {
94
+ "data-slot": "dropdown-menu-trigger",
95
+ ...props
96
+ }
97
+ );
98
+ }
99
+ function DropdownMenuContent({
100
+ className,
101
+ sideOffset = 4,
102
+ ...props
103
+ }) {
104
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Portal, { children: /* @__PURE__ */ jsx(
105
+ DropdownMenu$1.Content,
106
+ {
107
+ "data-slot": "dropdown-menu-content",
108
+ sideOffset,
109
+ className: cn(
110
+ "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",
111
+ className
112
+ ),
113
+ ...props
114
+ }
115
+ ) });
116
+ }
117
+ function DropdownMenuGroup({
118
+ ...props
119
+ }) {
120
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Group, { "data-slot": "dropdown-menu-group", ...props });
121
+ }
122
+ function DropdownMenuItem({
123
+ className,
124
+ inset,
125
+ variant = "default",
126
+ ...props
127
+ }) {
128
+ return /* @__PURE__ */ jsx(
129
+ DropdownMenu$1.Item,
130
+ {
131
+ "data-slot": "dropdown-menu-item",
132
+ "data-inset": inset,
133
+ "data-variant": variant,
134
+ className: cn(
135
+ "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!",
136
+ className
137
+ ),
138
+ ...props
139
+ }
140
+ );
141
+ }
142
+ function DropdownMenuCheckboxItem({
143
+ className,
144
+ children,
145
+ checked,
146
+ ...props
147
+ }) {
148
+ return /* @__PURE__ */ jsxs(
149
+ DropdownMenu$1.CheckboxItem,
150
+ {
151
+ "data-slot": "dropdown-menu-checkbox-item",
152
+ className: cn(
153
+ "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",
154
+ className
155
+ ),
156
+ checked,
157
+ ...props,
158
+ children: [
159
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
160
+ children
161
+ ]
162
+ }
163
+ );
164
+ }
165
+ function DropdownMenuRadioGroup({
166
+ ...props
167
+ }) {
168
+ return /* @__PURE__ */ jsx(
169
+ DropdownMenu$1.RadioGroup,
170
+ {
171
+ "data-slot": "dropdown-menu-radio-group",
172
+ ...props
173
+ }
174
+ );
175
+ }
176
+ function DropdownMenuRadioItem({
177
+ className,
178
+ children,
179
+ ...props
180
+ }) {
181
+ return /* @__PURE__ */ jsxs(
182
+ DropdownMenu$1.RadioItem,
183
+ {
184
+ "data-slot": "dropdown-menu-radio-item",
185
+ className: cn(
186
+ "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",
187
+ className
188
+ ),
189
+ ...props,
190
+ children: [
191
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenu$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CircleIcon, { className: "size-2 fill-current" }) }) }),
192
+ children
193
+ ]
194
+ }
195
+ );
196
+ }
197
+ function DropdownMenuLabel({
198
+ className,
199
+ inset,
200
+ ...props
201
+ }) {
202
+ return /* @__PURE__ */ jsx(
203
+ DropdownMenu$1.Label,
204
+ {
205
+ "data-slot": "dropdown-menu-label",
206
+ "data-inset": inset,
207
+ className: cn(
208
+ "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
209
+ className
210
+ ),
211
+ ...props
212
+ }
213
+ );
214
+ }
215
+ function DropdownMenuSeparator({
216
+ className,
217
+ ...props
218
+ }) {
219
+ return /* @__PURE__ */ jsx(
220
+ DropdownMenu$1.Separator,
221
+ {
222
+ "data-slot": "dropdown-menu-separator",
223
+ className: cn("-mx-1 my-1 h-px bg-border", className),
224
+ ...props
225
+ }
226
+ );
227
+ }
228
+ function DropdownMenuShortcut({
229
+ className,
230
+ ...props
231
+ }) {
232
+ return /* @__PURE__ */ jsx(
233
+ "span",
234
+ {
235
+ "data-slot": "dropdown-menu-shortcut",
236
+ className: cn(
237
+ "ml-auto text-xs tracking-widest text-muted-foreground",
238
+ className
239
+ ),
240
+ ...props
241
+ }
242
+ );
243
+ }
244
+ function DropdownMenuSub({
245
+ ...props
246
+ }) {
247
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Sub, { "data-slot": "dropdown-menu-sub", ...props });
248
+ }
249
+ function DropdownMenuSubTrigger({
250
+ className,
251
+ inset,
252
+ children,
253
+ ...props
254
+ }) {
255
+ return /* @__PURE__ */ jsxs(
256
+ DropdownMenu$1.SubTrigger,
257
+ {
258
+ "data-slot": "dropdown-menu-sub-trigger",
259
+ "data-inset": inset,
260
+ className: cn(
261
+ "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",
262
+ className
263
+ ),
264
+ ...props,
265
+ children: [
266
+ children,
267
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto size-4" })
268
+ ]
269
+ }
270
+ );
271
+ }
272
+ function DropdownMenuSubContent({
273
+ className,
274
+ ...props
275
+ }) {
276
+ return /* @__PURE__ */ jsx(
277
+ DropdownMenu$1.SubContent,
278
+ {
279
+ "data-slot": "dropdown-menu-sub-content",
280
+ className: cn(
281
+ "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",
282
+ className
283
+ ),
284
+ ...props
285
+ }
286
+ );
287
+ }
288
+ function Input({ className, type, ...props }) {
289
+ return /* @__PURE__ */ jsx(
290
+ "input",
291
+ {
292
+ type,
293
+ "data-slot": "input",
294
+ className: cn(
295
+ "w-full min-w-0 border border-border rounded-md font-pretendard text-[18px] text-black placeholder:text-placeholder bg-white px-4",
296
+ "hover:border-[#CBD5E0]",
297
+ "focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 transition-[border-color,box-shadow] duration-150 ease-out",
298
+ "disabled:bg-table-header disabled:text-placeholder disabled:cursor-not-allowed",
299
+ "file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground",
300
+ "aria-invalid:border-destructive aria-invalid:ring-destructive/20",
301
+ className
302
+ ),
303
+ ...props
304
+ }
305
+ );
306
+ }
307
+ function Label({
308
+ className,
309
+ ...props
310
+ }) {
311
+ return /* @__PURE__ */ jsx(
312
+ Label$1.Root,
313
+ {
314
+ "data-slot": "label",
315
+ className: cn(
316
+ "font-pretendard text-[20px] font-semibold text-[#101010] mb-2 flex items-center gap-2 leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
317
+ className
318
+ ),
319
+ ...props
320
+ }
321
+ );
322
+ }
323
+ function Select({
324
+ ...props
325
+ }) {
326
+ return /* @__PURE__ */ jsx(Select$1.Root, { "data-slot": "select", ...props });
327
+ }
328
+ function SelectGroup({
329
+ ...props
330
+ }) {
331
+ return /* @__PURE__ */ jsx(Select$1.Group, { "data-slot": "select-group", ...props });
332
+ }
333
+ function SelectValue({
334
+ ...props
335
+ }) {
336
+ return /* @__PURE__ */ jsx(Select$1.Value, { "data-slot": "select-value", ...props });
337
+ }
338
+ function SelectTrigger({
339
+ className,
340
+ children,
341
+ ...props
342
+ }) {
343
+ return /* @__PURE__ */ jsxs(
344
+ Select$1.Trigger,
345
+ {
346
+ "data-slot": "select-trigger",
347
+ className: cn(
348
+ "flex w-full items-center justify-between rounded-md border border-border bg-white h-[52px] px-4 pr-12 font-pretendard text-[18px] text-[#2D3748] whitespace-nowrap transition-[color,box-shadow,border-color] outline-none hover:border-[#CBD5E0] focus:border-primary focus:ring-2 focus:ring-primary/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[placeholder]:text-placeholder *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",
349
+ className
350
+ ),
351
+ ...props,
352
+ children: [
353
+ children,
354
+ /* @__PURE__ */ jsx(Select$1.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 text-[#A0AEC0] transition-[transform,color] duration-300 ease-in-out [[data-state=open]>&]:rotate-180 [[data-state=open]>&]:text-[#509594] [.focus>&]:text-[#509594] [:focus>&]:text-[#509594]" }) })
355
+ ]
356
+ }
357
+ );
358
+ }
359
+ function SelectContent({
360
+ className,
361
+ children,
362
+ position = "popper",
363
+ ...props
364
+ }) {
365
+ return /* @__PURE__ */ jsx(Select$1.Portal, { children: /* @__PURE__ */ jsxs(
366
+ Select$1.Content,
367
+ {
368
+ "data-slot": "select-content",
369
+ className: cn(
370
+ "relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-border bg-white 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",
371
+ 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",
372
+ className
373
+ ),
374
+ position,
375
+ ...props,
376
+ children: [
377
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
378
+ /* @__PURE__ */ jsx(
379
+ Select$1.Viewport,
380
+ {
381
+ className: cn(
382
+ "p-1",
383
+ position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
384
+ ),
385
+ children
386
+ }
387
+ ),
388
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
389
+ ]
390
+ }
391
+ ) });
392
+ }
393
+ function SelectLabel({
394
+ className,
395
+ ...props
396
+ }) {
397
+ return /* @__PURE__ */ jsx(
398
+ Select$1.Label,
399
+ {
400
+ "data-slot": "select-label",
401
+ className: cn("px-2 py-1.5 text-xs text-muted-foreground", className),
402
+ ...props
403
+ }
404
+ );
405
+ }
406
+ function SelectItem({
407
+ className,
408
+ children,
409
+ ...props
410
+ }) {
411
+ return /* @__PURE__ */ jsxs(
412
+ Select$1.Item,
413
+ {
414
+ "data-slot": "select-item",
415
+ className: cn(
416
+ "relative flex w-full cursor-default items-center gap-2 rounded-sm px-4 py-2 pr-8 text-[18px] outline-hidden select-none hover:bg-sidebar-selected focus:bg-sidebar-selected data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
417
+ className
418
+ ),
419
+ ...props,
420
+ children: [
421
+ /* @__PURE__ */ jsx(
422
+ "span",
423
+ {
424
+ "data-slot": "select-item-indicator",
425
+ className: "absolute right-2 flex size-3.5 items-center justify-center",
426
+ children: /* @__PURE__ */ jsx(Select$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) })
427
+ }
428
+ ),
429
+ /* @__PURE__ */ jsx(Select$1.ItemText, { children })
430
+ ]
431
+ }
432
+ );
433
+ }
434
+ function SelectSeparator({
435
+ className,
436
+ ...props
437
+ }) {
438
+ return /* @__PURE__ */ jsx(
439
+ Select$1.Separator,
440
+ {
441
+ "data-slot": "select-separator",
442
+ className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className),
443
+ ...props
444
+ }
445
+ );
446
+ }
447
+ function SelectScrollUpButton({
448
+ className,
449
+ ...props
450
+ }) {
451
+ return /* @__PURE__ */ jsx(
452
+ Select$1.ScrollUpButton,
453
+ {
454
+ "data-slot": "select-scroll-up-button",
455
+ className: cn(
456
+ "flex cursor-default items-center justify-center py-1",
457
+ className
458
+ ),
459
+ ...props,
460
+ children: /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4" })
461
+ }
462
+ );
463
+ }
464
+ function SelectScrollDownButton({
465
+ className,
466
+ ...props
467
+ }) {
468
+ return /* @__PURE__ */ jsx(
469
+ Select$1.ScrollDownButton,
470
+ {
471
+ "data-slot": "select-scroll-down-button",
472
+ className: cn(
473
+ "flex cursor-default items-center justify-center py-1",
474
+ className
475
+ ),
476
+ ...props,
477
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
478
+ }
479
+ );
480
+ }
481
+ function Separator({
482
+ className,
483
+ orientation = "horizontal",
484
+ decorative = true,
485
+ ...props
486
+ }) {
487
+ return /* @__PURE__ */ jsx(
488
+ Separator$1.Root,
489
+ {
490
+ "data-slot": "separator",
491
+ decorative,
492
+ orientation,
493
+ className: cn(
494
+ "shrink-0 bg-divider data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
495
+ className
496
+ ),
497
+ ...props
498
+ }
499
+ );
500
+ }
501
+ function Switch({
502
+ className,
503
+ ...props
504
+ }) {
505
+ return /* @__PURE__ */ jsx(
506
+ Switch$1.Root,
507
+ {
508
+ "data-slot": "switch",
509
+ className: cn(
510
+ "peer inline-flex shrink-0 items-center rounded-full w-[44px] h-[24px] cursor-pointer transition-colors duration-200 ease-in-out outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=unchecked]:bg-toggle-off data-[state=checked]:bg-toggle-on data-[state=unchecked]:hover:bg-[#B0BEC5] data-[state=checked]:hover:bg-[#2563EB]",
511
+ className
512
+ ),
513
+ ...props,
514
+ children: /* @__PURE__ */ jsx(
515
+ Switch$1.Thumb,
516
+ {
517
+ "data-slot": "switch-thumb",
518
+ className: cn(
519
+ "pointer-events-none block size-5 rounded-full bg-white ring-0 transition-transform duration-200 ease-in-out data-[state=unchecked]:translate-x-[2px] data-[state=checked]:translate-x-[22px]"
520
+ )
521
+ }
522
+ )
523
+ }
524
+ );
525
+ }
526
+ function Table({ className, ...props }) {
527
+ return /* @__PURE__ */ jsx(
528
+ "div",
529
+ {
530
+ "data-slot": "table-container",
531
+ className: "relative w-full overflow-x-auto border border-border bg-white",
532
+ children: /* @__PURE__ */ jsx(
533
+ "table",
534
+ {
535
+ "data-slot": "table",
536
+ className: cn("w-full caption-bottom text-sm", className),
537
+ ...props
538
+ }
539
+ )
540
+ }
541
+ );
542
+ }
543
+ function TableHeader({ className, ...props }) {
544
+ return /* @__PURE__ */ jsx(
545
+ "thead",
546
+ {
547
+ "data-slot": "table-header",
548
+ className: cn("[&_tr]:border-b bg-table-header", className),
549
+ ...props
550
+ }
551
+ );
552
+ }
553
+ function TableBody({ className, ...props }) {
554
+ return /* @__PURE__ */ jsx(
555
+ "tbody",
556
+ {
557
+ "data-slot": "table-body",
558
+ className: cn("[&_tr:last-child]:border-0", className),
559
+ ...props
560
+ }
561
+ );
562
+ }
563
+ function TableFooter({ className, ...props }) {
564
+ return /* @__PURE__ */ jsx(
565
+ "tfoot",
566
+ {
567
+ "data-slot": "table-footer",
568
+ className: cn(
569
+ "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
570
+ className
571
+ ),
572
+ ...props
573
+ }
574
+ );
575
+ }
576
+ function TableRow({ className, ...props }) {
577
+ return /* @__PURE__ */ jsx(
578
+ "tr",
579
+ {
580
+ "data-slot": "table-row",
581
+ className: cn(
582
+ "h-[60px] border-b border-border hover:bg-table-header cursor-pointer transition-colors duration-150 data-[state=selected]:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
583
+ className
584
+ ),
585
+ ...props
586
+ }
587
+ );
588
+ }
589
+ function TableHead({ className, ...props }) {
590
+ return /* @__PURE__ */ jsx(
591
+ "th",
592
+ {
593
+ "data-slot": "table-head",
594
+ className: cn(
595
+ "h-14 px-4 text-left align-middle font-semibold whitespace-nowrap text-[14px] text-table-cell [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
596
+ className
597
+ ),
598
+ ...props
599
+ }
600
+ );
601
+ }
602
+ function TableCell({ className, ...props }) {
603
+ return /* @__PURE__ */ jsx(
604
+ "td",
605
+ {
606
+ "data-slot": "table-cell",
607
+ className: cn(
608
+ "px-4 text-[14px] text-table-cell align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
609
+ className
610
+ ),
611
+ ...props
612
+ }
613
+ );
614
+ }
615
+ function TableCaption({
616
+ className,
617
+ ...props
618
+ }) {
619
+ return /* @__PURE__ */ jsx(
620
+ "caption",
621
+ {
622
+ "data-slot": "table-caption",
623
+ className: cn("mt-4 text-sm text-muted-foreground", className),
624
+ ...props
625
+ }
626
+ );
627
+ }
628
+ function Tabs({
629
+ className,
630
+ orientation = "horizontal",
631
+ ...props
632
+ }) {
633
+ return /* @__PURE__ */ jsx(
634
+ Tabs$1.Root,
635
+ {
636
+ "data-slot": "tabs",
637
+ "data-orientation": orientation,
638
+ orientation,
639
+ className: cn(
640
+ "group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",
641
+ className
642
+ ),
643
+ ...props
644
+ }
645
+ );
646
+ }
647
+ function TabsList({
648
+ className,
649
+ ...props
650
+ }) {
651
+ return /* @__PURE__ */ jsx(
652
+ Tabs$1.List,
653
+ {
654
+ "data-slot": "tabs-list",
655
+ className: cn(
656
+ "inline-flex w-fit items-center gap-2 bg-transparent p-0",
657
+ className
658
+ ),
659
+ ...props
660
+ }
661
+ );
662
+ }
663
+ function TabsTrigger({
664
+ className,
665
+ ...props
666
+ }) {
667
+ return /* @__PURE__ */ jsx(
668
+ Tabs$1.Trigger,
669
+ {
670
+ "data-slot": "tabs-trigger",
671
+ className: cn(
672
+ "inline-flex items-center justify-center font-pretendard h-[52px] px-4 rounded-md transition-[background-color,color] duration-200 ease-in-out",
673
+ "bg-inactive-tab text-inactive-tab-text font-medium hover:bg-border",
674
+ "data-[state=active]:bg-primary data-[state=active]:text-white data-[state=active]:font-semibold",
675
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
676
+ className
677
+ ),
678
+ ...props
679
+ }
680
+ );
681
+ }
682
+ function TabsContent({
683
+ className,
684
+ ...props
685
+ }) {
686
+ return /* @__PURE__ */ jsx(
687
+ Tabs$1.Content,
688
+ {
689
+ "data-slot": "tabs-content",
690
+ className: cn("flex-1 outline-none", className),
691
+ ...props
692
+ }
693
+ );
694
+ }
695
+
696
+ export { Badge, Button, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Input, Label, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, badgeVariants, buttonVariants };
697
+ //# sourceMappingURL=chunk-2W3RBVMM.js.map
698
+ //# sourceMappingURL=chunk-2W3RBVMM.js.map