@clickhouse/click-ui 0.8.0 → 0.9.0

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 (96) hide show
  1. package/dist/cjs/click-ui.css +362 -0
  2. package/dist/cjs/components/Assets/Icons/Horizontal-Loading.cjs +13 -49
  3. package/dist/cjs/components/Assets/Icons/Horizontal-Loading.cjs.map +1 -1
  4. package/dist/cjs/components/Assets/Icons/Loaders.css +94 -0
  5. package/dist/cjs/components/Assets/Icons/Loaders.module.css.cjs +13 -0
  6. package/dist/cjs/components/Assets/Icons/Loaders.module.css.cjs.map +1 -0
  7. package/dist/cjs/components/Assets/Icons/Loading-Animated.cjs +8 -12
  8. package/dist/cjs/components/Assets/Icons/Loading-Animated.cjs.map +1 -1
  9. package/dist/cjs/components/Assets/Icons/Loading.cjs +13 -6
  10. package/dist/cjs/components/Assets/Icons/Loading.cjs.map +1 -1
  11. package/dist/cjs/components/DatePicker/DateRangePicker.cjs +12 -2
  12. package/dist/cjs/components/DatePicker/DateRangePicker.cjs.map +1 -1
  13. package/dist/cjs/components/DatePicker/index.cjs +1 -3
  14. package/dist/cjs/components/DatePicker/index.cjs.map +1 -1
  15. package/dist/cjs/components/DatePicker/utils.cjs +3 -0
  16. package/dist/cjs/components/DatePicker/utils.cjs.map +1 -1
  17. package/dist/cjs/components/Grid/Cell.cjs +1 -3
  18. package/dist/cjs/components/Grid/Cell.cjs.map +1 -1
  19. package/dist/cjs/components/Grid/ColumnResizer.cjs +18 -15
  20. package/dist/cjs/components/Grid/ColumnResizer.cjs.map +1 -1
  21. package/dist/cjs/components/Grid/ColumnResizer.css +22 -0
  22. package/dist/cjs/components/Grid/ColumnResizer.module.css.cjs +11 -0
  23. package/dist/cjs/components/Grid/ColumnResizer.module.css.cjs.map +1 -0
  24. package/dist/cjs/components/Grid/Grid.css +34 -0
  25. package/dist/cjs/components/Grid/Grid.module.css.cjs +21 -0
  26. package/dist/cjs/components/Grid/Grid.module.css.cjs.map +1 -0
  27. package/dist/cjs/components/Grid/Header.cjs +22 -43
  28. package/dist/cjs/components/Grid/Header.cjs.map +1 -1
  29. package/dist/cjs/components/Grid/Header.css +44 -0
  30. package/dist/cjs/components/Grid/Header.module.css.cjs +19 -0
  31. package/dist/cjs/components/Grid/Header.module.css.cjs.map +1 -0
  32. package/dist/cjs/components/Grid/RowNumberColumn.cjs +12 -29
  33. package/dist/cjs/components/Grid/RowNumberColumn.cjs.map +1 -1
  34. package/dist/cjs/components/Grid/RowNumberColumn.css +22 -0
  35. package/dist/cjs/components/Grid/RowNumberColumn.module.css.cjs +12 -0
  36. package/dist/cjs/components/Grid/RowNumberColumn.module.css.cjs.map +1 -0
  37. package/dist/cjs/components/Grid/StyledCell.cjs +84 -56
  38. package/dist/cjs/components/Grid/StyledCell.cjs.map +1 -1
  39. package/dist/cjs/components/Grid/StyledCell.css +146 -0
  40. package/dist/cjs/components/Grid/StyledCell.module.css.cjs +47 -0
  41. package/dist/cjs/components/Grid/StyledCell.module.css.cjs.map +1 -0
  42. package/dist/cjs/components/Grid/index.cjs +30 -30
  43. package/dist/cjs/components/Grid/index.cjs.map +1 -1
  44. package/dist/esm/click-ui.css +362 -0
  45. package/dist/esm/components/Assets/Icons/Horizontal-Loading.js +13 -49
  46. package/dist/esm/components/Assets/Icons/Horizontal-Loading.js.map +1 -1
  47. package/dist/esm/components/Assets/Icons/Loaders.css +94 -0
  48. package/dist/esm/components/Assets/Icons/Loaders.module.css.js +8 -0
  49. package/dist/esm/components/Assets/Icons/Loaders.module.css.js.map +1 -0
  50. package/dist/esm/components/Assets/Icons/Loading-Animated.js +9 -13
  51. package/dist/esm/components/Assets/Icons/Loading-Animated.js.map +1 -1
  52. package/dist/esm/components/Assets/Icons/Loading.js +13 -6
  53. package/dist/esm/components/Assets/Icons/Loading.js.map +1 -1
  54. package/dist/esm/components/Assets/Icons/system/IconsLight.js +2 -2
  55. package/dist/esm/components/Assets/Icons/system/IconsLight.js.map +1 -1
  56. package/dist/esm/components/DatePicker/DateRangePicker.js +14 -4
  57. package/dist/esm/components/DatePicker/DateRangePicker.js.map +1 -1
  58. package/dist/esm/components/DatePicker/index.js +2 -4
  59. package/dist/esm/components/DatePicker/index.js.map +1 -1
  60. package/dist/esm/components/DatePicker/utils.js +3 -1
  61. package/dist/esm/components/DatePicker/utils.js.map +1 -1
  62. package/dist/esm/components/Grid/Cell.js +1 -3
  63. package/dist/esm/components/Grid/Cell.js.map +1 -1
  64. package/dist/esm/components/Grid/ColumnResizer.css +22 -0
  65. package/dist/esm/components/Grid/ColumnResizer.js +18 -15
  66. package/dist/esm/components/Grid/ColumnResizer.js.map +1 -1
  67. package/dist/esm/components/Grid/ColumnResizer.module.css.js +7 -0
  68. package/dist/esm/components/Grid/ColumnResizer.module.css.js.map +1 -0
  69. package/dist/esm/components/Grid/Grid.css +34 -0
  70. package/dist/esm/components/Grid/Grid.module.css.js +13 -0
  71. package/dist/esm/components/Grid/Grid.module.css.js.map +1 -0
  72. package/dist/esm/components/Grid/Header.css +44 -0
  73. package/dist/esm/components/Grid/Header.js +22 -43
  74. package/dist/esm/components/Grid/Header.js.map +1 -1
  75. package/dist/esm/components/Grid/Header.module.css.js +13 -0
  76. package/dist/esm/components/Grid/Header.module.css.js.map +1 -0
  77. package/dist/esm/components/Grid/RowNumberColumn.css +22 -0
  78. package/dist/esm/components/Grid/RowNumberColumn.js +12 -29
  79. package/dist/esm/components/Grid/RowNumberColumn.js.map +1 -1
  80. package/dist/esm/components/Grid/RowNumberColumn.module.css.js +8 -0
  81. package/dist/esm/components/Grid/RowNumberColumn.module.css.js.map +1 -0
  82. package/dist/esm/components/Grid/StyledCell.css +146 -0
  83. package/dist/esm/components/Grid/StyledCell.js +84 -56
  84. package/dist/esm/components/Grid/StyledCell.js.map +1 -1
  85. package/dist/esm/components/Grid/StyledCell.module.css.js +32 -0
  86. package/dist/esm/components/Grid/StyledCell.module.css.js.map +1 -0
  87. package/dist/esm/components/Grid/index.js +30 -30
  88. package/dist/esm/components/Grid/index.js.map +1 -1
  89. package/dist/types/components/Assets/Icons/Horizontal-Loading.d.ts +2 -3
  90. package/dist/types/components/Assets/Icons/Loading-Animated.d.ts +2 -3
  91. package/dist/types/components/Assets/Icons/Loading.d.ts +2 -4
  92. package/dist/types/components/DatePicker/DateRangePicker.d.ts +2 -1
  93. package/dist/types/components/DatePicker/utils.d.ts +1 -0
  94. package/dist/types/components/Grid/RowNumberColumn.d.ts +1 -2
  95. package/dist/types/components/Grid/StyledCell.d.ts +10 -5
  96. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ const grid = "grid__h49fk";
