@addev-be/ui 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/Icons.d.ts +7 -1
  2. package/dist/Icons.js +13 -1
  3. package/dist/components/auth/LoginForm.d.ts +2 -0
  4. package/dist/components/auth/LoginForm.js +47 -0
  5. package/dist/components/auth/LoginPage.d.ts +2 -0
  6. package/dist/components/auth/LoginPage.js +9 -0
  7. package/dist/components/auth/PasswordRecoveryForm.d.ts +2 -0
  8. package/dist/components/auth/PasswordRecoveryForm.js +24 -0
  9. package/dist/components/auth/PasswordResetForm.d.ts +2 -0
  10. package/dist/components/auth/PasswordResetForm.js +56 -0
  11. package/dist/components/auth/index.d.ts +4 -0
  12. package/dist/components/auth/index.js +20 -0
  13. package/dist/components/auth/styles.d.ts +3 -0
  14. package/dist/components/auth/styles.js +16 -0
  15. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +1 -1
  16. package/dist/components/data/AdvancedRequestDataGrid/index.js +1 -1
  17. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.d.ts +13 -0
  18. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +71 -0
  19. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +9 -8
  20. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.d.ts +9 -0
  21. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +12 -2
  22. package/dist/components/data/DataGrid/DataGridRowTemplate.d.ts +3 -0
  23. package/dist/components/data/DataGrid/DataGridRowTemplate.js +71 -0
  24. package/dist/components/data/DataGrid/FilterModalContent/index.js +18 -9
  25. package/dist/components/data/DataGrid/helpers/columns.d.ts +2 -0
  26. package/dist/components/data/DataGrid/helpers/columns.js +21 -7
  27. package/dist/components/data/DataGrid/helpers/filters.d.ts +2 -1
  28. package/dist/components/data/DataGrid/helpers/filters.js +94 -14
  29. package/dist/components/data/DataGrid/hooks/useDataGrid.js +35 -40
  30. package/dist/components/data/DataGrid/hooks/useDataGridCopy.d.ts +2 -2
  31. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +47 -55
  32. package/dist/components/data/DataGrid/index.d.ts +7 -3
  33. package/dist/components/data/DataGrid/index.js +16 -61
  34. package/dist/components/data/DataGrid/styles.d.ts +2 -19
  35. package/dist/components/data/DataGrid/styles.js +24 -47
  36. package/dist/components/data/DataGrid/types.d.ts +17 -7
  37. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +1 -0
  38. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +19 -8
  39. package/dist/components/data/SqlRequestDataGrid/index.d.ts +12 -1
  40. package/dist/components/data/SqlRequestDataGrid/index.js +37 -24
  41. package/dist/components/data/SqlRequestGrid/helpers/index.d.ts +1 -0
  42. package/dist/components/data/SqlRequestGrid/helpers/index.js +17 -0
  43. package/dist/components/data/SqlRequestGrid/helpers/sqlRequests.d.ts +3 -0
  44. package/dist/components/data/SqlRequestGrid/helpers/sqlRequests.js +18 -0
  45. package/dist/components/data/SqlRequestGrid/index.d.ts +4 -0
  46. package/dist/components/data/SqlRequestGrid/index.js +145 -0
  47. package/dist/components/data/SqlRequestGrid/styles.d.ts +16 -0
  48. package/dist/components/data/SqlRequestGrid/styles.js +33 -0
  49. package/dist/components/data/SqlRequestGrid/types.d.ts +30 -0
  50. package/dist/components/data/SqlRequestGrid/types.js +3 -0
  51. package/dist/components/data/VirtualScroller/hooks.d.ts +18 -0
  52. package/dist/components/data/VirtualScroller/hooks.js +50 -0
  53. package/dist/components/data/VirtualScroller/index.d.ts +14 -0
  54. package/dist/components/data/VirtualScroller/index.js +58 -0
  55. package/dist/components/data/VirtualScroller/styles.d.ts +16 -0
  56. package/dist/components/data/VirtualScroller/styles.js +39 -0
  57. package/dist/components/data/VirtualScroller/types.d.ts +6 -0
  58. package/dist/components/data/VirtualScroller/types.js +3 -0
  59. package/dist/components/data/index.d.ts +6 -1
  60. package/dist/components/data/index.js +6 -1
  61. package/dist/components/forms/Button.d.ts +1 -1
  62. package/dist/components/forms/IconButton.d.ts +2 -2
  63. package/dist/components/forms/VerticalLabel.d.ts +6 -0
  64. package/dist/components/forms/VerticalLabel.js +32 -0
  65. package/dist/components/forms/index.d.ts +1 -1
  66. package/dist/components/forms/index.js +1 -3
  67. package/dist/components/forms/styles.d.ts +6 -1
  68. package/dist/components/forms/styles.js +8 -3
  69. package/dist/components/index.d.ts +3 -0
  70. package/dist/components/index.js +3 -0
  71. package/dist/components/layout/Dropdown/index.js +3 -3
  72. package/dist/components/layout/Dropdown/styles.d.ts +5 -2
  73. package/dist/components/layout/Dropdown/styles.js +4 -1
  74. package/dist/components/layout/Modal/styles.d.ts +2 -0
  75. package/dist/components/layout/Modal/styles.js +12 -8
  76. package/dist/components/search/HighlightedText.d.ts +5 -0
  77. package/dist/components/search/HighlightedText.js +43 -0
  78. package/dist/components/search/QuickSearchBar.d.ts +6 -0
  79. package/dist/components/search/QuickSearchBar.js +69 -0
  80. package/dist/components/search/QuickSearchResults.d.ts +8 -0
  81. package/dist/components/search/QuickSearchResults.js +70 -0
  82. package/dist/components/search/index.d.ts +5 -0
  83. package/dist/components/search/index.js +25 -0
  84. package/dist/components/search/styles.d.ts +28 -0
  85. package/dist/components/search/styles.js +40 -0
  86. package/dist/components/search/types.d.ts +21 -0
  87. package/dist/components/search/types.js +2 -0
  88. package/dist/components/ui/Card/index.d.ts +8 -0
  89. package/dist/components/ui/Card/index.js +34 -0
  90. package/dist/components/ui/Card/styles.d.ts +9 -0
  91. package/dist/components/ui/Card/styles.js +21 -0
  92. package/dist/components/ui/ContextMenu/index.js +7 -2
  93. package/dist/components/ui/ContextMenu/styles.js +2 -2
  94. package/dist/components/ui/Message/index.d.ts +9 -0
  95. package/dist/components/ui/Message/index.js +53 -0
  96. package/dist/components/ui/Message/styles.d.ts +9 -0
  97. package/dist/components/ui/Message/styles.js +41 -0
  98. package/dist/components/ui/index.d.ts +3 -0
  99. package/dist/components/ui/index.js +19 -0
  100. package/dist/helpers/dates.d.ts +1 -0
  101. package/dist/helpers/dates.js +7 -1
  102. package/dist/helpers/index.d.ts +3 -0
  103. package/dist/helpers/index.js +19 -0
  104. package/dist/helpers/numbers.d.ts +1 -0
  105. package/dist/helpers/numbers.js +9 -1
  106. package/dist/helpers/text.d.ts +2 -0
  107. package/dist/helpers/text.js +18 -0
  108. package/dist/index.d.ts +1 -0
  109. package/dist/index.js +1 -0
  110. package/dist/providers/AuthenticationProvider/helpers.d.ts +1 -0
  111. package/dist/providers/AuthenticationProvider/helpers.js +6 -0
  112. package/dist/providers/AuthenticationProvider/index.d.ts +22 -0
  113. package/dist/providers/AuthenticationProvider/index.js +207 -0
  114. package/dist/providers/LoadingProvider/index.d.ts +7 -0
  115. package/dist/providers/LoadingProvider/index.js +26 -0
  116. package/dist/providers/ThemeProvider/ThemeProvider.js +1 -1
  117. package/dist/providers/ThemeProvider/index.d.ts +2 -1
  118. package/dist/providers/ThemeProvider/index.js +18 -1
  119. package/dist/providers/hooks.d.ts +3 -1
  120. package/dist/providers/hooks.js +9 -3
  121. package/dist/providers/index.d.ts +2 -1
  122. package/dist/providers/index.js +2 -1
  123. package/dist/services/HttpService.d.ts +1 -1
  124. package/dist/services/HttpService.js +12 -4
  125. package/dist/services/WebSocketService.d.ts +2 -3
  126. package/dist/services/WebSocketService.js +5 -16
  127. package/dist/services/base.d.ts +1 -6
  128. package/dist/services/base.js +0 -3
  129. package/dist/services/globalSearch.d.ts +13 -0
  130. package/dist/services/globalSearch.js +8 -0
  131. package/dist/services/hooks.d.ts +2 -1
  132. package/dist/services/hooks.js +14 -3
  133. package/dist/services/index.d.ts +9 -0
  134. package/dist/services/index.js +9 -0
  135. package/dist/services/requests/auth.d.ts +63 -0
  136. package/dist/services/requests/auth.js +28 -0
  137. package/dist/services/requests/userPermissions.d.ts +4 -0
  138. package/dist/services/requests/userPermissions.js +20 -0
  139. package/dist/services/requests/userProfiles.d.ts +40 -0
  140. package/dist/services/requests/userProfiles.js +20 -0
  141. package/dist/services/requests/users.d.ts +84 -0
  142. package/dist/services/requests/users.js +20 -0
  143. package/dist/services/sqlRequests.d.ts +1 -1
  144. package/dist/services/types/auth.d.ts +87 -0
  145. package/dist/services/types/auth.js +72 -0
  146. package/dist/services/types/base.d.ts +6 -0
  147. package/dist/services/types/base.js +31 -0
  148. package/dist/services/types/userProfiles.d.ts +64 -0
  149. package/dist/services/types/userProfiles.js +68 -0
  150. package/dist/services/types/users.d.ts +118 -0
  151. package/dist/services/types/users.js +83 -0
  152. package/package.json +1 -1
  153. package/src/components/data/DataGrid/index.tsx +2 -2
  154. package/src/components/data/DataGrid/types.ts +4 -4
  155. package/src/components/data/SqlRequestDataGrid/index.tsx +2 -2
  156. package/src/components/data/SqlRequestGrid/helpers/index.ts +0 -1
  157. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +1 -1
  158. package/src/services/types/users.ts +2 -0
  159. package/src/typings.d.ts +2 -2
  160. package/tsconfig.tsbuildinfo +1 -1
  161. package/src/services/requests/userPermissions.ts +0 -36
