pixelize-design-library 2.2.193 → 2.2.194

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 (209) hide show
  1. package/package.json +1 -1
  2. package/.claude/settings.local.json +0 -15
  3. package/coverage/clover.xml +0 -638
  4. package/coverage/coverage-final.json +0 -20
  5. package/coverage/lcov-report/Table/CompactSelect.tsx.html +0 -379
  6. package/coverage/lcov-report/Table/Components/ActiveFilters.tsx.html +0 -514
  7. package/coverage/lcov-report/Table/Components/HeaderActions.tsx.html +0 -373
  8. package/coverage/lcov-report/Table/Components/Pagination.tsx.html +0 -574
  9. package/coverage/lcov-report/Table/Components/TableActions.tsx.html +0 -574
  10. package/coverage/lcov-report/Table/Components/TableBody.tsx.html +0 -1027
  11. package/coverage/lcov-report/Table/Components/TableFilters.tsx.html +0 -397
  12. package/coverage/lcov-report/Table/Components/TableHeader.tsx.html +0 -1060
  13. package/coverage/lcov-report/Table/Components/TableLoading.tsx.html +0 -361
  14. package/coverage/lcov-report/Table/Components/TableSearch.tsx.html +0 -337
  15. package/coverage/lcov-report/Table/Components/index.html +0 -266
  16. package/coverage/lcov-report/Table/Components/useDebounce.ts.html +0 -178
  17. package/coverage/lcov-report/Table/Components/useTable.ts.html +0 -778
  18. package/coverage/lcov-report/Table/LeftFilterPane.tsx.html +0 -1810
  19. package/coverage/lcov-report/Table/SelectOperationControls.tsx.html +0 -178
  20. package/coverage/lcov-report/Table/Table.tsx.html +0 -1567
  21. package/coverage/lcov-report/Table/TableProps.tsx.html +0 -658
  22. package/coverage/lcov-report/Table/TableSettings/ManageColumns.tsx.html +0 -619
  23. package/coverage/lcov-report/Table/TableSettings/TableFilters.tsx.html +0 -229
  24. package/coverage/lcov-report/Table/TableSettings/TableSettings.tsx.html +0 -532
  25. package/coverage/lcov-report/Table/TableSettings/index.html +0 -146
  26. package/coverage/lcov-report/Table/TableToDo.tsx.html +0 -973
  27. package/coverage/lcov-report/Table/TextOperationControls.tsx.html +0 -271
  28. package/coverage/lcov-report/Table/filterTypes.ts.html +0 -97
  29. package/coverage/lcov-report/Table/index.html +0 -176
  30. package/coverage/lcov-report/base.css +0 -224
  31. package/coverage/lcov-report/block-navigation.js +0 -87
  32. package/coverage/lcov-report/favicon.png +0 -0
  33. package/coverage/lcov-report/index.html +0 -146
  34. package/coverage/lcov-report/prettify.css +0 -1
  35. package/coverage/lcov-report/prettify.js +0 -2
  36. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  37. package/coverage/lcov-report/sorter.js +0 -210
  38. package/coverage/lcov.info +0 -1836
  39. package/dist/Assets/defaultLogo.tsx +0 -31
  40. package/dist/Theme/Dark/palette.d.ts +0 -370
  41. package/dist/Theme/Dark/palette.js +0 -372
  42. package/dist/components-v2/AlertDialog/AlertDialog.d.ts +0 -23
  43. package/dist/components-v2/AlertDialog/AlertDialog.js +0 -98
  44. package/dist/components-v2/Breadcrumbs/Breadcrumbs.d.ts +0 -14
  45. package/dist/components-v2/Breadcrumbs/Breadcrumbs.js +0 -66
  46. package/dist/components-v2/Charts/AreaChart.d.ts +0 -23
  47. package/dist/components-v2/Charts/AreaChart.js +0 -63
  48. package/dist/components-v2/Charts/BarChart.d.ts +0 -25
  49. package/dist/components-v2/Charts/BarChart.js +0 -57
  50. package/dist/components-v2/Charts/LineChart.d.ts +0 -23
  51. package/dist/components-v2/Charts/LineChart.js +0 -55
  52. package/dist/components-v2/Charts/PieChart.d.ts +0 -15
  53. package/dist/components-v2/Charts/PieChart.js +0 -54
  54. package/dist/components-v2/Charts/PolarChart.d.ts +0 -14
  55. package/dist/components-v2/Charts/PolarChart.js +0 -54
  56. package/dist/components-v2/Charts/chartOptions.d.ts +0 -7
  57. package/dist/components-v2/Charts/chartOptions.js +0 -41
  58. package/dist/components-v2/Charts/useChartTheme.d.ts +0 -22
  59. package/dist/components-v2/Charts/useChartTheme.js +0 -106
  60. package/dist/components-v2/ContactForm/ContactForm.d.ts +0 -25
  61. package/dist/components-v2/ContactForm/ContactForm.js +0 -116
  62. package/dist/components-v2/DatePicker/Calendar.d.ts +0 -19
  63. package/dist/components-v2/DatePicker/Calendar.js +0 -212
  64. package/dist/components-v2/DatePicker/DatePicker.d.ts +0 -46
  65. package/dist/components-v2/DatePicker/DatePicker.js +0 -189
  66. package/dist/components-v2/DatePicker/TimePicker.d.ts +0 -12
  67. package/dist/components-v2/DatePicker/TimePicker.js +0 -105
  68. package/dist/components-v2/DatePicker/utils.d.ts +0 -31
  69. package/dist/components-v2/DatePicker/utils.js +0 -109
  70. package/dist/components-v2/Drawer/Drawer.d.ts +0 -27
  71. package/dist/components-v2/Drawer/Drawer.js +0 -132
  72. package/dist/components-v2/FeedbackForm/FeedbackForm.d.ts +0 -26
  73. package/dist/components-v2/FeedbackForm/FeedbackForm.js +0 -112
  74. package/dist/components-v2/FileUploader/FileUploader.d.ts +0 -28
  75. package/dist/components-v2/FileUploader/FileUploader.js +0 -127
  76. package/dist/components-v2/Input/TextInput.d.ts +0 -41
  77. package/dist/components-v2/Input/TextInput.js +0 -169
  78. package/dist/components-v2/KanbanBoard/KanbanBoard.d.ts +0 -39
  79. package/dist/components-v2/KanbanBoard/KanbanBoard.js +0 -101
  80. package/dist/components-v2/Layout/AppLayout.d.ts +0 -22
  81. package/dist/components-v2/Layout/AppLayout.js +0 -53
  82. package/dist/components-v2/Loading/Loading.d.ts +0 -19
  83. package/dist/components-v2/Loading/Loading.js +0 -55
  84. package/dist/components-v2/Modal/Modal.d.ts +0 -30
  85. package/dist/components-v2/Modal/Modal.js +0 -82
  86. package/dist/components-v2/NavigationBar/NavigationBar.d.ts +0 -47
  87. package/dist/components-v2/NavigationBar/NavigationBar.js +0 -148
  88. package/dist/components-v2/Notification/Notification.d.ts +0 -22
  89. package/dist/components-v2/Notification/Notification.js +0 -113
  90. package/dist/components-v2/NumberInput/NumberInput.d.ts +0 -37
  91. package/dist/components-v2/NumberInput/NumberInput.js +0 -210
  92. package/dist/components-v2/PinInput/PinInput.d.ts +0 -26
  93. package/dist/components-v2/PinInput/PinInput.js +0 -138
  94. package/dist/components-v2/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +0 -18
  95. package/dist/components-v2/ProfilePhotoViewer/ProfilePhotoViewer.js +0 -91
  96. package/dist/components-v2/Select/Select.d.ts +0 -41
  97. package/dist/components-v2/Select/Select.js +0 -284
  98. package/dist/components-v2/Sidebar/Sidebar.d.ts +0 -41
  99. package/dist/components-v2/Sidebar/Sidebar.js +0 -182
  100. package/dist/components-v2/Slider/Slider.d.ts +0 -18
  101. package/dist/components-v2/Slider/Slider.js +0 -101
  102. package/dist/components-v2/Table/Table.d.ts +0 -7
  103. package/dist/components-v2/Table/Table.js +0 -172
  104. package/dist/components-v2/Table/TableProps.d.ts +0 -139
  105. package/dist/components-v2/Table/TableProps.js +0 -9
  106. package/dist/components-v2/Table/components/ActiveFilters.d.ts +0 -10
  107. package/dist/components-v2/Table/components/ActiveFilters.js +0 -70
  108. package/dist/components-v2/Table/components/BulkActionBar.d.ts +0 -11
  109. package/dist/components-v2/Table/components/BulkActionBar.js +0 -92
  110. package/dist/components-v2/Table/components/ColumnResizeHandle.d.ts +0 -7
  111. package/dist/components-v2/Table/components/ColumnResizeHandle.js +0 -41
  112. package/dist/components-v2/Table/components/Pagination.d.ts +0 -11
  113. package/dist/components-v2/Table/components/Pagination.js +0 -92
  114. package/dist/components-v2/Table/components/TableBody.d.ts +0 -23
  115. package/dist/components-v2/Table/components/TableBody.js +0 -69
  116. package/dist/components-v2/Table/components/TableCell.d.ts +0 -14
  117. package/dist/components-v2/Table/components/TableCell.js +0 -63
  118. package/dist/components-v2/Table/components/TableEmptyState.d.ts +0 -12
  119. package/dist/components-v2/Table/components/TableEmptyState.js +0 -55
  120. package/dist/components-v2/Table/components/TableErrorState.d.ts +0 -6
  121. package/dist/components-v2/Table/components/TableErrorState.js +0 -52
  122. package/dist/components-v2/Table/components/TableHeader.d.ts +0 -21
  123. package/dist/components-v2/Table/components/TableHeader.js +0 -94
  124. package/dist/components-v2/Table/components/TableRow.d.ts +0 -20
  125. package/dist/components-v2/Table/components/TableRow.js +0 -64
  126. package/dist/components-v2/Table/components/TableSearch.d.ts +0 -8
  127. package/dist/components-v2/Table/components/TableSearch.js +0 -47
  128. package/dist/components-v2/Table/filters/FilterChips.d.ts +0 -6
  129. package/dist/components-v2/Table/filters/FilterChips.js +0 -9
  130. package/dist/components-v2/Table/filters/LeftFilterPane.d.ts +0 -17
  131. package/dist/components-v2/Table/filters/LeftFilterPane.js +0 -105
  132. package/dist/components-v2/Table/filters/TableFilters.d.ts +0 -12
  133. package/dist/components-v2/Table/filters/TableFilters.js +0 -127
  134. package/dist/components-v2/Table/hooks/useColumnResize.d.ts +0 -15
  135. package/dist/components-v2/Table/hooks/useColumnResize.js +0 -104
  136. package/dist/components-v2/Table/hooks/useTable.d.ts +0 -58
  137. package/dist/components-v2/Table/hooks/useTable.js +0 -254
  138. package/dist/components-v2/Table/hooks/useTableKeyboard.d.ts +0 -25
  139. package/dist/components-v2/Table/hooks/useTableKeyboard.js +0 -112
  140. package/dist/components-v2/Table/hooks/useVirtualScroll.d.ts +0 -29
  141. package/dist/components-v2/Table/hooks/useVirtualScroll.js +0 -83
  142. package/dist/components-v2/Table/settings/ManageColumns.d.ts +0 -12
  143. package/dist/components-v2/Table/settings/ManageColumns.js +0 -59
  144. package/dist/components-v2/Table/settings/TableSettings.d.ts +0 -12
  145. package/dist/components-v2/Table/settings/TableSettings.js +0 -57
  146. package/dist/components-v2/Table/utils/filterUtils.d.ts +0 -7
  147. package/dist/components-v2/Table/utils/filterUtils.js +0 -149
  148. package/dist/components-v2/Table/utils/sortUtils.d.ts +0 -6
  149. package/dist/components-v2/Table/utils/sortUtils.js +0 -65
  150. package/dist/components-v2/Tag/Tag.d.ts +0 -15
  151. package/dist/components-v2/Tag/Tag.js +0 -87
  152. package/dist/components-v2/Timeline/Timeline.d.ts +0 -18
  153. package/dist/components-v2/Timeline/Timeline.js +0 -76
  154. package/dist/components-v2/Toaster/Toaster.d.ts +0 -61
  155. package/dist/components-v2/Toaster/Toaster.js +0 -63
  156. package/dist/components-v2/Toggle/Toggle.d.ts +0 -28
  157. package/dist/components-v2/Toggle/Toggle.js +0 -90
  158. package/dist/components-v2/ui/accordion.d.ts +0 -12
  159. package/dist/components-v2/ui/accordion.js +0 -104
  160. package/dist/components-v2/ui/alert.d.ts +0 -18
  161. package/dist/components-v2/ui/alert.js +0 -99
  162. package/dist/components-v2/ui/avatar.d.ts +0 -12
  163. package/dist/components-v2/ui/avatar.js +0 -80
  164. package/dist/components-v2/ui/badge.d.ts +0 -10
  165. package/dist/components-v2/ui/badge.js +0 -76
  166. package/dist/components-v2/ui/button.d.ts +0 -18
  167. package/dist/components-v2/ui/button.js +0 -97
  168. package/dist/components-v2/ui/checkbox.d.ts +0 -15
  169. package/dist/components-v2/ui/checkbox.js +0 -86
  170. package/dist/components-v2/ui/dialog.d.ts +0 -30
  171. package/dist/components-v2/ui/dialog.js +0 -115
  172. package/dist/components-v2/ui/dropdown-menu.d.ts +0 -26
  173. package/dist/components-v2/ui/dropdown-menu.js +0 -121
  174. package/dist/components-v2/ui/field.d.ts +0 -32
  175. package/dist/components-v2/ui/field.js +0 -62
  176. package/dist/components-v2/ui/form-field.d.ts +0 -25
  177. package/dist/components-v2/ui/form-field.js +0 -96
  178. package/dist/components-v2/ui/input.d.ts +0 -9
  179. package/dist/components-v2/ui/input.js +0 -73
  180. package/dist/components-v2/ui/label.d.ts +0 -10
  181. package/dist/components-v2/ui/label.js +0 -70
  182. package/dist/components-v2/ui/popover.d.ts +0 -9
  183. package/dist/components-v2/ui/popover.js +0 -60
  184. package/dist/components-v2/ui/progress.d.ts +0 -12
  185. package/dist/components-v2/ui/progress.js +0 -75
  186. package/dist/components-v2/ui/radio-group.d.ts +0 -17
  187. package/dist/components-v2/ui/radio-group.js +0 -91
  188. package/dist/components-v2/ui/select.d.ts +0 -24
  189. package/dist/components-v2/ui/select.js +0 -122
  190. package/dist/components-v2/ui/separator.d.ts +0 -5
  191. package/dist/components-v2/ui/separator.js +0 -55
  192. package/dist/components-v2/ui/skeleton.d.ts +0 -9
  193. package/dist/components-v2/ui/skeleton.js +0 -68
  194. package/dist/components-v2/ui/spinner.d.ts +0 -16
  195. package/dist/components-v2/ui/spinner.js +0 -64
  196. package/dist/components-v2/ui/switch.d.ts +0 -10
  197. package/dist/components-v2/ui/switch.js +0 -81
  198. package/dist/components-v2/ui/tabs.d.ts +0 -13
  199. package/dist/components-v2/ui/tabs.js +0 -95
  200. package/dist/components-v2/ui/textarea.d.ts +0 -10
  201. package/dist/components-v2/ui/textarea.js +0 -96
  202. package/dist/components-v2/ui/tooltip.d.ts +0 -17
  203. package/dist/components-v2/ui/tooltip.js +0 -75
  204. package/dist/lib/utils.d.ts +0 -2
  205. package/dist/lib/utils.js +0 -8
  206. package/dist/theme-v2/ThemeProvider.d.ts +0 -19
  207. package/dist/theme-v2/ThemeProvider.js +0 -149
  208. package/dist/theme-v2/dark.css +0 -47
  209. package/dist/theme-v2/tokens.css +0 -72
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TableErrorState = TableErrorState;
37
- const React = __importStar(require("react"));
38
- const lucide_react_1 = require("lucide-react");
39
- const button_1 = require("../../ui/button");
40
- function TableErrorState({ error, onRetry, }) {
41
- const message = typeof error === "string" ? error : error.message || "Something went wrong";
42
- const details = typeof error === "object" && error.stack ? error.stack : null;
43
- return (React.createElement("div", { role: "alert", className: "flex flex-col items-center justify-center gap-3 px-6 py-12 text-center" },
44
- React.createElement(lucide_react_1.AlertTriangle, { "aria-hidden": "true", className: "h-10 w-10 text-destructive" }),
45
- React.createElement("div", { className: "space-y-1" },
46
- React.createElement("p", { className: "text-sm font-medium text-foreground" }, "Couldn't load this table"),
47
- React.createElement("p", { className: "text-sm text-muted-foreground" }, message)),
48
- onRetry && (React.createElement(button_1.Button, { variant: "outline", size: "sm", leftIcon: React.createElement(lucide_react_1.RefreshCw, null), onClick: onRetry }, "Try again")),
49
- details && (React.createElement("details", { className: "mt-2 max-w-md text-left" },
50
- React.createElement("summary", { className: "cursor-pointer text-xs text-muted-foreground hover:text-foreground" }, "Technical details"),
51
- React.createElement("pre", { className: "mt-2 max-h-32 overflow-auto rounded-md bg-muted p-2 text-[11px] leading-snug text-muted-foreground" }, details)))));
52
- }
@@ -1,21 +0,0 @@
1
- import * as React from "react";
2
- import type { ColumnDef, SortState } from "../TableProps";
3
- export interface TableHeaderProps<T> {
4
- columns: ColumnDef<T>[];
5
- columnWidths: Record<string, number>;
6
- sortable: boolean;
7
- sort: SortState | null;
8
- onSortChange: (next: SortState | null) => void;
9
- selectable: boolean;
10
- selectionMode: "single" | "multi";
11
- isAllSelected: boolean;
12
- isSomeSelected: boolean;
13
- onToggleAll: () => void;
14
- resizable: boolean;
15
- resizingColumnId: string | null;
16
- onResizePointerDown: (columnId: string, event: React.PointerEvent<HTMLDivElement>) => void;
17
- sticky: boolean;
18
- focusedColIndex: number;
19
- onCellClick: (colIndex: number) => void;
20
- }
21
- export declare function TableHeader<T>({ columns, columnWidths, sortable, sort, onSortChange, selectable, selectionMode, isAllSelected, isSomeSelected, onToggleAll, resizable, resizingColumnId, onResizePointerDown, sticky, focusedColIndex, onCellClick, }: TableHeaderProps<T>): React.ReactElement;
@@ -1,94 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TableHeader = TableHeader;
37
- const React = __importStar(require("react"));
38
- const lucide_react_1 = require("lucide-react");
39
- const utils_1 = require("../../../lib/utils");
40
- const checkbox_1 = require("../../ui/checkbox");
41
- const sortUtils_1 = require("../utils/sortUtils");
42
- const ColumnResizeHandle_1 = require("./ColumnResizeHandle");
43
- function TableHeader({ columns, columnWidths, sortable, sort, onSortChange, selectable, selectionMode, isAllSelected, isSomeSelected, onToggleAll, resizable, resizingColumnId, onResizePointerDown, sticky, focusedColIndex, onCellClick, }) {
44
- const handleSort = (column) => {
45
- if (!sortable || column.sortable === false)
46
- return;
47
- const currentDirection = (sort === null || sort === void 0 ? void 0 : sort.id) === column.id ? sort.direction : null;
48
- const next = (0, sortUtils_1.nextSortDirection)(currentDirection);
49
- onSortChange(next === null ? null : { id: column.id, direction: next });
50
- };
51
- return (React.createElement("thead", { className: (0, utils_1.cn)("bg-muted/50", sticky && "sticky top-0 z-20") },
52
- React.createElement("tr", null,
53
- selectable && (React.createElement("th", { scope: "col", className: "h-[var(--row-height)] w-10 border-b border-border px-2 align-middle" }, selectionMode === "multi" && (React.createElement(checkbox_1.Checkbox, { size: "sm", checked: isAllSelected
54
- ? true
55
- : isSomeSelected
56
- ? "indeterminate"
57
- : false, onCheckedChange: onToggleAll, "aria-label": isAllSelected ? "Deselect all" : "Select all" })))),
58
- columns.map((column, colIndex) => {
59
- var _a;
60
- const adjustedColIndex = selectable ? colIndex + 1 : colIndex;
61
- const isSorted = (sort === null || sort === void 0 ? void 0 : sort.id) === column.id;
62
- const direction = isSorted ? sort === null || sort === void 0 ? void 0 : sort.direction : null;
63
- const sortableCol = sortable && column.sortable !== false;
64
- const width = (_a = columnWidths[column.id]) !== null && _a !== void 0 ? _a : column.width;
65
- const isSticky = !!column.sticky;
66
- return (React.createElement("th", { key: column.id, scope: "col", "data-column-id": column.id, "aria-sort": isSorted && direction
67
- ? direction === "asc"
68
- ? "ascending"
69
- : "descending"
70
- : sortableCol
71
- ? "none"
72
- : undefined, tabIndex: focusedColIndex === adjustedColIndex ? 0 : -1, onClick: () => {
73
- onCellClick(adjustedColIndex);
74
- handleSort(column);
75
- }, style: Object.assign({ width, minWidth: width, maxWidth: width }, (isSticky
76
- ? {
77
- position: "sticky",
78
- [column.sticky === "left" ? "left" : "right"]: 0,
79
- zIndex: 21,
80
- }
81
- : {})), className: (0, utils_1.cn)("relative h-[var(--row-height)] select-none border-b border-border px-3 align-middle text-left text-xs font-medium uppercase tracking-wider text-muted-foreground", sortableCol &&
82
- "cursor-pointer hover:text-foreground", isSticky && "bg-muted/80", column.align === "center" && "text-center", column.align === "right" && "text-right") },
83
- React.createElement("span", { className: "flex items-center gap-1.5" },
84
- React.createElement("span", { className: "truncate" }, column.header),
85
- sortableCol && (React.createElement(SortIcon, { sorted: isSorted, direction: direction !== null && direction !== void 0 ? direction : null }))),
86
- resizable && column.enableResizing !== false && (React.createElement(ColumnResizeHandle_1.ColumnResizeHandle, { columnId: column.id, isResizing: resizingColumnId === column.id, onPointerDown: onResizePointerDown }))));
87
- }))));
88
- }
89
- function SortIcon({ sorted, direction, }) {
90
- if (!sorted || direction === null) {
91
- return (React.createElement(lucide_react_1.ChevronsUpDown, { "aria-hidden": "true", className: "h-3.5 w-3.5 opacity-50" }));
92
- }
93
- return direction === "asc" ? (React.createElement(lucide_react_1.ArrowUp, { "aria-hidden": "true", className: "h-3.5 w-3.5 text-primary" })) : (React.createElement(lucide_react_1.ArrowDown, { "aria-hidden": "true", className: "h-3.5 w-3.5 text-primary" }));
94
- }
@@ -1,20 +0,0 @@
1
- import * as React from "react";
2
- import type { ColumnDef } from "../TableProps";
3
- export interface TableRowProps<T> {
4
- row: T;
5
- rowKey: string | number;
6
- rowIndex: number;
7
- columns: ColumnDef<T>[];
8
- columnWidths: Record<string, number>;
9
- selectable: boolean;
10
- selected: boolean;
11
- onToggleSelect: (key: string | number, event: React.MouseEvent) => void;
12
- onRowClick?: (row: T, event: React.MouseEvent) => void;
13
- rowClassName?: (row: T) => string | undefined;
14
- /** Index of the currently keyboard-focused column (or -1). */
15
- focusedColIndex: number;
16
- onCellClick: (colIndex: number) => void;
17
- striped: boolean;
18
- noBorders: boolean;
19
- }
20
- export declare const TableRow: <T>(props: TableRowProps<T>) => React.ReactElement;
@@ -1,64 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TableRow = void 0;
37
- const React = __importStar(require("react"));
38
- const utils_1 = require("../../../lib/utils");
39
- const checkbox_1 = require("../../ui/checkbox");
40
- const sortUtils_1 = require("../utils/sortUtils");
41
- const TableCell_1 = require("./TableCell");
42
- function TableRowImpl({ row, rowKey, rowIndex, columns, columnWidths, selectable, selected, onToggleSelect, onRowClick, rowClassName, focusedColIndex, onCellClick, striped, noBorders, }) {
43
- const clickableRow = !!onRowClick;
44
- const rowClasses = rowClassName === null || rowClassName === void 0 ? void 0 : rowClassName(row);
45
- return (React.createElement("tr", { "data-row-key": rowKey, "aria-selected": selectable ? selected : undefined, onClick: (event) => onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(row, event), className: (0, utils_1.cn)("group transition-colors", striped && rowIndex % 2 === 1 && "bg-muted/30", selected && "!bg-primary/10 outline outline-2 -outline-offset-2 outline-primary/40", clickableRow && "cursor-pointer", "hover:bg-accent/50", noBorders && "[&>td]:border-b-0", rowClasses) },
46
- selectable && (React.createElement("td", { className: "h-[var(--row-height)] w-10 border-b border-border px-2 align-middle", onClick: (event) => event.stopPropagation(), tabIndex: focusedColIndex === 0 ? 0 : -1, role: "gridcell" },
47
- React.createElement(checkbox_1.Checkbox, { size: "sm", checked: selected, onCheckedChange: () => {
48
- const fakeEvent = {
49
- shiftKey: false,
50
- };
51
- onToggleSelect(rowKey, fakeEvent);
52
- }, "aria-label": `Select row ${rowIndex + 1}` }))),
53
- columns.map((column, colIndex) => {
54
- var _a;
55
- const adjustedColIndex = selectable ? colIndex + 1 : colIndex;
56
- const value = (0, sortUtils_1.getRowValue)(row, column);
57
- return (React.createElement(TableCell_1.TableCell, { key: column.id, column: column, value: value, row: row, width: (_a = columnWidths[column.id]) !== null && _a !== void 0 ? _a : column.width, isFocused: focusedColIndex === adjustedColIndex, onClick: (event) => {
58
- event.stopPropagation();
59
- onCellClick(adjustedColIndex);
60
- onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(row, event);
61
- } }));
62
- })));
63
- }
64
- exports.TableRow = React.memo(TableRowImpl);
@@ -1,8 +0,0 @@
1
- import * as React from "react";
2
- export interface TableSearchProps {
3
- value: string;
4
- onChange: (value: string) => void;
5
- placeholder?: string;
6
- className?: string;
7
- }
8
- export declare function TableSearch({ value, onChange, placeholder, className, }: TableSearchProps): React.ReactElement;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TableSearch = TableSearch;
37
- const React = __importStar(require("react"));
38
- const lucide_react_1 = require("lucide-react");
39
- const utils_1 = require("../../../lib/utils");
40
- const input_1 = require("../../ui/input");
41
- function TableSearch({ value, onChange, placeholder = "Search…", className, }) {
42
- return (React.createElement("div", { className: (0, utils_1.cn)("relative w-full max-w-xs", className) },
43
- React.createElement(lucide_react_1.Search, { "aria-hidden": "true", className: "pointer-events-none absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
44
- React.createElement(input_1.Input, { type: "search", value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, className: "pl-8 pr-8", "aria-label": "Search table" }),
45
- value && (React.createElement("button", { type: "button", "aria-label": "Clear search", onClick: () => onChange(""), className: "absolute right-2 top-1/2 -translate-y-1/2 rounded-sm text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" },
46
- React.createElement(lucide_react_1.X, { className: "h-3.5 w-3.5" })))));
47
- }
@@ -1,6 +0,0 @@
1
- /**
2
- * FilterChips is the same UI as ActiveFilters — re-exported here so consumers
3
- * can import either location without surprises.
4
- */
5
- export { ActiveFilters as FilterChips } from "../components/ActiveFilters";
6
- export type { ActiveFiltersProps as FilterChipsProps } from "../components/ActiveFilters";
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FilterChips = void 0;
4
- /**
5
- * FilterChips is the same UI as ActiveFilters — re-exported here so consumers
6
- * can import either location without surprises.
7
- */
8
- var ActiveFilters_1 = require("../components/ActiveFilters");
9
- Object.defineProperty(exports, "FilterChips", { enumerable: true, get: function () { return ActiveFilters_1.ActiveFilters; } });
@@ -1,17 +0,0 @@
1
- import * as React from "react";
2
- import type { FilterSidebarConfig } from "../TableProps";
3
- export interface LeftFilterPaneProps {
4
- filters: FilterSidebarConfig[];
5
- initialValues?: Record<string, unknown>;
6
- onApply: (values: Record<string, unknown>) => void;
7
- onClose?: () => void;
8
- position?: "left" | "right";
9
- isLoading?: boolean;
10
- className?: string;
11
- }
12
- /**
13
- * Sidebar variant of the filter UI — renders inline alongside the table when
14
- * `filterMode === 'sidebar'`. Maintains its own draft state and only fires
15
- * `onApply` on the explicit Apply button.
16
- */
17
- export declare function LeftFilterPane({ filters, initialValues, onApply, onClose, position, isLoading, className, }: LeftFilterPaneProps): React.ReactElement;
@@ -1,105 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.LeftFilterPane = LeftFilterPane;
37
- const React = __importStar(require("react"));
38
- const lucide_react_1 = require("lucide-react");
39
- const utils_1 = require("../../../lib/utils");
40
- const button_1 = require("../../ui/button");
41
- const input_1 = require("../../ui/input");
42
- const label_1 = require("../../ui/label");
43
- const Select_1 = require("../../Select/Select");
44
- const spinner_1 = require("../../ui/spinner");
45
- /**
46
- * Sidebar variant of the filter UI — renders inline alongside the table when
47
- * `filterMode === 'sidebar'`. Maintains its own draft state and only fires
48
- * `onApply` on the explicit Apply button.
49
- */
50
- function LeftFilterPane({ filters, initialValues, onApply, onClose, position = "left", isLoading, className, }) {
51
- const [draft, setDraft] = React.useState(initialValues !== null && initialValues !== void 0 ? initialValues : {});
52
- React.useEffect(() => {
53
- if (initialValues)
54
- setDraft(initialValues);
55
- }, [initialValues]);
56
- const update = (id, value) => setDraft((prev) => (Object.assign(Object.assign({}, prev), { [id]: value })));
57
- return (React.createElement("aside", { "aria-label": "Filters", className: (0, utils_1.cn)("flex w-72 shrink-0 flex-col border-border bg-card text-card-foreground", position === "left" ? "border-r" : "border-l", className) },
58
- React.createElement("header", { className: "flex items-center justify-between gap-2 border-b border-border px-3 py-2" },
59
- React.createElement("span", { className: "inline-flex items-center gap-2 text-sm font-medium" },
60
- React.createElement(lucide_react_1.Filter, { "aria-hidden": "true", className: "h-4 w-4" }),
61
- "Filters"),
62
- onClose && (React.createElement("button", { type: "button", "aria-label": "Close filters", onClick: onClose, className: "rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" },
63
- React.createElement(lucide_react_1.X, { className: "h-4 w-4" })))),
64
- React.createElement("div", { className: "flex-1 space-y-4 overflow-y-auto px-3 py-3" },
65
- filters.map((config) => (React.createElement(FilterField, { key: config.id, config: config, value: draft[config.id], onChange: (v) => update(config.id, v) }))),
66
- filters.length === 0 && (React.createElement("p", { className: "text-xs text-muted-foreground" }, "No filters configured."))),
67
- React.createElement("footer", { className: "flex items-center justify-end gap-2 border-t border-border px-3 py-2" },
68
- React.createElement(button_1.Button, { variant: "ghost", size: "sm", onClick: () => {
69
- setDraft({});
70
- onApply({});
71
- } }, "Reset"),
72
- React.createElement(button_1.Button, { size: "sm", onClick: () => onApply(draft), isLoading: isLoading, leftIcon: isLoading ? React.createElement(spinner_1.Spinner, { size: "sm" }) : undefined }, "Apply"))));
73
- }
74
- function FilterField({ config, value, onChange, }) {
75
- var _a, _b, _c, _d, _e;
76
- const opts = ((_a = config.options) !== null && _a !== void 0 ? _a : []).map((option) => ({
77
- value: String(option.value),
78
- label: option.label,
79
- }));
80
- if (config.type === "select") {
81
- return (React.createElement(Select_1.Select, { label: config.label, options: opts, value: typeof value === "string" ? value : "", onChange: (v) => onChange(v), clearable: true, searchable: opts.length > 6 }));
82
- }
83
- if (config.type === "multi-select") {
84
- return (React.createElement(Select_1.Select, { label: config.label, options: opts, multiple: true, value: Array.isArray(value) ? value : [], onChange: (v) => onChange(v), clearable: true, searchable: opts.length > 6 }));
85
- }
86
- if (config.type === "number-range") {
87
- const v = Array.isArray(value) ? value : ["", ""];
88
- return (React.createElement("div", { className: "space-y-1.5" },
89
- React.createElement(label_1.Label, null, config.label),
90
- React.createElement("div", { className: "flex items-center gap-2" },
91
- React.createElement(input_1.Input, { size: "sm", inputMode: "decimal", placeholder: "Min", value: (_b = v[0]) !== null && _b !== void 0 ? _b : "", onChange: (event) => { var _a; return onChange([event.target.value, (_a = v[1]) !== null && _a !== void 0 ? _a : ""]); } }),
92
- React.createElement(input_1.Input, { size: "sm", inputMode: "decimal", placeholder: "Max", value: (_c = v[1]) !== null && _c !== void 0 ? _c : "", onChange: (event) => { var _a; return onChange([(_a = v[0]) !== null && _a !== void 0 ? _a : "", event.target.value]); } }))));
93
- }
94
- if (config.type === "date-range") {
95
- const v = Array.isArray(value) ? value : ["", ""];
96
- return (React.createElement("div", { className: "space-y-1.5" },
97
- React.createElement(label_1.Label, null, config.label),
98
- React.createElement("div", { className: "flex items-center gap-2" },
99
- React.createElement(input_1.Input, { size: "sm", type: "date", value: (_d = v[0]) !== null && _d !== void 0 ? _d : "", onChange: (event) => { var _a; return onChange([event.target.value, (_a = v[1]) !== null && _a !== void 0 ? _a : ""]); } }),
100
- React.createElement(input_1.Input, { size: "sm", type: "date", value: (_e = v[1]) !== null && _e !== void 0 ? _e : "", onChange: (event) => { var _a; return onChange([(_a = v[0]) !== null && _a !== void 0 ? _a : "", event.target.value]); } }))));
101
- }
102
- return (React.createElement("div", { className: "space-y-1.5" },
103
- React.createElement(label_1.Label, null, config.label),
104
- React.createElement(input_1.Input, { size: "sm", value: typeof value === "string" ? value : "", onChange: (event) => onChange(event.target.value), placeholder: `Filter by ${config.label.toLowerCase()}` })));
105
- }
@@ -1,12 +0,0 @@
1
- import * as React from "react";
2
- import type { ActiveFilter, ColumnDef } from "../TableProps";
3
- export interface TableFiltersProps<T> {
4
- columns: ColumnDef<T>[];
5
- filters: ActiveFilter[];
6
- onApply: (next: ActiveFilter[]) => void;
7
- }
8
- /**
9
- * Inline column-level filter builder. Opens from a "Filters" button in the
10
- * toolbar and lets the user add per-column filter rules.
11
- */
12
- export declare function TableFilters<T>({ columns, filters, onApply, }: TableFiltersProps<T>): React.ReactElement;
@@ -1,127 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TableFilters = TableFilters;
37
- const React = __importStar(require("react"));
38
- const lucide_react_1 = require("lucide-react");
39
- const utils_1 = require("../../../lib/utils");
40
- const button_1 = require("../../ui/button");
41
- const input_1 = require("../../ui/input");
42
- const popover_1 = require("../../ui/popover");
43
- const select_1 = require("../../ui/select");
44
- const filterUtils_1 = require("../utils/filterUtils");
45
- /**
46
- * Inline column-level filter builder. Opens from a "Filters" button in the
47
- * toolbar and lets the user add per-column filter rules.
48
- */
49
- function TableFilters({ columns, filters, onApply, }) {
50
- const [open, setOpen] = React.useState(false);
51
- const [draft, setDraft] = React.useState(filters);
52
- React.useEffect(() => {
53
- if (open)
54
- setDraft(filters);
55
- }, [open, filters]);
56
- const filterableColumns = columns.filter((c) => c.filterable !== false);
57
- const addFilter = () => {
58
- const first = filterableColumns[0];
59
- if (!first)
60
- return;
61
- const op = (0, filterUtils_1.defaultOperatorFor)(first.type);
62
- setDraft((prev) => [
63
- ...prev,
64
- { columnId: first.id, operator: op, value: "" },
65
- ]);
66
- };
67
- const updateAt = (index, patch) => {
68
- setDraft((prev) => prev.map((row, i) => (i === index ? Object.assign(Object.assign({}, row), patch) : row)));
69
- };
70
- const removeAt = (index) => {
71
- setDraft((prev) => prev.filter((_, i) => i !== index));
72
- };
73
- const handleApply = () => {
74
- onApply(draft);
75
- setOpen(false);
76
- };
77
- return (React.createElement(popover_1.Popover, { open: open, onOpenChange: setOpen },
78
- React.createElement(popover_1.PopoverTrigger, { asChild: true },
79
- React.createElement(button_1.Button, { variant: "outline", size: "sm", leftIcon: React.createElement(lucide_react_1.Filter, null), "aria-label": "Filters" },
80
- "Filters",
81
- filters.length > 0 && (React.createElement("span", { className: "ml-1 rounded-full bg-primary px-1.5 text-[10px] font-semibold text-primary-foreground" }, filters.length)))),
82
- React.createElement(popover_1.PopoverContent, { align: "end", className: "w-[min(420px,90vw)] p-0" },
83
- React.createElement("div", { className: "border-b border-border px-3 py-2 text-sm font-medium" }, "Filter rules"),
84
- React.createElement("div", { className: "max-h-[60vh] space-y-2 overflow-y-auto px-3 py-3" },
85
- draft.length === 0 && (React.createElement("p", { className: "text-xs text-muted-foreground" }, "No filters yet. Add one to narrow the results.")),
86
- draft.map((row, index) => {
87
- var _a, _b;
88
- const column = columns.find((c) => c.id === row.columnId);
89
- const type = (_a = column === null || column === void 0 ? void 0 : column.type) !== null && _a !== void 0 ? _a : "text";
90
- const operators = (_b = filterUtils_1.FILTER_OPERATORS_BY_TYPE[type]) !== null && _b !== void 0 ? _b : [];
91
- const needsValue = (0, filterUtils_1.operatorNeedsValue)(row.operator);
92
- return (React.createElement("div", { key: `${row.columnId}-${index}`, className: "flex flex-wrap items-center gap-2" },
93
- React.createElement(select_1.SelectRoot, { value: row.columnId, onValueChange: (value) => {
94
- var _a;
95
- const nextColumn = (_a = columns.find((c) => c.id === value)) !== null && _a !== void 0 ? _a : column;
96
- updateAt(index, {
97
- columnId: value,
98
- operator: (0, filterUtils_1.defaultOperatorFor)(nextColumn === null || nextColumn === void 0 ? void 0 : nextColumn.type),
99
- value: "",
100
- });
101
- } },
102
- React.createElement(select_1.SelectTrigger, { size: "sm", className: "w-32 text-xs" },
103
- React.createElement(select_1.SelectValue, null)),
104
- React.createElement(select_1.SelectContent, null, filterableColumns.map((c) => (React.createElement(select_1.SelectItem, { key: c.id, value: c.id }, c.header))))),
105
- React.createElement(select_1.SelectRoot, { value: row.operator, onValueChange: (value) => updateAt(index, {
106
- operator: value,
107
- }) },
108
- React.createElement(select_1.SelectTrigger, { size: "sm", className: "w-32 text-xs" },
109
- React.createElement(select_1.SelectValue, null)),
110
- React.createElement(select_1.SelectContent, null, operators.map((op) => (React.createElement(select_1.SelectItem, { key: op, value: op }, filterUtils_1.OPERATOR_LABELS[op]))))),
111
- needsValue && (React.createElement(input_1.Input, { size: "sm", className: "flex-1 min-w-[120px] text-xs", placeholder: "Value", value: typeof row.value === "string" ||
112
- typeof row.value === "number"
113
- ? String(row.value)
114
- : "", onChange: (event) => updateAt(index, { value: event.target.value }) })),
115
- React.createElement("button", { type: "button", "aria-label": "Remove filter", onClick: () => removeAt(index), className: (0, utils_1.cn)("rounded-md p-1 text-muted-foreground transition-colors", "hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") },
116
- React.createElement(lucide_react_1.X, { className: "h-3.5 w-3.5" }))));
117
- })),
118
- React.createElement("div", { className: "flex items-center justify-between gap-2 border-t border-border px-3 py-2" },
119
- React.createElement(button_1.Button, { variant: "ghost", size: "sm", onClick: addFilter, disabled: filterableColumns.length === 0 }, "+ Add filter"),
120
- React.createElement("div", { className: "flex gap-2" },
121
- React.createElement(button_1.Button, { variant: "outline", size: "sm", onClick: () => {
122
- setDraft([]);
123
- onApply([]);
124
- setOpen(false);
125
- } }, "Clear"),
126
- React.createElement(button_1.Button, { size: "sm", onClick: handleApply }, "Apply"))))));
127
- }
@@ -1,15 +0,0 @@
1
- import * as React from "react";
2
- import type { ColumnDef } from "../TableProps";
3
- export interface UseColumnResizeOptions<T> {
4
- columns: ColumnDef<T>[];
5
- columnWidths: Record<string, number>;
6
- setColumnWidth: (id: string, width: number) => void;
7
- enabled: boolean;
8
- }
9
- export interface ColumnResizeAPI {
10
- handlePointerDown: (columnId: string, event: React.PointerEvent<HTMLDivElement>) => void;
11
- isResizing: boolean;
12
- resizingColumnId: string | null;
13
- getWidth: (columnId: string) => number | undefined;
14
- }
15
- export declare function useColumnResize<T>({ columns, columnWidths, setColumnWidth, enabled, }: UseColumnResizeOptions<T>): ColumnResizeAPI;