@dilipod/ui 0.2.4 → 0.2.5

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 (73) hide show
  1. package/dist/components/accordion.d.ts +8 -0
  2. package/dist/components/accordion.d.ts.map +1 -0
  3. package/dist/components/alert.d.ts +16 -0
  4. package/dist/components/alert.d.ts.map +1 -0
  5. package/dist/components/avatar.d.ts +7 -0
  6. package/dist/components/avatar.d.ts.map +1 -0
  7. package/dist/components/badge.d.ts +15 -0
  8. package/dist/components/badge.d.ts.map +1 -0
  9. package/dist/components/button.d.ts +16 -0
  10. package/dist/components/button.d.ts.map +1 -0
  11. package/dist/components/card.d.ts +9 -0
  12. package/dist/components/card.d.ts.map +1 -0
  13. package/dist/components/checkbox.d.ts +7 -0
  14. package/dist/components/checkbox.d.ts.map +1 -0
  15. package/dist/components/code-block.d.ts +10 -0
  16. package/dist/components/code-block.d.ts.map +1 -0
  17. package/dist/components/divider.d.ts +10 -0
  18. package/dist/components/divider.d.ts.map +1 -0
  19. package/dist/components/dropdown-menu.d.ts +28 -0
  20. package/dist/components/dropdown-menu.d.ts.map +1 -0
  21. package/dist/components/empty-state.d.ts +16 -0
  22. package/dist/components/empty-state.d.ts.map +1 -0
  23. package/dist/components/form-field.d.ts +20 -0
  24. package/dist/components/form-field.d.ts.map +1 -0
  25. package/dist/components/icon-box.d.ts +12 -0
  26. package/dist/components/icon-box.d.ts.map +1 -0
  27. package/dist/components/input.d.ts +8 -0
  28. package/dist/components/input.d.ts.map +1 -0
  29. package/dist/components/label.d.ts +7 -0
  30. package/dist/components/label.d.ts.map +1 -0
  31. package/dist/components/logo.d.ts +17 -0
  32. package/dist/components/logo.d.ts.map +1 -0
  33. package/dist/components/navigation-menu.d.ts +13 -0
  34. package/dist/components/navigation-menu.d.ts.map +1 -0
  35. package/dist/components/progress.d.ts +18 -0
  36. package/dist/components/progress.d.ts.map +1 -0
  37. package/dist/components/separator.d.ts +6 -0
  38. package/dist/components/separator.d.ts.map +1 -0
  39. package/dist/components/sheet.d.ts +26 -0
  40. package/dist/components/sheet.d.ts.map +1 -0
  41. package/dist/components/sidebar.d.ts +51 -0
  42. package/dist/components/sidebar.d.ts.map +1 -0
  43. package/dist/components/stat.d.ts +25 -0
  44. package/dist/components/stat.d.ts.map +1 -0
  45. package/dist/components/table.d.ts +11 -0
  46. package/dist/components/table.d.ts.map +1 -0
  47. package/dist/components/tag.d.ts +13 -0
  48. package/dist/components/tag.d.ts.map +1 -0
  49. package/dist/components/textarea.d.ts +8 -0
  50. package/dist/components/textarea.d.ts.map +1 -0
  51. package/dist/icons.d.ts +17 -0
  52. package/dist/icons.d.ts.map +1 -0
  53. package/dist/index.d.ts +46 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +278 -10
  56. package/dist/index.js.map +1 -1
  57. package/dist/index.mjs +266 -12
  58. package/dist/index.mjs.map +1 -1
  59. package/dist/lib/utils.d.ts +3 -0
  60. package/dist/lib/utils.d.ts.map +1 -0
  61. package/package.json +2 -2
  62. package/src/components/alert.tsx +67 -0
  63. package/src/components/button.tsx +33 -2
  64. package/src/components/code-block.tsx +32 -0
  65. package/src/components/divider.tsx +52 -0
  66. package/src/components/dropdown-menu.tsx +3 -3
  67. package/src/components/empty-state.tsx +63 -0
  68. package/src/components/form-field.tsx +73 -0
  69. package/src/components/input.tsx +10 -3
  70. package/src/components/sidebar.tsx +4 -4
  71. package/src/components/table.tsx +108 -0
  72. package/src/components/textarea.tsx +10 -3
  73. package/src/index.ts +26 -0
