@a5it/sync-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 (159) hide show
  1. package/README.md +45 -0
  2. package/dist/components/data-table/actions/action-delete.d.ts +8 -0
  3. package/dist/components/data-table/actions/action-delete.d.ts.map +1 -0
  4. package/dist/components/data-table/actions/action-delete.js +17 -0
  5. package/dist/components/data-table/actions/action-delete.js.map +1 -0
  6. package/dist/components/data-table/actions/action-item.d.ts +7 -0
  7. package/dist/components/data-table/actions/action-item.d.ts.map +1 -0
  8. package/dist/components/data-table/actions/action-item.js +7 -0
  9. package/dist/components/data-table/actions/action-item.js.map +1 -0
  10. package/dist/components/data-table/actions/actions-dropdown.d.ts +8 -0
  11. package/dist/components/data-table/actions/actions-dropdown.d.ts.map +1 -0
  12. package/dist/components/data-table/actions/actions-dropdown.js +9 -0
  13. package/dist/components/data-table/actions/actions-dropdown.js.map +1 -0
  14. package/dist/components/data-table/cells/date-time-cell.d.ts +16 -0
  15. package/dist/components/data-table/cells/date-time-cell.d.ts.map +1 -0
  16. package/dist/components/data-table/cells/date-time-cell.js +32 -0
  17. package/dist/components/data-table/cells/date-time-cell.js.map +1 -0
  18. package/dist/components/data-table/cells/payment-pill.d.ts +7 -0
  19. package/dist/components/data-table/cells/payment-pill.d.ts.map +1 -0
  20. package/dist/components/data-table/cells/payment-pill.js +23 -0
  21. package/dist/components/data-table/cells/payment-pill.js.map +1 -0
  22. package/dist/components/data-table/cells/record-id-cell.d.ts +7 -0
  23. package/dist/components/data-table/cells/record-id-cell.d.ts.map +1 -0
  24. package/dist/components/data-table/cells/record-id-cell.js +7 -0
  25. package/dist/components/data-table/cells/record-id-cell.js.map +1 -0
  26. package/dist/components/data-table/cells/status-pill.d.ts +6 -0
  27. package/dist/components/data-table/cells/status-pill.d.ts.map +1 -0
  28. package/dist/components/data-table/cells/status-pill.js +67 -0
  29. package/dist/components/data-table/cells/status-pill.js.map +1 -0
  30. package/dist/components/data-table/cells/table-checkbox.d.ts +4 -0
  31. package/dist/components/data-table/cells/table-checkbox.d.ts.map +1 -0
  32. package/dist/components/data-table/cells/table-checkbox.js +9 -0
  33. package/dist/components/data-table/cells/table-checkbox.js.map +1 -0
  34. package/dist/components/data-table/cells/text-cell.d.ts +8 -0
  35. package/dist/components/data-table/cells/text-cell.d.ts.map +1 -0
  36. package/dist/components/data-table/cells/text-cell.js +7 -0
  37. package/dist/components/data-table/cells/text-cell.js.map +1 -0
  38. package/dist/components/data-table/column-header.d.ts +10 -0
  39. package/dist/components/data-table/column-header.d.ts.map +1 -0
  40. package/dist/components/data-table/column-header.js +42 -0
  41. package/dist/components/data-table/column-header.js.map +1 -0
  42. package/dist/components/data-table/columns/selection.d.ts +4 -0
  43. package/dist/components/data-table/columns/selection.d.ts.map +1 -0
  44. package/dist/components/data-table/columns/selection.js +33 -0
  45. package/dist/components/data-table/columns/selection.js.map +1 -0
  46. package/dist/components/data-table/filters/all-filters.d.ts +11 -0
  47. package/dist/components/data-table/filters/all-filters.d.ts.map +1 -0
  48. package/dist/components/data-table/filters/all-filters.js +9 -0
  49. package/dist/components/data-table/filters/all-filters.js.map +1 -0
  50. package/dist/components/data-table/filters/bulk-delete.d.ts +16 -0
  51. package/dist/components/data-table/filters/bulk-delete.d.ts.map +1 -0
  52. package/dist/components/data-table/filters/bulk-delete.js +20 -0
  53. package/dist/components/data-table/filters/bulk-delete.js.map +1 -0
  54. package/dist/components/data-table/filters/filters.d.ts +4 -0
  55. package/dist/components/data-table/filters/filters.d.ts.map +1 -0
  56. package/dist/components/data-table/filters/filters.js +10 -0
  57. package/dist/components/data-table/filters/filters.js.map +1 -0
  58. package/dist/components/data-table/filters/reset.d.ts +21 -0
  59. package/dist/components/data-table/filters/reset.d.ts.map +1 -0
  60. package/dist/components/data-table/filters/reset.js +34 -0
  61. package/dist/components/data-table/filters/reset.js.map +1 -0
  62. package/dist/components/data-table/filters/search.d.ts +25 -0
  63. package/dist/components/data-table/filters/search.d.ts.map +1 -0
  64. package/dist/components/data-table/filters/search.js +89 -0
  65. package/dist/components/data-table/filters/search.js.map +1 -0
  66. package/dist/components/data-table/filters/sort-by.d.ts +7 -0
  67. package/dist/components/data-table/filters/sort-by.d.ts.map +1 -0
  68. package/dist/components/data-table/filters/sort-by.js +76 -0
  69. package/dist/components/data-table/filters/sort-by.js.map +1 -0
  70. package/dist/components/data-table/index.d.ts +26 -0
  71. package/dist/components/data-table/index.d.ts.map +1 -0
  72. package/dist/components/data-table/index.js +24 -0
  73. package/dist/components/data-table/index.js.map +1 -0
  74. package/dist/components/data-table/pagination/pagination.d.ts +66 -0
  75. package/dist/components/data-table/pagination/pagination.d.ts.map +1 -0
  76. package/dist/components/data-table/pagination/pagination.js +224 -0
  77. package/dist/components/data-table/pagination/pagination.js.map +1 -0
  78. package/dist/components/data-table/provider.d.ts +284 -0
  79. package/dist/components/data-table/provider.d.ts.map +1 -0
  80. package/dist/components/data-table/provider.js +193 -0
  81. package/dist/components/data-table/provider.js.map +1 -0
  82. package/dist/components/data-table/table.d.ts +21 -0
  83. package/dist/components/data-table/table.d.ts.map +1 -0
  84. package/dist/components/data-table/table.js +120 -0
  85. package/dist/components/data-table/table.js.map +1 -0
  86. package/dist/components/data-table/tabs.d.ts +19 -0
  87. package/dist/components/data-table/tabs.d.ts.map +1 -0
  88. package/dist/components/data-table/tabs.js +22 -0
  89. package/dist/components/data-table/tabs.js.map +1 -0
  90. package/dist/components/data-table/url-state.d.ts +54 -0
  91. package/dist/components/data-table/url-state.d.ts.map +1 -0
  92. package/dist/components/data-table/url-state.js +130 -0
  93. package/dist/components/data-table/url-state.js.map +1 -0
  94. package/dist/components/page-header/index.d.ts +3 -0
  95. package/dist/components/page-header/index.d.ts.map +1 -0
  96. package/dist/components/page-header/index.js +2 -0
  97. package/dist/components/page-header/index.js.map +1 -0
  98. package/dist/components/page-header/page-header.d.ts +56 -0
  99. package/dist/components/page-header/page-header.d.ts.map +1 -0
  100. package/dist/components/page-header/page-header.js +59 -0
  101. package/dist/components/page-header/page-header.js.map +1 -0
  102. package/dist/components/sidebar/index.d.ts +2 -0
  103. package/dist/components/sidebar/index.d.ts.map +1 -0
  104. package/dist/components/sidebar/index.js +2 -0
  105. package/dist/components/sidebar/index.js.map +1 -0
  106. package/dist/components/ui/alert-dialog.d.ts +15 -0
  107. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  108. package/dist/components/ui/alert-dialog.js +40 -0
  109. package/dist/components/ui/alert-dialog.js.map +1 -0
  110. package/dist/components/ui/button.d.ts +12 -0
  111. package/dist/components/ui/button.d.ts.map +1 -0
  112. package/dist/components/ui/button.js +36 -0
  113. package/dist/components/ui/button.js.map +1 -0
  114. package/dist/components/ui/checkbox.d.ts +5 -0
  115. package/dist/components/ui/checkbox.d.ts.map +1 -0
  116. package/dist/components/ui/checkbox.js +10 -0
  117. package/dist/components/ui/checkbox.js.map +1 -0
  118. package/dist/components/ui/dropdown-menu.d.ts +26 -0
  119. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  120. package/dist/components/ui/dropdown-menu.js +52 -0
  121. package/dist/components/ui/dropdown-menu.js.map +1 -0
  122. package/dist/components/ui/scroll-area.d.ts +6 -0
  123. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  124. package/dist/components/ui/scroll-area.js +14 -0
  125. package/dist/components/ui/scroll-area.js.map +1 -0
  126. package/dist/components/ui/sheet.d.ts +14 -0
  127. package/dist/components/ui/sheet.d.ts.map +1 -0
  128. package/dist/components/ui/sheet.js +41 -0
  129. package/dist/components/ui/sheet.js.map +1 -0
  130. package/dist/components/ui/table.d.ts +11 -0
  131. package/dist/components/ui/table.d.ts.map +1 -0
  132. package/dist/components/ui/table.js +30 -0
  133. package/dist/components/ui/table.js.map +1 -0
  134. package/dist/hooks/index.d.ts +2 -0
  135. package/dist/hooks/index.d.ts.map +1 -0
  136. package/dist/hooks/index.js +3 -0
  137. package/dist/hooks/index.js.map +1 -0
  138. package/dist/index.d.ts +7 -0
  139. package/dist/index.d.ts.map +1 -0
  140. package/dist/index.js +8 -0
  141. package/dist/index.js.map +1 -0
  142. package/dist/lib/utils.d.ts +7 -0
  143. package/dist/lib/utils.d.ts.map +1 -0
  144. package/dist/lib/utils.js +33 -0
  145. package/dist/lib/utils.js.map +1 -0
  146. package/dist/providers/index.d.ts +2 -0
  147. package/dist/providers/index.d.ts.map +1 -0
  148. package/dist/providers/index.js +3 -0
  149. package/dist/providers/index.js.map +1 -0
  150. package/dist/styles/index.css +19 -0
  151. package/dist/types/index.d.ts +4 -0
  152. package/dist/types/index.d.ts.map +1 -0
  153. package/dist/types/index.js +2 -0
  154. package/dist/types/index.js.map +1 -0
  155. package/dist/utils/index.d.ts +2 -0
  156. package/dist/utils/index.d.ts.map +1 -0
  157. package/dist/utils/index.js +2 -0
  158. package/dist/utils/index.js.map +1 -0
  159. package/package.json +95 -0
