@codefast/ui 0.0.6 → 0.0.7

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 (63) hide show
  1. package/dist/alert-dialog.js +3 -3
  2. package/dist/alert-dialog.mjs +1 -1
  3. package/dist/button.d.mts +2 -2
  4. package/dist/button.d.ts +2 -2
  5. package/dist/button.js +2 -2
  6. package/dist/button.mjs +1 -1
  7. package/dist/calendar.js +3 -3
  8. package/dist/calendar.mjs +1 -1
  9. package/dist/carousel.js +3 -3
  10. package/dist/carousel.mjs +1 -1
  11. package/dist/chunk-2D7SRYKN.js +135 -0
  12. package/dist/chunk-2D7SRYKN.js.map +1 -0
  13. package/dist/chunk-EDVCMWDT.mjs +158 -0
  14. package/dist/chunk-EDVCMWDT.mjs.map +1 -0
  15. package/dist/chunk-ESWGFN3R.mjs +135 -0
  16. package/dist/chunk-ESWGFN3R.mjs.map +1 -0
  17. package/dist/{chunk-Z524G4RY.mjs → chunk-KW5FJ62U.mjs} +6 -2
  18. package/dist/chunk-KW5FJ62U.mjs.map +1 -0
  19. package/dist/chunk-OCLLX7EY.js +158 -0
  20. package/dist/chunk-OCLLX7EY.js.map +1 -0
  21. package/dist/{chunk-4K26QLS2.js → chunk-U2WDUCW3.js} +6 -2
  22. package/dist/chunk-U2WDUCW3.js.map +1 -0
  23. package/dist/command.d.mts +15 -15
  24. package/dist/command.d.ts +15 -15
  25. package/dist/data-table.d.mts +16 -0
  26. package/dist/data-table.d.ts +16 -0
  27. package/dist/data-table.js +255 -0
  28. package/dist/data-table.js.map +1 -0
  29. package/dist/data-table.mjs +255 -0
  30. package/dist/data-table.mjs.map +1 -0
  31. package/dist/dropdown-menu.js +34 -157
  32. package/dist/dropdown-menu.js.map +1 -1
  33. package/dist/dropdown-menu.mjs +16 -139
  34. package/dist/dropdown-menu.mjs.map +1 -1
  35. package/dist/input-otp.d.mts +2 -2
  36. package/dist/input-otp.d.ts +2 -2
  37. package/dist/input.d.mts +58 -1
  38. package/dist/input.d.ts +58 -1
  39. package/dist/input.js +17 -6
  40. package/dist/input.js.map +1 -1
  41. package/dist/input.mjs +18 -7
  42. package/dist/input.mjs.map +1 -1
  43. package/dist/pagination.js +2 -2
  44. package/dist/pagination.mjs +1 -1
  45. package/dist/select.js +26 -134
  46. package/dist/select.js.map +1 -1
  47. package/dist/select.mjs +12 -120
  48. package/dist/select.mjs.map +1 -1
  49. package/dist/sheet.d.mts +1 -1
  50. package/dist/sheet.d.ts +1 -1
  51. package/dist/styles.css +1 -1
  52. package/dist/styles.css.map +1 -1
  53. package/dist/table.js +2 -5
  54. package/dist/table.js.map +1 -1
  55. package/dist/table.mjs +2 -5
  56. package/dist/table.mjs.map +1 -1
  57. package/package.json +8 -2
  58. package/src/button.tsx +4 -0
  59. package/src/data-table.tsx +255 -0
  60. package/src/input.tsx +26 -8
  61. package/src/table.tsx +2 -5
  62. package/dist/chunk-4K26QLS2.js.map +0 -1
  63. package/dist/chunk-Z524G4RY.mjs.map +0 -1
package/dist/table.js CHANGED
@@ -54,7 +54,7 @@ var TableHead = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__
54
54
  {
55
55
  ref,
56
56
  className: _chunkG3NP7M2Njs.cn.call(void 0,
57
- "text-muted-foreground h-10 px-3 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5",
57
+ "text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0",
58
58
  className
59
59
  ),
60
60
  ...props
@@ -65,10 +65,7 @@ var TableCell = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__
65
65
  "td",
66
66
  {
67
67
  ref,
68
- className: _chunkG3NP7M2Njs.cn.call(void 0,
69
- "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5",
70
- className
71
- ),
68
+ className: _chunkG3NP7M2Njs.cn.call(void 0, "p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
72
69
  ...props
73
70
  }
74
71
  ));
