@vuu-ui/vuu-table 0.8.34 → 0.8.35

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 (180) hide show
  1. package/package.json +8 -10
  2. package/cjs/Row.css +0 -115
  3. package/cjs/Row.js +0 -115
  4. package/cjs/Row.js.map +0 -1
  5. package/cjs/Table.css +0 -151
  6. package/cjs/Table.js +0 -276
  7. package/cjs/Table.js.map +0 -1
  8. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.css +0 -5
  9. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.js +0 -33
  10. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.js.map +0 -1
  11. package/cjs/cell-renderers/input-cell/InputCell.css +0 -31
  12. package/cjs/cell-renderers/input-cell/InputCell.js +0 -49
  13. package/cjs/cell-renderers/input-cell/InputCell.js.map +0 -1
  14. package/cjs/cell-renderers/toggle-cell/ToggleCell.css +0 -32
  15. package/cjs/cell-renderers/toggle-cell/ToggleCell.js +0 -59
  16. package/cjs/cell-renderers/toggle-cell/ToggleCell.js.map +0 -1
  17. package/cjs/column-header-pill/ColumnHeaderPill.css +0 -30
  18. package/cjs/column-header-pill/ColumnHeaderPill.js +0 -44
  19. package/cjs/column-header-pill/ColumnHeaderPill.js.map +0 -1
  20. package/cjs/column-header-pill/GroupColumnPill.css +0 -7
  21. package/cjs/column-header-pill/GroupColumnPill.js +0 -20
  22. package/cjs/column-header-pill/GroupColumnPill.js.map +0 -1
  23. package/cjs/column-header-pill/SortIndicator.css +0 -7
  24. package/cjs/column-header-pill/SortIndicator.js +0 -18
  25. package/cjs/column-header-pill/SortIndicator.js.map +0 -1
  26. package/cjs/column-menu/ColumnMenu.css +0 -21
  27. package/cjs/column-menu/ColumnMenu.js +0 -21
  28. package/cjs/column-menu/ColumnMenu.js.map +0 -1
  29. package/cjs/column-resizing/ColumnResizer.css +0 -28
  30. package/cjs/column-resizing/ColumnResizer.js +0 -63
  31. package/cjs/column-resizing/ColumnResizer.js.map +0 -1
  32. package/cjs/column-resizing/useTableColumnResize.js +0 -55
  33. package/cjs/column-resizing/useTableColumnResize.js.map +0 -1
  34. package/cjs/context-menu/buildContextMenuDescriptors.js +0 -214
  35. package/cjs/context-menu/buildContextMenuDescriptors.js.map +0 -1
  36. package/cjs/context-menu/useHandleTableContextMenu.js +0 -81
  37. package/cjs/context-menu/useHandleTableContextMenu.js.map +0 -1
  38. package/cjs/header-cell/GroupHeaderCell.css +0 -65
  39. package/cjs/header-cell/GroupHeaderCell.js +0 -108
  40. package/cjs/header-cell/GroupHeaderCell.js.map +0 -1
  41. package/cjs/header-cell/HeaderCell.css +0 -146
  42. package/cjs/header-cell/HeaderCell.js +0 -100
  43. package/cjs/header-cell/HeaderCell.js.map +0 -1
  44. package/cjs/index.js.map +0 -1
  45. package/cjs/moving-window.js +0 -61
  46. package/cjs/moving-window.js.map +0 -1
  47. package/cjs/table-cell/TableCell.css +0 -41
  48. package/cjs/table-cell/TableCell.js +0 -63
  49. package/cjs/table-cell/TableCell.js.map +0 -1
  50. package/cjs/table-cell/TableGroupCell.css +0 -26
  51. package/cjs/table-cell/TableGroupCell.js +0 -45
  52. package/cjs/table-cell/TableGroupCell.js.map +0 -1
  53. package/cjs/table-config.js +0 -25
  54. package/cjs/table-config.js.map +0 -1
  55. package/cjs/table-dom-utils.js +0 -60
  56. package/cjs/table-dom-utils.js.map +0 -1
  57. package/cjs/table-header/TableHeader.js +0 -87
  58. package/cjs/table-header/TableHeader.js.map +0 -1
  59. package/cjs/table-header/useTableHeader.js +0 -72
  60. package/cjs/table-header/useTableHeader.js.map +0 -1
  61. package/cjs/useCell.js +0 -28
  62. package/cjs/useCell.js.map +0 -1
  63. package/cjs/useCellEditing.js +0 -79
  64. package/cjs/useCellEditing.js.map +0 -1
  65. package/cjs/useControlledTableNavigation.js +0 -43
  66. package/cjs/useControlledTableNavigation.js.map +0 -1
  67. package/cjs/useDataSource.js +0 -104
  68. package/cjs/useDataSource.js.map +0 -1
  69. package/cjs/useInitialValue.js +0 -11
  70. package/cjs/useInitialValue.js.map +0 -1
  71. package/cjs/useKeyboardNavigation.js +0 -304
  72. package/cjs/useKeyboardNavigation.js.map +0 -1
  73. package/cjs/useRowClassNameGenerators.js +0 -34
  74. package/cjs/useRowClassNameGenerators.js.map +0 -1
  75. package/cjs/useRowHeight.js +0 -43
  76. package/cjs/useRowHeight.js.map +0 -1
  77. package/cjs/useSelection.js +0 -64
  78. package/cjs/useSelection.js.map +0 -1
  79. package/cjs/useTable.js +0 -553
  80. package/cjs/useTable.js.map +0 -1
  81. package/cjs/useTableAndColumnSettings.js +0 -128
  82. package/cjs/useTableAndColumnSettings.js.map +0 -1
  83. package/cjs/useTableContextMenu.js +0 -42
  84. package/cjs/useTableContextMenu.js.map +0 -1
  85. package/cjs/useTableModel.js +0 -297
  86. package/cjs/useTableModel.js.map +0 -1
  87. package/cjs/useTableScroll.js +0 -396
  88. package/cjs/useTableScroll.js.map +0 -1
  89. package/cjs/useTableViewport.js +0 -122
  90. package/cjs/useTableViewport.js.map +0 -1
  91. package/esm/Row.css +0 -115
  92. package/esm/Row.js +0 -112
  93. package/esm/Row.js.map +0 -1
  94. package/esm/Table.css +0 -151
  95. package/esm/Table.js +0 -274
  96. package/esm/Table.js.map +0 -1
  97. package/esm/cell-renderers/checkbox-cell/CheckboxCell.css +0 -5
  98. package/esm/cell-renderers/checkbox-cell/CheckboxCell.js +0 -31
  99. package/esm/cell-renderers/checkbox-cell/CheckboxCell.js.map +0 -1
  100. package/esm/cell-renderers/input-cell/InputCell.css +0 -31
  101. package/esm/cell-renderers/input-cell/InputCell.js +0 -47
  102. package/esm/cell-renderers/input-cell/InputCell.js.map +0 -1
  103. package/esm/cell-renderers/toggle-cell/ToggleCell.css +0 -32
  104. package/esm/cell-renderers/toggle-cell/ToggleCell.js +0 -57
  105. package/esm/cell-renderers/toggle-cell/ToggleCell.js.map +0 -1
  106. package/esm/column-header-pill/ColumnHeaderPill.css +0 -30
  107. package/esm/column-header-pill/ColumnHeaderPill.js +0 -42
  108. package/esm/column-header-pill/ColumnHeaderPill.js.map +0 -1
  109. package/esm/column-header-pill/GroupColumnPill.css +0 -7
  110. package/esm/column-header-pill/GroupColumnPill.js +0 -18
  111. package/esm/column-header-pill/GroupColumnPill.js.map +0 -1
  112. package/esm/column-header-pill/SortIndicator.css +0 -7
  113. package/esm/column-header-pill/SortIndicator.js +0 -16
  114. package/esm/column-header-pill/SortIndicator.js.map +0 -1
  115. package/esm/column-menu/ColumnMenu.css +0 -21
  116. package/esm/column-menu/ColumnMenu.js +0 -19
  117. package/esm/column-menu/ColumnMenu.js.map +0 -1
  118. package/esm/column-resizing/ColumnResizer.css +0 -28
  119. package/esm/column-resizing/ColumnResizer.js +0 -61
  120. package/esm/column-resizing/ColumnResizer.js.map +0 -1
  121. package/esm/column-resizing/useTableColumnResize.js +0 -53
  122. package/esm/column-resizing/useTableColumnResize.js.map +0 -1
  123. package/esm/context-menu/buildContextMenuDescriptors.js +0 -212
  124. package/esm/context-menu/buildContextMenuDescriptors.js.map +0 -1
  125. package/esm/context-menu/useHandleTableContextMenu.js +0 -79
  126. package/esm/context-menu/useHandleTableContextMenu.js.map +0 -1
  127. package/esm/header-cell/GroupHeaderCell.css +0 -65
  128. package/esm/header-cell/GroupHeaderCell.js +0 -106
  129. package/esm/header-cell/GroupHeaderCell.js.map +0 -1
  130. package/esm/header-cell/HeaderCell.css +0 -146
  131. package/esm/header-cell/HeaderCell.js +0 -98
  132. package/esm/header-cell/HeaderCell.js.map +0 -1
  133. package/esm/index.js +0 -14
  134. package/esm/index.js.map +0 -1
  135. package/esm/moving-window.js +0 -59
  136. package/esm/moving-window.js.map +0 -1
  137. package/esm/table-cell/TableCell.css +0 -41
  138. package/esm/table-cell/TableCell.js +0 -61
  139. package/esm/table-cell/TableCell.js.map +0 -1
  140. package/esm/table-cell/TableGroupCell.css +0 -26
  141. package/esm/table-cell/TableGroupCell.js +0 -43
  142. package/esm/table-cell/TableGroupCell.js.map +0 -1
  143. package/esm/table-config.js +0 -23
  144. package/esm/table-config.js.map +0 -1
  145. package/esm/table-dom-utils.js +0 -51
  146. package/esm/table-dom-utils.js.map +0 -1
  147. package/esm/table-header/TableHeader.js +0 -85
  148. package/esm/table-header/TableHeader.js.map +0 -1
  149. package/esm/table-header/useTableHeader.js +0 -70
  150. package/esm/table-header/useTableHeader.js.map +0 -1
  151. package/esm/useCell.js +0 -26
  152. package/esm/useCell.js.map +0 -1
  153. package/esm/useCellEditing.js +0 -77
  154. package/esm/useCellEditing.js.map +0 -1
  155. package/esm/useControlledTableNavigation.js +0 -41
  156. package/esm/useControlledTableNavigation.js.map +0 -1
  157. package/esm/useDataSource.js +0 -101
  158. package/esm/useDataSource.js.map +0 -1
  159. package/esm/useInitialValue.js +0 -9
  160. package/esm/useInitialValue.js.map +0 -1
  161. package/esm/useKeyboardNavigation.js +0 -300
  162. package/esm/useKeyboardNavigation.js.map +0 -1
  163. package/esm/useRowClassNameGenerators.js +0 -32
  164. package/esm/useRowClassNameGenerators.js.map +0 -1
  165. package/esm/useRowHeight.js +0 -41
  166. package/esm/useRowHeight.js.map +0 -1
  167. package/esm/useSelection.js +0 -62
  168. package/esm/useSelection.js.map +0 -1
  169. package/esm/useTable.js +0 -551
  170. package/esm/useTable.js.map +0 -1
  171. package/esm/useTableAndColumnSettings.js +0 -126
  172. package/esm/useTableAndColumnSettings.js.map +0 -1
  173. package/esm/useTableContextMenu.js +0 -40
  174. package/esm/useTableContextMenu.js.map +0 -1
  175. package/esm/useTableModel.js +0 -293
  176. package/esm/useTableModel.js.map +0 -1
  177. package/esm/useTableScroll.js +0 -393
  178. package/esm/useTableScroll.js.map +0 -1
  179. package/esm/useTableViewport.js +0 -120
  180. package/esm/useTableViewport.js.map +0 -1
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
- "version": "0.8.34",
2
+ "version": "0.8.35",
3
3
  "author": "heswell",
