@addev-be/ui 0.2.5 → 0.2.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.
Files changed (166) hide show
  1. package/assets/icons/arrow-down-1-9.svg +1 -0
  2. package/assets/icons/arrow-down-a-z.svg +1 -1
  3. package/assets/icons/arrow-down-big-small.svg +1 -0
  4. package/assets/icons/arrow-up-9-1.svg +1 -0
  5. package/assets/icons/arrow-up-big-small.svg +1 -0
  6. package/assets/icons/arrow-up-z-a.svg +1 -1
  7. package/assets/icons/check.svg +1 -1
  8. package/assets/icons/chevron-down.svg +1 -0
  9. package/assets/icons/down.svg +1 -1
  10. package/assets/icons/ellipsis.svg +1 -0
  11. package/assets/icons/filter-full.svg +1 -1
  12. package/assets/icons/filter.svg +1 -1
  13. package/assets/icons/hashtag.svg +1 -1
  14. package/assets/icons/image-slash.svg +1 -1
  15. package/assets/icons/left.svg +1 -1
  16. package/assets/icons/magnifier.svg +1 -1
  17. package/assets/icons/phone.svg +1 -1
  18. package/assets/icons/right.svg +1 -1
  19. package/assets/icons/sigma.svg +1 -0
  20. package/assets/icons/spinner-third.svg +1 -1
  21. package/assets/icons/table-columns.svg +1 -1
  22. package/assets/icons/table-footer-slash.svg +5 -0
  23. package/assets/icons/table-footer.svg +4 -0
  24. package/assets/icons/table.svg +1 -0
  25. package/assets/icons/tally.svg +1 -0
  26. package/assets/icons/up.svg +1 -1
  27. package/assets/icons/user-tie.svg +1 -1
  28. package/assets/icons/x-bar.svg +4 -0
  29. package/dist/Icons.d.ts +13 -1
  30. package/dist/Icons.js +25 -1
  31. package/dist/components/data/AdvancedRequestDataGrid/index.js +3 -3
  32. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +1 -2
  33. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +3 -5
  34. package/dist/components/data/DataGrid/DataGridCell.d.ts +1 -1
  35. package/dist/components/data/DataGrid/DataGridCell.js +5 -5
  36. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +2 -1
  37. package/dist/components/data/DataGrid/DataGridEditableCell.js +2 -7
  38. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +90 -10
  39. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.d.ts +3 -9
  40. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +10 -37
  41. package/dist/components/data/DataGrid/DataGridFooter.d.ts +1 -1
  42. package/dist/components/data/DataGrid/DataGridFooter.js +35 -22
  43. package/dist/components/data/DataGrid/DataGridHeader.js +1 -3
  44. package/dist/components/data/DataGrid/DataGridHeaderCell.js +8 -23
  45. package/dist/components/data/DataGrid/FilterModalContent/index.d.ts +5 -5
  46. package/dist/components/data/DataGrid/FilterModalContent/index.js +11 -9
  47. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +8 -7
  48. package/dist/components/data/DataGrid/FilterValuesScroller.js +5 -6
  49. package/dist/components/data/DataGrid/helpers/columns.d.ts +1 -1
  50. package/dist/components/data/DataGrid/helpers/columns.js +72 -20
  51. package/dist/components/data/DataGrid/helpers/filters.d.ts +4 -3
  52. package/dist/components/data/DataGrid/helpers/filters.js +13 -5
  53. package/dist/components/data/DataGrid/hooks/useDataGrid.d.ts +1 -1
  54. package/dist/components/data/DataGrid/hooks/useDataGrid.js +60 -30
  55. package/dist/components/data/DataGrid/hooks/useDataGridCopy.d.ts +2 -2
  56. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +41 -40
  57. package/dist/components/data/DataGrid/hooks/useDataGridSettings.js +0 -1
  58. package/dist/components/data/DataGrid/index.d.ts +4 -2
  59. package/dist/components/data/DataGrid/index.js +38 -17
  60. package/dist/components/data/DataGrid/styles.d.ts +12 -5
  61. package/dist/components/data/DataGrid/styles.js +31 -18
  62. package/dist/components/data/DataGrid/types.d.ts +28 -16
  63. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +1 -1
  64. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +30 -19
  65. package/dist/components/data/SqlRequestDataGrid/index.js +125 -37
  66. package/dist/components/data/SqlRequestDataGrid/types.d.ts +1 -0
  67. package/dist/components/data/index.d.ts +2 -0
  68. package/dist/components/data/index.js +2 -0
  69. package/dist/components/ui/ContextMenu/index.d.ts +11 -0
  70. package/dist/components/ui/ContextMenu/index.js +58 -0
  71. package/dist/components/ui/ContextMenu/styles.d.ts +18 -0
  72. package/dist/components/ui/ContextMenu/styles.js +56 -0
  73. package/dist/helpers/dates.d.ts +2 -0
  74. package/dist/helpers/dates.js +13 -0
  75. package/dist/services/advancedRequests.d.ts +1 -1
  76. package/dist/services/sqlRequests.d.ts +9 -4
  77. package/dist/services/sqlRequests.js +1 -0
  78. package/package.json +1 -1
  79. package/src/Icons.tsx +104 -80
  80. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +93 -93
  81. package/src/components/data/AdvancedRequestDataGrid/helpers/columns.tsx +262 -262
  82. package/src/components/data/AdvancedRequestDataGrid/helpers/index.ts +2 -2
  83. package/src/components/data/AdvancedRequestDataGrid/index.tsx +267 -269
  84. package/src/components/data/AdvancedRequestDataGrid/types.ts +47 -47
  85. package/src/components/data/DataGrid/DataGridCell.tsx +73 -73
  86. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +14 -14
  87. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -58
  88. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +181 -181
  89. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  90. package/src/components/data/DataGrid/DataGridEditableCell.tsx +43 -54
  91. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +75 -75
  92. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +364 -190
  93. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +49 -100
  94. package/src/components/data/DataGrid/DataGridFooter.tsx +42 -64
  95. package/src/components/data/DataGrid/DataGridHeader.tsx +126 -126
  96. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +132 -167
  97. package/src/components/data/DataGrid/FilterModalContent/index.tsx +124 -125
  98. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  99. package/src/components/data/DataGrid/FilterValuesScroller.tsx +133 -131
  100. package/src/components/data/DataGrid/VirtualScroller.tsx +46 -46
  101. package/src/components/data/DataGrid/helpers/columns.tsx +287 -196
  102. package/src/components/data/DataGrid/helpers/filters.ts +220 -207
  103. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  104. package/src/components/data/DataGrid/hooks/index.ts +30 -30
  105. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +305 -264
  106. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +170 -165
  107. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  108. package/src/components/data/DataGrid/index.tsx +139 -132
  109. package/src/components/data/DataGrid/styles.ts +347 -326
  110. package/src/components/data/DataGrid/types.ts +260 -240
  111. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +259 -224
  112. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  113. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  114. package/src/components/data/SqlRequestDataGrid/index.tsx +347 -252
  115. package/src/components/data/SqlRequestDataGrid/types.ts +47 -47
  116. package/src/components/data/index.ts +8 -8
  117. package/src/components/forms/Button.tsx +99 -99
  118. package/src/components/forms/IconButton.tsx +56 -56
  119. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  120. package/src/components/forms/Select.tsx +40 -40
  121. package/src/components/forms/index.ts +5 -5
  122. package/src/components/forms/styles.ts +20 -20
  123. package/src/components/index.ts +3 -3
  124. package/src/components/layout/Dropdown/index.tsx +79 -79
  125. package/src/components/layout/Dropdown/styles.ts +44 -44
  126. package/src/components/layout/Loading/index.tsx +29 -29
  127. package/src/components/layout/Loading/styles.ts +29 -29
  128. package/src/components/layout/Modal/index.tsx +51 -51
  129. package/src/components/layout/Modal/styles.ts +110 -110
  130. package/src/components/layout/index.ts +3 -3
  131. package/src/components/ui/ContextMenu/index.tsx +73 -0
  132. package/src/components/ui/ContextMenu/styles.ts +115 -0
  133. package/src/config/index.ts +14 -14
  134. package/src/helpers/dates.ts +9 -9
  135. package/src/helpers/getScrollbarSize.ts +14 -14
  136. package/src/helpers/numbers.ts +20 -20
  137. package/src/hooks/index.ts +2 -2
  138. package/src/hooks/useElementSize.ts +24 -24
  139. package/src/hooks/useWindowSize.ts +20 -20
  140. package/src/index.ts +7 -7
  141. package/src/providers/PortalsProvider/index.tsx +54 -54
  142. package/src/providers/PortalsProvider/styles.ts +27 -27
  143. package/src/providers/SettingsProvider/index.tsx +70 -70
  144. package/src/providers/ThemeProvider/ThemeProvider.ts +55 -55
  145. package/src/providers/ThemeProvider/defaultTheme.ts +444 -444
  146. package/src/providers/ThemeProvider/index.ts +3 -3
  147. package/src/providers/ThemeProvider/types.ts +123 -123
  148. package/src/providers/UiProviders/index.tsx +65 -65
  149. package/src/providers/UiProviders/styles.ts +10 -10
  150. package/src/providers/hooks.ts +8 -8
  151. package/src/providers/index.ts +5 -5
  152. package/src/services/HttpService.ts +80 -80
  153. package/src/services/WebSocketService.ts +147 -147
  154. package/src/services/advancedRequests.ts +101 -101
  155. package/src/services/base.ts +31 -31
  156. package/src/services/hooks.ts +23 -23
  157. package/src/services/index.ts +2 -2
  158. package/src/services/sqlRequests.ts +110 -99
  159. package/src/styles/animations.scss +30 -30
  160. package/src/styles/index.scss +42 -42
  161. package/src/typings.d.ts +6 -6
  162. package/tsconfig.tsbuildinfo +1 -1
  163. package/dist/components/data/DataGrid/helpers.d.ts +0 -28
  164. package/dist/components/data/DataGrid/helpers.js +0 -436
  165. package/dist/config/types.d.ts +0 -11
  166. package/dist/config/types.js +0 -2
