pixelize-design-library 2.3.1-beta.1 → 2.3.1-beta.3

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 (312) hide show
  1. package/.claude/settings.local.json +3 -1
  2. package/dist/Components/Accordion/Accordion.js +26 -5
  3. package/dist/Components/NavigationBar/NavigationBar.js +4 -4
  4. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +1 -1
  5. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +42 -24
  6. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewerProps.d.ts +2 -0
  7. package/dist/Components/Table/{Components → components}/TableHeader.js +5 -9
  8. package/dist/Components/Timeline/Timeline.d.ts +1 -1
  9. package/dist/Components/Timeline/Timeline.js +145 -78
  10. package/dist/Components/Toaster/Toaster.js +40 -20
  11. package/package.json +1 -1
  12. package/dist/App.d.ts +0 -4
  13. package/dist/App.js +0 -131
  14. package/dist/Components/Table/CompactSelect.d.ts +0 -15
  15. package/dist/Components/Table/CompactSelect.js +0 -69
  16. package/dist/Components/Table/Components/ActiveFilters.d.ts +0 -9
  17. package/dist/Components/Table/Components/ActiveFilters.js +0 -132
  18. package/dist/Components/Table/Components/TableFilters.d.ts +0 -7
  19. package/dist/Components/Table/Components/TableFilters.js +0 -89
  20. package/dist/Components/Table/Components/useDebounce.d.ts +0 -2
  21. package/dist/Components/Table/Components/useDebounce.js +0 -28
  22. package/dist/Components/Table/Components/useTable.d.ts +0 -47
  23. package/dist/Components/Table/Components/useTable.js +0 -219
  24. package/dist/Components/Table/LeftFilterPane.d.ts +0 -36
  25. package/dist/Components/Table/LeftFilterPane.js +0 -273
  26. package/dist/Components/Table/SelectOperationControls.d.ts +0 -8
  27. package/dist/Components/Table/SelectOperationControls.js +0 -15
  28. package/dist/Components/Table/TableSettings/ManageColumns.d.ts +0 -12
  29. package/dist/Components/Table/TableSettings/ManageColumns.js +0 -166
  30. package/dist/Components/Table/TableSettings/ManageColumns.test.d.ts +0 -1
  31. package/dist/Components/Table/TableSettings/ManageColumns.test.js +0 -146
  32. package/dist/Components/Table/TableSettings/TableFilters.d.ts +0 -10
  33. package/dist/Components/Table/TableSettings/TableFilters.js +0 -69
  34. package/dist/Components/Table/TableSettings/TableFilters.test.d.ts +0 -1
  35. package/dist/Components/Table/TableSettings/TableFilters.test.js +0 -109
  36. package/dist/Components/Table/TableSettings/TableSettings.d.ts +0 -8
  37. package/dist/Components/Table/TableSettings/TableSettings.js +0 -141
  38. package/dist/Components/Table/TableToDo.d.ts +0 -2
  39. package/dist/Components/Table/TableToDo.js +0 -291
  40. package/dist/Components/Table/TextOperationControls.d.ts +0 -12
  41. package/dist/Components/Table/TextOperationControls.js +0 -29
  42. package/dist/Layout.d.ts +0 -3
  43. package/dist/Layout.js +0 -292
  44. package/dist/Pages/TInput.d.ts +0 -3
  45. package/dist/Pages/TInput.js +0 -56
  46. package/dist/Pages/accordion.d.ts +0 -3
  47. package/dist/Pages/accordion.js +0 -42
  48. package/dist/Pages/alertdialog.d.ts +0 -3
  49. package/dist/Pages/alertdialog.js +0 -54
  50. package/dist/Pages/button.d.ts +0 -3
  51. package/dist/Pages/button.js +0 -46
  52. package/dist/Pages/card.d.ts +0 -3
  53. package/dist/Pages/card.js +0 -117
  54. package/dist/Pages/chart.d.ts +0 -4
  55. package/dist/Pages/chart.js +0 -40
  56. package/dist/Pages/checkbox.d.ts +0 -3
  57. package/dist/Pages/checkbox.js +0 -12
  58. package/dist/Pages/contactForm.d.ts +0 -3
  59. package/dist/Pages/contactForm.js +0 -16
  60. package/dist/Pages/datePick.d.ts +0 -3
  61. package/dist/Pages/datePick.js +0 -88
  62. package/dist/Pages/drawer.d.ts +0 -3
  63. package/dist/Pages/drawer.js +0 -58
  64. package/dist/Pages/dropdown.d.ts +0 -3
  65. package/dist/Pages/dropdown.js +0 -24
  66. package/dist/Pages/editor.d.ts +0 -3
  67. package/dist/Pages/editor.js +0 -14
  68. package/dist/Pages/feedback.d.ts +0 -2
  69. package/dist/Pages/feedback.js +0 -15
  70. package/dist/Pages/fileUpload.d.ts +0 -2
  71. package/dist/Pages/fileUpload.js +0 -82
  72. package/dist/Pages/input.d.ts +0 -3
  73. package/dist/Pages/input.js +0 -92
  74. package/dist/Pages/kanbanboard.d.ts +0 -3
  75. package/dist/Pages/kanbanboard.js +0 -224
  76. package/dist/Pages/modal.d.ts +0 -3
  77. package/dist/Pages/modal.js +0 -65
  78. package/dist/Pages/multiSelect.d.ts +0 -3
  79. package/dist/Pages/multiSelect.js +0 -55
  80. package/dist/Pages/noteArea.d.ts +0 -3
  81. package/dist/Pages/noteArea.js +0 -59
  82. package/dist/Pages/notification.d.ts +0 -3
  83. package/dist/Pages/notification.js +0 -25
  84. package/dist/Pages/numberInput.d.ts +0 -3
  85. package/dist/Pages/numberInput.js +0 -49
  86. package/dist/Pages/photoViewer.d.ts +0 -3
  87. package/dist/Pages/photoViewer.js +0 -12
  88. package/dist/Pages/pinInputs.d.ts +0 -3
  89. package/dist/Pages/pinInputs.js +0 -12
  90. package/dist/Pages/productCaard.d.ts +0 -3
  91. package/dist/Pages/productCaard.js +0 -311
  92. package/dist/Pages/productDetailCard.d.ts +0 -3
  93. package/dist/Pages/productDetailCard.js +0 -78
  94. package/dist/Pages/productFilter.d.ts +0 -3
  95. package/dist/Pages/productFilter.js +0 -202
  96. package/dist/Pages/progressbar.d.ts +0 -3
  97. package/dist/Pages/progressbar.js +0 -12
  98. package/dist/Pages/radioButton.d.ts +0 -3
  99. package/dist/Pages/radioButton.js +0 -54
  100. package/dist/Pages/search.d.ts +0 -3
  101. package/dist/Pages/search.js +0 -54
  102. package/dist/Pages/searchSelect.d.ts +0 -3
  103. package/dist/Pages/searchSelect.js +0 -133
  104. package/dist/Pages/select.d.ts +0 -3
  105. package/dist/Pages/select.js +0 -53
  106. package/dist/Pages/selectSearch.d.ts +0 -3
  107. package/dist/Pages/selectSearch.js +0 -103
  108. package/dist/Pages/skeleton.d.ts +0 -3
  109. package/dist/Pages/skeleton.js +0 -22
  110. package/dist/Pages/switch.d.ts +0 -3
  111. package/dist/Pages/switch.js +0 -50
  112. package/dist/Pages/table.d.ts +0 -3
  113. package/dist/Pages/table.js +0 -174
  114. package/dist/Pages/textArea.d.ts +0 -3
  115. package/dist/Pages/textArea.js +0 -15
  116. package/dist/Pages/timeline.d.ts +0 -3
  117. package/dist/Pages/timeline.js +0 -74
  118. package/dist/Pages/tooltip.d.ts +0 -3
  119. package/dist/Pages/tooltip.js +0 -12
  120. package/dist/Pages/toster.d.ts +0 -3
  121. package/dist/Pages/toster.js +0 -68
  122. package/dist/Pages/verifyEmail.d.ts +0 -3
  123. package/dist/Pages/verifyEmail.js +0 -18
  124. package/dist/Theme/Dark/palette.d.ts +0 -370
  125. package/dist/Theme/Dark/palette.js +0 -372
  126. package/dist/bootstrap.d.ts +0 -1
  127. package/dist/bootstrap.js +0 -14
  128. package/dist/components-v2/AlertDialog/AlertDialog.d.ts +0 -23
  129. package/dist/components-v2/AlertDialog/AlertDialog.js +0 -98
  130. package/dist/components-v2/Breadcrumbs/Breadcrumbs.d.ts +0 -14
  131. package/dist/components-v2/Breadcrumbs/Breadcrumbs.js +0 -66
  132. package/dist/components-v2/Charts/AreaChart.d.ts +0 -23
  133. package/dist/components-v2/Charts/AreaChart.js +0 -63
  134. package/dist/components-v2/Charts/BarChart.d.ts +0 -25
  135. package/dist/components-v2/Charts/BarChart.js +0 -57
  136. package/dist/components-v2/Charts/LineChart.d.ts +0 -23
  137. package/dist/components-v2/Charts/LineChart.js +0 -55
  138. package/dist/components-v2/Charts/PieChart.d.ts +0 -15
  139. package/dist/components-v2/Charts/PieChart.js +0 -54
  140. package/dist/components-v2/Charts/PolarChart.d.ts +0 -14
  141. package/dist/components-v2/Charts/PolarChart.js +0 -54
  142. package/dist/components-v2/Charts/chartOptions.d.ts +0 -7
  143. package/dist/components-v2/Charts/chartOptions.js +0 -41
  144. package/dist/components-v2/Charts/useChartTheme.d.ts +0 -22
  145. package/dist/components-v2/Charts/useChartTheme.js +0 -106
  146. package/dist/components-v2/ContactForm/ContactForm.d.ts +0 -25
  147. package/dist/components-v2/ContactForm/ContactForm.js +0 -116
  148. package/dist/components-v2/DatePicker/Calendar.d.ts +0 -19
  149. package/dist/components-v2/DatePicker/Calendar.js +0 -212
  150. package/dist/components-v2/DatePicker/DatePicker.d.ts +0 -46
  151. package/dist/components-v2/DatePicker/DatePicker.js +0 -189
  152. package/dist/components-v2/DatePicker/TimePicker.d.ts +0 -12
  153. package/dist/components-v2/DatePicker/TimePicker.js +0 -105
  154. package/dist/components-v2/DatePicker/utils.d.ts +0 -31
  155. package/dist/components-v2/DatePicker/utils.js +0 -109
  156. package/dist/components-v2/Drawer/Drawer.d.ts +0 -27
  157. package/dist/components-v2/Drawer/Drawer.js +0 -132
  158. package/dist/components-v2/FeedbackForm/FeedbackForm.d.ts +0 -26
  159. package/dist/components-v2/FeedbackForm/FeedbackForm.js +0 -112
  160. package/dist/components-v2/FileUploader/FileUploader.d.ts +0 -28
  161. package/dist/components-v2/FileUploader/FileUploader.js +0 -127
  162. package/dist/components-v2/Input/TextInput.d.ts +0 -41
  163. package/dist/components-v2/Input/TextInput.js +0 -169
  164. package/dist/components-v2/KanbanBoard/KanbanBoard.d.ts +0 -39
  165. package/dist/components-v2/KanbanBoard/KanbanBoard.js +0 -101
  166. package/dist/components-v2/Layout/AppLayout.d.ts +0 -22
  167. package/dist/components-v2/Layout/AppLayout.js +0 -53
  168. package/dist/components-v2/Loading/Loading.d.ts +0 -19
  169. package/dist/components-v2/Loading/Loading.js +0 -55
  170. package/dist/components-v2/Modal/Modal.d.ts +0 -30
  171. package/dist/components-v2/Modal/Modal.js +0 -82
  172. package/dist/components-v2/NavigationBar/NavigationBar.d.ts +0 -47
  173. package/dist/components-v2/NavigationBar/NavigationBar.js +0 -148
  174. package/dist/components-v2/Notification/Notification.d.ts +0 -22
  175. package/dist/components-v2/Notification/Notification.js +0 -113
  176. package/dist/components-v2/NumberInput/NumberInput.d.ts +0 -37
  177. package/dist/components-v2/NumberInput/NumberInput.js +0 -210
  178. package/dist/components-v2/PinInput/PinInput.d.ts +0 -26
  179. package/dist/components-v2/PinInput/PinInput.js +0 -138
  180. package/dist/components-v2/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +0 -18
  181. package/dist/components-v2/ProfilePhotoViewer/ProfilePhotoViewer.js +0 -91
  182. package/dist/components-v2/Select/Select.d.ts +0 -41
  183. package/dist/components-v2/Select/Select.js +0 -284
  184. package/dist/components-v2/Sidebar/Sidebar.d.ts +0 -41
  185. package/dist/components-v2/Sidebar/Sidebar.js +0 -182
  186. package/dist/components-v2/Slider/Slider.d.ts +0 -18
  187. package/dist/components-v2/Slider/Slider.js +0 -101
  188. package/dist/components-v2/Table/Table.d.ts +0 -7
  189. package/dist/components-v2/Table/Table.js +0 -172
  190. package/dist/components-v2/Table/TableProps.d.ts +0 -139
  191. package/dist/components-v2/Table/TableProps.js +0 -9
  192. package/dist/components-v2/Table/components/ActiveFilters.d.ts +0 -10
  193. package/dist/components-v2/Table/components/ActiveFilters.js +0 -70
  194. package/dist/components-v2/Table/components/BulkActionBar.d.ts +0 -11
  195. package/dist/components-v2/Table/components/BulkActionBar.js +0 -92
  196. package/dist/components-v2/Table/components/ColumnResizeHandle.d.ts +0 -7
  197. package/dist/components-v2/Table/components/ColumnResizeHandle.js +0 -41
  198. package/dist/components-v2/Table/components/Pagination.d.ts +0 -11
  199. package/dist/components-v2/Table/components/Pagination.js +0 -92
  200. package/dist/components-v2/Table/components/TableBody.d.ts +0 -23
  201. package/dist/components-v2/Table/components/TableBody.js +0 -69
  202. package/dist/components-v2/Table/components/TableCell.d.ts +0 -14
  203. package/dist/components-v2/Table/components/TableCell.js +0 -63
  204. package/dist/components-v2/Table/components/TableEmptyState.d.ts +0 -12
  205. package/dist/components-v2/Table/components/TableEmptyState.js +0 -55
  206. package/dist/components-v2/Table/components/TableErrorState.d.ts +0 -6
  207. package/dist/components-v2/Table/components/TableErrorState.js +0 -52
  208. package/dist/components-v2/Table/components/TableHeader.d.ts +0 -21
  209. package/dist/components-v2/Table/components/TableHeader.js +0 -94
  210. package/dist/components-v2/Table/components/TableRow.d.ts +0 -20
  211. package/dist/components-v2/Table/components/TableRow.js +0 -64
  212. package/dist/components-v2/Table/components/TableSearch.d.ts +0 -8
  213. package/dist/components-v2/Table/components/TableSearch.js +0 -47
  214. package/dist/components-v2/Table/filters/FilterChips.d.ts +0 -6
  215. package/dist/components-v2/Table/filters/FilterChips.js +0 -9
  216. package/dist/components-v2/Table/filters/LeftFilterPane.d.ts +0 -17
  217. package/dist/components-v2/Table/filters/LeftFilterPane.js +0 -105
  218. package/dist/components-v2/Table/filters/TableFilters.d.ts +0 -12
  219. package/dist/components-v2/Table/filters/TableFilters.js +0 -127
  220. package/dist/components-v2/Table/hooks/useColumnResize.d.ts +0 -15
  221. package/dist/components-v2/Table/hooks/useColumnResize.js +0 -104
  222. package/dist/components-v2/Table/hooks/useTable.d.ts +0 -58
  223. package/dist/components-v2/Table/hooks/useTable.js +0 -254
  224. package/dist/components-v2/Table/hooks/useTableKeyboard.d.ts +0 -25
  225. package/dist/components-v2/Table/hooks/useTableKeyboard.js +0 -112
  226. package/dist/components-v2/Table/hooks/useVirtualScroll.d.ts +0 -29
  227. package/dist/components-v2/Table/hooks/useVirtualScroll.js +0 -83
  228. package/dist/components-v2/Table/settings/ManageColumns.d.ts +0 -12
  229. package/dist/components-v2/Table/settings/ManageColumns.js +0 -59
  230. package/dist/components-v2/Table/settings/TableSettings.d.ts +0 -12
  231. package/dist/components-v2/Table/settings/TableSettings.js +0 -57
  232. package/dist/components-v2/Table/utils/filterUtils.d.ts +0 -7
  233. package/dist/components-v2/Table/utils/filterUtils.js +0 -149
  234. package/dist/components-v2/Table/utils/sortUtils.d.ts +0 -6
  235. package/dist/components-v2/Table/utils/sortUtils.js +0 -65
  236. package/dist/components-v2/Tag/Tag.d.ts +0 -15
  237. package/dist/components-v2/Tag/Tag.js +0 -87
  238. package/dist/components-v2/Timeline/Timeline.d.ts +0 -18
  239. package/dist/components-v2/Timeline/Timeline.js +0 -76
  240. package/dist/components-v2/Toaster/Toaster.d.ts +0 -61
  241. package/dist/components-v2/Toaster/Toaster.js +0 -63
  242. package/dist/components-v2/Toggle/Toggle.d.ts +0 -28
  243. package/dist/components-v2/Toggle/Toggle.js +0 -90
  244. package/dist/components-v2/ui/accordion.d.ts +0 -12
  245. package/dist/components-v2/ui/accordion.js +0 -104
  246. package/dist/components-v2/ui/alert.d.ts +0 -18
  247. package/dist/components-v2/ui/alert.js +0 -99
  248. package/dist/components-v2/ui/avatar.d.ts +0 -12
  249. package/dist/components-v2/ui/avatar.js +0 -80
  250. package/dist/components-v2/ui/badge.d.ts +0 -10
  251. package/dist/components-v2/ui/badge.js +0 -76
  252. package/dist/components-v2/ui/button.d.ts +0 -18
  253. package/dist/components-v2/ui/button.js +0 -97
  254. package/dist/components-v2/ui/checkbox.d.ts +0 -15
  255. package/dist/components-v2/ui/checkbox.js +0 -86
  256. package/dist/components-v2/ui/dialog.d.ts +0 -30
  257. package/dist/components-v2/ui/dialog.js +0 -115
  258. package/dist/components-v2/ui/dropdown-menu.d.ts +0 -26
  259. package/dist/components-v2/ui/dropdown-menu.js +0 -121
  260. package/dist/components-v2/ui/field.d.ts +0 -32
  261. package/dist/components-v2/ui/field.js +0 -62
  262. package/dist/components-v2/ui/form-field.d.ts +0 -25
  263. package/dist/components-v2/ui/form-field.js +0 -96
  264. package/dist/components-v2/ui/input.d.ts +0 -9
  265. package/dist/components-v2/ui/input.js +0 -73
  266. package/dist/components-v2/ui/label.d.ts +0 -10
  267. package/dist/components-v2/ui/label.js +0 -70
  268. package/dist/components-v2/ui/popover.d.ts +0 -9
  269. package/dist/components-v2/ui/popover.js +0 -60
  270. package/dist/components-v2/ui/progress.d.ts +0 -12
  271. package/dist/components-v2/ui/progress.js +0 -75
  272. package/dist/components-v2/ui/radio-group.d.ts +0 -17
  273. package/dist/components-v2/ui/radio-group.js +0 -91
  274. package/dist/components-v2/ui/select.d.ts +0 -24
  275. package/dist/components-v2/ui/select.js +0 -122
  276. package/dist/components-v2/ui/separator.d.ts +0 -5
  277. package/dist/components-v2/ui/separator.js +0 -55
  278. package/dist/components-v2/ui/skeleton.d.ts +0 -9
  279. package/dist/components-v2/ui/skeleton.js +0 -68
  280. package/dist/components-v2/ui/spinner.d.ts +0 -16
  281. package/dist/components-v2/ui/spinner.js +0 -64
  282. package/dist/components-v2/ui/switch.d.ts +0 -10
  283. package/dist/components-v2/ui/switch.js +0 -81
  284. package/dist/components-v2/ui/tabs.d.ts +0 -13
  285. package/dist/components-v2/ui/tabs.js +0 -95
  286. package/dist/components-v2/ui/textarea.d.ts +0 -10
  287. package/dist/components-v2/ui/textarea.js +0 -96
  288. package/dist/components-v2/ui/tooltip.d.ts +0 -17
  289. package/dist/components-v2/ui/tooltip.js +0 -75
  290. package/dist/lib/utils.d.ts +0 -2
  291. package/dist/lib/utils.js +0 -8
  292. package/dist/theme-v2/ThemeProvider.d.ts +0 -19
  293. package/dist/theme-v2/ThemeProvider.js +0 -149
  294. package/dist/theme-v2/dark.css +0 -47
  295. package/dist/theme-v2/tokens.css +0 -72
  296. /package/dist/Components/Table/{Components → components}/HeaderActions.d.ts +0 -0
  297. /package/dist/Components/Table/{Components → components}/HeaderActions.js +0 -0
  298. /package/dist/Components/Table/{Components → components}/Pagination.d.ts +0 -0
  299. /package/dist/Components/Table/{Components → components}/Pagination.js +0 -0
  300. /package/dist/Components/Table/{Components → components}/TableActions.d.ts +0 -0
  301. /package/dist/Components/Table/{Components → components}/TableActions.js +0 -0
  302. /package/dist/Components/Table/{Components → components}/TableBody.d.ts +0 -0
  303. /package/dist/Components/Table/{Components → components}/TableBody.js +0 -0
  304. /package/dist/Components/Table/{Components → components}/TableBody.virtualize.test.d.ts +0 -0
  305. /package/dist/Components/Table/{Components → components}/TableBody.virtualize.test.js +0 -0
  306. /package/dist/Components/Table/{Components → components}/TableGroupRow.d.ts +0 -0
  307. /package/dist/Components/Table/{Components → components}/TableGroupRow.js +0 -0
  308. /package/dist/Components/Table/{Components → components}/TableHeader.d.ts +0 -0
  309. /package/dist/Components/Table/{Components → components}/TableLoading.d.ts +0 -0
  310. /package/dist/Components/Table/{Components → components}/TableLoading.js +0 -0
  311. /package/dist/Components/Table/{Components → components}/TableSearch.d.ts +0 -0
  312. /package/dist/Components/Table/{Components → components}/TableSearch.js +0 -0