@@ -48,72 +48,70 @@ 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>
61
- // ${Object.values(columns ?? {})
62
- // .map(
63
- // (col) =>
64
- // `<td style="
65
- // font-weight: bold;
66
- // white-space: nowrap;
67
- // ">
68
- // ${
69
- // col.footer
70
- // ? col.footer(rowsToCopy, rowsToCopy, [])
71
- // : ''
72
- // }
73
- // </td>`
74
- // )
75
- // .join('\n')}
76
- // </tr>`;
77
- return '';
78
- }, [columns]);
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>");
68
+ })
69
+ .join('\n'), "\n </tr>");
70
+ }, [footerFunctions, visibleColumns]);
79
71
  var generateCellText = (0, react_1.useCallback)(function (col, value) {
80
72
  var _a;
81
73
  return col.excelValue ? col.excelValue(value) : (_a = value === null || value === void 0 ? void 0 : value.toString()) !== null && _a !== void 0 ? _a : '';
82
74
  }, []);
83
75
  var generateCellHtml = (0, react_1.useCallback)(function (col, value) { return "<td style=\"\n ".concat(col.excelFormatter
84
76
  ? "mso-number-format: '" + col.excelFormatter(col) + "';"
77
+ : '', "\n ").concat(col.excelBackgroundColor
78
+ ? "background-color: '" + col.excelBackgroundColor(value) + "';"
85
79
  : '', "\n white-space: nowrap;\n \">\n ").concat(generateCellText(col, value), "\n </td>"); }, [generateCellText]);