4
4
  "license": "Apache-2.0",
5
5
  "devDependencies": {
6
- "@vuu-ui/vuu-data-types": "0.8.34",
7
- "@vuu-ui/vuu-table-types": "0.8.34",
8
- "@vuu-ui/vuu-protocol-types": "0.8.34"
6
+ "@vuu-ui/vuu-data-types": "0.8.35",
7
+ "@vuu-ui/vuu-table-types": "0.8.35",
8
+ "@vuu-ui/vuu-protocol-types": "0.8.35"
9
9
  },
10
10
  "dependencies": {
11
11
  "@salt-ds/core": "1.17.0",
12
- "@vuu-ui/vuu-layout": "0.8.34",
13
- "@vuu-ui/vuu-popups": "0.8.34",
14
- "@vuu-ui/vuu-ui-controls": "0.8.34",
15
- "@vuu-ui/vuu-utils": "0.8.34"
12
+ "@vuu-ui/vuu-layout": "0.8.35",
13
+ "@vuu-ui/vuu-popups": "0.8.35",
14
+ "@vuu-ui/vuu-ui-controls": "0.8.35",
15
+ "@vuu-ui/vuu-utils": "0.8.35"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "clsx": "^2.0.0",
@@ -20,8 +20,6 @@
20
20
  "react-dom": ">=17.0.2"
21
21
  },