@@ -1,47 +0,0 @@
1
- import { ColumnSortingProps, DataObject, TableHeaderProps } from "../TableProps";
2
- type UseTableProps = {
3
- tableBorderColor?: string;
4
- data: DataObject[];
5
- isPagination: boolean;
6
- selections?: (string | number)[];
7
- columns: TableHeaderProps[];
8
- onSelection?: (selected: (string | number)[]) => void;
9
- tablePreferences?: Record<string, any>;
10
- savePreferences?: (data: Record<string, any>) => void;
11
- noOfRowsPerPage?: number;
12
- isServerPagination: boolean;
13
- totalRecords: number;
14
- onNoOfRowsPerPageChange?: (noOfRows: number) => void;
15
- defaultVisibleColumns?: number;
16
- };
17
- declare const useTable: ({ tableBorderColor, data, isPagination, selections, onSelection, tablePreferences, savePreferences, noOfRowsPerPage, isServerPagination, totalRecords, columns, onNoOfRowsPerPageChange, defaultVisibleColumns, }: UseTableProps) => {
18
- tableData: DataObject[];
19
- tableContainerStyles: {
20
- borderRadius: string;
21
- borderWidth: string;
22
- borderColor: string;
23
- boxShadow: string;
24
- maxHeight: string;
25
- overflowY: string;
26
- };
27
- isContent: boolean;
28
- isLink: boolean;
29
- headerRefs: import("react").MutableRefObject<(HTMLTableCellElement | null)[]>;
30
- columnWidths: number[];
31
- handleSort: (field: string | number, sort: "asc" | "desc" | "none") => void;
32
- handleCheckbox: (id: string | number) => void;
33
- filteredData: DataObject[];
34
- startRow: number;
35
- endRow: number;
36
- selection: (string | number)[];
37
- columnsSort: ColumnSortingProps[];
38
- handlePageSizeChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
39
- pages: number;
40
- currentPage: number;
41
- rowsPerPage: number;
42
- setCurrentPage: import("react").Dispatch<import("react").SetStateAction<number>>;
43
- columnsList: TableHeaderProps[];
44
- handleColumnPreferences: (columns: any) => void;
45
- isSelecting: boolean;
46
- };
47
- export default useTable;
@@ -1,219 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
- if (ar || !(i in from)) {
16
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
- ar[i] = from[i];
18
- }
19
- }
20
- return to.concat(ar || Array.prototype.slice.call(from));
21
- };
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- var react_1 = require("react");
24
- var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
25
- var table_1 = require("../../../Utils/table");
26
- var defaultPageSize = 20;
27
- var mergeColumnWithPreference = function (pref, originalCol) {
28
- if (!pref || typeof pref !== "object") {
29
- return __assign({}, originalCol);
30
- }
31
- var next = __assign({}, originalCol);
32
- if (typeof pref.isHidden === "boolean") {
33
- next.isHidden = pref.isHidden;
34
- }
35
- if (typeof pref.label === "string" || typeof pref.label === "number") {
36
- next.label = pref.label;
37
- }
38
- return next;
39
- };
40
- var useTable = function (_a) {
41
- var _b, _c;
42
- var tableBorderColor = _a.tableBorderColor, data = _a.data, isPagination = _a.isPagination, selections = _a.selections, onSelection = _a.onSelection, tablePreferences = _a.tablePreferences, savePreferences = _a.savePreferences, noOfRowsPerPage = _a.noOfRowsPerPage, isServerPagination = _a.isServerPagination, totalRecords = _a.totalRecords, columns = _a.columns, onNoOfRowsPerPageChange = _a.onNoOfRowsPerPageChange, defaultVisibleColumns = _a.defaultVisibleColumns;
43
- var theme = (0, useCustomTheme_1.useCustomTheme)();
44
- var headerRefs = (0, react_1.useRef)([]);
45
- var _d = (0, react_1.useState)([]), columnWidths = _d[0], setColumnWidths = _d[1];
46
- var _e = (0, react_1.useState)(selections !== null && selections !== void 0 ? selections : []), selection = _e[0], setSelection = _e[1];
47
- var _f = (0, react_1.useState)([]), columnsSort = _f[0], setColumnsSort = _f[1];
48
- var _g = (0, react_1.useState)(0), currentPage = _g[0], setCurrentPage = _g[1];
49
- var _h = (0, react_1.useState)(noOfRowsPerPage !== null && noOfRowsPerPage !== void 0 ? noOfRowsPerPage : defaultPageSize), rowsPerPage = _h[0], setRowsPerPage = _h[1];
50
- var prevRowsPerPageProp = (0, react_1.useRef)(noOfRowsPerPage);
51
- if (noOfRowsPerPage !== prevRowsPerPageProp.current) {
52
- prevRowsPerPageProp.current = noOfRowsPerPage;
53
- if (noOfRowsPerPage !== undefined && noOfRowsPerPage !== rowsPerPage) {
54
- setRowsPerPage(noOfRowsPerPage);
55
- }
56
- }
57
- var tableData = data;
58
- var _j = (0, react_1.useState)(function () {
59
- return columns.map(function (col, i) {
60
- var _a;
61
- return (__assign(__assign({}, col), { isHidden: defaultVisibleColumns ? i >= defaultVisibleColumns : ((_a = col.isHidden) !== null && _a !== void 0 ? _a : false) }));
62
- });
63
- }), columnsList = _j[0], setColumnsList = _j[1];
64
- (0, react_1.useEffect)(function () {
65
- var _a;
66
- var columnPreference = (_a = tablePreferences === null || tablePreferences === void 0 ? void 0 : tablePreferences.columns) !== null && _a !== void 0 ? _a : [];
67
- if (Array.isArray(columnPreference) && columnPreference.length > 0) {
68
- var mergedColumns = columnPreference.map(function (originalCol) {
69
- var prefCol = columns.find(function (c) { return c.id === originalCol.id; });
70
- return prefCol
71
- ? mergeColumnWithPreference(originalCol, prefCol)
72
- : __assign({}, originalCol);
73
- });
74
- setColumnsList(mergedColumns);
75
- }
76
- else {
77
- setColumnsList(columns.map(function (col, i) {
78
- var _a;
79
- return (__assign(__assign({}, col), { isHidden: defaultVisibleColumns ? i >= defaultVisibleColumns : ((_a = col.isHidden) !== null && _a !== void 0 ? _a : false) }));
80
- }));
81
- }
82
- }, [tablePreferences, columns, defaultVisibleColumns]);
83
- var tableContainerStyles = (0, react_1.useMemo)(function () {
84
- var _a;
85
- return ({
86
- borderRadius: "10px 0 0 10px",
87
- borderWidth: "0px 0px 0px 5px",
88
- borderColor: tableBorderColor !== null && tableBorderColor !== void 0 ? tableBorderColor : (_a = theme.colors) === null || _a === void 0 ? void 0 : _a.gray[500],
89
- boxShadow: theme.shadows.lg,
90
- maxHeight: "50vh",
91
- overflowY: "auto",
92
- });
93
- }, [tableBorderColor, theme]);
94
- var prevIsContent = (0, react_1.useRef)(false);
95
- var prevIsLink = (0, react_1.useRef)(false);
96
- var isContent = (0, react_1.useMemo)(function () {
97
- var result = tableData.some(function (o) { return o.content; });
98
- prevIsContent.current = result;
99
- return result;
100
- }, [tableData.length === 0 ? 0 : (_b = tableData[0]) === null || _b === void 0 ? void 0 : _b.id, tableData.length]); // eslint-disable-line react-hooks/exhaustive-deps
101
- var isLink = (0, react_1.useMemo)(function () {
102
- var result = tableData.some(function (o) { return o.onLink || o.onDelete || o.onEdit; });
103
- prevIsLink.current = result;
104
- return result;
105
- }, [tableData.length === 0 ? 0 : (_c = tableData[0]) === null || _c === void 0 ? void 0 : _c.id, tableData.length]); // eslint-disable-line react-hooks/exhaustive-deps
106
- (0, react_1.useEffect)(function () {
107
- var widths = headerRefs.current.map(function (ref) { return (ref === null || ref === void 0 ? void 0 : ref.offsetWidth) || 0; });
108
- setColumnWidths(widths);
109
- }, []);
110
- var pages = (0, react_1.useMemo)(function () {
111
- if (isServerPagination) {
112
- return Math.ceil(totalRecords / (rowsPerPage || 1));
113
- }
114
- return isPagination ? Math.ceil(tableData.length / rowsPerPage) : 0;
115
- }, [
116
- isPagination,
117
- rowsPerPage,
118
- tableData.length,
119
- totalRecords,
120
- isServerPagination,
121
- ]);
122
- var startRow = (0, react_1.useMemo)(function () { return (!isPagination ? 0 : currentPage * rowsPerPage); }, [currentPage, isPagination, rowsPerPage]);
123
- var endRow = (0, react_1.useMemo)(function () { return (!isPagination ? tableData.length : startRow + rowsPerPage); }, [isPagination, rowsPerPage, startRow, tableData.length]);
124
- var filteredData = (0, react_1.useMemo)(function () {
125
- if (isServerPagination) {
126
- return tableData;
127
- }
128
- var sortedData = (0, table_1.SortMultiColumnData)(tableData, columnsSort);
129
- return sortedData.slice(startRow, endRow);
130
- }, [columnsSort, startRow, endRow, tableData, isServerPagination]);
131
- var handlePageSizeChange = function (event) {
132
- var value = Number(event.target.value);
133
- setRowsPerPage(value !== 0 ? value : defaultPageSize);
134
- if (onNoOfRowsPerPageChange) {
135
- onNoOfRowsPerPageChange(value !== 0 ? value : defaultPageSize);
136
- }
137
- setCurrentPage(0);
138
- };
139
- var handleSort = (0, react_1.useCallback)(function (field, sort) {
140
- if (!sort)
141
- return;
142
- setColumnsSort(function (prev) {
143
- var newSortState = __spreadArray([], prev, true);
144
- var existingIndex = newSortState.findIndex(function (s) { return s.column === field; });
145
- if (existingIndex === -1) {
146
- newSortState.push({
147
- column: field,
148
- direction: "asc",
149
- });
150
- }
151
- else {
152
- newSortState[existingIndex] = __assign(__assign({}, newSortState[existingIndex]), { direction: sort });
153
- }
154
- return newSortState;
155
- });
156
- }, []);
157
- (0, react_1.useEffect)(function () {
158
- setSelection(selections !== null && selections !== void 0 ? selections : []);
159
- }, [selections]);
160
- var _k = (0, react_1.useState)(false), isSelecting = _k[0], setIsSelecting = _k[1];
161
- var selectionRef = (0, react_1.useRef)(selection);
162
- selectionRef.current = selection;
163
- var onSelectionRef = (0, react_1.useRef)(onSelection);
164
- onSelectionRef.current = onSelection;
165
- var handleCheckbox = (0, react_1.useCallback)(function (id) {
166
- var _a;
167
- var current = selectionRef.current;
168
- if (id === 0) {
169
- setIsSelecting(true);
170
- setTimeout(function () {
171
- var _a;
172
- var selectedItems = current.length === tableData.length ? [] : tableData.map(function (item) { return item.id; });
173
- setSelection(selectedItems);
174
- (_a = onSelectionRef.current) === null || _a === void 0 ? void 0 : _a.call(onSelectionRef, selectedItems);
175
- setIsSelecting(false);
176
- }, 0);
177
- }
178
- else {
179
- var selectedItems = void 0;
180
- if (current.includes(id)) {
181
- selectedItems = current.filter(function (item) { return item !== id; });
182
- }
183
- else {
184
- selectedItems = __spreadArray(__spreadArray([], current, true), [id], false);
185
- }
186
- setSelection(selectedItems);
187
- (_a = onSelectionRef.current) === null || _a === void 0 ? void 0 : _a.call(onSelectionRef, selectedItems);
188
- }
189
- }, [tableData]);
190
- var handleColumnPreferences = function (columns) {
191
- setColumnsList(columns);
192
- savePreferences &&
193
- savePreferences(__assign(__assign({}, tablePreferences), { columns: columns }));
194
- };
195
- return {
196
- tableData: tableData,
197
- tableContainerStyles: tableContainerStyles,
198
- isContent: isContent,
199
- isLink: isLink,
200
- headerRefs: headerRefs,
201
- columnWidths: columnWidths,
202
- handleSort: handleSort,
203
- handleCheckbox: handleCheckbox,
204
- filteredData: filteredData,
205
- startRow: startRow,
206
- endRow: endRow,
207
- selection: selection,
208
- columnsSort: columnsSort,
209
- handlePageSizeChange: handlePageSizeChange,
210
- pages: pages,
211
- currentPage: currentPage,
212
- rowsPerPage: rowsPerPage,
213
- setCurrentPage: setCurrentPage,
214
- columnsList: columnsList,
215
- handleColumnPreferences: handleColumnPreferences,
216
- isSelecting: isSelecting,
217
- };
218
- };
219
- exports.default = useTable;
@@ -1,36 +0,0 @@
1
- import React from "react";
2
- export type FilterItem = {
3
- id: string;
4
- label: string;
5
- type?: "text" | "select" | "user" | "date";
6
- option?: {
7
- id: string;
8
- label: string;
9
- }[];
10
- };
11
- export type FilterSection = {
12
- id: string;
13
- label: string;
14
- items?: FilterItem[];
15
- initiallyExpanded?: boolean;
16
- radio?: boolean;
17
- };
18
- export type SelectedFilterItem = {
19
- id: string;
20
- condition?: string;
21
- value?: any;
22
- type?: "text" | "select" | "user" | "date";
23
- };
24
- export type LeftFilterPaneProps = {
25
- title?: string;
26
- height?: number | string;
27
- sections: FilterSection[];
28
- selected?: Record<string, any>;
29
- onApply?: (selected: any) => void;
30
- onClear?: () => void;
31
- theme: any;
32
- isApplyLoading?: boolean;
33
- filterMode?: "sidebar" | "modal";
34
- };
35
- declare const LeftFilterPane: ({ title, height, sections, selected: selectedProp, onApply, onClear, theme, isApplyLoading, filterMode, }: LeftFilterPaneProps) => React.JSX.Element;
36
- export default LeftFilterPane;
@@ -1,273 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || (function () {
30
- var ownKeys = function(o) {
31
- ownKeys = Object.getOwnPropertyNames || function (o) {
32
- var ar = [];
33
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
- return ar;
35
- };
36
- return ownKeys(o);
37
- };
38
- return function (mod) {
39
- if (mod && mod.__esModule) return mod;
40
- var result = {};
41
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
- __setModuleDefault(result, mod);
43
- return result;
44
- };
45
- })();
46
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
47
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
48
- if (ar || !(i in from)) {
49
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
50
- ar[i] = from[i];
51
- }
52
- }
53
- return to.concat(ar || Array.prototype.slice.call(from));
54
- };
55
- var __importDefault = (this && this.__importDefault) || function (mod) {
56
- return (mod && mod.__esModule) ? mod : { "default": mod };
57
- };
58
- Object.defineProperty(exports, "__esModule", { value: true });
59
- var react_1 = __importStar(require("react"));
60
- var react_2 = require("@chakra-ui/react");
61
- var lucide_react_1 = require("lucide-react");
62
- var framer_motion_1 = require("framer-motion");
63
- var react_3 = require("@chakra-ui/react");
64
- var Checkbox_1 = __importDefault(require("../Checkbox/Checkbox"));
65
- var RadioButton_1 = require("../RadioButton/RadioButton");
66
- var TextOperationControls_1 = require("./TextOperationControls");
67
- var SelectOperationControls_1 = require("./SelectOperationControls");
68
- var CompactSelect_1 = __importDefault(require("./CompactSelect"));
69
- var DatePicker_1 = __importDefault(require("../DatePicker/DatePicker"));
70
- // ─── Helpers ──────────────────────────────────────────────────────────────────
71
- var LABEL_MAX_LENGTH = 18;
72
- function formatHeaderLabel(label) {
73
- var text = (label || "").trim();
74
- if (text.length <= LABEL_MAX_LENGTH)
75
- return text;
76
- var parts = text.split(/\s+/);
77
- if (parts.length < 2)
78
- return text;
79
- var removable = new Set(["filters", "fields", "modules", "status", "action"]);
80
- if (removable.has(parts[parts.length - 1].toLowerCase())) {
81
- parts = parts.slice(0, -1);
82
- }
83
- while (parts.join(" ").length > LABEL_MAX_LENGTH && parts.length > 2) {
84
- parts = parts.slice(0, -1);
85
- }
86
- return "".concat(parts.join(" "), "..");
87
- }
88
- var SectionLabel = function (_a) {
89
- var label = _a.label, _b = _a.flex, flex = _b === void 0 ? false : _b, theme = _a.theme;
90
- var needsTooltip = label.length > LABEL_MAX_LENGTH;
91
- var content = (react_1.default.createElement(react_2.Box, { as: "span", flex: flex ? "1" : undefined, textAlign: "left", fontWeight: "medium", fontSize: "sm", sx: { whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" } }, formatHeaderLabel(label)));
92
- if (!needsTooltip)
93
- return content;
94
- return (react_1.default.createElement(react_2.Tooltip, { label: label, hasArrow: true, placement: "top", bg: theme.colors.gray[600], color: theme.colors.white, fontSize: "0.75rem" }, content));
95
- };
96
- var ActiveItemControls = function (_a) {
97
- var activeItem = _a.activeItem, sec = _a.sec, setTextOperator = _a.setTextOperator, setTextValue = _a.setTextValue;
98
- if (!activeItem)
99
- return null;
100
- if (activeItem.type === "date") {
101
- return (react_1.default.createElement(DatePicker_1.default, { size: "sm", selectedDate: activeItem.value, onChange: function (val) { return setTextValue(sec.id, activeItem.id, val); } }));
102
- }
103
- if (activeItem.type === "text") {
104
- return (react_1.default.createElement(TextOperationControls_1.TextOperationControls, { operator: activeItem.condition || "contains", value: activeItem.value || "", onOperatorChange: function (op) { return setTextOperator(sec.id, activeItem.id, op); }, onValueChange: function (val) { return setTextValue(sec.id, activeItem.id, val); } }));
105
- }
106
- if (activeItem.type === "select" || activeItem.type === "user") {
107
- var def = (sec.items || []).find(function (i) { return i.id === activeItem.id; });
108
- var opts = (def === null || def === void 0 ? void 0 : def.selectOption) || (def === null || def === void 0 ? void 0 : def.option) || [];
109
- return (react_1.default.createElement(react_1.default.Fragment, null,
110
- react_1.default.createElement(SelectOperationControls_1.SelectOperationControls, { operator: activeItem.condition || "is", onOperatorChange: function (op) { return setTextOperator(sec.id, activeItem.id, op); }, size: "xs", ml: "1.25rem", mt: 2 }),
111
- react_1.default.createElement(react_2.Box, { mt: 2, ml: "1.25rem" },
112
- react_1.default.createElement(CompactSelect_1.default, { placeholder: def === null || def === void 0 ? void 0 : def.label, size: "xs", height: "22px", options: opts, value: activeItem.value, onSelect: function (option) { return setTextValue(sec.id, activeItem.id, option); } }))));
113
- }
114
- return null;
115
- };
116
- var SectionContent = function (_a) {
117
- var _b;
118
- var sec = _a.sec, selected = _a.selected, toggleItem = _a.toggleItem, setTextOperator = _a.setTextOperator, setTextValue = _a.setTextValue, setSelected = _a.setSelected;
119
- if (sec.radio) {
120
- var activeItem = (_b = selected[sec.id]) === null || _b === void 0 ? void 0 : _b[0];
121
- return (react_1.default.createElement(react_1.default.Fragment, null,
122
- react_1.default.createElement(RadioButton_1.RadioButtonGroup, { value: (activeItem === null || activeItem === void 0 ? void 0 : activeItem.id) || "", onChange: function (val) {
123
- var item = (sec.items || []).find(function (i) { return i.id === val; });
124
- setSelected(function (prev) {
125
- var _a;
126
- return (__assign(__assign({}, prev), (_a = {}, _a[sec.id] = val
127
- ? [{ id: val, type: item === null || item === void 0 ? void 0 : item.type, condition: (item === null || item === void 0 ? void 0 : item.type) === "text" ? "contains" : "is", value: "" }]
128
- : [], _a)));
129
- });
130
- }, options: (sec.items || []).map(function (it) { return ({ label: it.label, id: it.id }); }), size: "sm", spacing: "0.35rem", direction: "column", align: "start", labelFontSize: "0.75rem", labelClampLines: 1, showLabelTooltip: function (item) { return item.label.length > LABEL_MAX_LENGTH; } }),
131
- activeItem && (react_1.default.createElement(ActiveItemControls, { activeItem: activeItem, sec: sec, setTextOperator: setTextOperator, setTextValue: setTextValue }))));
132
- }
133
- return (react_1.default.createElement(react_2.VStack, { spacing: 2, align: "stretch" }, (sec.items || []).map(function (it) {
134
- var sectionItems = selected[sec.id] || [];
135
- var activeItem = sectionItems.find(function (i) { return i.id === it.id; });
136
- var checked = !!activeItem;
137
- return (react_1.default.createElement(react_1.default.Fragment, { key: it.id },
138
- react_1.default.createElement(Checkbox_1.default, { label: it.label, labelFontSize: "0.75rem", showLabelTooltip: it.label.length > LABEL_MAX_LENGTH, labelTooltip: it.label, labelClampLines: 1, isChecked: checked, onChange: function (e) { return toggleItem(sec.id, it.id, e.target.checked, it.type); }, size: "sm", iconSize: "0.5rem", spacing: "0.5rem", sx: {
139
- gap: "0.5rem",
140
- hiteSpace: "normal",
141
- wordBreak: "break-word",
142
- overflow: "hidden",
143
- textOverflow: "ellipsis",
144
- ".chakra-checkbox__control": { width: "12px", height: "12px", mt: "2px" },
145
- ".chakra-checkbox__label": { lineHeight: "1rem", whiteSpace: "normal", wordBreak: "break-word" },
146
- } }),
147
- checked && it.type === "date" && (react_1.default.createElement(react_2.Box, { ml: "1.25rem" },
148
- react_1.default.createElement(DatePicker_1.default, { size: "sm", selectedDate: activeItem.value, onChange: function (val) { return setTextValue(sec.id, it.id, val); } }))),
149
- checked && it.type === "text" && (react_1.default.createElement(TextOperationControls_1.TextOperationControls, { operator: activeItem.condition || "contains", value: activeItem.value || "", onOperatorChange: function (op) { return setTextOperator(sec.id, it.id, op); }, onValueChange: function (val) { return setTextValue(sec.id, it.id, val); } })),
150
- checked && (it.type === "select" || it.type === "user") && (react_1.default.createElement(react_2.Box, null,
151
- react_1.default.createElement(SelectOperationControls_1.SelectOperationControls, { operator: activeItem.condition || "is", onOperatorChange: function (op) { return setTextOperator(sec.id, it.id, op); }, size: "xs", ml: "1.25rem" }),
152
- react_1.default.createElement(react_2.Box, { mt: 2, ml: "1.25rem" },
153
- react_1.default.createElement(CompactSelect_1.default, { placeholder: it.label, size: "xs", height: "30px", options: it.selectOption || it.option || [], value: activeItem.value, onSelect: function (option) { return setTextValue(sec.id, it.id, option); } }))))));
154
- })));
155
- };
156
- // ─── Main Component ───────────────────────────────────────────────────────────
157
- var LeftFilterPane = function (_a) {
158
- var _b, _c, _d, _e;
159
- var _f = _a.title, title = _f === void 0 ? "Filter" : _f, _g = _a.height, height = _g === void 0 ? 300 : _g, sections = _a.sections, selectedProp = _a.selected, onApply = _a.onApply, onClear = _a.onClear, theme = _a.theme, _h = _a.isApplyLoading, isApplyLoading = _h === void 0 ? false : _h, _j = _a.filterMode, filterMode = _j === void 0 ? "sidebar" : _j;
160
- var _k = (0, react_1.useState)(!!(selectedProp === null || selectedProp === void 0 ? void 0 : selectedProp.search)), isSearching = _k[0], setIsSearching = _k[1];
161
- var _l = (0, react_1.useState)({}), localSelected = _l[0], setLocalSelected = _l[1];
162
- var searchRef = (0, react_1.useRef)(null);
163
- (0, react_1.useEffect)(function () {
164
- setLocalSelected(selectedProp || {});
165
- if (selectedProp === null || selectedProp === void 0 ? void 0 : selectedProp.search)
166
- setIsSearching(true);
167
- }, [selectedProp]);
168
- var search = localSelected.search || "";
169
- var setSelected = function (updater) {
170
- setLocalSelected(function (prev) { return (typeof updater === "function" ? updater(prev) : updater); });
171
- };
172
- var setSearch = function (val) {
173
- setSelected(function (prev) { return (__assign(__assign({}, prev), { search: val })); });
174
- };
175
- var updateItem = function (sectionId, itemId, updates) {
176
- setSelected(function (prev) {
177
- var _a;
178
- var items = prev[sectionId] || [];
179
- var idx = items.findIndex(function (i) { return i.id === itemId; });
180
- if (idx === -1)
181
- return prev;
182
- var updated = __spreadArray([], items, true);
183
- updated[idx] = __assign(__assign({}, updated[idx]), updates);
184
- return __assign(__assign({}, prev), (_a = {}, _a[sectionId] = updated, _a));
185
- });
186
- };
187
- var setTextOperator = function (sectionId, itemId, operator) {
188
- return updateItem(sectionId, itemId, { condition: operator });
189
- };
190
- var setTextValue = function (sectionId, itemId, value) {
191
- return updateItem(sectionId, itemId, { value: value });
192
- };
193
- var toggleItem = function (sectionId, itemId, checked, type) {
194
- setSelected(function (prev) {
195
- var _a, _b;
196
- var items = prev[sectionId] || [];
197
- if (checked) {
198
- if (items.some(function (i) { return i.id === itemId; }))
199
- return prev;
200
- var condition = type === "select" || type === "user" ? "is" : "contains";
201
- return __assign(__assign({}, prev), (_a = {}, _a[sectionId] = __spreadArray(__spreadArray([], items, true), [{ id: itemId, type: type, condition: condition, value: "" }], false), _a));
202
- }
203
- return __assign(__assign({}, prev), (_b = {}, _b[sectionId] = items.filter(function (i) { return i.id !== itemId; }), _b));
204
- });
205
- };
206
- (0, react_3.useOutsideClick)({
207
- ref: searchRef,
208
- handler: function () {
209
- if (isSearching && !search.trim())
210
- setIsSearching(false);
211
- },
212
- });
213
- var filteredSections = (0, react_1.useMemo)(function () {
214
- if (!search.trim())
215
- return sections;
216
- var q = search.toLowerCase();
217
- return sections
218
- .map(function (sec) { return (__assign(__assign({}, sec), { items: (sec.items || []).filter(function (i) { return i.label.toLowerCase().includes(q); }) })); })
219
- .filter(function (sec) { return (sec.items || []).length > 0; });
220
- }, [search, sections]);
221
- var hasActiveFilters = (0, react_1.useMemo)(function () {
222
- return Object.entries(localSelected).some(function (_a) {
223
- var key = _a[0], value = _a[1];
224
- if (key === "search")
225
- return !!(value && typeof value === "string" && value.trim());
226
- return Array.isArray(value) && value.length > 0;
227
- });
228
- }, [localSelected]);
229
- var handleApply = function () { return onApply === null || onApply === void 0 ? void 0 : onApply(localSelected); };
230
- var handleClear = function () {
231
- var cleared = { search: "" };
232
- setLocalSelected(cleared);
233
- onClear === null || onClear === void 0 ? void 0 : onClear();
234
- if (filterMode === "sidebar")
235
- onApply === null || onApply === void 0 ? void 0 : onApply(cleared);
236
- };
237
- var sectionContentProps = { selected: localSelected, toggleItem: toggleItem, setTextOperator: setTextOperator, setTextValue: setTextValue, setSelected: setSelected };
238
- var renderSections = function () {
239
- if (filteredSections.length === 0) {
240
- return (react_1.default.createElement(react_2.Box, { p: 4, textAlign: "center" },
241
- react_1.default.createElement(react_2.Text, { fontSize: "xs", color: "gray.500" }, "No filters found")));
242
- }
243
- if (filteredSections.length > 1) {
244
- return (react_1.default.createElement(react_2.Accordion, { allowMultiple: true, defaultIndex: filteredSections.map(function (s, i) { return (s.initiallyExpanded ? i : -1); }).filter(function (i) { return i >= 0; }) }, filteredSections.map(function (sec) { return (react_1.default.createElement(react_2.AccordionItem, { key: sec.id, border: "none" },
245
- react_1.default.createElement("h2", null,
246
- react_1.default.createElement(react_2.AccordionButton, { px: 3, py: 2, _expanded: { bg: "gray.50" } },
247
- react_1.default.createElement(SectionLabel, { label: sec.label, flex: true, theme: theme }),
248
- react_1.default.createElement(react_2.AccordionIcon, null))),
249
- react_1.default.createElement(react_2.AccordionPanel, { px: 3, pt: 2, pb: 1 },
250
- react_1.default.createElement(SectionContent, __assign({ sec: sec }, sectionContentProps))))); })));
251
- }
252
- return filteredSections.map(function (sec) { return (react_1.default.createElement(react_2.Box, { key: sec.id },
253
- react_1.default.createElement(react_2.Box, { px: 3, py: 2, borderBottom: "1px solid", borderColor: "gray.200" },
254
- react_1.default.createElement(SectionLabel, { label: sec.label, theme: theme })),
255
- react_1.default.createElement(react_2.Box, { px: 3, pt: 2, pb: 1 },
256
- react_1.default.createElement(SectionContent, __assign({ sec: sec }, sectionContentProps))))); });
257
- };
258
- return (react_1.default.createElement(react_2.Box, { width: filterMode === "modal" ? "100%" : "180px", height: filterMode === "modal" ? "100%" : height, minHeight: "32rem", bg: "white", borderRight: "1px solid", borderColor: "gray.200", borderRadius: "md", overflow: "hidden", display: "flex", flexDirection: "column", marginBottom: filterMode === "modal" && hasActiveFilters ? '3.5rem' : 0 },
259
- react_1.default.createElement(react_2.Box, { p: 3, borderBottom: "1px solid", borderColor: "gray.200" }, !isSearching ? (react_1.default.createElement(react_2.Flex, { align: "center", justify: "space-between" },
260
- react_1.default.createElement(react_2.Text, { fontWeight: "semibold", fontSize: "sm" }, title),
261
- react_1.default.createElement(react_2.Icon, { as: lucide_react_1.Search, transform: "scaleX(-1)", cursor: "pointer", boxSize: 4, color: (_c = (_b = theme.colors) === null || _b === void 0 ? void 0 : _b.text) === null || _c === void 0 ? void 0 : _c[500], onClick: function () { return setIsSearching(true); }, mr: filterMode === "modal" ? 8 : 2, mt: filterMode === "modal" ? -1 : 0 }))) : (react_1.default.createElement(framer_motion_1.motion.div, { ref: searchRef, initial: { opacity: 0, x: 40 }, animate: { opacity: 1, x: 0 }, transition: { type: "tween", duration: 0.2 } },
262
- react_1.default.createElement(react_2.InputGroup, { size: "sm" },
263
- react_1.default.createElement(react_2.InputLeftElement, { pointerEvents: "none" },
264
- react_1.default.createElement(lucide_react_1.Search, { size: 16, color: (_e = (_d = theme.colors) === null || _d === void 0 ? void 0 : _d.text) === null || _e === void 0 ? void 0 : _e[500] })),
265
- react_1.default.createElement(react_2.Input, { placeholder: "Search", value: search, onChange: function (e) { return setSearch(e.target.value); }, autoFocus: true }),
266
- search.length > 0 && (react_1.default.createElement(react_2.InputRightElement, null,
267
- react_1.default.createElement(react_2.IconButton, { "aria-label": "Clear", size: "xs", variant: "ghost", icon: react_1.default.createElement(lucide_react_1.X, { size: 14 }), onClick: function () { setSearch(""); setIsSearching(false); } }))))))),
268
- react_1.default.createElement(react_2.Box, { flex: "1", overflowY: "auto" }, renderSections()),
269
- hasActiveFilters && (react_1.default.createElement(react_2.HStack, { px: 2, py: 1, borderTop: "1px solid", borderColor: "gray.200", spacing: 2, position: filterMode === "modal" ? "absolute" : "relative", bottom: 0, left: 0, right: 0, bg: "white" },
270
- react_1.default.createElement(react_2.Button, { flex: 1, variant: "outline", size: "sm", onClick: handleClear, fontSize: "xs", colorScheme: "red" }, "Clear All"),
271
- react_1.default.createElement(react_2.Button, { flex: 1, colorScheme: "primary", color: "white", size: "sm", onClick: handleApply, fontSize: "xs", isLoading: isApplyLoading }, "Apply")))));
272
- };
273
- exports.default = LeftFilterPane;
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- export declare function SelectOperationControls({ operator, onOperatorChange, size, ml, mt, }: {
3
- operator: string;
4
- onOperatorChange: (op: string) => void;
5
- size?: "xs" | "sm";
6
- ml?: string | number;
7
- mt?: string | number;
8
- }): React.JSX.Element;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SelectOperationControls = SelectOperationControls;
7
- var react_1 = __importDefault(require("react"));
8
- var react_2 = require("@chakra-ui/react");
9
- function SelectOperationControls(_a) {
10
- var operator = _a.operator, onOperatorChange = _a.onOperatorChange, _b = _a.size, size = _b === void 0 ? "xs" : _b, _c = _a.ml, ml = _c === void 0 ? "1.25rem" : _c, _d = _a.mt, mt = _d === void 0 ? 2 : _d;
11
- return (react_1.default.createElement(react_2.VStack, { spacing: 2, align: "stretch", mt: mt, ml: ml },
12
- react_1.default.createElement(react_2.Select, { size: size, value: operator, onChange: function (e) { return onOperatorChange(e.target.value); }, sx: { fontSize: "0.75rem", height: "24px" }, width: "90px" },
13
- react_1.default.createElement("option", { value: "is" }, "is"),
14
- react_1.default.createElement("option", { value: "is not" }, "is not"))));
15
- }
@@ -1,12 +0,0 @@
1
- import React from "react";
2
- import { TableProps } from "../TableProps";
3
- type ManageColumnsMethods = {
4
- getManageColumnsData: () => TableProps["columns"];
5
- };
6
- declare const ManageColumns: ({ columns, items, setItems, childInputMethodsRef, }: {
7
- columns: TableProps["columns"];
8
- items: TableProps["columns"];
9
- setItems: React.Dispatch<React.SetStateAction<TableProps["columns"]>>;
10
- childInputMethodsRef: React.Ref<ManageColumnsMethods>;
11
- }) => React.JSX.Element;
12
- export default ManageColumns;