@salt-ds/data-grid 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist-cjs/packages/grid/src/BaseCell.js +2 -6
  2. package/dist-cjs/packages/grid/src/BaseCell.js.map +1 -1
  3. package/dist-cjs/packages/grid/src/Grid.js +14 -16
  4. package/dist-cjs/packages/grid/src/Grid.js.map +1 -1
  5. package/dist-cjs/packages/grid/src/GroupHeaderCell.js +2 -6
  6. package/dist-cjs/packages/grid/src/GroupHeaderCell.js.map +1 -1
  7. package/dist-cjs/packages/grid/src/HeaderCell.js +4 -8
  8. package/dist-cjs/packages/grid/src/HeaderCell.js.map +1 -1
  9. package/dist-cjs/packages/grid/src/RowSelectionRadioHeaderCell.js +2 -6
  10. package/dist-cjs/packages/grid/src/RowSelectionRadioHeaderCell.js.map +1 -1
  11. package/dist-cjs/packages/grid/src/internal/Cell.js +2 -6
  12. package/dist-cjs/packages/grid/src/internal/Cell.js.map +1 -1
  13. package/dist-cjs/packages/grid/src/internal/DefaultCellValue.js +2 -6
  14. package/dist-cjs/packages/grid/src/internal/DefaultCellValue.js.map +1 -1
  15. package/dist-cjs/packages/grid/src/internal/LeftPart.js +2 -6
  16. package/dist-cjs/packages/grid/src/internal/LeftPart.js.map +1 -1
  17. package/dist-cjs/packages/grid/src/internal/RightPart.js +2 -6
  18. package/dist-cjs/packages/grid/src/internal/RightPart.js.map +1 -1
  19. package/dist-cjs/packages/grid/src/internal/Scrollable.js +27 -21
  20. package/dist-cjs/packages/grid/src/internal/Scrollable.js.map +1 -1
  21. package/dist-cjs/packages/grid/src/internal/TableRow.js +3 -6
  22. package/dist-cjs/packages/grid/src/internal/TableRow.js.map +1 -1
  23. package/dist-cjs/packages/grid/src/internal/TopLeftPart.js +2 -6
  24. package/dist-cjs/packages/grid/src/internal/TopLeftPart.js.map +1 -1
  25. package/dist-cjs/packages/grid/src/internal/TopPart.js +2 -6
  26. package/dist-cjs/packages/grid/src/internal/TopPart.js.map +1 -1
  27. package/dist-cjs/packages/grid/src/internal/TopRightPart.js +2 -6
  28. package/dist-cjs/packages/grid/src/internal/TopRightPart.js.map +1 -1
  29. package/dist-es/packages/grid/src/BaseCell.js +2 -2
  30. package/dist-es/packages/grid/src/BaseCell.js.map +1 -1
  31. package/dist-es/packages/grid/src/Grid.js +14 -12
  32. package/dist-es/packages/grid/src/Grid.js.map +1 -1
  33. package/dist-es/packages/grid/src/GroupHeaderCell.js +2 -2
  34. package/dist-es/packages/grid/src/GroupHeaderCell.js.map +1 -1
  35. package/dist-es/packages/grid/src/HeaderCell.js +6 -6
  36. package/dist-es/packages/grid/src/HeaderCell.js.map +1 -1
  37. package/dist-es/packages/grid/src/RowSelectionRadioHeaderCell.js +2 -2
  38. package/dist-es/packages/grid/src/RowSelectionRadioHeaderCell.js.map +1 -1
  39. package/dist-es/packages/grid/src/internal/Cell.js +2 -2
  40. package/dist-es/packages/grid/src/internal/Cell.js.map +1 -1
  41. package/dist-es/packages/grid/src/internal/DefaultCellValue.js +2 -2
  42. package/dist-es/packages/grid/src/internal/DefaultCellValue.js.map +1 -1
  43. package/dist-es/packages/grid/src/internal/LeftPart.js +2 -2
  44. package/dist-es/packages/grid/src/internal/LeftPart.js.map +1 -1
  45. package/dist-es/packages/grid/src/internal/RightPart.js +2 -2
  46. package/dist-es/packages/grid/src/internal/RightPart.js.map +1 -1
  47. package/dist-es/packages/grid/src/internal/Scrollable.js +27 -21
  48. package/dist-es/packages/grid/src/internal/Scrollable.js.map +1 -1
  49. package/dist-es/packages/grid/src/internal/TableRow.js +3 -2
  50. package/dist-es/packages/grid/src/internal/TableRow.js.map +1 -1
  51. package/dist-es/packages/grid/src/internal/TopLeftPart.js +2 -2
  52. package/dist-es/packages/grid/src/internal/TopLeftPart.js.map +1 -1
  53. package/dist-es/packages/grid/src/internal/TopPart.js +2 -2
  54. package/dist-es/packages/grid/src/internal/TopPart.js.map +1 -1
  55. package/dist-es/packages/grid/src/internal/TopRightPart.js +2 -2
  56. package/dist-es/packages/grid/src/internal/TopRightPart.js.map +1 -1
  57. package/dist-types/internal/Scrollable.d.ts +6 -1
  58. package/package.json +4 -4
