@monolith-forensics/monolith-ui 1.1.29 → 1.1.30

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 (135) hide show
  1. package/dist/Button/Button.d.ts +19 -0
  2. package/dist/Button/Button.js +332 -0
  3. package/dist/Button/index.d.ts +2 -0
  4. package/dist/Button/index.js +8 -0
  5. package/dist/Calendar/Calendar.d.ts +15 -0
  6. package/dist/Calendar/Calendar.js +232 -0
  7. package/dist/Calendar/CalendarStyles.d.ts +36 -0
  8. package/dist/Calendar/CalendarStyles.js +170 -0
  9. package/dist/Calendar/calendarHelpers.d.ts +53 -0
  10. package/dist/Calendar/calendarHelpers.js +181 -0
  11. package/dist/Calendar/index.d.ts +1 -0
  12. package/dist/Calendar/index.js +8 -0
  13. package/dist/CheckBox/CheckBox.d.ts +13 -0
  14. package/dist/CheckBox/CheckBox.js +46 -0
  15. package/dist/CheckBox/index.d.ts +1 -0
  16. package/dist/CheckBox/index.js +8 -0
  17. package/dist/DateInput/DateInput.d.ts +24 -0
  18. package/dist/DateInput/DateInput.js +509 -0
  19. package/dist/DateInput/index.d.ts +1 -0
  20. package/dist/DateInput/index.js +8 -0
  21. package/dist/DropDownMenu/DropDownMenu.d.ts +36 -0
  22. package/dist/DropDownMenu/DropDownMenu.js +213 -0
  23. package/dist/DropDownMenu/index.d.ts +1 -0
  24. package/dist/DropDownMenu/index.js +8 -0
  25. package/dist/Error/Error.d.ts +4 -0
  26. package/dist/Error/Error.js +38 -0
  27. package/dist/Error/index.d.ts +1 -0
  28. package/dist/Error/index.js +8 -0
  29. package/dist/FieldLabel/FieldLabel.d.ts +19 -0
  30. package/dist/FieldLabel/FieldLabel.js +119 -0
  31. package/dist/FieldLabel/index.d.ts +1 -0
  32. package/dist/FieldLabel/index.js +8 -0
  33. package/dist/FileInputField/FileInputField.d.ts +19 -0
  34. package/dist/FileInputField/FileInputField.js +117 -0
  35. package/dist/FileInputField/index.d.ts +1 -0
  36. package/dist/FileInputField/index.js +8 -0
  37. package/dist/Flyout/Flyout.d.ts +11 -0
  38. package/dist/Flyout/Flyout.js +111 -0
  39. package/dist/Flyout/FlyoutHeader.d.ts +5 -0
  40. package/dist/Flyout/FlyoutHeader.js +12 -0
  41. package/dist/Flyout/FlyoutTitle.d.ts +2 -0
  42. package/dist/Flyout/FlyoutTitle.js +13 -0
  43. package/dist/Flyout/index.d.ts +3 -0
  44. package/dist/Flyout/index.js +12 -0
  45. package/dist/FormSection/FormSection.d.ts +9 -0
  46. package/dist/FormSection/FormSection.js +51 -0
  47. package/dist/FormSection/index.d.ts +1 -0
  48. package/dist/FormSection/index.js +8 -0
  49. package/dist/Grid/Grid.d.ts +8 -0
  50. package/dist/Grid/Grid.js +18 -0
  51. package/dist/Grid/index.d.ts +1 -0
  52. package/dist/Grid/index.js +8 -0
  53. package/dist/IconButton/IconButton.d.ts +5 -0
  54. package/dist/IconButton/IconButton.js +30 -0
  55. package/dist/IconButton/index.d.ts +1 -0
  56. package/dist/IconButton/index.js +8 -0
  57. package/dist/Input/Input.d.ts +21 -0
  58. package/dist/Input/Input.js +149 -0
  59. package/dist/Input/index.d.ts +1 -0
  60. package/dist/Input/index.js +8 -0
  61. package/dist/Modal/Modal.d.ts +14 -0
  62. package/dist/Modal/Modal.js +110 -0
  63. package/dist/Modal/index.d.ts +1 -0
  64. package/dist/Modal/index.js +8 -0
  65. package/dist/MonolithUIProvider/GlobalStyle.d.ts +4 -0
  66. package/dist/MonolithUIProvider/GlobalStyle.js +53 -0
  67. package/dist/MonolithUIProvider/MonolithUIProvider.d.ts +10 -0
  68. package/dist/MonolithUIProvider/MonolithUIProvider.js +29 -0
  69. package/dist/MonolithUIProvider/index.d.ts +3 -0
  70. package/dist/MonolithUIProvider/index.js +12 -0
  71. package/dist/MonolithUIProvider/useMonolithUITheme.d.ts +2 -0
  72. package/dist/MonolithUIProvider/useMonolithUITheme.js +12 -0
  73. package/dist/Pill/Pill.d.ts +11 -0
  74. package/dist/Pill/Pill.js +152 -0
  75. package/dist/Pill/index.d.ts +1 -0
  76. package/dist/Pill/index.js +8 -0
  77. package/dist/SelectBox/SelectBox.d.ts +45 -0
  78. package/dist/SelectBox/SelectBox.js +477 -0
  79. package/dist/SelectBox/index.d.ts +1 -0
  80. package/dist/SelectBox/index.js +8 -0
  81. package/dist/Switch/Switch.d.ts +18 -0
  82. package/dist/Switch/Switch.js +157 -0
  83. package/dist/Switch/index.d.ts +1 -0
  84. package/dist/Switch/index.js +8 -0
  85. package/dist/Table/Table.d.ts +91 -0
  86. package/dist/Table/Table.js +715 -0
  87. package/dist/Table/index.d.ts +2 -0
  88. package/dist/Table/index.js +10 -0
  89. package/dist/TagBox/TagBox.d.ts +39 -0
  90. package/dist/TagBox/TagBox.js +590 -0
  91. package/dist/TagBox/TagBoxStyles.d.ts +11 -0
  92. package/dist/TagBox/TagBoxStyles.js +113 -0
  93. package/dist/TagBox/index.d.ts +1 -0
  94. package/dist/TagBox/index.js +8 -0
  95. package/dist/TextArea/TextArea.d.ts +16 -0
  96. package/dist/TextArea/TextArea.js +81 -0
  97. package/dist/TextArea/index.d.ts +1 -0
  98. package/dist/TextArea/index.js +8 -0
  99. package/dist/TextAreaInput/TextAreaInput.d.ts +19 -0
  100. package/dist/TextAreaInput/TextAreaInput.js +11 -0
  101. package/dist/TextAreaInput/index.d.ts +1 -0
  102. package/dist/TextAreaInput/index.js +8 -0
  103. package/dist/TextInput/TextInput.d.ts +13 -0
  104. package/dist/TextInput/TextInput.js +31 -0
  105. package/dist/TextInput/index.d.ts +1 -0
  106. package/dist/TextInput/index.js +8 -0
  107. package/dist/Tooltip/Tooltip.d.ts +12 -0
  108. package/dist/Tooltip/Tooltip.js +53 -0
  109. package/dist/Tooltip/index.d.ts +1 -0
  110. package/dist/Tooltip/index.js +8 -0
  111. package/dist/core/ArrowButton.d.ts +6 -0
  112. package/dist/core/ArrowButton.js +48 -0
  113. package/dist/core/ClearButton.d.ts +6 -0
  114. package/dist/core/ClearButton.js +48 -0
  115. package/dist/core/MonolithThemeProvider.d.ts +4 -0
  116. package/dist/core/MonolithThemeProvider.js +20 -0
  117. package/dist/core/StyledContent.d.ts +7 -0
  118. package/dist/core/StyledContent.js +47 -0
  119. package/dist/core/StyledFloatContainer.d.ts +2 -0
  120. package/dist/core/StyledFloatContainer.js +10 -0
  121. package/dist/core/Types/Size.d.ts +2 -0
  122. package/dist/core/Types/Size.js +2 -0
  123. package/dist/core/Types/Variant.d.ts +2 -0
  124. package/dist/core/Types/Variant.js +2 -0
  125. package/dist/core/index.d.ts +6 -0
  126. package/dist/core/index.js +14 -0
  127. package/dist/index.d.ts +26 -0
  128. package/dist/index.js +59 -0
  129. package/dist/theme/index.d.ts +168 -0
  130. package/dist/theme/index.js +14 -0
  131. package/dist/theme/typography.d.ts +45 -0
  132. package/dist/theme/typography.js +59 -0
  133. package/dist/theme/variants.d.ts +172 -0
  134. package/dist/theme/variants.js +276 -0
  135. package/package.json +1 -1