2
+ const grid_bordered = "grid_bordered__kFqF5";
3
+ const grid__inner = "grid__inner__IZhj9";
4
+ const grid__data = "grid__data__Mn4TK";
5
+ const styles = {
6
+ grid: grid,
7
+ grid_bordered: grid_bordered,
8
+ grid__inner: grid__inner,
9
+ grid__data: grid__data
10
+ };
11
+
12
+ export { styles as default, grid, grid__data, grid__inner, grid_bordered };
13
+ //# sourceMappingURL=Grid.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -0,0 +1,44 @@
1
+ /* stylelint-disable custom-property-pattern -- design tokens use camelCase (e.g. selectDirect) */
2
+
3
+ .header__hXzAE {
4
+ display: flex;
5
+ position: sticky;
6
+ top: 0;
7
+ left: 0;
8
+ height: var(--header-height);
9
+ flex-direction: row;
10
+ }
11
+
12
+ .header_scrolled-vertical__mIp2- {
13
+ box-shadow: 0 0 0 1px var(--click-grid-header-cell-color-stroke-default);
14
+ }
15
+
16
+ .header__scroll-area__Nok8G {
17
+ position: relative;
18
+ left: var(--header-scroll-area-left);
19
+ }
20
+
21
+ .header__cell__ZCE9p {
22
+ display: flex;
23
+ position: absolute;
24
+ left: var(--header-cell-left);
25
+ width: var(--header-cell-width);
26
+ height: var(--header-cell-height);
27
+ }
28
+
29
+ .header__cell__ZCE9p:hover [data-resize] {
30
+ background: var(--click-grid-header-cell-color-stroke-selectDirect);
31
+ }
32
+
33
+ /* the sticky "select all" corner extends a header cell (styled(HeaderCellContainer)) */
34
+ .header__row-column__ceu5w {
35
+ position: sticky;
36
+ top: 0;
37
+ left: 0;
38
+ width: var(--header-cell-width);
39
+ text-align: right;
40
+ }
41
+
42
+ .header__row-column_scrolled-horizontal__QZO4p {
43
+ box-shadow: 0 0 0 1px var(--click-grid-header-cell-color-stroke-default);
44
+ }
@@ -1,50 +1,17 @@
1
+ import "./Header.css";
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { styled } from 'styled-components';
3
+ import { cn } from '../../lib/cva.js';
4
+ import styles from './Header.module.css.js';
3
5
  import { StyledCell } from './StyledCell.js';
4
6
  import ColumnResizer from './ColumnResizer.js';
5
7
 