@@ -12,50 +12,61 @@ function Scrollable(props) {
12
12
  leftRef,
13
13
  rightRef,
14
14
  bottomRef,
15
- resizeClient
15
+ resizeClient,
16
+ scrollLeft,
17
+ scrollTop,
18
+ scrollSource
16
19
  } = props;
17
20
  const onScroll = (event) => {
18
21
  if (!scrollerRef.current) {
19
22
  return;
20
23
  }
21
- const { scrollLeft, scrollTop } = scrollerRef.current;
24
+ const { scrollLeft: scrollLeft2, scrollTop: scrollTop2 } = scrollerRef.current;
22
25
  const top = topRef.current;
23
26
  const bottom = bottomRef.current;
24
27
  if (top) {
25
- top.scrollLeft = scrollLeft;
28
+ top.scrollLeft = scrollLeft2;
26
29
  }
27
30
  if (bottom) {
28
- bottom.scrollLeft = scrollLeft;
31
+ bottom.scrollLeft = scrollLeft2;
29
32
  }
30
33
  const left = leftRef.current;
31
34
  if (left) {
32
- left.scrollTop = scrollTop;
35
+ left.scrollTop = scrollTop2;
33
36
  }
34
37
  const right = rightRef.current;
35
38
  if (right) {
36
- right.scrollTop = scrollTop;
39
+ right.scrollTop = scrollTop2;
37
40
  }
38
41
  const middle = middleRef.current;
39
42
  if (middle) {
40
- middle.scrollTop = scrollTop;
41
- middle.scrollLeft = scrollLeft;
43
+ middle.scrollTop = scrollTop2;
44
+ middle.scrollLeft = scrollLeft2;
42
45
  }
43
- props.scroll(scrollLeft, scrollTop, "user");
46
+ props.scroll(scrollLeft2, scrollTop2, "user");
44
47
  };
