@salt-ds/data-grid 1.0.5 → 1.0.7
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/CHANGELOG.md +216 -0
- package/dist-cjs/BaseCell.js +50 -48
- package/dist-cjs/BaseCell.js.map +1 -1
- package/dist-cjs/CellEditor.js +0 -2
- package/dist-cjs/CellEditor.js.map +1 -1
- package/dist-cjs/CellFrame.js +25 -33
- package/dist-cjs/CellFrame.js.map +1 -1
- package/dist-cjs/ColumnDataContext.js +1 -3
- package/dist-cjs/ColumnDataContext.js.map +1 -1
- package/dist-cjs/ColumnDragContext.js +1 -3
- package/dist-cjs/ColumnDragContext.js.map +1 -1
- package/dist-cjs/ColumnGroup.js +2 -6
- package/dist-cjs/ColumnGroup.js.map +1 -1
- package/dist-cjs/ColumnSortContext.js +1 -3
- package/dist-cjs/ColumnSortContext.js.map +1 -1
- package/dist-cjs/CornerTag.js +7 -6
- package/dist-cjs/CornerTag.js.map +1 -1
- package/dist-cjs/CursorContext.js +1 -3
- package/dist-cjs/CursorContext.js.map +1 -1
- package/dist-cjs/DropdownCellEditor.js +25 -28
- package/dist-cjs/DropdownCellEditor.js.map +1 -1
- package/dist-cjs/EditorContext.js +1 -3
- package/dist-cjs/EditorContext.js.map +1 -1
- package/dist-cjs/Grid.css.js +1 -1
- package/dist-cjs/Grid.js +174 -183
- package/dist-cjs/Grid.js.map +1 -1
- package/dist-cjs/GridColumn.js +4 -8
- package/dist-cjs/GridColumn.js.map +1 -1
- package/dist-cjs/GridContext.js +1 -3
- package/dist-cjs/GridContext.js.map +1 -1
- package/dist-cjs/GroupHeaderCell.js +29 -30
- package/dist-cjs/GroupHeaderCell.js.map +1 -1
- package/dist-cjs/GroupHeaderCellValue.js +1 -5
- package/dist-cjs/GroupHeaderCellValue.js.map +1 -1
- package/dist-cjs/HeaderCell.js +94 -90
- package/dist-cjs/HeaderCell.js.map +1 -1
- package/dist-cjs/HeaderCellValue.js +1 -6
- package/dist-cjs/HeaderCellValue.js.map +1 -1
- package/dist-cjs/LayoutContext.js +0 -2
- package/dist-cjs/LayoutContext.js.map +1 -1
- package/dist-cjs/NumberRange.js +2 -4
- package/dist-cjs/NumberRange.js.map +1 -1
- package/dist-cjs/NumericColumn.css.js +1 -1
- package/dist-cjs/NumericColumn.js +31 -30
- package/dist-cjs/NumericColumn.js.map +1 -1
- package/dist-cjs/RowSelectionCheckboxCellValue.js +7 -10
- package/dist-cjs/RowSelectionCheckboxCellValue.js.map +1 -1
- package/dist-cjs/RowSelectionCheckboxColumn.js +14 -13
- package/dist-cjs/RowSelectionCheckboxColumn.js.map +1 -1
- package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js +22 -18
- package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js.map +1 -1
- package/dist-cjs/RowSelectionRadioCellValue.js +6 -8
- package/dist-cjs/RowSelectionRadioCellValue.js.map +1 -1
- package/dist-cjs/RowSelectionRadioColumn.js +12 -11
- package/dist-cjs/RowSelectionRadioColumn.js.map +1 -1
- package/dist-cjs/RowSelectionRadioHeaderCell.js +2 -10
- package/dist-cjs/RowSelectionRadioHeaderCell.js.map +1 -1
- package/dist-cjs/RowValidationStatus.js +0 -2
- package/dist-cjs/RowValidationStatus.js.map +1 -1
- package/dist-cjs/SelectionContext.js +1 -3
- package/dist-cjs/SelectionContext.js.map +1 -1
- package/dist-cjs/SizingContext.js +1 -3
- package/dist-cjs/SizingContext.js.map +1 -1
- package/dist-cjs/TextCellEditor.css.js +1 -1
- package/dist-cjs/TextCellEditor.js +14 -20
- package/dist-cjs/TextCellEditor.js.map +1 -1
- package/dist-cjs/index.js +0 -2
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/internal/CellMeasure.css.js +1 -1
- package/dist-cjs/internal/CellMeasure.js +3 -18
- package/dist-cjs/internal/CellMeasure.js.map +1 -1
- package/dist-cjs/internal/CellStatusIcons.js +41 -37
- package/dist-cjs/internal/CellStatusIcons.js.map +1 -1
- package/dist-cjs/internal/ColumnDropTarget.js +3 -8
- package/dist-cjs/internal/ColumnDropTarget.js.map +1 -1
- package/dist-cjs/internal/ColumnGhost.js +17 -29
- package/dist-cjs/internal/ColumnGhost.js.map +1 -1
- package/dist-cjs/internal/Cursor.js +3 -7
- package/dist-cjs/internal/Cursor.js.map +1 -1
- package/dist-cjs/internal/DefaultCellValue.js +11 -10
- package/dist-cjs/internal/DefaultCellValue.js.map +1 -1
- package/dist-cjs/internal/FakeCell.js +8 -16
- package/dist-cjs/internal/FakeCell.js.map +1 -1
- package/dist-cjs/internal/FakeGroupCell.js +0 -2
- package/dist-cjs/internal/FakeGroupCell.js.map +1 -1
- package/dist-cjs/internal/FakeHeaderCell.js +1 -5
- package/dist-cjs/internal/FakeHeaderCell.js.map +1 -1
- package/dist-cjs/internal/GroupHeaderRow.js +9 -20
- package/dist-cjs/internal/GroupHeaderRow.js.map +1 -1
- package/dist-cjs/internal/HeaderRow.js +17 -23
- package/dist-cjs/internal/HeaderRow.js.map +1 -1
- package/dist-cjs/internal/LeftPart.js +21 -27
- package/dist-cjs/internal/LeftPart.js.map +1 -1
- package/dist-cjs/internal/MiddlePart.js +19 -25
- package/dist-cjs/internal/MiddlePart.js.map +1 -1
- package/dist-cjs/internal/RightPart.js +21 -26
- package/dist-cjs/internal/RightPart.js.map +1 -1
- package/dist-cjs/internal/Scrollable.js +12 -13
- package/dist-cjs/internal/Scrollable.js.map +1 -1
- package/dist-cjs/internal/TableBody.js +17 -19
- package/dist-cjs/internal/TableBody.js.map +1 -1
- package/dist-cjs/internal/TableColGroup.js +7 -17
- package/dist-cjs/internal/TableColGroup.js.map +1 -1
- package/dist-cjs/internal/TableRow.js +87 -79
- package/dist-cjs/internal/TableRow.js.map +1 -1
- package/dist-cjs/internal/TopLeftPart.js +20 -31
- package/dist-cjs/internal/TopLeftPart.js.map +1 -1
- package/dist-cjs/internal/TopPart.js +20 -37
- package/dist-cjs/internal/TopPart.js.map +1 -1
- package/dist-cjs/internal/TopRightPart.js +26 -30
- package/dist-cjs/internal/TopRightPart.js.map +1 -1
- package/dist-cjs/internal/gridHooks.js +23 -25
- package/dist-cjs/internal/gridHooks.js.map +1 -1
- package/dist-cjs/internal/utils.js +5 -7
- package/dist-cjs/internal/utils.js.map +1 -1
- package/dist-es/BaseCell.js +50 -46
- package/dist-es/BaseCell.js.map +1 -1
- package/dist-es/CellEditor.js.map +1 -1
- package/dist-es/CellFrame.js +25 -31
- package/dist-es/CellFrame.js.map +1 -1
- package/dist-es/ColumnDataContext.js +1 -1
- package/dist-es/ColumnDataContext.js.map +1 -1
- package/dist-es/ColumnDragContext.js +1 -1
- package/dist-es/ColumnDragContext.js.map +1 -1
- package/dist-es/ColumnGroup.js +2 -4
- package/dist-es/ColumnGroup.js.map +1 -1
- package/dist-es/ColumnSortContext.js +1 -1
- package/dist-es/ColumnSortContext.js.map +1 -1
- package/dist-es/CornerTag.js +7 -4
- package/dist-es/CornerTag.js.map +1 -1
- package/dist-es/CursorContext.js +1 -1
- package/dist-es/CursorContext.js.map +1 -1
- package/dist-es/DropdownCellEditor.js +25 -26
- package/dist-es/DropdownCellEditor.js.map +1 -1
- package/dist-es/EditorContext.js +1 -1
- package/dist-es/EditorContext.js.map +1 -1
- package/dist-es/Grid.css.js +1 -1
- package/dist-es/Grid.js +174 -181
- package/dist-es/Grid.js.map +1 -1
- package/dist-es/GridColumn.js +4 -6
- package/dist-es/GridColumn.js.map +1 -1
- package/dist-es/GridContext.js +1 -1
- package/dist-es/GridContext.js.map +1 -1
- package/dist-es/GroupHeaderCell.js +29 -28
- package/dist-es/GroupHeaderCell.js.map +1 -1
- package/dist-es/GroupHeaderCellValue.js +1 -3
- package/dist-es/GroupHeaderCellValue.js.map +1 -1
- package/dist-es/HeaderCell.js +94 -88
- package/dist-es/HeaderCell.js.map +1 -1
- package/dist-es/HeaderCellValue.js +1 -4
- package/dist-es/HeaderCellValue.js.map +1 -1
- package/dist-es/LayoutContext.js.map +1 -1
- package/dist-es/NumberRange.js +2 -2
- package/dist-es/NumberRange.js.map +1 -1
- package/dist-es/NumericColumn.css.js +1 -1
- package/dist-es/NumericColumn.js +31 -28
- package/dist-es/NumericColumn.js.map +1 -1
- package/dist-es/RowSelectionCheckboxCellValue.js +7 -8
- package/dist-es/RowSelectionCheckboxCellValue.js.map +1 -1
- package/dist-es/RowSelectionCheckboxColumn.js +14 -11
- package/dist-es/RowSelectionCheckboxColumn.js.map +1 -1
- package/dist-es/RowSelectionCheckboxHeaderCellValue.js +22 -16
- package/dist-es/RowSelectionCheckboxHeaderCellValue.js.map +1 -1
- package/dist-es/RowSelectionRadioCellValue.js +6 -6
- package/dist-es/RowSelectionRadioCellValue.js.map +1 -1
- package/dist-es/RowSelectionRadioColumn.js +12 -9
- package/dist-es/RowSelectionRadioColumn.js.map +1 -1
- package/dist-es/RowSelectionRadioHeaderCell.js +2 -8
- package/dist-es/RowSelectionRadioHeaderCell.js.map +1 -1
- package/dist-es/RowValidationStatus.js.map +1 -1
- package/dist-es/SelectionContext.js +1 -1
- package/dist-es/SelectionContext.js.map +1 -1
- package/dist-es/SizingContext.js +1 -1
- package/dist-es/SizingContext.js.map +1 -1
- package/dist-es/TextCellEditor.css.js +1 -1
- package/dist-es/TextCellEditor.js +14 -18
- package/dist-es/TextCellEditor.js.map +1 -1
- package/dist-es/internal/CellMeasure.css.js +1 -1
- package/dist-es/internal/CellMeasure.js +3 -16
- package/dist-es/internal/CellMeasure.js.map +1 -1
- package/dist-es/internal/CellStatusIcons.js +41 -35
- package/dist-es/internal/CellStatusIcons.js.map +1 -1
- package/dist-es/internal/ColumnDropTarget.js +3 -6
- package/dist-es/internal/ColumnDropTarget.js.map +1 -1
- package/dist-es/internal/ColumnGhost.js +17 -27
- package/dist-es/internal/ColumnGhost.js.map +1 -1
- package/dist-es/internal/Cursor.js +3 -5
- package/dist-es/internal/Cursor.js.map +1 -1
- package/dist-es/internal/DefaultCellValue.js +11 -8
- package/dist-es/internal/DefaultCellValue.js.map +1 -1
- package/dist-es/internal/FakeCell.js +8 -14
- package/dist-es/internal/FakeCell.js.map +1 -1
- package/dist-es/internal/FakeGroupCell.js.map +1 -1
- package/dist-es/internal/FakeHeaderCell.js +1 -3
- package/dist-es/internal/FakeHeaderCell.js.map +1 -1
- package/dist-es/internal/GroupHeaderRow.js +9 -18
- package/dist-es/internal/GroupHeaderRow.js.map +1 -1
- package/dist-es/internal/HeaderRow.js +17 -21
- package/dist-es/internal/HeaderRow.js.map +1 -1
- package/dist-es/internal/LeftPart.js +21 -25
- package/dist-es/internal/LeftPart.js.map +1 -1
- package/dist-es/internal/MiddlePart.js +19 -23
- package/dist-es/internal/MiddlePart.js.map +1 -1
- package/dist-es/internal/RightPart.js +21 -24
- package/dist-es/internal/RightPart.js.map +1 -1
- package/dist-es/internal/Scrollable.js +12 -11
- package/dist-es/internal/Scrollable.js.map +1 -1
- package/dist-es/internal/TableBody.js +17 -17
- package/dist-es/internal/TableBody.js.map +1 -1
- package/dist-es/internal/TableColGroup.js +7 -15
- package/dist-es/internal/TableColGroup.js.map +1 -1
- package/dist-es/internal/TableRow.js +87 -77
- package/dist-es/internal/TableRow.js.map +1 -1
- package/dist-es/internal/TopLeftPart.js +20 -29
- package/dist-es/internal/TopLeftPart.js.map +1 -1
- package/dist-es/internal/TopPart.js +20 -35
- package/dist-es/internal/TopPart.js.map +1 -1
- package/dist-es/internal/TopRightPart.js +26 -28
- package/dist-es/internal/TopRightPart.js.map +1 -1
- package/dist-es/internal/gridHooks.js +23 -23
- package/dist-es/internal/gridHooks.js.map +1 -1
- package/dist-es/internal/utils.js +5 -5
- package/dist-es/internal/utils.js.map +1 -1
- package/dist-types/BaseCell.d.ts +3 -3
- package/dist-types/CellEditor.d.ts +1 -1
- package/dist-types/CellFrame.d.ts +2 -2
- package/dist-types/ColumnDragContext.d.ts +1 -1
- package/dist-types/ColumnGroup.d.ts +4 -4
- package/dist-types/ColumnSortContext.d.ts +5 -5
- package/dist-types/CornerTag.d.ts +1 -1
- package/dist-types/DropdownCellEditor.d.ts +2 -2
- package/dist-types/Grid.d.ts +4 -4
- package/dist-types/GridColumn.d.ts +3 -3
- package/dist-types/GridContext.d.ts +2 -2
- package/dist-types/GroupHeaderCell.d.ts +3 -3
- package/dist-types/GroupHeaderCellValue.d.ts +2 -2
- package/dist-types/HeaderCell.d.ts +5 -5
- package/dist-types/HeaderCellValue.d.ts +2 -2
- package/dist-types/NumericColumn.d.ts +6 -6
- package/dist-types/RowSelectionCheckboxCellValue.d.ts +2 -2
- package/dist-types/RowSelectionCheckboxColumn.d.ts +2 -2
- package/dist-types/RowSelectionCheckboxHeaderCellValue.d.ts +2 -2
- package/dist-types/RowSelectionRadioCellValue.d.ts +2 -2
- package/dist-types/RowSelectionRadioColumn.d.ts +2 -2
- package/dist-types/RowSelectionRadioHeaderCell.d.ts +2 -2
- package/dist-types/RowValidationStatus.d.ts +2 -2
- package/dist-types/SelectionContext.d.ts +1 -1
- package/dist-types/SizingContext.d.ts +3 -3
- package/dist-types/TextCellEditor.d.ts +2 -2
- package/dist-types/internal/CellMeasure.d.ts +1 -1
- package/dist-types/internal/CellStatusIcons.d.ts +3 -3
- package/dist-types/internal/ColumnDropTarget.d.ts +1 -1
- package/dist-types/internal/ColumnGhost.d.ts +3 -3
- package/dist-types/internal/Cursor.d.ts +1 -3
- package/dist-types/internal/DefaultCellValue.d.ts +2 -2
- package/dist-types/internal/FakeCell.d.ts +2 -2
- package/dist-types/internal/FakeGroupCell.d.ts +1 -1
- package/dist-types/internal/FakeHeaderCell.d.ts +1 -1
- package/dist-types/internal/GroupHeaderRow.d.ts +2 -2
- package/dist-types/internal/HeaderRow.d.ts +2 -2
- package/dist-types/internal/LeftPart.d.ts +4 -4
- package/dist-types/internal/MiddlePart.d.ts +4 -4
- package/dist-types/internal/RightPart.d.ts +4 -4
- package/dist-types/internal/Scrollable.d.ts +2 -2
- package/dist-types/internal/TableBody.d.ts +3 -3
- package/dist-types/internal/TableColGroup.d.ts +3 -3
- package/dist-types/internal/TableRow.d.ts +4 -4
- package/dist-types/internal/TopLeftPart.d.ts +2 -2
- package/dist-types/internal/TopPart.d.ts +3 -3
- package/dist-types/internal/TopRightPart.d.ts +2 -2
- package/dist-types/internal/gridHooks.d.ts +13 -13
- package/dist-types/internal/utils.d.ts +1 -1
- package/package.json +11 -8
- package/dist-cjs/internal/FakeCell.css.js +0 -6
- package/dist-cjs/internal/FakeCell.css.js.map +0 -1
- package/dist-es/internal/FakeCell.css.js +0 -4
- package/dist-es/internal/FakeCell.css.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.js","sources":["../src/internal/TableRow.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"TableRow.js","sources":["../src/internal/TableRow.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n Children,\n type MouseEventHandler,\n cloneElement,\n isValidElement,\n} from \"react\";\n\nimport { BaseCell } from \"../BaseCell\";\nimport type { GridColumnModel, GridRowModel } from \"../Grid\";\nimport type { CellValidationState } from \"../GridColumn\";\nimport { useGridContext } from \"../GridContext\";\nimport { RowValidationStatusContext } from \"../RowValidationStatus\";\n\nimport { DefaultCellValue } from \"./DefaultCellValue\";\nimport { FakeCell } from \"./FakeCell\";\n\nimport tableRowCss from \"./TableRow.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTableRow\");\n\nexport interface TableRowProps<T> {\n row: GridRowModel<T>;\n isSelected?: boolean;\n isHoverOver?: boolean;\n zebra?: boolean;\n columns: GridColumnModel<T>[];\n cursorColIdx?: number;\n onMouseEnter?: MouseEventHandler<HTMLTableRowElement>;\n onMouseLeave?: MouseEventHandler<HTMLTableRowElement>;\n gap?: number;\n editorColIdx?: number;\n isCellSelected?: (rowIdx: number, colIdx: number) => boolean;\n headerIsFocusable?: boolean;\n validationStatus?: CellValidationState;\n}\n\nexport function TableRow<T>(props: TableRowProps<T>) {\n const {\n row,\n isSelected,\n zebra,\n isHoverOver,\n columns,\n onMouseEnter,\n onMouseLeave,\n cursorColIdx,\n gap,\n editorColIdx,\n isCellSelected,\n headerIsFocusable,\n validationStatus: rowValidationStatus,\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-table-row\",\n css: tableRowCss,\n window: targetWindow,\n });\n\n const grid = useGridContext();\n\n if (!row.key) {\n throw new Error(\"Invalid row\");\n }\n\n const ariaRowIndex = headerIsFocusable ? row.index + 2 : row.index + 1;\n\n return (\n <tr\n aria-rowindex={ariaRowIndex}\n aria-selected={isSelected ? true : undefined}\n className={clsx(withBaseName(), {\n [withBaseName(\"zebra\")]: zebra,\n [withBaseName(\"hover\")]: isHoverOver,\n [withBaseName(\"selected\")]: isSelected,\n [withBaseName(\"first\")]: row.index === 0,\n [withBaseName(`validationStatus-${rowValidationStatus}`)]:\n rowValidationStatus,\n })}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n data-row-index={row.index}\n data-row-key={row.key}\n >\n {columns.map((column, i) => {\n const colKey = column.info.props.id;\n const editorInfo = grid.getEditor(column.info.props.id);\n const isEditable = !!editorInfo;\n\n if (editorColIdx === column.index) {\n if (isEditable) {\n if (isValidElement(editorInfo.children)) {\n const editorElement = Children.only(editorInfo.children);\n return cloneElement(editorElement, {\n key: colKey,\n row,\n column,\n } as any);\n }\n }\n }\n\n const Cell = column.info.props.cellComponent || BaseCell;\n const CellValue =\n column.info.props.cellValueComponent || DefaultCellValue;\n const value =\n column.info.props.getValue && row.data\n ? column.info.props.getValue(row.data)\n : null;\n const isFocused = cursorColIdx === column.index;\n const isSelected = isCellSelected?.(row.index, column.index);\n const validationFnArg = {\n row,\n column,\n isFocused,\n value,\n };\n const validationStatus =\n column.info.props.getValidationStatus?.(validationFnArg);\n const validationMessage =\n validationStatus &&\n column.info.props.getValidationMessage?.(validationFnArg);\n\n return (\n <RowValidationStatusContext.Provider\n key={colKey}\n value={{ status: rowValidationStatus }}\n >\n <Cell\n row={row}\n column={column}\n isFocused={isFocused}\n isSelected={isSelected}\n isEditable={isEditable}\n validationStatus={validationStatus}\n validationMessage={validationMessage}\n validationType={column.info.props.validationType}\n value={value}\n align={column.info.props.align}\n >\n <CellValue\n column={column}\n row={row}\n value={value}\n isFocused={isFocused}\n validationStatus={validationStatus}\n validationMessage={validationMessage}\n validationType={column.info.props.validationType}\n />\n </Cell>\n </RowValidationStatusContext.Provider>\n );\n })}\n {gap !== undefined && gap > 0 ? <FakeCell row={row} /> : null}\n </tr>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","tableRowCss","useGridContext","jsxs","clsx","isValidElement","Children","cloneElement","BaseCell","DefaultCellValue","isSelected","jsx","RowValidationStatusContext","FakeCell"],"mappings":"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"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var clsx = require('clsx');
|
|
7
4
|
var core = require('@salt-ds/core');
|
|
8
|
-
var window = require('@salt-ds/window');
|
|
9
5
|
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var clsx = require('clsx');
|
|
10
8
|
var GroupHeaderRow = require('./GroupHeaderRow.js');
|
|
11
|
-
var TableColGroup = require('./TableColGroup.js');
|
|
12
9
|
var HeaderRow = require('./HeaderRow.js');
|
|
10
|
+
var TableColGroup = require('./TableColGroup.js');
|
|
13
11
|
var gridHooks = require('./gridHooks.js');
|
|
14
12
|
var TopLeftPart$1 = require('./TopLeftPart.css.js');
|
|
15
13
|
|
|
@@ -26,32 +24,23 @@ function TopLeftPart(props) {
|
|
|
26
24
|
if (columns.length === 0) {
|
|
27
25
|
return null;
|
|
28
26
|
}
|
|
29
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
role: "presentation",
|
|
38
|
-
|
|
39
|
-
/* @__PURE__ */ jsxRuntime.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}),
|
|
47
|
-
/* @__PURE__ */ jsxRuntime.jsx(HeaderRow.HeaderRow, {
|
|
48
|
-
columns
|
|
49
|
-
})
|
|
50
|
-
]
|
|
51
|
-
})
|
|
52
|
-
]
|
|
53
|
-
})
|
|
54
|
-
});
|
|
27
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
28
|
+
"div",
|
|
29
|
+
{
|
|
30
|
+
className: clsx.clsx(withBaseName(), {
|
|
31
|
+
[withBaseName("rightShadow")]: rightShadow,
|
|
32
|
+
[withBaseName("bottomShadow")]: bottomShadow
|
|
33
|
+
}),
|
|
34
|
+
"data-testid": "grid-top-left-part",
|
|
35
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("table", { ref: tableRef, role: "presentation", children: [
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableColGroup.TableColGroup, { columns }),
|
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsxs("thead", { children: [
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx(GroupHeaderRow.GroupHeaderRow, { groups: columnGroups }),
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsx(HeaderRow.HeaderRow, { columns })
|
|
40
|
+
] })
|
|
41
|
+
] })
|
|
42
|
+
}
|
|
43
|
+
);
|
|
55
44
|
}
|
|
56
45
|
|
|
57
46
|
exports.TopLeftPart = TopLeftPart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopLeftPart.js","sources":["../src/internal/TopLeftPart.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"TopLeftPart.js","sources":["../src/internal/TopLeftPart.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\n\nimport type { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\n\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport { TableColGroup } from \"./TableColGroup\";\nimport { useActiveOnWheel } from \"./gridHooks\";\n\nimport topLeftPartCss from \"./TopLeftPart.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTopLeftPart\");\n\nexport interface TopLeftPartProps<T> {\n onWheel: EventListener;\n columns: GridColumnModel<T>[];\n columnGroups: GridColumnGroupModel[];\n rightShadow?: boolean;\n bottomShadow?: boolean;\n}\n\nexport function TopLeftPart<T>(props: TopLeftPartProps<T>) {\n const { onWheel, columns, columnGroups, rightShadow, bottomShadow } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-top-left-part\",\n css: topLeftPartCss,\n window: targetWindow,\n });\n\n const tableRef = useActiveOnWheel(onWheel);\n\n if (columns.length === 0) {\n return null;\n }\n\n return (\n <div\n className={clsx(withBaseName(), {\n [withBaseName(\"rightShadow\")]: rightShadow,\n [withBaseName(\"bottomShadow\")]: bottomShadow,\n })}\n data-testid=\"grid-top-left-part\"\n >\n <table ref={tableRef} role=\"presentation\">\n <TableColGroup columns={columns} />\n <thead>\n <GroupHeaderRow groups={columnGroups} />\n <HeaderRow columns={columns} />\n </thead>\n </table>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","topLeftPartCss","useActiveOnWheel","jsx","clsx","jsxs","TableColGroup","GroupHeaderRow","HeaderRow"],"mappings":";;;;;;;;;;;;;AAcA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA;AAUhD,SAAS,YAAe,KAA4B,EAAA;AACzD,EAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,YAAc,EAAA,WAAA,EAAa,cAAiB,GAAA,KAAA;AAEtE,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,oBAAA;AAAA,IACR,GAAK,EAAAC,aAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,QAAA,GAAWC,2BAAiB,OAAO,CAAA;AAEzC,EAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACxB,IAAO,OAAA,IAAA;AAAA;AAGT,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,QAC9B,CAAC,YAAA,CAAa,aAAa,CAAC,GAAG,WAAA;AAAA,QAC/B,CAAC,YAAA,CAAa,cAAc,CAAC,GAAG;AAAA,OACjC,CAAA;AAAA,MACD,aAAY,EAAA,oBAAA;AAAA,MAEZ,QAAC,kBAAAC,eAAA,CAAA,OAAA,EAAA,EAAM,GAAK,EAAA,QAAA,EAAU,MAAK,cACzB,EAAA,QAAA,EAAA;AAAA,wBAAAF,cAAA,CAACG,+BAAc,OAAkB,EAAA,CAAA;AAAA,wCAChC,OACC,EAAA,EAAA,QAAA,EAAA;AAAA,0BAACH,cAAA,CAAAI,6BAAA,EAAA,EAAe,QAAQ,YAAc,EAAA,CAAA;AAAA,0BACtCJ,cAAA,CAACK,uBAAU,OAAkB,EAAA;AAAA,SAC/B,EAAA;AAAA,OACF,EAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var clsx = require('clsx');
|
|
7
4
|
var core = require('@salt-ds/core');
|
|
8
|
-
var window = require('@salt-ds/window');
|
|
9
5
|
var styles = require('@salt-ds/styles');
|
|
10
|
-
var
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var clsx = require('clsx');
|
|
11
8
|
var GroupHeaderRow = require('./GroupHeaderRow.js');
|
|
9
|
+
var HeaderRow = require('./HeaderRow.js');
|
|
12
10
|
var TableColGroup = require('./TableColGroup.js');
|
|
13
11
|
var gridHooks = require('./gridHooks.js');
|
|
14
12
|
var TopPart$1 = require('./TopPart.css.js');
|
|
@@ -23,38 +21,23 @@ function TopPart(props) {
|
|
|
23
21
|
window: targetWindow
|
|
24
22
|
});
|
|
25
23
|
const tableRef = gridHooks.useActiveOnWheel(onWheel);
|
|
26
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("table", {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
children: [
|
|
44
|
-
/* @__PURE__ */ jsxRuntime.jsx(GroupHeaderRow.GroupHeaderRow, {
|
|
45
|
-
groups: columnGroups,
|
|
46
|
-
gap: midGap
|
|
47
|
-
}),
|
|
48
|
-
/* @__PURE__ */ jsxRuntime.jsx(HeaderRow.HeaderRow, {
|
|
49
|
-
columns,
|
|
50
|
-
gap: midGap
|
|
51
|
-
})
|
|
52
|
-
]
|
|
53
|
-
})
|
|
54
|
-
]
|
|
55
|
-
})
|
|
56
|
-
})
|
|
57
|
-
});
|
|
24
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
className: clsx.clsx(withBaseName(), {
|
|
28
|
+
[withBaseName("bottomShadow")]: bottomShadow
|
|
29
|
+
}),
|
|
30
|
+
ref: topRef,
|
|
31
|
+
"data-testid": "grid-top-part",
|
|
32
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName("space"), children: /* @__PURE__ */ jsxRuntime.jsxs("table", { ref: tableRef, role: "presentation", children: [
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableColGroup.TableColGroup, { columns, gap: midGap }),
|
|
34
|
+
/* @__PURE__ */ jsxRuntime.jsxs("thead", { children: [
|
|
35
|
+
/* @__PURE__ */ jsxRuntime.jsx(GroupHeaderRow.GroupHeaderRow, { groups: columnGroups, gap: midGap }),
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(HeaderRow.HeaderRow, { columns, gap: midGap })
|
|
37
|
+
] })
|
|
38
|
+
] }) })
|
|
39
|
+
}
|
|
40
|
+
);
|
|
58
41
|
}
|
|
59
42
|
|
|
60
43
|
exports.TopPart = TopPart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopPart.js","sources":["../src/internal/TopPart.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"TopPart.js","sources":["../src/internal/TopPart.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport type { RefObject } from \"react\";\n\nimport type { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\n\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport { TableColGroup } from \"./TableColGroup\";\nimport { useActiveOnWheel } from \"./gridHooks\";\n\nimport topPartCss from \"./TopPart.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTopPart\");\n\nexport interface TopPartProps<T> {\n topRef: RefObject<HTMLDivElement>;\n onWheel: EventListener;\n columns: GridColumnModel<T>[];\n columnGroups: GridColumnGroupModel[];\n midGap: number;\n bottomShadow?: boolean;\n}\n\nexport function TopPart<T>(props: TopPartProps<T>) {\n const { topRef, onWheel, columns, columnGroups, midGap, bottomShadow } =\n props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-top-part\",\n css: topPartCss,\n window: targetWindow,\n });\n\n const tableRef = useActiveOnWheel(onWheel);\n\n return (\n <div\n className={clsx(withBaseName(), {\n [withBaseName(\"bottomShadow\")]: bottomShadow,\n })}\n ref={topRef}\n data-testid=\"grid-top-part\"\n >\n <div className={withBaseName(\"space\")}>\n <table ref={tableRef} role=\"presentation\">\n <TableColGroup columns={columns} gap={midGap} />\n <thead>\n <GroupHeaderRow groups={columnGroups} gap={midGap} />\n <HeaderRow columns={columns} gap={midGap} />\n </thead>\n </table>\n </div>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","topPartCss","useActiveOnWheel","jsx","clsx","jsxs","TableColGroup","GroupHeaderRow","HeaderRow"],"mappings":";;;;;;;;;;;;;AAeA,MAAM,YAAA,GAAeA,kBAAa,iBAAiB,CAAA;AAW5C,SAAS,QAAW,KAAwB,EAAA;AACjD,EAAA,MAAM,EAAE,MAAQ,EAAA,OAAA,EAAS,SAAS,YAAc,EAAA,MAAA,EAAQ,cACtD,GAAA,KAAA;AAEF,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,eAAA;AAAA,IACR,GAAK,EAAAC,SAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,QAAA,GAAWC,2BAAiB,OAAO,CAAA;AAEzC,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,QAC9B,CAAC,YAAA,CAAa,cAAc,CAAC,GAAG;AAAA,OACjC,CAAA;AAAA,MACD,GAAK,EAAA,MAAA;AAAA,MACL,aAAY,EAAA,eAAA;AAAA,MAEZ,QAAA,kBAAAD,cAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,YAAa,CAAA,OAAO,CAClC,EAAA,QAAA,kBAAAE,eAAA,CAAC,OAAM,EAAA,EAAA,GAAA,EAAK,QAAU,EAAA,IAAA,EAAK,cACzB,EAAA,QAAA,EAAA;AAAA,wBAACF,cAAA,CAAAG,2BAAA,EAAA,EAAc,OAAkB,EAAA,GAAA,EAAK,MAAQ,EAAA,CAAA;AAAA,wCAC7C,OACC,EAAA,EAAA,QAAA,EAAA;AAAA,0BAAAH,cAAA,CAACI,6BAAe,EAAA,EAAA,MAAA,EAAQ,YAAc,EAAA,GAAA,EAAK,MAAQ,EAAA,CAAA;AAAA,0BAClDJ,cAAA,CAAAK,mBAAA,EAAA,EAAU,OAAkB,EAAA,GAAA,EAAK,MAAQ,EAAA;AAAA,SAC5C,EAAA;AAAA,OAAA,EACF,CACF,EAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var TableColGroup = require('./TableColGroup.js');
|
|
7
|
-
var HeaderRow = require('./HeaderRow.js');
|
|
8
4
|
var core = require('@salt-ds/core');
|
|
9
|
-
var window = require('@salt-ds/window');
|
|
10
5
|
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
11
7
|
var clsx = require('clsx');
|
|
8
|
+
var HeaderRow = require('./HeaderRow.js');
|
|
9
|
+
var TableColGroup = require('./TableColGroup.js');
|
|
12
10
|
var GroupHeaderRow = require('./GroupHeaderRow.js');
|
|
13
11
|
var gridHooks = require('./gridHooks.js');
|
|
14
12
|
var TopRightPart$1 = require('./TopRightPart.css.js');
|
|
@@ -26,33 +24,31 @@ function TopRightPart(props) {
|
|
|
26
24
|
if (columns.length === 0) {
|
|
27
25
|
return null;
|
|
28
26
|
}
|
|
29
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
/* @__PURE__ */ jsxRuntime.jsxs("thead", {
|
|
27
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
28
|
+
"div",
|
|
29
|
+
{
|
|
30
|
+
className: clsx.clsx(withBaseName(), {
|
|
31
|
+
[withBaseName("leftShadow")]: leftShadow,
|
|
32
|
+
[withBaseName("bottomShadow")]: bottomShadow
|
|
33
|
+
}),
|
|
34
|
+
"data-testid": "grid-top-right-part",
|
|
35
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
36
|
+
"table",
|
|
37
|
+
{
|
|
38
|
+
className: withBaseName("table"),
|
|
39
|
+
ref: tableRef,
|
|
40
|
+
role: "presentation",
|
|
44
41
|
children: [
|
|
45
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
})
|
|
42
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableColGroup.TableColGroup, { columns }),
|
|
43
|
+
/* @__PURE__ */ jsxRuntime.jsxs("thead", { children: [
|
|
44
|
+
/* @__PURE__ */ jsxRuntime.jsx(GroupHeaderRow.GroupHeaderRow, { groups: columnGroups }),
|
|
45
|
+
/* @__PURE__ */ jsxRuntime.jsx(HeaderRow.HeaderRow, { columns })
|
|
46
|
+
] })
|
|
51
47
|
]
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
);
|
|
56
52
|
}
|
|
57
53
|
|
|
58
54
|
exports.TopRightPart = TopRightPart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopRightPart.js","sources":["../src/internal/TopRightPart.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"TopRightPart.js","sources":["../src/internal/TopRightPart.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport { TableColGroup } from \"./TableColGroup\";\n\nimport type { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\n\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport { useActiveOnWheel } from \"./gridHooks\";\n\nimport topRightPartCss from \"./TopRightPart.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTopRightPart\");\n\nexport interface TopRightPartProps<T> {\n onWheel: EventListener;\n columns: GridColumnModel<T>[];\n columnGroups: GridColumnGroupModel[];\n leftShadow?: boolean;\n bottomShadow?: boolean;\n}\n\nexport function TopRightPart<T>(props: TopRightPartProps<T>) {\n const { onWheel, columns, columnGroups, leftShadow, bottomShadow } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-top-right-part\",\n css: topRightPartCss,\n window: targetWindow,\n });\n\n const tableRef = useActiveOnWheel(onWheel);\n\n if (columns.length === 0) {\n return null;\n }\n\n return (\n <div\n className={clsx(withBaseName(), {\n [withBaseName(\"leftShadow\")]: leftShadow,\n [withBaseName(\"bottomShadow\")]: bottomShadow,\n })}\n data-testid=\"grid-top-right-part\"\n >\n <table\n className={withBaseName(\"table\")}\n ref={tableRef}\n role=\"presentation\"\n >\n <TableColGroup columns={columns} />\n <thead>\n <GroupHeaderRow groups={columnGroups} />\n <HeaderRow columns={columns} />\n {/*TODO Do we need a toolbar?*/}\n {/*{showToolbar ? <HeaderToolbarRow columns={rightColumns} /> : null}*/}\n </thead>\n </table>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","topRightPartCss","useActiveOnWheel","jsx","clsx","jsxs","TableColGroup","GroupHeaderRow","HeaderRow"],"mappings":";;;;;;;;;;;;;AAcA,MAAM,YAAA,GAAeA,kBAAa,sBAAsB,CAAA;AAUjD,SAAS,aAAgB,KAA6B,EAAA;AAC3D,EAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,YAAc,EAAA,UAAA,EAAY,cAAiB,GAAA,KAAA;AAErE,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,qBAAA;AAAA,IACR,GAAK,EAAAC,cAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,QAAA,GAAWC,2BAAiB,OAAO,CAAA;AAEzC,EAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACxB,IAAO,OAAA,IAAA;AAAA;AAGT,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,QAC9B,CAAC,YAAA,CAAa,YAAY,CAAC,GAAG,UAAA;AAAA,QAC9B,CAAC,YAAA,CAAa,cAAc,CAAC,GAAG;AAAA,OACjC,CAAA;AAAA,MACD,aAAY,EAAA,qBAAA;AAAA,MAEZ,QAAA,kBAAAC,eAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,UAC/B,GAAK,EAAA,QAAA;AAAA,UACL,IAAK,EAAA,cAAA;AAAA,UAEL,QAAA,EAAA;AAAA,4BAAAF,cAAA,CAACG,+BAAc,OAAkB,EAAA,CAAA;AAAA,4CAChC,OACC,EAAA,EAAA,QAAA,EAAA;AAAA,8BAACH,cAAA,CAAAI,6BAAA,EAAA,EAAe,QAAQ,YAAc,EAAA,CAAA;AAAA,8BACtCJ,cAAA,CAACK,uBAAU,OAAkB,EAAA;AAAA,aAG/B,EAAA;AAAA;AAAA;AAAA;AACF;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
var core = require('@salt-ds/core');
|
|
5
4
|
var react = require('react');
|
|
6
5
|
var NumberRange = require('../NumberRange.js');
|
|
7
6
|
var utils = require('./utils.js');
|
|
8
|
-
var core = require('@salt-ds/core');
|
|
9
7
|
|
|
10
8
|
function useActiveOnWheel(onWheel) {
|
|
11
9
|
const tableRef = react.useRef(null);
|
|
@@ -280,7 +278,7 @@ function useColumnResize(cols, resizeColumn) {
|
|
|
280
278
|
const x = event.screenX;
|
|
281
279
|
const { startX, columnIndex, initialColumnWidth, minWidth } = columnResizeDataRef.current;
|
|
282
280
|
const shift = x - startX;
|
|
283
|
-
|
|
281
|
+
const width = Math.max(minWidth, initialColumnWidth + shift);
|
|
284
282
|
columnResizeDataRef.current.resizeColumn(columnIndex, Math.round(width));
|
|
285
283
|
}, []);
|
|
286
284
|
return react.useCallback(
|
|
@@ -290,7 +288,7 @@ function useColumnResize(cols, resizeColumn) {
|
|
|
290
288
|
targetElement,
|
|
291
289
|
"data-column-index"
|
|
292
290
|
);
|
|
293
|
-
const columnIndex = parseInt(columnIndexAttribute, 10);
|
|
291
|
+
const columnIndex = Number.parseInt(columnIndexAttribute, 10);
|
|
294
292
|
document.addEventListener("mouseup", onMouseUp);
|
|
295
293
|
document.addEventListener("mousemove", onMouseMove);
|
|
296
294
|
const initialColumnWidth = thElement.getBoundingClientRect().width;
|
|
@@ -313,7 +311,7 @@ function useColumnResize(cols, resizeColumn) {
|
|
|
313
311
|
}
|
|
314
312
|
function useFlatten(map) {
|
|
315
313
|
return react.useMemo(() => {
|
|
316
|
-
const entries = [...map.entries()].filter(([
|
|
314
|
+
const entries = [...map.entries()].filter(([, value]) => !!value);
|
|
317
315
|
entries.sort((a, b) => a[0] - b[0]);
|
|
318
316
|
return entries.map((x) => x[1]);
|
|
319
317
|
}, [map]);
|
|
@@ -408,7 +406,7 @@ function useColumnRegistry(children) {
|
|
|
408
406
|
}, []);
|
|
409
407
|
const onColumnRemoved = react.useCallback(
|
|
410
408
|
(index, columnInfo) => {
|
|
411
|
-
const {
|
|
409
|
+
const { pinned } = columnInfo.props;
|
|
412
410
|
getColMapSet(pinned)(utils.makeMapDeleter(index));
|
|
413
411
|
},
|
|
414
412
|
[]
|
|
@@ -420,7 +418,7 @@ function useColumnRegistry(children) {
|
|
|
420
418
|
}, []);
|
|
421
419
|
const onColumnGroupRemoved = react.useCallback(
|
|
422
420
|
(index, colGroupProps) => {
|
|
423
|
-
const {
|
|
421
|
+
const { pinned } = colGroupProps;
|
|
424
422
|
getGrpMapSet(pinned)(utils.makeMapDeleter(index));
|
|
425
423
|
},
|
|
426
424
|
[]
|
|
@@ -471,13 +469,13 @@ function useColumnRegistry(children) {
|
|
|
471
469
|
}
|
|
472
470
|
function useRowSelection(rowKeyGetter, rowData, defaultSelectedRowIdxs, selectedRowIdxs, rowSelectionMode, onRowSelected) {
|
|
473
471
|
const selectedRowIdxsProp = react.useMemo(() => {
|
|
474
|
-
if (selectedRowIdxs
|
|
472
|
+
if (selectedRowIdxs === void 0) {
|
|
475
473
|
return void 0;
|
|
476
474
|
}
|
|
477
475
|
return new Set(selectedRowIdxs);
|
|
478
476
|
}, [selectedRowIdxs]);
|
|
479
477
|
const defaultSelectedRowIdxsProp = react.useMemo(() => {
|
|
480
|
-
if (defaultSelectedRowIdxs
|
|
478
|
+
if (defaultSelectedRowIdxs === void 0) {
|
|
481
479
|
return /* @__PURE__ */ new Set([]);
|
|
482
480
|
}
|
|
483
481
|
return new Set(defaultSelectedRowIdxs);
|
|
@@ -616,16 +614,13 @@ function useColumnMove(columnMove, rootRef, leftCols, midCols, rightCols, cols,
|
|
|
616
614
|
(columnIndex, x, y) => {
|
|
617
615
|
setDragState({ columnIndex, x, y });
|
|
618
616
|
},
|
|
619
|
-
[
|
|
620
|
-
);
|
|
621
|
-
const columnDrag = react.useCallback(
|
|
622
|
-
(x, y) => {
|
|
623
|
-
setDragState((old) => {
|
|
624
|
-
return { ...old, x, y };
|
|
625
|
-
});
|
|
626
|
-
},
|
|
627
|
-
[setDragState]
|
|
617
|
+
[]
|
|
628
618
|
);
|
|
619
|
+
const columnDrag = react.useCallback((x, y) => {
|
|
620
|
+
setDragState((old) => {
|
|
621
|
+
return { ...old, x, y };
|
|
622
|
+
});
|
|
623
|
+
}, []);
|
|
629
624
|
const columnDrop = react.useCallback(() => {
|
|
630
625
|
var _a, _b, _c, _d;
|
|
631
626
|
const toIndex = (_a = activeTargetRef.current) == null ? void 0 : _a.columnIndex;
|
|
@@ -677,9 +672,12 @@ function useColumnMove(columnMove, rootRef, leftCols, midCols, rightCols, cols,
|
|
|
677
672
|
"data-column-index"
|
|
678
673
|
);
|
|
679
674
|
const rootElement = rootRef.current;
|
|
675
|
+
if (!rootElement) {
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
680
678
|
document.addEventListener("mouseup", onMouseUp);
|
|
681
679
|
document.addEventListener("mousemove", onMouseMove);
|
|
682
|
-
const columnIndex = parseInt(columnIndexAttribute, 10);
|
|
680
|
+
const columnIndex = Number.parseInt(columnIndexAttribute, 10);
|
|
683
681
|
const columnId = cols[columnIndex].info.props.id;
|
|
684
682
|
const thRect = thElement.getBoundingClientRect();
|
|
685
683
|
const rootRect = rootElement.getBoundingClientRect();
|
|
@@ -708,14 +706,14 @@ function useColumnMove(columnMove, rootRef, leftCols, midCols, rightCols, cols,
|
|
|
708
706
|
setDragState(void 0);
|
|
709
707
|
(_a = moveRef.current) == null ? void 0 : _a.unsubscribe();
|
|
710
708
|
moveRef.current = void 0;
|
|
711
|
-
}, [
|
|
709
|
+
}, []);
|
|
712
710
|
const targets = react.useMemo(() => {
|
|
713
711
|
if (!dragState) {
|
|
714
712
|
return void 0;
|
|
715
713
|
}
|
|
716
|
-
|
|
714
|
+
const ts = [];
|
|
717
715
|
let x = 0;
|
|
718
|
-
leftCols.forEach((c
|
|
716
|
+
leftCols.forEach((c) => {
|
|
719
717
|
ts.push({ columnIndex: c.index, x });
|
|
720
718
|
x += c.info.width;
|
|
721
719
|
});
|
|
@@ -736,7 +734,7 @@ function useColumnMove(columnMove, rootRef, leftCols, midCols, rightCols, cols,
|
|
|
736
734
|
}
|
|
737
735
|
if (rightCols.length > 0) {
|
|
738
736
|
x += w;
|
|
739
|
-
rightCols.forEach((c
|
|
737
|
+
rightCols.forEach((c) => {
|
|
740
738
|
ts.push({ columnIndex: c.index, x });
|
|
741
739
|
x += c.info.width;
|
|
742
740
|
});
|
|
@@ -809,7 +807,7 @@ function useRangeSelection(cellSelectionMode) {
|
|
|
809
807
|
}, []);
|
|
810
808
|
const onMouseUp = react.useCallback((event) => {
|
|
811
809
|
if (!mouseSelectionRef.current) {
|
|
812
|
-
throw new Error(
|
|
810
|
+
throw new Error("useRangeSelection state is not initialized");
|
|
813
811
|
}
|
|
814
812
|
mouseSelectionRef.current.unsubscribe();
|
|
815
813
|
mouseSelectionRef.current = void 0;
|