86
80
  var generateCopyHtml = (0, react_1.useCallback)(function (rowsToCopy, includeHeaders, includeFooters) {
87
81
  return "\n <table>\n ".concat(includeHeaders ? generateHeadersHtml() : '', "\n ").concat((rowsToCopy || [])
88
82
  .map(function (row) {
89
- return "<tr>\n ".concat(Object.values(columns !== null && columns !== void 0 ? columns : {})
90
- .map(function (col) {
83
+ return "<tr>\n ".concat(visibleColumns
84
+ .map(function (_a) {
85
+ var col = _a[1];
91
86
  var value = col.getter && row ? col.getter(row) : '';
92
87
  return generateCellHtml(col, value);
93
88
  })
94
89
  .join('\n'), "\n </tr>");
95
90
  })
96
91
  .join('\n'), "\n ").concat(includeFooters ? generateFootersHtml(rowsToCopy) : '', "\n </table>\n ");
97
- }, [columns, generateCellHtml, generateFootersHtml, generateHeadersHtml]);
92
+ }, [visibleColumns, generateCellHtml, generateFootersHtml, generateHeadersHtml]);
98
93
  var generateHeadersText = (0, react_1.useCallback)(function () {
99
- return Object.values(columns !== null && columns !== void 0 ? columns : {})
100
- .map(function (col) { return col.name; })
101
- .join('\t');
102
- }, [columns]);
94
+ return visibleColumns.map(function (_a) {
95
+ var col = _a[1];
96
+ return col.name;
97
+ }).join('\t');
98
+ }, [visibleColumns]);
103
99
  var generateFootersText = (0, react_1.useCallback)(function (rowsToCopy) {
104
- // return Object.values(columns ?? {})
105
- // .map((col) =>
106
- // col.footer ? col.footer(rowsToCopy, rowsToCopy, []) : ''
107
- // )
108
- // .join('\t');
109
- return '';
110
- }, [columns]);
100
+ return visibleColumns
101
+ .map(function (_a) {
102
+ var _b, _c;
103
+ var colKey = _a[0];
104
+ 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 : '';
105
+ })
106
+ .join('\t');
107
+ }, [footerFunctions, visibleColumns]);
111
108
  var generateCopyText = (0, react_1.useCallback)(function (rowsToCopy, includeHeaders, includeFooters) {
112
109
  return __spreadArray(__spreadArray([
113
110
  includeHeaders ? generateHeadersText() : ''
114
111
  ], (rowsToCopy || []).map(function (row) {
115
- return Object.values(columns !== null && columns !== void 0 ? columns : {})
116
- .map(function (col) {
112
+ return visibleColumns
113
+ .map(function (_a) {
114
+ var col = _a[1];
117
115
  var value = col.getter && row ? col.getter(row) : '';
118
116
  return col.excelValue
119
117
  ? col.excelValue(value)
@@ -126,29 +124,23 @@ var useDataGridCopy = function (rows, columns, loadCopyRows) {
126
124
  includeFooters ? generateFootersText(rowsToCopy) : '',
127
125
  ], false).filter(function (s) { return s != null; })
128
126
  .join('\n');
129
- }, [columns, generateFootersText, generateHeadersText]);
127
+ }, [visibleColumns, generateFootersText, generateHeadersText]);
130
128
  var copyTable = (0, react_1.useCallback)(function () {
131
129
  var args_1 = [];
132
130
  for (var _i = 0; _i < arguments.length; _i++) {
133
131
  args_1[_i] = arguments[_i];
134
132
  }
135
133
  return __awaiter(void 0, __spreadArray([], args_1, true), void 0, function (includeHeaders, includeFooters) {
136
- var rowsToCopy, _a, copyHtml, copyText;
134
+ var rowsToCopy, copyHtml, copyText;
137
135
  if (includeHeaders === void 0) { includeHeaders = true; }
138
136
  if (includeFooters === void 0) { includeFooters = true; }
139
- return __generator(this, function (_b) {
140
- switch (_b.label) {
141
- case 0:
142
- if (!loadCopyRows) return [3 /*break*/, 2];
143
- return [4 /*yield*/, loadCopyRows()];
137
+ return __generator(this, function (_a) {
138
+ switch (_a.label) {
139
+ 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) {
140
+ return [2 /*return*/, rows];
141
+ }); }); }))()];
144
142
  case 1:
145
- _a = _b.sent();
146
- return [3 /*break*/, 3];
147
- case 2:
148
- _a = rows;
149
- _b.label = 3;
150
- case 3:
151
- rowsToCopy = _a;
143
+ rowsToCopy = _a.sent();
152
144
  copyHtml = generateCopyHtml(rowsToCopy, includeHeaders, includeFooters);
153
145
  copyText = generateCopyText(rowsToCopy, includeHeaders, includeFooters);
154
146
  return [4 /*yield*/, navigator['clipboard'].write([
@@ -157,8 +149,8 @@ var useDataGridCopy = function (rows, columns, loadCopyRows) {
157
149
  'text/html': new Blob([copyHtml], { type: 'text/html' }),
158
150
  }),
159
151
  ])];
160
- case 4:
161
- _b.sent();
152
+ case 2:
153
+ _a.sent();
162
154
  return [2 /*return*/];
163
155
  }
164
156
  });
@@ -1,4 +1,8 @@
1
- import { DataGridContextProps, DataGridProps } from './types';
2
- export declare const DataGrid: <R>({ contextOverride, ...props }: DataGridProps<R> & {
1
+ import { ForwardedRef } from 'react';
2
+ import { DataGridContextProps, DataGridProps, DataGridRefProps } from './types';
3
+ export declare const DataGridInner: <R>({ contextOverride, ...props }: DataGridProps<R> & {
3
4
  contextOverride?: Partial<DataGridContextProps<R>>;
4
- }) => import("react/jsx-runtime").JSX.Element;
5
+ }, ref: ForwardedRef<DataGridRefProps>) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const DataGrid: <R>(props: DataGridProps<R> & {
7
+ contextOverride?: Partial<DataGridContextProps<R>>;
8
+ } & import("react").RefAttributes<DataGridRefProps>) => import("react").JSX.Element | null;
@@ -1,15 +1,4 @@
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
- };
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -44,65 +33,31 @@ var __rest = (this && this.__rest) || function (s, e) {
44
33
  }
45
34
  return t;
46
35
  };
47
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
48
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
49
- if (ar || !(i in from)) {
50
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
51
- ar[i] = from[i];
52
- }
53
- }
54
- return to.concat(ar || Array.prototype.slice.call(from));
55
- };
56
36
  Object.defineProperty(exports, "__esModule", { value: true });
