@conscia-labs/design-system 0.2.0 → 0.3.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.
- package/README.md +48 -0
- package/dist/{card-DqFHjLjm.d.ts → card-BFUHJgV-.d.ts} +3 -1
- package/dist/{chunk-5MGPU2JE.js → chunk-6VZDLHRF.js} +143 -25
- package/dist/chunk-6VZDLHRF.js.map +1 -0
- package/dist/{chunk-YHPZ5CQU.js → chunk-HLND6FZS.js} +89 -69
- package/dist/chunk-HLND6FZS.js.map +1 -0
- package/dist/{chunk-CU3OXBFI.js → chunk-VVTTFVCC.js} +37 -56
- package/dist/chunk-VVTTFVCC.js.map +1 -0
- package/dist/foundation.css +85 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +6 -4
- package/dist/patterns/index.d.ts +20 -4
- package/dist/patterns/index.js +4 -2
- package/dist/primitives/index.d.ts +2 -4
- package/dist/primitives/index.js +3 -3
- package/dist/standalone.css +1 -1
- package/dist/styles.css +85 -0
- package/package.json +1 -1
- package/dist/chunk-5MGPU2JE.js.map +0 -1
- package/dist/chunk-CU3OXBFI.js.map +0 -1
- package/dist/chunk-YHPZ5CQU.js.map +0 -1
|
@@ -232,16 +232,35 @@ function SelectScrollDownButton({ className, ...props }) {
|
|
|
232
232
|
return /* @__PURE__ */ jsx4(SelectPrimitive.ScrollDownButton, { "data-slot": "select-scroll-down-button", className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: /* @__PURE__ */ jsx4(ChevronDownIcon, { className: "size-4" }) });
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
+
// src/primitives/input.tsx
|
|
236
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
237
|
+
function Input({ className, type, ...props }) {
|
|
238
|
+
return /* @__PURE__ */ jsx5(
|
|
239
|
+
"input",
|
|
240
|
+
{
|
|
241
|
+
type,
|
|
242
|
+
"data-slot": "input",
|
|
243
|
+
className: cn(
|
|
244
|
+
"border-input bg-card flex h-[var(--ds-field-control-height)] w-full min-w-0 rounded-[var(--ds-field-control-radius)] border px-[var(--ds-field-control-padding-x)] py-2 text-base shadow-none transition-colors outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
245
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
246
|
+
"aria-invalid:border-danger aria-invalid:ring-danger/20 dark:aria-invalid:ring-danger/40",
|
|
247
|
+
className
|
|
248
|
+
),
|
|
249
|
+
...props
|
|
250
|
+
}
|
|
251
|
+
);
|
|
252
|
+
}
|
|
253
|
+
|
|
235
254
|
// src/primitives/separator.tsx
|
|
236
255
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
237
|
-
import { jsx as
|
|
256
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
238
257
|
function Separator2({
|
|
239
258
|
className,
|
|
240
259
|
orientation = "horizontal",
|
|
241
260
|
decorative = true,
|
|
242
261
|
...props
|
|
243
262
|
}) {
|
|
244
|
-
return /* @__PURE__ */
|
|
263
|
+
return /* @__PURE__ */ jsx6(
|
|
245
264
|
SeparatorPrimitive.Root,
|
|
246
265
|
{
|
|
247
266
|
"data-slot": "separator",
|
|
@@ -259,30 +278,30 @@ function Separator2({
|
|
|
259
278
|
// src/primitives/sheet.tsx
|
|
260
279
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
261
280
|
import { XIcon } from "lucide-react";
|
|
262
|
-
import { jsx as
|
|
281
|
+
import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
263
282
|
function Sheet({ ...props }) {
|
|
264
|
-
return /* @__PURE__ */
|
|
283
|
+
return /* @__PURE__ */ jsx7(DialogPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
265
284
|
}
|
|
266
285
|
function SheetTrigger({
|
|
267
286
|
...props
|
|
268
287
|
}) {
|
|
269
|
-
return /* @__PURE__ */
|
|
288
|
+
return /* @__PURE__ */ jsx7(DialogPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
270
289
|
}
|
|
271
290
|
function SheetPortal({
|
|
272
291
|
...props
|
|
273
292
|
}) {
|
|
274
|
-
return /* @__PURE__ */
|
|
293
|
+
return /* @__PURE__ */ jsx7(DialogPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
275
294
|
}
|
|
276
295
|
function SheetClose({
|
|
277
296
|
...props
|
|
278
297
|
}) {
|
|
279
|
-
return /* @__PURE__ */
|
|
298
|
+
return /* @__PURE__ */ jsx7(DialogPrimitive.Close, { "data-slot": "sheet-close", ...props });
|
|
280
299
|
}
|
|
281
300
|
function SheetOverlay({
|
|
282
301
|
className,
|
|
283
302
|
...props
|
|
284
303
|
}) {
|
|
285
|
-
return /* @__PURE__ */
|
|
304
|
+
return /* @__PURE__ */ jsx7(
|
|
286
305
|
DialogPrimitive.Overlay,
|
|
287
306
|
{
|
|
288
307
|
"data-slot": "sheet-overlay",
|
|
@@ -305,7 +324,7 @@ function SheetContent({
|
|
|
305
324
|
...props
|
|
306
325
|
}) {
|
|
307
326
|
return /* @__PURE__ */ jsxs2(SheetPortal, { children: [
|
|
308
|
-
/* @__PURE__ */
|
|
327
|
+
/* @__PURE__ */ jsx7(SheetOverlay, {}),
|
|
309
328
|
/* @__PURE__ */ jsxs2(
|
|
310
329
|
DialogPrimitive.Content,
|
|
311
330
|
{
|
|
@@ -324,8 +343,8 @@ function SheetContent({
|
|
|
324
343
|
"data-slot": "sheet-close",
|
|
325
344
|
className: "absolute right-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
326
345
|
children: [
|
|
327
|
-
/* @__PURE__ */
|
|
328
|
-
/* @__PURE__ */
|
|
346
|
+
/* @__PURE__ */ jsx7(XIcon, {}),
|
|
347
|
+
/* @__PURE__ */ jsx7("span", { className: "sr-only", children: closeLabel })
|
|
329
348
|
]
|
|
330
349
|
}
|
|
331
350
|
)
|
|
@@ -335,13 +354,13 @@ function SheetContent({
|
|
|
335
354
|
] });
|
|
336
355
|
}
|
|
337
356
|
function SheetHeader({ className, ...props }) {
|
|
338
|
-
return /* @__PURE__ */
|
|
357
|
+
return /* @__PURE__ */ jsx7("div", { "data-slot": "sheet-header", className: cn("grid gap-2 pr-8", className), ...props });
|
|
339
358
|
}
|
|
340
359
|
function SheetTitle({
|
|
341
360
|
className,
|
|
342
361
|
...props
|
|
343
362
|
}) {
|
|
344
|
-
return /* @__PURE__ */
|
|
363
|
+
return /* @__PURE__ */ jsx7(
|
|
345
364
|
DialogPrimitive.Title,
|
|
346
365
|
{
|
|
347
366
|
"data-slot": "sheet-title",
|
|
@@ -354,7 +373,7 @@ function SheetDescription({
|
|
|
354
373
|
className,
|
|
355
374
|
...props
|
|
356
375
|
}) {
|
|
357
|
-
return /* @__PURE__ */
|
|
376
|
+
return /* @__PURE__ */ jsx7(
|
|
358
377
|
DialogPrimitive.Description,
|
|
359
378
|
{
|
|
360
379
|
"data-slot": "sheet-description",
|
|
@@ -364,7 +383,7 @@ function SheetDescription({
|
|
|
364
383
|
);
|
|
365
384
|
}
|
|
366
385
|
function SheetBody({ className, ...props }) {
|
|
367
|
-
return /* @__PURE__ */
|
|
386
|
+
return /* @__PURE__ */ jsx7(
|
|
368
387
|
"div",
|
|
369
388
|
{
|
|
370
389
|
"data-slot": "sheet-body",
|
|
@@ -374,7 +393,7 @@ function SheetBody({ className, ...props }) {
|
|
|
374
393
|
);
|
|
375
394
|
}
|
|
376
395
|
function SheetFooter({ className, ...props }) {
|
|
377
|
-
return /* @__PURE__ */
|
|
396
|
+
return /* @__PURE__ */ jsx7(
|
|
378
397
|
"div",
|
|
379
398
|
{
|
|
380
399
|
"data-slot": "sheet-footer",
|
|
@@ -386,15 +405,15 @@ function SheetFooter({ className, ...props }) {
|
|
|
386
405
|
|
|
387
406
|
// src/primitives/tooltip.tsx
|
|
388
407
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
389
|
-
import { jsx as
|
|
408
|
+
import { jsx as jsx8, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
390
409
|
function TooltipProvider({ delayDuration = 150, ...props }) {
|
|
391
|
-
return /* @__PURE__ */
|
|
410
|
+
return /* @__PURE__ */ jsx8(TooltipPrimitive.Provider, { "data-slot": "tooltip-provider", delayDuration, ...props });
|
|
392
411
|
}
|
|
393
412
|
function Tooltip({ ...props }) {
|
|
394
|
-
return /* @__PURE__ */
|
|
413
|
+
return /* @__PURE__ */ jsx8(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
|
|
395
414
|
}
|
|
396
415
|
function TooltipTrigger({ ...props }) {
|
|
397
|
-
return /* @__PURE__ */
|
|
416
|
+
return /* @__PURE__ */ jsx8(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
398
417
|
}
|
|
399
418
|
function TooltipContent({
|
|
400
419
|
className,
|
|
@@ -402,7 +421,7 @@ function TooltipContent({
|
|
|
402
421
|
children,
|
|
403
422
|
...props
|
|
404
423
|
}) {
|
|
405
|
-
return /* @__PURE__ */
|
|
424
|
+
return /* @__PURE__ */ jsx8(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs3(
|
|
406
425
|
TooltipPrimitive.Content,
|
|
407
426
|
{
|
|
408
427
|
"data-slot": "tooltip-content",
|
|
@@ -411,7 +430,7 @@ function TooltipContent({
|
|
|
411
430
|
...props,
|
|
412
431
|
children: [
|
|
413
432
|
children,
|
|
414
|
-
/* @__PURE__ */
|
|
433
|
+
/* @__PURE__ */ jsx8(TooltipPrimitive.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" })
|
|
415
434
|
]
|
|
416
435
|
}
|
|
417
436
|
) });
|
|
@@ -420,21 +439,21 @@ function TooltipContent({
|
|
|
420
439
|
// src/primitives/dialog.tsx
|
|
421
440
|
import * as DialogPrimitive2 from "@radix-ui/react-dialog";
|
|
422
441
|
import { XIcon as XIcon2 } from "lucide-react";
|
|
423
|
-
import { jsx as
|
|
442
|
+
import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
424
443
|
function Dialog({ ...props }) {
|
|
425
|
-
return /* @__PURE__ */
|
|
444
|
+
return /* @__PURE__ */ jsx9(DialogPrimitive2.Root, { "data-slot": "dialog", ...props });
|
|
426
445
|
}
|
|
427
446
|
function DialogTrigger({ ...props }) {
|
|
428
|
-
return /* @__PURE__ */
|
|
447
|
+
return /* @__PURE__ */ jsx9(DialogPrimitive2.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
429
448
|
}
|
|
430
449
|
function DialogClose({ ...props }) {
|
|
431
|
-
return /* @__PURE__ */
|
|
450
|
+
return /* @__PURE__ */ jsx9(DialogPrimitive2.Close, { "data-slot": "dialog-close", ...props });
|
|
432
451
|
}
|
|
433
452
|
function DialogPortal({ ...props }) {
|
|
434
|
-
return /* @__PURE__ */
|
|
453
|
+
return /* @__PURE__ */ jsx9(DialogPrimitive2.Portal, { "data-slot": "dialog-portal", ...props });
|
|
435
454
|
}
|
|
436
455
|
function DialogOverlay({ className, ...props }) {
|
|
437
|
-
return /* @__PURE__ */
|
|
456
|
+
return /* @__PURE__ */ jsx9(DialogPrimitive2.Overlay, { "data-slot": "dialog-overlay", className: cn("fixed inset-0 z-50 bg-black/50", className), ...props });
|
|
438
457
|
}
|
|
439
458
|
function DialogContent({
|
|
440
459
|
className,
|
|
@@ -445,7 +464,7 @@ function DialogContent({
|
|
|
445
464
|
...props
|
|
446
465
|
}) {
|
|
447
466
|
return /* @__PURE__ */ jsxs4(DialogPortal, { children: [
|
|
448
|
-
/* @__PURE__ */
|
|
467
|
+
/* @__PURE__ */ jsx9(DialogOverlay, {}),
|
|
449
468
|
/* @__PURE__ */ jsxs4(
|
|
450
469
|
DialogPrimitive2.Content,
|
|
451
470
|
{
|
|
@@ -465,8 +484,8 @@ function DialogContent({
|
|
|
465
484
|
"data-slot": "dialog-close",
|
|
466
485
|
className: "absolute right-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
467
486
|
children: [
|
|
468
|
-
/* @__PURE__ */
|
|
469
|
-
/* @__PURE__ */
|
|
487
|
+
/* @__PURE__ */ jsx9(XIcon2, { className: "size-4" }),
|
|
488
|
+
/* @__PURE__ */ jsx9("span", { className: "sr-only", children: closeLabel })
|
|
470
489
|
]
|
|
471
490
|
}
|
|
472
491
|
) : null
|
|
@@ -476,26 +495,26 @@ function DialogContent({
|
|
|
476
495
|
] });
|
|
477
496
|
}
|
|
478
497
|
function DialogHeader({ className, ...props }) {
|
|
479
|
-
return /* @__PURE__ */
|
|
498
|
+
return /* @__PURE__ */ jsx9("div", { "data-slot": "dialog-header", className: cn("flex flex-col gap-2 text-left", className), ...props });
|
|
480
499
|
}
|
|
481
500
|
function DialogTitle({ className, ...props }) {
|
|
482
|
-
return /* @__PURE__ */
|
|
501
|
+
return /* @__PURE__ */ jsx9(DialogPrimitive2.Title, { "data-slot": "dialog-title", className: cn("text-base font-semibold leading-none", className), ...props });
|
|
483
502
|
}
|
|
484
503
|
function DialogDescription({ className, ...props }) {
|
|
485
|
-
return /* @__PURE__ */
|
|
504
|
+
return /* @__PURE__ */ jsx9(DialogPrimitive2.Description, { "data-slot": "dialog-description", className: cn("text-sm text-muted-foreground", className), ...props });
|
|
486
505
|
}
|
|
487
506
|
function DialogBody({ className, ...props }) {
|
|
488
|
-
return /* @__PURE__ */
|
|
507
|
+
return /* @__PURE__ */ jsx9("div", { "data-slot": "dialog-body", className: cn("min-h-0 overflow-y-auto text-sm", className), ...props });
|
|
489
508
|
}
|
|
490
509
|
function DialogFooter({ className, ...props }) {
|
|
491
|
-
return /* @__PURE__ */
|
|
510
|
+
return /* @__PURE__ */ jsx9("div", { "data-slot": "dialog-footer", className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className), ...props });
|
|
492
511
|
}
|
|
493
512
|
|
|
494
513
|
// src/primitives/tabs.tsx
|
|
495
514
|
import * as React from "react";
|
|
496
515
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
497
516
|
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
498
|
-
import { jsx as
|
|
517
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
499
518
|
var defaultTabsVisualContext = {
|
|
500
519
|
variant: "underline",
|
|
501
520
|
size: "default"
|
|
@@ -546,7 +565,7 @@ function Tabs({
|
|
|
546
565
|
size = "default",
|
|
547
566
|
...props
|
|
548
567
|
}) {
|
|
549
|
-
return /* @__PURE__ */
|
|
568
|
+
return /* @__PURE__ */ jsx10(TabsRootVisualContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ jsx10(
|
|
550
569
|
TabsPrimitive.Root,
|
|
551
570
|
{
|
|
552
571
|
"data-slot": "tabs",
|
|
@@ -570,7 +589,7 @@ function TabsList({
|
|
|
570
589
|
const resolvedVariant = variant ?? rootVisuals.variant;
|
|
571
590
|
const resolvedSize = size ?? rootVisuals.size;
|
|
572
591
|
const [scrollPosition, scrollRailRef, updateScrollPosition] = useHorizontalScrollRail(externalRef);
|
|
573
|
-
return /* @__PURE__ */
|
|
592
|
+
return /* @__PURE__ */ jsx10(
|
|
574
593
|
TabsPrimitive.List,
|
|
575
594
|
{
|
|
576
595
|
"data-slot": "tabs-list",
|
|
@@ -590,7 +609,7 @@ function TabsList({
|
|
|
590
609
|
className
|
|
591
610
|
),
|
|
592
611
|
...props,
|
|
593
|
-
children: /* @__PURE__ */
|
|
612
|
+
children: /* @__PURE__ */ jsx10(
|
|
594
613
|
TabsListVisualContext.Provider,
|
|
595
614
|
{
|
|
596
615
|
value: { variant: resolvedVariant, size: resolvedSize },
|
|
@@ -609,7 +628,7 @@ function TabsTrigger({
|
|
|
609
628
|
const listVisuals = React.useContext(TabsListVisualContext);
|
|
610
629
|
const resolvedVariant = variant ?? listVisuals.variant;
|
|
611
630
|
const resolvedSize = size ?? listVisuals.size;
|
|
612
|
-
return /* @__PURE__ */
|
|
631
|
+
return /* @__PURE__ */ jsx10(
|
|
613
632
|
TabsPrimitive.Trigger,
|
|
614
633
|
{
|
|
615
634
|
"data-slot": "tabs-trigger",
|
|
@@ -632,7 +651,7 @@ function TabsContent({
|
|
|
632
651
|
className,
|
|
633
652
|
...props
|
|
634
653
|
}) {
|
|
635
|
-
return /* @__PURE__ */
|
|
654
|
+
return /* @__PURE__ */ jsx10(
|
|
636
655
|
TabsPrimitive.Content,
|
|
637
656
|
{
|
|
638
657
|
"data-slot": "tabs-content",
|
|
@@ -648,7 +667,7 @@ function NavigationTabs({
|
|
|
648
667
|
className,
|
|
649
668
|
...props
|
|
650
669
|
}) {
|
|
651
|
-
return /* @__PURE__ */
|
|
670
|
+
return /* @__PURE__ */ jsx10(
|
|
652
671
|
"nav",
|
|
653
672
|
{
|
|
654
673
|
"data-slot": "navigation-tabs",
|
|
@@ -664,7 +683,7 @@ function NavigationTabsList({
|
|
|
664
683
|
...props
|
|
665
684
|
}) {
|
|
666
685
|
const [scrollPosition, scrollRailRef, updateScrollPosition] = useHorizontalScrollRail(externalRef);
|
|
667
|
-
return /* @__PURE__ */
|
|
686
|
+
return /* @__PURE__ */ jsx10(
|
|
668
687
|
"div",
|
|
669
688
|
{
|
|
670
689
|
"data-slot": "navigation-tabs-list",
|
|
@@ -707,7 +726,7 @@ function NavigationTab({
|
|
|
707
726
|
inline: "nearest"
|
|
708
727
|
});
|
|
709
728
|
}, [active]);
|
|
710
|
-
return /* @__PURE__ */
|
|
729
|
+
return /* @__PURE__ */ jsx10(
|
|
711
730
|
Comp,
|
|
712
731
|
{
|
|
713
732
|
...props,
|
|
@@ -724,9 +743,9 @@ function NavigationTab({
|
|
|
724
743
|
}
|
|
725
744
|
|
|
726
745
|
// src/primitives/card.tsx
|
|
727
|
-
import { jsx as
|
|
746
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
728
747
|
function Card({ className, ...props }) {
|
|
729
|
-
return /* @__PURE__ */
|
|
748
|
+
return /* @__PURE__ */ jsx11(
|
|
730
749
|
"div",
|
|
731
750
|
{
|
|
732
751
|
"data-slot": "card",
|
|
@@ -736,22 +755,22 @@ function Card({ className, ...props }) {
|
|
|
736
755
|
);
|
|
737
756
|
}
|
|
738
757
|
function CardHeader({ className, ...props }) {
|
|
739
|
-
return /* @__PURE__ */
|
|
758
|
+
return /* @__PURE__ */ jsx11("div", { "data-slot": "card-header", className: cn("grid auto-rows-min gap-1.5 px-[var(--ds-surface-padding)]", className), ...props });
|
|
740
759
|
}
|
|
741
760
|
function CardTitle({ className, ...props }) {
|
|
742
|
-
return /* @__PURE__ */
|
|
761
|
+
return /* @__PURE__ */ jsx11("div", { "data-slot": "card-title", className: cn("font-semibold leading-none", className), ...props });
|
|
743
762
|
}
|
|
744
763
|
function CardDescription({ className, ...props }) {
|
|
745
|
-
return /* @__PURE__ */
|
|
764
|
+
return /* @__PURE__ */ jsx11("div", { "data-slot": "card-description", className: cn("text-sm text-muted-foreground", className), ...props });
|
|
746
765
|
}
|
|
747
766
|
function CardContent({ className, ...props }) {
|
|
748
|
-
return /* @__PURE__ */
|
|
767
|
+
return /* @__PURE__ */ jsx11("div", { "data-slot": "card-content", className: cn("px-[var(--ds-surface-padding)]", className), ...props });
|
|
749
768
|
}
|
|
750
769
|
|
|
751
770
|
// src/primitives/skeleton.tsx
|
|
752
|
-
import { jsx as
|
|
771
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
753
772
|
function Skeleton({ className, ...props }) {
|
|
754
|
-
return /* @__PURE__ */
|
|
773
|
+
return /* @__PURE__ */ jsx12(
|
|
755
774
|
"div",
|
|
756
775
|
{
|
|
757
776
|
"data-slot": "skeleton",
|
|
@@ -763,16 +782,16 @@ function Skeleton({ className, ...props }) {
|
|
|
763
782
|
|
|
764
783
|
// src/primitives/collapsible.tsx
|
|
765
784
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
766
|
-
import { jsx as
|
|
785
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
767
786
|
function Collapsible({
|
|
768
787
|
...props
|
|
769
788
|
}) {
|
|
770
|
-
return /* @__PURE__ */
|
|
789
|
+
return /* @__PURE__ */ jsx13(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
|
|
771
790
|
}
|
|
772
791
|
function CollapsibleTrigger({
|
|
773
792
|
...props
|
|
774
793
|
}) {
|
|
775
|
-
return /* @__PURE__ */
|
|
794
|
+
return /* @__PURE__ */ jsx13(
|
|
776
795
|
CollapsiblePrimitive.Trigger,
|
|
777
796
|
{
|
|
778
797
|
"data-slot": "collapsible-trigger",
|
|
@@ -783,7 +802,7 @@ function CollapsibleTrigger({
|
|
|
783
802
|
function CollapsibleContent({
|
|
784
803
|
...props
|
|
785
804
|
}) {
|
|
786
|
-
return /* @__PURE__ */
|
|
805
|
+
return /* @__PURE__ */ jsx13(
|
|
787
806
|
CollapsiblePrimitive.Content,
|
|
788
807
|
{
|
|
789
808
|
"data-slot": "collapsible-content",
|
|
@@ -795,34 +814,34 @@ function CollapsibleContent({
|
|
|
795
814
|
// src/primitives/dropdown-menu.tsx
|
|
796
815
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
797
816
|
import { ChevronRight } from "lucide-react";
|
|
798
|
-
import { jsx as
|
|
817
|
+
import { jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
799
818
|
function DropdownMenu({ ...props }) {
|
|
800
|
-
return /* @__PURE__ */
|
|
819
|
+
return /* @__PURE__ */ jsx14(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
801
820
|
}
|
|
802
821
|
function DropdownMenuGroup({ ...props }) {
|
|
803
|
-
return /* @__PURE__ */
|
|
822
|
+
return /* @__PURE__ */ jsx14(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
804
823
|
}
|
|
805
824
|
function DropdownMenuSub({ ...props }) {
|
|
806
|
-
return /* @__PURE__ */
|
|
825
|
+
return /* @__PURE__ */ jsx14(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
807
826
|
}
|
|
808
827
|
function DropdownMenuSubTrigger({ className, children, ...props }) {
|
|
809
828
|
return /* @__PURE__ */ jsxs5(DropdownMenuPrimitive.SubTrigger, { "data-slot": "dropdown-menu-sub-trigger", className: cn("focus:bg-surface-muted flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-[length:var(--ds-menu-item-size)] outline-hidden", className), ...props, children: [
|
|
810
829
|
children,
|
|
811
|
-
/* @__PURE__ */
|
|
830
|
+
/* @__PURE__ */ jsx14(ChevronRight, { className: "ml-auto size-4 text-muted-foreground" })
|
|
812
831
|
] });
|
|
813
832
|
}
|
|
814
833
|
function DropdownMenuSubContent({ className, ...props }) {
|
|
815
|
-
return /* @__PURE__ */
|
|
834
|
+
return /* @__PURE__ */ jsx14(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx14(DropdownMenuPrimitive.SubContent, { "data-slot": "dropdown-menu-sub-content", className: cn("z-50 min-w-56 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-[var(--ds-shadow-floating)]", className), ...props }) });
|
|
816
835
|
}
|
|
817
836
|
function DropdownMenuTrigger({ ...props }) {
|
|
818
|
-
return /* @__PURE__ */
|
|
837
|
+
return /* @__PURE__ */ jsx14(DropdownMenuPrimitive.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
819
838
|
}
|
|
820
839
|
function DropdownMenuContent({
|
|
821
840
|
className,
|
|
822
841
|
sideOffset = 4,
|
|
823
842
|
...props
|
|
824
843
|
}) {
|
|
825
|
-
return /* @__PURE__ */
|
|
844
|
+
return /* @__PURE__ */ jsx14(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx14(
|
|
826
845
|
DropdownMenuPrimitive.Content,
|
|
827
846
|
{
|
|
828
847
|
"data-slot": "dropdown-menu-content",
|
|
@@ -838,7 +857,7 @@ function DropdownMenuItem({
|
|
|
838
857
|
variant = "default",
|
|
839
858
|
...props
|
|
840
859
|
}) {
|
|
841
|
-
return /* @__PURE__ */
|
|
860
|
+
return /* @__PURE__ */ jsx14(
|
|
842
861
|
DropdownMenuPrimitive.Item,
|
|
843
862
|
{
|
|
844
863
|
"data-slot": "dropdown-menu-item",
|
|
@@ -854,10 +873,10 @@ function DropdownMenuLabel({
|
|
|
854
873
|
inset,
|
|
855
874
|
...props
|
|
856
875
|
}) {
|
|
857
|
-
return /* @__PURE__ */
|
|
876
|
+
return /* @__PURE__ */ jsx14(DropdownMenuPrimitive.Label, { "data-slot": "dropdown-menu-label", "data-inset": inset, className: cn("px-2 py-1.5 text-[length:var(--ds-menu-label-size)] font-medium data-[inset=true]:pl-8", className), ...props });
|
|
858
877
|
}
|
|
859
878
|
function DropdownMenuSeparator({ className, ...props }) {
|
|
860
|
-
return /* @__PURE__ */
|
|
879
|
+
return /* @__PURE__ */ jsx14(DropdownMenuPrimitive.Separator, { "data-slot": "dropdown-menu-separator", className: cn("-mx-1 my-1 h-px bg-border", className), ...props });
|
|
861
880
|
}
|
|
862
881
|
|
|
863
882
|
export {
|
|
@@ -880,6 +899,7 @@ export {
|
|
|
880
899
|
SelectSeparator,
|
|
881
900
|
SelectScrollUpButton,
|
|
882
901
|
SelectScrollDownButton,
|
|
902
|
+
Input,
|
|
883
903
|
Separator2 as Separator,
|
|
884
904
|
Sheet,
|
|
885
905
|
SheetTrigger,
|
|
@@ -934,4 +954,4 @@ export {
|
|
|
934
954
|
DropdownMenuLabel,
|
|
935
955
|
DropdownMenuSeparator
|
|
936
956
|
};
|
|
937
|
-
//# sourceMappingURL=chunk-
|
|
957
|
+
//# sourceMappingURL=chunk-HLND6FZS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/primitives/button.tsx","../src/primitives/checkbox.tsx","../src/primitives/table.tsx","../src/primitives/select.tsx","../src/primitives/input.tsx","../src/primitives/separator.tsx","../src/primitives/sheet.tsx","../src/primitives/tooltip.tsx","../src/primitives/dialog.tsx","../src/primitives/tabs.tsx","../src/primitives/card.tsx","../src/primitives/skeleton.tsx","../src/primitives/collapsible.tsx","../src/primitives/dropdown-menu.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-accent-hover active:bg-accent-active\",\n destructive:\n \"bg-danger text-white shadow-xs hover:bg-danger/90 focus-visible:ring-danger/20 dark:focus-visible:ring-danger/40\",\n outline:\n \"border border-border-default bg-background shadow-xs hover:bg-surface-muted hover:text-foreground\",\n secondary: \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost: \"hover:bg-surface-muted hover:text-foreground\",\n link: \"text-text-link underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-[var(--ds-control-height)] px-3 py-2 has-[>svg]:px-3\",\n sm: \"h-[var(--ds-control-height-sm)] rounded-md gap-1.5 px-2.5 has-[>svg]:px-2\",\n lg: \"h-[var(--ds-control-height-lg)] rounded-md px-4 has-[>svg]:px-3.5\",\n icon: \"size-[var(--ds-control-height)]\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n type,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n type={asChild ? undefined : (type ?? \"button\")}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-danger aria-invalid:ring-danger/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-danger/40 dark:data-[state=checked]:bg-primary\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator data-slot=\"checkbox-indicator\" className=\"grid place-content-center text-current transition-none\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div data-slot=\"table-container\" className=\"relative w-full overflow-x-auto\">\n <table data-slot=\"table\" className={cn(\"w-full caption-bottom text-sm\", className)} {...props} />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return <thead data-slot=\"table-header\" className={cn(\"[&_tr]:border-b [&_tr]:border-border-subtle\", className)} {...props} />;\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return <tbody data-slot=\"table-body\" className={cn(\"[&_tr:last-child]:border-0\", className)} {...props} />;\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\"h-[var(--ds-row-height)] border-b border-border-subtle transition-colors hover:bg-surface-muted/70 data-[state=selected]:bg-accent-background\", className)}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\"h-[var(--ds-table-header-height)] whitespace-nowrap px-3 text-left align-middle text-[var(--ds-metadata)] font-semibold uppercase text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return <td data-slot=\"table-cell\" className={cn(\"whitespace-nowrap px-3 py-2 align-middle text-sm\", className)} {...props} />;\n}\n\nexport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-danger/20 aria-invalid:border-danger flex w-fit items-center justify-between gap-2 rounded-[var(--ds-field-control-radius)] border bg-card px-[var(--ds-field-control-padding-x)] py-2 text-sm whitespace-nowrap shadow-none transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[var(--ds-field-control-height)] data-[size=sm]:h-[var(--ds-control-height-sm)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 dark:aria-invalid:ring-danger/40\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground 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 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 shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-surface-muted focus:text-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-[length:var(--ds-menu-item-size)] outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-[length:var(--ds-menu-label-size)]\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton data-slot=\"select-scroll-up-button\" className={cn(\"flex cursor-default items-center justify-center py-1\", className)} {...props}>\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton data-slot=\"select-scroll-down-button\" className={cn(\"flex cursor-default items-center justify-center py-1\", className)} {...props}>\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue\n};\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"border-input bg-card flex h-[var(--ds-field-control-height)] w-full min-w-0 rounded-[var(--ds-field-control-radius)] border px-[var(--ds-field-control-padding-x)] py-2 text-base shadow-none transition-colors outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:border-danger aria-invalid:ring-danger/20 dark:aria-invalid:ring-danger/40\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\n\nimport { cn } from \"./utils\";\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border-subtle data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\", className)}\n {...props}\n />\n );\n}\n\nconst sheetSideClasses = {\n top: \"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n right: \"right-0 top-0 h-full max-w-md border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-lg\",\n bottom: \"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"left-0 top-0 h-full max-w-md border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-lg\",\n};\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n closeLabel = \"Close\",\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n side?: keyof typeof sheetSideClasses;\n closeLabel?: string;\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <DialogPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n \"fixed z-50 flex w-full flex-col gap-6 bg-background p-6 text-foreground shadow-lg outline-none data-[state=open]:animate-in data-[state=closed]:animate-out\",\n sheetSideClasses[side],\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n data-slot=\"sheet-close\"\n className=\"absolute right-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\"\n >\n <XIcon />\n <span className=\"sr-only\">{closeLabel}</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"sheet-header\" className={cn(\"grid gap-2 pr-8\", className)} {...props} />;\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"text-lg font-semibold leading-tight\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetBody({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-body\"\n className={cn(\"flex min-h-0 flex-1 flex-col gap-[var(--ds-space-group)] overflow-y-auto pr-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-wrap items-center justify-between gap-2 border-t border-border-subtle pt-4\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetBody,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"./utils\";\n\nfunction TooltipProvider({ delayDuration = 150, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />;\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 6,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\"z-50 w-fit rounded-md bg-foreground px-3 py-1.5 text-balance text-xs text-background shadow-[var(--ds-shadow-floating)]\", className)}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return <DialogPrimitive.Overlay data-slot=\"dialog-overlay\" className={cn(\"fixed inset-0 z-50 bg-black/50\", className)} {...props} />;\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n size = \"default\",\n closeLabel = \"Close\",\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n size?: \"small\" | \"default\" | \"large\";\n closeLabel?: string;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n data-size={size}\n className={cn(\n \"fixed left-1/2 top-1/2 z-50 grid max-h-[min(42rem,calc(100vh-2rem))] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 grid-rows-[auto_minmax(0,1fr)_auto] gap-5 overflow-hidden rounded-lg border bg-background p-5 text-foreground shadow-lg sm:p-6\",\n \"data-[size=small]:sm:max-w-sm data-[size=default]:sm:max-w-lg data-[size=large]:sm:max-w-3xl\",\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"absolute right-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\"\n >\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">{closeLabel}</span>\n </DialogPrimitive.Close>\n ) : null}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"dialog-header\" className={cn(\"flex flex-col gap-2 text-left\", className)} {...props} />;\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return <DialogPrimitive.Title data-slot=\"dialog-title\" className={cn(\"text-base font-semibold leading-none\", className)} {...props} />;\n}\n\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return <DialogPrimitive.Description data-slot=\"dialog-description\" className={cn(\"text-sm text-muted-foreground\", className)} {...props} />;\n}\n\nfunction DialogBody({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"dialog-body\" className={cn(\"min-h-0 overflow-y-auto text-sm\", className)} {...props} />;\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"dialog-footer\" className={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)} {...props} />;\n}\n\nexport {\n Dialog,\n DialogBody,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nimport { cn } from \"./utils\";\n\ntype TabsVariant = \"underline\" | \"segmented\";\ntype TabsSize = \"default\" | \"compact\";\ntype ScrollPosition = \"none\" | \"start\" | \"middle\" | \"end\";\n\ntype TabsVisualContextValue = {\n variant: TabsVariant;\n size: TabsSize;\n};\n\nconst defaultTabsVisualContext: TabsVisualContextValue = {\n variant: \"underline\",\n size: \"default\",\n};\n\nconst TabsRootVisualContext = React.createContext(defaultTabsVisualContext);\nconst TabsListVisualContext = React.createContext(defaultTabsVisualContext);\n\nconst tabRailClasses =\n \"flex min-w-0 items-stretch overflow-x-auto overscroll-x-contain border-b border-border-subtle scroll-px-2 snap-x [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\";\n\nconst navigationTabClasses =\n \"relative inline-flex h-full shrink-0 snap-start items-center justify-center gap-2 whitespace-nowrap rounded-t-[var(--ds-radius-control)] px-[var(--ds-tab-padding-x)] text-sm font-medium outline-none transition-[background-color,color,box-shadow] duration-150 after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:bg-transparent after:transition-colors hover:bg-surface-muted focus-visible:z-10 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/60 data-[active=false]:text-muted-foreground data-[active=false]:hover:text-foreground data-[active=true]:bg-selection-background data-[active=true]:font-semibold data-[active=true]:text-selection-foreground data-[active=true]:after:bg-selection-indicator\";\n\nfunction assignRef<T>(ref: React.Ref<T> | undefined, value: T | null) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n (ref as React.MutableRefObject<T | null>).current = value;\n }\n}\n\nfunction useHorizontalScrollRail<T extends HTMLElement>(externalRef?: React.Ref<T>) {\n const internalRef = React.useRef<T | null>(null);\n const [scrollPosition, setScrollPosition] = React.useState<ScrollPosition>(\"none\");\n\n const updateScrollPosition = React.useCallback(() => {\n const element = internalRef.current;\n if (!element) return;\n\n const maximumScroll = element.scrollWidth - element.clientWidth;\n const nextPosition: ScrollPosition =\n maximumScroll <= 1\n ? \"none\"\n : element.scrollLeft <= 1\n ? \"start\"\n : element.scrollLeft >= maximumScroll - 1\n ? \"end\"\n : \"middle\";\n\n setScrollPosition((current) =>\n current === nextPosition ? current : nextPosition,\n );\n }, []);\n\n const ref = React.useCallback(\n (node: T | null) => {\n internalRef.current = node;\n assignRef(externalRef, node);\n },\n [externalRef],\n );\n\n React.useEffect(() => {\n updateScrollPosition();\n const element = internalRef.current;\n if (!element || typeof ResizeObserver === \"undefined\") return;\n\n const observer = new ResizeObserver(updateScrollPosition);\n observer.observe(element);\n return () => observer.disconnect();\n }, [updateScrollPosition]);\n\n return [scrollPosition, ref, updateScrollPosition] as const;\n}\n\nfunction Tabs({\n className,\n variant = \"underline\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root> & {\n variant?: TabsVariant;\n size?: TabsSize;\n}) {\n return (\n <TabsRootVisualContext.Provider value={{ variant, size }}>\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-variant={variant}\n data-size={size}\n className={cn(\"flex min-w-0 flex-col gap-2\", className)}\n {...props}\n />\n </TabsRootVisualContext.Provider>\n );\n}\n\nfunction TabsList({\n className,\n variant,\n size,\n children,\n ref: externalRef,\n onScroll,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List> & {\n variant?: TabsVariant;\n size?: TabsSize;\n}) {\n const rootVisuals = React.useContext(TabsRootVisualContext);\n const resolvedVariant = variant ?? rootVisuals.variant;\n const resolvedSize = size ?? rootVisuals.size;\n const [scrollPosition, scrollRailRef, updateScrollPosition] =\n useHorizontalScrollRail<HTMLDivElement>(externalRef);\n\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n data-scroll-position={\n resolvedVariant === \"underline\" ? scrollPosition : undefined\n }\n ref={scrollRailRef}\n onScroll={(event) => {\n updateScrollPosition();\n onScroll?.(event);\n }}\n className={cn(\n \"text-muted-foreground\",\n resolvedVariant === \"underline\" && tabRailClasses,\n resolvedVariant === \"underline\" &&\n (resolvedSize === \"compact\"\n ? \"h-[var(--ds-tab-rail-height-compact)]\"\n : \"h-[var(--ds-tab-rail-height)]\"),\n resolvedVariant === \"segmented\" &&\n \"inline-flex h-[var(--ds-control-height)] items-center gap-1 self-start rounded-md bg-surface-muted p-1\",\n className,\n )}\n {...props}\n >\n <TabsListVisualContext.Provider\n value={{ variant: resolvedVariant, size: resolvedSize }}\n >\n {children}\n </TabsListVisualContext.Provider>\n </TabsPrimitive.List>\n );\n}\n\nfunction TabsTrigger({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger> & {\n variant?: TabsVariant;\n size?: TabsSize;\n}) {\n const listVisuals = React.useContext(TabsListVisualContext);\n const resolvedVariant = variant ?? listVisuals.variant;\n const resolvedSize = size ?? listVisuals.size;\n\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n className={cn(\n \"disabled:pointer-events-none disabled:opacity-50\",\n resolvedVariant === \"underline\" &&\n cn(\n navigationTabClasses,\n \"data-[state=active]:bg-selection-background data-[state=active]:font-semibold data-[state=active]:text-selection-foreground data-[state=active]:after:bg-selection-indicator\",\n ),\n resolvedVariant === \"segmented\" &&\n \"inline-flex h-full items-center justify-center gap-2 whitespace-nowrap rounded-[calc(var(--ds-radius-control)-2px)] px-3 text-sm font-medium text-muted-foreground outline-none transition-[background-color,color,box-shadow] hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/60 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-xs\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\n \"outline-none focus-visible:ring-2 focus-visible:ring-ring/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationTabs({\n className,\n ...props\n}: React.ComponentProps<\"nav\">) {\n return (\n <nav\n data-slot=\"navigation-tabs\"\n className={cn(\"min-w-0\", className)}\n {...props}\n />\n );\n}\n\nfunction NavigationTabsList({\n className,\n ref: externalRef,\n onScroll,\n ...props\n}: React.ComponentProps<\"div\">) {\n const [scrollPosition, scrollRailRef, updateScrollPosition] =\n useHorizontalScrollRail<HTMLDivElement>(externalRef);\n\n return (\n <div\n data-slot=\"navigation-tabs-list\"\n data-scroll-position={scrollPosition}\n ref={scrollRailRef}\n onScroll={(event) => {\n updateScrollPosition();\n onScroll?.(event);\n }}\n className={cn(\n tabRailClasses,\n \"h-[var(--ds-tab-rail-height)]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationTab({\n className,\n active = false,\n asChild = false,\n ref: externalRef,\n ...props\n}: React.ComponentProps<\"a\"> & {\n active?: boolean;\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n const internalRef = React.useRef<HTMLAnchorElement | null>(null);\n const ref = React.useCallback(\n (node: HTMLAnchorElement | null) => {\n internalRef.current = node;\n assignRef(externalRef, node);\n },\n [externalRef],\n );\n\n React.useEffect(() => {\n if (!active) return;\n internalRef.current?.scrollIntoView({\n behavior: \"auto\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n }, [active]);\n\n return (\n <Comp\n {...props}\n data-slot=\"navigation-tab\"\n data-active={active ? \"true\" : \"false\"}\n aria-current={active ? \"page\" : undefined}\n ref={ref}\n className={cn(\n navigationTabClasses,\n className,\n )}\n />\n );\n}\n\nexport {\n NavigationTab,\n NavigationTabs,\n NavigationTabsList,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n};\nexport type { TabsSize, TabsVariant };\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\"flex flex-col gap-5 rounded-lg border border-border-default bg-card py-[var(--ds-surface-padding)] text-card-foreground shadow-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-header\" className={cn(\"grid auto-rows-min gap-1.5 px-[var(--ds-surface-padding)]\", className)} {...props} />;\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-title\" className={cn(\"font-semibold leading-none\", className)} {...props} />;\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-description\" className={cn(\"text-sm text-muted-foreground\", className)} {...props} />;\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-content\" className={cn(\"px-[var(--ds-surface-padding)]\", className)} {...props} />;\n}\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle\n};\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\"animate-pulse rounded-md bg-surface-muted\", className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>) {\n return (\n <CollapsiblePrimitive.Trigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n );\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Content>) {\n return (\n <CollapsiblePrimitive.Content\n data-slot=\"collapsible-content\"\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { ChevronRight } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger>) {\n return <DropdownMenuPrimitive.SubTrigger data-slot=\"dropdown-menu-sub-trigger\" className={cn(\"focus:bg-surface-muted flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-[length:var(--ds-menu-item-size)] outline-hidden\", className)} {...props}>{children}<ChevronRight className=\"ml-auto size-4 text-muted-foreground\" /></DropdownMenuPrimitive.SubTrigger>;\n}\n\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return <DropdownMenuPrimitive.Portal><DropdownMenuPrimitive.SubContent data-slot=\"dropdown-menu-sub-content\" className={cn(\"z-50 min-w-56 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-[var(--ds-shadow-floating)]\", className)} {...props} /></DropdownMenuPrimitive.Portal>;\n}\n\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\"z-50 min-w-40 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-[var(--ds-shadow-floating)]\", className)}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\"focus:bg-surface-muted focus:text-foreground data-[variant=destructive]:text-danger-foreground data-[variant=destructive]:focus:bg-danger-background relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-[length:var(--ds-menu-item-size)] outline-hidden transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset=true]:pl-8\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return <DropdownMenuPrimitive.Label data-slot=\"dropdown-menu-label\" data-inset={inset} className={cn(\"px-2 py-1.5 text-[length:var(--ds-menu-label-size)] font-medium data-[inset=true]:pl-8\", className)} {...props} />;\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return <DropdownMenuPrimitive.Separator data-slot=\"dropdown-menu-separator\" className={cn(\"-mx-1 my-1 h-px bg-border\", className)} {...props} />;\n}\n\nexport { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };\n"],"mappings":"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","names":["jsx","jsx","CheckIcon","jsx","CheckIcon","jsx","jsx","Separator","jsx","jsxs","jsx","jsxs","DialogPrimitive","XIcon","jsx","jsxs","XIcon","Slot","jsx","Slot","jsx","jsx","jsx","jsx","jsxs"]}
|