@@ -0,0 +1,715 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.useTable = exports.Column = void 0;
18
+ const jsx_runtime_1 = require("react/jsx-runtime");
19
+ const react_window_1 = require("react-window");
20
+ const react_virtualized_auto_sizer_1 = __importDefault(require("react-virtualized-auto-sizer"));
21
+ const overlayscrollbars_react_1 = require("overlayscrollbars-react");
22
+ require("overlayscrollbars/overlayscrollbars.css");
23
+ const short_uuid_1 = __importDefault(require("short-uuid"));
24
+ const styled_components_1 = __importDefault(require("styled-components"));
25
+ const react_1 = require("react");
26
+ const lucide_react_1 = require("lucide-react");
27
+ const lucide_react_2 = require("lucide-react");
28
+ const moment_1 = __importDefault(require("moment"));
29
+ const __1 = require("..");
30
+ const MIN_COLUMN_WIDTH = 125;
31
+ const Column = ({ dataField, caption, columnId = short_uuid_1.default.generate(), sorting, format, componentType = "Column", }) => {
32
+ return null;
33
+ };
34
+ exports.Column = Column;
35
+ exports.Column.displayName = "Column";
36
+ const StyledTable = styled_components_1.default.table `
37
+ position: relative;
38
+ border-collapse: separate;
39
+ border-spacing: 0;
40
+ min-width: 100%;
41
+ border-top: none;
42
+ border-radius: 4px;
43
+ `;
44
+ const StyledThead = styled_components_1.default.thead `
45
+ position: relative;
46
+ `;
47
+ const StyledTbody = styled_components_1.default.tbody `
48
+ & [data-even="true"].tr td {
49
+ background-color: ${({ stripes, theme }) => stripes ? theme.palette.background.secondary : "transparent"};
50
+ }
51
+ & .tr:hover td {
52
+ background-color: ${({ theme }) => theme.palette.action.hover};
53
+ }
54
+ `;
55
+ const StyledTr = styled_components_1.default.tr `
56
+ position: relative;
57
+ height: ${({ compact, rowHeight }) => rowHeight ? rowHeight : compact ? 28 : 38}px;
58
+ width: 100%;
59
+ display: flex;
60
+
61
+ & .action-button {
62
+ opacity: 0;
63
+ border-radius: 4px;
64
+ }
65
+ * .custom-action-button {
66
+ opacity: 0;
67
+ }
68
+
69
+ &:hover .action-button,
70
+ &:hover .custom-action-button {
71
+ opacity: 1;
72
+ }
73
+
74
+ &.focused .td {
75
+ border-top: 1px solid ${({ theme }) => theme.palette.primary.main};
76
+ border-bottom: 1px solid ${({ theme }) => theme.palette.primary.main} !important;
77
+ transition: border 0.3s ease;
78
+ }
79
+ &.focused .td:first-child {
80
+ border-left: 1px solid ${({ theme }) => theme.palette.primary.main};
81
+ }
82
+ &.focused .td:last-child {
83
+ border-right: 1px solid ${({ theme }) => theme.palette.primary.main};
84
+ }
85
+
86
+ // last item in row
87
+ & .td:last-child {
88
+ width: auto !important;
89
+ max-width: none !important;
90
+ }
91
+ `;
92
+ const StyledHeaderRow = (0, styled_components_1.default)(StyledTr) `
93
+ height: ${({ compact, headerHeight }) => headerHeight ? headerHeight : compact ? 28 : 38}px;
94
+
95
+ display: table-row;
96
+
97
+ // last item in row
98
+ & .th:last-child {
99
+ width: auto !important;
100
+ max-width: none !important;
101
+ }
102
+ `;
103
+ const StyledTd = styled_components_1.default.td `
104
+ position: relative;
105
+ display: flex;
106
+ align-items: center;
107
+ flex: 1;
108
+ padding: ${({ compact }) => (compact ? "3px" : "8px")};
109
+ font-size: ${({ compact }) => (compact ? "10px" : "12px")};
110
+ overflow: hidden;
111
+ text-overflow: ellipsis;
112
+ white-space: nowrap;
113
+
114
+ background-color: ${({ theme }) => theme.palette.background.default};
115
+
116
+ border-bottom: 1px solid ${({ theme }) => theme.palette.divider};
117
+
118
+ &:first-child {
119
+ border-left: 1px solid ${({ theme }) => theme.palette.divider};
120
+ }
121
+
122
+ &:last-child {
123
+ border-right: 1px solid ${({ theme }) => theme.palette.divider};
124
+ }
125
+ `;
126
+ const StyledTh = styled_components_1.default.th `
127
+ position: sticky;
128
+ top: 0;
129
+ z-index: 1;
130
+ flex: 1;
131
+ vertical-align: middle;
132
+ user-select: none;
133
+ padding: ${({ compact }) => (compact ? "3px" : "8px")};
134
+ font-size: ${({ compact }) => (compact ? "10px" : "12px")};
135
+ text-align: left;
136
+ font-weight: bold;
137
+ overflow: hidden;
138
+ text-overflow: ellipsis;
139
+ white-space: nowrap;
140
+
141
+ background-color: ${({ theme }) => theme.palette.background.alt};
142
+
143
+ border-top: 1px solid ${({ theme }) => theme.palette.divider};
144
+ border-bottom: 1px solid ${({ theme }) => theme.palette.divider};
145
+
146
+ .action-header {
147
+ display: flex;
148
+ align-content: center;
149
+ align-items: center;
150
+ cursor: pointer;
151
+ color: ${({ theme }) => theme.palette.text.secondary};
152
+ margin-right: 5;
153
+ margin-left: 3;
154
+ }
155
+
156
+ &:first-child {
157
+ border-left: 1px solid ${({ theme }) => theme.palette.divider};
158
+ border-top-left-radius: 4px;
159
+ }
160
+
161
+ &:last-child {
162
+ border-right: 1px solid ${({ theme }) => theme.palette.divider};
163
+ border-top-right-radius: 4px;
164
+ }
165
+
166
+ &:hover {
167
+ background-color: ${({ theme }) => theme.name === "DARK" ? "#2e2e2e" : "#f5f5f5"};
168
+ cursor: pointer;
169
+ }
170
+ &.dragging:active {
171
+ cursor: grabbing;
172
+ }
173
+ &.dragover .resizer {
174
+ opacity: 1;
175
+ background: ${(props) => props.theme.palette.primary.main};
176
+ cursor: grabbing;
177
+ }
178
+ `;
179
+ const enableResizeClass = (dataField) => {
180
+ document
181
+ .querySelectorAll(`.resizer.column-${dataField}`)
182
+ .forEach((resizer) => {
183
+ resizer.classList.add("isResizing");
184
+ });
185
+ };
186
+ const disableResizeClass = (dataField) => {
187
+ document
188
+ .querySelectorAll(`.resizer.column-${dataField}`)
189
+ .forEach((resizer) => {
190
+ resizer.classList.remove("isResizing");
191
+ });
192
+ };
193
+ const resizeHandler = ({ event, columnId, columnProps, onResize, onResizeFinished, }) => {
194
+ let col = event.target
195
+ .parentElement;
196
+ let newColumns = [];
197
+ let x = 0;
198
+ let w = 0;
199
+ const mouseMoveHandler = function (e) {
200
+ const selectedColumn = document.querySelectorAll(`.col-${columnId}`);
201
+ const columnHeaders = document.querySelectorAll(`.th.col-${columnId}`);
202
+ const dx = e.clientX - x;
203
+ let newWidth = w + dx;
204
+ if (newWidth < MIN_COLUMN_WIDTH) {
205
+ newWidth = MIN_COLUMN_WIDTH;
206
+ }
207
+ selectedColumn.forEach((col) => {
208
+ var _a;
209
+ col.style.width = `${newWidth}px`;
210
+ col.style.maxWidth = `${newWidth}px`;
211
+ col.style.minWidth = `${newWidth}px`;
212
+ newColumns.push({
213
+ dataField: ((_a = col === null || col === void 0 ? void 0 : col.dataset) === null || _a === void 0 ? void 0 : _a.field) || "",
214
+ width: newWidth,
215
+ });
216
+ });
217
+ newColumns = Array.from(columnHeaders).map((col) => {
218
+ var _a;
219
+ return {
220
+ dataField: ((_a = col === null || col === void 0 ? void 0 : col.dataset) === null || _a === void 0 ? void 0 : _a.field) || "",
221
+ width: newWidth,
222
+ };
223
+ });
224
+ onResize({
225
+ columns: newColumns,
226
+ });
227
+ };
228
+ const mouseUpHandler = function () {
229
+ var _a, _b, _c;
230
+ disableResizeClass(columnId);
231
+ document.removeEventListener("mousemove", mouseMoveHandler);
232
+ document.removeEventListener("mouseup", mouseUpHandler);
233
+ onResizeFinished === null || onResizeFinished === void 0 ? void 0 : onResizeFinished({
234
+ column: columnProps,
235
+ columnId: columnId,
236
+ columns: newColumns,
237
+ targetColumn: document.querySelector(`.col-${columnId}`),
238
+ newWidth: ((_c = (_b = (_a = document === null || document === void 0 ? void 0 : document.querySelector) === null || _a === void 0 ? void 0 : _a.call(document, `.col-${columnId}`)) === null || _b === void 0 ? void 0 : _b.style) === null || _c === void 0 ? void 0 : _c.width) || null,
239
+ });
240
+ };
241
+ x = event.clientX;
242
+ const styles = window.getComputedStyle(col);
243
+ w = parseInt(styles.width, 10);
244
+ document.addEventListener("mousemove", mouseMoveHandler);
245
+ document.addEventListener("mouseup", mouseUpHandler);
246
+ enableResizeClass(columnId);
247
+ };
248
+ const Resizer = (0, styled_components_1.default)(({ className, resizeHandler, onResize = () => { }, onResizeFinished, column, }) => {
249
+ return ((0, jsx_runtime_1.jsx)("div", { className: `${className} resizer column-${column.props.columnId}`, onClick: (e) => {
250
+ e.stopPropagation();
251
+ e.nativeEvent.stopImmediatePropagation();
252
+ e.preventDefault();
253
+ }, onMouseDown: (e) => {
254
+ e.stopPropagation();
255
+ e.nativeEvent.stopImmediatePropagation();
256
+ e.preventDefault();
257
+ if (resizeHandler)
258
+ resizeHandler({
259
+ event: e,
260
+ columnId: column.props.columnId,
261
+ columnProps: column.props,
262
+ onResize: onResize,
263
+ onResizeFinished: onResizeFinished,
264
+ });
265
+ } }));
266
+ }) `
267
+ &.resizer {
268
+ position: absolute;
269
+ right: 0;
270
+ top: 0;
271
+ height: 100%;
272
+ width: 3px;
273
+ background-color: ${(props) => props.theme.palette.divider};
274
+ cursor: col-resize;
275
+ user-select: none;
276
+ touch-action: none;
277
+ opacity: 0;
278
+ &.isResizing {
279
+ opacity: 1;
280
+ background: ${(props) => props.theme.palette.primary.main};
281
+ }
282
+ // dragover css
283
+ &.dragover {
284
+ opacity: 1;
285
+ background: ${(props) => props.theme.palette.primary.main};
286
+ }
287
+ }
288
+ `;
289
+ const HeaderRowComponent = ({ columns, _compact, resizeState, headerHeight, onHeaderClick, onColumnResize, dropColumn, dragColumn, showSelection, selectAll, selectionState, handleSelectAll, handleColumnReorder, }) => {
290
+ return ((0, jsx_runtime_1.jsx)(StyledThead, { children: (0, jsx_runtime_1.jsx)(StyledHeaderRow, { compact: _compact, headerHeight: headerHeight, children: columns.map((column) => {
291
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
292
+ let savedColSize = ((_c = (_b = (_a = resizeState === null || resizeState === void 0 ? void 0 : resizeState.current) === null || _a === void 0 ? void 0 : _a.columns) === null || _b === void 0 ? void 0 : _b.find((col) => col.dataField === column.props.dataField)) === null || _c === void 0 ? void 0 : _c.width) || MIN_COLUMN_WIDTH;
293
+ if (savedColSize < MIN_COLUMN_WIDTH) {
294
+ savedColSize = MIN_COLUMN_WIDTH;
295
+ }
296
+ return ((0, jsx_runtime_1.jsxs)(StyledTh, Object.assign({}, column.props, { className: `th ${((_d = column === null || column === void 0 ? void 0 : column.props) === null || _d === void 0 ? void 0 : _d.columnId) ? `col-${column.props.columnId}` : ""}`, "data-field": column.props.dataField, "data-type": "th", compact: _compact, onClick: (e) => {
297
+ if (column.props.allowSorting !== false)
298
+ onHeaderClick === null || onHeaderClick === void 0 ? void 0 : onHeaderClick(column.props);
299
+ }, draggable: column.props.allowReorder !== false ? true : false, onDragOver: (e) => {
300
+ e.preventDefault();
301
+ e.dataTransfer.dropEffect = "move";
302
+ }, onDragEnter: (e) => {
303
+ e.target.classList.add("dragover");
304
+ dropColumn.current = column.props;
305
+ }, onDragLeave: (e) => {
306
+ e.target.classList.remove("dragover");
307
+ }, onDrop: (e) => {
308
+ e.preventDefault();
309
+ e.target.classList.remove("dragover");
310
+ handleColumnReorder(dragColumn.current, dropColumn.current);
311
+ }, onDragStart: (e) => {
312
+ //set dragging class
313
+ dragColumn.current = column.props;
314
+ e.target.classList.add("dragging");
315
+ }, onDragEnd: (e) => {
316
+ e.target.classList.remove("dragging");
317
+ }, style: {
318
+ width: ((_e = column === null || column === void 0 ? void 0 : column.props) === null || _e === void 0 ? void 0 : _e.width)
319
+ ? (_f = column === null || column === void 0 ? void 0 : column.props) === null || _f === void 0 ? void 0 : _f.width
320
+ : savedColSize || "auto",
321
+ maxWidth: ((_g = column === null || column === void 0 ? void 0 : column.props) === null || _g === void 0 ? void 0 : _g.width)
322
+ ? (_h = column === null || column === void 0 ? void 0 : column.props) === null || _h === void 0 ? void 0 : _h.width
323
+ : savedColSize || "auto",
324
+ minWidth: ((_j = column === null || column === void 0 ? void 0 : column.props) === null || _j === void 0 ? void 0 : _j.width)
325
+ ? (_k = column === null || column === void 0 ? void 0 : column.props) === null || _k === void 0 ? void 0 : _k.width
326
+ : savedColSize || MIN_COLUMN_WIDTH,
327
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
328
+ display: "flex",
329
+ alignContent: "center",
330
+ alignItems: "center",
331
+ pointerEvents: column.props.dataField === "action" ? "all" : "none",
332
+ }, children: [showSelection && column.props.dataField === "action" ? ((0, jsx_runtime_1.jsx)("div", { className: "action-header", children: selectAll && ((0, jsx_runtime_1.jsx)(__1.CheckBox, { value: selectionState === "all", partialCheck: selectionState.includes("some"), onChange: handleSelectAll })) })) : ((0, jsx_runtime_1.jsx)("div", { children: column.props.caption })), ((_m = (_l = column.props) === null || _l === void 0 ? void 0 : _l.sorting) === null || _m === void 0 ? void 0 : _m.active) && ((0, jsx_runtime_1.jsx)("div", { style: { marginLeft: 5 }, children: column.props.sorting.direction === "asc" ? ((0, jsx_runtime_1.jsx)(lucide_react_2.ArrowUpIcon, { size: 12 })) : ((0, jsx_runtime_1.jsx)(lucide_react_2.ArrowDownIcon, { size: 12 })) }))] }), ((_o = column === null || column === void 0 ? void 0 : column.props) === null || _o === void 0 ? void 0 : _o.resizeEnabled) !== false && ((0, jsx_runtime_1.jsx)(Resizer, { resizeHandler: resizeHandler, column: column, onResize: (e) => {
333
+ resizeState.current = e;
334
+ }, onResizeFinished: (e) => {
335
+ onColumnResize === null || onColumnResize === void 0 ? void 0 : onColumnResize(e);
336
+ } }))] }), short_uuid_1.default.generate()));
337
+ }) }) }));
338
+ };
339
+ const InnerElement = (0, react_1.forwardRef)((_a, ref) => {
340
+ var { children, columns, resizeState, _compact, stripes, onHeaderClick, dropColumn, dragColumn, showSelection, selectAll, selectionState, handleSelectAll, handleColumnReorder, onColumnResize, headerHeight } = _a, rest = __rest(_a, ["children", "columns", "resizeState", "_compact", "stripes", "onHeaderClick", "dropColumn", "dragColumn", "showSelection", "selectAll", "selectionState", "handleSelectAll", "handleColumnReorder", "onColumnResize", "headerHeight"]);
341
+ return ((0, jsx_runtime_1.jsxs)(StyledTable, Object.assign({ ref: ref }, rest, { children: [(0, jsx_runtime_1.jsx)(HeaderRowComponent, { columns: columns, resizeState: resizeState, _compact: _compact, headerHeight: headerHeight, onHeaderClick: onHeaderClick, dropColumn: dropColumn, dragColumn: dragColumn, showSelection: showSelection, selectAll: selectAll, selectionState: selectionState, handleSelectAll: handleSelectAll, handleColumnReorder: handleColumnReorder, onColumnResize: onColumnResize }), (0, jsx_runtime_1.jsx)(StyledTbody, { className: "tbody" + (stripes ? " striped" : ""), stripes: stripes, children: children })] })));
342
+ });
343
+ const Row = ({ data, index, style }) => {
344
+ const { data: dataRows, columns, focusedRow, keyValue, _compact, queryKey, reloadFn, headerHeight, resizeState, onRowUpdated, } = data;
345
+ const item = (dataRows === null || dataRows === void 0 ? void 0 : dataRows[index]) || {};
346
+ const handleRowUpdated = (data) => {
347
+ onRowUpdated === null || onRowUpdated === void 0 ? void 0 : onRowUpdated({ rowData: item, updateData: data });
348
+ };
349
+ const isRowFocused = focusedRow
350
+ ? focusedRow[keyValue] === item[keyValue]
351
+ : false;
352
+ const row = columns.map((column) => {
353
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
354
+ let value = null;
355
+ let savedColSize = ((_c = (_b = (_a = resizeState === null || resizeState === void 0 ? void 0 : resizeState.current) === null || _a === void 0 ? void 0 : _a.columns) === null || _b === void 0 ? void 0 : _b.find((col) => col.dataField === column.props.dataField)) === null || _c === void 0 ? void 0 : _c.width) || MIN_COLUMN_WIDTH;
356
+ if (savedColSize < MIN_COLUMN_WIDTH) {
357
+ savedColSize = MIN_COLUMN_WIDTH;
358
+ }
359
+ // parse datafield dot syntax
360
+ if ((_d = column.props.dataField) === null || _d === void 0 ? void 0 : _d.includes(".")) {
361
+ const fields = (_e = column.props.dataField) === null || _e === void 0 ? void 0 : _e.split(".");
362
+ value = fields.reduce((acc, field) => {
363
+ return acc === null || acc === void 0 ? void 0 : acc[field];
364
+ }, item);
365
+ }
366
+ else
367
+ value = item === null || item === void 0 ? void 0 : item[column.props.dataField];
368
+ // format date values
369
+ if (column.props.dataType === "date" &&
370
+ ((_g = (_f = column === null || column === void 0 ? void 0 : column.props) === null || _f === void 0 ? void 0 : _f.format) === null || _g === void 0 ? void 0 : _g.type) &&
371
+ value) {
372
+ const dateFormat = (_j = (_h = column === null || column === void 0 ? void 0 : column.props) === null || _h === void 0 ? void 0 : _h.format) === null || _j === void 0 ? void 0 : _j.type;
373
+ value = (0, moment_1.default)(value).format(dateFormat);
374
+ }
375
+ if (column.props.render) {
376
+ return ((0, jsx_runtime_1.jsxs)(StyledTd, { className: `td ${((_k = column === null || column === void 0 ? void 0 : column.props) === null || _k === void 0 ? void 0 : _k.columnId) ? `col-${column.props.columnId}` : ""}`, title: ((_l = column === null || column === void 0 ? void 0 : column.props) === null || _l === void 0 ? void 0 : _l.titleRender) ? (_m = column === null || column === void 0 ? void 0 : column.props) === null || _m === void 0 ? void 0 : _m.titleRender(item) : null, compact: _compact, style: Object.assign({ width: ((_o = column === null || column === void 0 ? void 0 : column.props) === null || _o === void 0 ? void 0 : _o.width)
377
+ ? (_p = column === null || column === void 0 ? void 0 : column.props) === null || _p === void 0 ? void 0 : _p.width
378
+ : savedColSize || "auto", maxWidth: ((_q = column === null || column === void 0 ? void 0 : column.props) === null || _q === void 0 ? void 0 : _q.width)
379
+ ? (_r = column === null || column === void 0 ? void 0 : column.props) === null || _r === void 0 ? void 0 : _r.width
380
+ : savedColSize || "auto", minWidth: ((_s = column === null || column === void 0 ? void 0 : column.props) === null || _s === void 0 ? void 0 : _s.width)
381
+ ? (_t = column === null || column === void 0 ? void 0 : column.props) === null || _t === void 0 ? void 0 : _t.width
382
+ : savedColSize || MIN_COLUMN_WIDTH }, (((_u = column === null || column === void 0 ? void 0 : column.props) === null || _u === void 0 ? void 0 : _u.style) || {})), "data-type": "td", children: [column.props.resizeEnabled !== false && (0, jsx_runtime_1.jsx)(Resizer, { column: column }), column.props.render(item, {
383
+ queryKey: queryKey || "",
384
+ reload: reloadFn,
385
+ onRowUpdated: handleRowUpdated,
386
+ })] }, short_uuid_1.default.generate()));
387
+ }
388
+ return ((0, jsx_runtime_1.jsxs)(StyledTd, { className: `td ${((_v = column === null || column === void 0 ? void 0 : column.props) === null || _v === void 0 ? void 0 : _v.columnId) ? `col-${column.props.columnId}` : ""}`, compact: _compact, title: ((_w = column === null || column === void 0 ? void 0 : column.props) === null || _w === void 0 ? void 0 : _w.titleRender) ? (_x = column === null || column === void 0 ? void 0 : column.props) === null || _x === void 0 ? void 0 : _x.titleRender(item) : null, "data-type": "td", style: {
389
+ width: ((_y = column === null || column === void 0 ? void 0 : column.props) === null || _y === void 0 ? void 0 : _y.width)
390
+ ? (_z = column === null || column === void 0 ? void 0 : column.props) === null || _z === void 0 ? void 0 : _z.width
391
+ : savedColSize || "auto",
392
+ maxWidth: ((_0 = column === null || column === void 0 ? void 0 : column.props) === null || _0 === void 0 ? void 0 : _0.width)
393
+ ? (_1 = column === null || column === void 0 ? void 0 : column.props) === null || _1 === void 0 ? void 0 : _1.width
394
+ : savedColSize || "auto",
395
+ minWidth: ((_2 = column === null || column === void 0 ? void 0 : column.props) === null || _2 === void 0 ? void 0 : _2.width)
396
+ ? (_3 = column === null || column === void 0 ? void 0 : column.props) === null || _3 === void 0 ? void 0 : _3.width
397
+ : savedColSize || MIN_COLUMN_WIDTH,
398
+ }, children: [column.props.resizeEnabled !== false && (0, jsx_runtime_1.jsx)(Resizer, { column: column }), value] }, short_uuid_1.default.generate()));
399
+ });
400
+ return ((0, jsx_runtime_1.jsx)(StyledTr, { className: `tr${isRowFocused ? " focused" : ""}`, "data-key": item[keyValue], "data-type": "tr", "data-even": index % 2 === 0 ? "true" : "false", compact: _compact, style: Object.assign(Object.assign({}, style), { top: ((style === null || style === void 0 ? void 0 : style.top) || 0) + headerHeight }), children: row }, short_uuid_1.default.generate()));
401
+ };
402
+ const useTable = () => {
403
+ const [tableInstance, setTableInstance] = (0, react_1.useState)(null);
404
+ return {
405
+ setTableInstance,
406
+ toggleCompact: () => tableInstance === null || tableInstance === void 0 ? void 0 : tableInstance.toggleCompact(),
407
+ toggleStripes: () => tableInstance === null || tableInstance === void 0 ? void 0 : tableInstance.toggleStripes(),
408
+ isCompact: (tableInstance === null || tableInstance === void 0 ? void 0 : tableInstance.isCompact) || false,
409
+ isStriped: (tableInstance === null || tableInstance === void 0 ? void 0 : tableInstance.isStriped) || false,
410
+ getVirtualSelectionTotal: () => (tableInstance === null || tableInstance === void 0 ? void 0 : tableInstance.getVirtualSelectionTotal()) || 0,
411
+ getSelectedRows: () => (tableInstance === null || tableInstance === void 0 ? void 0 : tableInstance.getSelectedRows()) || [],
412
+ getExcludedRows: () => (tableInstance === null || tableInstance === void 0 ? void 0 : tableInstance.getExcludedRows()) || [],
413
+ getSelectionState: () => (tableInstance === null || tableInstance === void 0 ? void 0 : tableInstance.getSelectionState()) || {},
414
+ clearSelections: () => tableInstance === null || tableInstance === void 0 ? void 0 : tableInstance.clearSelections(),
415
+ onColumnResize: (e) => tableInstance === null || tableInstance === void 0 ? void 0 : tableInstance.onColumnResize(e),
416
+ };
417
+ };
418
+ exports.useTable = useTable;
419
+ const Table = (0, styled_components_1.default)(({ className, children, data, rowHeight, headerHeight, tableInstance, queryKey, totalRecords, compact, focusedRow, keyValue, onScroll, allowColumnResize, allowColumnReorder, showActionColumn, showSelection, selectAll, reloadFn, onColumnReorder, onSelectionChanged, onActionButtonClick, onHeaderClick, onColumnResize, onRowUpdated, }) => {
420
+ const rootRef = (0, react_1.useRef)(null);
421
+ const [initialize, getInstance] = (0, overlayscrollbars_react_1.useOverlayScrollbars)({
422
+ options: {
423
+ scrollbars: {
424
+ autoHide: "scroll",
425
+ autoHideDelay: 500,
426
+ },
427
+ },
428
+ events: { scroll: (_, event) => onScroll === null || onScroll === void 0 ? void 0 : onScroll(event) },
429
+ });
430
+ const [targetElm, setTargetElm] = (0, react_1.useState)(null);
431
+ const [listElm, setListElm] = (0, react_1.useState)(null);
432
+ const dragColumn = (0, react_1.useRef)(null);
433
+ const dropColumn = (0, react_1.useRef)(null);
434
+ const [_compact, setCompact] = (0, react_1.useState)(compact);
435
+ const [stripes, setStripes] = (0, react_1.useState)(false);
436
+ const [selectedRows, setSelectedRows] = (0, react_1.useState)([]);
437
+ const [virtualSelectionTotal, setVirtualSelectionTotal] = (0, react_1.useState)(0);
438
+ const [excludedRows, setExcludedRows] = (0, react_1.useState)([]);
439
+ const [selectionState, setSelectionState] = (0, react_1.useState)("none");
440
+ const resizeState = (0, react_1.useRef)([]);
441
+ // check if children is an array
442
+ children = (0, react_1.useMemo)(() => {
443
+ return Array.isArray(children) ? children : [children];
444
+ }, [children]);
445
+ let columns = (0, react_1.useMemo)(() => {
446
+ var _a, _b;
447
+ return (_b = (_a = children === null || children === void 0 ? void 0 : children.filter) === null || _a === void 0 ? void 0 : _a.call(children, (child) => child.props.componentType === "Column")) === null || _b === void 0 ? void 0 : _b.map((column) => {
448
+ return (0, react_1.cloneElement)(column, {
449
+ columnId: short_uuid_1.default.generate(),
450
+ allowResize: allowColumnResize !== undefined
451
+ ? allowColumnResize
452
+ : column.props.allowResize,
453
+ allowReorder: allowColumnReorder !== undefined
454
+ ? allowColumnReorder
455
+ : column.props.allowReorder,
456
+ resizeEnabled: allowColumnResize !== undefined
457
+ ? allowColumnResize
458
+ : column.props.resizeEnabled,
459
+ });
460
+ });
461
+ }, [children]);
462
+ const [columnOrder, setColumnOrder] = (0, react_1.useState)(columns.map((col, index) => {
463
+ var _a, _b;
464
+ return {
465
+ column: (_a = col.props) === null || _a === void 0 ? void 0 : _a.dataField,
466
+ order: ((_b = col.props) === null || _b === void 0 ? void 0 : _b.order) || index,
467
+ };
468
+ }));
469
+ const handleColumnReorder = (dragColumn, dropColumn) => {
470
+ var _a;
471
+ const dropColumnOrder = (_a = columnOrder.find((col) => col.column === dropColumn.dataField)) === null || _a === void 0 ? void 0 : _a.order;
472
+ const newColumnOrder = columnOrder.map((col) => {
473
+ if (col.column === dragColumn.dataField) {
474
+ return { column: col.column, order: dropColumnOrder + 1 };
475
+ }
476
+ else {
477
+ return col.order > dropColumnOrder
478
+ ? Object.assign(Object.assign({}, col), { order: col.order + 1 }) : col;
479
+ }
480
+ });
481
+ onColumnReorder === null || onColumnReorder === void 0 ? void 0 : onColumnReorder(newColumnOrder);
482
+ setColumnOrder(newColumnOrder);
483
+ };
484
+ const handleSelectAll = () => {
485
+ let newSelectionState = null;
486
+ let newVirtualSelectionTotal = null;
487
+ if (selectionState === "all") {
488
+ // clear current selections
489
+ setSelectedRows([]);
490
+ // turn off all rows selected
491
+ newSelectionState = "none";
492
+ setSelectionState("none");
493
+ // clear excluded rows
494
+ setExcludedRows([]);
495
+ newVirtualSelectionTotal = 0;
496
+ setVirtualSelectionTotal(newVirtualSelectionTotal);
497
+ }
498
+ else {
499
+ // turn on all rows selected
500
+ newSelectionState = "all";
501
+ setSelectionState("all");
502
+ // clear excluded rows
503
+ setExcludedRows([]);
504
+ newVirtualSelectionTotal = totalRecords;
505
+ setVirtualSelectionTotal(newVirtualSelectionTotal);
506
+ }
507
+ onSelectionChanged === null || onSelectionChanged === void 0 ? void 0 : onSelectionChanged({
508
+ selectedRows: [],
509
+ excludedRows: [],
510
+ selectionState: newSelectionState,
511
+ virtualSelectionTotal: newVirtualSelectionTotal,
512
+ });
513
+ };
514
+ const handleSelectRow = ({ rowData, checked, }) => {
515
+ let newSelectedRows = [];
516
+ let newExcludedRows = [];
517
+ let newSelectionState = null;
518
+ let newVirtualSelectionTotal = null;
519
+ if (selectionState === "all") {
520
+ newExcludedRows = [...excludedRows, rowData];
521
+ newSelectionState = "someExcluded";
522
+ newVirtualSelectionTotal = totalRecords ? totalRecords - 1 : 0;
523
+ }
524
+ else if (selectionState === "none") {
525
+ newSelectedRows = [rowData];
526
+ newSelectionState = "someIncluded";
527
+ newVirtualSelectionTotal = 1;
528
+ }
529
+ else if (selectionState === "someExcluded") {
530
+ newSelectionState = "someExcluded";
531
+ newSelectedRows = selectedRows;
532
+ if (checked) {
533
+ // remove from excluded rows
534
+ newExcludedRows = excludedRows.filter((row) => keyValue ? (row === null || row === void 0 ? void 0 : row[keyValue]) !== (rowData === null || rowData === void 0 ? void 0 : rowData[keyValue]) : false);
535
+ newVirtualSelectionTotal = virtualSelectionTotal
536
+ ? virtualSelectionTotal + 1
537
+ : 0;
538
+ }
539
+ else {
540
+ // add to excluded rows
541
+ newExcludedRows = [...excludedRows, rowData];
542
+ newVirtualSelectionTotal = virtualSelectionTotal
543
+ ? virtualSelectionTotal - 1
544
+ : 0;
545
+ }
546
+ }
547
+ else if (selectionState === "someIncluded") {
548
+ newSelectionState = "someIncluded";
549
+ newExcludedRows = excludedRows;
550
+ if (checked) {
551
+ // add to selected rows
552
+ newSelectedRows = [...selectedRows, rowData];
553
+ newVirtualSelectionTotal = virtualSelectionTotal
554
+ ? virtualSelectionTotal + 1
555
+ : 0;
556
+ }
557
+ else {
558
+ // remove from selected rows
559
+ newSelectedRows = selectedRows.filter((row) => keyValue ? row[keyValue] !== rowData[keyValue] : false);
560
+ newVirtualSelectionTotal = virtualSelectionTotal
561
+ ? virtualSelectionTotal - 1
562
+ : 0;
563
+ }
564
+ }
565
+ if (newVirtualSelectionTotal === totalRecords) {
566
+ newSelectionState = "all";
567
+ }
568
+ else if (newVirtualSelectionTotal === 0) {
569
+ newSelectionState = "none";
570
+ }
571
+ setSelectedRows(newSelectedRows);
572
+ setExcludedRows(newExcludedRows);
573
+ setVirtualSelectionTotal(newVirtualSelectionTotal);
574
+ setSelectionState(newSelectionState);
575
+ onSelectionChanged === null || onSelectionChanged === void 0 ? void 0 : onSelectionChanged({
576
+ selectedRows: newSelectedRows,
577
+ excludedRows: newExcludedRows,
578
+ selectionState: newSelectionState,
579
+ virtualSelectionTotal: newVirtualSelectionTotal,
580
+ });
581
+ };
582
+ // sort columns
583
+ columns = (0, react_1.useMemo)(() => columns.sort((a, b) => {
584
+ var _a, _b;
585
+ const aOrder = (_a = columnOrder.find((col) => col.column === a.props.dataField)) === null || _a === void 0 ? void 0 : _a.order;
586
+ const bOrder = (_b = columnOrder.find((col) => col.column === b.props.dataField)) === null || _b === void 0 ? void 0 : _b.order;
587
+ return aOrder - bOrder;
588
+ }), [columnOrder, columns]);
589
+ const hiddenColumns = columns
590
+ .filter((col) => col.props.visible === false)
591
+ .map((col) => col.props.dataField);
592
+ // insert action column as first column
593
+ showActionColumn &&
594
+ (columns = [
595
+ (0, jsx_runtime_1.jsx)(exports.Column, { className: "action-column", dataField: "action", allowSorting: false, allowReorder: false, caption: "", width: showSelection ? 55 : 35, resizeEnabled: false, render: (rowData) => ((0, jsx_runtime_1.jsxs)("div", { className: "action-column-container", children: [showSelection && ((0, jsx_runtime_1.jsx)("div", { className: "action-button", children: (0, jsx_runtime_1.jsx)(__1.CheckBox, { value: selectionState === "all"
596
+ ? true
597
+ : selectionState === "someIncluded"
598
+ ? !!selectedRows.find((row) => keyValue
599
+ ? row[keyValue] === rowData[keyValue]
600
+ : false)
601
+ : selectionState === "someExcluded"
602
+ ? !excludedRows.find((row) => keyValue
603
+ ? row[keyValue] === rowData[keyValue]
604
+ : false)
605
+ : false, onChange: (newValue) => handleSelectRow({ rowData, checked: newValue }) }) })), (0, jsx_runtime_1.jsx)("div", { className: "action-button", title: "Show More Details", onClick: (e) => {
606
+ onActionButtonClick === null || onActionButtonClick === void 0 ? void 0 : onActionButtonClick(rowData);
607
+ }, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Maximize2Icon, { size: _compact ? 8 : 12 }) })] })) }, short_uuid_1.default.generate()),
608
+ ...columns,
609
+ ]);
610
+ (0, react_1.useEffect)(() => {
611
+ if (targetElm && listElm) {
612
+ initialize({
613
+ target: targetElm,
614
+ elements: {
615
+ viewport: listElm,
616
+ },
617
+ });
618
+ return () => { var _a; return (_a = getInstance()) === null || _a === void 0 ? void 0 : _a.destroy(); };
619
+ }
620
+ }, [targetElm, listElm]);
621
+ (0, react_1.useEffect)(() => {
622
+ if (tableInstance) {
623
+ tableInstance.setTableInstance({
624
+ getSelectedRows: () => selectedRows,
625
+ getExcludedRows: () => excludedRows,
626
+ getVirtualSelectionTotal: () => virtualSelectionTotal,
627
+ getSelectionState: () => selectionState,
628
+ clearSelections: () => {
629
+ setSelectedRows([]);
630
+ setVirtualSelectionTotal(0);
631
+ setSelectionState("none");
632
+ setExcludedRows([]);
633
+ },
634
+ toggleCompact: () => setCompact(!_compact),
635
+ isCompact: _compact,
636
+ toggleStripes: () => setStripes(!stripes),
637
+ isStriped: stripes,
638
+ });
639
+ }
640
+ }, [
641
+ selectedRows,
642
+ excludedRows,
643
+ virtualSelectionTotal,
644
+ selectionState,
645
+ _compact,
646
+ stripes,
647
+ tableInstance,
648
+ ]);
649
+ (0, react_1.useEffect)(() => {
650
+ // Scroll to selected row if outside of viewport
651
+ if (focusedRow) {
652
+ const focusedRowElm = keyValue
653
+ ? document.querySelector(`[data-type="tr"][data-key="${focusedRow[keyValue]}"]`)
654
+ : null;
655
+ if (focusedRowElm) {
656
+ focusedRowElm.scrollIntoView({
657
+ behavior: "smooth",
658
+ block: "nearest",
659
+ inline: "nearest",
660
+ });
661
+ }
662
+ }
663
+ }, [focusedRow]);
664
+ return ((0, jsx_runtime_1.jsx)("div", { ref: rootRef, className: className + " table-wrapper", children: (0, jsx_runtime_1.jsx)(react_virtualized_auto_sizer_1.default, { children: ({ height, width }) => ((0, jsx_runtime_1.jsx)("div", { style: { width, height }, "data-overlayscrollbars": "", ref: setTargetElm, children: (0, jsx_runtime_1.jsx)(react_window_1.FixedSizeList, { overscanCount: 10, itemData: {
665
+ data,
666
+ columns: columns.filter((col) => !hiddenColumns.includes(col.props.dataField)),
667
+ focusedRow,
668
+ keyValue,
669
+ _compact,
670
+ queryKey,
671
+ reloadFn,
672
+ rowHeight: rowHeight ? rowHeight : _compact ? 28 : 38,
673
+ headerHeight: headerHeight
674
+ ? headerHeight
675
+ : _compact
676
+ ? 28
677
+ : 38,
678
+ resizeState,
679
+ onRowUpdated,
680
+ tableWidth: width,
681
+ }, height: height, innerElementType: (props) => ((0, jsx_runtime_1.jsx)(InnerElement, Object.assign({}, props, { columns: columns.filter((col) => !hiddenColumns.includes(col.props.dataField)), tableWidth: width, resizeState: resizeState, _compact: _compact, stripes: stripes, onHeaderClick: onHeaderClick, dropColumn: dropColumn, dragColumn: dragColumn, showSelection: showSelection, selectAll: selectAll, selectionState: selectionState, handleSelectAll: handleSelectAll, handleColumnReorder: handleColumnReorder, onColumnResize: onColumnResize }))), itemCount: data === null || data === void 0 ? void 0 : data.length, itemSize: rowHeight ? rowHeight : _compact ? 28 : 38, width: width, outerRef: setListElm, children: Row }) })) }) }));
682
+ }) `
683
+ position: relative;
684
+ flex: 1 1 auto;
685
+ overflow: hidden;
686
+ display: flex;
687
+ flex-direction: column;
688
+
689
+ .os-scrollbar {
690
+ pointer-events: auto;
691
+ visibility: visible;
692
+ }
693
+
694
+ .action-column {
695
+ max-width: 55px;
696
+ }
697
+
698
+ .action-column-container {
699
+ display: flex;
700
+ align-content: center;
701
+ align-items: center;
702
+ padding: 4px;
703
+ color: ${({ theme }) => theme.palette.text.secondary};
704
+ }
705
+
706
+ .action-button {
707
+ display: flex;
708
+ align-content: center;
709
+ align-items: center;
710
+ cursor: pointer;
711
+ color: ${({ theme }) => theme.palette.primary.main};
712
+ margin-right: 5px;
713
+ }
714
+ `;
715
+ exports.default = Table;