pelatform-ui 1.3.0 → 1.3.1

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.
@@ -0,0 +1,857 @@
1
+ "use client";
2
+
3
+ // src/ui/radix/dropdown-menu.tsx
4
+ import { CheckIcon, ChevronRightIcon } from "lucide-react";
5
+ import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
6
+ import { cn } from "@pelatform/utils";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function DropdownMenu({ ...props }) {
9
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
10
+ }
11
+ function DropdownMenuPortal({
12
+ ...props
13
+ }) {
14
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
15
+ }
16
+ function DropdownMenuTrigger({
17
+ ...props
18
+ }) {
19
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
20
+ }
21
+ function DropdownMenuContent({
22
+ className,
23
+ align = "start",
24
+ sideOffset = 4,
25
+ ...props
26
+ }) {
27
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
28
+ DropdownMenuPrimitive.Content,
29
+ {
30
+ "data-slot": "dropdown-menu-content",
31
+ sideOffset,
32
+ align,
33
+ className: cn(
34
+ "cn-dropdown-menu-content cn-menu-target z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-y-auto overflow-x-hidden data-[state=closed]:overflow-hidden",
35
+ className
36
+ ),
37
+ ...props
38
+ }
39
+ ) });
40
+ }
41
+ function DropdownMenuGroup({ ...props }) {
42
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
43
+ }
44
+ function DropdownMenuItem({
45
+ className,
46
+ inset,
47
+ variant = "default",
48
+ ...props
49
+ }) {
50
+ return /* @__PURE__ */ jsx(
51
+ DropdownMenuPrimitive.Item,
52
+ {
53
+ "data-slot": "dropdown-menu-item",
54
+ "data-inset": inset,
55
+ "data-variant": variant,
56
+ className: cn(
57
+ "cn-dropdown-menu-item group/dropdown-menu-item relative flex cursor-default select-none items-center outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
58
+ className
59
+ ),
60
+ ...props
61
+ }
62
+ );
63
+ }
64
+ function DropdownMenuCheckboxItem({
65
+ className,
66
+ children,
67
+ checked,
68
+ inset,
69
+ ...props
70
+ }) {
71
+ return /* @__PURE__ */ jsxs(
72
+ DropdownMenuPrimitive.CheckboxItem,
73
+ {
74
+ "data-slot": "dropdown-menu-checkbox-item",
75
+ "data-inset": inset,
76
+ className: cn(
77
+ "cn-dropdown-menu-checkbox-item relative flex cursor-default select-none items-center outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
78
+ className
79
+ ),
80
+ checked,
81
+ ...props,
82
+ children: [
83
+ /* @__PURE__ */ jsx(
84
+ "span",
85
+ {
86
+ className: "cn-dropdown-menu-item-indicator pointer-events-none",
87
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
88
+ children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
89
+ }
90
+ ),
91
+ children
92
+ ]
93
+ }
94
+ );
95
+ }
96
+ function DropdownMenuRadioGroup({
97
+ ...props
98
+ }) {
99
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props });
100
+ }
101
+ function DropdownMenuRadioItem({
102
+ className,
103
+ children,
104
+ inset,
105
+ ...props
106
+ }) {
107
+ return /* @__PURE__ */ jsxs(
108
+ DropdownMenuPrimitive.RadioItem,
109
+ {
110
+ "data-slot": "dropdown-menu-radio-item",
111
+ "data-inset": inset,
112
+ className: cn(
113
+ "cn-dropdown-menu-radio-item relative flex cursor-default select-none items-center outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
114
+ className
115
+ ),
116
+ ...props,
117
+ children: [
118
+ /* @__PURE__ */ jsx(
119
+ "span",
120
+ {
121
+ className: "cn-dropdown-menu-item-indicator pointer-events-none",
122
+ "data-slot": "dropdown-menu-radio-item-indicator",
123
+ children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
124
+ }
125
+ ),
126
+ children
127
+ ]
128
+ }
129
+ );
130
+ }
131
+ function DropdownMenuLabel({
132
+ className,
133
+ inset,
134
+ ...props
135
+ }) {
136
+ return /* @__PURE__ */ jsx(
137
+ DropdownMenuPrimitive.Label,
138
+ {
139
+ "data-slot": "dropdown-menu-label",
140
+ "data-inset": inset,
141
+ className: cn("cn-dropdown-menu-label", className),
142
+ ...props
143
+ }
144
+ );
145
+ }
146
+ function DropdownMenuSeparator({
147
+ className,
148
+ ...props
149
+ }) {
150
+ return /* @__PURE__ */ jsx(
151
+ DropdownMenuPrimitive.Separator,
152
+ {
153
+ "data-slot": "dropdown-menu-separator",
154
+ className: cn("cn-dropdown-menu-separator", className),
155
+ ...props
156
+ }
157
+ );
158
+ }
159
+ function DropdownMenuShortcut({ className, ...props }) {
160
+ return /* @__PURE__ */ jsx(
161
+ "span",
162
+ {
163
+ "data-slot": "dropdown-menu-shortcut",
164
+ className: cn("cn-dropdown-menu-shortcut", className),
165
+ ...props
166
+ }
167
+ );
168
+ }
169
+ function DropdownMenuSub({ ...props }) {
170
+ return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
171
+ }
172
+ function DropdownMenuSubTrigger({
173
+ className,
174
+ inset,
175
+ children,
176
+ ...props
177
+ }) {
178
+ return /* @__PURE__ */ jsxs(
179
+ DropdownMenuPrimitive.SubTrigger,
180
+ {
181
+ "data-slot": "dropdown-menu-sub-trigger",
182
+ "data-inset": inset,
183
+ className: cn(
184
+ "cn-dropdown-menu-sub-trigger flex cursor-default select-none items-center outline-hidden [&_svg]:pointer-events-none [&_svg]:shrink-0",
185
+ className
186
+ ),
187
+ ...props,
188
+ children: [
189
+ children,
190
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "cn-rtl-flip ml-auto" })
191
+ ]
192
+ }
193
+ );
194
+ }
195
+ function DropdownMenuSubContent({
196
+ className,
197
+ ...props
198
+ }) {
199
+ return /* @__PURE__ */ jsx(
200
+ DropdownMenuPrimitive.SubContent,
201
+ {
202
+ "data-slot": "dropdown-menu-sub-content",
203
+ className: cn(
204
+ "cn-dropdown-menu-sub-content cn-menu-target z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden",
205
+ className
206
+ ),
207
+ ...props
208
+ }
209
+ );
210
+ }
211
+
212
+ // src/ui/radix/button.tsx
213
+ import { cva } from "class-variance-authority";
214
+ import { Slot } from "radix-ui";
215
+ import { cn as cn2 } from "@pelatform/utils";
216
+ import { jsx as jsx2 } from "react/jsx-runtime";
217
+ var buttonVariants = cva(
218
+ "cn-button group/button inline-flex shrink-0 select-none items-center justify-center whitespace-nowrap outline-none transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
219
+ {
220
+ variants: {
221
+ variant: {
222
+ default: "cn-button-variant-default",
223
+ outline: "cn-button-variant-outline",
224
+ secondary: "cn-button-variant-secondary",
225
+ ghost: "cn-button-variant-ghost",
226
+ destructive: "cn-button-variant-destructive",
227
+ link: "cn-button-variant-link"
228
+ },
229
+ size: {
230
+ default: "cn-button-size-default",
231
+ xs: "cn-button-size-xs",
232
+ sm: "cn-button-size-sm",
233
+ lg: "cn-button-size-lg",
234
+ icon: "cn-button-size-icon",
235
+ "icon-xs": "cn-button-size-icon-xs",
236
+ "icon-sm": "cn-button-size-icon-sm",
237
+ "icon-lg": "cn-button-size-icon-lg"
238
+ }
239
+ },
240
+ defaultVariants: {
241
+ variant: "default",
242
+ size: "default"
243
+ }
244
+ }
245
+ );
246
+ function Button({
247
+ className,
248
+ variant = "default",
249
+ size = "default",
250
+ asChild = false,
251
+ ...props
252
+ }) {
253
+ const Comp = asChild ? Slot.Root : "button";
254
+ return /* @__PURE__ */ jsx2(
255
+ Comp,
256
+ {
257
+ "data-slot": "button",
258
+ "data-variant": variant,
259
+ "data-size": size,
260
+ className: cn2(buttonVariants({ variant, size, className })),
261
+ ...props
262
+ }
263
+ );
264
+ }
265
+
266
+ // src/ui/radix/collapsible.tsx
267
+ import { Collapsible as CollapsiblePrimitive } from "radix-ui";
268
+ import { jsx as jsx3 } from "react/jsx-runtime";
269
+ function Collapsible({ ...props }) {
270
+ return /* @__PURE__ */ jsx3(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
271
+ }
272
+ function CollapsibleTrigger({
273
+ ...props
274
+ }) {
275
+ return /* @__PURE__ */ jsx3(CollapsiblePrimitive.CollapsibleTrigger, { "data-slot": "collapsible-trigger", ...props });
276
+ }
277
+ function CollapsibleContent({
278
+ ...props
279
+ }) {
280
+ return /* @__PURE__ */ jsx3(CollapsiblePrimitive.CollapsibleContent, { "data-slot": "collapsible-content", ...props });
281
+ }
282
+
283
+ // src/ui/radix/drawer.tsx
284
+ import { Drawer as DrawerPrimitive } from "vaul";
285
+ import { cn as cn3 } from "@pelatform/utils";
286
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
287
+ function Drawer({ ...props }) {
288
+ return /* @__PURE__ */ jsx4(DrawerPrimitive.Root, { "data-slot": "drawer", ...props });
289
+ }
290
+ function DrawerTrigger({ ...props }) {
291
+ return /* @__PURE__ */ jsx4(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
292
+ }
293
+ function DrawerPortal({ ...props }) {
294
+ return /* @__PURE__ */ jsx4(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
295
+ }
296
+ function DrawerClose({ ...props }) {
297
+ return /* @__PURE__ */ jsx4(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
298
+ }
299
+ function DrawerOverlay({
300
+ className,
301
+ ...props
302
+ }) {
303
+ return /* @__PURE__ */ jsx4(
304
+ DrawerPrimitive.Overlay,
305
+ {
306
+ "data-slot": "drawer-overlay",
307
+ className: cn3("cn-drawer-overlay fixed inset-0 z-50", className),
308
+ ...props
309
+ }
310
+ );
311
+ }
312
+ function DrawerContent({
313
+ className,
314
+ children,
315
+ ...props
316
+ }) {
317
+ return /* @__PURE__ */ jsxs2(DrawerPortal, { "data-slot": "drawer-portal", children: [
318
+ /* @__PURE__ */ jsx4(DrawerOverlay, {}),
319
+ /* @__PURE__ */ jsxs2(
320
+ DrawerPrimitive.Content,
321
+ {
322
+ "data-slot": "drawer-content",
323
+ className: cn3("cn-drawer-content group/drawer-content fixed z-50", className),
324
+ ...props,
325
+ children: [
326
+ /* @__PURE__ */ jsx4("div", { className: "cn-drawer-handle mx-auto hidden shrink-0 group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
327
+ children
328
+ ]
329
+ }
330
+ )
331
+ ] });
332
+ }
333
+ function DrawerHeader({ className, ...props }) {
334
+ return /* @__PURE__ */ jsx4(
335
+ "div",
336
+ {
337
+ "data-slot": "drawer-header",
338
+ className: cn3("cn-drawer-header flex flex-col", className),
339
+ ...props
340
+ }
341
+ );
342
+ }
343
+ function DrawerFooter({ className, ...props }) {
344
+ return /* @__PURE__ */ jsx4(
345
+ "div",
346
+ {
347
+ "data-slot": "drawer-footer",
348
+ className: cn3("cn-drawer-footer mt-auto flex flex-col", className),
349
+ ...props
350
+ }
351
+ );
352
+ }
353
+ function DrawerTitle({ className, ...props }) {
354
+ return /* @__PURE__ */ jsx4(
355
+ DrawerPrimitive.Title,
356
+ {
357
+ "data-slot": "drawer-title",
358
+ className: cn3("cn-drawer-title", className),
359
+ ...props
360
+ }
361
+ );
362
+ }
363
+ function DrawerDescription({
364
+ className,
365
+ ...props
366
+ }) {
367
+ return /* @__PURE__ */ jsx4(
368
+ DrawerPrimitive.Description,
369
+ {
370
+ "data-slot": "drawer-description",
371
+ className: cn3("cn-drawer-description", className),
372
+ ...props
373
+ }
374
+ );
375
+ }
376
+
377
+ // src/ui/radix/alert.tsx
378
+ import { cva as cva2 } from "class-variance-authority";
379
+ import { cn as cn4 } from "@pelatform/utils";
380
+ import { jsx as jsx5 } from "react/jsx-runtime";
381
+ var alertVariants = cva2(
382
+ [
383
+ "relative grid w-full grid-cols-[0_1fr] items-center gap-y-0.5 border text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*3)_1fr] [&>svg:not([class*=size-])]:size-4",
384
+ "has-[>[data-slot=alert-title]+[data-slot=alert-description]]:[&_[data-slot=alert-action]]:sm:row-end-3",
385
+ "has-[>[data-slot=alert-title]+[data-slot=alert-description]]:items-start",
386
+ "has-[>[data-slot=alert-title]+[data-slot=alert-description]]:[&_svg]:translate-y-0.5",
387
+ "style-lyra:rounded-none style-maia:rounded-2xl style-mira:rounded-md style-nova:rounded-lg style-vega:rounded-lg",
388
+ "style-lyra:px-3 style-maia:px-3 style-mira:px-2 style-nova:px-3 style-vega:px-4",
389
+ "style-lyra:py-2 style-maia:py-3 style-mira:py-2 style-nova:py-2.5 style-vega:py-3",
390
+ "style-lyra:has-[>svg]:gap-x-2.5 style-maia:has-[>svg]:gap-x-2.5 style-mira:has-[>svg]:gap-x-2.5 style-nova:has-[>svg]:gap-x-2.5 style-vega:has-[>svg]:gap-x-3"
391
+ ],
392
+ {
393
+ variants: {
394
+ variant: {
395
+ default: "bg-card text-card-foreground",
396
+ destructive: "border-destructive/30 bg-destructive/4 [&>svg]:text-destructive",
397
+ info: "border-info/30 bg-info/4 [&>svg]:text-info",
398
+ success: "border-success/30 bg-success/4 [&>svg]:text-success",
399
+ warning: "border-warning/30 bg-warning/4 [&>svg]:text-warning",
400
+ invert: "border-invert bg-invert text-invert-foreground [&_[data-slot=alert-description]]:text-invert-foreground/70"
401
+ }
402
+ },
403
+ defaultVariants: {
404
+ variant: "default"
405
+ }
406
+ }
407
+ );
408
+ function Alert({
409
+ className,
410
+ variant,
411
+ ...props
412
+ }) {
413
+ return /* @__PURE__ */ jsx5(
414
+ "div",
415
+ {
416
+ "data-slot": "alert",
417
+ role: "alert",
418
+ className: cn4(alertVariants({ variant }), className),
419
+ ...props
420
+ }
421
+ );
422
+ }
423
+ function AlertTitle({ className, ...props }) {
424
+ return /* @__PURE__ */ jsx5(
425
+ "div",
426
+ {
427
+ "data-slot": "alert-title",
428
+ className: cn4("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", className),
429
+ ...props
430
+ }
431
+ );
432
+ }
433
+ function AlertDescription({ className, ...props }) {
434
+ return /* @__PURE__ */ jsx5(
435
+ "div",
436
+ {
437
+ "data-slot": "alert-description",
438
+ className: cn4(
439
+ "col-start-2 grid justify-items-start gap-1 text-muted-foreground text-sm [&_p]:leading-relaxed",
440
+ className
441
+ ),
442
+ ...props
443
+ }
444
+ );
445
+ }
446
+ function AlertAction({ className, ...props }) {
447
+ return /* @__PURE__ */ jsx5(
448
+ "div",
449
+ {
450
+ "data-slot": "alert-action",
451
+ className: cn4(
452
+ "flex gap-1.5 max-sm:col-start-2 max-sm:mt-2 max-sm:justify-start sm:col-start-3 sm:row-start-1 sm:justify-end sm:self-center",
453
+ className
454
+ ),
455
+ ...props
456
+ }
457
+ );
458
+ }
459
+
460
+ // src/ui/radix/tooltip.tsx
461
+ import { Tooltip as TooltipPrimitive } from "radix-ui";
462
+ import { cn as cn5 } from "@pelatform/utils";
463
+ import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
464
+ function TooltipProvider({
465
+ delayDuration = 0,
466
+ ...props
467
+ }) {
468
+ return /* @__PURE__ */ jsx6(
469
+ TooltipPrimitive.Provider,
470
+ {
471
+ "data-slot": "tooltip-provider",
472
+ delayDuration,
473
+ ...props
474
+ }
475
+ );
476
+ }
477
+ function Tooltip({ ...props }) {
478
+ return /* @__PURE__ */ jsx6(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
479
+ }
480
+ function TooltipTrigger({ ...props }) {
481
+ return /* @__PURE__ */ jsx6(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
482
+ }
483
+ function TooltipContent({
484
+ className,
485
+ sideOffset = 0,
486
+ children,
487
+ ...props
488
+ }) {
489
+ return /* @__PURE__ */ jsx6(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs3(
490
+ TooltipPrimitive.Content,
491
+ {
492
+ "data-slot": "tooltip-content",
493
+ sideOffset,
494
+ className: cn5(
495
+ "cn-tooltip-content z-50 w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) bg-foreground text-background",
496
+ className
497
+ ),
498
+ ...props,
499
+ children: [
500
+ children,
501
+ /* @__PURE__ */ jsx6(TooltipPrimitive.Arrow, { className: "cn-tooltip-arrow z-50 translate-y-[calc(-50%_-_2px)] bg-foreground fill-foreground" })
502
+ ]
503
+ }
504
+ ) });
505
+ }
506
+
507
+ // src/ui/radix/alert-dialog.tsx
508
+ import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
509
+ import { cn as cn6 } from "@pelatform/utils";
510
+ import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
511
+ function AlertDialog({ ...props }) {
512
+ return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
513
+ }
514
+ function AlertDialogTrigger({
515
+ ...props
516
+ }) {
517
+ return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
518
+ }
519
+ function AlertDialogPortal({ ...props }) {
520
+ return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
521
+ }
522
+ function AlertDialogOverlay({
523
+ className,
524
+ ...props
525
+ }) {
526
+ return /* @__PURE__ */ jsx7(
527
+ AlertDialogPrimitive.Overlay,
528
+ {
529
+ "data-slot": "alert-dialog-overlay",
530
+ className: cn6("cn-alert-dialog-overlay fixed inset-0 z-50", className),
531
+ ...props
532
+ }
533
+ );
534
+ }
535
+ function AlertDialogContent({
536
+ className,
537
+ size = "default",
538
+ ...props
539
+ }) {
540
+ return /* @__PURE__ */ jsxs4(AlertDialogPortal, { children: [
541
+ /* @__PURE__ */ jsx7(AlertDialogOverlay, {}),
542
+ /* @__PURE__ */ jsx7(
543
+ AlertDialogPrimitive.Content,
544
+ {
545
+ "data-slot": "alert-dialog-content",
546
+ "data-size": size,
547
+ className: cn6(
548
+ "cn-alert-dialog-content group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none",
549
+ className
550
+ ),
551
+ ...props
552
+ }
553
+ )
554
+ ] });
555
+ }
556
+ function AlertDialogHeader({ className, ...props }) {
557
+ return /* @__PURE__ */ jsx7(
558
+ "div",
559
+ {
560
+ "data-slot": "alert-dialog-header",
561
+ className: cn6("cn-alert-dialog-header", className),
562
+ ...props
563
+ }
564
+ );
565
+ }
566
+ function AlertDialogFooter({ className, ...props }) {
567
+ return /* @__PURE__ */ jsx7(
568
+ "div",
569
+ {
570
+ "data-slot": "alert-dialog-footer",
571
+ className: cn6(
572
+ "cn-alert-dialog-footer flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
573
+ className
574
+ ),
575
+ ...props
576
+ }
577
+ );
578
+ }
579
+ function AlertDialogMedia({ className, ...props }) {
580
+ return /* @__PURE__ */ jsx7(
581
+ "div",
582
+ {
583
+ "data-slot": "alert-dialog-media",
584
+ className: cn6("cn-alert-dialog-media", className),
585
+ ...props
586
+ }
587
+ );
588
+ }
589
+ function AlertDialogTitle({
590
+ className,
591
+ ...props
592
+ }) {
593
+ return /* @__PURE__ */ jsx7(
594
+ AlertDialogPrimitive.Title,
595
+ {
596
+ "data-slot": "alert-dialog-title",
597
+ className: cn6("cn-alert-dialog-title", className),
598
+ ...props
599
+ }
600
+ );
601
+ }
602
+ function AlertDialogDescription({
603
+ className,
604
+ ...props
605
+ }) {
606
+ return /* @__PURE__ */ jsx7(
607
+ AlertDialogPrimitive.Description,
608
+ {
609
+ "data-slot": "alert-dialog-description",
610
+ className: cn6("cn-alert-dialog-description", className),
611
+ ...props
612
+ }
613
+ );
614
+ }
615
+ function AlertDialogAction({
616
+ className,
617
+ variant = "default",
618
+ size = "default",
619
+ ...props
620
+ }) {
621
+ return /* @__PURE__ */ jsx7(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsx7(
622
+ AlertDialogPrimitive.Action,
623
+ {
624
+ "data-slot": "alert-dialog-action",
625
+ className: cn6("cn-alert-dialog-action", className),
626
+ ...props
627
+ }
628
+ ) });
629
+ }
630
+ function AlertDialogCancel({
631
+ className,
632
+ variant = "outline",
633
+ size = "default",
634
+ ...props
635
+ }) {
636
+ return /* @__PURE__ */ jsx7(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsx7(
637
+ AlertDialogPrimitive.Cancel,
638
+ {
639
+ "data-slot": "alert-dialog-cancel",
640
+ className: cn6("cn-alert-dialog-cancel", className),
641
+ ...props
642
+ }
643
+ ) });
644
+ }
645
+
646
+ // src/ui/radix/badge.tsx
647
+ import { cva as cva3 } from "class-variance-authority";
648
+ import { Slot as Slot2 } from "radix-ui";
649
+ import { cn as cn7 } from "@pelatform/utils";
650
+ import { jsx as jsx8 } from "react/jsx-runtime";
651
+ var badgeVariants = cva3(
652
+ "relative inline-flex w-fit shrink-0 items-center justify-center whitespace-nowrap style-lyra:rounded-none style-maia:rounded-4xl style-mira:rounded-sm style-nova:rounded-sm style-vega:rounded-sm border border-transparent font-medium outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 [&_svg:not([class*=size-])]:size-3 [&_svg]:pointer-events-none [&_svg]:shrink-0",
653
+ {
654
+ variants: {
655
+ variant: {
656
+ default: "bg-primary text-primary-foreground",
657
+ outline: "border-border bg-transparent dark:bg-input/32",
658
+ secondary: "bg-secondary text-secondary-foreground",
659
+ info: "bg-info text-white",
660
+ success: "bg-success text-white",
661
+ warning: "bg-warning text-white",
662
+ destructive: "bg-destructive text-white",
663
+ focus: "bg-focus text-focus-foreground",
664
+ invert: "bg-invert text-invert-foreground",
665
+ "primary-light": "border-none bg-primary/10 text-primary dark:bg-primary/20",
666
+ "warning-light": "border-none bg-warning/10 text-warning-foreground dark:bg-warning/20",
667
+ "success-light": "border-none bg-success/10 text-success-foreground dark:bg-success/20",
668
+ "info-light": "border-none bg-info/10 text-info-foreground dark:bg-info/20",
669
+ "destructive-light": "border-none bg-destructive/10 text-destructive-foreground dark:bg-destructive/20",
670
+ "invert-light": "border-none bg-invert/10 text-foreground dark:bg-invert/20",
671
+ "focus-light": "border-none bg-focus/10 text-focus-foreground dark:bg-focus/20",
672
+ "primary-outline": "border-border bg-background text-primary dark:bg-input/30",
673
+ "warning-outline": "border-border bg-background text-warning-foreground dark:bg-input/30",
674
+ "success-outline": "border-border bg-background text-success-foreground dark:bg-input/30",
675
+ "info-outline": "border-border bg-background text-info-foreground dark:bg-input/30",
676
+ "destructive-outline": "border-border bg-background text-destructive-foreground dark:bg-input/30",
677
+ "invert-outline": "border-border bg-background text-invert-foreground dark:bg-input/30",
678
+ "focus-outline": "border-border bg-background text-focus-foreground dark:bg-input/30"
679
+ },
680
+ size: {
681
+ xs: "h-4 min-w-4 gap-1 px-1 py-0.25 text-[0.6rem] leading-none",
682
+ sm: "h-4.5 min-w-4.5 gap-1 px-1 py-0.25 text-[0.625rem] leading-none",
683
+ default: "h-5 min-w-5 gap-1 px-1.25 py-0.5 text-xs",
684
+ lg: "h-5.5 min-w-5.5 gap-1 px-1.5 py-0.5 text-xs",
685
+ xl: "h-6 min-w-6 gap-1.5 px-2 py-0.75 text-sm"
686
+ }
687
+ },
688
+ defaultVariants: {
689
+ variant: "default",
690
+ size: "default"
691
+ }
692
+ }
693
+ );
694
+ function Badge({ className, variant, size, asChild = false, ...props }) {
695
+ const Comp = asChild ? Slot2.Root : "span";
696
+ return /* @__PURE__ */ jsx8(
697
+ Comp,
698
+ {
699
+ "data-slot": "badge",
700
+ className: cn7(badgeVariants({ variant, size, className })),
701
+ ...props
702
+ }
703
+ );
704
+ }
705
+
706
+ // src/ui/radix/avatar.tsx
707
+ import { Avatar as AvatarPrimitive } from "radix-ui";
708
+ import { cn as cn8 } from "@pelatform/utils";
709
+ import { jsx as jsx9 } from "react/jsx-runtime";
710
+ function Avatar({
711
+ className,
712
+ size = "default",
713
+ ...props
714
+ }) {
715
+ return /* @__PURE__ */ jsx9(
716
+ AvatarPrimitive.Root,
717
+ {
718
+ "data-slot": "avatar",
719
+ "data-size": size,
720
+ className: cn8(
721
+ "cn-avatar group/avatar relative flex shrink-0 select-none after:absolute after:inset-0 after:border after:border-border after:mix-blend-darken dark:after:mix-blend-lighten",
722
+ className
723
+ ),
724
+ ...props
725
+ }
726
+ );
727
+ }
728
+ function AvatarImage({ className, ...props }) {
729
+ return /* @__PURE__ */ jsx9(
730
+ AvatarPrimitive.Image,
731
+ {
732
+ "data-slot": "avatar-image",
733
+ className: cn8("cn-avatar-image aspect-square size-full object-cover", className),
734
+ ...props
735
+ }
736
+ );
737
+ }
738
+ function AvatarFallback({
739
+ className,
740
+ ...props
741
+ }) {
742
+ return /* @__PURE__ */ jsx9(
743
+ AvatarPrimitive.Fallback,
744
+ {
745
+ "data-slot": "avatar-fallback",
746
+ className: cn8(
747
+ "cn-avatar-fallback flex size-full items-center justify-center text-sm group-data-[size=sm]/avatar:text-xs",
748
+ className
749
+ ),
750
+ ...props
751
+ }
752
+ );
753
+ }
754
+ function AvatarBadge({ className, ...props }) {
755
+ return /* @__PURE__ */ jsx9(
756
+ "span",
757
+ {
758
+ "data-slot": "avatar-badge",
759
+ className: cn8(
760
+ "cn-avatar-badge absolute right-0 bottom-0 z-10 inline-flex select-none items-center justify-center rounded-full bg-blend-color ring-2",
761
+ "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
762
+ "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
763
+ "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
764
+ className
765
+ ),
766
+ ...props
767
+ }
768
+ );
769
+ }
770
+ function AvatarGroup({ className, ...props }) {
771
+ return /* @__PURE__ */ jsx9(
772
+ "div",
773
+ {
774
+ "data-slot": "avatar-group",
775
+ className: cn8(
776
+ "cn-avatar-group group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
777
+ className
778
+ ),
779
+ ...props
780
+ }
781
+ );
782
+ }
783
+ function AvatarGroupCount({ className, ...props }) {
784
+ return /* @__PURE__ */ jsx9(
785
+ "div",
786
+ {
787
+ "data-slot": "avatar-group-count",
788
+ className: cn8(
789
+ "cn-avatar-group-count relative flex shrink-0 items-center justify-center ring-2 ring-background",
790
+ "",
791
+ className
792
+ ),
793
+ ...props
794
+ }
795
+ );
796
+ }
797
+
798
+ export {
799
+ DropdownMenu,
800
+ DropdownMenuPortal,
801
+ DropdownMenuTrigger,
802
+ DropdownMenuContent,
803
+ DropdownMenuGroup,
804
+ DropdownMenuItem,
805
+ DropdownMenuCheckboxItem,
806
+ DropdownMenuRadioGroup,
807
+ DropdownMenuRadioItem,
808
+ DropdownMenuLabel,
809
+ DropdownMenuSeparator,
810
+ DropdownMenuShortcut,
811
+ DropdownMenuSub,
812
+ DropdownMenuSubTrigger,
813
+ DropdownMenuSubContent,
814
+ buttonVariants,
815
+ Button,
816
+ Collapsible,
817
+ CollapsibleTrigger,
818
+ CollapsibleContent,
819
+ Drawer,
820
+ DrawerTrigger,
821
+ DrawerPortal,
822
+ DrawerClose,
823
+ DrawerOverlay,
824
+ DrawerContent,
825
+ DrawerHeader,
826
+ DrawerFooter,
827
+ DrawerTitle,
828
+ DrawerDescription,
829
+ Alert,
830
+ AlertTitle,
831
+ AlertDescription,
832
+ AlertAction,
833
+ TooltipProvider,
834
+ Tooltip,
835
+ TooltipTrigger,
836
+ TooltipContent,
837
+ AlertDialog,
838
+ AlertDialogTrigger,
839
+ AlertDialogPortal,
840
+ AlertDialogOverlay,
841
+ AlertDialogContent,
842
+ AlertDialogHeader,
843
+ AlertDialogFooter,
844
+ AlertDialogMedia,
845
+ AlertDialogTitle,
846
+ AlertDialogDescription,
847
+ AlertDialogAction,
848
+ AlertDialogCancel,
849
+ badgeVariants,
850
+ Badge,
851
+ Avatar,
852
+ AvatarImage,
853
+ AvatarFallback,
854
+ AvatarBadge,
855
+ AvatarGroup,
856
+ AvatarGroupCount
857
+ };