57
- exports.DataGrid = void 0;
37
+ exports.DataGrid = exports.DataGridInner = void 0;
58
38
  var jsx_runtime_1 = require("react/jsx-runtime");
59
39
  var styles = __importStar(require("./styles"));
60
- var DataGridCell_1 = require("./DataGridCell");
40
+ var react_1 = require("react");
61
41
  var DataGridFooter_1 = require("./DataGridFooter");
62
42
  var DataGridHeader_1 = require("./DataGridHeader");
63
- var VirtualScroller_1 = require("./VirtualScroller");
64
- var react_1 = require("react");
43
+ var DataGridRowTemplate_1 = require("./DataGridRowTemplate");
44
+ var VirtualScroller_1 = require("../VirtualScroller");
65
45
  var hooks_1 = require("./hooks");
66
46
  /* eslint-disable @typescript-eslint/no-explicit-any */
67
47
  /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
68
- var DataGrid = function (_a) {
48
+ var DataGridInner = function (_a, ref) {
69
49
  var contextOverride = _a.contextOverride, props = __rest(_a, ["contextOverride"]);
70
- var className = props.className,
71
- // onRowDoubleClick,
72
- onVisibleRowsChange = props.onVisibleRowsChange;
50
+ var scrollableRef = (0, react_1.useRef)(null);
51
+ var className = props.className;
73
52
  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;
53
+ var columns = contextProps.columns, _c = contextProps.rowHeight, rowHeight = _c === void 0 ? 32 : _c, _d = contextProps.headerRowHeight, headerRowHeight = _d === void 0 ? 40 : _d, gridTemplateColumns = contextProps.gridTemplateColumns, sortedRows = contextProps.sortedRows, onVisibleRowsChange = contextProps.onVisibleRowsChange, refresh = contextProps.refresh, setSelectedKeys = contextProps.setSelectedKeys;
54
+ (0, react_1.useImperativeHandle)(ref, function () { return ({
55
+ refresh: refresh !== null && refresh !== void 0 ? refresh : (function () { }),
56
+ setSelectedKeys: setSelectedKeys,
57
+ }); }, [refresh, setSelectedKeys]);
75
58
  var hasFooter = Object.values(columns).some(function (col) { return col.footer; });
76
- var toggleSelection = (0, react_1.useCallback)(function (key) {
77
- if (selectedKeys.includes(key)) {
78
- setSelectedKeys(selectedKeys.filter(function (p) { return p !== key; }));
79
- }
80
- else {
81
- setSelectedKeys(__spreadArray(__spreadArray([], selectedKeys, true), [key], false));
82
- }
83
- }, [selectedKeys, setSelectedKeys]);
84
- var rowTemplate = (0, react_1.useCallback)(function (row, rowIndex) {
85
- var _a, _b;
86
- if (!row) {
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)));
88
- }
89
- var key = rowKeyGetter(row);
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) {
95
- var key = _a[0], col = _a[1];
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)));
97
- })] }, key));
98
- }, [
99
- DataGridContext,
100
- props,
101
- rowKeyGetter,
102
- selectedKeys,
103
- toggleSelection,
104
- visibleColumns,
105
- ]);
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 })] }) }));
59
+ var rowTemplate = DataGridRowTemplate_1.DataGridRowTemplate;
60
+ return ((0, jsx_runtime_1.jsx)(DataGridContext.Provider, { value: contextProps, children: (0, jsx_runtime_1.jsxs)(styles.DataGridContainer, { ref: scrollableRef, "$headerRowHeight": headerRowHeight, "$rowHeight": rowHeight, "$rowsCount": contextProps.sortedRows.length, "$withFooter": hasFooter, className: className, children: [(0, jsx_runtime_1.jsx)(DataGridHeader_1.DataGridHeader, { context: DataGridContext }), (0, jsx_runtime_1.jsx)(VirtualScroller_1.VirtualScroller, { gridTemplateColumns: gridTemplateColumns, items: sortedRows, itemTemplate: rowTemplate, itemProps: { context: DataGridContext }, rowHeightInPx: styles.DEFAULT_ROW_HEIGHT, onRangeChanged: onVisibleRowsChange }), hasFooter && (0, jsx_runtime_1.jsx)(DataGridFooter_1.DataGridFooter, { context: DataGridContext })] }) }));
107
61
  };
