@burtson-labs/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 (95) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -0
  3. package/THIRD_PARTY_NOTICES.md +34 -0
  4. package/dist/components/accordion.d.ts +7 -0
  5. package/dist/components/accordion.js +48 -0
  6. package/dist/components/accordion.js.map +1 -0
  7. package/dist/components/alert.d.ts +9 -0
  8. package/dist/components/alert.js +41 -0
  9. package/dist/components/alert.js.map +1 -0
  10. package/dist/components/avatar.d.ts +6 -0
  11. package/dist/components/avatar.js +30 -0
  12. package/dist/components/avatar.js.map +1 -0
  13. package/dist/components/badge.d.ts +10 -0
  14. package/dist/components/badge.js +30 -0
  15. package/dist/components/badge.js.map +1 -0
  16. package/dist/components/button.d.ts +12 -0
  17. package/dist/components/button.js +46 -0
  18. package/dist/components/button.js.map +1 -0
  19. package/dist/components/card.d.ts +9 -0
  20. package/dist/components/card.js +57 -0
  21. package/dist/components/card.js.map +1 -0
  22. package/dist/components/checkbox.d.ts +4 -0
  23. package/dist/components/checkbox.js +26 -0
  24. package/dist/components/checkbox.js.map +1 -0
  25. package/dist/components/dialog.d.ts +15 -0
  26. package/dist/components/dialog.js +84 -0
  27. package/dist/components/dialog.js.map +1 -0
  28. package/dist/components/dropdown-menu.d.ts +24 -0
  29. package/dist/components/dropdown-menu.js +127 -0
  30. package/dist/components/dropdown-menu.js.map +1 -0
  31. package/dist/components/input.d.ts +5 -0
  32. package/dist/components/input.js +18 -0
  33. package/dist/components/input.js.map +1 -0
  34. package/dist/components/kbd.d.ts +4 -0
  35. package/dist/components/kbd.js +22 -0
  36. package/dist/components/kbd.js.map +1 -0
  37. package/dist/components/label.d.ts +4 -0
  38. package/dist/components/label.js +16 -0
  39. package/dist/components/label.js.map +1 -0
  40. package/dist/components/popover.d.ts +9 -0
  41. package/dist/components/popover.js +38 -0
  42. package/dist/components/popover.js.map +1 -0
  43. package/dist/components/progress.d.ts +4 -0
  44. package/dist/components/progress.js +22 -0
  45. package/dist/components/progress.js.map +1 -0
  46. package/dist/components/radio-group.d.ts +5 -0
  47. package/dist/components/radio-group.js +28 -0
  48. package/dist/components/radio-group.js.map +1 -0
  49. package/dist/components/scroll-area.d.ts +5 -0
  50. package/dist/components/scroll-area.js +37 -0
  51. package/dist/components/scroll-area.js.map +1 -0
  52. package/dist/components/select.d.ts +13 -0
  53. package/dist/components/select.js +103 -0
  54. package/dist/components/select.js.map +1 -0
  55. package/dist/components/separator.d.ts +4 -0
  56. package/dist/components/separator.js +18 -0
  57. package/dist/components/separator.js.map +1 -0
  58. package/dist/components/sheet.d.ts +17 -0
  59. package/dist/components/sheet.js +77 -0
  60. package/dist/components/sheet.js.map +1 -0
  61. package/dist/components/skeleton.d.ts +3 -0
  62. package/dist/components/skeleton.js +16 -0
  63. package/dist/components/skeleton.js.map +1 -0
  64. package/dist/components/spinner.d.ts +6 -0
  65. package/dist/components/spinner.js +18 -0
  66. package/dist/components/spinner.js.map +1 -0
  67. package/dist/components/switch.d.ts +4 -0
  68. package/dist/components/switch.js +20 -0
  69. package/dist/components/switch.js.map +1 -0
  70. package/dist/components/table.d.ts +10 -0
  71. package/dist/components/table.js +68 -0
  72. package/dist/components/table.js.map +1 -0
  73. package/dist/components/tabs.d.ts +7 -0
  74. package/dist/components/tabs.js +37 -0
  75. package/dist/components/tabs.js.map +1 -0
  76. package/dist/components/textarea.d.ts +3 -0
  77. package/dist/components/textarea.js +16 -0
  78. package/dist/components/textarea.js.map +1 -0
  79. package/dist/components/tooltip.d.ts +8 -0
  80. package/dist/components/tooltip.js +38 -0
  81. package/dist/components/tooltip.js.map +1 -0
  82. package/dist/index.d.ts +28 -0
  83. package/dist/index.js +29 -0
  84. package/dist/lib/utils.d.ts +3 -0
  85. package/dist/lib/utils.js +11 -0
  86. package/dist/lib/utils.js.map +1 -0
  87. package/dist/mui/index.d.ts +13 -0
  88. package/dist/mui/index.js +82 -0
  89. package/dist/mui/index.js.map +1 -0
  90. package/dist/styles.css +2 -0
  91. package/dist/theme.css +170 -0
  92. package/dist/tokens.d.ts +28 -0
  93. package/dist/tokens.js +73 -0
  94. package/dist/tokens.js.map +1 -0
  95. package/package.json +122 -0