45
48
  useEffect(() => {
46
49
  if (!scrollerRef.current) {
47
50
  return;
48
51
  }
49
- const { offsetWidth, offsetHeight, clientWidth, clientHeight } = scrollerRef.current;
50
- const scrollBarWidth = offsetWidth - clientWidth;
51
- const scrollBarHeight = offsetHeight - clientHeight;
52
- resizeClient(clientWidth, clientHeight, scrollBarWidth, scrollBarHeight);
53
- });
52
+ const resizeObserver = new ResizeObserver(([entry]) => {
53
+ const { offsetWidth, offsetHeight, clientWidth, clientHeight } = entry.target;
54
+ const scrollBarWidth = offsetWidth - clientWidth;
55
+ const scrollBarHeight = offsetHeight - clientHeight;
56
+ resizeClient({
57
+ clientWidth,
58
+ clientHeight,
59
+ scrollBarWidth,
60
+ scrollBarHeight
61
+ });
62
+ });
63
+ resizeObserver.observe(scrollerRef.current);
64
+ return () => resizeObserver.disconnect();
65
+ }, [resizeClient, scrollerRef]);
54
66
  useEffect(() => {
55
67
  if (!scrollerRef.current) {
56
68
  return;
57
69
  }
58
- const { scrollLeft, scrollTop, scrollSource } = props;
59
70
  if (scrollSource === "table") {
60
71
  if (scrollLeft !== scrollerRef.current.scrollLeft) {
61
72
  scrollerRef.current.scrollLeft = scrollLeft;
@@ -64,12 +75,7 @@ function Scrollable(props) {
64
75
  scrollerRef.current.scrollTop = scrollTop;
65
76
  }
66
77
  }
67
- }, [
68
- props.scrollLeft,
69
- props.scrollTop,
70
- props.scrollSource,
71
- scrollerRef.current
72
- ]);
78
+ }, [scrollLeft, scrollTop, scrollSource, scrollerRef]);
73
79
  return /* @__PURE__ */ jsx("div", {
74
80
  ref: scrollerRef,
75
81
  className: withBaseName(),
@@ -1 +1 @@
1
- {"version":3,"file":"Scrollable.js","sources":["../src/internal/Scrollable.tsx"],"sourcesContent":["import { RefObject, UIEventHandler, useEffect } from \"react\";\nimport \"./Scrollable.css\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nconst withBaseName = makePrefixer(\"saltGridScrollable\");\n\nexport interface ScrollableProps<T> {\n resizeClient: (\n clientWidth: number,\n clientHeight: number,\n scrollBarWidth: number,\n scrollBarHeight: number\n ) => void;\n\n scrollLeft: number;\n scrollTop: number;\n scrollSource: \"user\" | \"table\";\n scroll: (left?: number, top?: number, source?: \"user\" | \"table\") => void;\n\n scrollerRef: RefObject<HTMLDivElement>;\n middleRef: RefObject<HTMLDivElement>;\n topRef: RefObject<HTMLDivElement>;\n leftRef: RefObject<HTMLDivElement>;\n rightRef: RefObject<HTMLDivElement>;\n bottomRef: RefObject<HTMLDivElement>;\n}\n\n// Provides scrollbars for the grid. Synchronizes scrolling across all parts\n// (pinned and unpinned).\nexport function Scrollable<T>(props: ScrollableProps<T>) {\n const {\n scrollerRef,\n middleRef,\n topRef,\n leftRef,\n rightRef,\n bottomRef,\n resizeClient,\n } = props;\n\n const onScroll: UIEventHandler<HTMLDivElement> = (event) => {\n if (!scrollerRef.current) {\n return;\n }\n const { scrollLeft, scrollTop } = scrollerRef.current;\n const top = topRef.current;\n const bottom = bottomRef.current;\n if (top) {\n top.scrollLeft = scrollLeft;\n }\n if (bottom) {\n bottom.scrollLeft = scrollLeft;\n }\n const left = leftRef.current;\n if (left) {\n left.scrollTop = scrollTop;\n }\n const right = rightRef.current;\n if (right) {\n right.scrollTop = scrollTop;\n }\n const middle = middleRef.current;\n if (middle) {\n middle.scrollTop = scrollTop;\n middle.scrollLeft = scrollLeft;\n }\n props.scroll(scrollLeft, scrollTop, \"user\");\n };\n\n useEffect(() => {\n if (!scrollerRef.current) {\n return;\n }\n const { offsetWidth, offsetHeight, clientWidth, clientHeight } =\n scrollerRef.current;\n const scrollBarWidth = offsetWidth - clientWidth;\n const scrollBarHeight = offsetHeight - clientHeight;\n resizeClient(clientWidth, clientHeight, scrollBarWidth, scrollBarHeight);\n });\n\n useEffect(() => {\n if (!scrollerRef.current) {\n return;\n }\n const { scrollLeft, scrollTop, scrollSource } = props;\n if (scrollSource === \"table\") {\n if (scrollLeft !== scrollerRef.current.scrollLeft) {\n scrollerRef.current.scrollLeft = scrollLeft;\n }\n if (scrollTop !== scrollerRef.current.scrollTop) {\n scrollerRef.current.scrollTop = scrollTop;\n }\n }\n }, [\n props.scrollLeft,\n props.scrollTop,\n props.scrollSource,\n scrollerRef.current,\n ]);\n\n return (\n <div\n ref={scrollerRef}\n className={withBaseName()}\n onScroll={onScroll}\n data-testid=\"grid-scrollable\"\n >\n <div className={withBaseName(\"space\")} />\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scrollable.js","sources":["../src/internal/Scrollable.tsx"],"sourcesContent":["import { RefObject, UIEventHandler, useEffect } from \"react\";\nimport \"./Scrollable.css\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nconst withBaseName = makePrefixer(\"saltGridScrollable\");\n\nexport interface ScrollableProps<T> {\n resizeClient: (params: {\n clientWidth: number;\n clientHeight: number;\n scrollBarWidth: number;\n scrollBarHeight: number;\n }) => void;\n\n scrollLeft: number;\n scrollTop: number;\n scrollSource: \"user\" | \"table\";\n scroll: (left?: number, top?: number, source?: \"user\" | \"table\") => void;\n\n scrollerRef: RefObject<HTMLDivElement>;\n middleRef: RefObject<HTMLDivElement>;\n topRef: RefObject<HTMLDivElement>;\n leftRef: RefObject<HTMLDivElement>;\n rightRef: RefObject<HTMLDivElement>;\n bottomRef: RefObject<HTMLDivElement>;\n}\n\n// Provides scrollbars for the grid. Synchronizes scrolling across all parts\n// (pinned and unpinned).\nexport function Scrollable<T>(props: ScrollableProps<T>) {\n const {\n scrollerRef,\n middleRef,\n topRef,\n leftRef,\n rightRef,\n bottomRef,\n resizeClient,\n scrollLeft,\n scrollTop,\n scrollSource,\n } = props;\n\n const onScroll: UIEventHandler<HTMLDivElement> = (event) => {\n if (!scrollerRef.current) {\n return;\n }\n const { scrollLeft, scrollTop } = scrollerRef.current;\n const top = topRef.current;\n const bottom = bottomRef.current;\n if (top) {\n top.scrollLeft = scrollLeft;\n }\n if (bottom) {\n bottom.scrollLeft = scrollLeft;\n }\n const left = leftRef.current;\n if (left) {\n left.scrollTop = scrollTop;\n }\n const right = rightRef.current;\n if (right) {\n right.scrollTop = scrollTop;\n }\n const middle = middleRef.current;\n if (middle) {\n middle.scrollTop = scrollTop;\n middle.scrollLeft = scrollLeft;\n }\n props.scroll(scrollLeft, scrollTop, \"user\");\n };\n\n useEffect(() => {\n if (!scrollerRef.current) {\n return;\n }\n const resizeObserver = new ResizeObserver(([entry]) => {\n const { offsetWidth, offsetHeight, clientWidth, clientHeight } =\n entry.target as HTMLDivElement;\n const scrollBarWidth = offsetWidth - clientWidth;\n const scrollBarHeight = offsetHeight - clientHeight;\n resizeClient({\n clientWidth,\n clientHeight,\n scrollBarWidth,\n scrollBarHeight,\n });\n });\n\n resizeObserver.observe(scrollerRef.current);\n return () => resizeObserver.disconnect();\n }, [resizeClient, scrollerRef]);\n\n useEffect(() => {\n if (!scrollerRef.current) {\n return;\n }\n if (scrollSource === \"table\") {\n if (scrollLeft !== scrollerRef.current.scrollLeft) {\n scrollerRef.current.scrollLeft = scrollLeft;\n }\n if (scrollTop !== scrollerRef.current.scrollTop) {\n scrollerRef.current.scrollTop = scrollTop;\n }\n }\n }, [scrollLeft, scrollTop, scrollSource, scrollerRef]);\n\n return (\n <div\n ref={scrollerRef}\n className={withBaseName()}\n onScroll={onScroll}\n data-testid=\"grid-scrollable\"\n >\n <div className={withBaseName(\"space\")} />\n </div>\n );\n}\n"],"names":["scrollLeft","scrollTop"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { isValidElement, Children, cloneElement } from 'react';
3
3
  import './TableRow.css.js';
4
4
  import { BaseCell } from '../BaseCell.js';
5
5
  import { makePrefixer } from '@salt-ds/core';
6
- import cn from 'classnames';
6
+ import { clsx } from 'clsx';
7
7
  import { FakeCell } from './FakeCell.js';
8
8
  import { DefaultCellValue } from './DefaultCellValue.js';
9
9
  import { useGridContext } from '../GridContext.js';
@@ -32,7 +32,8 @@ function TableRow(props) {
32
32
  const ariaRowIndex = headerIsFocusable ? row.index + 2 : row.index + 1;
33
33
  return /* @__PURE__ */ jsxs("tr", {
34
34
  "aria-rowindex": ariaRowIndex,
35
- className: cn(withBaseName(), {
35
+ "aria-selected": isSelected ? true : void 0,
36
+ className: clsx(withBaseName(), {
36
37
  [withBaseName("zebra")]: zebra,
37
38
  [withBaseName("hover")]: isHoverOver,
38
39
  [withBaseName("selected")]: isSelected,
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.js","sources":["../src/internal/TableRow.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n isValidElement,\n MouseEventHandler,\n} from \"react\";\nimport \"./TableRow.css\";\nimport { BaseCell } from \"../BaseCell\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport cn from \"classnames\";\nimport { GridColumnModel, GridRowModel } from \"../Grid\";\nimport { FakeCell } from \"./FakeCell\";\nimport { DefaultCellValue } from \"./DefaultCellValue\";\nimport { useGridContext } from \"../GridContext\";\n\nconst withBaseName = makePrefixer(\"saltGridTableRow\");\n\nexport interface TableRowProps<T> {\n row: GridRowModel<T>;\n isSelected?: boolean; // Render selected background and the bottom border. Top border is rendered by the previous row (it gets isFollowedBySelected = true)\n isFollowedBySelected?: boolean; // Next row is selected. Render the bottom border.\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}\n\nexport function TableRow<T>(props: TableRowProps<T>) {\n const {\n row,\n isSelected,\n isFollowedBySelected,\n zebra,\n isHoverOver,\n columns,\n onMouseEnter,\n onMouseLeave,\n cursorColIdx,\n gap,\n editorColIdx,\n isCellSelected,\n headerIsFocusable,\n } = props;\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 className={cn(withBaseName(), {\n [withBaseName(\"zebra\")]: zebra,\n [withBaseName(\"hover\")]: isHoverOver,\n [withBaseName(\"selected\")]: isSelected,\n [withBaseName(\"followedBySelected\")]:\n isFollowedBySelected && !isSelected,\n [withBaseName(\"first\")]: row.index === 0,\n })}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n data-row-index={row.index}\n data-row-key={row.key}\n role=\"row\"\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 =\n isCellSelected && isCellSelected(row.index, column.index);\n\n return (\n <Cell\n key={colKey}\n row={row}\n column={column}\n isFocused={isFocused}\n isSelected={isSelected}\n isEditable={isEditable}\n >\n <CellValue\n column={column}\n row={row}\n value={value}\n isFocused={isFocused}\n />\n </Cell>\n );\n })}\n {gap !== undefined && gap > 0 ? <FakeCell row={row} /> : null}\n </tr>\n );\n}\n"],"names":["isSelected"],"mappings":"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"}
1
+ {"version":3,"file":"TableRow.js","sources":["../src/internal/TableRow.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n isValidElement,\n MouseEventHandler,\n} from \"react\";\nimport \"./TableRow.css\";\nimport { BaseCell } from \"../BaseCell\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { GridColumnModel, GridRowModel } from \"../Grid\";\nimport { FakeCell } from \"./FakeCell\";\nimport { DefaultCellValue } from \"./DefaultCellValue\";\nimport { useGridContext } from \"../GridContext\";\n\nconst withBaseName = makePrefixer(\"saltGridTableRow\");\n\nexport interface TableRowProps<T> {\n row: GridRowModel<T>;\n isSelected?: boolean; // Render selected background and the bottom border. Top border is rendered by the previous row (it gets isFollowedBySelected = true)\n isFollowedBySelected?: boolean; // Next row is selected. Render the bottom border.\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}\n\nexport function TableRow<T>(props: TableRowProps<T>) {\n const {\n row,\n isSelected,\n isFollowedBySelected,\n zebra,\n isHoverOver,\n columns,\n onMouseEnter,\n onMouseLeave,\n cursorColIdx,\n gap,\n editorColIdx,\n isCellSelected,\n headerIsFocusable,\n } = props;\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(\"followedBySelected\")]:\n isFollowedBySelected && !isSelected,\n [withBaseName(\"first\")]: row.index === 0,\n })}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n data-row-index={row.index}\n data-row-key={row.key}\n role=\"row\"\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 =\n isCellSelected && isCellSelected(row.index, column.index);\n\n return (\n <Cell\n key={colKey}\n row={row}\n column={column}\n isFocused={isFocused}\n isSelected={isSelected}\n isEditable={isEditable}\n >\n <CellValue\n column={column}\n row={row}\n value={value}\n isFocused={isFocused}\n />\n </Cell>\n );\n })}\n {gap !== undefined && gap > 0 ? <FakeCell row={row} /> : null}\n </tr>\n );\n}\n"],"names":["isSelected"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { TableColGroup } from './TableColGroup.js';
4
4
  import { HeaderRow } from './HeaderRow.js';
5
5
  import { makePrefixer } from '@salt-ds/core';
6
6
  import { GroupHeaderRow } from './GroupHeaderRow.js';
7
- import cn from 'classnames';
7
+ import { clsx } from 'clsx';
8
8
  import { useActiveOnWheel } from './gridHooks.js';
9
9
 
10
10
  const withBaseName = makePrefixer("saltGridTopLeftPart");
@@ -15,7 +15,7 @@ function TopLeftPart(props) {
15
15
  return null;
16
16
  }
17
17
  return /* @__PURE__ */ jsx("div", {
18
- className: cn(withBaseName(), {
18
+ className: clsx(withBaseName(), {
19
19
  [withBaseName("rightShadow")]: rightShadow,
20
20
  [withBaseName("bottomShadow")]: bottomShadow
21
21
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"TopLeftPart.js","sources":["../src/internal/TopLeftPart.tsx"],"sourcesContent":["import \"./TopLeftPart.css\";\nimport { TableColGroup } from \"./TableColGroup\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport cx from \"classnames\";\nimport { useActiveOnWheel } from \"./gridHooks\";\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 tableRef = useActiveOnWheel(onWheel);\n\n if (columns.length === 0) {\n return null;\n }\n\n return (\n <div\n className={cx(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":["cx"],"mappings":";;;;;;;;;AASA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAUhD,SAAS,YAAe,KAA4B,EAAA;AACzD,EAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,YAAc,EAAA,WAAA,EAAa,cAAiB,GAAA,KAAA,CAAA;AAEtE,EAAM,MAAA,QAAA,GAAW,iBAAiB,OAAO,CAAA,CAAA;AAEzC,EAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACxB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAWA,EAAG,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC5B,CAAC,YAAa,CAAA,aAAa,CAAI,GAAA,WAAA;AAAA,MAC/B,CAAC,YAAa,CAAA,cAAc,CAAI,GAAA,YAAA;AAAA,KACjC,CAAA;AAAA,IACD,aAAY,EAAA,oBAAA;AAAA,IAEZ,QAAC,kBAAA,IAAA,CAAA,OAAA,EAAA;AAAA,MAAM,GAAK,EAAA,QAAA;AAAA,MAAU,IAAK,EAAA,cAAA;AAAA,MACzB,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,aAAA,EAAA;AAAA,UAAc,OAAA;AAAA,SAAkB,CAAA;AAAA,wBAChC,IAAA,CAAA,OAAA,EAAA;AAAA,UACC,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,cAAA,EAAA;AAAA,cAAe,MAAQ,EAAA,YAAA;AAAA,aAAc,CAAA;AAAA,4BACrC,GAAA,CAAA,SAAA,EAAA;AAAA,cAAU,OAAA;AAAA,aAAkB,CAAA;AAAA,WAAA;AAAA,SAC/B,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"TopLeftPart.js","sources":["../src/internal/TopLeftPart.tsx"],"sourcesContent":["import \"./TopLeftPart.css\";\nimport { TableColGroup } from \"./TableColGroup\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport { clsx } from \"clsx\";\nimport { useActiveOnWheel } from \"./gridHooks\";\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 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":[],"mappings":";;;;;;;;;AASA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAUhD,SAAS,YAAe,KAA4B,EAAA;AACzD,EAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,YAAc,EAAA,WAAA,EAAa,cAAiB,GAAA,KAAA,CAAA;AAEtE,EAAM,MAAA,QAAA,GAAW,iBAAiB,OAAO,CAAA,CAAA;AAEzC,EAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACxB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAW,IAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,aAAa,CAAI,GAAA,WAAA;AAAA,MAC/B,CAAC,YAAa,CAAA,cAAc,CAAI,GAAA,YAAA;AAAA,KACjC,CAAA;AAAA,IACD,aAAY,EAAA,oBAAA;AAAA,IAEZ,QAAC,kBAAA,IAAA,CAAA,OAAA,EAAA;AAAA,MAAM,GAAK,EAAA,QAAA;AAAA,MAAU,IAAK,EAAA,cAAA;AAAA,MACzB,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,aAAA,EAAA;AAAA,UAAc,OAAA;AAAA,SAAkB,CAAA;AAAA,wBAChC,IAAA,CAAA,OAAA,EAAA;AAAA,UACC,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,cAAA,EAAA;AAAA,cAAe,MAAQ,EAAA,YAAA;AAAA,aAAc,CAAA;AAAA,4BACrC,GAAA,CAAA,SAAA,EAAA;AAAA,cAAU,OAAA;AAAA,aAAkB,CAAA;AAAA,WAAA;AAAA,SAC/B,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -5,14 +5,14 @@ import { makePrefixer } from '@salt-ds/core';
5
5
  import { HeaderRow } from './HeaderRow.js';
6
6
  import { GroupHeaderRow } from './GroupHeaderRow.js';
7
7
  import { useActiveOnWheel } from './gridHooks.js';
8
- import cn from 'classnames';
8
+ import { clsx } from 'clsx';
9
9
 
10
10
  const withBaseName = makePrefixer("saltGridTopPart");
11
11
  function TopPart(props) {
12
12
  const { topRef, onWheel, columns, columnGroups, midGap, bottomShadow } = props;
13
13
  const tableRef = useActiveOnWheel(onWheel);
14
14
  return /* @__PURE__ */ jsx("div", {
15
- className: cn(withBaseName(), {
15
+ className: clsx(withBaseName(), {
16
16
  [withBaseName("bottomShadow")]: bottomShadow
17
17
  }),
18
18
  ref: topRef,
@@ -1 +1 @@
1
- {"version":3,"file":"TopPart.js","sources":["../src/internal/TopPart.tsx"],"sourcesContent":["import { RefObject } from \"react\";\nimport { TableColGroup } from \"./TableColGroup\";\nimport \"./TopPart.css\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport { useActiveOnWheel } from \"./gridHooks\";\nimport cx from \"classnames\";\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 tableRef = useActiveOnWheel(onWheel);\n\n return (\n <div\n className={cx(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":["cx"],"mappings":";;;;;;;;;AAUA,MAAM,YAAA,GAAe,aAAa,iBAAiB,CAAA,CAAA;AAW5C,SAAS,QAAW,KAAwB,EAAA;AACjD,EAAA,MAAM,EAAE,MAAQ,EAAA,OAAA,EAAS,SAAS,YAAc,EAAA,MAAA,EAAQ,cACtD,GAAA,KAAA,CAAA;AAEF,EAAM,MAAA,QAAA,GAAW,iBAAiB,OAAO,CAAA,CAAA;AAEzC,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAWA,EAAG,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC5B,CAAC,YAAa,CAAA,cAAc,CAAI,GAAA,YAAA;AAAA,KACjC,CAAA;AAAA,IACD,GAAK,EAAA,MAAA;AAAA,IACL,aAAY,EAAA,eAAA;AAAA,IAEZ,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAClC,QAAC,kBAAA,IAAA,CAAA,OAAA,EAAA;AAAA,QAAM,GAAK,EAAA,QAAA;AAAA,QAAU,IAAK,EAAA,cAAA;AAAA,QACzB,QAAA,EAAA;AAAA,0BAAC,GAAA,CAAA,aAAA,EAAA;AAAA,YAAc,OAAA;AAAA,YAAkB,GAAK,EAAA,MAAA;AAAA,WAAQ,CAAA;AAAA,0BAC7C,IAAA,CAAA,OAAA,EAAA;AAAA,YACC,QAAA,EAAA;AAAA,8BAAC,GAAA,CAAA,cAAA,EAAA;AAAA,gBAAe,MAAQ,EAAA,YAAA;AAAA,gBAAc,GAAK,EAAA,MAAA;AAAA,eAAQ,CAAA;AAAA,8BAClD,GAAA,CAAA,SAAA,EAAA;AAAA,gBAAU,OAAA;AAAA,gBAAkB,GAAK,EAAA,MAAA;AAAA,eAAQ,CAAA;AAAA,aAAA;AAAA,WAC5C,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"TopPart.js","sources":["../src/internal/TopPart.tsx"],"sourcesContent":["import { RefObject } from \"react\";\nimport { TableColGroup } from \"./TableColGroup\";\nimport \"./TopPart.css\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport { useActiveOnWheel } from \"./gridHooks\";\nimport { clsx } from \"clsx\";\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 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":[],"mappings":";;;;;;;;;AAUA,MAAM,YAAA,GAAe,aAAa,iBAAiB,CAAA,CAAA;AAW5C,SAAS,QAAW,KAAwB,EAAA;AACjD,EAAA,MAAM,EAAE,MAAQ,EAAA,OAAA,EAAS,SAAS,YAAc,EAAA,MAAA,EAAQ,cACtD,GAAA,KAAA,CAAA;AAEF,EAAM,MAAA,QAAA,GAAW,iBAAiB,OAAO,CAAA,CAAA;AAEzC,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAW,IAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,cAAc,CAAI,GAAA,YAAA;AAAA,KACjC,CAAA;AAAA,IACD,GAAK,EAAA,MAAA;AAAA,IACL,aAAY,EAAA,eAAA;AAAA,IAEZ,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAClC,QAAC,kBAAA,IAAA,CAAA,OAAA,EAAA;AAAA,QAAM,GAAK,EAAA,QAAA;AAAA,QAAU,IAAK,EAAA,cAAA;AAAA,QACzB,QAAA,EAAA;AAAA,0BAAC,GAAA,CAAA,aAAA,EAAA;AAAA,YAAc,OAAA;AAAA,YAAkB,GAAK,EAAA,MAAA;AAAA,WAAQ,CAAA;AAAA,0BAC7C,IAAA,CAAA,OAAA,EAAA;AAAA,YACC,QAAA,EAAA;AAAA,8BAAC,GAAA,CAAA,cAAA,EAAA;AAAA,gBAAe,MAAQ,EAAA,YAAA;AAAA,gBAAc,GAAK,EAAA,MAAA;AAAA,eAAQ,CAAA;AAAA,8BAClD,GAAA,CAAA,SAAA,EAAA;AAAA,gBAAU,OAAA;AAAA,gBAAkB,GAAK,EAAA,MAAA;AAAA,eAAQ,CAAA;AAAA,aAAA;AAAA,WAC5C,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -4,7 +4,7 @@ import { HeaderRow } from './HeaderRow.js';
4
4
  import './TopRightPart.css.js';
5
5
  import { makePrefixer } from '@salt-ds/core';
6
6
  import { GroupHeaderRow } from './GroupHeaderRow.js';
7
- import cn from 'classnames';
7
+ import { clsx } from 'clsx';
8
8
  import { useActiveOnWheel } from './gridHooks.js';
9
9
 
10
10
  const withBaseName = makePrefixer("saltGridTopRightPart");
@@ -15,7 +15,7 @@ function TopRightPart(props) {
15
15
  return null;
16
16
  }
17
17
  return /* @__PURE__ */ jsx("div", {
18
- className: cn(withBaseName(), {
18
+ className: clsx(withBaseName(), {
19
19
  [withBaseName("leftShadow")]: leftShadow,
20
20
  [withBaseName("bottomShadow")]: bottomShadow
21
21
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"TopRightPart.js","sources":["../src/internal/TopRightPart.tsx"],"sourcesContent":["import { TableColGroup } from \"./TableColGroup\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport \"./TopRightPart.css\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport cx from \"classnames\";\nimport { useActiveOnWheel } from \"./gridHooks\";\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 tableRef = useActiveOnWheel(onWheel);\n\n if (columns.length === 0) {\n return null;\n }\n\n return (\n <div\n className={cx(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":["cx"],"mappings":";;;;;;;;;AASA,MAAM,YAAA,GAAe,aAAa,sBAAsB,CAAA,CAAA;AAUjD,SAAS,aAAgB,KAA6B,EAAA;AAC3D,EAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,YAAc,EAAA,UAAA,EAAY,cAAiB,GAAA,KAAA,CAAA;AAErE,EAAM,MAAA,QAAA,GAAW,iBAAiB,OAAO,CAAA,CAAA;AAEzC,EAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACxB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAWA,EAAG,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC5B,CAAC,YAAa,CAAA,YAAY,CAAI,GAAA,UAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,cAAc,CAAI,GAAA,YAAA;AAAA,KACjC,CAAA;AAAA,IACD,aAAY,EAAA,qBAAA;AAAA,IAEZ,QAAC,kBAAA,IAAA,CAAA,OAAA,EAAA;AAAA,MACC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAC/B,GAAK,EAAA,QAAA;AAAA,MACL,IAAK,EAAA,cAAA;AAAA,MAEL,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,aAAA,EAAA;AAAA,UAAc,OAAA;AAAA,SAAkB,CAAA;AAAA,wBAChC,IAAA,CAAA,OAAA,EAAA;AAAA,UACC,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,cAAA,EAAA;AAAA,cAAe,MAAQ,EAAA,YAAA;AAAA,aAAc,CAAA;AAAA,4BACrC,GAAA,CAAA,SAAA,EAAA;AAAA,cAAU,OAAA;AAAA,aAAkB,CAAA;AAAA,WAAA;AAAA,SAG/B,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"TopRightPart.js","sources":["../src/internal/TopRightPart.tsx"],"sourcesContent":["import { TableColGroup } from \"./TableColGroup\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport \"./TopRightPart.css\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport { clsx } from \"clsx\";\nimport { useActiveOnWheel } from \"./gridHooks\";\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 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":[],"mappings":";;;;;;;;;AASA,MAAM,YAAA,GAAe,aAAa,sBAAsB,CAAA,CAAA;AAUjD,SAAS,aAAgB,KAA6B,EAAA;AAC3D,EAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,YAAc,EAAA,UAAA,EAAY,cAAiB,GAAA,KAAA,CAAA;AAErE,EAAM,MAAA,QAAA,GAAW,iBAAiB,OAAO,CAAA,CAAA;AAEzC,EAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACxB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAW,IAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,YAAY,CAAI,GAAA,UAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,cAAc,CAAI,GAAA,YAAA;AAAA,KACjC,CAAA;AAAA,IACD,aAAY,EAAA,qBAAA;AAAA,IAEZ,QAAC,kBAAA,IAAA,CAAA,OAAA,EAAA;AAAA,MACC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAC/B,GAAK,EAAA,QAAA;AAAA,MACL,IAAK,EAAA,cAAA;AAAA,MAEL,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,aAAA,EAAA;AAAA,UAAc,OAAA;AAAA,SAAkB,CAAA;AAAA,wBAChC,IAAA,CAAA,OAAA,EAAA;AAAA,UACC,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,cAAA,EAAA;AAAA,cAAe,MAAQ,EAAA,YAAA;AAAA,aAAc,CAAA;AAAA,4BACrC,GAAA,CAAA,SAAA,EAAA;AAAA,cAAU,OAAA;AAAA,aAAkB,CAAA;AAAA,WAAA;AAAA,SAG/B,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -1,7 +1,12 @@
1
1
  import { RefObject } from "react";
2
2
  import "./Scrollable.css";
3
3
  export interface ScrollableProps<T> {
4
- resizeClient: (clientWidth: number, clientHeight: number, scrollBarWidth: number, scrollBarHeight: number) => void;
4
+ resizeClient: (params: {
5
+ clientWidth: number;
6
+ clientHeight: number;
7
+ scrollBarWidth: number;
8
+ scrollBarHeight: number;
9
+ }) => void;
5
10
  scrollLeft: number;
6
11
  scrollTop: number;
7
12
  scrollSource: "user" | "table";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salt-ds/data-grid",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "dist-cjs/packages/grid/src/index.js",
6
6
  "sideEffects": [
@@ -23,9 +23,9 @@
23
23
  "module": "dist-es/packages/grid/src/index.js",
24
24
  "typings": "dist-types/index.d.ts",
25
25
  "dependencies": {
26
- "classnames": "^2.2.6",
27
- "@salt-ds/core": "1.0.0",
28
- "@salt-ds/lab": "1.0.0-alpha.0"
26
+ "clsx": "^1.2.1",
27
+ "@salt-ds/core": "1.1.0",
28
+ "@salt-ds/lab": "1.0.0-alpha.1"
29
29
  },
30
30
  "files": [
31
31
  "dist-cjs",