108
- exports.DataGrid = DataGrid;
62
+ exports.DataGridInner = DataGridInner;
63
+ exports.DataGrid = (0, react_1.forwardRef)(exports.DataGridInner);
@@ -1,21 +1,8 @@
1
1
  import { ThemeColor } from '../../../providers/ThemeProvider/types';
2
- export declare const VIRTUAL_SCROLL_TOLERANCE = 20;
3
2
  export declare const TOOLBAR_HEIGHT = 40;
4
3
  export declare const DEFAULT_HEADER_ROW_HEIGHT = 40;
4
+ export declare const DEFAULT_FOOTER_ROW_HEIGHT = 40;
5
5
  export declare const DEFAULT_ROW_HEIGHT = 32;
6
- export declare const DEFAULT_FILTER_ROW_HEIGHT = 24;
7
- export declare const TopPaddingRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
8
- export declare const BottomPaddingRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
9
- export declare const VirtualScrollerContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
10
- $height: number;
11
- }>> & string;
12
- export declare const VirtualScrollerRowsContainer: 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"> & {
13
- 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;
14
- }>, {
15
- $gridTemplateColumns: string;
16
- $topPadding: number;
17
- $rowHeight?: number;
18
- }>, never>> & string;
19
6
  export declare const DataGridResizeGrip: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
20
7
  $headerColor?: ThemeColor;
21
8
  }>> & string;
@@ -31,6 +18,7 @@ export declare const DataGridContainer: import("styled-components/dist/types").I
31
18
  $rowHeight?: number;
32
19
  $rowsCount: number;
33
20
  $showToolsHeader?: boolean;
21
+ $withFooter?: boolean;
34
22
  }>> & string;
35
23
  type DataGridHeaderOrFooterRowProps = {
36
24
  $headerRowHeight?: number;
@@ -56,9 +44,4 @@ export declare const HeaderSelectionCell: import("styled-components/dist/types")
56
44
  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"> & {
57
45
  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;
58
46
  }>, never>, never>> & string;
59
- export declare const FilterValuesScrollerContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<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"> & {
60
- 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;
61
- }>, never>, {
62
- $rowHeight?: number;
63
- }>> & string;
64
47
  export {};
@@ -27,51 +27,34 @@ 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.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;
30
+ 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.DEFAULT_ROW_HEIGHT = exports.DEFAULT_FOOTER_ROW_HEIGHT = exports.DEFAULT_HEADER_ROW_HEIGHT = exports.TOOLBAR_HEIGHT = void 0;
31
31
  var styled_components_1 = __importStar(require("styled-components"));
32
- exports.VIRTUAL_SCROLL_TOLERANCE = 20;
32
+ var styles_1 = require("../VirtualScroller/styles");
33
33
  exports.TOOLBAR_HEIGHT = 40;