@@ -0,0 +1,84 @@
1
+ import { cn } from "../lib/utils.js";
2
+ import { Dialog } from "radix-ui";
3
+ import "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import X from "@burtson-labs/icons/react/x";
6
+ //#region src/components/dialog.tsx
7
+ function Dialog$1(props) {
8
+ return /* @__PURE__ */ jsx(Dialog.Root, {
9
+ "data-slot": "dialog",
10
+ ...props
11
+ });
12
+ }
13
+ function DialogTrigger(props) {
14
+ return /* @__PURE__ */ jsx(Dialog.Trigger, {
15
+ "data-slot": "dialog-trigger",
16
+ ...props
17
+ });
18
+ }
19
+ function DialogPortal(props) {
20
+ return /* @__PURE__ */ jsx(Dialog.Portal, {
21
+ "data-slot": "dialog-portal",
22
+ ...props
23
+ });
24
+ }
25
+ function DialogClose(props) {
26
+ return /* @__PURE__ */ jsx(Dialog.Close, {
27
+ "data-slot": "dialog-close",
28
+ ...props
29
+ });
30
+ }
31
+ function DialogOverlay({ className, ...props }) {
32
+ return /* @__PURE__ */ jsx(Dialog.Overlay, {
33
+ "data-slot": "dialog-overlay",
34
+ className: cn("fixed inset-0 z-50 bg-black/60 backdrop-blur-[2px] data-[state=closed]:animate-out data-[state=open]:animate-in", className),
35
+ ...props
36
+ });
37
+ }
38
+ function DialogContent({ className, children, showCloseButton = true, ...props }) {
39
+ return /* @__PURE__ */ jsxs(DialogPortal, { children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(Dialog.Content, {
40
+ "data-slot": "dialog-content",
41
+ className: cn("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl border bg-background p-6 shadow-2xl outline-none data-[state=closed]:animate-out data-[state=open]:animate-in sm:max-w-lg", className),
42
+ ...props,
43
+ children: [children, showCloseButton && /* @__PURE__ */ jsxs(Dialog.Close, {
44
+ "data-slot": "dialog-close",
45
+ className: "absolute top-4 right-4 rounded-sm opacity-70 transition-opacity outline-none hover:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none [&_svg]:size-4",
46
+ children: [/* @__PURE__ */ jsx(X, { "aria-hidden": true }), /* @__PURE__ */ jsx("span", {
47
+ className: "sr-only",
48
+ children: "Close"
49
+ })]
50
+ })]
51
+ })] });
52
+ }
53
+ function DialogHeader({ className, ...props }) {
54
+ return /* @__PURE__ */ jsx("div", {
55
+ "data-slot": "dialog-header",
56
+ className: cn("flex flex-col gap-2 text-center sm:text-left", className),
57
+ ...props
58
+ });
59
+ }
60
+ function DialogFooter({ className, ...props }) {
61
+ return /* @__PURE__ */ jsx("div", {
62
+ "data-slot": "dialog-footer",
63
+ className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
64
+ ...props
65
+ });
66
+ }
67
+ function DialogTitle({ className, ...props }) {
68
+ return /* @__PURE__ */ jsx(Dialog.Title, {
69
+ "data-slot": "dialog-title",
70
+ className: cn("text-lg leading-none font-semibold", className),
71
+ ...props
72
+ });
73
+ }
74
+ function DialogDescription({ className, ...props }) {
75
+ return /* @__PURE__ */ jsx(Dialog.Description, {
76
+ "data-slot": "dialog-description",
77
+ className: cn("text-sm text-muted-foreground", className),
78
+ ...props
79
+ });
80
+ }
81
+ //#endregion
82
+ export { Dialog$1 as Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
83
+
84
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","names":["Dialog","DialogPrimitive"],"sources":["../../src/components/dialog.tsx"],"sourcesContent":["import X from '@burtson-labs/icons/react/x';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../lib/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 DialogPortal(props: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose(props: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/60 backdrop-blur-[2px] data-[state=closed]:animate-out data-[state=open]:animate-in',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & { showCloseButton?: boolean }) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl border bg-background p-6 shadow-2xl outline-none data-[state=closed]:animate-out data-[state=open]:animate-in sm:max-w-lg',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"absolute top-4 right-4 rounded-sm opacity-70 transition-opacity outline-none hover:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none [&_svg]:size-4\"\n >\n <X aria-hidden />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('text-lg leading-none font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"mappings":";;;;;;AAMA,SAASA,SAAO,OAA0D;CACxE,OAAO,oBAACC,OAAgB,MAAjB;EAAsB,aAAU;EAAS,GAAI;CAAQ,CAAA;AAC9D;AAEA,SAAS,cAAc,OAA6D;CAClF,OAAO,oBAACA,OAAgB,SAAjB;EAAyB,aAAU;EAAiB,GAAI;CAAQ,CAAA;AACzE;AAEA,SAAS,aAAa,OAA4D;CAChF,OAAO,oBAACA,OAAgB,QAAjB;EAAwB,aAAU;EAAgB,GAAI;CAAQ,CAAA;AACvE;AAEA,SAAS,YAAY,OAA2D;CAC9E,OAAO,oBAACA,OAAgB,OAAjB;EAAuB,aAAU;EAAe,GAAI;CAAQ,CAAA;AACrE;AAEA,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;CACvD,OACE,oBAACA,OAAgB,SAAjB;EACE,aAAU;EACV,WAAW,GACT,mHACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,cAAc,EACrB,WACA,UACA,kBAAkB,MAClB,GAAG,SACoF;CACvF,OACE,qBAAC,cAAD,EAAA,UAAA,CACE,oBAAC,eAAD,CAAgB,CAAA,GAChB,qBAACA,OAAgB,SAAjB;EACE,aAAU;EACV,WAAW,GACT,gPACA,SACF;EACA,GAAI;EANN,UAAA,CAQG,UACA,mBACC,qBAACA,OAAgB,OAAjB;GACE,aAAU;GACV,WAAU;GAFZ,UAAA,CAIE,oBAAC,GAAD,EAAG,eAAA,KAAa,CAAA,GAChB,oBAAC,QAAD;IAAM,WAAU;IAAU,UAAA;GAAW,CAAA,CAChB;EAEF,CAAA,CAAA;CACb,CAAA,CAAA,EAAA,CAAA;AAElB;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,gDAAgD,SAAS;EACvE,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,0DAA0D,SAAS;EACjF,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;CAChG,OACE,oBAACA,OAAgB,OAAjB;EACE,aAAU;EACV,WAAW,GAAG,sCAAsC,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;CAC3D,OACE,oBAACA,OAAgB,aAAjB;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,24 @@
1
+ import { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ declare function DropdownMenu(props: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): React.JSX.Element;
4
+ declare function DropdownMenuTrigger(props: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): React.JSX.Element;
5
+ declare function DropdownMenuGroup(props: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): React.JSX.Element;
6
+ declare function DropdownMenuContent({ className, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): React.JSX.Element;
7
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
8
+ inset?: boolean;
9
+ variant?: 'default' | 'destructive';
10
+ }): React.JSX.Element;
11
+ declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): React.JSX.Element;
12
+ declare function DropdownMenuRadioGroup(props: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): React.JSX.Element;
13
+ declare function DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): React.JSX.Element;
14
+ declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
15
+ inset?: boolean;
16
+ }): React.JSX.Element;
17
+ declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): React.JSX.Element;
18
+ declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>): React.JSX.Element;
19
+ declare function DropdownMenuSub(props: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): React.JSX.Element;
20
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
21
+ inset?: boolean;
22
+ }): React.JSX.Element;
23
+ declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): React.JSX.Element;
24
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, };
@@ -0,0 +1,127 @@
1
+ import { cn } from "../lib/utils.js";
2
+ import { surfaceClasses } from "./popover.js";
3
+ import { DropdownMenu } from "radix-ui";
4
+ import "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import Check from "@burtson-labs/icons/react/check";
7
+ import ChevronRight from "@burtson-labs/icons/react/chevron-right";
8
+ //#region src/components/dropdown-menu.tsx
9
+ var itemClasses = "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 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground";
10
+ function DropdownMenu$1(props) {
11
+ return /* @__PURE__ */ jsx(DropdownMenu.Root, {
12
+ "data-slot": "dropdown-menu",
13
+ ...props
14
+ });
15
+ }
16
+ function DropdownMenuTrigger(props) {
17
+ return /* @__PURE__ */ jsx(DropdownMenu.Trigger, {
18
+ "data-slot": "dropdown-menu-trigger",
19
+ ...props
20
+ });
21
+ }
22
+ function DropdownMenuGroup(props) {
23
+ return /* @__PURE__ */ jsx(DropdownMenu.Group, {
24
+ "data-slot": "dropdown-menu-group",
25
+ ...props
26
+ });
27
+ }
28
+ function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
29
+ return /* @__PURE__ */ jsx(DropdownMenu.Portal, { children: /* @__PURE__ */ jsx(DropdownMenu.Content, {
30
+ "data-slot": "dropdown-menu-content",
31
+ sideOffset,
32
+ className: cn(surfaceClasses, "max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto p-1", className),
33
+ ...props
34
+ }) });
35
+ }
36
+ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
37
+ return /* @__PURE__ */ jsx(DropdownMenu.Item, {
38
+ "data-slot": "dropdown-menu-item",
39
+ "data-inset": inset || void 0,
40
+ "data-variant": variant,
41
+ className: cn(itemClasses, "data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:*:[svg]:!text-destructive", className),
42
+ ...props
43
+ });
44
+ }
45
+ function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
46
+ return /* @__PURE__ */ jsxs(DropdownMenu.CheckboxItem, {
47
+ "data-slot": "dropdown-menu-checkbox-item",
48
+ className: cn(itemClasses, "pl-8", className),
49
+ checked,
50
+ ...props,
51
+ children: [/* @__PURE__ */ jsx("span", {
52
+ className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
53
+ children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, {
54
+ className: "size-4 text-foreground",
55
+ "aria-hidden": true
56
+ }) })
57
+ }), children]
58
+ });
59
+ }
60
+ function DropdownMenuRadioGroup(props) {
61
+ return /* @__PURE__ */ jsx(DropdownMenu.RadioGroup, {
62
+ "data-slot": "dropdown-menu-radio-group",
63
+ ...props
64
+ });
65
+ }
66
+ function DropdownMenuRadioItem({ className, children, ...props }) {
67
+ return /* @__PURE__ */ jsxs(DropdownMenu.RadioItem, {
68
+ "data-slot": "dropdown-menu-radio-item",
69
+ className: cn(itemClasses, "pl-8", className),
70
+ ...props,
71
+ children: [/* @__PURE__ */ jsx("span", {
72
+ className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
73
+ children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx("span", { className: "block size-2 rounded-full bg-foreground" }) })
74
+ }), children]
75
+ });
76
+ }
77
+ function DropdownMenuLabel({ className, inset, ...props }) {
78
+ return /* @__PURE__ */ jsx(DropdownMenu.Label, {
79
+ "data-slot": "dropdown-menu-label",
80
+ "data-inset": inset || void 0,
81
+ className: cn("px-2 py-1.5 text-xs font-medium text-muted-foreground data-[inset]:pl-8", className),
82
+ ...props
83
+ });
84
+ }
85
+ function DropdownMenuSeparator({ className, ...props }) {
86
+ return /* @__PURE__ */ jsx(DropdownMenu.Separator, {
87
+ "data-slot": "dropdown-menu-separator",
88
+ className: cn("-mx-1 my-1 h-px bg-border", className),
89
+ ...props
90
+ });
91
+ }
92
+ function DropdownMenuShortcut({ className, ...props }) {
93
+ return /* @__PURE__ */ jsx("span", {
94
+ "data-slot": "dropdown-menu-shortcut",
95
+ className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className),
96
+ ...props
97
+ });
98
+ }
99
+ function DropdownMenuSub(props) {
100
+ return /* @__PURE__ */ jsx(DropdownMenu.Sub, {
101
+ "data-slot": "dropdown-menu-sub",
102
+ ...props
103
+ });
104
+ }
105
+ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
106
+ return /* @__PURE__ */ jsxs(DropdownMenu.SubTrigger, {
107
+ "data-slot": "dropdown-menu-sub-trigger",
108
+ "data-inset": inset || void 0,
109
+ className: cn(itemClasses, "data-[state=open]:bg-accent", className),
110
+ ...props,
111
+ children: [children, /* @__PURE__ */ jsx(ChevronRight, {
112
+ className: "ml-auto size-4",
113
+ "aria-hidden": true
114
+ })]
115
+ });
116
+ }
117
+ function DropdownMenuSubContent({ className, ...props }) {
118
+ return /* @__PURE__ */ jsx(DropdownMenu.Portal, { children: /* @__PURE__ */ jsx(DropdownMenu.SubContent, {
119
+ "data-slot": "dropdown-menu-sub-content",
120
+ className: cn(surfaceClasses, "min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden p-1", className),
121
+ ...props
122
+ }) });
123
+ }
124
+ //#endregion
125
+ export { DropdownMenu$1 as DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
126
+
127
+ //# sourceMappingURL=dropdown-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.js","names":["DropdownMenu","DropdownMenuPrimitive"],"sources":["../../src/components/dropdown-menu.tsx"],"sourcesContent":["import Check from '@burtson-labs/icons/react/check';\nimport ChevronRight from '@burtson-labs/icons/react/chevron-right';\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../lib/utils';\n\nimport { surfaceClasses } from './popover';\n\nconst itemClasses =\n \"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 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\";\n\nfunction DropdownMenu(props: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuTrigger(props: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuGroup(props: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...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(\n surfaceClasses,\n 'max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto p-1',\n className,\n )}\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 || undefined}\n data-variant={variant}\n className={cn(\n itemClasses,\n 'data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:*:[svg]:!text-destructive',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(itemClasses, 'pl-8', className)}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"size-4 text-foreground\" aria-hidden />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup(\n props: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>,\n) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(itemClasses, 'pl-8', className)}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <span className=\"block size-2 rounded-full bg-foreground\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & { inset?: boolean }) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset || undefined}\n className={cn(\n 'px-2 py-1.5 text-xs font-medium text-muted-foreground data-[inset]:pl-8',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn('ml-auto text-xs tracking-widest text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub(props: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & { inset?: boolean }) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset || undefined}\n className={cn(itemClasses, 'data-[state=open]:bg-accent', className)}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto size-4\" aria-hidden />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n surfaceClasses,\n 'min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden p-1',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ /** Shared by Input, Textarea and SelectTrigger so every field looks the same. */
3
+ export declare const fieldClasses = "w-full min-w-0 rounded-md border border-input bg-transparent px-3 text-sm shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/20";
4
+ declare function Input({ className, type, ...props }: React.ComponentProps<'input'>): React.JSX.Element;
5
+ export { Input };
@@ -0,0 +1,18 @@
1
+ import { cn } from "../lib/utils.js";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/input.tsx
5
+ /** Shared by Input, Textarea and SelectTrigger so every field looks the same. */
6
+ var fieldClasses = "w-full min-w-0 rounded-md border border-input bg-transparent px-3 text-sm shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/20";
7
+ function Input({ className, type, ...props }) {
8
+ return /* @__PURE__ */ jsx("input", {
9
+ type,
10
+ "data-slot": "input",
11
+ className: cn(fieldClasses, "h-9 py-1 file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground", className),
12
+ ...props
13
+ });
14
+ }
15
+ //#endregion
16
+ export { Input, fieldClasses };
17
+
18
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","names":[],"sources":["../../src/components/input.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '../lib/utils';\n\n/** Shared by Input, Textarea and SelectTrigger so every field looks the same. */\nexport const fieldClasses =\n 'w-full min-w-0 rounded-md border border-input bg-transparent px-3 text-sm shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/20';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n fieldClasses,\n 'h-9 py-1 file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"mappings":";;;;;AAKA,IAAa,eACX;AAEF,SAAS,MAAM,EAAE,WAAW,MAAM,GAAG,SAAwC;CAC3E,OACE,oBAAC,SAAD;EACQ;EACN,aAAU;EACV,WAAW,GACT,cACA,2HACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ declare function Kbd({ className, ...props }: React.ComponentProps<'kbd'>): React.JSX.Element;
3
+ declare function KbdGroup({ className, ...props }: React.ComponentProps<'span'>): React.JSX.Element;
4
+ export { Kbd, KbdGroup };
@@ -0,0 +1,22 @@
1
+ import { cn } from "../lib/utils.js";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/kbd.tsx
5
+ function Kbd({ className, ...props }) {
6
+ return /* @__PURE__ */ jsx("kbd", {
7
+ "data-slot": "kbd",
8
+ className: cn("pointer-events-none inline-flex h-5 min-w-5 items-center justify-center gap-1 rounded-sm border border-b-2 bg-muted px-1 font-mono text-[11px] font-medium text-muted-foreground select-none [&_svg]:size-3", className),
9
+ ...props
10
+ });
11
+ }
12
+ function KbdGroup({ className, ...props }) {
13
+ return /* @__PURE__ */ jsx("span", {
14
+ "data-slot": "kbd-group",
15
+ className: cn("inline-flex items-center gap-1", className),
16
+ ...props
17
+ });
18
+ }
19
+ //#endregion
20
+ export { Kbd, KbdGroup };
21
+
22
+ //# sourceMappingURL=kbd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kbd.js","names":[],"sources":["../../src/components/kbd.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '../lib/utils';\n\nfunction Kbd({ className, ...props }: React.ComponentProps<'kbd'>) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n 'pointer-events-none inline-flex h-5 min-w-5 items-center justify-center gap-1 rounded-sm border border-b-2 bg-muted px-1 font-mono text-[11px] font-medium text-muted-foreground select-none [&_svg]:size-3',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction KbdGroup({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"kbd-group\"\n className={cn('inline-flex items-center gap-1', className)}\n {...props}\n />\n );\n}\n\nexport { Kbd, KbdGroup };\n"],"mappings":";;;;AAIA,SAAS,IAAI,EAAE,WAAW,GAAG,SAAsC;CACjE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,+MACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,SAAS,EAAE,WAAW,GAAG,SAAuC;CACvE,OACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GAAG,kCAAkC,SAAS;EACzD,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,4 @@
1
+ import { Label as LabelPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ declare function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>): React.JSX.Element;
4
+ export { Label };
@@ -0,0 +1,16 @@
1
+ import { cn } from "../lib/utils.js";
2
+ import { Label } from "radix-ui";
3
+ import "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/label.tsx
6
+ function Label$1({ className, ...props }) {
7
+ return /* @__PURE__ */ jsx(Label.Root, {
8
+ "data-slot": "label",
9
+ className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className),
10
+ ...props
11
+ });
12
+ }
13
+ //#endregion
14
+ export { Label$1 as Label };
15
+
16
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","names":["Label","LabelPrimitive"],"sources":["../../src/components/label.tsx"],"sourcesContent":["import { Label as LabelPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../lib/utils';\n\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"],"mappings":";;;;;AAKA,SAASA,QAAM,EAAE,WAAW,GAAG,SAA2D;CACxF,OACE,oBAACC,MAAe,MAAhB;EACE,aAAU;EACV,WAAW,GACT,uNACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,9 @@
1
+ import { Popover as PopoverPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ /** The floating-surface look shared by popovers, menus and select lists. */
4
+ export declare const surfaceClasses = "z-50 animate-in rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=closed]:animate-out";
5
+ declare function Popover(props: React.ComponentProps<typeof PopoverPrimitive.Root>): React.JSX.Element;
6
+ declare function PopoverTrigger(props: React.ComponentProps<typeof PopoverPrimitive.Trigger>): React.JSX.Element;
7
+ declare function PopoverAnchor(props: React.ComponentProps<typeof PopoverPrimitive.Anchor>): React.JSX.Element;
8
+ declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): React.JSX.Element;
9
+ export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };
@@ -0,0 +1,38 @@
1
+ import { cn } from "../lib/utils.js";
2
+ import { Popover } from "radix-ui";
3
+ import "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/popover.tsx
6
+ /** The floating-surface look shared by popovers, menus and select lists. */
7
+ var surfaceClasses = "z-50 animate-in rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=closed]:animate-out";
8
+ function Popover$1(props) {
9
+ return /* @__PURE__ */ jsx(Popover.Root, {
10
+ "data-slot": "popover",
11
+ ...props
12
+ });
13
+ }
14
+ function PopoverTrigger(props) {
15
+ return /* @__PURE__ */ jsx(Popover.Trigger, {
16
+ "data-slot": "popover-trigger",
17
+ ...props
18
+ });
19
+ }
20
+ function PopoverAnchor(props) {
21
+ return /* @__PURE__ */ jsx(Popover.Anchor, {
22
+ "data-slot": "popover-anchor",
23
+ ...props
24
+ });
25
+ }
26
+ function PopoverContent({ className, align = "center", sideOffset = 6, ...props }) {
27
+ return /* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsx(Popover.Content, {
28
+ "data-slot": "popover-content",
29
+ align,
30
+ sideOffset,
31
+ className: cn(surfaceClasses, "w-72 origin-(--radix-popover-content-transform-origin) p-4 outline-hidden", className),
32
+ ...props
33
+ }) });
34
+ }
35
+ //#endregion
36
+ export { Popover$1 as Popover, PopoverAnchor, PopoverContent, PopoverTrigger, surfaceClasses };
37
+
38
+ //# sourceMappingURL=popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.js","names":["Popover","PopoverPrimitive"],"sources":["../../src/components/popover.tsx"],"sourcesContent":["import { Popover as PopoverPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../lib/utils';\n\n/** The floating-surface look shared by popovers, menus and select lists. */\nexport const surfaceClasses =\n 'z-50 animate-in rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=closed]:animate-out';\n\nfunction Popover(props: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger(props: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverAnchor(props: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = 'center',\n sideOffset = 6,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n surfaceClasses,\n 'w-72 origin-(--radix-popover-content-transform-origin) p-4 outline-hidden',\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };\n"],"mappings":";;;;;;AAMA,IAAa,iBACX;AAEF,SAASA,UAAQ,OAA2D;CAC1E,OAAO,oBAACC,QAAiB,MAAlB;EAAuB,aAAU;EAAU,GAAI;CAAQ,CAAA;AAChE;AAEA,SAAS,eAAe,OAA8D;CACpF,OAAO,oBAACA,QAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;CAAQ,CAAA;AAC3E;AAEA,SAAS,cAAc,OAA6D;CAClF,OAAO,oBAACA,QAAiB,QAAlB;EAAyB,aAAU;EAAiB,GAAI;CAAQ,CAAA;AACzE;AAEA,SAAS,eAAe,EACtB,WACA,QAAQ,UACR,aAAa,GACb,GAAG,SACqD;CACxD,OACE,oBAACA,QAAiB,QAAlB,EAAA,UACE,oBAACA,QAAiB,SAAlB;EACE,aAAU;EACH;EACK;EACZ,WAAW,GACT,gBACA,6EACA,SACF;EACA,GAAI;CACL,CAAA,EACsB,CAAA;AAE7B"}
@@ -0,0 +1,4 @@
1
+ import { Progress as ProgressPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ declare function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>): React.JSX.Element;
4
+ export { Progress };
@@ -0,0 +1,22 @@
1
+ import { cn } from "../lib/utils.js";
2
+ import { Progress } from "radix-ui";
3
+ import "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/progress.tsx
6
+ function Progress$1({ className, value, ...props }) {
7
+ return /* @__PURE__ */ jsx(Progress.Root, {
8
+ "data-slot": "progress",
9
+ value,
10
+ className: cn("relative h-2 w-full overflow-hidden rounded-full bg-primary/20", className),
11
+ ...props,
12
+ children: /* @__PURE__ */ jsx(Progress.Indicator, {
13
+ "data-slot": "progress-indicator",
14
+ className: "h-full w-full flex-1 bg-primary transition-transform",
15
+ style: { transform: `translateX(-${100 - (value ?? 0)}%)` }
16
+ })
17
+ });
18
+ }
19
+ //#endregion
20
+ export { Progress$1 as Progress };
21
+
22
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","names":["Progress","ProgressPrimitive"],"sources":["../../src/components/progress.tsx"],"sourcesContent":["import { Progress as ProgressPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../lib/utils';\n\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n value={value}\n className={cn('relative h-2 w-full overflow-hidden rounded-full bg-primary/20', className)}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"h-full w-full flex-1 bg-primary transition-transform\"\n style={{ transform: `translateX(-${100 - (value ?? 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress };\n"],"mappings":";;;;;AAKA,SAASA,WAAS,EAChB,WACA,OACA,GAAG,SACmD;CACtD,OACE,oBAACC,SAAkB,MAAnB;EACE,aAAU;EACH;EACP,WAAW,GAAG,kEAAkE,SAAS;EACzF,GAAI;EAEJ,UAAA,oBAACA,SAAkB,WAAnB;GACE,aAAU;GACV,WAAU;GACV,OAAO,EAAE,WAAW,eAAe,OAAO,SAAS,GAAG,IAAI;EAC3D,CAAA;CACqB,CAAA;AAE5B"}
@@ -0,0 +1,5 @@
1
+ import { RadioGroup as RadioGroupPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ declare function RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>): React.JSX.Element;
4
+ declare function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>): React.JSX.Element;
5
+ export { RadioGroup, RadioGroupItem };
@@ -0,0 +1,28 @@
1
+ import { cn } from "../lib/utils.js";
2
+ import { RadioGroup } from "radix-ui";
3
+ import "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/radio-group.tsx
6
+ function RadioGroup$1({ className, ...props }) {
7
+ return /* @__PURE__ */ jsx(RadioGroup.Root, {
8
+ "data-slot": "radio-group",
9
+ className: cn("grid gap-3", className),
10
+ ...props
11
+ });
12
+ }
13
+ function RadioGroupItem({ className, ...props }) {
14
+ return /* @__PURE__ */ jsx(RadioGroup.Item, {
15
+ "data-slot": "radio-group-item",
16
+ className: cn("aspect-square size-4 shrink-0 rounded-full border border-input text-primary shadow-xs transition-shadow outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive data-[state=checked]:border-primary dark:bg-input/20", className),
17
+ ...props,
18
+ children: /* @__PURE__ */ jsx(RadioGroup.Indicator, {
19
+ "data-slot": "radio-group-indicator",
20
+ className: "relative flex items-center justify-center",
21
+ children: /* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-primary" })
22
+ })
23
+ });
24
+ }
25
+ //#endregion
26
+ export { RadioGroup$1 as RadioGroup, RadioGroupItem };
27
+
28
+ //# sourceMappingURL=radio-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.js","names":["RadioGroup","RadioGroupPrimitive"],"sources":["../../src/components/radio-group.tsx"],"sourcesContent":["import { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../lib/utils';\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn('grid gap-3', className)}\n {...props}\n />\n );\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n 'aspect-square size-4 shrink-0 rounded-full border border-input text-primary shadow-xs transition-shadow outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive data-[state=checked]:border-primary dark:bg-input/20',\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <span className=\"size-2 rounded-full bg-primary\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n"],"mappings":";;;;;AAKA,SAASA,aAAW,EAClB,WACA,GAAG,SACqD;CACxD,OACE,oBAACC,WAAoB,MAArB;EACE,aAAU;EACV,WAAW,GAAG,cAAc,SAAS;EACrC,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;CACxD,OACE,oBAACA,WAAoB,MAArB;EACE,aAAU;EACV,WAAW,GACT,iTACA,SACF;EACA,GAAI;EAEJ,UAAA,oBAACA,WAAoB,WAArB;GACE,aAAU;GACV,WAAU;GAEV,UAAA,oBAAC,QAAD,EAAM,WAAU,iCAAkC,CAAA;EACrB,CAAA;CACP,CAAA;AAE9B"}
@@ -0,0 +1,5 @@
1
+ import { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ declare function ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>): React.JSX.Element;
4
+ declare function ScrollBar({ className, orientation, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>): React.JSX.Element;
5
+ export { ScrollArea, ScrollBar };
@@ -0,0 +1,37 @@
1
+ import { cn } from "../lib/utils.js";
2
+ import { ScrollArea } from "radix-ui";
3
+ import "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/components/scroll-area.tsx
6
+ function ScrollArea$1({ className, children, ...props }) {
7
+ return /* @__PURE__ */ jsxs(ScrollArea.Root, {
8
+ "data-slot": "scroll-area",
9
+ className: cn("relative", className),
10
+ ...props,
11
+ children: [
12
+ /* @__PURE__ */ jsx(ScrollArea.Viewport, {
13
+ "data-slot": "scroll-area-viewport",
14
+ className: "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",
15
+ children
16
+ }),
17
+ /* @__PURE__ */ jsx(ScrollBar, {}),
18
+ /* @__PURE__ */ jsx(ScrollArea.Corner, {})
19
+ ]
20
+ });
21
+ }
22
+ function ScrollBar({ className, orientation = "vertical", ...props }) {
23
+ return /* @__PURE__ */ jsx(ScrollArea.ScrollAreaScrollbar, {
24
+ "data-slot": "scroll-area-scrollbar",
25
+ orientation,
26
+ className: cn("flex touch-none p-px transition-colors select-none", orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent", orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent", className),
27
+ ...props,
28
+ children: /* @__PURE__ */ jsx(ScrollArea.ScrollAreaThumb, {
29
+ "data-slot": "scroll-area-thumb",
30
+ className: "relative flex-1 rounded-full bg-border"
31
+ })
32
+ });
33
+ }
34
+ //#endregion
35
+ export { ScrollArea$1 as ScrollArea, ScrollBar };
36
+
37
+ //# sourceMappingURL=scroll-area.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area.js","names":["ScrollArea","ScrollAreaPrimitive"],"sources":["../../src/components/scroll-area.tsx"],"sourcesContent":["import { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { cn } from '../lib/utils';\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn('relative', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n 'flex touch-none p-px transition-colors select-none',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"relative flex-1 rounded-full bg-border\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":";;;;;AAKA,SAASA,aAAW,EAClB,WACA,UACA,GAAG,SACqD;CACxD,OACE,qBAACC,WAAoB,MAArB;EACE,aAAU;EACV,WAAW,GAAG,YAAY,SAAS;EACnC,GAAI;EAHN,UAAA;GAKE,oBAACA,WAAoB,UAArB;IACE,aAAU;IACV,WAAU;IAET;GAC2B,CAAA;GAC9B,oBAAC,WAAD,CAAY,CAAA;GACZ,oBAACA,WAAoB,QAArB,CAA6B,CAAA;EACL;;AAE9B;AAEA,SAAS,UAAU,EACjB,WACA,cAAc,YACd,GAAG,SACoE;CACvE,OACE,oBAACA,WAAoB,qBAArB;EACE,aAAU;EACG;EACb,WAAW,GACT,sDACA,gBAAgB,cAAc,8CAC9B,gBAAgB,gBAAgB,gDAChC,SACF;EACA,GAAI;EAEJ,UAAA,oBAACA,WAAoB,iBAArB;GACE,aAAU;GACV,WAAU;EACX,CAAA;CACsC,CAAA;AAE7C"}
@@ -0,0 +1,13 @@
1
+ import { Select as SelectPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ declare function Select(props: React.ComponentProps<typeof SelectPrimitive.Root>): React.JSX.Element;
4
+ declare function SelectGroup(props: React.ComponentProps<typeof SelectPrimitive.Group>): React.JSX.Element;
5
+ declare function SelectValue(props: React.ComponentProps<typeof SelectPrimitive.Value>): React.JSX.Element;
6
+ declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
7
+ size?: 'sm' | 'default';
8
+ }): React.JSX.Element;
9
+ declare function SelectContent({ className, children, position, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): React.JSX.Element;
10
+ declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): React.JSX.Element;
11
+ declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): React.JSX.Element;
12
+ declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): React.JSX.Element;
13
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, };