@vuu-ui/vuu-table 2.1.18 → 2.1.19-beta.1

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 (288) hide show
  1. package/package.json +12 -14
  2. package/types/VirtualColSpan.d.ts +2 -2
  3. package/types/cell-renderers/toggle-cell/ToggleCell.d.ts +1 -1
  4. package/types/useTable.d.ts +3 -3
  5. package/cjs/CellFocusState.js +0 -45
  6. package/cjs/CellFocusState.js.map +0 -1
  7. package/cjs/Row.js +0 -116
  8. package/cjs/Row.js.map +0 -1
  9. package/cjs/Table.css.js +0 -6
  10. package/cjs/Table.css.js.map +0 -1
  11. package/cjs/Table.js +0 -455
  12. package/cjs/Table.js.map +0 -1
  13. package/cjs/VirtualColSpan.js +0 -19
  14. package/cjs/VirtualColSpan.js.map +0 -1
  15. package/cjs/applyHighlighting.js +0 -33
  16. package/cjs/applyHighlighting.js.map +0 -1
  17. package/cjs/bulk-edit/BulkEditPanel.css.js +0 -6
  18. package/cjs/bulk-edit/BulkEditPanel.css.js.map +0 -1
  19. package/cjs/bulk-edit/BulkEditPanel.js +0 -107
  20. package/cjs/bulk-edit/BulkEditPanel.js.map +0 -1
  21. package/cjs/bulk-edit/ColumnCascadingUpdateEditor.css.js +0 -6
  22. package/cjs/bulk-edit/ColumnCascadingUpdateEditor.css.js.map +0 -1
  23. package/cjs/bulk-edit/ColumnCascadingUpdateEditor.js +0 -80
  24. package/cjs/bulk-edit/ColumnCascadingUpdateEditor.js.map +0 -1
  25. package/cjs/bulk-edit/InsertNewRowEditor.css.js +0 -6
  26. package/cjs/bulk-edit/InsertNewRowEditor.css.js.map +0 -1
  27. package/cjs/bulk-edit/InsertNewRowEditor.js +0 -80
  28. package/cjs/bulk-edit/InsertNewRowEditor.js.map +0 -1
  29. package/cjs/bulk-edit/useBulkEditPanel.js +0 -70
  30. package/cjs/bulk-edit/useBulkEditPanel.js.map +0 -1
  31. package/cjs/bulk-edit/useColumnCascadingEditor.js +0 -143
  32. package/cjs/bulk-edit/useColumnCascadingEditor.js.map +0 -1
  33. package/cjs/cell-block/CellBlock.css.js +0 -6
  34. package/cjs/cell-block/CellBlock.css.js.map +0 -1
  35. package/cjs/cell-block/CellBlock.js +0 -45
  36. package/cjs/cell-block/CellBlock.js.map +0 -1
  37. package/cjs/cell-block/cellblock-utils.js +0 -125
  38. package/cjs/cell-block/cellblock-utils.js.map +0 -1
  39. package/cjs/cell-block/useCellBlockSelection.js +0 -257
  40. package/cjs/cell-block/useCellBlockSelection.js.map +0 -1
  41. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.css.js +0 -6
  42. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.css.js.map +0 -1
  43. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.js +0 -67
  44. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.js.map +0 -1
  45. package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js +0 -6
  46. package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js.map +0 -1
  47. package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js +0 -51
  48. package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js.map +0 -1
  49. package/cjs/cell-renderers/input-cell/InputCell.css.js +0 -6
  50. package/cjs/cell-renderers/input-cell/InputCell.css.js.map +0 -1
  51. package/cjs/cell-renderers/input-cell/InputCell.js +0 -63
  52. package/cjs/cell-renderers/input-cell/InputCell.js.map +0 -1
  53. package/cjs/cell-renderers/input-cell/useInputCell.js +0 -211
  54. package/cjs/cell-renderers/input-cell/useInputCell.js.map +0 -1
  55. package/cjs/cell-renderers/toggle-cell/ToggleCell.css.js +0 -6
  56. package/cjs/cell-renderers/toggle-cell/ToggleCell.css.js.map +0 -1
  57. package/cjs/cell-renderers/toggle-cell/ToggleCell.js +0 -66
  58. package/cjs/cell-renderers/toggle-cell/ToggleCell.js.map +0 -1
  59. package/cjs/column-header-pill/ColumnHeaderPill.css.js +0 -6
  60. package/cjs/column-header-pill/ColumnHeaderPill.css.js.map +0 -1
  61. package/cjs/column-header-pill/ColumnHeaderPill.js +0 -53
  62. package/cjs/column-header-pill/ColumnHeaderPill.js.map +0 -1
  63. package/cjs/column-header-pill/GroupColumnPill.css.js +0 -6
  64. package/cjs/column-header-pill/GroupColumnPill.css.js.map +0 -1
  65. package/cjs/column-header-pill/GroupColumnPill.js +0 -29
  66. package/cjs/column-header-pill/GroupColumnPill.js.map +0 -1
  67. package/cjs/column-header-pill/SortIndicator.css.js +0 -6
  68. package/cjs/column-header-pill/SortIndicator.css.js.map +0 -1
  69. package/cjs/column-header-pill/SortIndicator.js +0 -27
  70. package/cjs/column-header-pill/SortIndicator.js.map +0 -1
  71. package/cjs/column-resizing/ColumnResizer.css.js +0 -6
  72. package/cjs/column-resizing/ColumnResizer.css.js.map +0 -1
  73. package/cjs/column-resizing/ColumnResizer.js +0 -82
  74. package/cjs/column-resizing/ColumnResizer.js.map +0 -1
  75. package/cjs/column-resizing/useTableColumnResize.js +0 -55
  76. package/cjs/column-resizing/useTableColumnResize.js.map +0 -1
  77. package/cjs/data-row/DataRow.js +0 -262
  78. package/cjs/data-row/DataRow.js.map +0 -1
  79. package/cjs/header-cell/GroupHeaderCell.css.js +0 -6
  80. package/cjs/header-cell/GroupHeaderCell.css.js.map +0 -1
  81. package/cjs/header-cell/GroupHeaderCell.js +0 -127
  82. package/cjs/header-cell/GroupHeaderCell.js.map +0 -1
  83. package/cjs/header-cell/HeaderCell.css.js +0 -6
  84. package/cjs/header-cell/HeaderCell.css.js.map +0 -1
  85. package/cjs/header-cell/HeaderCell.js +0 -139
  86. package/cjs/header-cell/HeaderCell.js.map +0 -1
  87. package/cjs/index.js +0 -64
  88. package/cjs/index.js.map +0 -1
  89. package/cjs/pagination/PaginationControl.css.js +0 -6
  90. package/cjs/pagination/PaginationControl.css.js.map +0 -1
  91. package/cjs/pagination/PaginationControl.js +0 -38
  92. package/cjs/pagination/PaginationControl.js.map +0 -1
  93. package/cjs/pagination/usePagination.js +0 -36
  94. package/cjs/pagination/usePagination.js.map +0 -1
  95. package/cjs/table-cell/TableCell.css.js +0 -6
  96. package/cjs/table-cell/TableCell.css.js.map +0 -1
  97. package/cjs/table-cell/TableCell.js +0 -75
  98. package/cjs/table-cell/TableCell.js.map +0 -1
  99. package/cjs/table-cell/TableGroupCell.css.js +0 -6
  100. package/cjs/table-cell/TableGroupCell.css.js.map +0 -1
  101. package/cjs/table-cell/TableGroupCell.js +0 -65
  102. package/cjs/table-cell/TableGroupCell.js.map +0 -1
  103. package/cjs/table-config/useTableConfig.js +0 -67
  104. package/cjs/table-config/useTableConfig.js.map +0 -1
  105. package/cjs/table-config.js +0 -35
  106. package/cjs/table-config.js.map +0 -1
  107. package/cjs/table-data-source/DataRowMovingWindow.js +0 -99
  108. package/cjs/table-data-source/DataRowMovingWindow.js.map +0 -1
  109. package/cjs/table-data-source/useDataSource.js +0 -236
  110. package/cjs/table-data-source/useDataSource.js.map +0 -1
  111. package/cjs/table-dom-utils.js +0 -206
  112. package/cjs/table-dom-utils.js.map +0 -1
  113. package/cjs/table-header/HeaderProvider.js +0 -18
  114. package/cjs/table-header/HeaderProvider.js.map +0 -1
  115. package/cjs/table-header/TableHeader.js +0 -180
  116. package/cjs/table-header/TableHeader.js.map +0 -1
  117. package/cjs/table-header/useTableHeader.js +0 -87
  118. package/cjs/table-header/useTableHeader.js.map +0 -1
  119. package/cjs/useCell.js +0 -26
  120. package/cjs/useCell.js.map +0 -1
  121. package/cjs/useCellEditing.js +0 -77
  122. package/cjs/useCellEditing.js.map +0 -1
  123. package/cjs/useCellFocus.js +0 -119
  124. package/cjs/useCellFocus.js.map +0 -1
  125. package/cjs/useControlledTableNavigation.js +0 -46
  126. package/cjs/useControlledTableNavigation.js.map +0 -1
  127. package/cjs/useEditableCell.js +0 -27
  128. package/cjs/useEditableCell.js.map +0 -1
  129. package/cjs/useKeyboardNavigation.js +0 -323
  130. package/cjs/useKeyboardNavigation.js.map +0 -1
  131. package/cjs/useMeasuredHeight.js +0 -51
  132. package/cjs/useMeasuredHeight.js.map +0 -1
  133. package/cjs/useRowClassNameGenerators.js +0 -34
  134. package/cjs/useRowClassNameGenerators.js.map +0 -1
  135. package/cjs/useSelection.js +0 -130
  136. package/cjs/useSelection.js.map +0 -1
  137. package/cjs/useTable.js +0 -742
  138. package/cjs/useTable.js.map +0 -1
  139. package/cjs/useTableContextMenu.js +0 -76
  140. package/cjs/useTableContextMenu.js.map +0 -1
  141. package/cjs/useTableModel.js +0 -421
  142. package/cjs/useTableModel.js.map +0 -1
  143. package/cjs/useTableScroll.js +0 -464
  144. package/cjs/useTableScroll.js.map +0 -1
  145. package/cjs/useTableViewport.js +0 -137
  146. package/cjs/useTableViewport.js.map +0 -1
  147. package/esm/CellFocusState.js +0 -43
  148. package/esm/CellFocusState.js.map +0 -1
  149. package/esm/Row.js +0 -114
  150. package/esm/Row.js.map +0 -1
  151. package/esm/Table.css.js +0 -4
  152. package/esm/Table.css.js.map +0 -1
  153. package/esm/Table.js +0 -453
  154. package/esm/Table.js.map +0 -1
  155. package/esm/VirtualColSpan.js +0 -17
  156. package/esm/VirtualColSpan.js.map +0 -1
  157. package/esm/applyHighlighting.js +0 -31
  158. package/esm/applyHighlighting.js.map +0 -1
  159. package/esm/bulk-edit/BulkEditPanel.css.js +0 -4
  160. package/esm/bulk-edit/BulkEditPanel.css.js.map +0 -1
  161. package/esm/bulk-edit/BulkEditPanel.js +0 -105
  162. package/esm/bulk-edit/BulkEditPanel.js.map +0 -1
  163. package/esm/bulk-edit/ColumnCascadingUpdateEditor.css.js +0 -4
  164. package/esm/bulk-edit/ColumnCascadingUpdateEditor.css.js.map +0 -1
  165. package/esm/bulk-edit/ColumnCascadingUpdateEditor.js +0 -78
  166. package/esm/bulk-edit/ColumnCascadingUpdateEditor.js.map +0 -1
  167. package/esm/bulk-edit/InsertNewRowEditor.css.js +0 -4
  168. package/esm/bulk-edit/InsertNewRowEditor.css.js.map +0 -1
  169. package/esm/bulk-edit/InsertNewRowEditor.js +0 -78
  170. package/esm/bulk-edit/InsertNewRowEditor.js.map +0 -1
  171. package/esm/bulk-edit/useBulkEditPanel.js +0 -68
  172. package/esm/bulk-edit/useBulkEditPanel.js.map +0 -1
  173. package/esm/bulk-edit/useColumnCascadingEditor.js +0 -141
  174. package/esm/bulk-edit/useColumnCascadingEditor.js.map +0 -1
  175. package/esm/cell-block/CellBlock.css.js +0 -4
  176. package/esm/cell-block/CellBlock.css.js.map +0 -1
  177. package/esm/cell-block/CellBlock.js +0 -43
  178. package/esm/cell-block/CellBlock.js.map +0 -1
  179. package/esm/cell-block/cellblock-utils.js +0 -116
  180. package/esm/cell-block/cellblock-utils.js.map +0 -1
  181. package/esm/cell-block/useCellBlockSelection.js +0 -255
  182. package/esm/cell-block/useCellBlockSelection.js.map +0 -1
  183. package/esm/cell-renderers/checkbox-cell/CheckboxCell.css.js +0 -4
  184. package/esm/cell-renderers/checkbox-cell/CheckboxCell.css.js.map +0 -1
  185. package/esm/cell-renderers/checkbox-cell/CheckboxCell.js +0 -65
  186. package/esm/cell-renderers/checkbox-cell/CheckboxCell.js.map +0 -1
  187. package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js +0 -4
  188. package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js.map +0 -1
  189. package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js +0 -49
  190. package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js.map +0 -1
  191. package/esm/cell-renderers/input-cell/InputCell.css.js +0 -4
  192. package/esm/cell-renderers/input-cell/InputCell.css.js.map +0 -1
  193. package/esm/cell-renderers/input-cell/InputCell.js +0 -61
  194. package/esm/cell-renderers/input-cell/InputCell.js.map +0 -1
  195. package/esm/cell-renderers/input-cell/useInputCell.js +0 -209
  196. package/esm/cell-renderers/input-cell/useInputCell.js.map +0 -1
  197. package/esm/cell-renderers/toggle-cell/ToggleCell.css.js +0 -4
  198. package/esm/cell-renderers/toggle-cell/ToggleCell.css.js.map +0 -1
  199. package/esm/cell-renderers/toggle-cell/ToggleCell.js +0 -64
  200. package/esm/cell-renderers/toggle-cell/ToggleCell.js.map +0 -1
  201. package/esm/column-header-pill/ColumnHeaderPill.css.js +0 -4
  202. package/esm/column-header-pill/ColumnHeaderPill.css.js.map +0 -1
  203. package/esm/column-header-pill/ColumnHeaderPill.js +0 -51
  204. package/esm/column-header-pill/ColumnHeaderPill.js.map +0 -1
  205. package/esm/column-header-pill/GroupColumnPill.css.js +0 -4
  206. package/esm/column-header-pill/GroupColumnPill.css.js.map +0 -1
  207. package/esm/column-header-pill/GroupColumnPill.js +0 -27
  208. package/esm/column-header-pill/GroupColumnPill.js.map +0 -1
  209. package/esm/column-header-pill/SortIndicator.css.js +0 -4
  210. package/esm/column-header-pill/SortIndicator.css.js.map +0 -1
  211. package/esm/column-header-pill/SortIndicator.js +0 -25
  212. package/esm/column-header-pill/SortIndicator.js.map +0 -1
  213. package/esm/column-resizing/ColumnResizer.css.js +0 -4
  214. package/esm/column-resizing/ColumnResizer.css.js.map +0 -1
  215. package/esm/column-resizing/ColumnResizer.js +0 -80
  216. package/esm/column-resizing/ColumnResizer.js.map +0 -1
  217. package/esm/column-resizing/useTableColumnResize.js +0 -53
  218. package/esm/column-resizing/useTableColumnResize.js.map +0 -1
  219. package/esm/data-row/DataRow.js +0 -260
  220. package/esm/data-row/DataRow.js.map +0 -1
  221. package/esm/header-cell/GroupHeaderCell.css.js +0 -4
  222. package/esm/header-cell/GroupHeaderCell.css.js.map +0 -1
  223. package/esm/header-cell/GroupHeaderCell.js +0 -125
  224. package/esm/header-cell/GroupHeaderCell.js.map +0 -1
  225. package/esm/header-cell/HeaderCell.css.js +0 -4
  226. package/esm/header-cell/HeaderCell.css.js.map +0 -1
  227. package/esm/header-cell/HeaderCell.js +0 -137
  228. package/esm/header-cell/HeaderCell.js.map +0 -1
  229. package/esm/index.js +0 -27
  230. package/esm/index.js.map +0 -1
  231. package/esm/pagination/PaginationControl.css.js +0 -4
  232. package/esm/pagination/PaginationControl.css.js.map +0 -1
  233. package/esm/pagination/PaginationControl.js +0 -36
  234. package/esm/pagination/PaginationControl.js.map +0 -1
  235. package/esm/pagination/usePagination.js +0 -34
  236. package/esm/pagination/usePagination.js.map +0 -1
  237. package/esm/table-cell/TableCell.css.js +0 -4
  238. package/esm/table-cell/TableCell.css.js.map +0 -1
  239. package/esm/table-cell/TableCell.js +0 -73
  240. package/esm/table-cell/TableCell.js.map +0 -1
  241. package/esm/table-cell/TableGroupCell.css.js +0 -4
  242. package/esm/table-cell/TableGroupCell.css.js.map +0 -1
  243. package/esm/table-cell/TableGroupCell.js +0 -63
  244. package/esm/table-cell/TableGroupCell.js.map +0 -1
  245. package/esm/table-config/useTableConfig.js +0 -65
  246. package/esm/table-config/useTableConfig.js.map +0 -1
  247. package/esm/table-config.js +0 -33
  248. package/esm/table-config.js.map +0 -1
  249. package/esm/table-data-source/DataRowMovingWindow.js +0 -97
  250. package/esm/table-data-source/DataRowMovingWindow.js.map +0 -1
  251. package/esm/table-data-source/useDataSource.js +0 -234
  252. package/esm/table-data-source/useDataSource.js.map +0 -1
  253. package/esm/table-dom-utils.js +0 -188
  254. package/esm/table-dom-utils.js.map +0 -1
  255. package/esm/table-header/HeaderProvider.js +0 -15
  256. package/esm/table-header/HeaderProvider.js.map +0 -1
  257. package/esm/table-header/TableHeader.js +0 -178
  258. package/esm/table-header/TableHeader.js.map +0 -1
  259. package/esm/table-header/useTableHeader.js +0 -85
  260. package/esm/table-header/useTableHeader.js.map +0 -1
  261. package/esm/useCell.js +0 -24
  262. package/esm/useCell.js.map +0 -1
  263. package/esm/useCellEditing.js +0 -75
  264. package/esm/useCellEditing.js.map +0 -1
  265. package/esm/useCellFocus.js +0 -117
  266. package/esm/useCellFocus.js.map +0 -1
  267. package/esm/useControlledTableNavigation.js +0 -43
  268. package/esm/useControlledTableNavigation.js.map +0 -1
  269. package/esm/useEditableCell.js +0 -25
  270. package/esm/useEditableCell.js.map +0 -1
  271. package/esm/useKeyboardNavigation.js +0 -319
  272. package/esm/useKeyboardNavigation.js.map +0 -1
  273. package/esm/useMeasuredHeight.js +0 -49
  274. package/esm/useMeasuredHeight.js.map +0 -1
  275. package/esm/useRowClassNameGenerators.js +0 -32
  276. package/esm/useRowClassNameGenerators.js.map +0 -1
  277. package/esm/useSelection.js +0 -128
  278. package/esm/useSelection.js.map +0 -1
  279. package/esm/useTable.js +0 -740
  280. package/esm/useTable.js.map +0 -1
  281. package/esm/useTableContextMenu.js +0 -73
  282. package/esm/useTableContextMenu.js.map +0 -1
  283. package/esm/useTableModel.js +0 -419
  284. package/esm/useTableModel.js.map +0 -1
  285. package/esm/useTableScroll.js +0 -461
  286. package/esm/useTableScroll.js.map +0 -1
  287. package/esm/useTableViewport.js +0 -135
  288. package/esm/useTableViewport.js.map +0 -1