@@ -0,0 +1,46 @@
1
+ export { Button, buttonVariants } from './components/button';
2
+ export type { ButtonProps } from './components/button';
3
+ export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, } from './components/sheet';
4
+ export { Logo } from './components/logo';
5
+ export type { LogoProps } from './components/logo';
6
+ export { Badge, badgeVariants } from './components/badge';
7
+ export type { BadgeProps } from './components/badge';
8
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, } from './components/card';
9
+ export { Progress, progressVariants } from './components/progress';
10
+ export type { ProgressProps } from './components/progress';
11
+ export { IconBox, iconBoxVariants } from './components/icon-box';
12
+ export type { IconBoxProps } from './components/icon-box';
13
+ export { Tag, tagVariants } from './components/tag';
14
+ export type { TagProps } from './components/tag';
15
+ export { Stat, statVariants, valueVariants } from './components/stat';
16
+ export type { StatProps } from './components/stat';
17
+ export { Input } from './components/input';
18
+ export type { InputProps } from './components/input';
19
+ export { Label } from './components/label';
20
+ export type { LabelProps } from '@radix-ui/react-label';
21
+ export { Textarea } from './components/textarea';
22
+ export type { TextareaProps } from './components/textarea';
23
+ export { Checkbox } from './components/checkbox';
24
+ export type { CheckboxProps } from './components/checkbox';
25
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent, } from './components/accordion';
26
+ export { Separator } from './components/separator';
27
+ export type { SeparatorProps } from '@radix-ui/react-separator';
28
+ export { navigationMenuTriggerStyle, NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuIndicator, NavigationMenuViewport, } from './components/navigation-menu';
29
+ export { Avatar, AvatarImage, AvatarFallback, } from './components/avatar';
30
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, } from './components/dropdown-menu';
31
+ export { Sidebar, SidebarNavItem, } from './components/sidebar';
32
+ export type { SidebarProps, SidebarNavItem as SidebarNavItemType, SidebarNavItemProps, } from './components/sidebar';
33
+ export { Alert, alertVariants } from './components/alert';
34
+ export type { AlertProps } from './components/alert';
35
+ export { EmptyState } from './components/empty-state';
36
+ export type { EmptyStateProps } from './components/empty-state';
37
+ export { CodeBlock } from './components/code-block';
38
+ export type { CodeBlockProps } from './components/code-block';
39
+ export { FormField } from './components/form-field';
40
+ export type { FormFieldProps } from './components/form-field';
41
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, } from './components/table';
42
+ export { Divider } from './components/divider';
43
+ export type { DividerProps } from './components/divider';
44
+ export { cn } from './lib/utils';
45
+ export * from './icons';
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -70,14 +70,49 @@ var buttonVariants = classVarianceAuthority.cva(
70
70
  }
71
71
  );