34
34
  exports.DEFAULT_HEADER_ROW_HEIGHT = 40;
35
+ exports.DEFAULT_FOOTER_ROW_HEIGHT = 40;
35
36
  exports.DEFAULT_ROW_HEIGHT = 32;
36
- exports.DEFAULT_FILTER_ROW_HEIGHT = 24;
37
- exports.TopPaddingRow = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([""], [""])));
38
- exports.BottomPaddingRow = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([""], [""])));
39
- exports.VirtualScrollerContainer = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: relative;\n overflow: visible;\n height: ", ";\n"], ["\n position: relative;\n overflow: visible;\n height: ", ";\n"])), function (_a) {
40
- var $height = _a.$height;
41
- return "".concat($height, "px");
42
- });
43
- exports.VirtualScrollerRowsContainer = styled_components_1.default.div.attrs(function (_a) {
44
- var $gridTemplateColumns = _a.$gridTemplateColumns, $topPadding = _a.$topPadding, _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_ROW_HEIGHT : _b;
45
- var rowHeightValue = "".concat($rowHeight, "px");
46
- return {
47
- style: {
48
- top: "".concat($topPadding, "px"),
49
- gridTemplateColumns: $gridTemplateColumns,
50
- gridAutoRows: rowHeightValue,
51
- },
52
- };
53
- })(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: grid;\n position: absolute;\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n }\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: -1;\n }\n"], ["\n display: grid;\n position: absolute;\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n }\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: -1;\n }\n"])), exports.TopPaddingRow, exports.BottomPaddingRow);
54
- exports.DataGridResizeGrip = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n right: 0;\n width: var(--space-1);\n height: 100%;\n\n ", "\n\n cursor: col-resize;\n display: none;\n"], ["\n position: absolute;\n top: 0;\n right: 0;\n width: var(--space-1);\n height: 100%;\n\n ", "\n\n cursor: col-resize;\n display: none;\n"])), function (_a) {
37
+ exports.DataGridResizeGrip = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n right: 0;\n width: var(--space-1);\n height: 100%;\n\n ", "\n\n cursor: col-resize;\n display: none;\n"], ["\n position: absolute;\n top: 0;\n right: 0;\n width: var(--space-1);\n height: 100%;\n\n ", "\n\n cursor: col-resize;\n display: none;\n"])), function (_a) {
55
38
  var $headerColor = _a.$headerColor;