@@ -1,139 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var core = require('@salt-ds/core');
5
- var vuuTableExtras = require('@vuu-ui/vuu-table-extras');
6
- var vuuUtils = require('@vuu-ui/vuu-utils');
7
- var cx = require('clsx');
8
- var react = require('react');
9
- require('@salt-ds/styles');
10
- require('@salt-ds/window');
11
- var SortIndicator = require('../column-header-pill/SortIndicator.js');
12
- var ColumnResizer = require('../column-resizing/ColumnResizer.js');
13
- var useTableColumnResize = require('../column-resizing/useTableColumnResize.js');
14
- var useCell = require('../useCell.js');
15
-
16
- const classBase = "vuuTableHeaderCell";
17
- const doNothing = () => {
18
- return { ref: { current: null } };
19
- };
20
- const HeaderCell = ({
21
- allowDragColumnHeader = true,
22
- allowSelectAll,
23
- allRowsSelected,
24
- className: classNameProp,
25
- column,
26
- id,
27
- index,
28
- onCheckBoxColumnHeaderClick,
29
- onClick,
30
- onResize,
31
- showColumnHeaderMenus = true,
32
- ...htmlAttributes
33
- }) => {
34
- const dragDropSortHook = allowDragColumnHeader ? vuuUtils.useSortable : doNothing;
35
- const { ref: sortableRef } = dragDropSortHook({ id, index });
36
- const {
37
- allowColumnHeaderMenu = true,
38
- HeaderCellContentRenderer,
39
- HeaderCellLabelRenderer
40
- } = column;
41
- const rootRef = react.useRef(null);
42
- const { isResizing, ...resizeProps } = useTableColumnResize.useTableColumnResize({
43
- column,
44
- onResize,
45
- rootRef
46
- });
47
- const handleCheckBoxClick = react.useCallback(
48
- (e) => {
49
- e.stopPropagation();
50
- onCheckBoxColumnHeaderClick?.();
51
- },
52
- [onCheckBoxColumnHeaderClick]
53
- );
54
- const headerItems = react.useMemo(() => {
55
- const renderCheckbox = allowSelectAll && column.isSystemColumn && vuuUtils.isTypeDescriptor(column.type) && column.type.name === "checkbox";
56
- if (renderCheckbox) {
57
- return [
58
- /* @__PURE__ */ jsxRuntime.jsx(
59
- core.Checkbox,
60
- {
61
- checked: allRowsSelected,
62
- className: "vuuCheckboxRowSelector",
63
- onClick: handleCheckBoxClick
64
- },
65
- "checkbox"
66
- )
67
- ];
68
- } else {
69
- const sortIndicator = /* @__PURE__ */ jsxRuntime.jsx(SortIndicator.SortIndicator, { column });
70
- const columnLabel = HeaderCellLabelRenderer ? /* @__PURE__ */ jsxRuntime.jsx(
71
- HeaderCellLabelRenderer,
72
- {
73
- className: `${classBase}-label`,
74
- column
75
- }
76
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${classBase}-label`, children: column.label ?? column.name });
77
- const columnContent = HeaderCellContentRenderer ? [/* @__PURE__ */ jsxRuntime.jsx(HeaderCellContentRenderer, { column }, "content")] : [];
78
- if (showColumnHeaderMenus && allowColumnHeaderMenu) {
79
- const menuPermissions = showColumnHeaderMenus === true ? void 0 : showColumnHeaderMenus;
80
- const columnMenu = /* @__PURE__ */ jsxRuntime.jsx(vuuTableExtras.ColumnMenu, { column, menuPermissions });
81
- return [columnLabel, columnContent, sortIndicator, columnMenu];
82
- } else {
83
- return [columnLabel, sortIndicator, columnContent];
84
- }
85
- }
86
- }, [
87
- HeaderCellContentRenderer,
88
- HeaderCellLabelRenderer,
89
- allRowsSelected,
90
- allowColumnHeaderMenu,
91
- allowSelectAll,
92
- column,
93
- handleCheckBoxClick,
94
- showColumnHeaderMenus
95
- ]);
96
- const handleClick = react.useCallback(
97
- (evt) => {
98
- !isResizing && onClick?.(evt);
99
- },
100
- [isResizing, onClick]
101
- );
102
- const handleKeyDown = react.useCallback(
103
- (evt) => {
104
- if (evt.key === "Enter") {
105
- onClick?.(evt);
106
- }
107
- },
108
- [onClick]
109
- );
110
- const { className, style } = useCell.useCell(column, classBase, true);
111
- return /* @__PURE__ */ jsxRuntime.jsxs(
112
- "div",
113
- {
114
- ...htmlAttributes,
115
- "aria-colindex": column.ariaColIndex,
116
- "aria-label": `${column.label ?? column.name} column header`,
117
- className: cx(className, classNameProp, column.status, {
118
- [`${classBase}-resizing`]: isResizing,
119
- [`${classBase}-selected`]: column.selected,
120
- [`${classBase}-noMenu`]: showColumnHeaderMenus === false
121
- }),
122
- "data-column-name": column.name,
123
- "data-index": index,
124
- id,
125
- onClick: handleClick,
126
- onKeyDown: handleKeyDown,
127
- ref: core.useForkRef(rootRef, sortableRef),
128
- role: "columnheader",
129
- style,
130
- children: [
131
- ...headerItems,
132
- column.resizeable !== false ? /* @__PURE__ */ jsxRuntime.jsx(ColumnResizer.ColumnResizer, { ...resizeProps }) : null
133
- ]
134
- }
135
- );
136
- };
137
-
138
- exports.HeaderCell = HeaderCell;
139
- //# sourceMappingURL=HeaderCell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeaderCell.js","sources":["../../../../packages/vuu-table/src/header-cell/HeaderCell.tsx"],"sourcesContent":["import { Checkbox, useForkRef } from \"@salt-ds/core\";\nimport { ColumnMenu } from \"@vuu-ui/vuu-table-extras\";\nimport { HeaderCellProps } from \"@vuu-ui/vuu-table-types\";\nimport { isTypeDescriptor, useSortable } from \"@vuu-ui/vuu-utils\";\nimport cx from \"clsx\";\nimport {\n KeyboardEventHandler,\n MouseEventHandler,\n SyntheticEvent,\n useCallback,\n useMemo,\n useRef,\n} from \"react\";\nimport { SortIndicator } from \"../column-header-pill\";\nimport { ColumnResizer, useTableColumnResize } from \"../column-resizing\";\nimport { useCell } from \"../useCell\";\n\nconst classBase = \"vuuTableHeaderCell\";\n\nconst doNothing = () => {\n // dummy hook\n return { ref: { current: null } };\n};\n\nexport const HeaderCell = ({\n allowDragColumnHeader = true,\n allowSelectAll,\n allRowsSelected,\n className: classNameProp,\n column,\n id,\n index,\n onCheckBoxColumnHeaderClick,\n onClick,\n onResize,\n showColumnHeaderMenus = true,\n ...htmlAttributes\n}: HeaderCellProps) => {\n const dragDropSortHook = allowDragColumnHeader ? useSortable : doNothing;\n const { ref: sortableRef } = dragDropSortHook({ id, index });\n const {\n allowColumnHeaderMenu = true,\n HeaderCellContentRenderer,\n HeaderCellLabelRenderer,\n } = column;\n const rootRef = useRef<HTMLDivElement>(null);\n const { isResizing, ...resizeProps } = useTableColumnResize({\n column,\n onResize,\n rootRef,\n });\n\n const handleCheckBoxClick = useCallback(\n (e: SyntheticEvent) => {\n e.stopPropagation();\n onCheckBoxColumnHeaderClick?.();\n },\n [onCheckBoxColumnHeaderClick],\n );\n\n const headerItems = useMemo(() => {\n const renderCheckbox =\n allowSelectAll &&\n column.isSystemColumn &&\n isTypeDescriptor(column.type) &&\n column.type.name === \"checkbox\";\n\n if (renderCheckbox) {\n return [\n <Checkbox\n checked={allRowsSelected}\n className=\"vuuCheckboxRowSelector\"\n key=\"checkbox\"\n onClick={handleCheckBoxClick}\n />,\n ];\n } else {\n const sortIndicator = <SortIndicator column={column} />;\n const columnLabel = HeaderCellLabelRenderer ? (\n <HeaderCellLabelRenderer\n className={`${classBase}-label`}\n column={column}\n />\n ) : (\n <div className={`${classBase}-label`}>\n {column.label ?? column.name}\n </div>\n );\n const columnContent = HeaderCellContentRenderer\n ? [<HeaderCellContentRenderer column={column} key=\"content\" />]\n : [];\n\n if (showColumnHeaderMenus && allowColumnHeaderMenu) {\n const menuPermissions =\n showColumnHeaderMenus === true ? undefined : showColumnHeaderMenus;\n const columnMenu = (\n <ColumnMenu column={column} menuPermissions={menuPermissions} />\n );\n\n return [columnLabel, columnContent, sortIndicator, columnMenu];\n } else {\n return [columnLabel, sortIndicator, columnContent];\n }\n }\n }, [\n HeaderCellContentRenderer,\n HeaderCellLabelRenderer,\n allRowsSelected,\n allowColumnHeaderMenu,\n allowSelectAll,\n column,\n handleCheckBoxClick,\n showColumnHeaderMenus,\n ]);\n\n const handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (evt) => {\n !isResizing && onClick?.(evt);\n },\n [isResizing, onClick],\n );\n\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n (evt) => {\n if (evt.key === \"Enter\") {\n onClick?.(evt);\n }\n },\n [onClick],\n );\n\n const { className, style } = useCell(column, classBase, true);\n\n return (\n <div\n {...htmlAttributes}\n aria-colindex={column.ariaColIndex}\n aria-label={`${column.label ?? column.name} column header`}\n className={cx(className, classNameProp, column.status, {\n [`${classBase}-resizing`]: isResizing,\n [`${classBase}-selected`]: column.selected,\n [`${classBase}-noMenu`]: showColumnHeaderMenus === false,\n })}\n data-column-name={column.name}\n data-index={index}\n id={id}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={useForkRef<HTMLDivElement>(rootRef, sortableRef)}\n role=\"columnheader\"\n style={style}\n >\n {...headerItems}\n {column.resizeable !== false ? <ColumnResizer {...resizeProps} /> : null}\n </div>\n );\n};\n"],"names":["useSortable","useRef","useTableColumnResize","useCallback","useMemo","isTypeDescriptor","jsx","Checkbox","SortIndicator","ColumnMenu","useCell","jsxs","useForkRef","ColumnResizer"],"mappings":"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"}
package/cjs/index.js DELETED
@@ -1,64 +0,0 @@
1
- 'use strict';
2
-
3
- var BulkEditPanel = require('./bulk-edit/BulkEditPanel.js');
4
- var CheckboxCell = require('./cell-renderers/checkbox-cell/CheckboxCell.js');
5
- var CheckboxRowSelectorCell = require('./cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js');
6
- var InputCell = require('./cell-renderers/input-cell/InputCell.js');
7
- var ToggleCell = require('./cell-renderers/toggle-cell/ToggleCell.js');
8
- var GroupHeaderCell = require('./header-cell/GroupHeaderCell.js');
9
- var HeaderCell = require('./header-cell/HeaderCell.js');
10
- var DataRow = require('./data-row/DataRow.js');
11
- var PaginationControl = require('./pagination/PaginationControl.js');
12
- var Row = require('./Row.js');
13
- var Table = require('./Table.js');
14
- var TableCell = require('./table-cell/TableCell.js');
15
- var TableGroupCell = require('./table-cell/TableGroupCell.js');
16
- var tableConfig = require('./table-config.js');
17
- var useTableConfig = require('./table-config/useTableConfig.js');
18
- var HeaderProvider = require('./table-header/HeaderProvider.js');
19
- var TableHeader = require('./table-header/TableHeader.js');
20
- var useControlledTableNavigation = require('./useControlledTableNavigation.js');
21
- var useEditableCell = require('./useEditableCell.js');
22
- var applyHighlighting = require('./applyHighlighting.js');
23
- var useKeyboardNavigation = require('./useKeyboardNavigation.js');
24
- var useTableContextMenu = require('./useTableContextMenu.js');
25
- var useTableModel = require('./useTableModel.js');
26
- var useTableScroll = require('./useTableScroll.js');
27
- var useTableViewport = require('./useTableViewport.js');
28
- var VirtualColSpan = require('./VirtualColSpan.js');
29
-
30
-
31
-
32
- exports.BulkEditPanel = BulkEditPanel.BulkEditPanel;
33
- exports.CheckboxCell = CheckboxCell.CheckboxCell;
34
- exports.CheckboxRowSelectorCell = CheckboxRowSelectorCell.CheckboxRowSelectorCell;
35
- exports.InputCell = InputCell.InputCell;
36
- exports.ToggleCell = ToggleCell.ToggleCell;
37
- exports.GroupHeaderCell = GroupHeaderCell.GroupHeaderCell;
38
- exports.HeaderCell = HeaderCell.HeaderCell;
39
- exports.dataRowFactory = DataRow.dataRowFactory;
40
- exports.PaginationControl = PaginationControl.PaginationControl;
41
- exports.Row = Row.Row;
42
- exports.Table = Table.Table;
43
- exports.TableCell = TableCell.TableCell;
44
- exports.TableGroupCell = TableGroupCell.TableGroupCell;
45
- exports.updateTableConfig = tableConfig.updateTableConfig;
46
- exports.useTableConfig = useTableConfig.useTableConfig;
47
- exports.HeaderProvider = HeaderProvider.HeaderProvider;
48
- exports.useHeaderProps = HeaderProvider.useHeaderProps;
49
- exports.TableHeader = TableHeader.TableHeader;
50
- exports.isRowSelectionKey = useControlledTableNavigation.isRowSelectionKey;
51
- exports.useControlledTableNavigation = useControlledTableNavigation.useControlledTableNavigation;
52
- exports.useEditableCell = useEditableCell.useEditableCell;
53
- exports.applyHighlighting = applyHighlighting.applyHighlighting;
54
- exports.isNavigationKey = useKeyboardNavigation.isNavigationKey;
55
- exports.isPagingKey = useKeyboardNavigation.isPagingKey;
56
- exports.useKeyboardNavigation = useKeyboardNavigation.useKeyboardNavigation;
57
- exports.isTableLocation = useTableContextMenu.isTableLocation;
58
- exports.useTableContextMenu = useTableContextMenu.useTableContextMenu;
59
- exports.useTableModel = useTableModel.useTableModel;
60
- exports.noScrolling = useTableScroll.noScrolling;
61
- exports.useTableScroll = useTableScroll.useTableScroll;
62
- exports.useTableViewport = useTableViewport.useTableViewport;
63
- exports.VirtualColSpan = VirtualColSpan.VirtualColSpan;
64
- //# sourceMappingURL=index.js.map
package/cjs/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var paginationControlCss = ".vuuPaginationControl {\n align-items: center;\n display: flex;\n height: var(--vuuPaginationControl-height, auto);\n justify-content: flex-end;\n padding: 0 var(--salt-spacing-100);\n .saltButton {\n .saltIcon {\n display: block !important;\n }\n }\n}\n";
4
-
5
- module.exports = paginationControlCss;
6
- //# sourceMappingURL=PaginationControl.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaginationControl.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var styles = require('@salt-ds/styles');
5
- var window = require('@salt-ds/window');
6
- var core = require('@salt-ds/core');
7
- var cx = require('clsx');
8
- var usePagination = require('./usePagination.js');
9
- var PaginationControl$1 = require('./PaginationControl.css.js');
10
- var react = require('react');
11
-
12
- const classBase = "vuuPaginationControl";
13
- const PaginationControl = react.forwardRef(function PaginationControl2({ className, dataSource, ...htmlAttributes }, forwardedRef) {
14
- const targetWindow = window.useWindow();
15
- styles.useComponentCssInjection({
16
- testId: "vuu-table",
17
- css: PaginationControl$1,
18
- window: targetWindow
19
- });
20
- const { onPageChange, pageCount } = usePagination.usePagination({
21
- dataSource
22
- });
23
- return /* @__PURE__ */ jsxRuntime.jsx(
24
- "div",
25
- {
26
- ...htmlAttributes,
27
- className: cx(classBase, className),
28
- ref: forwardedRef,
29
- children: /* @__PURE__ */ jsxRuntime.jsxs(core.Pagination, { count: pageCount, onPageChange, children: [
30
- /* @__PURE__ */ jsxRuntime.jsx(core.GoToInput, {}),
31
- /* @__PURE__ */ jsxRuntime.jsx(core.Paginator, {})
32
- ] })
33
- }
34
- );
35
- });
36
-
37
- exports.PaginationControl = PaginationControl;
38
- //# sourceMappingURL=PaginationControl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PaginationControl.js","sources":["../../../../packages/vuu-table/src/pagination/PaginationControl.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { GoToInput, Pagination, Paginator } from \"@salt-ds/core\";\nimport cx from \"clsx\";\nimport { usePagination } from \"./usePagination\";\n\nimport paginationControlCss from \"./PaginationControl.css\";\nimport { HtmlHTMLAttributes, forwardRef } from \"react\";\nimport { DataSource } from \"@vuu-ui/vuu-data-types\";\n\nconst classBase = \"vuuPaginationControl\";\n\nexport interface PaginationControlProps\n extends HtmlHTMLAttributes<HTMLDivElement> {\n dataSource: DataSource;\n}\n\nexport const PaginationControl = forwardRef<\n HTMLDivElement,\n PaginationControlProps\n>(function PaginationControl(\n { className, dataSource, ...htmlAttributes },\n forwardedRef,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-table\",\n css: paginationControlCss,\n window: targetWindow,\n });\n\n const { onPageChange, pageCount } = usePagination({\n dataSource,\n });\n\n return (\n <div\n {...htmlAttributes}\n className={cx(classBase, className)}\n ref={forwardedRef}\n >\n <Pagination count={pageCount} onPageChange={onPageChange}>\n <GoToInput />\n <Paginator />\n </Pagination>\n </div>\n );\n});\n"],"names":["forwardRef","PaginationControl","useWindow","useComponentCssInjection","paginationControlCss","usePagination","jsx","jsxs","Pagination","GoToInput","Paginator"],"mappings":";;;;;;;;;;;AAUA,MAAM,SAAY,GAAA,sBAAA;AAOL,MAAA,iBAAA,GAAoBA,gBAG/B,CAAA,SAASC,kBACT,CAAA,EAAE,WAAW,UAAY,EAAA,GAAG,cAAe,EAAA,EAC3C,YACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,WAAA;AAAA,IACR,GAAK,EAAAC,mBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,YAAA,EAAc,SAAU,EAAA,GAAIC,2BAAc,CAAA;AAAA,IAChD;AAAA,GACD,CAAA;AAED,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,cAAA;AAAA,MACJ,SAAA,EAAW,EAAG,CAAA,SAAA,EAAW,SAAS,CAAA;AAAA,MAClC,GAAK,EAAA,YAAA;AAAA,MAEL,QAAC,kBAAAC,eAAA,CAAAC,eAAA,EAAA,EAAW,KAAO,EAAA,SAAA,EAAW,YAC5B,EAAA,QAAA,EAAA;AAAA,wBAAAF,cAAA,CAACG,cAAU,EAAA,EAAA,CAAA;AAAA,uCACVC,cAAU,EAAA,EAAA;AAAA,OACb,EAAA;AAAA;AAAA,GACF;AAEJ,CAAC;;;;"}
@@ -1,36 +0,0 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
- var vuuUtils = require('@vuu-ui/vuu-utils');
5
-
6
- const getPageCount = (dataSource) => {
7
- const { range, size } = dataSource;
8
- const pageSize = range.to - range.from;
9
- if (pageSize > 0) {
10
- return Math.ceil(size / pageSize);
11
- } else {
12
- return 0;
13
- }
14
- };
15
- const usePagination = ({ dataSource }) => {
16
- const [pageCount, setPageCount] = react.useState(getPageCount(dataSource));
17
- react.useMemo(() => {
18
- dataSource.on("page-count", (n) => setPageCount(n));
19
- }, [dataSource]);
20
- const handlePageChange = react.useCallback(
21
- (_evt, page) => {
22
- const { range } = dataSource;
23
- const pageSize = range.to - range.from;
24
- const firstRow = pageSize * (page - 1);
25
- dataSource.range = vuuUtils.Range(firstRow, firstRow + pageSize);
26
- },
27
- [dataSource]
28
- );
29
- return {
30
- onPageChange: handlePageChange,
31
- pageCount
32
- };
33
- };
34
-
35
- exports.usePagination = usePagination;
36
- //# sourceMappingURL=usePagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePagination.js","sources":["../../../../packages/vuu-table/src/pagination/usePagination.ts"],"sourcesContent":["import { SyntheticEvent, useCallback, useMemo, useState } from \"react\";\nimport { DataSource } from \"@vuu-ui/vuu-data-types\";\nimport { Range } from \"@vuu-ui/vuu-utils\";\n\nexport interface PaginationHookProps {\n dataSource: DataSource;\n}\n\nconst getPageCount = (dataSource: DataSource) => {\n const { range, size } = dataSource;\n const pageSize = range.to - range.from;\n if (pageSize > 0) {\n return Math.ceil(size / pageSize);\n } else {\n return 0;\n }\n};\n\nexport const usePagination = ({ dataSource }: PaginationHookProps) => {\n const [pageCount, setPageCount] = useState<number>(getPageCount(dataSource));\n\n useMemo(() => {\n dataSource.on(\"page-count\", (n: number) => setPageCount(n));\n }, [dataSource]);\n\n const handlePageChange = useCallback(\n (_evt: SyntheticEvent, page: number) => {\n const { range } = dataSource;\n const pageSize = range.to - range.from;\n const firstRow = pageSize * (page - 1);\n dataSource.range = Range(firstRow, firstRow + pageSize);\n },\n [dataSource],\n );\n\n return {\n onPageChange: handlePageChange,\n pageCount,\n };\n};\n"],"names":["useState","useMemo","useCallback","Range"],"mappings":";;;;;AAQA,MAAM,YAAA,GAAe,CAAC,UAA2B,KAAA;AAC/C,EAAM,MAAA,EAAE,KAAO,EAAA,IAAA,EAAS,GAAA,UAAA;AACxB,EAAM,MAAA,QAAA,GAAW,KAAM,CAAA,EAAA,GAAK,KAAM,CAAA,IAAA;AAClC,EAAA,IAAI,WAAW,CAAG,EAAA;AAChB,IAAO,OAAA,IAAA,CAAK,IAAK,CAAA,IAAA,GAAO,QAAQ,CAAA;AAAA,GAC3B,MAAA;AACL,IAAO,OAAA,CAAA;AAAA;AAEX,CAAA;AAEO,MAAM,aAAgB,GAAA,CAAC,EAAE,UAAA,EAAsC,KAAA;AACpE,EAAA,MAAM,CAAC,SAAW,EAAA,YAAY,IAAIA,cAAiB,CAAA,YAAA,CAAa,UAAU,CAAC,CAAA;AAE3E,EAAAC,aAAA,CAAQ,MAAM;AACZ,IAAA,UAAA,CAAW,GAAG,YAAc,EAAA,CAAC,CAAc,KAAA,YAAA,CAAa,CAAC,CAAC,CAAA;AAAA,GAC5D,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,MAAM,gBAAmB,GAAAC,iBAAA;AAAA,IACvB,CAAC,MAAsB,IAAiB,KAAA;AACtC,MAAM,MAAA,EAAE,OAAU,GAAA,UAAA;AAClB,MAAM,MAAA,QAAA,GAAW,KAAM,CAAA,EAAA,GAAK,KAAM,CAAA,IAAA;AAClC,MAAM,MAAA,QAAA,GAAW,YAAY,IAAO,GAAA,CAAA,CAAA;AACpC,MAAA,UAAA,CAAW,KAAQ,GAAAC,cAAA,CAAM,QAAU,EAAA,QAAA,GAAW,QAAQ,CAAA;AAAA,KACxD;AAAA,IACA,CAAC,UAAU;AAAA,GACb;AAEA,EAAO,OAAA;AAAA,IACL,YAAc,EAAA,gBAAA;AAAA,IACd;AAAA,GACF;AACF;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var tableCellCss = ".vuuTableCell {\n border-right-color: var(--cell-borderColor);\n border-right-style: solid;\n border-right-width: 1px;\n /* unfortunately inline-flex doesn't play nice with text-overflow ellipsis */\n display: inline-block;\n white-space: nowrap;\n height: 100%;\n outline-offset: -2px;\n overflow: hidden;\n padding: var(--vuuTableCell-padding, 0 11px 0 8px);\n text-overflow: ellipsis;\n vertical-align: top;\n\n\n &:has(.vuuCheckboxRowSelector) {\n text-overflow: unset;\n }\n\n}\n\n.vuuTableCell-right {\n text-align: right;\n}\n\n.vuuTableCell-editable {\n align-items: center;\n display: inline-flex;\n padding: var(--vuuTableCell-padding-editable, 0px 1px 0 2px);\n}\n\n.vuuTableCell:focus-visible {\n outline: none;\n}\n\n.vuuTableCell-editable:focus-within,\n.vuuTableCell:focus {\n /** This is to achieve a white background to outline dashes */\n /* box-shadow: inset 0 0 0 var(--cell-outline-width) white; */\n border-bottom: none;\n .saltInput-bordered {\n border-color: transparent;\n outline: solid var(--salt-editable-borderColor-active) 2px;\n outline-offset: -1px;\n }\n\n .saltInput-bordered.vuuEditing{\n outline: dashed var(--salt-editable-borderColor-active) 2px;\n outline-offset: -1px;\n }\n\n .vuuTableInputCell-error.saltInput-bordered {\n outline: dashed var(--salt-status-error-borderColor) 2px;\n }\n\n}\n\n.vuuTableRow-selected .vuuTableCell:not(.vuuTableCell-editable):focus {\n outline: var(\n --vuuTableCell-outline,\n solid var(--salt-focused-outlineColor) 2px\n );\n\n &:has(.vuuCheckboxRowSelector) {\n outline: none;\n }\n}\n/* .vuuTableCell-editable:focus {\n outline: none;\n} */\n\n.vuuTableCell.ContextOpen {\n outline: var(\n --vuuTableCell-outline,\n solid var(--vuuTableCell-contextOpen-outlineColor, var(--salt-focused-outlineColor)) 2px\n );\n}\n";
4
-
5
- module.exports = tableCellCss;
6
- //# sourceMappingURL=TableCell.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableCell.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,75 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var styles = require('@salt-ds/styles');
5
- var window = require('@salt-ds/window');
6
- var vuuUtils = require('@vuu-ui/vuu-utils');
7
- var react = require('react');
8
- var applyHighlighting = require('../applyHighlighting.js');
9
- var useCell = require('../useCell.js');
10
- var TableCell$1 = require('./TableCell.css.js');
11
-
12
- const classBase = "vuuTableCell";
13
- const TableCell = ({
14
- column,
15
- dataRow,
16
- onClick,
17
- searchPattern = ""
18
- }) => {
19
- const targetWindow = window.useWindow();
20
- styles.useComponentCssInjection({
21
- testId: "vuu-table-cell",
22
- css: TableCell$1,
23
- window: targetWindow
24
- });
25
- const editSession = vuuUtils.useEditSession();
26
- const { className, style } = useCell.useCell(column, classBase, false);
27
- const { ariaColIndex, CellRenderer, name, valueFormatter } = column;
28
- const [editedDuringCurrentSession, setEditingDuringCurrentSession] = react.useState(void 0);
29
- const handleDataItemEdited = react.useCallback(
30
- async (editState, editPhase) => {
31
- const { isValid = true, previousValue = "", value } = editState;
32
- if (editPhase === "commit" && editSession) {
33
- const { editedDuringCurrentSession: editedDuringCurrentSession2, ...response } = await editSession.commit(
34
- dataRow.key,
35
- name,
36
- previousValue,
37
- value,
38
- isValid
39
- );
40
- setEditingDuringCurrentSession(editedDuringCurrentSession2);
41
- return response;
42
- }
43
- },
44
- [dataRow.key, editSession, name]
45
- );
46
- const handleClick = react.useCallback(
47
- (evt) => {
48
- onClick?.(evt, column);
49
- },
50
- [column, onClick]
51
- );
52
- return /* @__PURE__ */ jsxRuntime.jsx(
53
- "div",
54
- {
55
- "aria-colindex": ariaColIndex,
56
- className,
57
- onClick: onClick ? handleClick : void 0,
58
- role: "cell",
59
- style,
60
- children: CellRenderer ? /* @__PURE__ */ jsxRuntime.jsx(
61
- CellRenderer,
62
- {
63
- column,
64
- dataRow,
65
- editedDuringCurrentSession,
66
- onEdit: handleDataItemEdited,
67
- searchPattern
68
- }
69
- ) : applyHighlighting.applyHighlighting(valueFormatter(dataRow[column.name]), searchPattern)
70
- }
71
- );
72
- };
73
-
74
- exports.TableCell = TableCell;
75
- //# sourceMappingURL=TableCell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableCell.js","sources":["../../../../packages/vuu-table/src/table-cell/TableCell.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport type {\n TableCellEditHandler,\n TableCellProps,\n} from \"@vuu-ui/vuu-table-types\";\nimport { useEditSession } from \"@vuu-ui/vuu-utils\";\nimport { MouseEventHandler, useCallback, useState } from \"react\";\nimport { applyHighlighting } from \"../applyHighlighting\";\nimport { useCell } from \"../useCell\";\n\nimport tableCellCss from \"./TableCell.css\";\n\nconst classBase = \"vuuTableCell\";\n\nexport const TableCell = ({\n column,\n dataRow,\n onClick,\n searchPattern = \"\",\n}: TableCellProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-table-cell\",\n css: tableCellCss,\n window: targetWindow,\n });\n\n const editSession = useEditSession();\n\n const { className, style } = useCell(column, classBase, false);\n const { ariaColIndex, CellRenderer, name, valueFormatter } = column;\n const [editedDuringCurrentSession, setEditingDuringCurrentSession] = useState<\n boolean | undefined\n >(undefined);\n\n const handleDataItemEdited = useCallback<TableCellEditHandler>(\n async (editState, editPhase) => {\n const { isValid = true, previousValue = \"\", value } = editState;\n if (editPhase === \"commit\" && editSession) {\n const { editedDuringCurrentSession, ...response } =\n await editSession.commit(\n dataRow.key,\n name,\n previousValue,\n value,\n isValid,\n );\n setEditingDuringCurrentSession(editedDuringCurrentSession);\n return response;\n }\n },\n [dataRow.key, editSession, name],\n );\n\n const handleClick = useCallback<MouseEventHandler>(\n (evt) => {\n onClick?.(evt, column);\n },\n [column, onClick],\n );\n\n return (\n <div\n aria-colindex={ariaColIndex}\n className={className}\n onClick={onClick ? handleClick : undefined}\n role=\"cell\"\n style={style}\n >\n {CellRenderer ? (\n <CellRenderer\n column={column}\n dataRow={dataRow}\n editedDuringCurrentSession={editedDuringCurrentSession}\n onEdit={handleDataItemEdited}\n searchPattern={searchPattern}\n />\n ) : (\n applyHighlighting(valueFormatter(dataRow[column.name]), searchPattern)\n )}\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","tableCellCss","useEditSession","useCell","useState","useCallback","editedDuringCurrentSession","jsx","applyHighlighting"],"mappings":";;;;;;;;;;;AAaA,MAAM,SAAY,GAAA,cAAA;AAEX,MAAM,YAAY,CAAC;AAAA,EACxB,MAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAgB,GAAA;AAClB,CAAsB,KAAA;AACpB,EAAA,MAAM,eAAeA,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAC,WAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,cAAcC,uBAAe,EAAA;AAEnC,EAAA,MAAM,EAAE,SAAW,EAAA,KAAA,KAAUC,eAAQ,CAAA,MAAA,EAAQ,WAAW,KAAK,CAAA;AAC7D,EAAA,MAAM,EAAE,YAAA,EAAc,YAAc,EAAA,IAAA,EAAM,gBAAmB,GAAA,MAAA;AAC7D,EAAA,MAAM,CAAC,0BAAA,EAA4B,8BAA8B,CAAA,GAAIC,eAEnE,KAAS,CAAA,CAAA;AAEX,EAAA,MAAM,oBAAuB,GAAAC,iBAAA;AAAA,IAC3B,OAAO,WAAW,SAAc,KAAA;AAC9B,MAAA,MAAM,EAAE,OAAU,GAAA,IAAA,EAAM,aAAgB,GAAA,EAAA,EAAI,OAAU,GAAA,SAAA;AACtD,MAAI,IAAA,SAAA,KAAc,YAAY,WAAa,EAAA;AACzC,QAAA,MAAM,EAAE,0BAAAC,EAAAA,2BAAAA,EAA4B,GAAG,QAAS,EAAA,GAC9C,MAAM,WAAY,CAAA,MAAA;AAAA,UAChB,OAAQ,CAAA,GAAA;AAAA,UACR,IAAA;AAAA,UACA,aAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SACF;AACF,QAAA,8BAAA,CAA+BA,2BAA0B,CAAA;AACzD,QAAO,OAAA,QAAA;AAAA;AACT,KACF;AAAA,IACA,CAAC,OAAA,CAAQ,GAAK,EAAA,WAAA,EAAa,IAAI;AAAA,GACjC;AAEA,EAAA,MAAM,WAAc,GAAAD,iBAAA;AAAA,IAClB,CAAC,GAAQ,KAAA;AACP,MAAA,OAAA,GAAU,KAAK,MAAM,CAAA;AAAA,KACvB;AAAA,IACA,CAAC,QAAQ,OAAO;AAAA,GAClB;AAEA,EACE,uBAAAE,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,eAAe,EAAA,YAAA;AAAA,MACf,SAAA;AAAA,MACA,OAAA,EAAS,UAAU,WAAc,GAAA,KAAA,CAAA;AAAA,MACjC,IAAK,EAAA,MAAA;AAAA,MACL,KAAA;AAAA,MAEC,QACC,EAAA,YAAA,mBAAAA,cAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACC,MAAA;AAAA,UACA,OAAA;AAAA,UACA,0BAAA;AAAA,UACA,MAAQ,EAAA,oBAAA;AAAA,UACR;AAAA;AAAA,OACF,GAEAC,oCAAkB,cAAe,CAAA,OAAA,CAAQ,OAAO,IAAI,CAAC,GAAG,aAAa;AAAA;AAAA,GAEzE;AAEJ;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var tableGroupCellCss = ".vuuTableGroupCell.vuuTableCell {\n --group-cell-spacer-width: 20px;\n align-items: center;\n border-right-color: var(\n --vuuTableGroupCell-borderColor,\n var(--salt-separable-tertiary-borderColor)\n );\n border-right-style: solid;\n border-right-width: 1px;\n\n cursor: pointer;\n display: inline-flex;\n line-height: 16px;\n\n .vuuIcon {\n --vuu-icon-height: 20px;\n --vuu-icon-width: 20px;\n margin-right: var(--salt-spacing-100);\n min-width: 20px;\n }\n\n .vuuToggleIconButton.saltButton {\n --saltButton-height: 20px;\n --saltButton-width: 20px;\n }\n\n .vuuTableGroupCell-label {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n[aria-level=\"2\"] {\n --indent: 1;\n &:not([aria-expanded]){\n --indent: 2;\n }\n}\n[aria-level=\"3\"] {\n --indent: 2;\n &:not([aria-expanded]){\n --indent: 3;\n }\n}\n[aria-level=\"4\"] {\n --indent: 3;\n &:not([aria-expanded]){\n --indent: 4;\n }\n}\n[aria-level=\"5\"] {\n --indent: 4;\n}\n[aria-level=\"6\"] {\n --indent: 5;\n}\n[aria-level=\"7\"] {\n --indent: 6;\n}\n[aria-level=\"8\"] {\n --indent: 7;\n}\n[aria-level=\"9\"] {\n --indent: 8;\n}\n[aria-level=\"10\"] {\n --indent: 9;\n}\n\n.vuuTableGroupCell-spacer {\n display: inline-block;\n min-width: calc(var(--indent, 0) * var(--group-cell-spacer-width));\n}\n\n.vuuTreeTable {\n .vuuTableGroupCell.vuuTableCell {\n border-right: none;\n } \n}";
4
-
5
- module.exports = tableGroupCellCss;
6
- //# sourceMappingURL=TableGroupCell.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableGroupCell.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,65 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var vuuUiControls = require('@vuu-ui/vuu-ui-controls');
5
- var vuuUtils = require('@vuu-ui/vuu-utils');
6
- var styles = require('@salt-ds/styles');
7
- var window = require('@salt-ds/window');
8
- var cx = require('clsx');
9
- var react = require('react');
10
- var useCell = require('../useCell.js');
11
- var TableCell = require('./TableCell.css.js');
12
- var TableGroupCell$1 = require('./TableGroupCell.css.js');
13
- var applyHighlighting = require('../applyHighlighting.js');
14
-
15
- const classBase = "vuuTableGroupCell";
16
- const TableGroupCell = ({
17
- column,
18
- dataRow,
19
- onClick,
20
- searchPattern = ""
21
- }) => {
22
- const targetWindow = window.useWindow();
23
- styles.useComponentCssInjection({
24
- testId: "vuu-table-cell",
25
- css: TableCell,
26
- window: targetWindow
27
- });
28
- styles.useComponentCssInjection({
29
- testId: "vuu-table-group-cell",
30
- css: TableGroupCell$1,
31
- window: targetWindow
32
- });
33
- const { columns } = column;
34
- const value = vuuUtils.getGroupValue(columns, dataRow);
35
- const valueWithHighlighting = applyHighlighting.applyHighlighting(value || "", searchPattern);
36
- const icon = vuuUtils.getGroupIcon(columns, dataRow);
37
- const { className, style } = useCell.useCell(column, classBase);
38
- const handleClick = react.useCallback(
39
- (evt) => {
40
- onClick?.(evt, column);
41
- },
42
- [column, onClick]
43
- );
44
- const { childCount, isExpanded, isLeaf } = dataRow;
45
- const isLeafNode = isLeaf || childCount == 0;
46
- return /* @__PURE__ */ jsxRuntime.jsxs(
47
- "div",
48
- {
49
- "aria-colindex": 1,
50
- className: cx(className, "vuuTableCell"),
51
- role: "cell",
52
- style,
53
- onClick: isLeafNode ? void 0 : handleClick,
54
- children: [
55
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${classBase}-spacer` }),
56
- isLeafNode ? null : /* @__PURE__ */ jsxRuntime.jsx(vuuUiControls.ToggleIconButton, { isExpanded }),
57
- icon ? /* @__PURE__ */ jsxRuntime.jsx(vuuUiControls.Icon, { name: icon }) : null,
58
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${classBase}-label`, children: valueWithHighlighting })
59
- ]
60
- }
61
- );
62
- };
63
-
64
- exports.TableGroupCell = TableGroupCell;
65
- //# sourceMappingURL=TableGroupCell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableGroupCell.js","sources":["../../../../packages/vuu-table/src/table-cell/TableGroupCell.tsx"],"sourcesContent":["import { GroupColumnDescriptor, TableCellProps } from \"@vuu-ui/vuu-table-types\";\nimport { Icon, ToggleIconButton } from \"@vuu-ui/vuu-ui-controls\";\nimport { getGroupIcon, getGroupValue } from \"@vuu-ui/vuu-utils\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport cx from \"clsx\";\nimport { MouseEvent, useCallback } from \"react\";\nimport { useCell } from \"../useCell\";\n\nimport tableCellCss from \"./TableCell.css\";\nimport tableGroupCellCss from \"./TableGroupCell.css\";\nimport { applyHighlighting } from \"../applyHighlighting\";\n\nconst classBase = \"vuuTableGroupCell\";\n\nexport const TableGroupCell = ({\n column,\n dataRow,\n onClick,\n searchPattern = \"\",\n}: TableCellProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-table-cell\",\n css: tableCellCss,\n window: targetWindow,\n });\n useComponentCssInjection({\n testId: \"vuu-table-group-cell\",\n css: tableGroupCellCss,\n window: targetWindow,\n });\n\n const { columns } = column as GroupColumnDescriptor;\n const value = getGroupValue(columns, dataRow);\n const valueWithHighlighting = applyHighlighting(value || \"\", searchPattern);\n\n const icon = getGroupIcon(columns, dataRow);\n const { className, style } = useCell(column, classBase);\n\n const handleClick = useCallback(\n (evt: MouseEvent<HTMLDivElement>) => {\n onClick?.(evt, column);\n },\n [column, onClick],\n );\n\n const { childCount, isExpanded, isLeaf } = dataRow;\n\n // In a TreeTable, no nodes are tagged as leaf nodes, but those with childCount = 0\n // behave as leaf nodes\n const isLeafNode = isLeaf || childCount == 0;\n\n return (\n <div\n aria-colindex={1}\n className={cx(className, \"vuuTableCell\")}\n role=\"cell\"\n style={style}\n onClick={isLeafNode ? undefined : handleClick}\n >\n <span className={`${classBase}-spacer`} />\n {isLeafNode ? null : <ToggleIconButton isExpanded={isExpanded} />}\n {icon ? <Icon name={icon} /> : null}\n <span className={`${classBase}-label`}>{valueWithHighlighting}</span>\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","tableCellCss","tableGroupCellCss","getGroupValue","applyHighlighting","getGroupIcon","useCell","useCallback","jsxs","jsx","ToggleIconButton","Icon"],"mappings":";;;;;;;;;;;;;;AAaA,MAAM,SAAY,GAAA,mBAAA;AAEX,MAAM,iBAAiB,CAAC;AAAA,EAC7B,MAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAgB,GAAA;AAClB,CAAsB,KAAA;AACpB,EAAA,MAAM,eAAeA,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAC,SAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AACD,EAAyBD,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,sBAAA;AAAA,IACR,GAAK,EAAAE,gBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,EAAE,SAAY,GAAA,MAAA;AACpB,EAAM,MAAA,KAAA,GAAQC,sBAAc,CAAA,OAAA,EAAS,OAAO,CAAA;AAC5C,EAAA,MAAM,qBAAwB,GAAAC,mCAAA,CAAkB,KAAS,IAAA,EAAA,EAAI,aAAa,CAAA;AAE1E,EAAM,MAAA,IAAA,GAAOC,qBAAa,CAAA,OAAA,EAAS,OAAO,CAAA;AAC1C,EAAA,MAAM,EAAE,SAAW,EAAA,KAAA,EAAU,GAAAC,eAAA,CAAQ,QAAQ,SAAS,CAAA;AAEtD,EAAA,MAAM,WAAc,GAAAC,iBAAA;AAAA,IAClB,CAAC,GAAoC,KAAA;AACnC,MAAA,OAAA,GAAU,KAAK,MAAM,CAAA;AAAA,KACvB;AAAA,IACA,CAAC,QAAQ,OAAO;AAAA,GAClB;AAEA,EAAA,MAAM,EAAE,UAAA,EAAY,UAAY,EAAA,MAAA,EAAW,GAAA,OAAA;AAI3C,EAAM,MAAA,UAAA,GAAa,UAAU,UAAc,IAAA,CAAA;AAE3C,EACE,uBAAAC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,eAAe,EAAA,CAAA;AAAA,MACf,SAAA,EAAW,EAAG,CAAA,SAAA,EAAW,cAAc,CAAA;AAAA,MACvC,IAAK,EAAA,MAAA;AAAA,MACL,KAAA;AAAA,MACA,OAAA,EAAS,aAAa,KAAY,CAAA,GAAA,WAAA;AAAA,MAElC,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,MAAK,EAAA,EAAA,SAAA,EAAW,CAAG,EAAA,SAAS,CAAW,OAAA,CAAA,EAAA,CAAA;AAAA,QACvC,UAAa,GAAA,IAAA,mBAAQA,cAAA,CAAAC,8BAAA,EAAA,EAAiB,UAAwB,EAAA,CAAA;AAAA,QAC9D,IAAO,mBAAAD,cAAA,CAACE,kBAAK,EAAA,EAAA,IAAA,EAAM,MAAM,CAAK,GAAA,IAAA;AAAA,uCAC9B,MAAK,EAAA,EAAA,SAAA,EAAW,CAAG,EAAA,SAAS,UAAW,QAAsB,EAAA,qBAAA,EAAA;AAAA;AAAA;AAAA,GAChE;AAEJ;;;;"}
@@ -1,67 +0,0 @@
1
- 'use strict';
2
-
3
- var vuuTableExtras = require('@vuu-ui/vuu-table-extras');
4
- var react = require('react');
5
-
6
- const useTableConfig = ({
7
- availableColumns,
8
- config: initialTableConfig,
9
- dataSource,
10
- onTableConfigChange
11
- }) => {
12
- const [tableConfig, setTableConfig] = react.useState(initialTableConfig);
13
- const handleColumnModelChange = react.useCallback(
14
- (columns, changeSource, changeDescriptor) => {
15
- if (changeSource === "column-picker" || changeSource === "column-settings") {
16
- if (changeDescriptor?.type === "calculated-column-added" || changeDescriptor?.type === "column-added") {
17
- dataSource.columns = dataSource.columns.concat(
18
- changeDescriptor.column.name
19
- );
20
- } else if (changeDescriptor?.type === "column-removed") {
21
- dataSource.columns = dataSource.columns.filter(
22
- (name) => name !== changeDescriptor.column.name
23
- );
24
- }
25
- let newConfig = void 0;
26
- setTableConfig((config) => newConfig = { ...config, columns });
27
- if (changeDescriptor?.type === "column-removed" || changeDescriptor?.type === "column-added" || changeDescriptor?.type === "calculated-column-added") {
28
- if (newConfig) {
29
- onTableConfigChange?.(newConfig, changeDescriptor);
30
- }
31
- }
32
- }
33
- },
34
- [dataSource, onTableConfigChange]
35
- );
36
- const columnModel = react.useMemo(() => {
37
- const model = new vuuTableExtras.ColumnModel(availableColumns, tableConfig.columns);
38
- model.on("change", handleColumnModelChange);
39
- return model;
40
- }, [availableColumns, handleColumnModelChange, tableConfig.columns]);
41
- const handleTableConfigChange = react.useCallback(
42
- (_config, changeType) => {
43
- if (changeType.type === "column-removed") {
44
- columnModel.removeItemFromSelectedColumns(
45
- changeType.column.name,
46
- "table"
47
- );
48
- }
49
- },
50
- [columnModel]
51
- );
52
- const handleTableDisplayAttributeChange = react.useCallback((displayAttributes) => {
53
- setTableConfig((config) => ({
54
- ...config,
55
- ...displayAttributes
56
- }));
57
- }, []);
58
- return {
59
- columnModel,
60
- onTableDisplayAttributeChange: handleTableDisplayAttributeChange,
61
- onTableConfigChange: handleTableConfigChange,
62
- tableConfig
63
- };
64
- };
65
-
66
- exports.useTableConfig = useTableConfig;
67
- //# sourceMappingURL=useTableConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableConfig.js","sources":["../../../../packages/vuu-table/src/table-config/useTableConfig.ts"],"sourcesContent":["import {\n ColumnModel,\n ColumnsChangeHandler,\n TableDisplayAttributeChangeHandler,\n} from \"@vuu-ui/vuu-table-extras\";\nimport { TableConfig } from \"@vuu-ui/vuu-table-types\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { TableProps } from \"../Table\";\nimport type {\n ColumnDescriptor,\n TableConfigChangeHandler,\n} from \"@vuu-ui/vuu-table-types\";\nimport { DataSource } from \"@vuu-ui/vuu-data-types\";\n\nexport interface TableConfigHookProps extends Pick<TableProps, \"config\"> {\n availableColumns: readonly ColumnDescriptor[];\n dataSource: DataSource;\n onTableConfigChange?: TableConfigChangeHandler;\n}\n\nexport const useTableConfig = ({\n availableColumns,\n config: initialTableConfig,\n dataSource,\n onTableConfigChange,\n}: TableConfigHookProps) => {\n const [tableConfig, setTableConfig] =\n useState<TableConfig>(initialTableConfig);\n\n const handleColumnModelChange = useCallback<ColumnsChangeHandler>(\n (columns, changeSource, changeDescriptor) => {\n if (\n changeSource === \"column-picker\" ||\n changeSource === \"column-settings\"\n ) {\n if (\n changeDescriptor?.type === \"calculated-column-added\" ||\n changeDescriptor?.type === \"column-added\"\n ) {\n dataSource.columns = dataSource.columns.concat(\n changeDescriptor.column.name,\n );\n } else if (changeDescriptor?.type === \"column-removed\") {\n dataSource.columns = dataSource.columns.filter(\n (name) => name !== changeDescriptor.column.name,\n );\n }\n\n let newConfig: TableConfig | undefined = undefined;\n setTableConfig((config) => (newConfig = { ...config, columns }));\n if (\n changeDescriptor?.type === \"column-removed\" ||\n changeDescriptor?.type === \"column-added\" ||\n changeDescriptor?.type === \"calculated-column-added\"\n ) {\n if (newConfig) {\n // calling onTableConfigChange will allow client to persist changes\n // for future sessions\n onTableConfigChange?.(newConfig, changeDescriptor);\n }\n }\n }\n },\n [dataSource, onTableConfigChange],\n );\n\n const columnModel = useMemo(() => {\n const model = new ColumnModel(availableColumns, tableConfig.columns);\n model.on(\"change\", handleColumnModelChange);\n return model;\n }, [availableColumns, handleColumnModelChange, tableConfig.columns]);\n\n const handleTableConfigChange = useCallback<TableConfigChangeHandler>(\n (_config, changeType) => {\n if (changeType.type === \"column-removed\") {\n columnModel.removeItemFromSelectedColumns(\n changeType.column.name,\n \"table\",\n );\n }\n },\n [columnModel],\n );\n\n const handleTableDisplayAttributeChange =\n useCallback<TableDisplayAttributeChangeHandler>((displayAttributes) => {\n setTableConfig((config) => ({\n ...config,\n ...displayAttributes,\n }));\n }, []);\n\n return {\n columnModel,\n onTableDisplayAttributeChange: handleTableDisplayAttributeChange,\n onTableConfigChange: handleTableConfigChange,\n tableConfig,\n };\n};\n"],"names":["useState","useCallback","useMemo","ColumnModel"],"mappings":";;;;;AAoBO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,gBAAA;AAAA,EACA,MAAQ,EAAA,kBAAA;AAAA,EACR,UAAA;AAAA,EACA;AACF,CAA4B,KAAA;AAC1B,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAChCA,eAAsB,kBAAkB,CAAA;AAE1C,EAAA,MAAM,uBAA0B,GAAAC,iBAAA;AAAA,IAC9B,CAAC,OAAS,EAAA,YAAA,EAAc,gBAAqB,KAAA;AAC3C,MACE,IAAA,YAAA,KAAiB,eACjB,IAAA,YAAA,KAAiB,iBACjB,EAAA;AACA,QAAA,IACE,gBAAkB,EAAA,IAAA,KAAS,yBAC3B,IAAA,gBAAA,EAAkB,SAAS,cAC3B,EAAA;AACA,UAAW,UAAA,CAAA,OAAA,GAAU,WAAW,OAAQ,CAAA,MAAA;AAAA,YACtC,iBAAiB,MAAO,CAAA;AAAA,WAC1B;AAAA,SACF,MAAA,IAAW,gBAAkB,EAAA,IAAA,KAAS,gBAAkB,EAAA;AACtD,UAAW,UAAA,CAAA,OAAA,GAAU,WAAW,OAAQ,CAAA,MAAA;AAAA,YACtC,CAAC,IAAA,KAAS,IAAS,KAAA,gBAAA,CAAiB,MAAO,CAAA;AAAA,WAC7C;AAAA;AAGF,QAAA,IAAI,SAAqC,GAAA,KAAA,CAAA;AACzC,QAAA,cAAA,CAAe,CAAC,MAAY,KAAA,SAAA,GAAY,EAAE,GAAG,MAAA,EAAQ,SAAU,CAAA;AAC/D,QACE,IAAA,gBAAA,EAAkB,SAAS,gBAC3B,IAAA,gBAAA,EAAkB,SAAS,cAC3B,IAAA,gBAAA,EAAkB,SAAS,yBAC3B,EAAA;AACA,UAAA,IAAI,SAAW,EAAA;AAGb,YAAA,mBAAA,GAAsB,WAAW,gBAAgB,CAAA;AAAA;AACnD;AACF;AACF,KACF;AAAA,IACA,CAAC,YAAY,mBAAmB;AAAA,GAClC;AAEA,EAAM,MAAA,WAAA,GAAcC,cAAQ,MAAM;AAChC,IAAA,MAAM,KAAQ,GAAA,IAAIC,0BAAY,CAAA,gBAAA,EAAkB,YAAY,OAAO,CAAA;AACnE,IAAM,KAAA,CAAA,EAAA,CAAG,UAAU,uBAAuB,CAAA;AAC1C,IAAO,OAAA,KAAA;AAAA,KACN,CAAC,gBAAA,EAAkB,uBAAyB,EAAA,WAAA,CAAY,OAAO,CAAC,CAAA;AAEnE,EAAA,MAAM,uBAA0B,GAAAF,iBAAA;AAAA,IAC9B,CAAC,SAAS,UAAe,KAAA;AACvB,MAAI,IAAA,UAAA,CAAW,SAAS,gBAAkB,EAAA;AACxC,QAAY,WAAA,CAAA,6BAAA;AAAA,UACV,WAAW,MAAO,CAAA,IAAA;AAAA,UAClB;AAAA,SACF;AAAA;AACF,KACF;AAAA,IACA,CAAC,WAAW;AAAA,GACd;AAEA,EAAM,MAAA,iCAAA,GACJA,iBAAgD,CAAA,CAAC,iBAAsB,KAAA;AACrE,IAAA,cAAA,CAAe,CAAC,MAAY,MAAA;AAAA,MAC1B,GAAG,MAAA;AAAA,MACH,GAAG;AAAA,KACH,CAAA,CAAA;AAAA,GACJ,EAAG,EAAE,CAAA;AAEP,EAAO,OAAA;AAAA,IACL,WAAA;AAAA,IACA,6BAA+B,EAAA,iCAAA;AAAA,IAC/B,mBAAqB,EAAA,uBAAA;AAAA,IACrB;AAAA,GACF;AACF;;;;"}
@@ -1,35 +0,0 @@
1
- 'use strict';
2
-
3
- var vuuUtils = require('@vuu-ui/vuu-utils');
4
-
5
- const updateTableConfig = (config, action) => {
6
- switch (action.type) {
7
- case "col-size": {
8
- const { columns: runtimeColumns, width } = action;
9
- const isFit = config.columnLayout === "fit";
10
- return {
11
- ...config,
12
- columnLayout: isFit ? "manual" : config.columnLayout,
13
- columns: config.columns.map((col) => {
14
- if (isFit) {
15
- return col.name === action.column.name ? { ...col, width } : col.width ? col : { ...col, width: vuuUtils.getRuntimeColumnWidth(col, runtimeColumns) };
16
- } else {
17
- return col.name === action.column.name ? { ...col, width: action.width } : col;
18
- }
19
- })
20
- };
21
- }
22
- case "column-prop":
23
- return {
24
- ...config,
25
- columns: config.columns.map(
26
- (col) => col.name === action.column.name ? { ...col, [action.property]: action.value } : col
27
- )
28
- };
29
- default:
30
- return config;
31
- }
32
- };
33
-
34
- exports.updateTableConfig = updateTableConfig;
35
- //# sourceMappingURL=table-config.js.map