72
72
  var Button = React21__namespace.forwardRef(
73
- ({ className, variant, size, asChild = false, ...props }, ref) => {
73
+ ({ className, variant, size, asChild = false, loading, loadingText, children, disabled, ...props }, ref) => {
74
74
  const Comp = asChild ? reactSlot.Slot : "button";
75
- return /* @__PURE__ */ jsxRuntime.jsx(
75
+ const isDisabled = disabled || loading;
76
+ return /* @__PURE__ */ jsxRuntime.jsxs(
76
77
  Comp,
77
78
  {
78
79
  className: cn(buttonVariants({ variant, size, className })),
79
80
  ref,
80
- ...props
81
+ disabled: isDisabled,
82
+ ...props,
83
+ children: [
84
+ loading && /* @__PURE__ */ jsxRuntime.jsxs(
85
+ "svg",
86
+ {
87
+ className: "animate-spin h-4 w-4",
88
+ xmlns: "http://www.w3.org/2000/svg",
89
+ fill: "none",
90
+ viewBox: "0 0 24 24",
91
+ children: [
92
+ /* @__PURE__ */ jsxRuntime.jsx(
93
+ "circle",
94
+ {
95
+ className: "opacity-25",
96
+ cx: "12",
97
+ cy: "12",
98
+ r: "10",
99
+ stroke: "currentColor",
100
+ strokeWidth: "4"
101
+ }
102
+ ),
103
+ /* @__PURE__ */ jsxRuntime.jsx(
104
+ "path",
105
+ {
106
+ className: "opacity-75",
107
+ fill: "currentColor",
108
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
109
+ }
110
+ )
111
+ ]
112
+ }
113
+ ),
114
+ loading ? loadingText || children : children
115
+ ]
81
116
  }
82
117
  );
83
118
  }
@@ -597,16 +632,18 @@ var Stat = React21__namespace.forwardRef(
597
632
  );
598
633
  Stat.displayName = "Stat";
599
634
  var Input = React21__namespace.forwardRef(
600
- ({ className, type, ...props }, ref) => {
635
+ ({ className, type, error, ...props }, ref) => {
601
636
  return /* @__PURE__ */ jsxRuntime.jsx(
602
637
  "input",
603
638
  {
604
639
  type,
605
640
  className: cn(
606
- "flex h-10 w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-base text-[var(--black)] ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-[var(--black)] placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--cyan)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-colors",
641
+ "flex h-10 w-full rounded-sm border bg-white px-3 py-2 text-base text-[var(--black)] ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-[var(--black)] placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-colors",
642
+ error ? "border-red-500 focus-visible:ring-red-500" : "border-gray-300 focus-visible:ring-[var(--cyan)]",
607
643
  className
608
644
  ),
609
645
  ref,
646
+ "aria-invalid": error ? "true" : void 0,
610
647
  ...props
611
648
  }
612
649
  );
@@ -676,15 +713,17 @@ var Label2 = React21__namespace.forwardRef(({ className, ...props }, ref) => /*
676
713
  ));
677
714
  Label2.displayName = Root2.displayName;
678
715
  var Textarea = React21__namespace.forwardRef(
679
- ({ className, ...props }, ref) => {
716
+ ({ className, error, ...props }, ref) => {
680
717
  return /* @__PURE__ */ jsxRuntime.jsx(
681
718
  "textarea",
682
719
  {
683
720
  className: cn(
684
- "flex min-h-[80px] w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-base text-[var(--black)] ring-offset-background placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--cyan)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-colors",
721
+ "flex min-h-[80px] w-full rounded-sm border bg-white px-3 py-2 text-base text-[var(--black)] ring-offset-background placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-colors resize-none",
722
+ error ? "border-red-500 focus-visible:ring-red-500" : "border-gray-300 focus-visible:ring-[var(--cyan)]",
685
723
  className
686
724
  ),
687
725
  ref,
726
+ "aria-invalid": error ? "true" : void 0,
688
727
  ...props
689
728
  }
690
729
  );
@@ -994,7 +1033,7 @@ var DropdownMenuContent = React21__namespace.forwardRef(({ className, sideOffset
994
1033
  ref,
995
1034
  sideOffset,
996
1035
  className: cn(
997
- "z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-sm border bg-popover p-1 text-popover-foreground shadow-md 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 origin-[--radix-dropdown-menu-content-transform-origin]",
1036
+ "z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-sm border bg-popover p-1.5 text-popover-foreground shadow-md 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 origin-[--radix-dropdown-menu-content-transform-origin]",
998
1037
  className
999
1038
  ),
1000
1039
  ...props
@@ -1006,7 +1045,7 @@ var DropdownMenuItem = React21__namespace.forwardRef(({ className, inset, ...pro
1006
1045
  {
1007
1046
  ref,
1008
1047
  className: cn(
1009
- "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1048
+ "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-3 py-2 text-sm outline-none transition-colors focus:bg-muted focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1010
1049
  inset && "pl-8",
1011
1050
  className
1012
1051
  ),
@@ -1052,7 +1091,7 @@ var DropdownMenuLabel = React21__namespace.forwardRef(({ className, inset, ...pr
1052
1091
  {
1053
1092
  ref,
1054
1093
  className: cn(
1055
- "px-2 py-1.5 text-sm font-semibold",
1094
+ "px-3 py-2 text-sm font-semibold text-foreground",
1056
1095
  inset && "pl-8",
1057
1096
  className
1058
1097
  ),
@@ -1202,6 +1241,221 @@ var Sidebar = React21__namespace.forwardRef(
1202
1241
  }
1203
1242
  );
1204
1243
  Sidebar.displayName = "Sidebar";
1244
+ var alertVariants = classVarianceAuthority.cva(
1245
+ "rounded-sm border p-3 text-sm",
1246
+ {
1247
+ variants: {
1248
+ variant: {
1249
+ default: "bg-background border-border text-foreground",
1250
+ success: "bg-green-50 border-green-200 text-green-900",
1251
+ error: "bg-red-50 border-red-200 text-red-900",
1252
+ warning: "bg-amber-50 border-amber-200 text-amber-900",
1253
+ info: "bg-blue-50 border-blue-200 text-blue-900",
1254
+ primary: "bg-[var(--cyan)]/10 border-[var(--cyan)]/20 text-[var(--cyan)]"
1255
+ }
1256
+ },
1257
+ defaultVariants: {
1258
+ variant: "default"
1259
+ }
1260
+ }
1261
+ );
1262
+ var Alert = React21__namespace.forwardRef(
1263
+ ({ className, variant, icon, title, action, children, ...props }, ref) => {
1264
+ return /* @__PURE__ */ jsxRuntime.jsx(
1265
+ "div",
1266
+ {
1267
+ ref,
1268
+ className: cn(alertVariants({ variant }), className),
1269
+ ...props,
1270
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-3", children: [
1271
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3 flex-1", children: [
1272
+ icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 mt-0.5", children: icon }),
1273
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
1274
+ title && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold mb-1", children: title }),
1275
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: title ? "text-sm" : "", children })
1276
+ ] })
1277
+ ] }),
1278
+ action && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: action })
1279
+ ] })
1280
+ }
1281
+ );
1282
+ }
1283
+ );
1284
+ Alert.displayName = "Alert";
1285
+ var EmptyState = React21__namespace.forwardRef(
1286
+ ({ className, icon, title, description, action, size = "default", ...props }, ref) => {
1287
+ const paddingClass = {
1288
+ sm: "p-8",
1289
+ default: "p-12",
1290
+ lg: "p-16"
1291
+ }[size];
1292
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1293
+ "div",
1294
+ {
1295
+ ref,
1296
+ className: cn(
1297
+ "rounded-sm border border-dashed text-center",
1298
+ paddingClass,
1299
+ className
1300
+ ),
1301
+ ...props,
1302
+ children: [
1303
+ icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-4", children: icon }),
1304
+ title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-foreground mb-1", children: title }),
1305
+ description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground mb-4", children: description }),
1306
+ action && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: action })
1307
+ ]
1308
+ }
1309
+ );
1310
+ }
1311
+ );
1312
+ EmptyState.displayName = "EmptyState";
1313
+ var CodeBlock = React21__namespace.forwardRef(
1314
+ ({ className, children, language, ...props }, ref) => {
1315
+ return /* @__PURE__ */ jsxRuntime.jsx(
1316
+ "pre",
1317
+ {
1318
+ ref,
1319
+ className: cn(
1320
+ "rounded-sm bg-muted p-4 text-sm overflow-auto font-mono",
1321
+ className
1322
+ ),
1323
+ ...language && { "data-language": language },
1324
+ ...props,
1325
+ children: /* @__PURE__ */ jsxRuntime.jsx("code", { children })
1326
+ }
1327
+ );
1328
+ }
1329
+ );
1330
+ CodeBlock.displayName = "CodeBlock";
1331
+ var FormField = React21__namespace.forwardRef(
1332
+ ({ label, error, helperText, required, id, className, children, ...props }, ref) => {
1333
+ const fieldId = id || React21__namespace.useId();
1334
+ const errorId = `${fieldId}-error`;
1335
+ const helperId = `${fieldId}-helper`;
1336
+ const enhancedChildren = React21__namespace.Children.map(children, (child) => {
1337
+ if (React21__namespace.isValidElement(child)) {
1338
+ const childProps = child.props;
1339
+ return React21__namespace.cloneElement(child, {
1340
+ id: fieldId,
1341
+ "aria-invalid": error ? "true" : void 0,
1342
+ "aria-describedby": error ? errorId : helperText ? helperId : void 0,
1343
+ className: cn(
1344
+ childProps.className,
1345
+ error && "border-red-500 focus-visible:ring-red-500"
1346
+ )
1347
+ });
1348
+ }
1349
+ return child;
1350
+ });
1351
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("space-y-2", className), ...props, children: [
1352
+ label && /* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: fieldId, className: required ? 'after:content-["*"] after:ml-0.5 after:text-red-500' : "", children: label }),
1353
+ enhancedChildren,
1354
+ error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: errorId, className: "text-sm text-red-600", role: "alert", children: error }),
1355
+ helperText && !error && /* @__PURE__ */ jsxRuntime.jsx("p", { id: helperId, className: "text-xs text-muted-foreground", children: helperText })
1356
+ ] });
1357
+ }
1358
+ );
1359
+ FormField.displayName = "FormField";
1360
+ var Table = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
1361
+ "table",
1362
+ {
1363
+ ref,
1364
+ className: cn("w-full border-collapse", className),
1365
+ ...props
1366
+ }
1367
+ ) }));
1368
+ Table.displayName = "Table";
1369
+ var TableHeader = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("", className), ...props }));
1370
+ TableHeader.displayName = "TableHeader";
1371
+ var TableBody = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("tbody", { ref, className: cn("", className), ...props }));
1372
+ TableBody.displayName = "TableBody";
1373
+ var TableFooter = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1374
+ "tfoot",
1375
+ {
1376
+ ref,
1377
+ className: cn("border-t bg-muted/50 font-medium", className),
1378
+ ...props
1379
+ }
1380
+ ));
1381
+ TableFooter.displayName = "TableFooter";
1382
+ var TableRow = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1383
+ "tr",
1384
+ {
1385
+ ref,
1386
+ className: cn("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", className),
1387
+ ...props
1388
+ }
1389
+ ));
1390
+ TableRow.displayName = "TableRow";
1391
+ var TableHead = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1392
+ "th",
1393
+ {
1394
+ ref,
1395
+ className: cn(
1396
+ "h-12 px-4 text-left align-middle font-semibold text-muted-foreground [&:has([role=checkbox])]:pr-0",
1397
+ className
1398
+ ),
1399
+ ...props
1400
+ }
1401
+ ));
1402
+ TableHead.displayName = "TableHead";
1403
+ var TableCell = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1404
+ "td",
1405
+ {
1406
+ ref,
1407
+ className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
1408
+ ...props
1409
+ }
1410
+ ));
1411
+ TableCell.displayName = "TableCell";
1412
+ var TableCaption = React21__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1413
+ "caption",
1414
+ {
1415
+ ref,
1416
+ className: cn("mt-4 text-sm text-muted-foreground", className),
1417
+ ...props
1418
+ }
1419
+ ));
1420
+ TableCaption.displayName = "TableCaption";
1421
+ var Divider = React21__namespace.forwardRef(
1422
+ ({ className, text, orientation = "horizontal", ...props }, ref) => {
1423
+ if (orientation === "vertical") {
1424
+ return /* @__PURE__ */ jsxRuntime.jsx(
1425
+ "div",
1426
+ {
1427
+ ref,
1428
+ className: cn("w-px h-full bg-border", className),
1429
+ ...props
1430
+ }
1431
+ );
1432
+ }
1433
+ if (text) {
1434
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1435
+ "div",
1436
+ {
1437
+ ref,
1438
+ className: cn("relative flex items-center", className),
1439
+ ...props,
1440
+ children: [
1441
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 border-t" }),
1442
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "px-2 text-xs uppercase text-muted-foreground bg-background", children: text }),
1443
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 border-t" })
1444
+ ]
1445
+ }
1446
+ );
1447
+ }
1448
+ return /* @__PURE__ */ jsxRuntime.jsx(
1449
+ "div",
1450
+ {
1451
+ ref,
1452
+ className: cn("border-t", className),
1453
+ ...props
1454
+ }
1455
+ );
1456
+ }
1457
+ );
1458
+ Divider.displayName = "Divider";
1205
1459
 