package/dist/table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/table.tsx"],"names":[],"mappings":";;;;;AAAA,YAAY,WAAW;AAYnB;AALJ,IAAM,QAAc,iBAGlB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,SAAI,WAAU,iCACb;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,iCAAiC,SAAS;AAAA,IACvD,GAAG;AAAA;AACN,GACF,CACD;AACD,MAAM,cAAc;AAMpB,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,WAAM,KAAU,WAAW,GAAG,mBAAmB,SAAS,GAAI,GAAG,OAAO,CAC1E;AACD,YAAY,cAAc;AAM1B,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,8BAA8B,SAAS;AAAA,IACpD,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,YAAY,cAAc;AAM1B,IAAM,WAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,SAAS,cAAc;AAMvB,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,eAAqB,iBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,sCAAsC,SAAS;AAAA,IAC5D,GAAG;AAAA;AACN,CACD;AACD,aAAa,cAAc","sourcesContent":["import * as React from \"react\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: Table\n * -------------------------------------------------------------------------- */\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n));\nTable.displayName = \"Table\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableHeader\n * -------------------------------------------------------------------------- */\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableBody\n * -------------------------------------------------------------------------- */\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableFooter\n * -------------------------------------------------------------------------- */\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableRow\n * -------------------------------------------------------------------------- */\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\",\n className,\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableHead\n * -------------------------------------------------------------------------- */\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"text-muted-foreground h-10 px-3 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5\",\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableCell\n * -------------------------------------------------------------------------- */\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5\",\n className,\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableCaption\n * -------------------------------------------------------------------------- */\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"text-muted-foreground mt-4 text-sm\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n"]}
1
+ {"version":3,"sources":["../src/table.tsx"],"names":[],"mappings":";;;;;AAAA,YAAY,WAAW;AAYnB;AALJ,IAAM,QAAc,iBAGlB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,SAAI,WAAU,iCACb;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,iCAAiC,SAAS;AAAA,IACvD,GAAG;AAAA;AACN,GACF,CACD;AACD,MAAM,cAAc;AAMpB,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,WAAM,KAAU,WAAW,GAAG,mBAAmB,SAAS,GAAI,GAAG,OAAO,CAC1E;AACD,YAAY,cAAc;AAM1B,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,8BAA8B,SAAS;AAAA,IACpD,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,YAAY,cAAc;AAM1B,IAAM,WAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,SAAS,cAAc;AAMvB,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,kDAAkD,SAAS;AAAA,IACxE,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,eAAqB,iBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,sCAAsC,SAAS;AAAA,IAC5D,GAAG;AAAA;AACN,CACD;AACD,aAAa,cAAc","sourcesContent":["import * as React from \"react\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: Table\n * -------------------------------------------------------------------------- */\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n));\nTable.displayName = \"Table\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableHeader\n * -------------------------------------------------------------------------- */\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableBody\n * -------------------------------------------------------------------------- */\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableFooter\n * -------------------------------------------------------------------------- */\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableRow\n * -------------------------------------------------------------------------- */\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\",\n className,\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableHead\n * -------------------------------------------------------------------------- */\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0\",\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableCell\n * -------------------------------------------------------------------------- */\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\"p-4 align-middle [&:has([role=checkbox])]:pr-0\", className)}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableCaption\n * -------------------------------------------------------------------------- */\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"text-muted-foreground mt-4 text-sm\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n"]}
package/dist/table.mjs CHANGED
@@ -54,7 +54,7 @@ var TableHead = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__
54
54
  {
55
55
  ref,
56
56
  className: cn(
57
- "text-muted-foreground h-10 px-3 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5",
57
+ "text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0",
58
58
  className
59
59
  ),
60
60
  ...props
@@ -65,10 +65,7 @@ var TableCell = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__
65
65
  "td",
66
66
  {
67
67
  ref,
68
- className: cn(
69
- "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5",
70
- className
71
- ),
68
+ className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
72
69
  ...props
73
70
  }
74
71
  ));
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/table.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: Table\n * -------------------------------------------------------------------------- */\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n));\nTable.displayName = \"Table\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableHeader\n * -------------------------------------------------------------------------- */\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableBody\n * -------------------------------------------------------------------------- */\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableFooter\n * -------------------------------------------------------------------------- */\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableRow\n * -------------------------------------------------------------------------- */\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\",\n className,\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableHead\n * -------------------------------------------------------------------------- */\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"text-muted-foreground h-10 px-3 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5\",\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableCell\n * -------------------------------------------------------------------------- */\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5\",\n className,\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableCaption\n * -------------------------------------------------------------------------- */\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"text-muted-foreground mt-4 text-sm\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n"],"mappings":";;;;;AAAA,YAAY,WAAW;AAYnB;AALJ,IAAM,QAAc,iBAGlB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,SAAI,WAAU,iCACb;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,iCAAiC,SAAS;AAAA,IACvD,GAAG;AAAA;AACN,GACF,CACD;AACD,MAAM,cAAc;AAMpB,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,WAAM,KAAU,WAAW,GAAG,mBAAmB,SAAS,GAAI,GAAG,OAAO,CAC1E;AACD,YAAY,cAAc;AAM1B,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,8BAA8B,SAAS;AAAA,IACpD,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,YAAY,cAAc;AAM1B,IAAM,WAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,SAAS,cAAc;AAMvB,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,eAAqB,iBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,sCAAsC,SAAS;AAAA,IAC5D,GAAG;AAAA;AACN,CACD;AACD,aAAa,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/table.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: Table\n * -------------------------------------------------------------------------- */\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n));\nTable.displayName = \"Table\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableHeader\n * -------------------------------------------------------------------------- */\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableBody\n * -------------------------------------------------------------------------- */\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableFooter\n * -------------------------------------------------------------------------- */\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableRow\n * -------------------------------------------------------------------------- */\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\",\n className,\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableHead\n * -------------------------------------------------------------------------- */\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0\",\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableCell\n * -------------------------------------------------------------------------- */\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\"p-4 align-middle [&:has([role=checkbox])]:pr-0\", className)}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\n/* -----------------------------------------------------------------------------\n * Component: TableCaption\n * -------------------------------------------------------------------------- */\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"text-muted-foreground mt-4 text-sm\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n"],"mappings":";;;;;AAAA,YAAY,WAAW;AAYnB;AALJ,IAAM,QAAc,iBAGlB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,SAAI,WAAU,iCACb;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,iCAAiC,SAAS;AAAA,IACvD,GAAG;AAAA;AACN,GACF,CACD;AACD,MAAM,cAAc;AAMpB,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,WAAM,KAAU,WAAW,GAAG,mBAAmB,SAAS,GAAI,GAAG,OAAO,CAC1E;AACD,YAAY,cAAc;AAM1B,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,8BAA8B,SAAS;AAAA,IACpD,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,cAAoB,iBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,YAAY,cAAc;AAM1B,IAAM,WAAiB,iBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,SAAS,cAAc;AAMvB,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,YAAkB,iBAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,kDAAkD,SAAS;AAAA,IACxE,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAMxB,IAAM,eAAqB,iBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,sCAAsC,SAAS;AAAA,IAC5D,GAAG;AAAA;AACN,CACD;AACD,aAAa,cAAc;","names":[]}
package/package.json CHANGED
@@ -1,11 +1,16 @@
1
1
  {
2
2
  "name": "@codefast/ui",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "license": "MIT",
5
5
  "sideEffects": [
6
6
  "**/*.css"
7
7
  ],
8
8
  "exports": {
9
+ "./data-table": {
10
+ "types": "./src/data-table.tsx",
11
+ "import": "./dist/data-table.mjs",
12
+ "require": "./dist/data-table.js"
13
+ },
9
14
  "./form": {
10
15
  "types": "./src/form.tsx",
11
16
  "import": "./dist/form.mjs",
@@ -267,13 +272,14 @@
267
272
  "@radix-ui/react-toggle": "^1.0.3",
268
273
  "@radix-ui/react-toggle-group": "^1.0.4",
269
274
  "@radix-ui/react-tooltip": "^1.0.7",
275
+ "@tanstack/react-table": "^8.15.3",
270
276
  "cmdk": "^1.0.0",
271
277
  "cva": "1.0.0-beta.1",
272
278
  "embla-carousel-react": "^8.0.0",
273
279
  "input-otp": "^1.2.3",
274
280
  "next-themes": "^0.3.0",
275
281
  "react-day-picker": "^8.10.0",
276
- "react-hook-form": "^7.51.1",
282
+ "react-hook-form": "^7.51.2",
277
283
  "react-resizable-panels": "^2.0.16",
278
284
  "sonner": "^1.4.41",
279
285
  "tailwind-merge": "^2.2.2",
package/src/button.tsx CHANGED
@@ -23,9 +23,13 @@ const buttonVariants = cva({
23
23
  },
24
24
  size: {
25
25
  default: "h-10 px-4",
26
+ xs: "h-8 px-2",
26
27
  sm: "h-9 px-3",
27
28
  lg: "h-11 px-8",
28
29
  icon: "size-10",
30
+ "icon-xs": "size-8",
31
+ "icon-sm": "size-9",
32
+ "icon-lg": "size-11",
29
33
  },
30
34
  },
31
35
  defaultVariants: {
@@ -0,0 +1,255 @@
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import type * as ReactTable from "@tanstack/react-table";
5
+ import {
6
+ ArrowDownIcon,
7
+ ArrowUpIcon,
8
+ CaretSortIcon,
9
+ ChevronLeftIcon,
10
+ ChevronRightIcon,
11
+ DoubleArrowLeftIcon,
12
+ DoubleArrowRightIcon,
13
+ EyeNoneIcon,
14
+ MixerHorizontalIcon,
15
+ } from "@radix-ui/react-icons";
16
+ import {
17
+ DropdownMenu,
18
+ DropdownMenuCheckboxItem,
19
+ DropdownMenuContent,
20
+ DropdownMenuItem,
21
+ DropdownMenuLabel,
22
+ DropdownMenuSeparator,
23
+ DropdownMenuTrigger,
24
+ } from "./dropdown-menu";
25
+ import { Button } from "./button";
26
+ import {
27
+ Select,
28
+ SelectContent,
29
+ SelectItem,
30
+ SelectTrigger,
31
+ SelectValue,
32
+ } from "./select";
33
+ import { cn } from "./utils";
34
+
35
+ /* -----------------------------------------------------------------------------
36
+ * Component: DataTableViewOptions
37
+ * -------------------------------------------------------------------------- */
38
+
39
+ function DataTableViewOptions<TData>({
40
+ table,
41
+ }: {
42
+ table: ReactTable.Table<TData>;
43
+ }): React.JSX.Element {
44
+ return (
45
+ <DropdownMenu>
46
+ <DropdownMenuTrigger asChild>
47
+ <Button
48
+ variant="outline"
49
+ size="sm"
50
+ className="ml-auto hidden h-8 lg:flex"
51
+ >
52
+ <MixerHorizontalIcon className="mr-2 size-4" />
53
+ View
54
+ </Button>
55
+ </DropdownMenuTrigger>
56
+ <DropdownMenuContent align="end" className="w-[150px]">
57
+ <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>
58
+ <DropdownMenuSeparator />
59
+ {table
60
+ .getAllColumns()
61
+ .filter(
62
+ (column) =>
63
+ typeof column.accessorFn !== "undefined" && column.getCanHide(),
64
+ )
65
+ .map((column) => {
66
+ return (
67
+ <DropdownMenuCheckboxItem
68
+ key={column.id}
69
+ className="capitalize"
70
+ checked={column.getIsVisible()}
71
+ onCheckedChange={(value) => {
72
+ column.toggleVisibility(Boolean(value));
73
+ }}
74
+ >
75
+ {column.id}
76
+ </DropdownMenuCheckboxItem>
77
+ );
78
+ })}
79
+ </DropdownMenuContent>
80
+ </DropdownMenu>
81
+ );
82
+ }
83
+
84
+ /* -----------------------------------------------------------------------------
85
+ * Component: DataTablePagination
86
+ * -------------------------------------------------------------------------- */
87
+
88
+ function DataTablePagination<TData>({
89
+ table,
90
+ className,
91
+ ...props
92
+ }: React.HTMLAttributes<HTMLDivElement> & {
93
+ table: ReactTable.Table<TData>;
94
+ }): React.JSX.Element {
95
+ return (
96
+ <div
97
+ className={cn("flex items-center justify-between px-2", className)}
98
+ {...props}
99
+ >
100
+ <div className="text-muted-foreground flex-1 text-sm">
101
+ {table.getFilteredSelectedRowModel().rows.length} of{" "}
102
+ {table.getFilteredRowModel().rows.length} row(s) selected.
103
+ </div>
104
+ <div className="flex items-center space-x-6 lg:space-x-8">
105
+ <div className="flex items-center space-x-2">
106
+ <p className="text-sm font-medium">Rows per page</p>
107
+ <Select
108
+ value={`${table.getState().pagination.pageSize}`}
109
+ onValueChange={(value) => {
110
+ table.setPageSize(Number(value));
111
+ }}
112
+ >
113
+ <SelectTrigger className="h-8 w-[70px]">
114
+ <SelectValue placeholder={table.getState().pagination.pageSize} />
115
+ </SelectTrigger>
116
+ <SelectContent side="top">
117
+ {[10, 20, 30, 40, 50].map((pageSize) => (
118
+ <SelectItem key={pageSize} value={`${pageSize}`}>
119
+ {pageSize}
120
+ </SelectItem>
121
+ ))}
122
+ </SelectContent>
123
+ </Select>
124
+ </div>
125
+ <div className="flex w-[100px] items-center justify-center text-sm font-medium">
126
+ Page {table.getState().pagination.pageIndex + 1} of{" "}
127
+ {table.getPageCount()}
128
+ </div>
129
+ <div className="flex items-center space-x-2">
130
+ <Button
131
+ variant="outline"
132
+ size="icon-xs"
133
+ className="hidden lg:flex"
134
+ onClick={() => {
135
+ table.setPageIndex(0);
136
+ }}
137
+ disabled={!table.getCanPreviousPage()}
138
+ >
139
+ <span className="sr-only">Go to first page</span>
140
+ <DoubleArrowLeftIcon className="size-4" />
141
+ </Button>
142
+ <Button
143
+ variant="outline"
144
+ size="icon-xs"
145
+ onClick={() => {
146
+ table.previousPage();
147
+ }}
148
+ disabled={!table.getCanPreviousPage()}
149
+ >
150
+ <span className="sr-only">Go to previous page</span>
151
+ <ChevronLeftIcon className="size-4" />
152
+ </Button>
153
+ <Button
154
+ variant="outline"
155
+ size="icon-xs"
156
+ onClick={() => {
157
+ table.nextPage();
158
+ }}
159
+ disabled={!table.getCanNextPage()}
160
+ >
161
+ <span className="sr-only">Go to next page</span>
162
+ <ChevronRightIcon className="size-4" />
163
+ </Button>
164
+ <Button
165
+ variant="outline"
166
+ size="icon-xs"
167
+ className="hidden lg:flex"
168
+ onClick={() => {
169
+ table.setPageIndex(table.getPageCount() - 1);
170
+ }}
171
+ disabled={!table.getCanNextPage()}
172
+ >
173
+ <span className="sr-only">Go to last page</span>
174
+ <DoubleArrowRightIcon className="size-4" />
175
+ </Button>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ );
180
+ }
181
+
182
+ /* -----------------------------------------------------------------------------
183
+ * Component: DataTableColumnHeader
184
+ * -------------------------------------------------------------------------- */
185
+
186
+ function DataTableColumnHeader<TData, TValue>({
187
+ column,
188
+ title,
189
+ className,
190
+ }: React.HTMLAttributes<HTMLDivElement> & {
191
+ column: ReactTable.Column<TData, TValue>;
192
+ title: string;
193
+ }): React.JSX.Element {
194
+ if (!column.getCanSort()) {
195
+ return <div className={cn(className)}>{title}</div>;
196
+ }
197
+
198
+ return (
199
+ <div className={cn("flex items-center space-x-2", className)}>
200
+ <DropdownMenu>
201
+ <DropdownMenuTrigger asChild>
202
+ <Button
203
+ variant="ghost"
204
+ size="xs"
205
+ className="data-[state=open]:bg-accent -ml-3"
206
+ >
207
+ <span>{title}</span>
208
+ {column.getIsSorted() === "desc" ? (
209
+ <ArrowDownIcon className="ml-2 size-4" />
210
+ ) : column.getIsSorted() === "asc" ? (
211
+ <ArrowUpIcon className="ml-2 size-4" />
212
+ ) : (
213
+ <CaretSortIcon className="ml-2 size-4" />
214
+ )}
215
+ </Button>
216
+ </DropdownMenuTrigger>
217
+ <DropdownMenuContent align="start">
218
+ <DropdownMenuItem
219
+ onClick={() => {
220
+ column.toggleSorting(false);
221
+ }}
222
+ >
223
+ <ArrowUpIcon className="text-muted-foreground/70 mr-2 size-3.5" />
224
+ Asc
225
+ </DropdownMenuItem>
226
+ <DropdownMenuItem
227
+ onClick={() => {
228
+ column.toggleSorting(true);
229
+ }}
230
+ >
231
+ <ArrowDownIcon className="text-muted-foreground/70 mr-2 size-3.5" />
232
+ Desc
233
+ </DropdownMenuItem>
234
+ <DropdownMenuSeparator />
235
+ <DropdownMenuItem
236
+ onClick={() => {
237
+ column.toggleVisibility(false);
238
+ }}
239
+ >
240
+ <EyeNoneIcon className="text-muted-foreground/70 mr-2 size-3.5" />
241
+ Hide
242
+ </DropdownMenuItem>
243
+ </DropdownMenuContent>
244
+ </DropdownMenu>
245
+ </div>
246
+ );
247
+ }
248
+
249
+ /* -----------------------------------------------------------------------------
250
+ * Exports
251
+ * -------------------------------------------------------------------------- */
252
+
253
+ export { DataTableViewOptions, DataTablePagination, DataTableColumnHeader };
254
+
255
+ export * from "@tanstack/react-table";
package/src/input.tsx CHANGED
@@ -1,5 +1,25 @@
1
1
  import * as React from "react";
2
- import { cn } from "./utils";
2
+ import { type VariantProps } from "cva";
3
+ import { cva } from "./utils";
4
+
5
+ /* -----------------------------------------------------------------------------
6
+ * Variant: Input
7
+ * -------------------------------------------------------------------------- */
8
+
9
+ const inputVariants = cva({
10
+ base: "border-input focus-visible:ring-ring focus-visible:ring-offset-background placeholder:text-muted-foreground flex w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
11
+ variants: {
12
+ inputSize: {
13
+ default: "h-10",
14
+ xs: "h-8",
15
+ sm: "h-9",
16
+ lg: "h-11",
17
+ },
18
+ },
19
+ defaultVariants: {
20
+ inputSize: "default",
21
+ },
22
+ });
3
23
 
4
24
  /* -----------------------------------------------------------------------------
5
25
  * Component: Input
@@ -7,15 +27,13 @@ import { cn } from "./utils";
7
27
 
8
28
  const Input = React.forwardRef<
9
29
  HTMLInputElement,
10
- React.InputHTMLAttributes<HTMLInputElement>
11
- >(({ className, type, ...props }, ref) => {
30
+ Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> &
31
+ VariantProps<typeof inputVariants>
32
+ >(({ className, inputSize, ...props }, ref) => {
12
33
  return (
13
34
  <input
14
- type={type}
15
- className={cn(
16
- "border-input focus-visible:ring-ring focus-visible:ring-offset-background placeholder:text-muted-foreground flex h-10 w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
17
- className,
18
- )}
35
+ type="text"
36
+ className={inputVariants({ className, inputSize })}
19
37
  ref={ref}
20
38
  {...props}
21
39
  />
package/src/table.tsx CHANGED
@@ -96,7 +96,7 @@ const TableHead = React.forwardRef<
96
96
  <th
97
97
  ref={ref}
98
98
  className={cn(
99
- "text-muted-foreground h-10 px-3 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5",
99
+ "text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0",
100
100
  className,
101
101
  )}
102
102
  {...props}
@@ -114,10 +114,7 @@ const TableCell = React.forwardRef<
114
114
  >(({ className, ...props }, ref) => (
115
115
  <td
116
116
  ref={ref}
117
- className={cn(
118
- "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5",
119
- className,
120
- )}
117
+ className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}
121
118
  {...props}
122
119
  />
123
120
  ));
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/button.tsx"],"names":[],"mappings":";;;;;AAAA,YAAY,WAAW;AACvB,SAAS,YAAY;AAkDf;AA1CN,IAAM,iBAAiB,IAAI;AAAA,EACzB,MAAM;AAAA,EACN,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aACE;AAAA,MACF,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SACE;AAAA,MACF,WACE;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAC;AAYD,IAAM,SAAe;AAAA,EACnB,CAAC,EAAE,WAAW,SAAS,MAAM,UAAU,OAAO,GAAG,MAAM,GAAG,QAAQ;AAChE,UAAM,OAAO,UAAU,OAAO;AAE9B,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM,UAAU,SAAY;AAAA,QAC5B,WAAW,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC;AAAA,QACrD,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AACA,OAAO,cAAc","sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps } from \"cva\";\nimport { cva } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Variant: Button\n * -------------------------------------------------------------------------- */\n\nconst buttonVariants = cva({\n base: \"focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90 shadow\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n outline:\n \"border-input bg-background hover:bg-accent hover:text-accent-foreground border shadow-sm\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-sm\",\n },\n size: {\n default: \"h-10 px-4\",\n sm: \"h-9 px-3\",\n lg: \"h-11 px-8\",\n icon: \"size-10\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n});\n\n/* -----------------------------------------------------------------------------\n * Component: Button\n * -------------------------------------------------------------------------- */\n\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n ref={ref}\n type={asChild ? undefined : \"button\"}\n className={buttonVariants({ variant, size, className })}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Button, buttonVariants, type ButtonProps };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/button.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps } from \"cva\";\nimport { cva } from \"./utils\";\n\n/* -----------------------------------------------------------------------------\n * Variant: Button\n * -------------------------------------------------------------------------- */\n\nconst buttonVariants = cva({\n base: \"focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90 shadow\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n outline:\n \"border-input bg-background hover:bg-accent hover:text-accent-foreground border shadow-sm\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-sm\",\n },\n size: {\n default: \"h-10 px-4\",\n sm: \"h-9 px-3\",\n lg: \"h-11 px-8\",\n icon: \"size-10\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n});\n\n/* -----------------------------------------------------------------------------\n * Component: Button\n * -------------------------------------------------------------------------- */\n\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n ref={ref}\n type={asChild ? undefined : \"button\"}\n className={buttonVariants({ variant, size, className })}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Button, buttonVariants, type ButtonProps };\n"],"mappings":";;;;;AAAA,YAAY,WAAW;AACvB,SAAS,YAAY;AAkDf;AA1CN,IAAM,iBAAiB,IAAI;AAAA,EACzB,MAAM;AAAA,EACN,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aACE;AAAA,MACF,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SACE;AAAA,MACF,WACE;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAC;AAYD,IAAM,SAAe;AAAA,EACnB,CAAC,EAAE,WAAW,SAAS,MAAM,UAAU,OAAO,GAAG,MAAM,GAAG,QAAQ;AAChE,UAAM,OAAO,UAAU,OAAO;AAE9B,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM,UAAU,SAAY;AAAA,QAC5B,WAAW,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC;AAAA,QACrD,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;","names":[]}