22
22
  "files": [
23
- "esm",
24
- "cjs",
25
23
  "README.md",
26
24
  "/types"
27
25
  ],
package/cjs/Row.css DELETED
@@ -1,115 +0,0 @@
1
- .vuuTableRow {
2
- background: var(--row-background,var(--table-background));
3
- color: var(--salt-content-secondary-foreground);
4
- border-bottom: 1px solid var(--row-borderColor, var(--table-background));
5
- box-sizing: border-box;
6
- height: var(--row-height);
7
- line-height: calc(var(--row-height) - 1px);
8
- position: absolute;
9
- top:0;
10
- white-space: nowrap;
11
- }
12
-
13
- .vuuTableRow-proxy {
14
- visibility: hidden;
15
- }
16
-
17
- .vuuTableRow-even {
18
- --row-background: var(--row-background-even);
19
- }
20
-
21
- .vuuTableRow-highlighted {
22
- background: var(--salt-selectable-background-hover);
23
- }
24
-
25
-
26
- .vuuTableRow-selected,
27
- .vuuTableRow-selectedEnd {
28
- /* --row-borderColor: var(--salt-separable-secondary-borderColor); */
29
- background-color: var(--salt-selectable-background-selected);
30
- }
31
-
32
- .vuuTableRow-selectedEnd {
33
- z-index: 1;
34
- }
35
-
36
- .vuuTableRow-selectedStart {
37
- --vuu-selection-decorator-left-radius: 5px 0 0 0;
38
- --vuu-selection-decorator-right-radius: 0 5px 0 0;
39
-
40
- border-radius: 5px 5px 0 0;
41
- }
42
-
43
- .vuuTableRow-selectedEnd {
44
- --vuu-selection-decorator-left-radius: 0 0 0 5px;
45
- --vuu-selection-decorator-right-radius: 0 0 5px 0;
46
- border-radius: 0 0 5px 5px;
47
- }
48
-
49
- .vuuTableRow-selectedStart.vuuTableRow-selectedEnd {
50
- --vuu-selection-decorator-left-radius: 5px 0 0 5px;
51
- --vuu-selection-decorator-right-radius: 0 5px 5px 0;
52
- border-radius: 5px 5px 5px 5px;
53
-
54
- }
55
-
56
- .vuuTableRow-selectedStart:after {
57
- content: '';
58
- position: absolute;
59
- top: -1px;
60
- left: 4px;
61
- height: 1px;
62
- background: var(--vuuTableRow-selectionBlock-borderColor);
63
- width: calc(var(--content-width) - 8px);
64
- z-index: 1;
65
- }
66
-
67
- .vuuTableRow-selectedEnd {
68
- border-bottom-color: var(--vuuTableRow-selectionBlock-borderColor, var(--row-borderColor));
69
- }
70
-
71
- .vuuTableRow-selectionDecorator {
72
- background: var(--table-background);
73
- display: inline-block;
74
- position: relative;
75
- height: var(--row-height);
76
- width: 4px;
77
- z-index: 2;
78
- }
79
-
80
- .vuuTableRow-selectionDecorator.vuuStickyLeft {
81
- left:0;
82
- position: sticky;
83
- }
84
-
85
- .vuuTableRow-selectionDecorator.vuuStickyRight {
86
- right:0;
87
- position: sticky;
88
- }
89
-
90
- .vuuTableRow-selectedStart .vuuTableRow-selectionDecorator:before,
91
- .vuuTableRow-selectedEnd .vuuTableRow-selectionDecorator:before {
92
- content: '';
93
- inset: -1px 0 0 0;
94
- position: absolute;
95
- background: var(--table-background);
96
- }
97
-
98
- .vuuTableRow-selectionDecorator.vuuStickyLeft:before {
99
- border-radius: var(--vuu-selection-decorator-left-radius, 0);
100
- }
101
-
102
- .vuuTableRow-selectionDecorator.vuuStickyRight:before {
103
- border-radius: var(--vuu-selection-decorator-right-radius, 0);
104
- }
105
-
106
- .vuuTableRow-expanded {
107
- --toggle-icon-transform: rotate(90deg);
108
- }
109
-
110
- .vuuDraggable .vuuTableRow {
111
- --cell-borderColor: transparent;
112
- --vuu-selection-decorator-bg: transparent;
113
- transform: none!important;
114
- z-index: 1;
115
- }
package/cjs/Row.js DELETED
@@ -1,115 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var vuuUtils = require('@vuu-ui/vuu-utils');
5
- var cx = require('clsx');
6
- var react = require('react');
7
- var TableCell = require('./table-cell/TableCell.js');
8
- var TableGroupCell = require('./table-cell/TableGroupCell.js');
9
-
10
- const { IDX, IS_EXPANDED, SELECTED } = vuuUtils.metadataKeys;
11
- const classBase = "vuuTableRow";
12
- const RowProxy = react.forwardRef(
13
- function RowProxy2({ height }, forwardedRef) {
14
- return /* @__PURE__ */ jsxRuntime.jsx(
15
- "div",
16
- {
17
- "aria-hidden": true,
18
- className: cx(classBase, `${classBase}-proxy`),
19
- ref: forwardedRef,
20
- style: { height }
21
- }
22
- );
23
- }
24
- );
25
- const Row = react.memo(
26
- ({
27
- className: classNameProp,
28
- classNameGenerator,
29
- columnMap,
30
- columns,
31
- highlighted,
32
- row,
33
- offset,
34
- onClick,
35
- onDataEdited,
36
- onToggleGroup,
37
- virtualColSpan = 0,
38
- zebraStripes = false,
39
- ...htmlAttributes
40
- }) => {
41
- const {
42
- [IDX]: rowIndex,
43
- [IS_EXPANDED]: isExpanded,
44
- [SELECTED]: selectionStatus
45
- } = row;
46
- const handleRowClick = react.useCallback(
47
- (evt) => {
48
- const rangeSelect = evt.shiftKey;
49
- const keepExistingSelection = evt.ctrlKey || evt.metaKey;
50
- onClick?.(evt, row, rangeSelect, keepExistingSelection);
51
- },
52
- [onClick, row]
53
- );
54
- const { True, First, Last } = vuuUtils.RowSelected;
55
- const className = cx(
56
- classBase,
57
- classNameProp,
58
- classNameGenerator?.(row, columnMap),
59
- {
60
- [`${classBase}-even`]: zebraStripes && rowIndex % 2 === 0,
61
- [`${classBase}-expanded`]: isExpanded,
62
- [`${classBase}-highlighted`]: highlighted,
63
- [`${classBase}-selected`]: selectionStatus & True,
64
- [`${classBase}-selectedStart`]: selectionStatus & First,
65
- [`${classBase}-selectedEnd`]: selectionStatus & Last
66
- }
67
- );
68
- const style = { transform: `translate3d(0px, ${offset}px, 0px)` };
69
- const handleGroupCellClick = react.useCallback(
70
- (evt, column) => {
71
- if (vuuUtils.isGroupColumn(column) || vuuUtils.isJsonGroup(column, row, columnMap)) {
72
- evt.stopPropagation();
73
- onToggleGroup?.(row, column);
74
- }
75
- },
76
- [columnMap, onToggleGroup, row]
77
- );
78
- return /* @__PURE__ */ jsxRuntime.jsxs(
79
- "div",
80
- {
81
- ...htmlAttributes,
82
- role: "row",
83
- className,
84
- onClick: handleRowClick,
85
- style,
86
- children: [
87
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${classBase}-selectionDecorator vuuStickyLeft` }),
88
- virtualColSpan > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "vuuTableCell", style: { width: virtualColSpan } }) : null,
89
- columns.filter(vuuUtils.isNotHidden).map((column) => {
90
- const isGroup = vuuUtils.isGroupColumn(column);
91
- const isJsonCell = vuuUtils.isJsonColumn(column);
92
- const Cell = isGroup ? TableGroupCell.TableGroupCell : TableCell.TableCell;
93
- return /* @__PURE__ */ jsxRuntime.jsx(
94
- Cell,
95
- {
96
- column,
97
- columnMap,
98
- onClick: isGroup || isJsonCell ? handleGroupCellClick : void 0,
99
- onDataEdited,
100
- row
101
- },
102
- column.name
103
- );
104
- }),
105
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${classBase}-selectionDecorator vuuStickyRight` })
106
- ]
107
- }
108
- );
109
- }
110
- );
111
- Row.displayName = "Row";
112
-
113
- exports.Row = Row;
114
- exports.RowProxy = RowProxy;
115
- //# sourceMappingURL=Row.js.map
package/cjs/Row.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Row.js","sources":["../src/Row.tsx"],"sourcesContent":["import { DataSourceRow } from \"@vuu-ui/vuu-data-types\";\nimport {\n DataCellEditHandler,\n RuntimeColumnDescriptor,\n TableRowClickHandlerInternal,\n} from \"@vuu-ui/vuu-table-types\";\nimport {\n ColumnMap,\n isGroupColumn,\n isJsonColumn,\n isJsonGroup,\n metadataKeys,\n isNotHidden,\n RowSelected,\n RowClassNameGenerator,\n} from \"@vuu-ui/vuu-utils\";\nimport cx from \"clsx\";\nimport {\n CSSProperties,\n forwardRef,\n memo,\n MouseEvent,\n useCallback,\n} from \"react\";\nimport { TableCell, TableGroupCell } from \"./table-cell\";\n\nimport \"./Row.css\";\n\nexport interface RowProps {\n className?: string;\n classNameGenerator?: RowClassNameGenerator;\n columnMap: ColumnMap;\n columns: RuntimeColumnDescriptor[];\n highlighted?: boolean;\n row: DataSourceRow;\n offset: number;\n onClick?: TableRowClickHandlerInternal;\n onDataEdited?: DataCellEditHandler;\n onToggleGroup?: (row: DataSourceRow, column: RuntimeColumnDescriptor) => void;\n style?: CSSProperties;\n virtualColSpan?: number;\n zebraStripes?: boolean;\n}\n\nconst { IDX, IS_EXPANDED, 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 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 highlighted,\n row,\n offset,\n onClick,\n onDataEdited,\n onToggleGroup,\n virtualColSpan = 0,\n zebraStripes = false,\n ...htmlAttributes\n }: RowProps) => {\n const {\n [IDX]: rowIndex,\n [IS_EXPANDED]: isExpanded,\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}-expanded`]: isExpanded,\n [`${classBase}-highlighted`]: highlighted,\n [`${classBase}-selected`]: selectionStatus & True,\n [`${classBase}-selectedStart`]: selectionStatus & First,\n [`${classBase}-selectedEnd`]: selectionStatus & Last,\n }\n );\n\n const style = { transform: `translate3d(0px, ${offset}px, 0px)` };\n\n const handleGroupCellClick = useCallback(\n (evt: MouseEvent, column: RuntimeColumnDescriptor) => {\n if (isGroupColumn(column) || isJsonGroup(column, row, columnMap)) {\n evt.stopPropagation();\n onToggleGroup?.(row, column);\n }\n },\n [columnMap, onToggleGroup, row]\n );\n\n return (\n <div\n {...htmlAttributes}\n role=\"row\"\n className={className}\n onClick={handleRowClick}\n style={style}\n >\n <span className={`${classBase}-selectionDecorator vuuStickyLeft`} />\n {virtualColSpan > 0 ? (\n <div className=\"vuuTableCell\" style={{ width: virtualColSpan }} />\n ) : null}\n {columns.filter(isNotHidden).map((column) => {\n const isGroup = isGroupColumn(column);\n const isJsonCell = isJsonColumn(column);\n const Cell = isGroup ? 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 />\n );\n })}\n <span className={`${classBase}-selectionDecorator vuuStickyRight`} />\n </div>\n );\n }\n);\nRow.displayName = \"Row\";\n"],"names":["metadataKeys","forwardRef","RowProxy","jsx","memo","useCallback","RowSelected","isGroupColumn","isJsonGroup","jsxs","isNotHidden","isJsonColumn","TableGroupCell","TableCell"],"mappings":"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"}
package/cjs/Table.css DELETED
@@ -1,151 +0,0 @@
1
-
2
- .vuuTable {
3
- --vuu-table-cell-outlineWidth: 1px;
4
- --table-height: var(--measured-px-height);
5
- --table-width: var(--measured-px-width);
6
- --vuu-table-next-selection-bookend-width: 4px;
7
- --vuu-table-embedded-control-height: calc(var(--row-height) - 3px);
8
- --columnResizer-color: transparent;
9
- --row-height: var(--row-height-prop, var(--vuu-table-row-height, var(--salt-size-base)));
10
-
11
- --cell-borderColor: transparent;
12
- --row-borderColor: var(--row-background);
13
- --table-background: var(--salt-container-primary-background);
14
-
15
- background: var(--table-background);
16
- font-family: var(--vuuTable-fontFamily,var(--salt-typography-fontFamily, sans-serif));
17
- font-size: var(--vuuTable-fontSize,var(--salt-text-fontSize, 12px));
18
- position: relative;
19
- user-select: none;
20
- }
21
-
22
- .vuuTable-zebra {
23
- --row-background-even: var(--table-background);
24
- }
25
-
26
- .vuuTable-colLines {
27
- --cell-borderColor: var(
28
-
29
- );
30
- }
31
-
32
- .vuuTable-rowLines {
33
- --row-borderColor: var(--salt-separable-tertiary-borderColor);
34
- }
35
-
36
- .vuuTable-scrollbarContainer {
37
- border-bottom: none !important;
38
- border-top: none !important;
39
- border-left: solid 1px var(--salt-container-primary-borderColor);
40
- /* a top border */
41
- /** creates a border to top od scrollbar */
42
- /* box-shadow: 0px -1px 0px 0px var(--salt-container-primary-borderColor); */
43
- height: var(--viewport-body-height);
44
- left: 0px;
45
- overflow: auto;
46
- position: absolute;
47
- top: var(--total-header-height);
48
- width: var(--table-width);
49
-
50
-
51
- }
52
-
53
- .vuuTable-scrollbarContainer::-webkit-scrollbar {
54
- border: none;
55
- width: 10px;
56
- }
57
-
58
- .vuuTable-scrollbarContainer::-webkit-scrollbar:horizontal {
59
- height: 10px;
60
- }
61
-
62
-
63
- .vuuTable-scrollbarContainer::-webkit-scrollbar-track {
64
- background-color: white;
65
- }
66
- .vuuTable-scrollbarContainer::-webkit-scrollbar-thumb {
67
- background-clip: padding-box;
68
- border-radius: 10px;
69
- border: 2px solid rgba(0, 0, 0, 0);
70
- background-color: var(--vuu-color-gray-30);
71
- }
72
-
73
- .vuuTable-scrollbarContent {
74
- height: calc(var(--content-height) + var(--horizontal-scrollbar-height));
75
- position: absolute;
76
- width: var(--content-width);
77
- }
78
-
79
- .vuuTable-contentContainer {
80
- background: var(--table-background);
81
- height: calc(var(--table-height) - var(--horizontal-scrollbar-height));
82
- position: relative;
83
- overflow: auto;
84
- overscroll-behavior: none;
85
- width: calc(var(--table-width) - var(--vertical-scrollbar-width));
86
- }
87
-
88
- .vuuTable-contentContainer::-webkit-scrollbar {
89
- display: none;
90
- }
91
-
92
-
93
- .vuuTable-table {
94
- position: absolute;
95
- top: 0;
96
- left: 0;
97
- table-layout: fixed;
98
- width: var(--content-width);
99
- margin: 0;
100
- border: none;
101
- border-collapse: separate;
102
- border-spacing: 0;
103
- }
104
-
105
- .vuuTable-body {
106
- height: var(--content-height);
107
- position: relative;
108
- }
109
-
110
- .vuuPinLeft, .vuuPinRight {
111
- background-color: inherit;
112
- position: sticky;
113
- z-index: 1;
114
- }
115
-
116
- .vuuTable-col-headings {
117
- background-color: var(--vuuTableColHeadings-background, var(--table-background));
118
- padding: 0 var(--vuu-table-next-selection-bookend-width, 0);
119
-
120
- position: sticky;
121
- top: 0;
122
- /* ensure header row sits atop everything else when scrolling down */
123
- z-index: 1;
124
- }
125
-
126
- .vuuTable-col-headings:hover {
127
- --columnResizer-height: var(--header-height);
128
- --columnResizer-color: var(--salt-separable-tertiary-borderColor);
129
- }
130
-
131
- .vuuTable-col-headers {
132
- background-color: var(--vuuTableColHeadings-background, var(--vuuTableColHeadings-background));
133
- color: var(--salt-content-secondary-foreground);
134
- white-space: nowrap;
135
- }
136
-
137
-
138
- .sizer-cell {
139
- border: none !important;
140
- height: 0px;
141
- }
142
-
143
- .vuuDraggable-vuuTable {
144
- --header-height: 25px;
145
- --vuuTableHeaderCell-background: var(--salt-container-secondary-background);
146
- }
147
- .vuuDraggable-vuuTable {
148
- --row-height: 25px;
149
- }
150
-
151
-