package/README.md ADDED
@@ -0,0 +1,45 @@
1
+ # @a5it/sync-ui
2
+
3
+ This initial version exports `data-table` (the V2 table used in `reseller/new-table`) and keeps future extension points for `sidebar`, `hooks`, `providers`, `utils`, and `types`.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pnpm add @a5it/sync-ui
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```tsx
14
+ import {
15
+ DataTableProvider,
16
+ DataTableTable,
17
+ DataTableSearch,
18
+ DataTableSortBy,
19
+ DataTablePagination,
20
+ } from "@a5it/sync-ui";
21
+ ```
22
+
23
+ ## Styles
24
+
25
+ Import once in your app's root globals/index.css:
26
+
27
+ ```ts
28
+ import "@a5it/sync-ui/styles.css";
29
+ ```
30
+
31
+ ## Theming
32
+
33
+ Set your app theme once and SyncUI will inherit it automatically using shadcn conventions.
34
+
35
+ ## Tree shaking
36
+
37
+ - ESM output only (`dist/*.js`), no CommonJS wrapper.
38
+ - Subpath exports (`./data-table`, `./hooks`, `./providers`, etc.).
39
+ - CSS is the only declared side effect.
40
+
41
+ ## Build
42
+
43
+ ```bash
44
+ pnpm build
45
+ ```
@@ -0,0 +1,8 @@
1
+ export type DataTableActionDeleteProps = {
2
+ label?: string;
3
+ confirmTitle?: string;
4
+ confirmDescription?: string;
5
+ onConfirm: () => void;
6
+ };
7
+ export declare function DataTableActionDelete({ label, confirmTitle, confirmDescription, onConfirm, }: DataTableActionDeleteProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=action-delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-delete.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/actions/action-delete.tsx"],"names":[],"mappings":"AAiBA,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,KAAgB,EAChB,YAAoC,EACpC,kBAAoD,EACpD,SAAS,GACV,EAAE,0BAA0B,2CAmC5B"}
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { Trash2 } from "lucide-react";
5
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from "../../ui/alert-dialog";
6
+ import { DropdownMenuItem } from "../../ui/dropdown-menu";
7
+ export function DataTableActionDelete({ label = "Delete", confirmTitle = "Delete this record?", confirmDescription = "This action cannot be undone.", onConfirm, }) {
8
+ const [open, setOpen] = React.useState(false);
9
+ return (_jsxs(AlertDialog, { open: open, onOpenChange: setOpen, children: [_jsxs(DropdownMenuItem, { variant: "destructive", onSelect: (e) => {
10
+ e.preventDefault();
11
+ setOpen(true);
12
+ }, children: [_jsx(Trash2, { className: "h-4 w-4", "aria-hidden": true }), label] }), _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: confirmTitle }), _jsx(AlertDialogDescription, { children: confirmDescription })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Cancel" }), _jsx(AlertDialogAction, { onClick: () => {
13
+ onConfirm();
14
+ setOpen(false);
15
+ }, children: "Delete" })] })] })] }));
16
+ }
17
+ //# sourceMappingURL=action-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-delete.js","sourceRoot":"","sources":["../../../../src/components/data-table/actions/action-delete.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,GAAG,QAAQ,EAChB,YAAY,GAAG,qBAAqB,EACpC,kBAAkB,GAAG,+BAA+B,EACpD,SAAS,GACkB;IAC3B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,CACL,MAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,aAC5C,MAAC,gBAAgB,IACf,OAAO,EAAC,aAAa,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,aAED,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,wBAAe,EACzC,KAAK,IACW,EAEnB,MAAC,kBAAkB,eACjB,MAAC,iBAAiB,eAChB,KAAC,gBAAgB,cAAE,YAAY,GAAoB,EACnD,KAAC,sBAAsB,cAAE,kBAAkB,GAA0B,IACnD,EACpB,MAAC,iBAAiB,eAChB,KAAC,iBAAiB,yBAA2B,EAC7C,KAAC,iBAAiB,IAChB,OAAO,EAAE,GAAG,EAAE;oCACZ,SAAS,EAAE,CAAC;oCACZ,OAAO,CAAC,KAAK,CAAC,CAAC;gCACjB,CAAC,uBAGiB,IACF,IACD,IACT,CACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import { DropdownMenuItem } from "../../ui/dropdown-menu";
3
+ export type DataTableActionItemProps = React.ComponentProps<typeof DropdownMenuItem> & {
4
+ icon?: React.ReactNode;
5
+ };
6
+ export declare function DataTableActionItem({ icon, children, ...props }: DataTableActionItemProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=action-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-item.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/actions/action-item.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,GAAG;IACrF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,wBAAwB,2CAO1B"}
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ import { jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { DropdownMenuItem } from "../../ui/dropdown-menu";
4
+ export function DataTableActionItem({ icon, children, ...props }) {
5
+ return (_jsxs(DropdownMenuItem, { ...props, children: [icon, children] }));
6
+ }
7
+ //# sourceMappingURL=action-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-item.js","sourceRoot":"","sources":["../../../../src/components/data-table/actions/action-item.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM1D,MAAM,UAAU,mBAAmB,CAAC,EAClC,IAAI,EACJ,QAAQ,EACR,GAAG,KAAK,EACiB;IACzB,OAAO,CACL,MAAC,gBAAgB,OAAK,KAAK,aACxB,IAAI,EACJ,QAAQ,IACQ,CACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ export type DataTableActionsDropdownProps = {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ contentClassName?: string;
6
+ };
7
+ export declare function DataTableActionsDropdown({ children, className, contentClassName, }: DataTableActionsDropdownProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=actions-dropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-dropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/actions/actions-dropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,SAAS,EACT,gBAAgB,GACjB,EAAE,6BAA6B,2CAsB/B"}
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { MoreVertical } from "lucide-react";
4
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger, } from "../../ui/dropdown-menu";
5
+ import { cn } from "../../../lib/utils";
6
+ export function DataTableActionsDropdown({ children, className, contentClassName, }) {
7
+ return (_jsx("div", { className: cn("flex items-center justify-center", className), children: _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "flex items-center justify-center rounded-[8px] bg-[#f2f2f2] p-2", "aria-label": "Row actions", children: _jsx(MoreVertical, { className: "h-4 w-4 text-[#4d4d4d]", "aria-hidden": true }) }) }), _jsx(DropdownMenuContent, { align: "end", className: cn("min-w-[180px]", contentClassName), children: children })] }) }));
8
+ }
9
+ //# sourceMappingURL=actions-dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-dropdown.js","sourceRoot":"","sources":["../../../../src/components/data-table/actions/actions-dropdown.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAQxC,MAAM,UAAU,wBAAwB,CAAC,EACvC,QAAQ,EACR,SAAS,EACT,gBAAgB,GACc;IAC9B,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,kCAAkC,EAAE,SAAS,CAAC,YAC/D,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,kBAC1B,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,iEAAiE,gBAChE,aAAa,YAExB,KAAC,YAAY,IAAC,SAAS,EAAC,wBAAwB,wBAAe,GACxD,GACW,EACtB,KAAC,mBAAmB,IAClB,KAAK,EAAC,KAAK,EACX,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC,YAE/C,QAAQ,GACW,IACT,GACX,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ export type DataTableDateTimeCellProps = {
2
+ value: string | Date | null | undefined;
3
+ className?: string;
4
+ /**
5
+ * If the value is a string that cannot be parsed as a Date, we render it as-is.
6
+ * Set this to true if you want to force parsing (will show "N/A" on invalid).
7
+ */
8
+ strict?: boolean;
9
+ /**
10
+ * When true (default), includes time like "05:10 PM".
11
+ * When false, shows only the date.
12
+ */
13
+ showTime?: boolean;
14
+ };
15
+ export declare function DataTableDateTimeCell({ value, className, strict, showTime, }: DataTableDateTimeCellProps): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=date-time-cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-time-cell.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/cells/date-time-cell.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAiBF,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,MAAc,EACd,QAAe,GAChB,EAAE,0BAA0B,2CAgC5B"}
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from "../../../lib/utils";
4
+ function formatDateTime(date, showTime) {
5
+ return new Intl.DateTimeFormat(undefined, {
6
+ day: "2-digit",
7
+ month: "short",
8
+ year: "numeric",
9
+ ...(showTime
10
+ ? {
11
+ hour: "2-digit",
12
+ minute: "2-digit",
13
+ hour12: true,
14
+ }
15
+ : {}),
16
+ }).format(date);
17
+ }
18
+ export function DataTableDateTimeCell({ value, className, strict = false, showTime = true, }) {
19
+ if (value === null || value === undefined || value === "") {
20
+ return (_jsx("span", { className: cn("text-[14px] leading-4 font-semibold text-[#1a1a1a]", className), children: "N/A" }));
21
+ }
22
+ if (value instanceof Date) {
23
+ return (_jsx("span", { className: cn("text-[14px] leading-4 font-semibold text-[#1a1a1a]", className), children: formatDateTime(value, showTime) }));
24
+ }
25
+ const parsed = new Date(value);
26
+ const isValid = !Number.isNaN(parsed.getTime());
27
+ if (!isValid) {
28
+ return (_jsx("span", { className: cn("text-[14px] leading-4 font-semibold text-[#1a1a1a]", className), children: strict ? "N/A" : value }));
29
+ }
30
+ return (_jsx("span", { className: cn("text-[14px] leading-4 font-semibold text-[#1a1a1a]", className), children: formatDateTime(parsed, showTime) }));
31
+ }
32
+ //# sourceMappingURL=date-time-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-time-cell.js","sourceRoot":"","sources":["../../../../src/components/data-table/cells/date-time-cell.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAiBxC,SAAS,cAAc,CAAC,IAAU,EAAE,QAAiB;IACnD,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;QACxC,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,SAAS;QACf,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,IAAI;aACb;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,IAAI,GACY;IAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,CACL,eAAM,SAAS,EAAE,EAAE,CAAC,oDAAoD,EAAE,SAAS,CAAC,oBAE7E,CACR,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,CACL,eAAM,SAAS,EAAE,EAAE,CAAC,oDAAoD,EAAE,SAAS,CAAC,YACjF,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,GAC3B,CACR,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,eAAM,SAAS,EAAE,EAAE,CAAC,oDAAoD,EAAE,SAAS,CAAC,YACjF,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAClB,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAM,SAAS,EAAE,EAAE,CAAC,oDAAoD,EAAE,SAAS,CAAC,YACjF,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,GAC5B,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type PaymentLabel = "Deferred" | "ACH Card" | "Check" | (string & {});
2
+ export type DataTablePaymentPillProps = {
3
+ label: PaymentLabel;
4
+ className?: string;
5
+ };
6
+ export declare function DataTablePaymentPill({ label, className }: DataTablePaymentPillProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=payment-pill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-pill.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/cells/payment-pill.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAiB7E,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,yBAAyB,2CAenF"}
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { CreditCard } from "lucide-react";
4
+ import { cn } from "../../../lib/utils";
5
+ function getPaymentStyles(label) {
6
+ if (label === "Deferred") {
7
+ return {
8
+ container: "bg-[#f2f2f2] text-[#666666] font-medium justify-start",
9
+ icon: "text-[#666666]",
10
+ text: "text-[#666666] font-medium",
11
+ };
12
+ }
13
+ return {
14
+ container: "bg-primary/15 text-primary font-bold justify-start",
15
+ icon: "text-primary",
16
+ text: "text-primary font-bold",
17
+ };
18
+ }
19
+ export function DataTablePaymentPill({ label, className }) {
20
+ const styles = getPaymentStyles(label);
21
+ return (_jsxs("div", { className: cn("flex min-w-[104px] max-w-fit items-center gap-2 rounded-full px-2 py-1", styles.container, className), children: [_jsx(CreditCard, { className: cn("h-6 shrink-0 w-6", styles.icon), "aria-hidden": true }), _jsx("span", { className: cn("text-[14px] leading-4", styles.text), children: label })] }));
22
+ }
23
+ //# sourceMappingURL=payment-pill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-pill.js","sourceRoot":"","sources":["../../../../src/components/data-table/cells/payment-pill.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAIxC,SAAS,gBAAgB,CAAC,KAAmB;IAC3C,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,OAAO;YACL,SAAS,EAAE,uDAAuD;YAClE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,4BAA4B;SACnC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,oDAAoD;QAC/D,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,wBAAwB;KAC/B,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,EAA6B;IAClF,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEvC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,wEAAwE,EACxE,MAAM,CAAC,SAAS,EAChB,SAAS,CACV,aAED,KAAC,UAAU,IAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAgB,EAC1E,eAAM,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,YAAG,KAAK,GAAQ,IACrE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type DataTableRecordIdCellProps = {
2
+ id: string;
3
+ className?: string;
4
+ onIconClick?: () => void;
5
+ };
6
+ export declare function DataTableRecordIdCell({ id, className, }: DataTableRecordIdCellProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=record-id-cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-id-cell.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/cells/record-id-cell.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,EAAE,EACF,SAAS,GACV,EAAE,0BAA0B,2CAQ5B"}
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from "../../../lib/utils";
4
+ export function DataTableRecordIdCell({ id, className, }) {
5
+ return (_jsx("div", { className: cn("flex min-w-0 items-center gap-1", className), children: _jsx("span", { className: "text-[14px] leading-4 font-semibold text-[#1a1a1a]", children: id }) }));
6
+ }
7
+ //# sourceMappingURL=record-id-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-id-cell.js","sourceRoot":"","sources":["../../../../src/components/data-table/cells/record-id-cell.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAKb,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAQxC,MAAM,UAAU,qBAAqB,CAAC,EACpC,EAAE,EACF,SAAS,GACkB;IAC3B,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,iCAAiC,EAAE,SAAS,CAAC,YAC9D,eAAM,SAAS,EAAC,oDAAoD,YACjE,EAAE,GACE,GACH,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type DataTableStatusPillProps = {
2
+ label: string;
3
+ className?: string;
4
+ };
5
+ export declare function DataTableStatusPill({ label, className }: DataTableStatusPillProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=status-pill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-pill.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/cells/status-pill.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAiEF,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,wBAAwB,2CA4BjF"}
@@ -0,0 +1,67 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../../../lib/utils";
4
+ const statusConfig = {
5
+ pending: {
6
+ bg: "#fef3c7", // Light yellow background
7
+ dot: "#d97706", // Amber dot
8
+ text: "#d97706", // Amber text
9
+ },
10
+ processed: {
11
+ bg: "#dbeafe", // Light blue background
12
+ dot: "#2563eb", // Blue dot
13
+ text: "#2563eb", // Blue text
14
+ },
15
+ confirmed: {
16
+ bg: "#c6f3df", // Light green background
17
+ dot: "#12845c", // Green dot
18
+ text: "#12845c", // Green text
19
+ },
20
+ draft: {
21
+ bg: "#f5f5f5", // Neutral 100 background
22
+ dot: "#000000", // Black dot
23
+ text: "#000000", // Black text
24
+ },
25
+ };
26
+ function deslugify(text) {
27
+ // Replace underscores and hyphens with spaces
28
+ return text.replace(/[_-]/g, " ");
29
+ }
30
+ function capitalize(text) {
31
+ // Capitalize first letter of each word
32
+ return text
33
+ .toLowerCase()
34
+ .split(" ")
35
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
36
+ .join(" ");
37
+ }
38
+ function normalizeStatus(label) {
39
+ // Deslugify first, then normalize
40
+ const normalized = deslugify(label).toLowerCase().trim();
41
+ if (normalized.includes("pending"))
42
+ return "pending";
43
+ if (normalized.includes("processed") || normalized.includes("ready for send") || normalized.includes("ready to send"))
44
+ return "processed";
45
+ if (normalized.includes("confirmed"))
46
+ return "confirmed";
47
+ if (normalized.includes("draft"))
48
+ return "draft";
49
+ return "confirmed"; // Default fallback
50
+ }
51
+ function getDisplayLabel(label) {
52
+ const normalized = deslugify(label).toLowerCase().trim();
53
+ // Map "ready for send" or "ready to send" to just "Ready"
54
+ if (normalized.includes("ready for send") || normalized.includes("ready to send")) {
55
+ return "Ready";
56
+ }
57
+ // Otherwise, deslugify and capitalize normally
58
+ return capitalize(deslugify(label));
59
+ }
60
+ export function DataTableStatusPill({ label, className }) {
61
+ const variant = normalizeStatus(label);
62
+ const config = statusConfig[variant];
63
+ // Get the display label with special mappings
64
+ const displayLabel = getDisplayLabel(label);
65
+ return (_jsxs("div", { className: cn("flex min-w-[112px] w-fit items-center justify-center gap-2 rounded-full px-2 py-1", className), style: { backgroundColor: config.bg }, children: [_jsx("span", { className: "h-2 w-2 rounded-full", style: { backgroundColor: config.dot }, "aria-hidden": true }), _jsx("span", { className: "text-[14px] font-bold", style: { color: config.text }, children: displayLabel })] }));
66
+ }
67
+ //# sourceMappingURL=status-pill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-pill.js","sourceRoot":"","sources":["../../../../src/components/data-table/cells/status-pill.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import { Checkbox } from "../../ui/checkbox";
3
+ export declare function DataTableCheckbox({ className, ...props }: React.ComponentProps<typeof Checkbox>): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=table-checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/cells/table-checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAM7C,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,2CAEvC"}
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Checkbox } from "../../ui/checkbox";
4
+ import { cn } from "../../../lib/utils";
5
+ const baseClassName = "size-4 !grid place-items-center rounded-[5px] !border-[1.5px] !border-[#1a1a1a] !bg-transparent !text-[#1a1a1a] data-[state=checked]:!text-black data-[state=checked]:!border-[#1a1a1a] data-[state=indeterminate]:!text-black data-[state=indeterminate]:!border-[#1a1a1a] focus-visible:ring-0 focus-visible:ring-offset-0 focus-visible:border-[#1a1a1a] [&_[data-slot=checkbox-indicator]]:h-full [&_[data-slot=checkbox-indicator]]:w-full [&_[data-slot=checkbox-indicator]]:grid [&_[data-slot=checkbox-indicator]]:place-items-center [&_[data-slot=checkbox-indicator]_svg]:size-[12px]";
6
+ export function DataTableCheckbox({ className, ...props }) {
7
+ return _jsx(Checkbox, { className: cn(baseClassName, className), ...props });
8
+ }
9
+ //# sourceMappingURL=table-checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-checkbox.js","sourceRoot":"","sources":["../../../../src/components/data-table/cells/table-checkbox.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,MAAM,aAAa,GACjB,kkBAAkkB,CAAC;AAErkB,MAAM,UAAU,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EAC8B;IACtC,OAAO,KAAC,QAAQ,IAAC,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type DataTableTextCellProps = {
2
+ text: string;
3
+ className?: string;
4
+ textClassName?: string;
5
+ truncate?: boolean;
6
+ };
7
+ export declare function DataTableTextCell({ text, className, textClassName, truncate, }: DataTableTextCellProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=text-cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-cell.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/cells/text-cell.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,SAAS,EACT,aAAa,EACb,QAAgB,GACjB,EAAE,sBAAsB,2CAcxB"}
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from "../../../lib/utils";
4
+ export function DataTableTextCell({ text, className, textClassName, truncate = false, }) {
5
+ return (_jsx("div", { className: cn("flex min-w-0 items-center", className), children: _jsx("span", { className: cn("text-[14px] leading-4 font-semibold text-[#1a1a1a]", truncate && "min-w-0 flex-1 truncate", textClassName), children: text }) }));
6
+ }
7
+ //# sourceMappingURL=text-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-cell.js","sourceRoot":"","sources":["../../../../src/components/data-table/cells/text-cell.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AASxC,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,SAAS,EACT,aAAa,EACb,QAAQ,GAAG,KAAK,GACO;IACvB,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,YACxD,eACE,SAAS,EAAE,EAAE,CACX,oDAAoD,EACpD,QAAQ,IAAI,yBAAyB,EACrC,aAAa,CACd,YAEA,IAAI,GACA,GACH,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { Column } from "@tanstack/react-table";
3
+ export type DataTableColumnHeaderProps<TData, TValue> = {
4
+ column: Column<TData, TValue>;
5
+ title: string;
6
+ className?: string;
7
+ menuContent?: React.ReactNode;
8
+ };
9
+ export declare function DataTableColumnHeader<TData, TValue>({ column, title, className, menuContent, }: DataTableColumnHeaderProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=column-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-header.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/column-header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAa/C,MAAM,MAAM,0BAA0B,CAAC,KAAK,EAAE,MAAM,IAAI;IACtD,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EACnD,MAAM,EACN,KAAK,EACL,SAAS,EACT,WAAW,GACZ,EAAE,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,2CA4G3C"}
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { ArrowDown, ArrowUp, EyeOff, MoreVertical, X } from "lucide-react";
5
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "../ui/dropdown-menu";
6
+ import { cn } from "../../lib/utils";
7
+ import { useDataTable } from "./provider";
8
+ export function DataTableColumnHeader({ column, title, className, menuContent, }) {
9
+ const { urlState } = useDataTable();
10
+ const canSort = column.getCanSort();
11
+ const canHide = column.getCanHide();
12
+ const showMenu = Boolean(menuContent) || canSort || canHide;
13
+ // Check if this column is sorted via URL state
14
+ const isSortedByUrl = urlState.sortColumn === column.id;
15
+ const sortOrderFromUrl = isSortedByUrl ? urlState.sortOrder : null;
16
+ // Handle sort from column header
17
+ const handleSort = (desc) => {
18
+ urlState.setSorting(column.id, desc ? "desc" : "asc");
19
+ column.toggleSorting(desc);
20
+ };
21
+ const handleClearSort = () => {
22
+ urlState.setSorting(null, null);
23
+ column.clearSorting();
24
+ };
25
+ // Handle hide column
26
+ const handleHide = () => {
27
+ urlState.toggleColumnVisibility(column.id, false);
28
+ column.toggleVisibility(false);
29
+ };
30
+ // Sync visibility with URL state on mount
31
+ React.useEffect(() => {
32
+ const isHiddenInUrl = urlState.hiddenColumns.includes(column.id);
33
+ if (isHiddenInUrl && column.getIsVisible()) {
34
+ column.toggleVisibility(false);
35
+ }
36
+ else if (!isHiddenInUrl && !column.getIsVisible()) {
37
+ column.toggleVisibility(true);
38
+ }
39
+ }, [urlState.hiddenColumns, column]);
40
+ return (_jsxs("div", { className: cn("flex w-full min-w-0 items-center justify-between gap-3", className), children: [_jsx("span", { className: "min-w-0 text-[14px] leading-4 font-normal text-[#4d4d4d]", children: title }), showMenu && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: "relative flex items-center justify-center rounded-[8px] bg-[#f2f2f2] p-2", "aria-label": `${title} column options`, children: [_jsx(MoreVertical, { className: "h-4 w-4 text-[#4d4d4d]", "aria-hidden": true }), isSortedByUrl && (_jsx("div", { className: "absolute -top-1 -right-1 h-2.5 w-2.5 rounded-full bg-[#ef4444] ring-2 ring-white", "aria-label": "Sort active" }))] }) }), _jsx(DropdownMenuContent, { align: "end", className: "min-w-[180px]", children: menuContent ?? (_jsxs(_Fragment, { children: [canSort && (_jsxs(_Fragment, { children: [_jsxs(DropdownMenuItem, { onSelect: () => handleSort(false), children: [_jsx(ArrowUp, { className: "h-4 w-4", "aria-hidden": true }), "Sort ascending", sortOrderFromUrl === "asc" && (_jsx("div", { className: "ml-auto h-1.5 w-1.5 rounded-full bg-primary" }))] }), _jsxs(DropdownMenuItem, { onSelect: () => handleSort(true), children: [_jsx(ArrowDown, { className: "h-4 w-4", "aria-hidden": true }), "Sort descending", sortOrderFromUrl === "desc" && (_jsx("div", { className: "ml-auto h-1.5 w-1.5 rounded-full bg-[#f97316]" }))] }), isSortedByUrl && (_jsxs(DropdownMenuItem, { onSelect: handleClearSort, className: "text-[#dc2626]", children: [_jsx(X, { className: "h-4 w-4 text-[#dc2626]", "aria-hidden": true }), "Clear sort"] }))] })), canSort && canHide && _jsx(DropdownMenuSeparator, {}), canHide && (_jsxs(DropdownMenuItem, { onSelect: handleHide, children: [_jsx(EyeOff, { className: "h-4 w-4", "aria-hidden": true }), "Hide column"] }))] })) })] }))] }));
41
+ }
42
+ //# sourceMappingURL=column-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-header.js","sourceRoot":"","sources":["../../../src/components/data-table/column-header.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ColumnDef } from "@tanstack/react-table";
2
+ export declare const DATA_TABLE_SELECTION_COLUMN_ID = "select";
3
+ export declare function createSelectionColumn<TData>(): ColumnDef<TData, unknown>;
4
+ //# sourceMappingURL=selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/columns/selection.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKlD,eAAO,MAAM,8BAA8B,WAAW,CAAC;AAEvD,wBAAgB,qBAAqB,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CA+CxE"}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { DataTableCheckbox } from "../cells/table-checkbox";
4
+ export const DATA_TABLE_SELECTION_COLUMN_ID = "select";
5
+ export function createSelectionColumn() {
6
+ return {
7
+ id: DATA_TABLE_SELECTION_COLUMN_ID,
8
+ header: ({ table }) => {
9
+ const allChecked = table.getIsAllRowsSelected();
10
+ const someChecked = table.getIsSomeRowsSelected();
11
+ const headerChecked = allChecked
12
+ ? true
13
+ : someChecked
14
+ ? "indeterminate"
15
+ : false;
16
+ return (_jsx(DataTableCheckbox, { checked: headerChecked, onCheckedChange: (next) => {
17
+ if (someChecked && !allChecked) {
18
+ table.toggleAllRowsSelected(false);
19
+ return;
20
+ }
21
+ table.toggleAllRowsSelected(!!next);
22
+ }, "aria-label": "Select all rows" }));
23
+ },
24
+ cell: ({ row }) => (_jsx("div", { onClick: (event) => event.stopPropagation(), onKeyDown: (event) => event.stopPropagation(), role: "presentation", children: _jsx(DataTableCheckbox, { checked: row.getIsSelected(), onCheckedChange: (next) => row.toggleSelected(!!next), "aria-label": `Select ${row.id}` }) })),
25
+ meta: {
26
+ label: "Select",
27
+ },
28
+ enableSorting: false,
29
+ enableHiding: false,
30
+ size: 40,
31
+ };
32
+ }
33
+ //# sourceMappingURL=selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../../src/components/data-table/columns/selection.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAKb,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,CAAC,MAAM,8BAA8B,GAAG,QAAQ,CAAC;AAEvD,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,EAAE,EAAE,8BAA8B;QAClC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACpB,MAAM,UAAU,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAClD,MAAM,aAAa,GAA8B,UAAU;gBACzD,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,WAAW;oBACX,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,KAAK,CAAC;YAEZ,OAAO,CACL,KAAC,iBAAiB,IAChB,OAAO,EAAE,aAAa,EACtB,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,IAAI,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC/B,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;wBACnC,OAAO;oBACT,CAAC;oBAED,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC,gBACU,iBAAiB,GAC5B,CACH,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CACjB,cACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,EAC3C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,EAC7C,IAAI,EAAC,cAAc,YAEnB,KAAC,iBAAiB,IAChB,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,EAC5B,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,gBACzC,UAAU,GAAG,CAAC,EAAE,EAAE,GAC9B,GACE,CACP;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,QAAQ;SACc;QAC/B,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ import { SheetContent } from "../../ui/sheet";
3
+ export type DataTableAllFiltersProps = {
4
+ title?: string;
5
+ side?: React.ComponentProps<typeof SheetContent>["side"];
6
+ buttonClassName?: string;
7
+ contentClassName?: string;
8
+ children?: React.ReactNode;
9
+ };
10
+ export declare function DataTableAllFilters({ title, side, buttonClassName, contentClassName, children, }: DataTableAllFiltersProps): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=all-filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all-filters.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/filters/all-filters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAS,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAGnE,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,KAAiB,EACjB,IAAc,EACd,eAAe,EACf,gBAAgB,EAChB,QAAQ,GACT,EAAE,wBAAwB,2CA0B1B"}
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { SlidersHorizontal } from "lucide-react";
4
+ import { Sheet, SheetContent, SheetTrigger } from "../../ui/sheet";
5
+ import { cn } from "../../../lib/utils";
6
+ export function DataTableAllFilters({ title = "Filters", side = "right", buttonClassName, contentClassName, children, }) {
7
+ return (_jsxs(Sheet, { children: [_jsx(SheetTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: cn("flex items-center justify-center gap-2 rounded-[12px] bg-[#f2f2f2] px-4 py-3", buttonClassName), children: [_jsx(SlidersHorizontal, { className: "h-4 w-4 text-[#1a1a1a]", "aria-hidden": true }), _jsx("span", { className: "text-[14px] leading-4 font-semibold text-[#1a1a1a]", children: "All Filters" })] }) }), _jsxs(SheetContent, { side: side, className: cn("p-0", contentClassName), children: [_jsx("div", { className: "p-6", children: _jsx("h2", { className: "text-lg font-semibold text-[#1a1a1a]", children: title }) }), _jsx("div", { className: "px-6 pb-6", children: children })] })] }));
8
+ }
9
+ //# sourceMappingURL=all-filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all-filters.js","sourceRoot":"","sources":["../../../../src/components/data-table/filters/all-filters.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAUxC,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,OAAO,EACd,eAAe,EACf,gBAAgB,EAChB,QAAQ,GACiB;IACzB,OAAO,CACL,MAAC,KAAK,eACJ,KAAC,YAAY,IAAC,OAAO,kBACnB,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,8EAA8E,EAC9E,eAAe,CAChB,aAED,KAAC,iBAAiB,IAAC,SAAS,EAAC,wBAAwB,wBAAe,EACpE,eAAM,SAAS,EAAC,oDAAoD,4BAE7D,IACA,GACI,EAEf,MAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,aAC9D,cAAK,SAAS,EAAC,KAAK,YAClB,aAAI,SAAS,EAAC,sCAAsC,YAAE,KAAK,GAAM,GAC7D,EACN,cAAK,SAAS,EAAC,WAAW,YAAE,QAAQ,GAAO,IAC9B,IACT,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ export type DataTableBulkDeleteProps<TData extends {
2
+ id: string | number;
3
+ }> = {
4
+ onConfirm: (payload: {
5
+ ids: string[];
6
+ rows: TData[];
7
+ }) => void;
8
+ confirmTitle?: string;
9
+ confirmDescription?: string;
10
+ className?: string;
11
+ buttonClassName?: string;
12
+ };
13
+ export declare function DataTableBulkDelete<TData extends {
14
+ id: string | number;
15
+ }>({ onConfirm, confirmTitle, confirmDescription, className, buttonClassName, }: DataTableBulkDeleteProps<TData>): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=bulk-delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk-delete.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/filters/bulk-delete.tsx"],"names":[],"mappings":"AAmBA,MAAM,MAAM,wBAAwB,CAAC,KAAK,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,IAAI;IAC5E,SAAS,EAAE,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,KAAK,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,EACzE,SAAS,EACT,YAAyC,EACzC,kBAAoD,EACpD,SAAS,EACT,eAAe,GAChB,EAAE,wBAAwB,CAAC,KAAK,CAAC,2CA0DjC"}