56
39
  return $headerColor
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 "])));
40
+ ? (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __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_2 || (templateObject_2 = __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
41
  });
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) {
42
+ exports.DataGridHeaderCellContainer = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __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
43
  var $isResizing = _a.$isResizing;
61
44
  return ($isResizing ? 1 : 0);
62
45
  }, function (_a) {
63
46
  var $headerColor = _a.$headerColor;
64
47
  return $headerColor
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 "])));
48
+ ? (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __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_5 || (templateObject_5 = __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
49
  }, exports.DataGridResizeGrip);
67
50
  exports.DataGridHeaderCellContainer.displayName = 'DataGridHeaderCellContainer';
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"])));
51
+ exports.DataGridCell = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __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
52
  exports.DataGridCell.displayName = 'DataGridCell';
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"])));
53
+ exports.DataGridToolsRow = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __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
54
  exports.DataGridToolsRow.displayName = 'DataGridToolsRow';
72
- exports.DataGridContainer = styled_components_1.default.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n display: grid;\n width: 100%;\n height: 100%;\n background-color: var(--color-neutral-50);\n font-size: var(--text-base);\n overflow: scroll;\n grid-template-rows: ", ";\n\n ", " {\n height: ", "px;\n }\n ", " {\n position: sticky;\n top: ", ";\n height: ", ";\n }\n ", " {\n height: ", ";\n line-height: ", ";\n }\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 3;\n }\n"], ["\n display: grid;\n width: 100%;\n height: 100%;\n background-color: var(--color-neutral-50);\n font-size: var(--text-base);\n overflow: scroll;\n grid-template-rows: ", ";\n\n ", " {\n height: ", "px;\n }\n ", " {\n position: sticky;\n top: ", ";\n height: ", ";\n }\n ", " {\n height: ", ";\n line-height: ", ";\n }\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 3;\n }\n"])), function (_a) {
73
- var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b;
74
- return "".concat(exports.TOOLBAR_HEIGHT, "px ").concat($headerRowHeight, "px auto");
55
+ exports.DataGridContainer = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: grid;\n width: 100%;\n height: 100%;\n background-color: var(--color-neutral-50);\n font-size: var(--text-base);\n overflow: scroll;\n grid-template-rows: ", ";\n\n ", " {\n height: ", "px;\n }\n ", " {\n position: sticky;\n top: ", ";\n height: ", ";\n }\n ", " {\n height: ", ";\n line-height: ", ";\n box-sizing: border-box;\n }\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 3;\n }\n"], ["\n display: grid;\n width: 100%;\n height: 100%;\n background-color: var(--color-neutral-50);\n font-size: var(--text-base);\n overflow: scroll;\n grid-template-rows: ", ";\n\n ", " {\n height: ", "px;\n }\n ", " {\n position: sticky;\n top: ", ";\n height: ", ";\n }\n ", " {\n height: ", ";\n line-height: ", ";\n box-sizing: border-box;\n }\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 3;\n }\n"])), function (_a) {
56
+ var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b, _c = _a.$withFooter, $withFooter = _c === void 0 ? false : _c;
57
+ return "".concat(exports.TOOLBAR_HEIGHT, "px ").concat($headerRowHeight, "px auto ").concat($withFooter ? exports.DEFAULT_FOOTER_ROW_HEIGHT + 'px' : '');
75
58
  }, exports.DataGridToolsRow, exports.TOOLBAR_HEIGHT, exports.DataGridHeaderCellContainer, function (_a) {
76
59
  var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b;
77
60
  return "".concat($headerRowHeight, "px");
@@ -84,15 +67,15 @@ exports.DataGridContainer = styled_components_1.default.div(templateObject_13 ||
84
67
  }, function (_a) {
85
68
  var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_ROW_HEIGHT : _b;
86
69
  return "".concat($rowHeight, "px");
87
- }, exports.VirtualScrollerContainer);
70
+ }, styles_1.VirtualScrollerContainer);
88
71
  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) {
72
+ var dataGridHeaderOrFooterRowCss = (0, styled_components_1.css)(templateObject_12 || (templateObject_12 = __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
73
  var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b;
91
74
  return "".concat($headerRowHeight, "px");
92
75
  }, function (_a) {
93
76
  var $headerColor = _a.$headerColor;
94
77
  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 "])));
78
+ ? (0, styled_components_1.css)(templateObject_10 || (templateObject_10 = __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_11 || (templateObject_11 = __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
79
  });
97
80
  exports.DataGridHeaderRow = styled_components_1.default.div.attrs(function (_a) {
98
81
  var $gridTemplateColumns = _a.$gridTemplateColumns;
@@ -101,7 +84,7 @@ exports.DataGridHeaderRow = styled_components_1.default.div.attrs(function (_a)
101
84
  gridTemplateColumns: $gridTemplateColumns,
102
85
  },
103
86
  });
104
- })(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n ", "\n top: ", "px;\n"], ["\n ", "\n top: ", "px;\n"])), dataGridHeaderOrFooterRowCss, exports.TOOLBAR_HEIGHT);
87
+ })(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n ", "\n top: ", "px;\n"], ["\n ", "\n top: ", "px;\n"])), dataGridHeaderOrFooterRowCss, exports.TOOLBAR_HEIGHT);
105
88
  exports.DataGridHeaderRow.displayName = 'DataGridHeaderRow';
106
89
  exports.DataGridFooterRow = styled_components_1.default.div.attrs(function (_a) {
107
90
  var $gridTemplateColumns = _a.$gridTemplateColumns;
@@ -110,25 +93,19 @@ exports.DataGridFooterRow = styled_components_1.default.div.attrs(function (_a)
110
93
  gridTemplateColumns: $gridTemplateColumns,
111
94
  },
112
95
  });
113
- })(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n ", "\n bottom: 0;\n"], ["\n ", "\n bottom: 0;\n"])), dataGridHeaderOrFooterRowCss);
96
+ })(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n ", "\n bottom: 0;\n"], ["\n ", "\n bottom: 0;\n"])), dataGridHeaderOrFooterRowCss);
114
97
  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"])));
98
+ exports.DataGridRow = styled_components_1.default.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: contents;\n"], ["\n display: contents;\n"])));
116
99
  exports.DataGridRow.displayName = 'DataGridRow';
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"])));
100
+ exports.LoadingCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_16 || (templateObject_16 = __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"])));
118
101
  exports.LoadingCell.displayName = 'LoadingCell';
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);
102
+ var selectionCellStyle = (0, styled_components_1.css)(templateObject_17 || (templateObject_17 = __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"])));
103
+ exports.SelectionCell = (0, styled_components_1.default)(exports.DataGridCell)(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), selectionCellStyle);
121
104
  exports.SelectionCell.displayName = 'SelectionCell';
122
- exports.HeaderSelectionCell = (0, styled_components_1.default)(exports.DataGridHeaderCellContainer)(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), selectionCellStyle);
105
+ exports.HeaderSelectionCell = (0, styled_components_1.default)(exports.DataGridHeaderCellContainer)(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), selectionCellStyle);
123
106
  exports.HeaderSelectionCell.displayName = 'HeaderSelectionCell';