@@ -1,2 +1,2 @@
1
1
  import { DataGridContext, DataGridContextProps, DataGridProps } from '../types';
2
- export declare const useDataGrid: <R>(props: DataGridProps<R>) => [DataGridContextProps<R>, DataGridContext<R>];
2
+ export declare const useDataGrid: <R>(props: DataGridProps<R>, override?: Partial<DataGridContextProps<R>>) => [DataGridContextProps<R>, DataGridContext<R>];
@@ -66,12 +66,13 @@ var helpers_1 = require("../helpers");
66
66
  var lodash_1 = require("lodash");
67
67
  var useDataGridSettings_1 = require("./useDataGridSettings");
68
68
  var hooks_1 = require("../../../../hooks");
69
- var useDataGrid = function (props) {
70
- var rows = props.rows, onFiltersChanged = props.onFiltersChanged, onSortsChanged = props.onSortsChanged, loadCopyRows = props.loadCopyRows, _a = props.rowHeight, rowHeight = _a === void 0 ? styles_1.DEFAULT_ROW_HEIGHT : _a, onVisibleRowsChange = props.onVisibleRowsChange, onSelectionChange = props.onSelectionChange, selectable = props.selectable;
71
- var _b = (0, react_1.useState)(props.columns), columns = _b[0], setColumns = _b[1];
69
+ var useDataGrid = function (props, override) {
70
+ var _a;
71
+ var rows = props.rows, onFiltersChanged = props.onFiltersChanged, onSortsChanged = props.onSortsChanged, loadCopyRows = props.loadCopyRows, _b = props.rowHeight, rowHeight = _b === void 0 ? styles_1.DEFAULT_ROW_HEIGHT : _b, onVisibleRowsChange = props.onVisibleRowsChange, onSelectionChange = props.onSelectionChange, selectable = props.selectable, initialSorts = props.initialSorts;
72
+ var _c = (0, react_1.useState)(props.columns), columns = _c[0], setColumns = _c[1];
72
73
  var visibleColumns = (0, _1.useSortedColumns)(columns);
73
74
  /** SETTINGS */
74
- var _c = (0, useDataGridSettings_1.useDataGridSettings)(props.name), settings = _c.settings, setSettings = _c.setSettings, saveSettings = _c.saveSettings;
75
+ var _d = (0, useDataGridSettings_1.useDataGridSettings)(props.name), settings = _d.settings, setSettings = _d.setSettings, saveSettings = _d.saveSettings;
75
76
  var setColumnWidth = (0, react_1.useCallback)(function (key, width) {
76
77
  setSettings(function (prev) {
77
78
  var _a;
@@ -79,7 +80,7 @@ var useDataGrid = function (props) {
79
80
  });
80
81
  }, [setSettings]);
81
82
  var gridTemplateColumns = (0, react_1.useMemo)(function () {
82
- return __spreadArray(__spreadArray([], (selectable ? ['var(--space-8)'] : []), true), visibleColumns.map(function (_a) {
83
+ return __spreadArray(__spreadArray([], (selectable ? ['var(--space-10)'] : []), true), visibleColumns.map(function (_a) {
83
84
  var _b;
84
85
  var col = _a[1];
85
86
  return "".concat((_b = col.width) !== null && _b !== void 0 ? _b : 150, "px");
@@ -95,14 +96,14 @@ var useDataGrid = function (props) {
95
96
  ? props.rowKey
96
97
  : function (row) { return String(row === null || row === void 0 ? void 0 : row[props.rowKey]); };
97
98
  }, [props.rowKey]);
98
- var _d = (0, react_1.useState)([]), selectedKeys = _d[0], setSelectedKeys = _d[1];
99
+ var _e = (0, react_1.useState)([]), selectedKeys = _e[0], setSelectedKeys = _e[1];
99
100
  var selectedRows = (0, react_1.useMemo)(function () { return props.rows.filter(function (row) { return selectedKeys.includes(rowKeyGetter(row)); }); }, [props.rows, rowKeyGetter, selectedKeys]);
100
101
  (0, react_1.useEffect)(function () {
101
102
  onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(selectedKeys);
102
103
  }, [onSelectionChange, selectedKeys]);
103
104
  /** ROWS FILTERING **/
104
- var _e = (0, react_1.useState)({}), filters = _e[0], setFilters = _e[1];
105
- var _f = (0, react_1.useState)(rows !== null && rows !== void 0 ? rows : []), filteredRows = _f[0], setFilteredRows = _f[1];
105
+ var _f = (0, react_1.useState)({}), filters = _f[0], setFilters = _f[1];
106
+ var _g = (0, react_1.useState)(rows !== null && rows !== void 0 ? rows : []), filteredRows = _g[0], setFilteredRows = _g[1];
106
107
  (0, react_1.useEffect)(function () {
107
108
  onFiltersChanged === null || onFiltersChanged === void 0 ? void 0 : onFiltersChanged(filters);
108
109
  }, [filters, onFiltersChanged]);
@@ -116,10 +117,10 @@ var useDataGrid = function (props) {
116
117
  setFilteredRows(filteredRows !== null && filteredRows !== void 0 ? filteredRows : []);
117
118
  }, [filters, props.filter, rows]);
118
119
  /** CELL EDITING */
119
- var _g = (0, react_1.useState)([-1, -1]), editingCell = _g[0], setEditingCell = _g[1];
120
+ var _h = (0, react_1.useState)([-1, -1]), editingCell = _h[0], setEditingCell = _h[1];
120
121
  /** ROWS SORTING **/
121
- var _h = (0, react_1.useState)({}), sorts = _h[0], setSorts = _h[1];
122
- var _j = (0, react_1.useState)(rows), sortedRows = _j[0], setSortedRows = _j[1];
122
+ var _j = (0, react_1.useState)(initialSorts !== null && initialSorts !== void 0 ? initialSorts : {}), sorts = _j[0], setSorts = _j[1];
123
+ var _k = (0, react_1.useState)(rows), sortedRows = _k[0], setSortedRows = _k[1];
123
124
  (0, react_1.useEffect)(function () {
124
125
  var sortedRows = __spreadArray([], filteredRows, true);
125
126
  if (props.sort !== false) {
@@ -148,10 +149,10 @@ var useDataGrid = function (props) {
148
149
  /** VIRTUAL SCROLLING */
149
150
  var scrollableRef = (0, react_1.useRef)(null);
150
151
  var height = (0, hooks_1.useElementSize)(scrollableRef.current).height;
151
- var _k = (0, react_1.useState)(0), scrollTop = _k[0], setScrollTop = _k[1];
152
- var _l =
152
+ var _l = (0, react_1.useState)(0), scrollTop = _l[0], setScrollTop = _l[1];
153
+ var _m =
153
154
  // props.showAllRows ? [0, sortedRows.length] :
154
- [Math.floor(scrollTop / rowHeight), Math.ceil(height / rowHeight)], index = _l[0], length = _l[1];
155
+ [Math.floor(scrollTop / rowHeight), Math.ceil(height / rowHeight)], index = _m[0], length = _m[1];
155
156
  var onScroll = (0, react_1.useCallback)(function (e) {
156
157
  var target = e.target;
157
158
  setScrollTop(target.scrollTop);
@@ -162,29 +163,56 @@ var useDataGrid = function (props) {
162
163
  (0, react_1.useEffect)(function () {
163
164
  onVisibleRowsChange === null || onVisibleRowsChange === void 0 ? void 0 : onVisibleRowsChange(indexWithTolerance, lengthWithTolerance);
164
165
  }, [indexWithTolerance, lengthWithTolerance, onVisibleRowsChange]);
166
+ /** FOOTERS */
167
+ var _o = (0, react_1.useState)((_a = props.initialFooters) !== null && _a !== void 0 ? _a : {}), footers = _o[0], setFooters = _o[1];
168
+ var footerFunctions = (0, react_1.useMemo)(function () {
169
+ return Object.entries(footers).reduce(function (acc, _a) {
170
+ var columnKey = _a[0], footerKey = _a[1];
171
+ var column = columns[columnKey];
172
+ if (!column) {
173
+ return acc;
174
+ }
175
+ if (typeof column.footer === 'function') {
176
+ acc[columnKey] = column.footer;
177
+ }
178
+ else if (typeof column.footer === 'object' &&
179
+ typeof column.footer[footerKey] === 'function') {
180
+ acc[columnKey] = column.footer[footerKey];
181
+ }
182
+ return acc;
183
+ }, {});
184
+ }, [columns, footers]);
165
185
  /** COPYING */
166
- var copyTable = (0, _1.useDataGridCopy)(sortedRows, columns, loadCopyRows).copyTable;
167
- var contextValue = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props), { columns: columns, visibleColumns: visibleColumns, sortedRows: sortedRows, selectedRows: selectedRows, selectedKeys: selectedKeys, setSelectedKeys: setSelectedKeys, sorts: sorts, setSorts: setSorts, filters: filters, setFilters: setFilters, editingCell: editingCell, setEditingCell: setEditingCell, copyTable: copyTable, setColumnWidth: setColumnWidth, settings: settings, setSettings: setSettings, saveSettings: saveSettings, visibleRows: visibleRows, scrollableRef: scrollableRef, onScroll: onScroll, index: index, length: length, rowKeyGetter: rowKeyGetter, gridTemplateColumns: gridTemplateColumns })); }, [
168
- columns,
169
- copyTable,
170
- editingCell,
171
- filters,
172
- index,
173
- length,
174
- onScroll,
186
+ var copyTable = (0, _1.useDataGridCopy)({
187
+ rows: rows,
188
+ visibleColumns: visibleColumns,
189
+ footerFunctions: footerFunctions,
190
+ loadCopyRows: loadCopyRows,
191
+ }).copyTable;
192
+ var contextValue = (0, react_1.useMemo)(function () { return (__assign(__assign(__assign({}, props), { columns: columns, visibleColumns: visibleColumns, sortedRows: sortedRows, selectedRows: selectedRows, selectedKeys: selectedKeys, setSelectedKeys: setSelectedKeys, sorts: sorts, setSorts: setSorts, filters: filters, setFilters: setFilters, editingCell: editingCell, setEditingCell: setEditingCell, copyTable: copyTable, setColumnWidth: setColumnWidth, settings: settings, setSettings: setSettings, saveSettings: saveSettings, visibleRows: visibleRows, scrollableRef: scrollableRef, onScroll: onScroll, index: index, length: length, rowKeyGetter: rowKeyGetter, gridTemplateColumns: gridTemplateColumns, footers: footers, setFooters: setFooters, footerFunctions: footerFunctions }), override)); }, [
175
193
  props,
176
- rowKeyGetter,
177
- saveSettings,
178
- selectedKeys,
194
+ columns,
195
+ visibleColumns,
196
+ sortedRows,
179
197
  selectedRows,
198
+ selectedKeys,
199
+ sorts,
200
+ filters,
201
+ editingCell,
202
+ copyTable,
180
203
  setColumnWidth,
181
- setSettings,
182
204
  settings,
183
- sortedRows,
184
- sorts,
185
- visibleColumns,
205
+ setSettings,
206
+ saveSettings,
186
207
  visibleRows,
208
+ onScroll,
209
+ index,
210
+ length,
211
+ rowKeyGetter,
187
212
  gridTemplateColumns,
213
+ footers,
214
+ footerFunctions,
215
+ override,
188
216
  ]);
189
217
  var context = (0, react_1.useMemo)(function () {
190
218
  return (0, react_1.createContext)({
@@ -214,6 +242,8 @@ var useDataGrid = function (props) {
214
242
  index: 0,
215
243
  length: 0,
216
244
  gridTemplateColumns: '',
245
+ footers: {},
246
+ setFooters: function () { },
217
247
  });
218
248
  }, []);
219
249
  return (0, react_1.useMemo)(function () { return [contextValue, context]; }, [context, contextValue]);
@@ -1,4 +1,4 @@
1
- import { DataGridColumns } from '../types';
2
- export declare const useDataGridCopy: <R>(rows: R[], columns: DataGridColumns<R>, loadCopyRows?: () => Promise<R[]>) => {
1
+ import { DataGridContextProps } from '../types';
2
+ export declare const useDataGridCopy: <R>({ rows, visibleColumns, loadCopyRows, footerFunctions, }: Pick<DataGridContextProps<R>, "rows" | "visibleColumns" | "loadCopyRows" | "footerFunctions">) => {
3
3
  copyTable: (includeHeaders?: boolean, includeFooters?: boolean) => Promise<void>;
4
4
  };
@@ -48,23 +48,26 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
49
  exports.useDataGridCopy = void 0;
50
50
  var react_1 = require("react");
51
- var useDataGridCopy = function (rows, columns, loadCopyRows) {
51
+ var useDataGridCopy = function (_a) {
52
+ var rows = _a.rows, _b = _a.visibleColumns, visibleColumns = _b === void 0 ? [] : _b, loadCopyRows = _a.loadCopyRows, footerFunctions = _a.footerFunctions;
52
53
  var generateHeadersHtml = (0, react_1.useCallback)(function () {
53
- return "<tr>\n ".concat(Object.values(columns !== null && columns !== void 0 ? columns : {})
54
- .map(function (col) {
54
+ return "<tr>\n ".concat(visibleColumns
55
+ .map(function (_a) {
56
+ var col = _a[1];
55
57
  return "<th style=\"\n text-align: left;\n font-weight: bold;\n white-space: nowrap;\n \">\n ".concat(col.name, "\n </th>");
56
58
  })
57
59
  .join('\n'), "\n </tr>");
58
- }, [columns]);
60
+ }, [visibleColumns]);
59
61
  var generateFootersHtml = (0, react_1.useCallback)(function (rowsToCopy) {
60
- return "<tr>\n ".concat(Object.values(columns !== null && columns !== void 0 ? columns : {})
61
- .map(function (col) {
62
- return "<td style=\"\n font-weight: bold;\n white-space: nowrap;\n \">\n ".concat(col.footer
63
- ? col.footer(rowsToCopy, rowsToCopy, [])
64
- : '', "\n </td>");
62
+ console.log('generate footers html');
63
+ return "<tr>\n ".concat(visibleColumns
64
+ .map(function (_a) {
65
+ var _b, _c;
66
+ var colKey = _a[0];
67
+ return "<td style=\"\n font-weight: bold;\n white-space: nowrap;\n \">\n ".concat((_c = (_b = footerFunctions === null || footerFunctions === void 0 ? void 0 : footerFunctions[colKey]) === null || _b === void 0 ? void 0 : _b.call(footerFunctions, rowsToCopy, rowsToCopy, [])) !== null && _c !== void 0 ? _c : '', "\n </td>");
65
68
  })
66
69
  .join('\n'), "\n </tr>");
67
- }, [columns]);
70
+ }, [footerFunctions, visibleColumns]);
68
71
  var generateCellText = (0, react_1.useCallback)(function (col, value) {
69
72
  var _a;
70
73
  return col.excelValue ? col.excelValue(value) : (_a = value === null || value === void 0 ? void 0 : value.toString()) !== null && _a !== void 0 ? _a : '';
@@ -73,36 +76,40 @@ var useDataGridCopy = function (rows, columns, loadCopyRows) {
73
76
  ? "mso-number-format: '" + col.excelFormatter(col) + "';"
74
77
  : '', "\n white-space: nowrap;\n \">\n ").concat(generateCellText(col, value), "\n </td>"); }, [generateCellText]);
75
78
  var generateCopyHtml = (0, react_1.useCallback)(function (rowsToCopy, includeHeaders, includeFooters) {
76
- console.log('generateCopyHtml', rowsToCopy, columns);
77
79
  return "\n <table>\n ".concat(includeHeaders ? generateHeadersHtml() : '', "\n ").concat((rowsToCopy || [])
78
80
  .map(function (row) {
79
- return "<tr>\n ".concat(Object.values(columns !== null && columns !== void 0 ? columns : {})
80
- .map(function (col) {
81
+ return "<tr>\n ".concat(visibleColumns
82
+ .map(function (_a) {
83
+ var col = _a[1];
81
84
  var value = col.getter && row ? col.getter(row) : '';
82
85
  return generateCellHtml(col, value);
83
86
  })
84
87
  .join('\n'), "\n </tr>");
85
88
  })
86
89
  .join('\n'), "\n ").concat(includeFooters ? generateFootersHtml(rowsToCopy) : '', "\n </table>\n ");
87
- }, [columns, generateCellHtml, generateFootersHtml, generateHeadersHtml]);
90
+ }, [visibleColumns, generateCellHtml, generateFootersHtml, generateHeadersHtml]);
88
91
  var generateHeadersText = (0, react_1.useCallback)(function () {
89
- return Object.values(columns !== null && columns !== void 0 ? columns : {})
90
- .map(function (col) { return col.name; })
91
- .join('\t');
92
- }, [columns]);
92
+ return visibleColumns.map(function (_a) {
93
+ var col = _a[1];
94
+ return col.name;
95
+ }).join('\t');
96
+ }, [visibleColumns]);
93
97
  var generateFootersText = (0, react_1.useCallback)(function (rowsToCopy) {
94
- return Object.values(columns !== null && columns !== void 0 ? columns : {})
95
- .map(function (col) {
96
- return col.footer ? col.footer(rowsToCopy, rowsToCopy, []) : '';
98
+ return visibleColumns
99
+ .map(function (_a) {
100
+ var _b, _c;
101
+ var colKey = _a[0];
102
+ return (_c = (_b = footerFunctions === null || footerFunctions === void 0 ? void 0 : footerFunctions[colKey]) === null || _b === void 0 ? void 0 : _b.call(footerFunctions, rowsToCopy, [], [])) !== null && _c !== void 0 ? _c : '';
97
103
  })
98
104
  .join('\t');
99
- }, [columns]);
105
+ }, [footerFunctions, visibleColumns]);
100
106
  var generateCopyText = (0, react_1.useCallback)(function (rowsToCopy, includeHeaders, includeFooters) {
101
107
  return __spreadArray(__spreadArray([
102
108
  includeHeaders ? generateHeadersText() : ''
103
109
  ], (rowsToCopy || []).map(function (row) {
104
- return Object.values(columns !== null && columns !== void 0 ? columns : {})
105
- .map(function (col) {
110
+ return visibleColumns
111
+ .map(function (_a) {
112
+ var col = _a[1];
106
113
  var value = col.getter && row ? col.getter(row) : '';
107
114
  return col.excelValue
108
115
  ? col.excelValue(value)
@@ -115,29 +122,23 @@ var useDataGridCopy = function (rows, columns, loadCopyRows) {
115
122
  includeFooters ? generateFootersText(rowsToCopy) : '',
116
123
  ], false).filter(function (s) { return s != null; })
117
124
  .join('\n');
118
- }, [columns, generateFootersText, generateHeadersText]);
125
+ }, [visibleColumns, generateFootersText, generateHeadersText]);
119
126
  var copyTable = (0, react_1.useCallback)(function () {
120
127
  var args_1 = [];
121
128
  for (var _i = 0; _i < arguments.length; _i++) {
122
129
  args_1[_i] = arguments[_i];
123
130
  }
124
131
  return __awaiter(void 0, __spreadArray([], args_1, true), void 0, function (includeHeaders, includeFooters) {
125
- var rowsToCopy, _a, copyHtml, copyText;
132
+ var rowsToCopy, copyHtml, copyText;
126
133
  if (includeHeaders === void 0) { includeHeaders = true; }
127
134
  if (includeFooters === void 0) { includeFooters = true; }
128
- return __generator(this, function (_b) {
129
- switch (_b.label) {
130
- case 0:
131
- if (!loadCopyRows) return [3 /*break*/, 2];
132
- return [4 /*yield*/, loadCopyRows()];
135
+ return __generator(this, function (_a) {
136
+ switch (_a.label) {
137
+ case 0: return [4 /*yield*/, (loadCopyRows !== null && loadCopyRows !== void 0 ? loadCopyRows : (function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
138
+ return [2 /*return*/, rows];
139
+ }); }); }))()];
133
140
  case 1:
134
- _a = _b.sent();
135
- return [3 /*break*/, 3];
136
- case 2:
137
- _a = rows;
138
- _b.label = 3;
139
- case 3:
140
- rowsToCopy = _a;
141
+ rowsToCopy = _a.sent();
141
142
  copyHtml = generateCopyHtml(rowsToCopy, includeHeaders, includeFooters);
142
143
  copyText = generateCopyText(rowsToCopy, includeHeaders, includeFooters);
143
144
  return [4 /*yield*/, navigator['clipboard'].write([
@@ -146,8 +147,8 @@ var useDataGridCopy = function (rows, columns, loadCopyRows) {
146
147
  'text/html': new Blob([copyHtml], { type: 'text/html' }),
147
148
  }),
148
149
  ])];
149
- case 4:
150
- _b.sent();
150
+ case 2:
151
+ _a.sent();
151
152
  return [2 /*return*/];
152
153
  }
153
154
  });
@@ -11,7 +11,6 @@ var useDataGridSettings = function (name) {
11
11
  if (name) {
12
12
  var settingName = "user.datagrid.settings.".concat(name);
13
13
  var gridSettingsJson = (settings === null || settings === void 0 ? void 0 : settings[settingName]) || '{}';
14
- console.log('read datagrid settings for', settingName, gridSettingsJson);
15
14
  var gridSettings = {};
16
15
  try {
17
16
  gridSettings = JSON.parse(gridSettingsJson);
@@ -1,2 +1,4 @@
1
- import { DataGridProps } from './types';
2
- export declare const DataGrid: <R>(props: DataGridProps<R>) => import("react/jsx-runtime").JSX.Element;
1
+ import { DataGridContextProps, DataGridProps } from './types';
2
+ export declare const DataGrid: <R>({ contextOverride, ...props }: DataGridProps<R> & {
3
+ contextOverride?: Partial<DataGridContextProps<R>>;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -22,6 +33,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
33
  __setModuleDefault(result, mod);
23
34
  return result;
24
35
  };
36
+ var __rest = (this && this.__rest) || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
+ t[p] = s[p];
40
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
+ t[p[i]] = s[p[i]];
44
+ }
45
+ return t;
46
+ };
25
47
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
26
48
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
27
49
  if (ar || !(i in from)) {
@@ -43,43 +65,42 @@ var react_1 = require("react");
43
65
  var hooks_1 = require("./hooks");
44
66
  /* eslint-disable @typescript-eslint/no-explicit-any */
45
67
  /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
46
- var DataGrid = function (props) {
68
+ var DataGrid = function (_a) {
69
+ var contextOverride = _a.contextOverride, props = __rest(_a, ["contextOverride"]);
47
70
  var className = props.className,
48
71
  // onRowDoubleClick,
49
72
  onVisibleRowsChange = props.onVisibleRowsChange;
50
- var _a = (0, hooks_1.useDataGrid)(props), contextProps = _a[0], DataGridContext = _a[1];
51
- var selectedKeys = contextProps.selectedKeys, setSelectedKeys = contextProps.setSelectedKeys, columns = contextProps.columns, visibleColumns = contextProps.visibleColumns, _b = contextProps.rowHeight, rowHeight = _b === void 0 ? 32 : _b, _c = contextProps.headerRowHeight, headerRowHeight = _c === void 0 ? 40 : _c, scrollableRef = contextProps.scrollableRef, onScroll = contextProps.onScroll, rowKeyGetter = contextProps.rowKeyGetter;
73
+ var _b = (0, hooks_1.useDataGrid)(props, contextOverride), contextProps = _b[0], DataGridContext = _b[1];
74
+ var selectedKeys = contextProps.selectedKeys, setSelectedKeys = contextProps.setSelectedKeys, columns = contextProps.columns, visibleColumns = contextProps.visibleColumns, _c = contextProps.rowHeight, rowHeight = _c === void 0 ? 32 : _c, _d = contextProps.headerRowHeight, headerRowHeight = _d === void 0 ? 40 : _d, scrollableRef = contextProps.scrollableRef, onScroll = contextProps.onScroll, rowKeyGetter = contextProps.rowKeyGetter;
52
75
  var hasFooter = Object.values(columns).some(function (col) { return col.footer; });
53
- var setRowSelection = (0, react_1.useCallback)(function (row, selected) {
54
- var key = rowKeyGetter(row);
55
- if (selected) {
56
- if (!selectedKeys.includes(key))
57
- setSelectedKeys(__spreadArray(__spreadArray([], selectedKeys, true), [key], false));
76
+ var toggleSelection = (0, react_1.useCallback)(function (key) {
77
+ if (selectedKeys.includes(key)) {
78
+ setSelectedKeys(selectedKeys.filter(function (p) { return p !== key; }));
58
79
  }
59
80
  else {
60
- setSelectedKeys(selectedKeys.filter(function (p) { return p !== key; }));
81
+ setSelectedKeys(__spreadArray(__spreadArray([], selectedKeys, true), [key], false));
61
82
  }
62
- }, [rowKeyGetter, selectedKeys, setSelectedKeys]);
83
+ }, [selectedKeys, setSelectedKeys]);
63
84
  var rowTemplate = (0, react_1.useCallback)(function (row, rowIndex) {
64
85
  var _a, _b;
65
- var _c = (_b = (_a = props.rowClassNameGetter) === null || _a === void 0 ? void 0 : _a.call(props, row)) !== null && _b !== void 0 ? _b : {
66
- className: '',
67
- style: undefined,
68
- }, className = _c.className, style = _c.style;
69
86
  if (!row) {
70
87
  return ((0, jsx_runtime_1.jsxs)(styles.DataGridRow, { children: [!!props.selectable && ((0, jsx_runtime_1.jsx)(styles.LoadingCell, { className: "animate-pulse", children: (0, jsx_runtime_1.jsx)("div", {}) })), visibleColumns.map(function (_, index) { return ((0, jsx_runtime_1.jsx)(styles.LoadingCell, { className: "animate-pulse", children: (0, jsx_runtime_1.jsx)("div", {}) }, "loading-".concat(rowIndex, "-").concat(index))); })] }, "loading-row-".concat(rowIndex)));
71
88
  }
72
89
  var key = rowKeyGetter(row);
73
- return ((0, jsx_runtime_1.jsxs)(styles.DataGridRow, { children: [!!props.selectable && ((0, jsx_runtime_1.jsx)(styles.SelectionCell, { children: (0, jsx_runtime_1.jsx)("input", { type: "checkbox", value: key, checked: selectedKeys.includes(key), onChange: function (e) { return setRowSelection(row, e.target.checked); } }) }, "__select_checkbox__")), visibleColumns.map(function (_a, index) {
90
+ var _c = (_b = (_a = props.rowClassNameGetter) === null || _a === void 0 ? void 0 : _a.call(props, row)) !== null && _b !== void 0 ? _b : {
91
+ className: '',
92
+ style: undefined,
93
+ }, className = _c.className, style = _c.style;
94
+ return ((0, jsx_runtime_1.jsxs)(styles.DataGridRow, { children: [!!props.selectable && ((0, jsx_runtime_1.jsx)(styles.SelectionCell, { onClick: function () { return toggleSelection(key); }, children: (0, jsx_runtime_1.jsx)("input", { type: "checkbox", value: key, checked: selectedKeys.includes(key), readOnly: true }) }, "__select_checkbox__")), visibleColumns.map(function (_a, index) {
74
95
  var key = _a[0], col = _a[1];
75
- return ((0, jsx_runtime_1.jsx)(DataGridCell_1.DataGridCell, { className: className, style: style, row: row, rowIndex: rowIndex, column: col, columnIndex: index, context: DataGridContext, columnKey: key }, "loading-".concat(rowIndex, "-").concat(index)));
96
+ return ((0, jsx_runtime_1.jsx)(DataGridCell_1.DataGridCell, __assign({}, (index === 0 ? { className: className, style: style } : {}), { row: row, rowIndex: rowIndex, column: col, columnIndex: index, context: DataGridContext, columnKey: key }), "loading-".concat(rowIndex, "-").concat(index)));
76
97
  })] }, key));
77
98
  }, [
78
99
  DataGridContext,
79
100
  props,
80
101
  rowKeyGetter,
81
102
  selectedKeys,
82
- setRowSelection,
103
+ toggleSelection,
83
104
  visibleColumns,
84
105
  ]);
85
106
  return ((0, jsx_runtime_1.jsx)(DataGridContext.Provider, { value: contextProps, children: (0, jsx_runtime_1.jsxs)(styles.DataGridContainer, { ref: scrollableRef, onScroll: onScroll, "$headerRowHeight": headerRowHeight, "$rowHeight": rowHeight, "$rowsCount": contextProps.sortedRows.length, className: className, children: [(0, jsx_runtime_1.jsx)(DataGridHeader_1.DataGridHeader, { context: DataGridContext }), (0, jsx_runtime_1.jsx)(VirtualScroller_1.VirtualScroller, { onRangeChange: onVisibleRowsChange, hasFooter: hasFooter, rowTemplate: rowTemplate, context: DataGridContext }), hasFooter && (0, jsx_runtime_1.jsx)(DataGridFooter_1.DataGridFooter, { context: DataGridContext })] }) }));
@@ -20,7 +20,7 @@ export declare const DataGridResizeGrip: import("styled-components/dist/types").
20
20
  $headerColor?: ThemeColor;
21
21
  }>> & string;
22
22
  type DataGridHeaderCellContainerProps = {
23
- $isResizing: boolean;
23
+ $isResizing?: boolean;
24
24
  $headerColor?: ThemeColor;
25
25
  };
26
26
  export declare const DataGridHeaderCellContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, DataGridHeaderCellContainerProps>> & string;
@@ -32,13 +32,17 @@ export declare const DataGridContainer: import("styled-components/dist/types").I
32
32
  $rowsCount: number;
33
33
  $showToolsHeader?: boolean;
34
34
  }>> & string;
35
- export declare const DataGridHeaderRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
36
- ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
37
- }>, {
35
+ type DataGridHeaderOrFooterRowProps = {
38
36
  $headerRowHeight?: number;
39
37
  $headerColor?: ThemeColor;
40
38
  $gridTemplateColumns: string;
41
- }>, never>> & string;
39
+ };
40
+ export declare const DataGridHeaderRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
41
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
42
+ }>, DataGridHeaderOrFooterRowProps>, never>> & string;
43
+ export declare const DataGridFooterRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
44
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
45
+ }>, DataGridHeaderOrFooterRowProps>, never>> & string;
42
46
  export declare const DataGridRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
43
47
  export declare const LoadingCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>, "ref"> & {
44
48
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
@@ -46,6 +50,9 @@ export declare const LoadingCell: import("styled-components/dist/types").IStyled
46
50
  export declare const SelectionCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>, "ref"> & {
47
51
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
48
52
  }, never>> & string;
53
+ export declare const HeaderSelectionCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof DataGridHeaderCellContainerProps> & DataGridHeaderCellContainerProps, "ref"> & {
54
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
55
+ }, never>> & string;
49
56
  export declare const ResizeBackdrop: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
50
57
  ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
51
58
  }>, never>, never>> & string;
@@ -27,7 +27,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
27
27
  return result;
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.FilterValuesScrollerContainer = exports.ResizeBackdrop = exports.SelectionCell = exports.LoadingCell = exports.DataGridRow = exports.DataGridHeaderRow = exports.DataGridContainer = exports.DataGridToolsRow = exports.DataGridCell = exports.DataGridHeaderCellContainer = exports.DataGridResizeGrip = exports.VirtualScrollerRowsContainer = exports.VirtualScrollerContainer = exports.BottomPaddingRow = exports.TopPaddingRow = exports.DEFAULT_FILTER_ROW_HEIGHT = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_HEADER_ROW_HEIGHT = exports.TOOLBAR_HEIGHT = exports.VIRTUAL_SCROLL_TOLERANCE = void 0;
30
+ exports.FilterValuesScrollerContainer = exports.ResizeBackdrop = exports.HeaderSelectionCell = exports.SelectionCell = exports.LoadingCell = exports.DataGridRow = exports.DataGridFooterRow = exports.DataGridHeaderRow = exports.DataGridContainer = exports.DataGridToolsRow = exports.DataGridCell = exports.DataGridHeaderCellContainer = exports.DataGridResizeGrip = exports.VirtualScrollerRowsContainer = exports.VirtualScrollerContainer = exports.BottomPaddingRow = exports.TopPaddingRow = exports.DEFAULT_FILTER_ROW_HEIGHT = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_HEADER_ROW_HEIGHT = exports.TOOLBAR_HEIGHT = exports.VIRTUAL_SCROLL_TOLERANCE = void 0;
31
31
  var styled_components_1 = __importStar(require("styled-components"));
32
32
  exports.VIRTUAL_SCROLL_TOLERANCE = 20;
33
33
  exports.TOOLBAR_HEIGHT = 40;
@@ -56,16 +56,16 @@ exports.DataGridResizeGrip = styled_components_1.default.div(templateObject_7 ||
56
56
  return $headerColor
57
57
  ? (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n background-color: var(--color-", "-400);\n &:hover,\n &.active {\n background-color: var(--color-", "-500);\n }\n "], ["\n background-color: var(--color-", "-400);\n &:hover,\n &.active {\n background-color: var(--color-", "-500);\n }\n "])), $headerColor, $headerColor) : (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n background-color: var(--color-neutral-400);\n &:hover,\n &.active {\n background-color: var(--color-neutral-500);\n }\n "], ["\n background-color: var(--color-neutral-400);\n &:hover,\n &.active {\n background-color: var(--color-neutral-500);\n }\n "])));
58
58
  });
59
- exports.DataGridHeaderCellContainer = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: var(--space-1);\n padding: 0 0.75rem;\n height: 100%;\n font-weight: var(--font-bold);\n line-height: 1.5rem;\n z-index: ", ";\n\n ", "\n\n &:hover {\n ", " {\n display: block;\n }\n }\n\n & > span {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n flex: 1;\n }\n"], ["\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: var(--space-1);\n padding: 0 0.75rem;\n height: 100%;\n font-weight: var(--font-bold);\n line-height: 1.5rem;\n z-index: ", ";\n\n ", "\n\n &:hover {\n ", " {\n display: block;\n }\n }\n\n & > span {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n flex: 1;\n }\n"])), function (_a) {
59
+ exports.DataGridHeaderCellContainer = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: var(--space-1);\n padding: 0 0.75rem;\n height: 100%;\n font-weight: var(--font-bold);\n line-height: 1.5rem;\n z-index: ", ";\n\n ", "\n\n &:hover {\n ", " {\n display: block;\n }\n }\n\n & > span {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n flex: 1;\n font-weight: bold;\n }\n"], ["\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: var(--space-1);\n padding: 0 0.75rem;\n height: 100%;\n font-weight: var(--font-bold);\n line-height: 1.5rem;\n z-index: ", ";\n\n ", "\n\n &:hover {\n ", " {\n display: block;\n }\n }\n\n & > span {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n flex: 1;\n font-weight: bold;\n }\n"])), function (_a) {
60
60
  var $isResizing = _a.$isResizing;
61
61
  return ($isResizing ? 1 : 0);
62
62
  }, function (_a) {
63
63
  var $headerColor = _a.$headerColor;
64
64
  return $headerColor
65
- ? (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n background-color: var(--color-", "-200);\n color: var(--color-", "-900);\n &:hover {\n background-color: var(--color-", "-300);\n }\n "], ["\n background-color: var(--color-", "-200);\n color: var(--color-", "-900);\n &:hover {\n background-color: var(--color-", "-300);\n }\n "])), $headerColor, $headerColor, $headerColor) : (0, styled_components_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n &:hover {\n background-color: var(--color-neutral-300);\n }\n "], ["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n &:hover {\n background-color: var(--color-neutral-300);\n }\n "])));
65
+ ? (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n background-color: var(--color-", "-200);\n color: var(--color-", "-950);\n &:hover {\n background-color: var(--color-", "-300);\n }\n\n & > button {\n background-color: var(--color-", "-400);\n border-color: var(--color-", "-500);\n &:hover {\n background-color: var(--color-", "-500);\n border-color: var(--color-", "-600);\n }\n }\n & > button.danger {\n background-color: var(--color-red-400);\n border-color: var(--color-red-500);\n &:hover {\n background-color: var(--color-red-500);\n border-color: var(--color-red-600);\n }\n }\n "], ["\n background-color: var(--color-", "-200);\n color: var(--color-", "-950);\n &:hover {\n background-color: var(--color-", "-300);\n }\n\n & > button {\n background-color: var(--color-", "-400);\n border-color: var(--color-", "-500);\n &:hover {\n background-color: var(--color-", "-500);\n border-color: var(--color-", "-600);\n }\n }\n & > button.danger {\n background-color: var(--color-red-400);\n border-color: var(--color-red-500);\n &:hover {\n background-color: var(--color-red-500);\n border-color: var(--color-red-600);\n }\n }\n "])), $headerColor, $headerColor, $headerColor, $headerColor, $headerColor, $headerColor, $headerColor) : (0, styled_components_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-950);\n &:hover {\n background-color: var(--color-neutral-300);\n }\n "], ["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-950);\n &:hover {\n background-color: var(--color-neutral-300);\n }\n "])));
66
66
  }, exports.DataGridResizeGrip);
67
67
  exports.DataGridHeaderCellContainer.displayName = 'DataGridHeaderCellContainer';
68
- exports.DataGridCell = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n padding: 0 var(--space-3);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-right: 1px solid var(--color-neutral-200);\n border-bottom: 1px solid var(--color-neutral-200);\n"], ["\n padding: 0 var(--space-3);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-right: 1px solid var(--color-neutral-200);\n border-bottom: 1px solid var(--color-neutral-200);\n"])));
68
+ exports.DataGridCell = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n position: relative;\n padding: 0 var(--space-3);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-right: 1px solid var(--color-neutral-200);\n border-bottom: 1px solid var(--color-neutral-200);\n"], ["\n position: relative;\n padding: 0 var(--space-3);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-right: 1px solid var(--color-neutral-200);\n border-bottom: 1px solid var(--color-neutral-200);\n"])));
69
69
  exports.DataGridCell.displayName = 'DataGridCell';
70
70
  exports.DataGridToolsRow = styled_components_1.default.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n display: flex;\n gap: var(--space-1);\n padding: 0 var(--space-1);\n align-items: center;\n background-color: var(--color-neutral-200);\n position: sticky;\n top: 0;\n left: 0;\n z-index: 10;\n"], ["\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n display: flex;\n gap: var(--space-1);\n padding: 0 var(--space-1);\n align-items: center;\n background-color: var(--color-neutral-200);\n position: sticky;\n top: 0;\n left: 0;\n z-index: 10;\n"])));
71
71
  exports.DataGridToolsRow.displayName = 'DataGridToolsRow';
@@ -86,6 +86,14 @@ exports.DataGridContainer = styled_components_1.default.div(templateObject_13 ||
86
86
  return "".concat($rowHeight, "px");
87
87
  }, exports.VirtualScrollerContainer);
88
88
  exports.DataGridContainer.displayName = 'DataGridContainer';
89
+ var dataGridHeaderOrFooterRowCss = (0, styled_components_1.css)(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n display: grid;\n grid-template-rows: ", ";\n z-index: 10;\n position: sticky;\n align-items: center;\n\n ", "\n"], ["\n display: grid;\n grid-template-rows: ", ";\n z-index: 10;\n position: sticky;\n align-items: center;\n\n ", "\n"])), function (_a) {
90
+ var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b;
91
+ return "".concat($headerRowHeight, "px");
92
+ }, function (_a) {
93
+ var $headerColor = _a.$headerColor;
94
+ return $headerColor
95
+ ? (0, styled_components_1.css)(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n background-color: var(--color-", "-100);\n color: var(--color-", "-900);\n "], ["\n background-color: var(--color-", "-100);\n color: var(--color-", "-900);\n "])), $headerColor, $headerColor) : (0, styled_components_1.css)(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n "], ["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n "])));
96
+ });
89
97
  exports.DataGridHeaderRow = styled_components_1.default.div.attrs(function (_a) {
90
98
  var $gridTemplateColumns = _a.$gridTemplateColumns;
91
99
  return ({
@@ -93,29 +101,34 @@ exports.DataGridHeaderRow = styled_components_1.default.div.attrs(function (_a)
93
101
  gridTemplateColumns: $gridTemplateColumns,
94
102
  },
95
103
  });
96
- })(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n display: grid;\n grid-template-rows: ", ";\n z-index: 10;\n position: sticky;\n top: ", "px;\n align-items: center;\n\n ", "\n"], ["\n display: grid;\n grid-template-rows: ", ";\n z-index: 10;\n position: sticky;\n top: ", "px;\n align-items: center;\n\n ", "\n"])), function (_a) {
97
- var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b;
98
- return "".concat($headerRowHeight, "px");
99
- }, exports.TOOLBAR_HEIGHT, function (_a) {
100
- var $headerColor = _a.$headerColor;
101
- return $headerColor
102
- ? (0, styled_components_1.css)(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n background-color: var(--color-", "-100);\n color: var(--color-", "-900);\n "], ["\n background-color: var(--color-", "-100);\n color: var(--color-", "-900);\n "])), $headerColor, $headerColor) : (0, styled_components_1.css)(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n "], ["\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-900);\n "])));
103
- });
104
+ })(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n ", "\n top: ", "px;\n"], ["\n ", "\n top: ", "px;\n"])), dataGridHeaderOrFooterRowCss, exports.TOOLBAR_HEIGHT);
104
105
  exports.DataGridHeaderRow.displayName = 'DataGridHeaderRow';
105
- exports.DataGridRow = styled_components_1.default.div(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n display: contents;\n"], ["\n display: contents;\n"])));
106
+ exports.DataGridFooterRow = styled_components_1.default.div.attrs(function (_a) {
107
+ var $gridTemplateColumns = _a.$gridTemplateColumns;
108
+ return ({
109
+ style: {
110
+ gridTemplateColumns: $gridTemplateColumns,
111
+ },
112
+ });
113
+ })(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n ", "\n bottom: 0;\n"], ["\n ", "\n bottom: 0;\n"])), dataGridHeaderOrFooterRowCss);
114
+ exports.DataGridFooterRow.displayName = 'DataGridFooterRow';
115
+ exports.DataGridRow = styled_components_1.default.div(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n display: contents;\n"], ["\n display: contents;\n"])));
106
116
  exports.DataGridRow.displayName = 'DataGridRow';
107
- exports.LoadingCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n padding: var(--space-2);\n box-sizing: border-box;\n\n &.animate-pulse > div {\n background-color: var(--color-neutral-200);\n border-radius: var(--rounded-full);\n width: 100%;\n height: 100%;\n }\n"], ["\n padding: var(--space-2);\n box-sizing: border-box;\n\n &.animate-pulse > div {\n background-color: var(--color-neutral-200);\n border-radius: var(--rounded-full);\n width: 100%;\n height: 100%;\n }\n"])));
117
+ exports.LoadingCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n padding: var(--space-2);\n box-sizing: border-box;\n\n &.animate-pulse > div {\n background-color: var(--color-neutral-200);\n border-radius: var(--rounded-full);\n width: 100%;\n height: 100%;\n }\n"], ["\n padding: var(--space-2);\n box-sizing: border-box;\n\n &.animate-pulse > div {\n background-color: var(--color-neutral-200);\n border-radius: var(--rounded-full);\n width: 100%;\n height: 100%;\n }\n"])));
108
118
  exports.LoadingCell.displayName = 'LoadingCell';
109
- exports.SelectionCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n /* inline-flex items-center justify-center w-12 select-none text-center whitespace-nowrap */\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--space-6);\n padding: 0 var(--space-1);\n\n & > input[type='checkbox'] {\n height: var(--space-6);\n width: var(--space-6);\n border-radius: var(--rounded-sm);\n border: 1px solid var(--color-neutral-300);\n color: var(--color-sky-600);\n }\n"], ["\n /* inline-flex items-center justify-center w-12 select-none text-center whitespace-nowrap */\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--space-6);\n padding: 0 var(--space-1);\n\n & > input[type='checkbox'] {\n height: var(--space-6);\n width: var(--space-6);\n border-radius: var(--rounded-sm);\n border: 1px solid var(--color-neutral-300);\n color: var(--color-sky-600);\n }\n"])));
119
+ var selectionCellStyle = (0, styled_components_1.css)(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--space-8);\n padding: 0 var(--space-1);\n cursor: pointer;\n\n & > input[type='checkbox'] {\n height: var(--space-4);\n width: var(--space-4);\n border-radius: var(--rounded-sm);\n border: 1px solid var(--color-neutral-300);\n color: var(--color-primary-600);\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--space-8);\n padding: 0 var(--space-1);\n cursor: pointer;\n\n & > input[type='checkbox'] {\n height: var(--space-4);\n width: var(--space-4);\n border-radius: var(--rounded-sm);\n border: 1px solid var(--color-neutral-300);\n color: var(--color-primary-600);\n }\n"])));
120
+ exports.SelectionCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), selectionCellStyle);
110
121
  exports.SelectionCell.displayName = 'SelectionCell';
122
+ exports.HeaderSelectionCell = (0, styled_components_1.default)(exports.DataGridHeaderCellContainer)(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), selectionCellStyle);
123
+ exports.HeaderSelectionCell.displayName = 'HeaderSelectionCell';
111
124
  exports.ResizeBackdrop = styled_components_1.default.div.attrs({
112
125
  className: 'ResizeBackdrop',
113
- })(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0);\n cursor: col-resize;\n"], ["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0);\n cursor: col-resize;\n"])));
126
+ })(templateObject_24 || (templateObject_24 = __makeTemplateObject(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0);\n cursor: col-resize;\n"], ["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0);\n cursor: col-resize;\n"])));
114
127
  exports.ResizeBackdrop.displayName = 'ResizeBackdrop';
115
128
  exports.FilterValuesScrollerContainer = styled_components_1.default.div.attrs({
116
129
  className: 'FilterValuesScrollerContainer',
117
- })(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n display: block;\n font-size: var(--text-base);\n background-color: var(--color-neutral-0);\n overflow-y: scroll;\n overflow-x: hidden;\n height: 100%;\n\n & > div {\n position: relative;\n }\n\n & .checkbox {\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: ", ";\n\n input[type='checkbox'] {\n margin-right: var(--space-1);\n }\n }\n"], ["\n display: block;\n font-size: var(--text-base);\n background-color: var(--color-neutral-0);\n overflow-y: scroll;\n overflow-x: hidden;\n height: 100%;\n\n & > div {\n position: relative;\n }\n\n & .checkbox {\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: ", ";\n\n input[type='checkbox'] {\n margin-right: var(--space-1);\n }\n }\n"])), function (_a) {
130
+ })(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n display: block;\n font-size: var(--text-base);\n background-color: var(--color-neutral-0);\n overflow-y: scroll;\n overflow-x: hidden;\n height: 100%;\n\n & > div {\n position: relative;\n }\n\n & .checkbox {\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: ", ";\n\n input[type='checkbox'] {\n margin-right: var(--space-1);\n }\n }\n"], ["\n display: block;\n font-size: var(--text-base);\n background-color: var(--color-neutral-0);\n overflow-y: scroll;\n overflow-x: hidden;\n height: 100%;\n\n & > div {\n position: relative;\n }\n\n & .checkbox {\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: ", ";\n\n input[type='checkbox'] {\n margin-right: var(--space-1);\n }\n }\n"])), function (_a) {
118
131
  var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_FILTER_ROW_HEIGHT : _b;
119
132
  return "".concat($rowHeight, "px");
120
133
  });
121
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21;
134
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25;