6
- const HeaderContainer = styled.div.withConfig({
7
- componentId: "sc-1oadqc8-0"
8
- })(["position:sticky;top:0;left:0;display:flex;flex-direction:row;height:", "px;", ""], ({
9
- $height
10
- }) => $height, ({
11
- $scrolledVertical,
12
- theme
13
- }) => $scrolledVertical ? `box-shadow: 0px 0 0px 1px ${theme.click.grid.header.cell.color.stroke.default};` : "");
14
- const ScrollableHeaderContainer = styled.div.withConfig({
15
- componentId: "sc-1oadqc8-1"
16
- })(["position:relative;left:", "px;"], ({
17
- $left
18
- }) => $left);
19
- const HeaderCellContainer = styled.div.withConfig({
20
- componentId: "sc-1oadqc8-2"
21
- })(["position:absolute;display:flex;width:", ";height:", "px;left:", "px;&:hover [data-resize]{background:", ";}"], ({
22
- $width
23
- }) => typeof $width === "string" ? $width : `${$width}px`, ({
24
- $height
25
- }) => $height, ({
26
- $columnPosition
27
- }) => $columnPosition, ({
28
- theme
29
- }) => theme.click.grid.header.cell.color.stroke.selectDirect);
30
- const RowColumnContainer = styled(HeaderCellContainer).withConfig({
31
- componentId: "sc-1oadqc8-3"
32
- })(["position:sticky;top:0;left:0;width:", ";text-align:right;", ""], ({
33
- $width
34
- }) => typeof $width === "string" ? $width : `${$width}px`, ({
35
- $scrolledHorizontal,
36
- theme
37
- }) => $scrolledHorizontal ? `box-shadow: 0px 0 0px 1px ${theme.click.grid.header.cell.color.stroke.default};` : "");
38
- const RowColumn = styled(StyledCell).withConfig({
39
- componentId: "sc-1oadqc8-4"
40
- })(["width:100%;text-align:right;overflow:hidden;"]);
8
+ const toCssSize = ($width) => typeof $width === "string" ? $width : `${$width}px`;
41
9
  const Column = ({
42
10
  columnIndex,
43
11
  cell,
44
12
  getColumnWidth,
45
13
  getColumnHorizontalPosition,
46
14
  getSelectionType,
47
- isFirstColumn,
48
15
  isLastColumn,
49
16
  onColumnResize,
50
17
  height,
@@ -64,8 +31,12 @@ const Column = ({
64
31
  const isSelected = selectionType === "selectDirect";
65
32
  const isSelectedLeft = (leftSelectionType === "selectDirect" || isSelected) && leftSelectionType !== selectionType;
66
33
  const columnWidth = getColumnWidth(columnIndex);
67
- return /* @__PURE__ */ jsxs(HeaderCellContainer, { $width: columnWidth, $columnPosition: columnPosition, $height: height, "data-header": columnIndex, children: [
68
- /* @__PURE__ */ jsx(StyledCell, { $type: "header", as: cell, columnIndex, type: "header-cell", $isFirstColumn: isFirstColumn, $selectionType: selectionType, $isLastColumn: isLastColumn, $isFocused: false, $isSelectedLeft: isSelectedLeft, $isSelectedTop: isSelected, $isLastRow: false, $isFirstRow: true, $height: height, "data-grid-row": -1, "data-grid-column": columnIndex, "data-selected": isSelected, $showBorder: showBorder, width: columnWidth }),
34
+ return /* @__PURE__ */ jsxs("div", { className: styles["header__cell"], style: {
35
+ "--header-cell-width": toCssSize(columnWidth),
36
+ "--header-cell-height": `${height}px`,
37
+ "--header-cell-left": `${columnPosition}px`
38
+ }, "data-header": columnIndex, children: [
39
+ /* @__PURE__ */ jsx(StyledCell, { $type: "header", as: cell, columnIndex, type: "header-cell", $selectionType: selectionType, $isLastColumn: isLastColumn, $isFocused: false, $isSelectedLeft: isSelectedLeft, $isSelectedTop: isSelected, $isLastRow: false, $height: height, "data-grid-row": -1, "data-grid-column": columnIndex, "data-selected": isSelected, $showBorder: showBorder, width: columnWidth }),
69
40
  /* @__PURE__ */ jsx(ColumnResizer, { height, onColumnResize, columnIndex, getResizerPosition, columnWidth, resizingState })
70
41
  ] });
71
42
  };
@@ -90,11 +61,19 @@ const Header = ({
90
61
  const selectedAllType = getSelectionType({
91
62
  type: "all"
92
63
  });
93
- return /* @__PURE__ */ jsxs(HeaderContainer, { $height: height, $scrolledVertical: scrolledVertical, children: [
94
- /* @__PURE__ */ jsx(ScrollableHeaderContainer, { $left: rowNumberWidth, children: Array.from({
64
+ return /* @__PURE__ */ jsxs("div", { className: cn(styles["header"], scrolledVertical && styles["header_scrolled-vertical"]), style: {
65
+ "--header-height": `${height}px`
66
+ }, children: [
67
+ /* @__PURE__ */ jsx("div", { className: styles["header__scroll-area"], style: {
68
+ "--header-scroll-area-left": `${rowNumberWidth}px`
69
+ }, children: Array.from({
95
70
  length: maxColumn - minColumn + 1
96
- }, (_, index) => minColumn + index).map((columnIndex) => /* @__PURE__ */ jsx(Column, { getSelectionType, columnIndex, getColumnWidth, getColumnHorizontalPosition, cell, isFirstColumn: columnIndex === 0 && !showRowNumber, isLastColumn: columnIndex + 1 === columnCount, onColumnResize, height, getResizerPosition, showBorder, resizingState }, `header-${columnIndex}`)) }),
97
- showRowNumber && /* @__PURE__ */ jsx(RowColumnContainer, { $width: rowNumberWidth, $height: height, $columnPosition: 0, $scrolledHorizontal: scrolledHorizontal, children: /* @__PURE__ */ jsx(RowColumn, { "data-selected": selectedAllType === "selectDirect", $type: "header", $isFirstRow: true, $isFirstColumn: true, $selectionType: selectedAllType, $isLastRow: false, $isLastColumn: false, $height: height, $isFocused: false, $isSelectedLeft: false, $isSelectedTop: false, "data-grid-row": -1, "data-grid-column": -1, $showBorder: showBorder, children: "#" }) })
71
+ }, (_, index) => minColumn + index).map((columnIndex) => /* @__PURE__ */ jsx(Column, { getSelectionType, columnIndex, getColumnWidth, getColumnHorizontalPosition, cell, isLastColumn: columnIndex + 1 === columnCount, onColumnResize, height, getResizerPosition, showBorder, resizingState }, `header-${columnIndex}`)) }),
72
+ showRowNumber && /* @__PURE__ */ jsx("div", { className: cn(styles["header__cell"], styles["header__row-column"], scrolledHorizontal && styles["header__row-column_scrolled-horizontal"]), style: {
73
+ "--header-cell-width": toCssSize(rowNumberWidth),
74
+ "--header-cell-height": `${height}px`,
75
+ "--header-cell-left": "0px"
76
+ }, children: /* @__PURE__ */ jsx(StyledCell, { "data-align": "right", "data-selected": selectedAllType === "selectDirect", $type: "header", $selectionType: selectedAllType, $isLastRow: false, $isLastColumn: false, $height: height, $isFocused: false, $isSelectedLeft: false, $isSelectedTop: false, "data-grid-row": -1, "data-grid-column": -1, $showBorder: showBorder, children: "#" }) })
98
77
  ] });
99
78
  };
100
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../src/components/Grid/Header.tsx"],"sourcesContent":["import { styled } from 'styled-components';\nimport {\n CellProps,\n ColumnResizeFn,\n GetResizerPositionFn,\n SelectionTypeFn,\n} from './types';\nimport { StyledCell } from './StyledCell';\nimport ColumnResizer from './ColumnResizer';\nimport { ResizingState } from './useResizingState';\n\ninterface HeaderProps {\n showRowNumber: boolean;\n rowNumberWidth: number;\n minColumn: number;\n maxColumn: number;\n height: number;\n getColumnWidth: (index: number) => number;\n cell: CellProps;\n getSelectionType: SelectionTypeFn;\n columnCount: number;\n onColumnResize: ColumnResizeFn;\n getColumnHorizontalPosition: (columnIndex: number) => number;\n scrolledVertical: boolean;\n getResizerPosition: GetResizerPositionFn;\n showBorder: boolean;\n scrolledHorizontal: boolean;\n resizingState: ResizingState;\n}\n\nconst HeaderContainer = styled.div<{ $height: number; $scrolledVertical: boolean }>`\n position: sticky;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: row;\n height: ${({ $height }) => $height}px;\n ${({ $scrolledVertical, theme }) =>\n $scrolledVertical\n ? `box-shadow: 0px 0 0px 1px ${theme.click.grid.header.cell.color.stroke.default};`\n : ''}\n`;\n\nconst ScrollableHeaderContainer = styled.div<{\n $left: number;\n}>`\n position: relative;\n left: ${({ $left }) => $left}px;\n`;\n\ninterface ColumnProps extends Pick<\n HeaderProps,\n | 'cell'\n | 'getSelectionType'\n | 'onColumnResize'\n | 'getColumnWidth'\n | 'height'\n | 'getResizerPosition'\n | 'showBorder'\n | 'getColumnHorizontalPosition'\n | 'resizingState'\n> {\n columnIndex: number;\n isFirstColumn: boolean;\n isLastColumn: boolean;\n}\n\nconst HeaderCellContainer = styled.div<{\n $width: string | number;\n $height: number;\n $columnPosition: number;\n}>`\n position: absolute;\n display: flex;\n width: ${({ $width }) => (typeof $width === 'string' ? $width : `${$width}px`)};\n height: ${({ $height }) => $height}px;\n left: ${({ $columnPosition }) => $columnPosition}px;\n &:hover [data-resize] {\n background: ${({ theme }) => theme.click.grid.header.cell.color.stroke.selectDirect};\n }\n`;\n\nconst RowColumnContainer = styled(HeaderCellContainer)<{\n $width: string | number;\n $scrolledHorizontal: boolean;\n}>`\n position: sticky;\n top: 0;\n left: 0;\n width: ${({ $width }) => (typeof $width === 'string' ? $width : `${$width}px`)};\n text-align: right;\n ${({ $scrolledHorizontal, theme }) =>\n $scrolledHorizontal\n ? `box-shadow: 0px 0 0px 1px ${theme.click.grid.header.cell.color.stroke.default};`\n : ''}\n`;\n\nconst RowColumn = styled(StyledCell)`\n width: 100%;\n text-align: right;\n overflow: hidden;\n`;\n\nconst Column = ({\n columnIndex,\n cell,\n getColumnWidth,\n getColumnHorizontalPosition,\n getSelectionType,\n isFirstColumn,\n isLastColumn,\n onColumnResize,\n height,\n getResizerPosition,\n showBorder,\n resizingState,\n}: ColumnProps) => {\n const selectionType = getSelectionType({\n column: columnIndex,\n type: 'column',\n });\n const leftSelectionType = getSelectionType({\n column: columnIndex - 1,\n type: 'column',\n });\n const columnPosition = getColumnHorizontalPosition(columnIndex);\n\n const isSelected = selectionType === 'selectDirect';\n const isSelectedLeft =\n (leftSelectionType === 'selectDirect' || isSelected) &&\n leftSelectionType !== selectionType;\n\n const columnWidth = getColumnWidth(columnIndex);\n return (\n <HeaderCellContainer\n $width={columnWidth}\n $columnPosition={columnPosition}\n $height={height}\n data-header={columnIndex}\n >\n <StyledCell\n $type=\"header\"\n as={cell}\n columnIndex={columnIndex}\n type=\"header-cell\"\n $isFirstColumn={isFirstColumn}\n $selectionType={selectionType}\n $isLastColumn={isLastColumn}\n $isFocused={false}\n $isSelectedLeft={isSelectedLeft}\n $isSelectedTop={isSelected}\n $isLastRow={false}\n $isFirstRow\n $height={height}\n data-grid-row={-1}\n data-grid-column={columnIndex}\n data-selected={isSelected}\n $showBorder={showBorder}\n width={columnWidth}\n />\n <ColumnResizer\n height={height}\n onColumnResize={onColumnResize}\n columnIndex={columnIndex}\n getResizerPosition={getResizerPosition}\n columnWidth={columnWidth}\n resizingState={resizingState}\n />\n </HeaderCellContainer>\n );\n};\n\nconst Header = ({\n scrolledVertical,\n scrolledHorizontal,\n showRowNumber,\n rowNumberWidth,\n minColumn,\n maxColumn,\n height,\n getColumnWidth,\n cell,\n columnCount,\n getSelectionType,\n onColumnResize,\n getColumnHorizontalPosition,\n getResizerPosition,\n showBorder,\n resizingState,\n}: HeaderProps) => {\n const selectedAllType = getSelectionType({\n type: 'all',\n });\n return (\n <HeaderContainer\n $height={height}\n $scrolledVertical={scrolledVertical}\n >\n <ScrollableHeaderContainer $left={rowNumberWidth}>\n {Array.from(\n { length: maxColumn - minColumn + 1 },\n (_, index) => minColumn + index\n ).map(columnIndex => (\n <Column\n key={`header-${columnIndex}`}\n getSelectionType={getSelectionType}\n columnIndex={columnIndex}\n getColumnWidth={getColumnWidth}\n getColumnHorizontalPosition={getColumnHorizontalPosition}\n cell={cell}\n isFirstColumn={columnIndex === 0 && !showRowNumber}\n isLastColumn={columnIndex + 1 === columnCount}\n onColumnResize={onColumnResize}\n height={height}\n getResizerPosition={getResizerPosition}\n showBorder={showBorder}\n resizingState={resizingState}\n />\n ))}\n </ScrollableHeaderContainer>\n {showRowNumber && (\n <RowColumnContainer\n $width={rowNumberWidth}\n $height={height}\n $columnPosition={0}\n $scrolledHorizontal={scrolledHorizontal}\n >\n <RowColumn\n data-selected={selectedAllType === 'selectDirect'}\n $type=\"header\"\n $isFirstRow\n $isFirstColumn\n $selectionType={selectedAllType}\n $isLastRow={false}\n $isLastColumn={false}\n $height={height}\n $isFocused={false}\n $isSelectedLeft={false}\n $isSelectedTop={false}\n data-grid-row={-1}\n data-grid-column={-1}\n $showBorder={showBorder}\n >\n #\n </RowColumn>\n </RowColumnContainer>\n )}\n </HeaderContainer>\n );\n};\n\nexport default Header;\n"],"names":["HeaderContainer","styled","div","withConfig","componentId","$height","$scrolledVertical","theme","click","grid","header","cell","color","stroke","default","ScrollableHeaderContainer","$left","HeaderCellContainer","$width","$columnPosition","selectDirect","RowColumnContainer","$scrolledHorizontal","RowColumn","StyledCell","Column","columnIndex","getColumnWidth","getColumnHorizontalPosition","getSelectionType","isFirstColumn","isLastColumn","onColumnResize","height","getResizerPosition","showBorder","resizingState","selectionType","column","type","leftSelectionType","columnPosition","isSelected","isSelectedLeft","columnWidth","Header","scrolledVertical","scrolledHorizontal","showRowNumber","rowNumberWidth","minColumn","maxColumn","columnCount","selectedAllType","Array","from","length","_","index","map"],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../src/components/Grid/Header.tsx"],"sourcesContent":["import { CSSProperties } from 'react';\nimport { cn } from '@/lib/cva';\nimport styles from './Header.module.css';\nimport {\n CellProps,\n ColumnResizeFn,\n GetResizerPositionFn,\n SelectionTypeFn,\n} from './types';\nimport { StyledCell } from './StyledCell';\nimport ColumnResizer from './ColumnResizer';\nimport { ResizingState } from './useResizingState';\n\ninterface HeaderProps {\n showRowNumber: boolean;\n rowNumberWidth: number;\n minColumn: number;\n maxColumn: number;\n height: number;\n getColumnWidth: (index: number) => number;\n cell: CellProps;\n getSelectionType: SelectionTypeFn;\n columnCount: number;\n onColumnResize: ColumnResizeFn;\n getColumnHorizontalPosition: (columnIndex: number) => number;\n scrolledVertical: boolean;\n getResizerPosition: GetResizerPositionFn;\n showBorder: boolean;\n scrolledHorizontal: boolean;\n resizingState: ResizingState;\n}\n\ninterface ColumnProps extends Pick<\n HeaderProps,\n | 'cell'\n | 'getSelectionType'\n | 'onColumnResize'\n | 'getColumnWidth'\n | 'height'\n | 'getResizerPosition'\n | 'showBorder'\n | 'getColumnHorizontalPosition'\n | 'resizingState'\n> {\n columnIndex: number;\n isLastColumn: boolean;\n}\n\nconst toCssSize = ($width: string | number): string =>\n typeof $width === 'string' ? $width : `${$width}px`;\n\nconst Column = ({\n columnIndex,\n cell,\n getColumnWidth,\n getColumnHorizontalPosition,\n getSelectionType,\n isLastColumn,\n onColumnResize,\n height,\n getResizerPosition,\n showBorder,\n resizingState,\n}: ColumnProps) => {\n const selectionType = getSelectionType({\n column: columnIndex,\n type: 'column',\n });\n const leftSelectionType = getSelectionType({\n column: columnIndex - 1,\n type: 'column',\n });\n const columnPosition = getColumnHorizontalPosition(columnIndex);\n\n const isSelected = selectionType === 'selectDirect';\n const isSelectedLeft =\n (leftSelectionType === 'selectDirect' || isSelected) &&\n leftSelectionType !== selectionType;\n\n const columnWidth = getColumnWidth(columnIndex);\n return (\n <div\n className={styles['header__cell']}\n style={\n {\n '--header-cell-width': toCssSize(columnWidth),\n '--header-cell-height': `${height}px`,\n '--header-cell-left': `${columnPosition}px`,\n } as CSSProperties\n }\n data-header={columnIndex}\n >\n <StyledCell\n $type=\"header\"\n as={cell}\n columnIndex={columnIndex}\n type=\"header-cell\"\n $selectionType={selectionType}\n $isLastColumn={isLastColumn}\n $isFocused={false}\n $isSelectedLeft={isSelectedLeft}\n $isSelectedTop={isSelected}\n $isLastRow={false}\n $height={height}\n data-grid-row={-1}\n data-grid-column={columnIndex}\n data-selected={isSelected}\n $showBorder={showBorder}\n width={columnWidth}\n />\n <ColumnResizer\n height={height}\n onColumnResize={onColumnResize}\n columnIndex={columnIndex}\n getResizerPosition={getResizerPosition}\n columnWidth={columnWidth}\n resizingState={resizingState}\n />\n </div>\n );\n};\n\nconst Header = ({\n scrolledVertical,\n scrolledHorizontal,\n showRowNumber,\n rowNumberWidth,\n minColumn,\n maxColumn,\n height,\n getColumnWidth,\n cell,\n columnCount,\n getSelectionType,\n onColumnResize,\n getColumnHorizontalPosition,\n getResizerPosition,\n showBorder,\n resizingState,\n}: HeaderProps) => {\n const selectedAllType = getSelectionType({\n type: 'all',\n });\n return (\n <div\n className={cn(\n styles['header'],\n scrolledVertical && styles['header_scrolled-vertical']\n )}\n style={{ '--header-height': `${height}px` } as CSSProperties}\n >\n <div\n className={styles['header__scroll-area']}\n style={{ '--header-scroll-area-left': `${rowNumberWidth}px` } as CSSProperties}\n >\n {Array.from(\n { length: maxColumn - minColumn + 1 },\n (_, index) => minColumn + index\n ).map(columnIndex => (\n <Column\n key={`header-${columnIndex}`}\n getSelectionType={getSelectionType}\n columnIndex={columnIndex}\n getColumnWidth={getColumnWidth}\n getColumnHorizontalPosition={getColumnHorizontalPosition}\n cell={cell}\n isLastColumn={columnIndex + 1 === columnCount}\n onColumnResize={onColumnResize}\n height={height}\n getResizerPosition={getResizerPosition}\n showBorder={showBorder}\n resizingState={resizingState}\n />\n ))}\n </div>\n {showRowNumber && (\n <div\n className={cn(\n styles['header__cell'],\n styles['header__row-column'],\n scrolledHorizontal && styles['header__row-column_scrolled-horizontal']\n )}\n style={\n {\n '--header-cell-width': toCssSize(rowNumberWidth),\n '--header-cell-height': `${height}px`,\n '--header-cell-left': '0px',\n } as CSSProperties\n }\n >\n <StyledCell\n data-align=\"right\"\n data-selected={selectedAllType === 'selectDirect'}\n $type=\"header\"\n $selectionType={selectedAllType}\n $isLastRow={false}\n $isLastColumn={false}\n $height={height}\n $isFocused={false}\n $isSelectedLeft={false}\n $isSelectedTop={false}\n data-grid-row={-1}\n data-grid-column={-1}\n $showBorder={showBorder}\n >\n #\n </StyledCell>\n </div>\n )}\n </div>\n );\n};\n\nexport default Header;\n"],"names":["toCssSize","$width","Column","columnIndex","cell","getColumnWidth","getColumnHorizontalPosition","getSelectionType","isLastColumn","onColumnResize","height","getResizerPosition","showBorder","resizingState","selectionType","column","type","leftSelectionType","columnPosition","isSelected","isSelectedLeft","columnWidth","styles","Header","scrolledVertical","scrolledHorizontal","showRowNumber","rowNumberWidth","minColumn","maxColumn","columnCount","selectedAllType","cn","Array","from","length","_","index","map"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ const header = "header__hXzAE";
2
+ const header__cell = "header__cell__ZCE9p";
3
+ const styles = {
4
+ header: header,
5
+ "header_scrolled-vertical": "header_scrolled-vertical__mIp2-",
6
+ "header__scroll-area": "header__scroll-area__Nok8G",
7
+ header__cell: header__cell,
8
+ "header__row-column": "header__row-column__ceu5w",
9
+ "header__row-column_scrolled-horizontal": "header__row-column_scrolled-horizontal__QZO4p"
10
+ };
11
+
12
+ export { styles as default, header, header__cell };
13
+ //# sourceMappingURL=Header.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -0,0 +1,22 @@
1
+ .row-number-column__n-aQm {
2
+ position: sticky;
3
+ top: var(--row-number-column-top);
4
+ left: 0;
5
+ width: var(--row-number-column-width);
6
+ height: 100%;
7
+ }
8
+
9
+ .row-number-column_scrolled-horizontal__L9fAB {
10
+ box-shadow: 0 0 0 1px var(--click-grid-header-cell-color-stroke-default);
11
+ }
12
+
13
+ .row-number-column__cell__00w03 {
14
+ position: absolute;
15
+ top: var(--row-number-cell-top);
16
+ left: 0;
17
+ width: 100%;
18
+ height: var(--row-number-cell-height);
19
+ overflow: hidden;
20
+ white-space: nowrap;
21
+ text-overflow: ellipsis;
22
+ }
@@ -1,36 +1,14 @@
1
+ import "./RowNumberColumn.css";
1
2
  import { jsx } from 'react/jsx-runtime';
2
- import { styled } from 'styled-components';
3
+ import { cn } from '../../lib/cva.js';
4
+ import styles from './RowNumberColumn.module.css.js';
3
5
  import { StyledCell } from './StyledCell.js';
4
6
 
5
- const RowNumberColumnContainer = styled.div.withConfig({
6
- componentId: "sc-7gbi4d-0"
7
- })(["position:sticky;left:0;", " ", ""], ({
8
- $height,
9
- $width
10
- }) => `
11
- top: ${$height}px;
12
- width: ${$width}px;
13
- height: 100%;
14
- `, ({
15
- $scrolledHorizontal,
16
- theme
17
- }) => $scrolledHorizontal ? `box-shadow: 0px 0 0px 1px ${theme.click.grid.header.cell.color.stroke.default};` : "");
18
- const RowNumberCell = styled.div.withConfig({
19
- componentId: "sc-7gbi4d-1"
20
- })(["position:absolute;left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;", ""], ({
21
- $height,
22
- $rowNumber,
23
- $rowAutoHeight
24
- }) => `
25
- top: ${$height * $rowNumber}px;
26
- height: ${$rowAutoHeight ? "100%" : `${$height}px`};
27
- `);
28
7
  const RowNumber = ({
29
8
  rowIndex,
30
9
  rowHeight,
31
10
  getSelectionType,
32
11
  isLastRow,
33
- isFirstRow,
34
12
  showBorder,
35
13
  rowStart,
36
14
  rowAutoHeight
@@ -46,7 +24,10 @@ const RowNumber = ({
46
24
  type: "row"
47
25
  });
48
26
  const isSelectedTop = (topSelectionType === "selectDirect" || isSelected) && topSelectionType !== selectionType;
49
- return /* @__PURE__ */ jsx(RowNumberCell, { $rowNumber: rowIndex, $height: rowHeight, $rowAutoHeight: rowAutoHeight, children: /* @__PURE__ */ jsx(StyledCell, { $height: rowHeight, $isLastColumn: false, $selectionType: selectionType, $isFirstColumn: true, $type: "header", $isFirstRow: isFirstRow, $isFocused: false, $isLastRow: isLastRow, $isSelectedLeft: isSelected, $isSelectedTop: isSelectedTop, $rowAutoHeight: rowAutoHeight, "data-selected": isSelected, "data-grid-row": currentRowIndex, "data-grid-column": -1, "data-testid": `header-cell-${currentRowIndex}-x`, $showBorder: showBorder, "data-align": "right", children: currentRowIndex }) });
27
+ return /* @__PURE__ */ jsx("div", { className: styles["row-number-column__cell"], style: {
28
+ "--row-number-cell-top": `${rowHeight * rowIndex}px`,
29
+ "--row-number-cell-height": rowAutoHeight ? "100%" : `${rowHeight}px`
30
+ }, children: /* @__PURE__ */ jsx(StyledCell, { $height: rowHeight, $isLastColumn: false, $selectionType: selectionType, $type: "header", $isFocused: false, $isLastRow: isLastRow, $isSelectedLeft: isSelected, $isSelectedTop: isSelectedTop, $rowAutoHeight: rowAutoHeight, "data-selected": isSelected, "data-grid-row": currentRowIndex, "data-grid-column": -1, "data-testid": `header-cell-${currentRowIndex}-x`, $showBorder: showBorder, "data-align": "right", children: currentRowIndex }) });
50
31
  };
51
32
  const RowNumberColumn = ({
52
33
  minRow,
@@ -56,15 +37,17 @@ const RowNumberColumn = ({
56
37
  rowWidth,
57
38
  getSelectionType,
58
39
  rowCount,
59
- showHeader,
60
40
  scrolledHorizontal,
61
41
  rowStart = 0,
62
42
  showBorder,
63
43
  rowAutoHeight
64
44
  }) => {
65
- return /* @__PURE__ */ jsx(RowNumberColumnContainer, { $height: headerHeight, $width: rowWidth, $scrolledHorizontal: scrolledHorizontal, $rowAutoHeight: rowAutoHeight, children: Array.from({
45
+ return /* @__PURE__ */ jsx("div", { className: cn(styles["row-number-column"], scrolledHorizontal && styles["row-number-column_scrolled-horizontal"]), style: {
46
+ "--row-number-column-top": `${headerHeight}px`,
47
+ "--row-number-column-width": `${rowWidth}px`
48
+ }, children: Array.from({
66
49
  length: maxRow - minRow + 1
67
- }, (_, index) => minRow + index).map((rowIndex) => /* @__PURE__ */ jsx(RowNumber, { getSelectionType, rowHeight, rowIndex, isLastRow: rowIndex === rowCount, isFirstRow: !showHeader && rowIndex === 0, showBorder, rowStart, rowAutoHeight }, `row-number-${rowIndex}`)) });
50
+ }, (_, index) => minRow + index).map((rowIndex) => /* @__PURE__ */ jsx(RowNumber, { getSelectionType, rowHeight, rowIndex, isLastRow: rowIndex === rowCount, showBorder, rowStart, rowAutoHeight }, `row-number-${rowIndex}`)) });
68
51
  };
69
52
 
70
53
  export { RowNumberColumn as default };
@@ -1 +1 @@
1
- {"version":3,"file":"RowNumberColumn.js","sources":["../../../../src/components/Grid/RowNumberColumn.tsx"],"sourcesContent":["import { styled } from 'styled-components';\nimport { SelectionTypeFn } from './types';\nimport { StyledCell } from './StyledCell';\nconst RowNumberColumnContainer = styled.div<{\n $height: number;\n $width: number;\n $scrolledHorizontal: boolean;\n $rowAutoHeight?: boolean;\n}>`\n position: sticky;\n left: 0;\n ${({ $height, $width }) => `\n top: ${$height}px;\n width: ${$width}px;\n height: 100%;\n `}\n\n ${({ $scrolledHorizontal, theme }) =>\n $scrolledHorizontal\n ? `box-shadow: 0px 0 0px 1px ${theme.click.grid.header.cell.color.stroke.default};`\n : ''}\n`;\n\nconst RowNumberCell = styled.div<{\n $height: number;\n $rowNumber: number;\n $rowAutoHeight?: boolean;\n}>`\n position: absolute;\n left: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n ${({ $height, $rowNumber, $rowAutoHeight }) => `\n top: ${$height * $rowNumber}px;\n height: ${$rowAutoHeight ? '100%' : `${$height}px`};\n `}\n`;\ninterface RowNumberColumnProps {\n minRow: number;\n maxRow: number;\n rowHeight: number;\n headerHeight: number;\n rowWidth: number;\n getSelectionType: SelectionTypeFn;\n rowCount: number;\n showHeader: boolean;\n scrolledHorizontal: boolean;\n rowStart: number;\n showBorder: boolean;\n rowAutoHeight?: boolean;\n}\ninterface RowNumberProps extends Pick<\n RowNumberColumnProps,\n 'rowHeight' | 'getSelectionType' | 'showBorder' | 'rowStart'\n> {\n rowIndex: number;\n isLastRow: boolean;\n isFirstRow: boolean;\n rowAutoHeight?: boolean;\n}\nconst RowNumber = ({\n rowIndex,\n rowHeight,\n getSelectionType,\n isLastRow,\n isFirstRow,\n showBorder,\n rowStart,\n rowAutoHeight,\n}: RowNumberProps) => {\n const currentRowIndex = rowIndex + rowStart;\n const selectionType = getSelectionType({\n row: currentRowIndex,\n type: 'row',\n });\n const isSelected = selectionType === 'selectDirect';\n const topSelectionType = getSelectionType({\n row: currentRowIndex - 1,\n type: 'row',\n });\n const isSelectedTop =\n (topSelectionType === 'selectDirect' || isSelected) &&\n topSelectionType !== selectionType;\n\n return (\n <RowNumberCell\n $rowNumber={rowIndex}\n $height={rowHeight}\n $rowAutoHeight={rowAutoHeight}\n >\n <StyledCell\n $height={rowHeight}\n $isLastColumn={false}\n $selectionType={selectionType}\n $isFirstColumn\n $type=\"header\"\n $isFirstRow={isFirstRow}\n $isFocused={false}\n $isLastRow={isLastRow}\n $isSelectedLeft={isSelected}\n $isSelectedTop={isSelectedTop}\n $rowAutoHeight={rowAutoHeight}\n data-selected={isSelected}\n data-grid-row={currentRowIndex}\n data-grid-column={-1}\n data-testid={`header-cell-${currentRowIndex}-x`}\n $showBorder={showBorder}\n data-align=\"right\"\n >\n {currentRowIndex}\n </StyledCell>\n </RowNumberCell>\n );\n};\n\nconst RowNumberColumn = ({\n minRow,\n maxRow,\n rowHeight,\n headerHeight,\n rowWidth,\n getSelectionType,\n rowCount,\n showHeader,\n scrolledHorizontal,\n rowStart = 0,\n showBorder,\n rowAutoHeight,\n}: RowNumberColumnProps) => {\n return (\n <RowNumberColumnContainer\n $height={headerHeight}\n $width={rowWidth}\n $scrolledHorizontal={scrolledHorizontal}\n $rowAutoHeight={rowAutoHeight}\n >\n {Array.from({ length: maxRow - minRow + 1 }, (_, index) => minRow + index).map(\n rowIndex => (\n <RowNumber\n key={`row-number-${rowIndex}`}\n getSelectionType={getSelectionType}\n rowHeight={rowHeight}\n rowIndex={rowIndex}\n isLastRow={rowIndex === rowCount}\n isFirstRow={!showHeader && rowIndex === 0}\n showBorder={showBorder}\n rowStart={rowStart}\n rowAutoHeight={rowAutoHeight}\n />\n )\n )}\n </RowNumberColumnContainer>\n );\n};\n\nexport default RowNumberColumn;\n"],"names":["RowNumberColumnContainer","styled","div","withConfig","componentId","$height","$width","$scrolledHorizontal","theme","click","grid","header","cell","color","stroke","default","RowNumberCell","$rowNumber","$rowAutoHeight","RowNumber","rowIndex","rowHeight","getSelectionType","isLastRow","isFirstRow","showBorder","rowStart","rowAutoHeight","currentRowIndex","selectionType","row","type","isSelected","topSelectionType","isSelectedTop","RowNumberColumn","minRow","maxRow","headerHeight","rowWidth","rowCount","showHeader","scrolledHorizontal","Array","from","length","_","index","map"],"mappings":"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"}
1
+ {"version":3,"file":"RowNumberColumn.js","sources":["../../../../src/components/Grid/RowNumberColumn.tsx"],"sourcesContent":["import { CSSProperties } from 'react';\nimport { cn } from '@/lib/cva';\nimport styles from './RowNumberColumn.module.css';\nimport { SelectionTypeFn } from './types';\nimport { StyledCell } from './StyledCell';\n\ninterface RowNumberColumnProps {\n minRow: number;\n maxRow: number;\n rowHeight: number;\n headerHeight: number;\n rowWidth: number;\n getSelectionType: SelectionTypeFn;\n rowCount: number;\n scrolledHorizontal: boolean;\n rowStart: number;\n showBorder: boolean;\n rowAutoHeight?: boolean;\n}\ninterface RowNumberProps extends Pick<\n RowNumberColumnProps,\n 'rowHeight' | 'getSelectionType' | 'showBorder' | 'rowStart'\n> {\n rowIndex: number;\n isLastRow: boolean;\n rowAutoHeight?: boolean;\n}\nconst RowNumber = ({\n rowIndex,\n rowHeight,\n getSelectionType,\n isLastRow,\n showBorder,\n rowStart,\n rowAutoHeight,\n}: RowNumberProps) => {\n const currentRowIndex = rowIndex + rowStart;\n const selectionType = getSelectionType({\n row: currentRowIndex,\n type: 'row',\n });\n const isSelected = selectionType === 'selectDirect';\n const topSelectionType = getSelectionType({\n row: currentRowIndex - 1,\n type: 'row',\n });\n const isSelectedTop =\n (topSelectionType === 'selectDirect' || isSelected) &&\n topSelectionType !== selectionType;\n\n return (\n <div\n className={styles['row-number-column__cell']}\n style={\n {\n '--row-number-cell-top': `${rowHeight * rowIndex}px`,\n '--row-number-cell-height': rowAutoHeight ? '100%' : `${rowHeight}px`,\n } as CSSProperties\n }\n >\n <StyledCell\n $height={rowHeight}\n $isLastColumn={false}\n $selectionType={selectionType}\n $type=\"header\"\n $isFocused={false}\n $isLastRow={isLastRow}\n $isSelectedLeft={isSelected}\n $isSelectedTop={isSelectedTop}\n $rowAutoHeight={rowAutoHeight}\n data-selected={isSelected}\n data-grid-row={currentRowIndex}\n data-grid-column={-1}\n data-testid={`header-cell-${currentRowIndex}-x`}\n $showBorder={showBorder}\n data-align=\"right\"\n >\n {currentRowIndex}\n </StyledCell>\n </div>\n );\n};\n\nconst RowNumberColumn = ({\n minRow,\n maxRow,\n rowHeight,\n headerHeight,\n rowWidth,\n getSelectionType,\n rowCount,\n scrolledHorizontal,\n rowStart = 0,\n showBorder,\n rowAutoHeight,\n}: RowNumberColumnProps) => {\n return (\n <div\n className={cn(\n styles['row-number-column'],\n scrolledHorizontal && styles['row-number-column_scrolled-horizontal']\n )}\n style={\n {\n '--row-number-column-top': `${headerHeight}px`,\n '--row-number-column-width': `${rowWidth}px`,\n } as CSSProperties\n }\n >\n {Array.from({ length: maxRow - minRow + 1 }, (_, index) => minRow + index).map(\n rowIndex => (\n <RowNumber\n key={`row-number-${rowIndex}`}\n getSelectionType={getSelectionType}\n rowHeight={rowHeight}\n rowIndex={rowIndex}\n isLastRow={rowIndex === rowCount}\n showBorder={showBorder}\n rowStart={rowStart}\n rowAutoHeight={rowAutoHeight}\n />\n )\n )}\n </div>\n );\n};\n\nexport default RowNumberColumn;\n"],"names":["RowNumber","rowIndex","rowHeight","getSelectionType","isLastRow","showBorder","rowStart","rowAutoHeight","currentRowIndex","selectionType","row","type","isSelected","topSelectionType","isSelectedTop","styles","RowNumberColumn","minRow","maxRow","headerHeight","rowWidth","rowCount","scrolledHorizontal","cn","Array","from","length","_","index","map"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ const styles = {
2
+ "row-number-column": "row-number-column__n-aQm",
3
+ "row-number-column_scrolled-horizontal": "row-number-column_scrolled-horizontal__L9fAB",
4
+ "row-number-column__cell": "row-number-column__cell__00w03"
5
+ };
6
+
7
+ export { styles as default };
8
+ //# sourceMappingURL=RowNumberColumn.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowNumberColumn.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,146 @@
1
+ /* stylelint-disable custom-property-pattern -- design tokens use camelCase (e.g. selectDirect) */
2
+
3
+ /*
4
+ * The original styled-component dispatches background / text colour / border
5
+ * colour off `$type` (body|header) and `$selectionType`, and toggles individual
6
+ * borders / a `::before` overlay off boolean flags. Colours are aliased to local
7
+ * custom properties (set by the type + selection modifiers) so the shared border
8
+ * / overlay rules can reference them once.
9
+ */
10
+
11
+ .cell__OXAxg {
12
+ display: block;
13
+ box-sizing: border-box;
14
+ width: 100%;
15
+ padding: var(--cell-space-y) var(--cell-space-x);
16
+ overflow: hidden;
17
+ border-top: 1px solid var(--cell-stroke-default);
18
+ border-left: 1px solid var(--cell-stroke-default);
19
+ background: var(--cell-background);
20
+ color: var(--cell-color);
21
+ font: var(--click-grid-cell-text-default);
22
+ text-align: left;
23
+ white-space: nowrap;
24
+ cursor: default;
25
+ text-overflow: ellipsis;
26
+ }
27
+
28
+ .cell__OXAxg[data-align='right'] {
29
+ text-align: right;
30
+ }
31
+
32
+ .cell_type_body__SohuF {
33
+ --cell-stroke-default: var(--click-grid-body-cell-color-stroke-default);
34
+ --cell-stroke-select-direct: var(--click-grid-body-cell-color-stroke-selectDirect);
35
+ --cell-stroke-last: var(--click-grid-body-cell-color-stroke-default);
36
+ --cell-space-y: var(--click-grid-body-cell-space-y);
37
+ --cell-space-x: var(--click-grid-body-cell-space-x);
38
+ --cell-background: var(--click-grid-body-cell-color-background-default);
39
+ --cell-color: var(--click-grid-body-cell-color-text-default);
40
+ }
41
+
42
+ .cell_type_body__SohuF.cell_selection_indirect__6e6yy {
43
+ --cell-stroke-last: var(--click-grid-body-cell-color-stroke-selectIndirect);
44
+ --cell-background: var(--click-grid-body-cell-color-background-selectIndirect);
45
+ --cell-color: var(--click-grid-body-cell-color-text-selectIndirect);
46
+ }
47
+
48
+ .cell_type_body__SohuF.cell_selection_direct__QEL9m {
49
+ --cell-stroke-last: var(--click-grid-body-cell-color-stroke-selectDirect);
50
+ --cell-background: var(--click-grid-body-cell-color-background-selectDirect);
51
+ --cell-color: var(--click-grid-body-cell-color-text-selectDirect);
52
+ }
53
+
54
+ .cell_type_header__3tsr- {
55
+ --cell-stroke-default: var(--click-grid-header-cell-color-stroke-default);
56
+ --cell-stroke-select-direct: var(--click-grid-header-cell-color-stroke-selectDirect);
57
+ --cell-stroke-last: var(--click-grid-header-cell-color-stroke-default);
58
+ --cell-space-y: var(--click-grid-header-cell-space-y);
59
+ --cell-space-x: var(--click-grid-header-cell-space-x);
60
+ --cell-background: var(--click-grid-header-cell-color-background-default);
61
+ --cell-color: var(--click-grid-header-cell-color-title-default);
62
+ }
63
+
64
+ .cell_type_header__3tsr-.cell_selection_indirect__6e6yy {
65
+ --cell-stroke-last: var(--click-grid-header-cell-color-stroke-selectIndirect);
66
+ --cell-background: var(--click-grid-header-cell-color-background-selectIndirect);
67
+ --cell-color: var(--click-grid-header-cell-color-title-selectIndirect);
68
+ }
69
+
70
+ .cell_type_header__3tsr-.cell_selection_direct__QEL9m {
71
+ --cell-stroke-last: var(--click-grid-header-cell-color-stroke-selectDirect);
72
+ --cell-background: var(--click-grid-header-cell-color-background-selectDirect);
73
+ --cell-color: var(--click-grid-header-cell-color-title-selectDirect);
74
+ }
75
+
76
+ /* header cell with no border removes top/left edges on the corner cells */
77
+ .cell_type_header__3tsr-.cell_no-border__9gXDK[data-grid-row='-1'] {
78
+ border-top: none;
79
+ }
80
+
81
+ .cell_type_header__3tsr-.cell_no-border__9gXDK[data-grid-column='-1'] {
82
+ border-left: none;
83
+ }
84
+
85
+ /* a focused cell draws its last-edge borders with the select-direct stroke */
86
+ .cell_focused__cmh-b {
87
+ box-shadow: inset 0 0 0 1px var(--cell-stroke-select-direct);
88
+ }
89
+
90
+ /*
91
+ * Focus must win the last-edge stroke colour over any selection state. The
92
+ * original styled-component resolved the last-row / last-column border colour
93
+ * inline as `stroke[$isFocused ? 'selectDirect' : $selectionType]`, so focus
94
+ * always overrode the selection stroke. The `.cell_type_*.cell_selection_*`
95
+ * rules above set `--cell-stroke-last` at (0,2,0) specificity, so the focus
96
+ * override is qualified with the type class to match that specificity and,
97
+ * coming later in source order, take precedence. `.cell_focused` always
98
+ * co-occurs with a type class.
99
+ */
100
+ .cell_type_body__SohuF.cell_focused__cmh-b,
101
+ .cell_type_header__3tsr-.cell_focused__cmh-b {
102
+ --cell-stroke-last: var(--cell-stroke-select-direct);
103
+ }
104
+
105
+ /* only the last row/column draw the closing border, colored by focus/selection */
106
+ .cell_last-row__DoJdk {
107
+ border-bottom: 1px solid var(--cell-stroke-last);
108
+ }
109
+
110
+ .cell_last-column__LgKM7 {
111
+ border-right: 1px solid var(--cell-stroke-last);
112
+ }
113
+
114
+ /* rowAutoHeight resets the entire border last, overriding every rule above */
115
+ .cell_row-auto-height__yzQUR {
116
+ min-height: auto;
117
+ overflow-y: auto;
118
+ border: none;
119
+ }
120
+
121
+ /* selection / focus overlay drawn on top of the cell so adjacent borders meet */
122
+ .cell__overlay__U9XGO::before {
123
+ content: '';
124
+ position: absolute;
125
+ inset: 0;
126
+ }
127
+
128
+ .cell__overlay_selected_top__OMUJB::before {
129
+ border-top: 1px solid var(--cell-stroke-select-direct);
130
+ }
131
+
132
+ .cell__overlay_selected_left__MiimG::before {
133
+ border-left: 1px solid var(--cell-stroke-select-direct);
134
+ }
135
+
136
+ .cell__overlay_selected_bottom__2ra9F::before {
137
+ border-bottom: 1px solid var(--cell-stroke-select-direct);
138
+ }
139
+
140
+ .cell__overlay_selected_right__Dt-g5::before {
141
+ border-right: 1px solid var(--cell-stroke-select-direct);
142
+ }
143
+
144
+ .cell__overlay_row-auto-height__teKk1::before {
145
+ border: none;
146
+ }