1206
1460
  Object.defineProperty(exports, "AddressBook", {
1207
1461
  enumerable: true,
@@ -1523,6 +1777,7 @@ exports.Accordion = Accordion;
1523
1777
  exports.AccordionContent = AccordionContent;
1524
1778
  exports.AccordionItem = AccordionItem;
1525
1779
  exports.AccordionTrigger = AccordionTrigger;
1780
+ exports.Alert = Alert;
1526
1781
  exports.Avatar = Avatar;
1527
1782
  exports.AvatarFallback = AvatarFallback;
1528
1783
  exports.AvatarImage = AvatarImage;
@@ -1535,6 +1790,8 @@ exports.CardFooter = CardFooter;
1535
1790
  exports.CardHeader = CardHeader;
1536
1791
  exports.CardTitle = CardTitle;
1537
1792
  exports.Checkbox = Checkbox;
1793
+ exports.CodeBlock = CodeBlock;
1794
+ exports.Divider = Divider;
1538
1795
  exports.DropdownMenu = DropdownMenu;
1539
1796
  exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
1540
1797
  exports.DropdownMenuContent = DropdownMenuContent;
@@ -1550,6 +1807,8 @@ exports.DropdownMenuSub = DropdownMenuSub;
1550
1807
  exports.DropdownMenuSubContent = DropdownMenuSubContent;
1551
1808
  exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
1552
1809
  exports.DropdownMenuTrigger = DropdownMenuTrigger;
1810
+ exports.EmptyState = EmptyState;
1811
+ exports.FormField = FormField;
1553
1812
  exports.IconBox = IconBox;
1554
1813
  exports.Input = Input;
1555
1814
  exports.Label = Label2;
@@ -1577,8 +1836,17 @@ exports.SheetTrigger = SheetTrigger;
1577
1836
  exports.Sidebar = Sidebar;
1578
1837
  exports.SidebarNavItem = SidebarNavItem;
1579
1838
  exports.Stat = Stat;
1839
+ exports.Table = Table;
1840
+ exports.TableBody = TableBody;
1841
+ exports.TableCaption = TableCaption;
1842
+ exports.TableCell = TableCell;
1843
+ exports.TableFooter = TableFooter;
1844
+ exports.TableHead = TableHead;
1845
+ exports.TableHeader = TableHeader;
1846
+ exports.TableRow = TableRow;
1580
1847
  exports.Tag = Tag;
1581
1848
  exports.Textarea = Textarea;
1849
+ exports.alertVariants = alertVariants;
1582
1850
  exports.badgeVariants = badgeVariants;
1583
1851
  exports.buttonVariants = buttonVariants;
1584
1852
  exports.cn = cn;