124
107
  exports.ResizeBackdrop = styled_components_1.default.div.attrs({
125
108
  className: 'ResizeBackdrop',
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"])));
109
+ })(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"])));
127
110
  exports.ResizeBackdrop.displayName = 'ResizeBackdrop';
128
- exports.FilterValuesScrollerContainer = styled_components_1.default.div.attrs({
129
- className: 'FilterValuesScrollerContainer',
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) {
131
- var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_FILTER_ROW_HEIGHT : _b;
132
- return "".concat($rowHeight, "px");
133
- });
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;
111
+ 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;
@@ -6,12 +6,13 @@ export type DataGridCellFC = FC<{
6
6
  onDoubleClick?: MouseEventHandler;
7
7
  style?: CSSProperties;
8
8
  }>;
9
- export type DataGridFooterPredefinedFunction = 'average' | 'count' | 'max' | 'min' | 'sum';
9
+ export type DataGridFooterPredefinedFunction = 'average' | 'avg' | 'count' | 'max' | 'min' | 'sum';
10
10
  export type DataGridFooterFunction<R> = (allRows: R[], filteredRows: R[], selectedRows: R[]) => ReactNode;
11
11
  export type DataGridColumn<R> = {
12
12
  component?: DataGridCellFC;
13
13
  editable?: boolean;
14
14
  excelFormatter?: (value: any) => string;
15
+ excelBackgroundColor?: (value: any) => string;
15
16
  excelValue?: (value: any) => string;
16
17
  filter?: DataGridFilter;
17
18
  footer?: DataGridFooterFunction<R> | Record<string, DataGridFooterFunction<R> | null>;
@@ -38,6 +39,7 @@ export type DataGridProps<R> = {
38
39
  editable?: boolean;
39
40
  onRowDoubleClick?: (row: R, e: MouseEvent) => void;
40
41
  onSelectionChange?: (keys: string[]) => void;
42
+ onSelectedRowsChanged?: (rows: R[]) => void;
41
43
  getAllIds?: () => Promise<string[]>;
42
44
  onFiltersChanged?: (filters: DataGridFilters) => void;
43
45
  onSortsChanged?: (sorts: Record<string, DataGridSort>) => void;
@@ -79,13 +81,10 @@ export type DataGridContextProps<R> = DataGridProps<R> & {
79
81
  saveSettings: (newSettings?: DataGridSettings) => void;
80
82
  settings: DataGridSettings;
81
83
  setSettings: Dispatch<SetStateAction<DataGridSettings>>;
82
- visibleRows: R[];
83
- scrollableRef: React.RefObject<HTMLDivElement>;
84
- onScroll: (e: React.UIEvent<HTMLDivElement>) => void;
85
- index: number;
86
84
  length: number;
87
85
  rowKeyGetter: (row: R) => string;
88
86
  gridTemplateColumns: string;
87
+ toggleSelection: (key: string) => void;
89
88
  };
90
89
  export type DataGridContext<R> = Context<DataGridContextProps<R>>;
91
90
  export declare const dataGridSettingCodec: t.PartialC<{
@@ -131,6 +130,7 @@ export type DataGridFilterOperators<K extends string, T> = {
131
130
  [key in K]: DataGridFilterPredicateBuilder<T>;
132
131
  };
133
132
  export type DataGridFilterPredicates = {
133
+ date: DataGridFilterOperators<'before' | 'after' | 'equals' | 'notEquals' | 'inRange' | 'inArray', string>;
134
134
  text: DataGridFilterOperators<'contains' | 'notContains' | 'equals' | 'notEquals' | 'startsWith' | 'endsWith' | 'inArray', string>;
135
135
  number: DataGridFilterOperators<'equals' | 'notEquals' | 'lessThan' | 'lessThanOrEqual' | 'greaterThan' | 'greaterThanOrEqual' | 'inRange' | 'inArray', number>;
136
136
  };
@@ -150,13 +150,23 @@ export type DataGridFilter<T extends string = DataGridFilterType> = T extends Da
150
150
  } : never;
151
151
  export type DataGridFilterGroup = {
152
152
  name: string;
153
- values?: (string | number | null)[];
153
+ displayValue: DataGridFilterValue;
154
+ values?: DataGridFilterValue[];
154
155
  groups?: DataGridFilterGroup[];
155
156
  };
156
157
  export type DataGridFilterValue = string | number | null;
157
158
  export type DataGridFilterCheckbox = {
158
159
  displayValue: ReactNode;
159
160
  title: string;
160
- value: DataGridFilterValue;
161
+ values: DataGridFilterValue[];
161
162
  level: number;
162
163
  };
164
+ export type DataGridRowTemplateProps<R> = {
165
+ selected?: boolean;
166
+ toggleSelection?: () => void;
167
+ context: DataGridContext<R>;
168
+ };
169
+ export type DataGridRefProps = {
170
+ refresh: () => void;
171
+ setSelectedKeys: (keys: string[]) => void;
172
+ };
@@ -8,6 +8,7 @@ export declare const sqlComposedColumn: <R extends Record<string, any>>(key: str
8
8
  export declare const sqlMailColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SqlRequestDataGridColumn<R>>) => SqlRequestDataGridColumns<R>;
9
9
  export declare const sqlPhoneColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SqlRequestDataGridColumn<R>>) => SqlRequestDataGridColumns<R>;
10
10
  export declare const sqlDateColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SqlRequestDataGridColumn<R>>) => SqlRequestDataGridColumns<R>;
11
+ export declare const sqlDateTimeColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SqlRequestDataGridColumn<R>>) => SqlRequestDataGridColumns<R>;
11
12
  export declare const sqlMonthColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<SqlRequestDataGridColumn<R>>) => SqlRequestDataGridColumns<R>;
12
13
  export declare const sqlNumberColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<SqlRequestDataGridColumn<R>>) => SqlRequestDataGridColumns<R>;
13
14
  export declare const sqlMoneyColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<SqlRequestDataGridColumn<R>>) => SqlRequestDataGridColumns<R>;