@vuu-ui/vuu-table 0.13.9 → 0.13.11

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 (269) hide show
  1. package/cjs/CellFocusState.js +45 -0
  2. package/cjs/CellFocusState.js.map +1 -0
  3. package/cjs/Row.css.js +6 -0
  4. package/cjs/Row.css.js.map +1 -0
  5. package/cjs/Row.js +151 -0
  6. package/cjs/Row.js.map +1 -0
  7. package/cjs/Table.css.js +6 -0
  8. package/cjs/Table.css.js.map +1 -0
  9. package/cjs/Table.js +433 -0
  10. package/cjs/Table.js.map +1 -0
  11. package/cjs/VirtualColSpan.js +19 -0
  12. package/cjs/VirtualColSpan.js.map +1 -0
  13. package/cjs/bulk-edit/BulkEditDialog.js +57 -0
  14. package/cjs/bulk-edit/BulkEditDialog.js.map +1 -0
  15. package/cjs/bulk-edit/BulkEditPanel.css.js +6 -0
  16. package/cjs/bulk-edit/BulkEditPanel.css.js.map +1 -0
  17. package/cjs/bulk-edit/BulkEditPanel.js +72 -0
  18. package/cjs/bulk-edit/BulkEditPanel.js.map +1 -0
  19. package/cjs/bulk-edit/BulkEditRow.css.js +6 -0
  20. package/cjs/bulk-edit/BulkEditRow.css.js.map +1 -0
  21. package/cjs/bulk-edit/BulkEditRow.js +81 -0
  22. package/cjs/bulk-edit/BulkEditRow.js.map +1 -0
  23. package/cjs/bulk-edit/useBulkEditPanel.js +101 -0
  24. package/cjs/bulk-edit/useBulkEditPanel.js.map +1 -0
  25. package/cjs/bulk-edit/useBulkEditRow.js +144 -0
  26. package/cjs/bulk-edit/useBulkEditRow.js.map +1 -0
  27. package/cjs/cell-block/CellBlock.css.js +6 -0
  28. package/cjs/cell-block/CellBlock.css.js.map +1 -0
  29. package/cjs/cell-block/CellBlock.js +45 -0
  30. package/cjs/cell-block/CellBlock.js.map +1 -0
  31. package/cjs/cell-block/cellblock-utils.js +125 -0
  32. package/cjs/cell-block/cellblock-utils.js.map +1 -0
  33. package/cjs/cell-block/useCellBlockSelection.js +254 -0
  34. package/cjs/cell-block/useCellBlockSelection.js.map +1 -0
  35. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.css.js +6 -0
  36. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.css.js.map +1 -0
  37. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.js +68 -0
  38. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.js.map +1 -0
  39. package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js +6 -0
  40. package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js.map +1 -0
  41. package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js +33 -0
  42. package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js.map +1 -0
  43. package/cjs/cell-renderers/input-cell/InputCell.css.js +6 -0
  44. package/cjs/cell-renderers/input-cell/InputCell.css.js.map +1 -0
  45. package/cjs/cell-renderers/input-cell/InputCell.js +52 -0
  46. package/cjs/cell-renderers/input-cell/InputCell.js.map +1 -0
  47. package/cjs/cell-renderers/toggle-cell/ToggleCell.css.js +6 -0
  48. package/cjs/cell-renderers/toggle-cell/ToggleCell.css.js.map +1 -0
  49. package/cjs/cell-renderers/toggle-cell/ToggleCell.js +67 -0
  50. package/cjs/cell-renderers/toggle-cell/ToggleCell.js.map +1 -0
  51. package/cjs/column-header-pill/ColumnHeaderPill.css.js +6 -0
  52. package/cjs/column-header-pill/ColumnHeaderPill.css.js.map +1 -0
  53. package/cjs/column-header-pill/ColumnHeaderPill.js +53 -0
  54. package/cjs/column-header-pill/ColumnHeaderPill.js.map +1 -0
  55. package/cjs/column-header-pill/GroupColumnPill.css.js +6 -0
  56. package/cjs/column-header-pill/GroupColumnPill.css.js.map +1 -0
  57. package/cjs/column-header-pill/GroupColumnPill.js +29 -0
  58. package/cjs/column-header-pill/GroupColumnPill.js.map +1 -0
  59. package/cjs/column-header-pill/SortIndicator.css.js +6 -0
  60. package/cjs/column-header-pill/SortIndicator.css.js.map +1 -0
  61. package/cjs/column-header-pill/SortIndicator.js +27 -0
  62. package/cjs/column-header-pill/SortIndicator.js.map +1 -0
  63. package/cjs/column-resizing/ColumnResizer.css.js +6 -0
  64. package/cjs/column-resizing/ColumnResizer.css.js.map +1 -0
  65. package/cjs/column-resizing/ColumnResizer.js +82 -0
  66. package/cjs/column-resizing/ColumnResizer.js.map +1 -0
  67. package/cjs/column-resizing/useTableColumnResize.js +55 -0
  68. package/cjs/column-resizing/useTableColumnResize.js.map +1 -0
  69. package/cjs/header-cell/GroupHeaderCell.css.js +6 -0
  70. package/cjs/header-cell/GroupHeaderCell.css.js.map +1 -0
  71. package/cjs/header-cell/GroupHeaderCell.js +127 -0
  72. package/cjs/header-cell/GroupHeaderCell.js.map +1 -0
  73. package/cjs/header-cell/HeaderCell.css.js +6 -0
  74. package/cjs/header-cell/HeaderCell.css.js.map +1 -0
  75. package/cjs/header-cell/HeaderCell.js +120 -0
  76. package/cjs/header-cell/HeaderCell.js.map +1 -0
  77. package/cjs/index.js +61 -5236
  78. package/cjs/index.js.map +1 -1
  79. package/cjs/pagination/PaginationControl.css.js +6 -0
  80. package/cjs/pagination/PaginationControl.css.js.map +1 -0
  81. package/cjs/pagination/PaginationControl.js +38 -0
  82. package/cjs/pagination/PaginationControl.js.map +1 -0
  83. package/cjs/pagination/usePagination.js +36 -0
  84. package/cjs/pagination/usePagination.js.map +1 -0
  85. package/cjs/table-cell/TableCell.css.js +6 -0
  86. package/cjs/table-cell/TableCell.css.js.map +1 -0
  87. package/cjs/table-cell/TableCell.js +95 -0
  88. package/cjs/table-cell/TableCell.js.map +1 -0
  89. package/cjs/table-cell/TableGroupCell.css.js +6 -0
  90. package/cjs/table-cell/TableGroupCell.css.js.map +1 -0
  91. package/cjs/table-cell/TableGroupCell.js +66 -0
  92. package/cjs/table-cell/TableGroupCell.js.map +1 -0
  93. package/cjs/table-config.js +35 -0
  94. package/cjs/table-config.js.map +1 -0
  95. package/cjs/table-dom-utils.js +202 -0
  96. package/cjs/table-dom-utils.js.map +1 -0
  97. package/cjs/table-header/HeaderProvider.js +18 -0
  98. package/cjs/table-header/HeaderProvider.js.map +1 -0
  99. package/cjs/table-header/TableHeader.js +166 -0
  100. package/cjs/table-header/TableHeader.js.map +1 -0
  101. package/cjs/table-header/useTableHeader.js +85 -0
  102. package/cjs/table-header/useTableHeader.js.map +1 -0
  103. package/cjs/useCell.js +28 -0
  104. package/cjs/useCell.js.map +1 -0
  105. package/cjs/useCellEditing.js +79 -0
  106. package/cjs/useCellEditing.js.map +1 -0
  107. package/cjs/useCellFocus.js +115 -0
  108. package/cjs/useCellFocus.js.map +1 -0
  109. package/cjs/useControlledTableNavigation.js +46 -0
  110. package/cjs/useControlledTableNavigation.js.map +1 -0
  111. package/cjs/useDataSource.js +146 -0
  112. package/cjs/useDataSource.js.map +1 -0
  113. package/cjs/useEditableCell.js +32 -0
  114. package/cjs/useEditableCell.js.map +1 -0
  115. package/cjs/useHighlighting.js +33 -0
  116. package/cjs/useHighlighting.js.map +1 -0
  117. package/cjs/useKeyboardNavigation.js +318 -0
  118. package/cjs/useKeyboardNavigation.js.map +1 -0
  119. package/cjs/useMeasuredHeight.js +41 -0
  120. package/cjs/useMeasuredHeight.js.map +1 -0
  121. package/cjs/useRowClassNameGenerators.js +34 -0
  122. package/cjs/useRowClassNameGenerators.js.map +1 -0
  123. package/cjs/useSelection.js +74 -0
  124. package/cjs/useSelection.js.map +1 -0
  125. package/cjs/useTable.js +727 -0
  126. package/cjs/useTable.js.map +1 -0
  127. package/cjs/useTableContextMenu.js +59 -0
  128. package/cjs/useTableContextMenu.js.map +1 -0
  129. package/cjs/useTableModel.js +383 -0
  130. package/cjs/useTableModel.js.map +1 -0
  131. package/cjs/useTableScroll.js +446 -0
  132. package/cjs/useTableScroll.js.map +1 -0
  133. package/cjs/useTableViewport.js +137 -0
  134. package/cjs/useTableViewport.js.map +1 -0
  135. package/esm/CellFocusState.js +43 -0
  136. package/esm/CellFocusState.js.map +1 -0
  137. package/esm/Row.css.js +4 -0
  138. package/esm/Row.css.js.map +1 -0
  139. package/esm/Row.js +148 -0
  140. package/esm/Row.js.map +1 -0
  141. package/esm/Table.css.js +4 -0
  142. package/esm/Table.css.js.map +1 -0
  143. package/esm/Table.js +431 -0
  144. package/esm/Table.js.map +1 -0
  145. package/esm/VirtualColSpan.js +17 -0
  146. package/esm/VirtualColSpan.js.map +1 -0
  147. package/esm/bulk-edit/BulkEditDialog.js +55 -0
  148. package/esm/bulk-edit/BulkEditDialog.js.map +1 -0
  149. package/esm/bulk-edit/BulkEditPanel.css.js +4 -0
  150. package/esm/bulk-edit/BulkEditPanel.css.js.map +1 -0
  151. package/esm/bulk-edit/BulkEditPanel.js +70 -0
  152. package/esm/bulk-edit/BulkEditPanel.js.map +1 -0
  153. package/esm/bulk-edit/BulkEditRow.css.js +4 -0
  154. package/esm/bulk-edit/BulkEditRow.css.js.map +1 -0
  155. package/esm/bulk-edit/BulkEditRow.js +79 -0
  156. package/esm/bulk-edit/BulkEditRow.js.map +1 -0
  157. package/esm/bulk-edit/useBulkEditPanel.js +99 -0
  158. package/esm/bulk-edit/useBulkEditPanel.js.map +1 -0
  159. package/esm/bulk-edit/useBulkEditRow.js +142 -0
  160. package/esm/bulk-edit/useBulkEditRow.js.map +1 -0
  161. package/esm/cell-block/CellBlock.css.js +4 -0
  162. package/esm/cell-block/CellBlock.css.js.map +1 -0
  163. package/esm/cell-block/CellBlock.js +43 -0
  164. package/esm/cell-block/CellBlock.js.map +1 -0
  165. package/esm/cell-block/cellblock-utils.js +116 -0
  166. package/esm/cell-block/cellblock-utils.js.map +1 -0
  167. package/esm/cell-block/useCellBlockSelection.js +252 -0
  168. package/esm/cell-block/useCellBlockSelection.js.map +1 -0
  169. package/esm/cell-renderers/checkbox-cell/CheckboxCell.css.js +4 -0
  170. package/esm/cell-renderers/checkbox-cell/CheckboxCell.css.js.map +1 -0
  171. package/esm/cell-renderers/checkbox-cell/CheckboxCell.js +66 -0
  172. package/esm/cell-renderers/checkbox-cell/CheckboxCell.js.map +1 -0
  173. package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js +4 -0
  174. package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js.map +1 -0
  175. package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js +31 -0
  176. package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js.map +1 -0
  177. package/esm/cell-renderers/input-cell/InputCell.css.js +4 -0
  178. package/esm/cell-renderers/input-cell/InputCell.css.js.map +1 -0
  179. package/esm/cell-renderers/input-cell/InputCell.js +50 -0
  180. package/esm/cell-renderers/input-cell/InputCell.js.map +1 -0
  181. package/esm/cell-renderers/toggle-cell/ToggleCell.css.js +4 -0
  182. package/esm/cell-renderers/toggle-cell/ToggleCell.css.js.map +1 -0
  183. package/esm/cell-renderers/toggle-cell/ToggleCell.js +65 -0
  184. package/esm/cell-renderers/toggle-cell/ToggleCell.js.map +1 -0
  185. package/esm/column-header-pill/ColumnHeaderPill.css.js +4 -0
  186. package/esm/column-header-pill/ColumnHeaderPill.css.js.map +1 -0
  187. package/esm/column-header-pill/ColumnHeaderPill.js +51 -0
  188. package/esm/column-header-pill/ColumnHeaderPill.js.map +1 -0
  189. package/esm/column-header-pill/GroupColumnPill.css.js +4 -0
  190. package/esm/column-header-pill/GroupColumnPill.css.js.map +1 -0
  191. package/esm/column-header-pill/GroupColumnPill.js +27 -0
  192. package/esm/column-header-pill/GroupColumnPill.js.map +1 -0
  193. package/esm/column-header-pill/SortIndicator.css.js +4 -0
  194. package/esm/column-header-pill/SortIndicator.css.js.map +1 -0
  195. package/esm/column-header-pill/SortIndicator.js +25 -0
  196. package/esm/column-header-pill/SortIndicator.js.map +1 -0
  197. package/esm/column-resizing/ColumnResizer.css.js +4 -0
  198. package/esm/column-resizing/ColumnResizer.css.js.map +1 -0
  199. package/esm/column-resizing/ColumnResizer.js +80 -0
  200. package/esm/column-resizing/ColumnResizer.js.map +1 -0
  201. package/esm/column-resizing/useTableColumnResize.js +53 -0
  202. package/esm/column-resizing/useTableColumnResize.js.map +1 -0
  203. package/esm/header-cell/GroupHeaderCell.css.js +4 -0
  204. package/esm/header-cell/GroupHeaderCell.css.js.map +1 -0
  205. package/esm/header-cell/GroupHeaderCell.js +125 -0
  206. package/esm/header-cell/GroupHeaderCell.js.map +1 -0
  207. package/esm/header-cell/HeaderCell.css.js +4 -0
  208. package/esm/header-cell/HeaderCell.css.js.map +1 -0
  209. package/esm/header-cell/HeaderCell.js +118 -0
  210. package/esm/header-cell/HeaderCell.js.map +1 -0
  211. package/esm/index.js +26 -5205
  212. package/esm/index.js.map +1 -1
  213. package/esm/pagination/PaginationControl.css.js +4 -0
  214. package/esm/pagination/PaginationControl.css.js.map +1 -0
  215. package/esm/pagination/PaginationControl.js +36 -0
  216. package/esm/pagination/PaginationControl.js.map +1 -0
  217. package/esm/pagination/usePagination.js +34 -0
  218. package/esm/pagination/usePagination.js.map +1 -0
  219. package/esm/table-cell/TableCell.css.js +4 -0
  220. package/esm/table-cell/TableCell.css.js.map +1 -0
  221. package/esm/table-cell/TableCell.js +93 -0
  222. package/esm/table-cell/TableCell.js.map +1 -0
  223. package/esm/table-cell/TableGroupCell.css.js +4 -0
  224. package/esm/table-cell/TableGroupCell.css.js.map +1 -0
  225. package/esm/table-cell/TableGroupCell.js +64 -0
  226. package/esm/table-cell/TableGroupCell.js.map +1 -0
  227. package/esm/table-config.js +33 -0
  228. package/esm/table-config.js.map +1 -0
  229. package/esm/table-dom-utils.js +184 -0
  230. package/esm/table-dom-utils.js.map +1 -0
  231. package/esm/table-header/HeaderProvider.js +15 -0
  232. package/esm/table-header/HeaderProvider.js.map +1 -0
  233. package/esm/table-header/TableHeader.js +164 -0
  234. package/esm/table-header/TableHeader.js.map +1 -0
  235. package/esm/table-header/useTableHeader.js +83 -0
  236. package/esm/table-header/useTableHeader.js.map +1 -0
  237. package/esm/useCell.js +26 -0
  238. package/esm/useCell.js.map +1 -0
  239. package/esm/useCellEditing.js +77 -0
  240. package/esm/useCellEditing.js.map +1 -0
  241. package/esm/useCellFocus.js +113 -0
  242. package/esm/useCellFocus.js.map +1 -0
  243. package/esm/useControlledTableNavigation.js +43 -0
  244. package/esm/useControlledTableNavigation.js.map +1 -0
  245. package/esm/useDataSource.js +144 -0
  246. package/esm/useDataSource.js.map +1 -0
  247. package/esm/useEditableCell.js +30 -0
  248. package/esm/useEditableCell.js.map +1 -0
  249. package/esm/useHighlighting.js +31 -0
  250. package/esm/useHighlighting.js.map +1 -0
  251. package/esm/useKeyboardNavigation.js +314 -0
  252. package/esm/useKeyboardNavigation.js.map +1 -0
  253. package/esm/useMeasuredHeight.js +39 -0
  254. package/esm/useMeasuredHeight.js.map +1 -0
  255. package/esm/useRowClassNameGenerators.js +32 -0
  256. package/esm/useRowClassNameGenerators.js.map +1 -0
  257. package/esm/useSelection.js +72 -0
  258. package/esm/useSelection.js.map +1 -0
  259. package/esm/useTable.js +725 -0
  260. package/esm/useTable.js.map +1 -0
  261. package/esm/useTableContextMenu.js +56 -0
  262. package/esm/useTableContextMenu.js.map +1 -0
  263. package/esm/useTableModel.js +381 -0
  264. package/esm/useTableModel.js.map +1 -0
  265. package/esm/useTableScroll.js +443 -0
  266. package/esm/useTableScroll.js.map +1 -0
  267. package/esm/useTableViewport.js +135 -0
  268. package/esm/useTableViewport.js.map +1 -0
  269. package/package.json +10 -10
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ var tableDomUtils = require('./table-dom-utils.js');
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __typeError = (msg) => {
7
+ throw TypeError(msg);
8
+ };
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
12
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
13
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
14
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
15
+ var _cellPos, _el;
16
+ class CellFocusState {
17
+ constructor() {
18
+ __privateAdd(this, _cellPos);
19
+ __privateAdd(this, _el, null);
20
+ __publicField(this, "outsideViewport", false);
21
+ __publicField(this, "placeholderEl", null);
22
+ __publicField(this, "pos");
23
+ }
24
+ set cell(cell) {
25
+ __privateSet(this, _el, cell);
26
+ __privateSet(this, _cellPos, tableDomUtils.getAriaCellPos(cell));
27
+ }
28
+ get cellPos() {
29
+ return __privateGet(this, _cellPos);
30
+ }
31
+ set cellPos(cellPos) {
32
+ __privateSet(this, _cellPos, cellPos);
33
+ }
34
+ get el() {
35
+ return __privateGet(this, _el);
36
+ }
37
+ set el(el) {
38
+ __privateSet(this, _el, el);
39
+ }
40
+ }
41
+ _cellPos = new WeakMap();
42
+ _el = new WeakMap();
43
+
44
+ exports.CellFocusState = CellFocusState;
45
+ //# sourceMappingURL=CellFocusState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellFocusState.js","sources":["../src/CellFocusState.ts"],"sourcesContent":["import { CellPos } from \"@vuu-ui/vuu-table-types\";\nimport { getAriaCellPos } from \"./table-dom-utils\";\n\n/**\n * Used to track the Table cell (if any) with focus.\n */\nexport interface ICellFocusState {\n el: HTMLElement | null;\n outsideViewport: \"above\" | \"below\" | false;\n placeholderEl: HTMLDivElement | null;\n pos: { top: number } | undefined;\n cellPos: CellPos | undefined;\n}\n\nexport class CellFocusState implements ICellFocusState {\n #cellPos: CellPos | undefined = undefined;\n #el: HTMLElement | null = null;\n outsideViewport: \"above\" | \"below\" | false = false;\n placeholderEl: HTMLDivElement | null = null;\n pos: { top: number } | undefined = undefined;\n\n set cell(cell: HTMLDivElement) {\n this.#el = cell;\n this.#cellPos = getAriaCellPos(cell);\n }\n\n get cellPos() {\n return this.#cellPos;\n }\n set cellPos(cellPos) {\n this.#cellPos = cellPos;\n }\n\n get el() {\n return this.#el;\n }\n set el(el) {\n this.#el = el;\n }\n}\n"],"names":["getAriaCellPos"],"mappings":";;;;;;;;;;;;;;AAAA,IAAA,QAAA,EAAA,GAAA;AAcO,MAAM,cAA0C,CAAA;AAAA,EAAhD,WAAA,GAAA;AACL,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AACA,IAA0B,YAAA,CAAA,IAAA,EAAA,GAAA,EAAA,IAAA,CAAA;AAC1B,IAA6C,aAAA,CAAA,IAAA,EAAA,iBAAA,EAAA,KAAA,CAAA;AAC7C,IAAuC,aAAA,CAAA,IAAA,EAAA,eAAA,EAAA,IAAA,CAAA;AACvC,IAAA,aAAA,CAAA,IAAA,EAAA,KAAA,CAAA;AAAA;AAAA,EAEA,IAAI,KAAK,IAAsB,EAAA;AAC7B,IAAA,YAAA,CAAA,IAAA,EAAK,GAAM,EAAA,IAAA,CAAA;AACX,IAAK,YAAA,CAAA,IAAA,EAAA,QAAA,EAAWA,6BAAe,IAAI,CAAA,CAAA;AAAA;AACrC,EAEA,IAAI,OAAU,GAAA;AACZ,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA;AACd,EACA,IAAI,QAAQ,OAAS,EAAA;AACnB,IAAA,YAAA,CAAA,IAAA,EAAK,QAAW,EAAA,OAAA,CAAA;AAAA;AAClB,EAEA,IAAI,EAAK,GAAA;AACP,IAAA,OAAO,YAAK,CAAA,IAAA,EAAA,GAAA,CAAA;AAAA;AACd,EACA,IAAI,GAAG,EAAI,EAAA;AACT,IAAA,YAAA,CAAA,IAAA,EAAK,GAAM,EAAA,EAAA,CAAA;AAAA;AAEf;AAxBE,QAAA,GAAA,IAAA,OAAA,EAAA;AACA,GAAA,GAAA,IAAA,OAAA,EAAA;;;;"}
package/cjs/Row.css.js ADDED
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var rowCss = ".vuuTableRow {\n background: var(--row-background, var(--table-background));\n border-bottom: 1px solid var(--row-borderColor, var(--table-background));\n box-sizing: border-box;\n color: var(--salt-content-secondary-foreground);\n contain: layout;\n /* contain-intrinsic-height: var(--row-height);\n content-visibility: auto; */\n height: var(--row-height);\n line-height: var(--row-height);\n position: absolute;\n top: 0;\n white-space: nowrap;\n width: 100%;\n}\n\n.vuuTableRow-proxy {\n position: absolute !important;\n visibility: hidden;\n}\n\n.vuuTableRow-even {\n --row-background: var(--row-background-even);\n}\n\n.vuuTableRow-highlighted {\n background: var(--salt-selectable-background-hover);\n}\n\n.vuuTableRow-selected,\n.vuuTableRow-selectedEnd {\n /* --row-borderColor: var(--salt-separable-secondary-borderColor); */\n background-color: var(--salt-selectable-background-selected);\n}\n\n.vuuTableRow-selectedEnd {\n z-index: 1;\n}\n\n.vuuTableRow-selectedStart {\n --selection-decorator-marginTop: 1px;\n --vuu-selection-decorator-left-radius: 5px 0 0 0;\n --vuu-selection-decorator-right-radius: 0 5px 0 0;\n\n border-radius: 5px 5px 0 0;\n}\n\n.vuuTableRow-selectedEnd {\n --vuu-selection-decorator-left-radius: 0 0 0 5px;\n --vuu-selection-decorator-right-radius: 0 0 5px 0;\n border-radius: 0 0 5px 5px;\n}\n\n.vuuTableRow-selectedStart.vuuTableRow-selectedEnd {\n --vuu-selection-decorator-left-radius: 5px 0 0 5px;\n --vuu-selection-decorator-right-radius: 0 5px 5px 0;\n border-radius: 5px 5px 5px 5px;\n}\n\n.vuuTableRow-selectedStart:after {\n content: \"\";\n position: absolute;\n top: 0px;\n left: 4px;\n height: 1px;\n background: var(--vuuTableRow-selectionBlock-borderColor);\n width: calc(var(--content-width) - 8px);\n z-index: 1;\n}\n\n.vuuTableRow-selectedEnd {\n border-bottom-color: var(\n --vuuTableRow-selectionBlock-borderColor,\n var(--row-borderColor)\n );\n}\n\n.vuuTableRow-selectedStart.vuuTableRow-selectedEnd {\n .vuuTableRow-selectionDecorator {\n height: calc(var(--row-height) - 1px);\n }\n}\n\n.vuuTableRow-selectionDecorator {\n background: var(--table-background);\n display: inline-block;\n position: relative;\n height: var(--row-height);\n margin-top: var(--selection-decorator-marginTop, 0px);\n width: 4px;\n z-index: 2;\n}\n\n.vuuTableRow-selectionDecorator.vuuStickyLeft {\n left: 0;\n position: sticky;\n}\n\n.vuuTableRow-selectionDecorator.vuuStickyRight {\n right: 0;\n position: sticky;\n}\n\n.vuuTableRow-selectedStart .vuuTableRow-selectionDecorator:before,\n.vuuTableRow-selectedEnd .vuuTableRow-selectionDecorator:before {\n content: \"\";\n inset: -1px 0 0 0;\n position: absolute;\n background: var(--table-background);\n}\n\n.vuuTableRow-selectionDecorator.vuuStickyLeft:before {\n border-radius: var(--vuu-selection-decorator-left-radius, 0);\n}\n\n.vuuTableRow-selectionDecorator.vuuStickyRight:before {\n border-radius: var(--vuu-selection-decorator-right-radius, 0);\n}\n\n.vuuTableRow[aria-expanded=\"true\"] {\n --toggle-icon-transform: rotate(90deg);\n}\n\n.vuuDraggable .vuuTableRow {\n --cell-borderColor: transparent;\n --vuu-selection-decorator-bg: transparent;\n transform: none !important;\n z-index: 1;\n}\n";
4
+
5
+ module.exports = rowCss;
6
+ //# sourceMappingURL=Row.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Row.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
package/cjs/Row.js ADDED
@@ -0,0 +1,151 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var vuuUtils = require('@vuu-ui/vuu-utils');
5
+ var styles = require('@salt-ds/styles');
6
+ var window = require('@salt-ds/window');
7
+ var cx = require('clsx');
8
+ var react = require('react');
9
+ var TableCell = require('./table-cell/TableCell.js');
10
+ var TableGroupCell = require('./table-cell/TableGroupCell.js');
11
+ var Row$1 = require('./Row.css.js');
12
+ var VirtualColSpan = require('./VirtualColSpan.js');
13
+
14
+ const { COUNT, DEPTH, IDX, IS_EXPANDED, IS_LEAF, SELECTED } = vuuUtils.metadataKeys;
15
+ const classBase = "vuuTableRow";
16
+ const RowProxy = react.forwardRef(
17
+ function RowProxy2({ height }, forwardedRef) {
18
+ const targetWindow = window.useWindow();
19
+ styles.useComponentCssInjection({
20
+ testId: "vuu-table-row",
21
+ css: Row$1,
22
+ window: targetWindow
23
+ });
24
+ return /* @__PURE__ */ jsxRuntime.jsx(
25
+ "div",
26
+ {
27
+ "aria-hidden": true,
28
+ className: cx(classBase, `${classBase}-proxy`),
29
+ ref: forwardedRef,
30
+ style: { height }
31
+ }
32
+ );
33
+ }
34
+ );
35
+ const Row = react.memo(
36
+ ({
37
+ className: classNameProp,
38
+ classNameGenerator,
39
+ columnMap,
40
+ columns,
41
+ groupToggleTarget = "group-column",
42
+ highlighted,
43
+ row,
44
+ offset,
45
+ onCellEdit,
46
+ onClick,
47
+ onDataEdited,
48
+ onToggleGroup,
49
+ searchPattern,
50
+ showBookends = true,
51
+ virtualColSpan = 0,
52
+ zebraStripes = false,
53
+ ...htmlAttributes
54
+ }) => {
55
+ const targetWindow = window.useWindow();
56
+ styles.useComponentCssInjection({
57
+ testId: "vuu-table-row",
58
+ css: Row$1,
59
+ window: targetWindow
60
+ });
61
+ const {
62
+ [COUNT]: childRowCount,
63
+ [DEPTH]: depth,
64
+ [IDX]: rowIndex,
65
+ [IS_EXPANDED]: isExpanded,
66
+ [IS_LEAF]: isLeaf,
67
+ [SELECTED]: selectionStatus
68
+ } = row;
69
+ const handleRowClick = react.useCallback(
70
+ (evt) => {
71
+ const rangeSelect = evt.shiftKey;
72
+ const keepExistingSelection = evt.ctrlKey || evt.metaKey;
73
+ onClick?.(evt, row, rangeSelect, keepExistingSelection);
74
+ },
75
+ [onClick, row]
76
+ );
77
+ const { True, First, Last } = vuuUtils.RowSelected;
78
+ const className = cx(
79
+ classBase,
80
+ classNameProp,
81
+ classNameGenerator?.(row, columnMap),
82
+ {
83
+ [`${classBase}-even`]: zebraStripes && rowIndex % 2 === 0,
84
+ [`${classBase}-highlighted`]: highlighted,
85
+ [`${classBase}-selected`]: selectionStatus & True,
86
+ [`${classBase}-selectedStart`]: selectionStatus & First,
87
+ [`${classBase}-selectedEnd`]: selectionStatus & Last
88
+ }
89
+ );
90
+ const canExpand = isLeaf === false && childRowCount > 0;
91
+ const ariaExpanded = isExpanded ? true : canExpand ? false : void 0;
92
+ const ariaLevel = isLeaf && depth === 1 ? void 0 : depth;
93
+ const style = { top: offset };
94
+ const handleGroupCellClick = react.useCallback(
95
+ (evt, column) => {
96
+ if (vuuUtils.isGroupColumn(column) || vuuUtils.isJsonGroup(column, row, columnMap)) {
97
+ const toggleIconClicked = vuuUtils.queryClosest(evt.target, ".vuuToggleIconButton") !== null;
98
+ if (groupToggleTarget === "toggle-icon") {
99
+ if (!toggleIconClicked) {
100
+ return;
101
+ }
102
+ }
103
+ if (toggleIconClicked) {
104
+ evt.stopPropagation();
105
+ }
106
+ onToggleGroup?.(row, column);
107
+ }
108
+ },
109
+ [columnMap, groupToggleTarget, onToggleGroup, row]
110
+ );
111
+ return /* @__PURE__ */ jsxRuntime.jsxs(
112
+ "div",
113
+ {
114
+ ...htmlAttributes,
115
+ "aria-expanded": ariaExpanded,
116
+ "aria-level": ariaLevel,
117
+ role: "row",
118
+ className,
119
+ onClick: handleRowClick,
120
+ style,
121
+ children: [
122
+ showBookends ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${classBase}-selectionDecorator vuuStickyLeft` }) : null,
123
+ /* @__PURE__ */ jsxRuntime.jsx(VirtualColSpan.VirtualColSpan, { width: virtualColSpan }),
124
+ columns.filter(vuuUtils.isNotHidden).map((column) => {
125
+ const isGroup = vuuUtils.isGroupColumn(column);
126
+ const isJsonCell = vuuUtils.isJsonColumn(column);
127
+ const Cell = isGroup && !isJsonCell ? TableGroupCell.TableGroupCell : TableCell.TableCell;
128
+ return /* @__PURE__ */ jsxRuntime.jsx(
129
+ Cell,
130
+ {
131
+ column,
132
+ columnMap,
133
+ onClick: isGroup || isJsonCell ? handleGroupCellClick : void 0,
134
+ onDataEdited,
135
+ row,
136
+ searchPattern
137
+ },
138
+ column.name
139
+ );
140
+ }),
141
+ showBookends ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${classBase}-selectionDecorator vuuStickyRight` }) : null
142
+ ]
143
+ }
144
+ );
145
+ }
146
+ );
147
+ Row.displayName = "Row";
148
+
149
+ exports.Row = Row;
150
+ exports.RowProxy = RowProxy;
151
+ //# sourceMappingURL=Row.js.map
package/cjs/Row.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Row.js","sources":["../src/Row.tsx"],"sourcesContent":["import { RowProps, RuntimeColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport {\n RowSelected,\n isGroupColumn,\n isJsonColumn,\n isJsonGroup,\n isNotHidden,\n metadataKeys,\n queryClosest,\n} from \"@vuu-ui/vuu-utils\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport cx from \"clsx\";\nimport { MouseEvent, forwardRef, memo, useCallback } from \"react\";\nimport { TableCell, TableGroupCell } from \"./table-cell\";\n\nimport rowCss from \"./Row.css\";\nimport { VirtualColSpan } from \"./VirtualColSpan\";\n\nconst { COUNT, DEPTH, IDX, IS_EXPANDED, IS_LEAF, SELECTED } = metadataKeys;\nconst classBase = \"vuuTableRow\";\n\n// A dummy Table Row rendered once and not visible. We measure this to\n// determine height of Row(s) and monitor it for size changes (in\n// case of runtime density switch). This allows ListItem height to\n// be controlled purely through CSS.\nexport const RowProxy = forwardRef<HTMLDivElement, { height?: number }>(\n function RowProxy({ height }, forwardedRef) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-table-row\",\n css: rowCss,\n window: targetWindow,\n });\n\n return (\n <div\n aria-hidden\n className={cx(classBase, `${classBase}-proxy`)}\n ref={forwardedRef}\n style={{ height }}\n />\n );\n },\n);\n\n// export const Row = memo(\nexport const Row = memo(\n ({\n className: classNameProp,\n classNameGenerator,\n columnMap,\n columns,\n groupToggleTarget = \"group-column\",\n highlighted,\n row,\n offset,\n onCellEdit,\n onClick,\n onDataEdited,\n onToggleGroup,\n searchPattern,\n showBookends = true,\n virtualColSpan = 0,\n zebraStripes = false,\n ...htmlAttributes\n }: RowProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-table-row\",\n css: rowCss,\n window: targetWindow,\n });\n\n const {\n [COUNT]: childRowCount,\n [DEPTH]: depth,\n [IDX]: rowIndex,\n [IS_EXPANDED]: isExpanded,\n [IS_LEAF]: isLeaf,\n [SELECTED]: selectionStatus,\n } = row;\n\n const handleRowClick = useCallback(\n (evt: MouseEvent<HTMLDivElement>) => {\n const rangeSelect = evt.shiftKey;\n const keepExistingSelection = evt.ctrlKey || evt.metaKey; /* mac only */\n onClick?.(evt, row, rangeSelect, keepExistingSelection);\n },\n [onClick, row],\n );\n\n const { True, First, Last } = RowSelected;\n\n const className = cx(\n classBase,\n classNameProp,\n classNameGenerator?.(row, columnMap),\n {\n [`${classBase}-even`]: zebraStripes && rowIndex % 2 === 0,\n [`${classBase}-highlighted`]: highlighted,\n [`${classBase}-selected`]: selectionStatus & True,\n [`${classBase}-selectedStart`]: selectionStatus & First,\n [`${classBase}-selectedEnd`]: selectionStatus & Last,\n },\n );\n\n const canExpand = isLeaf === false && childRowCount > 0;\n const ariaExpanded = isExpanded ? true : canExpand ? false : undefined;\n const ariaLevel = isLeaf && depth === 1 ? undefined : depth;\n\n // const style = { transform: `translate3d(0px, ${offset}px, 0px)` };\n const style = { top: offset };\n\n const handleGroupCellClick = useCallback(\n (evt: MouseEvent, column: RuntimeColumnDescriptor) => {\n if (isGroupColumn(column) || isJsonGroup(column, row, columnMap)) {\n const toggleIconClicked =\n queryClosest(evt.target, \".vuuToggleIconButton\") !== null;\n if (groupToggleTarget === \"toggle-icon\") {\n if (!toggleIconClicked) {\n return;\n }\n }\n if (toggleIconClicked) {\n // prevent evt bubbling, will suppress selection hook.\n // Clicking the toggle icon directly never triggers row selection\n evt.stopPropagation();\n }\n onToggleGroup?.(row, column);\n }\n },\n [columnMap, groupToggleTarget, onToggleGroup, row],\n );\n\n return (\n <div\n {...htmlAttributes}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n role=\"row\"\n className={className}\n onClick={handleRowClick}\n style={style}\n >\n {showBookends ? (\n <span className={`${classBase}-selectionDecorator vuuStickyLeft`} />\n ) : null}\n <VirtualColSpan width={virtualColSpan} />\n {columns.filter(isNotHidden).map((column) => {\n const isGroup = isGroupColumn(column);\n const isJsonCell = isJsonColumn(column);\n const Cell = isGroup && !isJsonCell ? TableGroupCell : TableCell;\n\n return (\n <Cell\n column={column}\n columnMap={columnMap}\n key={column.name}\n onClick={isGroup || isJsonCell ? handleGroupCellClick : undefined}\n onDataEdited={onDataEdited}\n row={row}\n searchPattern={searchPattern}\n />\n );\n })}\n {showBookends ? (\n <span className={`${classBase}-selectionDecorator vuuStickyRight`} />\n ) : null}\n </div>\n );\n },\n);\nRow.displayName = \"Row\";\n"],"names":["metadataKeys","forwardRef","RowProxy","useWindow","useComponentCssInjection","rowCss","jsx","memo","useCallback","RowSelected","isGroupColumn","isJsonGroup","queryClosest","jsxs","VirtualColSpan","isNotHidden","isJsonColumn","TableGroupCell","TableCell"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var tableCss = ".vuuTable {\n --vuu-table-footer-height: 0px;\n --vuu-table-cell-outlineWidth: 1px;\n --table-height: var(--measured-px-height);\n --table-width: var(--measured-px-width);\n --vuu-table-next-selection-bookend-width: 4px;\n --vuu-table-embedded-control-height: calc(var(--row-height) - 3px);\n --vuu-table-col-header-height: var(--vuuTableHeaderCell-height, 25px);\n --vuu-table-col-heading-height: 25px;\n --columnResizer-color: transparent;\n --row-height: var(\n --row-height-prop,\n var(--vuu-table-row-height, var(--salt-size-base))\n );\n\n --cell-borderColor: transparent;\n --row-borderColor: var(--row-background);\n --table-background: var(--salt-container-primary-background);\n\n background: var(--table-background);\n font-family: var(\n --vuuTable-fontFamily,\n var(--salt-typography-fontFamily, sans-serif)\n );\n font-size: var(--vuuTable-fontSize, var(--salt-text-fontSize, 12px));\n position: relative;\n user-select: none;\n\n &.vuuTable-viewportRowLimit {\n height: fit-content;\n /* With a viewportRowLimit, table is content sized, not container sized. */\n .vuuTable-contentContainer {\n height: calc(var(--measured-px-height) + var(--total-header-height));\n }\n .vuuTable-scrollbarContainer {\n height: calc(\n var(--measured-px-height) + var(--horizontal-scrollbar-height)\n );\n }\n .vuuTable-scrollbarFiller {\n height: var(--horizontal-scrollbar-height);\n }\n }\n\n &.vuuTable-maxViewportRowLimit {\n /* With a maxVviewportRowLimit, table is content sized, not container sized. */\n height: fit-content;\n padding-bottom: var(--horizontal-scrollbar-height);\n\n .vuuTable-contentContainer {\n height: min(\n calc(var(--measured-px-height) + var(--total-header-height)),\n calc(var(--content-height) + var(--total-header-height))\n );\n }\n .vuuTable-scrollbarContainer {\n height: min(\n calc(var(--measured-px-height) + var(--horizontal-scrollbar-height)),\n calc(var(--content-height) + var(--horizontal-scrollbar-height))\n );\n }\n\n .vuuTable-scrollbarFiller {\n height: var(--horizontal-scrollbar-height);\n }\n }\n}\n\n.vuuTable-zebra {\n --row-background-even: var(--salt-palette-neutral-secondary-background);\n}\n\n.vuuTable-colLines {\n --cell-borderColor: var(--salt-separable-tertiary-borderColor);\n}\n\n.vuuTable-rowLines {\n --row-borderColor: var(--salt-separable-tertiary-borderColor);\n}\n\n.vuuTable-scrollbarContainer {\n border-bottom: none !important;\n border-top: none !important;\n height: var(--viewport-body-height);\n left: 0px;\n overflow: auto;\n position: absolute;\n top: var(--total-header-height);\n width: var(--table-width);\n}\n\n.vuuTable-scrollbarContainer::-webkit-scrollbar {\n width: 10px;\n}\n\n.vuuTable-scrollbarContainer::-webkit-scrollbar:horizontal {\n height: 10px;\n}\n\n.vuuTable-scrollbarContainer::-webkit-scrollbar-track {\n background-color: transparent;\n}\n.vuuTable-scrollbarContainer::-webkit-scrollbar-thumb {\n background-clip: padding-box;\n border-radius: 10px;\n border: 2px solid rgba(0, 0, 0, 0);\n background-color: var(--vuu-color-gray-30);\n}\n\n.vuuTable-scrollbarContent {\n height: calc(var(--content-height) + var(--horizontal-scrollbar-height));\n position: absolute;\n width: var(--content-width);\n}\n\n.vuuTable-contentContainer {\n background: var(--table-background);\n height: calc(\n 100% - var(--horizontal-scrollbar-height) - var(--vuu-table-footer-height)\n );\n position: relative;\n overflow: auto;\n overscroll-behavior: none;\n width: calc(var(--table-width) - var(--vertical-scrollbar-width));\n}\n\n.vuuTable-contentContainer::-webkit-scrollbar {\n display: none;\n}\n\n.vuuTable-table {\n border: none;\n border-collapse: separate;\n border-spacing: 0;\n left: 0;\n margin: 0;\n position: absolute;\n top: 0;\n table-layout: fixed;\n width: var(--content-width);\n}\n\n.vuuTable-body {\n height: var(--content-height);\n position: relative;\n}\n\n.vuuTable-focusCellPlaceholder {\n height: var(--row-height);\n position: absolute;\n width: 50px;\n z-index: -1;\n}\n\n.vuuPinLeft,\n.vuuPinRight {\n background-color: inherit;\n position: sticky;\n z-index: 1;\n}\n\n.vuuTable-col-headings {\n background-color: var(\n --vuuTableColHeadings-background,\n var(--table-background)\n );\n padding: 0 var(--vuu-table-next-selection-bookend-width, 0);\n position: sticky;\n top: 0;\n /* ensure header row sits atop everything else when scrolling down */\n z-index: 1;\n}\n\n.vuuTable-col-headings:hover {\n --columnResizer-height: var(--vuu-table-col-header-height);\n --columnResizer-color: var(--salt-separable-tertiary-borderColor);\n}\n\n.vuuTable-heading {\n height: var(--vuu-table-col-heading-height);\n}\n\n.vuuTable-col-headers {\n background-color: var(\n --vuuTableColHeadings-background,\n var(--vuuTableColHeadings-background)\n );\n border-bottom: solid 1px\n var(\n --vuuTableColHeaders-borderColor,\n var(--salt-separable-secondary-borderColor)\n );\n color: var(--salt-content-secondary-foreground);\n height: var(--vuu-table-col-header-height);\n white-space: nowrap;\n\n .vuuDraggable-spacer {\n border-bottom: solid 1px #ccc;\n display: var(--vuuDraggable-display, inline-block);\n height: var(--vuu-table-col-header-height);\n }\n}\n\n.sizer-cell {\n border: none !important;\n height: 0px;\n}\n\n.vuuDraggable-vuuTable {\n --cell-borderColor: transparent;\n --vuu-table-col-header-height: var(--vuuTableHeaderCell-height, 25px);\n --vuuTableHeaderCell-background: var(--salt-container-secondary-background);\n}\n.vuuDraggable-vuuTable {\n --row-height: 25px;\n}\n\n.vuuTable-pagination {\n --vuu-table-footer-height: 32px;\n .vuuTable-col-headings {\n position: relative;\n }\n\n .vuuTable-body {\n height: calc(var(--content-height) - var(--total-header-height));\n position: relative;\n }\n\n .vuuTableRow {\n position: relative;\n top: auto;\n }\n}\n\n.vuuTable-footer {\n align-items: center;\n display: flex;\n height: var(--vuu-table-footer-height);\n justify-content: flex-end;\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.vuuHighlight {\n color: blue;\n}\n\n.DragColumn {\n box-shadow: var(--salt-overlayable-shadow-drag);\n}";
4
+
5
+ module.exports = tableCss;
6
+ //# sourceMappingURL=Table.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}