@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.
- package/cjs/CellFocusState.js +45 -0
- package/cjs/CellFocusState.js.map +1 -0
- package/cjs/Row.css.js +6 -0
- package/cjs/Row.css.js.map +1 -0
- package/cjs/Row.js +151 -0
- package/cjs/Row.js.map +1 -0
- package/cjs/Table.css.js +6 -0
- package/cjs/Table.css.js.map +1 -0
- package/cjs/Table.js +433 -0
- package/cjs/Table.js.map +1 -0
- package/cjs/VirtualColSpan.js +19 -0
- package/cjs/VirtualColSpan.js.map +1 -0
- package/cjs/bulk-edit/BulkEditDialog.js +57 -0
- package/cjs/bulk-edit/BulkEditDialog.js.map +1 -0
- package/cjs/bulk-edit/BulkEditPanel.css.js +6 -0
- package/cjs/bulk-edit/BulkEditPanel.css.js.map +1 -0
- package/cjs/bulk-edit/BulkEditPanel.js +72 -0
- package/cjs/bulk-edit/BulkEditPanel.js.map +1 -0
- package/cjs/bulk-edit/BulkEditRow.css.js +6 -0
- package/cjs/bulk-edit/BulkEditRow.css.js.map +1 -0
- package/cjs/bulk-edit/BulkEditRow.js +81 -0
- package/cjs/bulk-edit/BulkEditRow.js.map +1 -0
- package/cjs/bulk-edit/useBulkEditPanel.js +101 -0
- package/cjs/bulk-edit/useBulkEditPanel.js.map +1 -0
- package/cjs/bulk-edit/useBulkEditRow.js +144 -0
- package/cjs/bulk-edit/useBulkEditRow.js.map +1 -0
- package/cjs/cell-block/CellBlock.css.js +6 -0
- package/cjs/cell-block/CellBlock.css.js.map +1 -0
- package/cjs/cell-block/CellBlock.js +45 -0
- package/cjs/cell-block/CellBlock.js.map +1 -0
- package/cjs/cell-block/cellblock-utils.js +125 -0
- package/cjs/cell-block/cellblock-utils.js.map +1 -0
- package/cjs/cell-block/useCellBlockSelection.js +254 -0
- package/cjs/cell-block/useCellBlockSelection.js.map +1 -0
- package/cjs/cell-renderers/checkbox-cell/CheckboxCell.css.js +6 -0
- package/cjs/cell-renderers/checkbox-cell/CheckboxCell.css.js.map +1 -0
- package/cjs/cell-renderers/checkbox-cell/CheckboxCell.js +68 -0
- package/cjs/cell-renderers/checkbox-cell/CheckboxCell.js.map +1 -0
- package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js +6 -0
- package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js.map +1 -0
- package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js +33 -0
- package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js.map +1 -0
- package/cjs/cell-renderers/input-cell/InputCell.css.js +6 -0
- package/cjs/cell-renderers/input-cell/InputCell.css.js.map +1 -0
- package/cjs/cell-renderers/input-cell/InputCell.js +52 -0
- package/cjs/cell-renderers/input-cell/InputCell.js.map +1 -0
- package/cjs/cell-renderers/toggle-cell/ToggleCell.css.js +6 -0
- package/cjs/cell-renderers/toggle-cell/ToggleCell.css.js.map +1 -0
- package/cjs/cell-renderers/toggle-cell/ToggleCell.js +67 -0
- package/cjs/cell-renderers/toggle-cell/ToggleCell.js.map +1 -0
- package/cjs/column-header-pill/ColumnHeaderPill.css.js +6 -0
- package/cjs/column-header-pill/ColumnHeaderPill.css.js.map +1 -0
- package/cjs/column-header-pill/ColumnHeaderPill.js +53 -0
- package/cjs/column-header-pill/ColumnHeaderPill.js.map +1 -0
- package/cjs/column-header-pill/GroupColumnPill.css.js +6 -0
- package/cjs/column-header-pill/GroupColumnPill.css.js.map +1 -0
- package/cjs/column-header-pill/GroupColumnPill.js +29 -0
- package/cjs/column-header-pill/GroupColumnPill.js.map +1 -0
- package/cjs/column-header-pill/SortIndicator.css.js +6 -0
- package/cjs/column-header-pill/SortIndicator.css.js.map +1 -0
- package/cjs/column-header-pill/SortIndicator.js +27 -0
- package/cjs/column-header-pill/SortIndicator.js.map +1 -0
- package/cjs/column-resizing/ColumnResizer.css.js +6 -0
- package/cjs/column-resizing/ColumnResizer.css.js.map +1 -0
- package/cjs/column-resizing/ColumnResizer.js +82 -0
- package/cjs/column-resizing/ColumnResizer.js.map +1 -0
- package/cjs/column-resizing/useTableColumnResize.js +55 -0
- package/cjs/column-resizing/useTableColumnResize.js.map +1 -0
- package/cjs/header-cell/GroupHeaderCell.css.js +6 -0
- package/cjs/header-cell/GroupHeaderCell.css.js.map +1 -0
- package/cjs/header-cell/GroupHeaderCell.js +127 -0
- package/cjs/header-cell/GroupHeaderCell.js.map +1 -0
- package/cjs/header-cell/HeaderCell.css.js +6 -0
- package/cjs/header-cell/HeaderCell.css.js.map +1 -0
- package/cjs/header-cell/HeaderCell.js +120 -0
- package/cjs/header-cell/HeaderCell.js.map +1 -0
- package/cjs/index.js +61 -5236
- package/cjs/index.js.map +1 -1
- package/cjs/pagination/PaginationControl.css.js +6 -0
- package/cjs/pagination/PaginationControl.css.js.map +1 -0
- package/cjs/pagination/PaginationControl.js +38 -0
- package/cjs/pagination/PaginationControl.js.map +1 -0
- package/cjs/pagination/usePagination.js +36 -0
- package/cjs/pagination/usePagination.js.map +1 -0
- package/cjs/table-cell/TableCell.css.js +6 -0
- package/cjs/table-cell/TableCell.css.js.map +1 -0
- package/cjs/table-cell/TableCell.js +95 -0
- package/cjs/table-cell/TableCell.js.map +1 -0
- package/cjs/table-cell/TableGroupCell.css.js +6 -0
- package/cjs/table-cell/TableGroupCell.css.js.map +1 -0
- package/cjs/table-cell/TableGroupCell.js +66 -0
- package/cjs/table-cell/TableGroupCell.js.map +1 -0
- package/cjs/table-config.js +35 -0
- package/cjs/table-config.js.map +1 -0
- package/cjs/table-dom-utils.js +202 -0
- package/cjs/table-dom-utils.js.map +1 -0
- package/cjs/table-header/HeaderProvider.js +18 -0
- package/cjs/table-header/HeaderProvider.js.map +1 -0
- package/cjs/table-header/TableHeader.js +166 -0
- package/cjs/table-header/TableHeader.js.map +1 -0
- package/cjs/table-header/useTableHeader.js +85 -0
- package/cjs/table-header/useTableHeader.js.map +1 -0
- package/cjs/useCell.js +28 -0
- package/cjs/useCell.js.map +1 -0
- package/cjs/useCellEditing.js +79 -0
- package/cjs/useCellEditing.js.map +1 -0
- package/cjs/useCellFocus.js +115 -0
- package/cjs/useCellFocus.js.map +1 -0
- package/cjs/useControlledTableNavigation.js +46 -0
- package/cjs/useControlledTableNavigation.js.map +1 -0
- package/cjs/useDataSource.js +146 -0
- package/cjs/useDataSource.js.map +1 -0
- package/cjs/useEditableCell.js +32 -0
- package/cjs/useEditableCell.js.map +1 -0
- package/cjs/useHighlighting.js +33 -0
- package/cjs/useHighlighting.js.map +1 -0
- package/cjs/useKeyboardNavigation.js +318 -0
- package/cjs/useKeyboardNavigation.js.map +1 -0
- package/cjs/useMeasuredHeight.js +41 -0
- package/cjs/useMeasuredHeight.js.map +1 -0
- package/cjs/useRowClassNameGenerators.js +34 -0
- package/cjs/useRowClassNameGenerators.js.map +1 -0
- package/cjs/useSelection.js +74 -0
- package/cjs/useSelection.js.map +1 -0
- package/cjs/useTable.js +727 -0
- package/cjs/useTable.js.map +1 -0
- package/cjs/useTableContextMenu.js +59 -0
- package/cjs/useTableContextMenu.js.map +1 -0
- package/cjs/useTableModel.js +383 -0
- package/cjs/useTableModel.js.map +1 -0
- package/cjs/useTableScroll.js +446 -0
- package/cjs/useTableScroll.js.map +1 -0
- package/cjs/useTableViewport.js +137 -0
- package/cjs/useTableViewport.js.map +1 -0
- package/esm/CellFocusState.js +43 -0
- package/esm/CellFocusState.js.map +1 -0
- package/esm/Row.css.js +4 -0
- package/esm/Row.css.js.map +1 -0
- package/esm/Row.js +148 -0
- package/esm/Row.js.map +1 -0
- package/esm/Table.css.js +4 -0
- package/esm/Table.css.js.map +1 -0
- package/esm/Table.js +431 -0
- package/esm/Table.js.map +1 -0
- package/esm/VirtualColSpan.js +17 -0
- package/esm/VirtualColSpan.js.map +1 -0
- package/esm/bulk-edit/BulkEditDialog.js +55 -0
- package/esm/bulk-edit/BulkEditDialog.js.map +1 -0
- package/esm/bulk-edit/BulkEditPanel.css.js +4 -0
- package/esm/bulk-edit/BulkEditPanel.css.js.map +1 -0
- package/esm/bulk-edit/BulkEditPanel.js +70 -0
- package/esm/bulk-edit/BulkEditPanel.js.map +1 -0
- package/esm/bulk-edit/BulkEditRow.css.js +4 -0
- package/esm/bulk-edit/BulkEditRow.css.js.map +1 -0
- package/esm/bulk-edit/BulkEditRow.js +79 -0
- package/esm/bulk-edit/BulkEditRow.js.map +1 -0
- package/esm/bulk-edit/useBulkEditPanel.js +99 -0
- package/esm/bulk-edit/useBulkEditPanel.js.map +1 -0
- package/esm/bulk-edit/useBulkEditRow.js +142 -0
- package/esm/bulk-edit/useBulkEditRow.js.map +1 -0
- package/esm/cell-block/CellBlock.css.js +4 -0
- package/esm/cell-block/CellBlock.css.js.map +1 -0
- package/esm/cell-block/CellBlock.js +43 -0
- package/esm/cell-block/CellBlock.js.map +1 -0
- package/esm/cell-block/cellblock-utils.js +116 -0
- package/esm/cell-block/cellblock-utils.js.map +1 -0
- package/esm/cell-block/useCellBlockSelection.js +252 -0
- package/esm/cell-block/useCellBlockSelection.js.map +1 -0
- package/esm/cell-renderers/checkbox-cell/CheckboxCell.css.js +4 -0
- package/esm/cell-renderers/checkbox-cell/CheckboxCell.css.js.map +1 -0
- package/esm/cell-renderers/checkbox-cell/CheckboxCell.js +66 -0
- package/esm/cell-renderers/checkbox-cell/CheckboxCell.js.map +1 -0
- package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js +4 -0
- package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.css.js.map +1 -0
- package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js +31 -0
- package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js.map +1 -0
- package/esm/cell-renderers/input-cell/InputCell.css.js +4 -0
- package/esm/cell-renderers/input-cell/InputCell.css.js.map +1 -0
- package/esm/cell-renderers/input-cell/InputCell.js +50 -0
- package/esm/cell-renderers/input-cell/InputCell.js.map +1 -0
- package/esm/cell-renderers/toggle-cell/ToggleCell.css.js +4 -0
- package/esm/cell-renderers/toggle-cell/ToggleCell.css.js.map +1 -0
- package/esm/cell-renderers/toggle-cell/ToggleCell.js +65 -0
- package/esm/cell-renderers/toggle-cell/ToggleCell.js.map +1 -0
- package/esm/column-header-pill/ColumnHeaderPill.css.js +4 -0
- package/esm/column-header-pill/ColumnHeaderPill.css.js.map +1 -0
- package/esm/column-header-pill/ColumnHeaderPill.js +51 -0
- package/esm/column-header-pill/ColumnHeaderPill.js.map +1 -0
- package/esm/column-header-pill/GroupColumnPill.css.js +4 -0
- package/esm/column-header-pill/GroupColumnPill.css.js.map +1 -0
- package/esm/column-header-pill/GroupColumnPill.js +27 -0
- package/esm/column-header-pill/GroupColumnPill.js.map +1 -0
- package/esm/column-header-pill/SortIndicator.css.js +4 -0
- package/esm/column-header-pill/SortIndicator.css.js.map +1 -0
- package/esm/column-header-pill/SortIndicator.js +25 -0
- package/esm/column-header-pill/SortIndicator.js.map +1 -0
- package/esm/column-resizing/ColumnResizer.css.js +4 -0
- package/esm/column-resizing/ColumnResizer.css.js.map +1 -0
- package/esm/column-resizing/ColumnResizer.js +80 -0
- package/esm/column-resizing/ColumnResizer.js.map +1 -0
- package/esm/column-resizing/useTableColumnResize.js +53 -0
- package/esm/column-resizing/useTableColumnResize.js.map +1 -0
- package/esm/header-cell/GroupHeaderCell.css.js +4 -0
- package/esm/header-cell/GroupHeaderCell.css.js.map +1 -0
- package/esm/header-cell/GroupHeaderCell.js +125 -0
- package/esm/header-cell/GroupHeaderCell.js.map +1 -0
- package/esm/header-cell/HeaderCell.css.js +4 -0
- package/esm/header-cell/HeaderCell.css.js.map +1 -0
- package/esm/header-cell/HeaderCell.js +118 -0
- package/esm/header-cell/HeaderCell.js.map +1 -0
- package/esm/index.js +26 -5205
- package/esm/index.js.map +1 -1
- package/esm/pagination/PaginationControl.css.js +4 -0
- package/esm/pagination/PaginationControl.css.js.map +1 -0
- package/esm/pagination/PaginationControl.js +36 -0
- package/esm/pagination/PaginationControl.js.map +1 -0
- package/esm/pagination/usePagination.js +34 -0
- package/esm/pagination/usePagination.js.map +1 -0
- package/esm/table-cell/TableCell.css.js +4 -0
- package/esm/table-cell/TableCell.css.js.map +1 -0
- package/esm/table-cell/TableCell.js +93 -0
- package/esm/table-cell/TableCell.js.map +1 -0
- package/esm/table-cell/TableGroupCell.css.js +4 -0
- package/esm/table-cell/TableGroupCell.css.js.map +1 -0
- package/esm/table-cell/TableGroupCell.js +64 -0
- package/esm/table-cell/TableGroupCell.js.map +1 -0
- package/esm/table-config.js +33 -0
- package/esm/table-config.js.map +1 -0
- package/esm/table-dom-utils.js +184 -0
- package/esm/table-dom-utils.js.map +1 -0
- package/esm/table-header/HeaderProvider.js +15 -0
- package/esm/table-header/HeaderProvider.js.map +1 -0
- package/esm/table-header/TableHeader.js +164 -0
- package/esm/table-header/TableHeader.js.map +1 -0
- package/esm/table-header/useTableHeader.js +83 -0
- package/esm/table-header/useTableHeader.js.map +1 -0
- package/esm/useCell.js +26 -0
- package/esm/useCell.js.map +1 -0
- package/esm/useCellEditing.js +77 -0
- package/esm/useCellEditing.js.map +1 -0
- package/esm/useCellFocus.js +113 -0
- package/esm/useCellFocus.js.map +1 -0
- package/esm/useControlledTableNavigation.js +43 -0
- package/esm/useControlledTableNavigation.js.map +1 -0
- package/esm/useDataSource.js +144 -0
- package/esm/useDataSource.js.map +1 -0
- package/esm/useEditableCell.js +30 -0
- package/esm/useEditableCell.js.map +1 -0
- package/esm/useHighlighting.js +31 -0
- package/esm/useHighlighting.js.map +1 -0
- package/esm/useKeyboardNavigation.js +314 -0
- package/esm/useKeyboardNavigation.js.map +1 -0
- package/esm/useMeasuredHeight.js +39 -0
- package/esm/useMeasuredHeight.js.map +1 -0
- package/esm/useRowClassNameGenerators.js +32 -0
- package/esm/useRowClassNameGenerators.js.map +1 -0
- package/esm/useSelection.js +72 -0
- package/esm/useSelection.js.map +1 -0
- package/esm/useTable.js +725 -0
- package/esm/useTable.js.map +1 -0
- package/esm/useTableContextMenu.js +56 -0
- package/esm/useTableContextMenu.js.map +1 -0
- package/esm/useTableModel.js +381 -0
- package/esm/useTableModel.js.map +1 -0
- package/esm/useTableScroll.js +443 -0
- package/esm/useTableScroll.js.map +1 -0
- package/esm/useTableViewport.js +135 -0
- package/esm/useTableViewport.js.map +1 -0
- 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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"}
|
package/cjs/Table.css.js
ADDED
|
@@ -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":";;;;;;"}
|