@oc-digital/react-component-library 8.9.0 → 8.9.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 (173) hide show
  1. package/build/Alert/Alert.js +48 -0
  2. package/build/Alert/Alert.js.map +1 -0
  3. package/build/Alert/Alert.types.js +2 -0
  4. package/build/Alert/Alert.types.js.map +1 -0
  5. package/build/AlphabeticalList/AlphabeticalList.js +91 -0
  6. package/build/AlphabeticalList/AlphabeticalList.js.map +1 -0
  7. package/build/AlphabeticalList/AlphabeticalList.types.js +2 -0
  8. package/build/AlphabeticalList/AlphabeticalList.types.js.map +1 -0
  9. package/build/AutoSave/Select/AutoSave.types.js +2 -0
  10. package/build/AutoSave/Select/AutoSave.types.js.map +1 -0
  11. package/build/AutoSave/Select/index.js +31 -0
  12. package/build/AutoSave/Select/index.js.map +1 -0
  13. package/build/AutoSave/Text/AutoSave.types.js +2 -0
  14. package/build/AutoSave/Text/AutoSave.types.js.map +1 -0
  15. package/build/AutoSave/Text/index.js +140 -0
  16. package/build/AutoSave/Text/index.js.map +1 -0
  17. package/build/Breadcrumbs/Breadcrumbs.js +126 -0
  18. package/build/Breadcrumbs/Breadcrumbs.js.map +1 -0
  19. package/build/Breadcrumbs/Breadcrumbs.types.js +2 -0
  20. package/build/Breadcrumbs/Breadcrumbs.types.js.map +1 -0
  21. package/build/Button/Button.js +54 -0
  22. package/build/Button/Button.js.map +1 -0
  23. package/build/Button/Button.types.d.ts +1 -1
  24. package/build/Button/Button.types.js +2 -0
  25. package/build/Button/Button.types.js.map +1 -0
  26. package/build/ButtonWithConfirm/ButtonWithConfirm.js +63 -0
  27. package/build/ButtonWithConfirm/ButtonWithConfirm.js.map +1 -0
  28. package/build/ButtonWithConfirm/ButtonWithConfirm.types.js +2 -0
  29. package/build/ButtonWithConfirm/ButtonWithConfirm.types.js.map +1 -0
  30. package/build/ContentBox/ContentBox.js +21 -0
  31. package/build/ContentBox/ContentBox.js.map +1 -0
  32. package/build/ContentBox/ContentBox.types.js +2 -0
  33. package/build/ContentBox/ContentBox.types.js.map +1 -0
  34. package/build/ContentLabel/ContentLabel.js +10 -0
  35. package/build/ContentLabel/ContentLabel.js.map +1 -0
  36. package/build/ContentLabel/ContentLabel.types.js +2 -0
  37. package/build/ContentLabel/ContentLabel.types.js.map +1 -0
  38. package/build/DatePicker/DatePicker.js +38 -0
  39. package/build/DatePicker/DatePicker.js.map +1 -0
  40. package/build/DatePicker/DatePicker.types.js +2 -0
  41. package/build/DatePicker/DatePicker.types.js.map +1 -0
  42. package/build/EditableTable/Caret.js +17 -0
  43. package/build/EditableTable/Caret.js.map +1 -0
  44. package/build/EditableTable/EditableTable.js +475 -0
  45. package/build/EditableTable/EditableTable.js.map +1 -0
  46. package/build/EditableTable/EditableTable.types.js +2 -0
  47. package/build/EditableTable/EditableTable.types.js.map +1 -0
  48. package/build/EditableTable/components/TableCheckbox.js +8 -0
  49. package/build/EditableTable/components/TableCheckbox.js.map +1 -0
  50. package/build/EditableTable/components/TableDateInput.js +20 -0
  51. package/build/EditableTable/components/TableDateInput.js.map +1 -0
  52. package/build/EditableTable/components/TableTextInput.js +90 -0
  53. package/build/EditableTable/components/TableTextInput.js.map +1 -0
  54. package/build/EditableTable/components/utils/getTextWidth.js +58 -0
  55. package/build/EditableTable/components/utils/getTextWidth.js.map +1 -0
  56. package/build/EditableTable/defaultCells.js +118 -0
  57. package/build/EditableTable/defaultCells.js.map +1 -0
  58. package/build/EditableTable/defaultCompare.js +31 -0
  59. package/build/EditableTable/defaultCompare.js.map +1 -0
  60. package/build/EntityList/EntityList.js +53 -0
  61. package/build/EntityList/EntityList.js.map +1 -0
  62. package/build/EntityList/EntityList.types.js +2 -0
  63. package/build/EntityList/EntityList.types.js.map +1 -0
  64. package/build/ErrorIndicator/ErrorIndicator.js +22 -0
  65. package/build/ErrorIndicator/ErrorIndicator.js.map +1 -0
  66. package/build/ErrorIndicator/ErrorIndicator.types.js +2 -0
  67. package/build/ErrorIndicator/ErrorIndicator.types.js.map +1 -0
  68. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.js +293 -0
  69. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.js.map +1 -0
  70. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.types.js +2 -0
  71. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.types.js.map +1 -0
  72. package/build/KeyboardDatePicker/KeyboardDatePicker.js +38 -0
  73. package/build/KeyboardDatePicker/KeyboardDatePicker.js.map +1 -0
  74. package/build/KeyboardDatePicker/KeyboardDatePicker.types.js +2 -0
  75. package/build/KeyboardDatePicker/KeyboardDatePicker.types.js.map +1 -0
  76. package/build/LeftNavigation/LeftNavigation.js +47 -0
  77. package/build/LeftNavigation/LeftNavigation.js.map +1 -0
  78. package/build/LeftNavigation/LeftNavigation.types.js +2 -0
  79. package/build/LeftNavigation/LeftNavigation.types.js.map +1 -0
  80. package/build/LeftNavigation/NavListItem.js +122 -0
  81. package/build/LeftNavigation/NavListItem.js.map +1 -0
  82. package/build/LeftNavigation/PrimaryLeftNavigation.js +108 -0
  83. package/build/LeftNavigation/PrimaryLeftNavigation.js.map +1 -0
  84. package/build/LeftNavigation/SecondaryLeftNavigation.js +89 -0
  85. package/build/LeftNavigation/SecondaryLeftNavigation.js.map +1 -0
  86. package/build/LoadingSpinner/LoadingSpinner.js +21 -0
  87. package/build/LoadingSpinner/LoadingSpinner.js.map +1 -0
  88. package/build/LoadingSpinner/LoadingSpinner.types.js +2 -0
  89. package/build/LoadingSpinner/LoadingSpinner.types.js.map +1 -0
  90. package/build/MainLayout/MainLayout.js +46 -0
  91. package/build/MainLayout/MainLayout.js.map +1 -0
  92. package/build/MainLayout/MainLayout.types.js +2 -0
  93. package/build/MainLayout/MainLayout.types.js.map +1 -0
  94. package/build/MobileDatePicker/MobileDatePicker.js +38 -0
  95. package/build/MobileDatePicker/MobileDatePicker.js.map +1 -0
  96. package/build/MobileDatePicker/MobileDatePicker.types.js +2 -0
  97. package/build/MobileDatePicker/MobileDatePicker.types.js.map +1 -0
  98. package/build/NavbarLayout/Navbar.js +101 -0
  99. package/build/NavbarLayout/Navbar.js.map +1 -0
  100. package/build/NavbarLayout/NavbarLayout.js +52 -0
  101. package/build/NavbarLayout/NavbarLayout.js.map +1 -0
  102. package/build/NavbarLayout/constants.d.ts +1 -0
  103. package/build/NavbarLayout/index.js +2 -0
  104. package/build/NavbarLayout/index.js.map +1 -0
  105. package/build/SearchBar/SearchBar.js +75 -0
  106. package/build/SearchBar/SearchBar.js.map +1 -0
  107. package/build/SearchBar/SearchBar.types.js +2 -0
  108. package/build/SearchBar/SearchBar.types.js.map +1 -0
  109. package/build/Select/Select.js +140 -0
  110. package/build/Select/Select.js.map +1 -0
  111. package/build/Select/Select.types.js +2 -0
  112. package/build/Select/Select.types.js.map +1 -0
  113. package/build/StaticTable/StaticTable.js +147 -0
  114. package/build/StaticTable/StaticTable.js.map +1 -0
  115. package/build/StaticTable/StaticTable.types.js +2 -0
  116. package/build/StaticTable/StaticTable.types.js.map +1 -0
  117. package/build/SvgComponents/ContainedPartnersLogo.js +8 -0
  118. package/build/SvgComponents/ContainedPartnersLogo.js.map +1 -0
  119. package/build/SvgComponents/HomeSvg.js +8 -0
  120. package/build/SvgComponents/HomeSvg.js.map +1 -0
  121. package/build/SvgComponents/NovelLogoSvg.js +8 -0
  122. package/build/SvgComponents/NovelLogoSvg.js.map +1 -0
  123. package/build/SvgComponents/OrganisationList.js +8 -0
  124. package/build/SvgComponents/OrganisationList.js.map +1 -0
  125. package/build/SvgComponents/ProjectsSvg.js +8 -0
  126. package/build/SvgComponents/ProjectsSvg.js.map +1 -0
  127. package/build/SvgComponents/index.js +6 -0
  128. package/build/SvgComponents/index.js.map +1 -0
  129. package/build/SvgComponents/types.js +2 -0
  130. package/build/SvgComponents/types.js.map +1 -0
  131. package/build/TextField/TextField.js +67 -0
  132. package/build/TextField/TextField.js.map +1 -0
  133. package/build/TextField/TextField.types.js +2 -0
  134. package/build/TextField/TextField.types.js.map +1 -0
  135. package/build/ThemeProvider/index.d.ts +5 -0
  136. package/build/Tooltip/OptionalTooltip.js +11 -0
  137. package/build/Tooltip/OptionalTooltip.js.map +1 -0
  138. package/build/Tooltip/index.js +2 -0
  139. package/build/Tooltip/index.js.map +1 -0
  140. package/build/globals/index.js +28 -0
  141. package/build/globals/index.js.map +1 -0
  142. package/build/hooks/index.js +4 -0
  143. package/build/hooks/index.js.map +1 -0
  144. package/build/hooks/useDebounceEffect.js +12 -0
  145. package/build/hooks/useDebounceEffect.js.map +1 -0
  146. package/build/hooks/useInterval.js +19 -0
  147. package/build/hooks/useInterval.js.map +1 -0
  148. package/build/hooks/useWhyDidYouUpdate.js +43 -0
  149. package/build/hooks/useWhyDidYouUpdate.js.map +1 -0
  150. package/build/index.js +1 -1
  151. package/build/index.js.map +1 -1
  152. package/build/styles/colours.js +4 -0
  153. package/build/styles/colours.js.map +1 -0
  154. package/build/styles/font.js +19 -0
  155. package/build/styles/font.js.map +1 -0
  156. package/build/styles/index.js +4 -0
  157. package/build/styles/index.js.map +1 -0
  158. package/build/styles/layout.js +85 -0
  159. package/build/styles/layout.js.map +1 -0
  160. package/build/styles/spacing.js +50 -0
  161. package/build/styles/spacing.js.map +1 -0
  162. package/build/styles/themes.js +56 -0
  163. package/build/styles/themes.js.map +1 -0
  164. package/build/utils/index.js +14 -0
  165. package/build/utils/index.js.map +1 -0
  166. package/package.json +1 -1
  167. package/build/stories/Button.d.ts +0 -28
  168. package/build/stories/Button.stories.d.ts +0 -10
  169. package/build/stories/Header.d.ts +0 -12
  170. package/build/stories/Header.stories.d.ts +0 -8
  171. package/build/stories/Page.d.ts +0 -3
  172. package/build/stories/Page.stories.d.ts +0 -8
  173. package/build/style.css +0 -1
@@ -0,0 +1,475 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __rest = (this && this.__rest) || function (s, e) {
49
+ var t = {};
50
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
+ t[p] = s[p];
52
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
+ t[p[i]] = s[p[i]];
56
+ }
57
+ return t;
58
+ };
59
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
60
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
61
+ if (ar || !(i in from)) {
62
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
63
+ ar[i] = from[i];
64
+ }
65
+ }
66
+ return to.concat(ar || Array.prototype.slice.call(from));
67
+ };
68
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
69
+ /**
70
+ * V7 docs are not officially hosted anywhere anymore for react table v7
71
+ * it took a while but found someone self hosting them https://react-table-v7-docs.netlify.app/docs/api/useTable#column-options
72
+ */
73
+ import React, { forwardRef, Fragment, memo, useCallback, useEffect, useImperativeHandle, useState, } from "react";
74
+ import { useTable, useRowSelect, useFilters, usePagination, useGlobalFilter, useAsyncDebounce, } from "react-table";
75
+ import { Table as MUITable, Typography, Box, Tooltip, InputBase } from "@mui/material";
76
+ import makeStyles from "@mui/styles/makeStyles";
77
+ import SearchIcon from "@mui/icons-material/Search";
78
+ import { EDITED_STATUS, NEW_STATUS } from "../globals";
79
+ import { tableTextField } from "./defaultCells";
80
+ import { didCellValueChange } from "../utils";
81
+ import LoadingSpinner from "../LoadingSpinner/LoadingSpinner";
82
+ import { Pagination } from "@mui/material";
83
+ import { TableCheckbox } from "./components/TableCheckbox";
84
+ import * as classes from "./EditableTable.css" with { type: "css" };
85
+ import { useSpacingStyles } from "../styles";
86
+ import { NumericFormat } from "react-number-format";
87
+ import { defaultCompare } from "./defaultCompare";
88
+ import { Caret } from "./Caret";
89
+ var EditableCell = function (_a) {
90
+ var _b = _a.value, initialValue = _b === void 0 ? "" : _b, _c = _a.row, index = _c.index, values = _c.values, original = _c.original, id = _a.column.id, syncCellWithState = _a.syncCellWithState, setRows = _a.setRows, fieldConfig = _a.fieldConfig, disabled = _a.disabled;
91
+ var _d = fieldConfig[id], validationRule = _d.validationRule, dependentValidationRule = _d.dependentValidationRule, isCheckbox = _d.isCheckbox, isDateField = _d.isDateField, customRenderFn = _d.customRenderFn, prefix = _d.prefix, suffix = _d.suffix, textAlign = _d.textAlign, configOnBlur = _d.onBlur, onChangeValueModifier = _d.onChangeValueModifier, getCalculatedValue = _d.getCalculatedValue;
92
+ var _e = useState(false), error = _e[0], setError = _e[1];
93
+ // We need to keep and update the state of the cell normally
94
+ var _f = useState(initialValue), value = _f[0], setValue = _f[1];
95
+ var checkbox = isCheckbox;
96
+ var validateValue = function (value) {
97
+ var returnValue = false;
98
+ if (validationRule) {
99
+ try {
100
+ validationRule.validateSync(value);
101
+ if (error)
102
+ setError(false);
103
+ }
104
+ catch (e) {
105
+ returnValue = true;
106
+ if (error !== e.message) {
107
+ setError(e.message);
108
+ }
109
+ }
110
+ }
111
+ if (dependentValidationRule) {
112
+ try {
113
+ dependentValidationRule(values).validateSync(value);
114
+ if (error)
115
+ setError(false);
116
+ }
117
+ catch (e) {
118
+ returnValue = true;
119
+ if (error !== e.message) {
120
+ setError(e.message);
121
+ }
122
+ }
123
+ }
124
+ return returnValue;
125
+ };
126
+ // We'll only update the external data when the input is blurred
127
+ var onBlur = function (fieldValue, dateFieldError) { return __awaiter(void 0, void 0, void 0, function () {
128
+ return __generator(this, function (_a) {
129
+ switch (_a.label) {
130
+ case 0:
131
+ if (checkbox) {
132
+ syncCellWithState(index, id, fieldValue, false);
133
+ }
134
+ else if (isDateField) {
135
+ syncCellWithState(index, id, fieldValue, !!dateFieldError);
136
+ }
137
+ else {
138
+ syncCellWithState(index, id, value, !!error, false, original);
139
+ }
140
+ if (!(configOnBlur &&
141
+ setRows &&
142
+ !error &&
143
+ !didCellValueChange(values[id], value, isDateField))) return [3 /*break*/, 2];
144
+ return [4 /*yield*/, configOnBlur({
145
+ rowIndex: index,
146
+ value: value,
147
+ setRows: setRows,
148
+ values: original,
149
+ })];
150
+ case 1:
151
+ _a.sent();
152
+ _a.label = 2;
153
+ case 2: return [2 /*return*/];
154
+ }
155
+ });
156
+ }); };
157
+ var onChange = function (e) {
158
+ var event;
159
+ if (isDateField) {
160
+ event = e;
161
+ var adjustedDateValue = onChangeValueModifier
162
+ ? onChangeValueModifier(event)
163
+ : event;
164
+ setValue(adjustedDateValue);
165
+ var dateValidity = validateValue(adjustedDateValue);
166
+ onBlur(adjustedDateValue, dateValidity);
167
+ return;
168
+ }
169
+ event = e;
170
+ var eventValue = checkbox ? event.target.checked : event.target.value;
171
+ if (checkbox) {
172
+ setValue(eventValue);
173
+ onBlur(eventValue);
174
+ }
175
+ else {
176
+ setValue(eventValue);
177
+ validateValue(eventValue);
178
+ }
179
+ };
180
+ // If the initialValue is changed external, sync it up with our state
181
+ useEffect(function () {
182
+ setValue(initialValue);
183
+ var errorStatus = validateValue(initialValue);
184
+ if (error !== errorStatus) {
185
+ syncCellWithState(index, id, initialValue, errorStatus, true);
186
+ }
187
+ // eslint-disable-next-line react-hooks/exhaustive-deps
188
+ }, [initialValue]);
189
+ useEffect(function () {
190
+ if (original.errors && !!original.errors[id] !== !!error) {
191
+ validateValue(initialValue);
192
+ }
193
+ // eslint-disable-next-line react-hooks/exhaustive-deps
194
+ }, [original.errors]);
195
+ // {original} is the row object that is passed into <EditableTable />
196
+ // {getCalculatedValue} can use data in the row object, but not in other rows
197
+ var valueToRender = getCalculatedValue ? getCalculatedValue(original) : value;
198
+ var renderFnProps = {
199
+ value: valueToRender,
200
+ values: values,
201
+ disabled: getCalculatedValue || disabled || original.disabledRow,
202
+ error: error,
203
+ onChange: onChange,
204
+ onBlur: onBlur,
205
+ prefix: prefix,
206
+ suffix: suffix,
207
+ textAlign: textAlign,
208
+ originalValues: original,
209
+ validateValue: validateValue,
210
+ };
211
+ if (customRenderFn) {
212
+ return customRenderFn(renderFnProps);
213
+ }
214
+ else
215
+ return tableTextField(renderFnProps);
216
+ };
217
+ var TableRowContents = forwardRef(function (_a, ref) {
218
+ var row = _a.row, disabled = _a.disabled, includeRowSelect = _a.includeRowSelect, rowProps = __rest(_a, ["row", "disabled", "includeRowSelect"]);
219
+ return (_jsx("tr", __assign({}, rowProps, { ref: ref, className: "".concat(row.original.rowStatus === NEW_STATUS ? classes.newRowHighlight : "", " ").concat(row.original.rowStatus === EDITED_STATUS ? classes.editedBorder : "", "\n").concat(Object.values(row.original.errors || {}).includes(true) ? classes.errorBorder : "", " ").concat(row.original.disabledRow || disabled ? classes.disabled : "", "\n ").concat(classes.rowHoverForStickyCell, " ").concat(classes.tableRow), children: row.cells.map(function (cell, n) {
220
+ var _a = cell.getCellProps(), key = _a.key, cellProps = __rest(_a, ["key"]);
221
+ return (_jsx("td", __assign({}, cellProps, { "data-align": cell.column.textAlign || "center", style: {
222
+ textAlign: cell.column.textAlign || "center",
223
+ }, className: "".concat(classes.tableCell, " ").concat(cell.row.original.rowStatus === EDITED_STATUS &&
224
+ cell.row.original.edited[cell.column.id]
225
+ ? classes.editedCellHighlight
226
+ : "", " ").concat(classes.cellPadding, "\n ").concat(cell.column.shadedHeaderGroup
227
+ ? "".concat(classes.shadedBody2CellsInsideGroup, " shadedBody2CellsInsideGroup")
228
+ : "", "\n ").concat(cell.column.shadedHeader ? "".concat(classes.shadedBodyCell, " shadedBodyCell") : "", "\n ").concat(cell.column.stickyCell
229
+ ? "".concat(classes.offsetStickyPosition, " ").concat(classes.rowCellColour, " stickyRowCell")
230
+ : "", "\n "), padding: includeRowSelect && n === 0 ? "checkbox" : "normal", children: cell.render("Cell") }), key));
231
+ }) }), row.original.rowKey || row.getRowProps().key));
232
+ });
233
+ // emptyRows is needed for when incoming data is null (loading state).
234
+ // useTable requires memoised row data to be defined at all times.
235
+ var emptyRows = [];
236
+ var EditableTable = forwardRef(function (_a, ref) {
237
+ var tableRows = _a.tableRows, tableHeaders = _a.tableHeaders, syncCellWithState = _a.syncCellWithState, _b = _a.setRows, setRows = _b === void 0 ? undefined : _b, _c = _a.skipPageReset, skipPageReset = _c === void 0 ? false : _c, fieldConfig = _a.fieldConfig, _d = _a.disabled, disabled = _d === void 0 ? false : _d, setSelectedRows = _a.setSelectedRows, _e = _a.includeRowSelect, includeRowSelect = _e === void 0 ? true : _e, filterData = _a.filterData, filterTypes = _a.filterTypes, _f = _a.emptyTableText, emptyTableText = _f === void 0 ? "Table is empty" : _f, _g = _a.paginate, paginate = _g === void 0 ? false : _g, _h = _a.defaultPageSize, defaultPageSize = _h === void 0 ? 50 : _h, virtContainerStyling = _a.virtContainerStyling, includeGlobalSearch = _a.includeGlobalSearch, disableHeaderSelect = _a.disableHeaderSelect, defaultSortMeta = _a.defaultSortMeta;
238
+ var parentRef = React.useRef(null);
239
+ // Set our editable cell renderer as the default Cell renderer
240
+ var defaultColumn = React.useMemo(function () { return ({
241
+ Cell: EditableCell,
242
+ }); }, []);
243
+ var _j = useTable({
244
+ //@ts-ignore FIX REQUIRED inconsistent typing the docs allow for an accessor function but this hook definition doesnt
245
+ columns: tableHeaders,
246
+ data: tableRows || emptyRows,
247
+ // @ts-ignore FIX REQUIRED inconsistent typing
248
+ defaultColumn: defaultColumn, // custom cell renderer, that we defined above
249
+ autoResetPage: paginate ? !skipPageReset : false, // value that is used internally to control page number resets
250
+ filterTypes: filterTypes, // fileting config for useFilters hook
251
+ initialState: { pageSize: paginate ? defaultPageSize : undefined }, // setting up initial state for
252
+ // below are custom methods and variables that will be supplied to EditableCell
253
+ syncCellWithState: syncCellWithState, // state function used that controls the state of table
254
+ setRows: setRows, // similar to syncCellWithState but you can manipulate whole state
255
+ fieldConfig: fieldConfig, //configuration for each of the cells
256
+ disabled: disabled,
257
+ autoResetGlobalFilter: false,
258
+ }, useFilters, // plugging in useFilters hook
259
+ useGlobalFilter, // plugging in useGlobalFilters hook
260
+ usePagination, // plugging in usePagination hook
261
+ useRowSelect, // plugging in useRowSelect hook
262
+ function (hooks) {
263
+ if (includeRowSelect) {
264
+ hooks.visibleColumns.push(function (columns) { return __spreadArray([
265
+ // Let's make a column for selection
266
+ {
267
+ id: "selection",
268
+ // The header can use the table's getToggleAllRowsSelectedProps method
269
+ // to render a checkbox
270
+ // @ts-ignore FIX REQUIRED inconsistent typing
271
+ Header: function (_a) {
272
+ var getToggleAllRowsSelectedProps = _a.getToggleAllRowsSelectedProps, getToggleAllPageRowsSelectedProps = _a.getToggleAllPageRowsSelectedProps;
273
+ if (disableHeaderSelect)
274
+ return "Select";
275
+ var props = paginate
276
+ ? getToggleAllPageRowsSelectedProps()
277
+ : getToggleAllRowsSelectedProps();
278
+ return (_jsx(TableCheckbox, { value: props.checked, onChange: props.onChange, disabled: disabled }));
279
+ },
280
+ // The cell can use the individual row's getToggleRowSelectedProps method
281
+ // to the render a checkbox
282
+ Cell: function (_a) {
283
+ var row = _a.row;
284
+ var props = row.getToggleRowSelectedProps();
285
+ return (_jsx(TableCheckbox, { value: props.checked, onChange: props.onChange, disabled: disabled || row.original.disableSelection }));
286
+ },
287
+ }
288
+ ], columns, true); });
289
+ }
290
+ }), getTableProps = _j.getTableProps, // props to use in table, supplied by react-table
291
+ getTableBodyProps = _j.getTableBodyProps, // props to use in table, supplied by react-table
292
+ headerGroups = _j.headerGroups, // headers enriched with methods by react-table
293
+ rows = _j.rows, // rows enriched with methods by react-table
294
+ page = _j.page, // selected slice of data subset of rows. Visible paginated data
295
+ prepareRow = _j.prepareRow, // row optimisation function that must be called when rendering rows
296
+ _k = _j.state, selectedRowIds = _k.selectedRowIds, pageIndex = _k.pageIndex, // ids of selected rows and page index from internal table state
297
+ state = _j.state, setFilter = _j.setFilter, // manipulate filter criteria
298
+ pageCount = _j.pageCount, gotoPage = _j.gotoPage, preGlobalFilteredRows = _j.preGlobalFilteredRows, setGlobalFilter = _j.setGlobalFilter, isAllRowsSelected = _j.isAllRowsSelected, // used only to induce re-render in the header and update checkbox state
299
+ selectedFlatRows = _j.selectedFlatRows;
300
+ var _l = useState(defaultSortMeta !== null && defaultSortMeta !== void 0 ? defaultSortMeta : null), sortMeta = _l[0], setSortMeta = _l[1];
301
+ var rowsToSort = paginate ? page : rows;
302
+ var rowsToRender = sortMeta ? rowsToSort.toSorted(function (a, b) {
303
+ var _a;
304
+ var config = fieldConfig[sortMeta.sortingColumnId];
305
+ var multiplier = sortMeta.asc ? 1 : -1;
306
+ var aVal = a.original[sortMeta.sortingColumnId];
307
+ var bVal = b.original[sortMeta.sortingColumnId];
308
+ if (config.getCalculatedValue) {
309
+ aVal = config.getCalculatedValue(a.original);
310
+ bVal = config.getCalculatedValue(b.original);
311
+ }
312
+ var compareFn = (_a = config.sortCompareFn) !== null && _a !== void 0 ? _a : defaultCompare;
313
+ return compareFn(aVal, bVal) * multiplier;
314
+ }) : rowsToSort;
315
+ var handlePageChange = useCallback(function (event, value) {
316
+ gotoPage(value - 1);
317
+ },
318
+ // eslint-disable-next-line react-hooks/exhaustive-deps
319
+ []);
320
+ // provide the data to filter on, if filter types is not present the default filter will be used
321
+ useEffect(function () {
322
+ if (filterData) {
323
+ setFilter(filterData.filterRow, filterData.filterValues);
324
+ }
325
+ // eslint-disable-next-line react-hooks/exhaustive-deps
326
+ }, [filterData]);
327
+ useEffect(function () {
328
+ if (setSelectedRows) {
329
+ setSelectedRows(Object.keys(selectedRowIds).map(function (id) { return +id; }));
330
+ }
331
+ // eslint-disable-next-line react-hooks/exhaustive-deps
332
+ }, [selectedRowIds]);
333
+ useImperativeHandle(ref, function () { return ({
334
+ setValue: function (rowIndex, columnId, value) {
335
+ var row = rows[rowIndex];
336
+ syncCellWithState(rowIndex, columnId, value, false, true);
337
+ setRows === null || setRows === void 0 ? void 0 : setRows(function (old) {
338
+ var _a;
339
+ if (!old) {
340
+ return null;
341
+ }
342
+ // Preserve row order
343
+ var newRow = __assign(__assign({}, old[rowIndex]), (_a = {}, _a[columnId] = value, _a));
344
+ var newRows = __spreadArray([], old, true);
345
+ newRows[rowIndex] = newRow;
346
+ return newRows;
347
+ });
348
+ prepareRow(row);
349
+ },
350
+ rows: rows,
351
+ }); }, [syncCellWithState, setRows, prepareRow, rows]);
352
+ return (_jsxs(_Fragment, { children: [includeGlobalSearch ? (_jsx(GlobalSearch, { preGlobalFilteredRows: preGlobalFilteredRows, globalFilter: state.globalFilter, setGlobalFilter: setGlobalFilter })) : null, _jsx("div", { ref: parentRef, className: virtContainerStyling || classes.virtualisationContainer, children: _jsx(TableContent, { disabled: disabled, includeRowSelect: includeRowSelect, getTableProps: getTableProps, headerGroups: headerGroups, getTableBodyProps: getTableBodyProps, rowsToRender: rowsToRender, prepareRow: prepareRow, isAllRowsSelected: isAllRowsSelected, selectedFlatRows: selectedFlatRows, fieldConfig: fieldConfig, tableHeaders: tableHeaders, sortMeta: sortMeta, setSortMeta: setSortMeta }) }), tableRows === null ? (_jsx(Box, { className: classes.emptyLoadingPadding, children: _jsx(LoadingSpinner, {}) })) : null, tableRows && !tableRows.length ? (_jsx(Box, { className: "".concat(classes.emptyLoadingPadding, " ").concat(classes.centeredText), children: _jsx(Typography, { variant: "body2", children: emptyTableText }) })) : null, paginate && (tableRows === null || tableRows === void 0 ? void 0 : tableRows.length) ? (_jsx(Pagination, { className: classes.pagination, count: pageCount, page: pageIndex + 1, onChange: handlePageChange, shape: "rounded", showFirstButton: true, showLastButton: true })) : null] }));
353
+ });
354
+ export default EditableTable;
355
+ var useGlobalSearchStyles = makeStyles(function (theme) { return ({
356
+ container: {
357
+ display: "flex",
358
+ justifyContent: "center",
359
+ alignItems: "center",
360
+ border: "1px solid ".concat(theme.palette.grey[600]),
361
+ borderRadius: "8px",
362
+ width: "100%",
363
+ maxWidth: "20rem",
364
+ marginInline: "auto",
365
+ color: theme.palette.grey[600],
366
+ "&:hover": {
367
+ borderColor: theme.palette.grey[800],
368
+ color: theme.palette.grey[800],
369
+ },
370
+ "&:focus-within": {
371
+ borderColor: theme.palette.grey[800],
372
+ color: theme.palette.grey[800],
373
+ },
374
+ },
375
+ input: __assign({ width: "100%", maxWidth: "18rem", color: "inherit" }, theme.typography.body2),
376
+ }); });
377
+ var GlobalSearch = memo(function (_a) {
378
+ var preGlobalFilteredRows = _a.preGlobalFilteredRows, globalFilter = _a.globalFilter, setGlobalFilter = _a.setGlobalFilter;
379
+ var searchClasses = useGlobalSearchStyles();
380
+ var spacingClasses = useSpacingStyles();
381
+ var _b = useState(globalFilter), value = _b[0], setValue = _b[1];
382
+ var onChange = useAsyncDebounce(function (value) {
383
+ setGlobalFilter(value || undefined);
384
+ }, 200);
385
+ var count = preGlobalFilteredRows.length;
386
+ return (_jsxs("div", { className: "".concat(searchClasses.container, " ").concat(spacingClasses.contentBreak), children: [_jsx(SearchIcon, { className: "".concat(spacingClasses.rightSpacer1, " ").concat(spacingClasses.leftSpacer1) }), _jsx(InputBase, { className: "".concat(searchClasses.input), value: value || "", onChange: function (e) {
387
+ setValue(e.target.value);
388
+ onChange(e.target.value);
389
+ }, placeholder: "Search ".concat(count, " records..."), inputProps: { "aria-label": "search" } })] }));
390
+ });
391
+ var TableContent = memo(function (_a) {
392
+ var disabled = _a.disabled, includeRowSelect = _a.includeRowSelect, getTableProps = _a.getTableProps, headerGroups = _a.headerGroups, getTableBodyProps = _a.getTableBodyProps, rowsToRender = _a.rowsToRender, prepareRow = _a.prepareRow, isAllRowsSelected = _a.isAllRowsSelected, selectedFlatRows = _a.selectedFlatRows, fieldConfig = _a.fieldConfig, tableHeaders = _a.tableHeaders, sortMeta = _a.sortMeta, setSortMeta = _a.setSortMeta;
393
+ var shouldShowTotals = rowsToRender.length > 0 &&
394
+ Object.values(fieldConfig).some(function (config) { return config.total; });
395
+ return (_jsxs(MUITable, __assign({}, getTableProps(), { style: {
396
+ borderCollapse: "collapse",
397
+ borderTopLeftRadius: 15,
398
+ borderTopRightRadius: 15,
399
+ }, children: [_jsx(TableHeaderContent, { headerGroups: headerGroups, includeRowSelect: includeRowSelect, isAllRowsSelected: isAllRowsSelected, sortMeta: sortMeta, setSortMeta: setSortMeta, fieldConfig: fieldConfig }), _jsxs("tbody", __assign({}, getTableBodyProps(), { children: [_jsx(TableRows, { disabled: disabled, includeRowSelect: includeRowSelect, rowsToRender: rowsToRender, prepareRow: prepareRow, selectedFlatRows: selectedFlatRows }), shouldShowTotals && (_jsxs("tr", { children: [includeRowSelect && (_jsx("td", { className: classes.tableCellTotalsLabel, children: "Totals" })), Object.values(tableHeaders).map(function (header) {
400
+ var accessor = header.accessor;
401
+ var config = fieldConfig[accessor];
402
+ if (!config.total) {
403
+ return _jsx("td", {}, "totals-".concat(header.accessor));
404
+ }
405
+ var sum = rowsToRender.reduce(function (sum, row) {
406
+ var rowValue = config.getCalculatedValue
407
+ ? config.getCalculatedValue(row.original)
408
+ : row.original[accessor];
409
+ return sum + Number(rowValue);
410
+ }, 0);
411
+ return (_jsx("td", { className: "".concat(classes.tableCell, " ").concat(classes.tableTotalCell), children: _jsxs("div", { className: classes.tableTotalWrapper, children: [config.prefix, _jsx(NumericFormat, { value: sum, thousandSeparator: ",", displayType: "text", decimalScale: 2, fixedDecimalScale: true })] }) }, "totals-".concat(header.accessor)));
412
+ })] }))] }))] })));
413
+ });
414
+ var TableHeaderContent = memo(function (_a) {
415
+ var headerGroups = _a.headerGroups, sortMeta = _a.sortMeta, setSortMeta = _a.setSortMeta, fieldConfig = _a.fieldConfig;
416
+ return (_jsx("thead", { className: "".concat(classes.offsetStickyPosition, " ").concat(classes.stickyHeaderZIndex, " ").concat(classes.headerBorders), children: headerGroups.map(function (headerGroup) {
417
+ var _a = headerGroup.getHeaderGroupProps(), key = _a.key, headerGroupProps = __rest(_a, ["key"]);
418
+ return (_jsx("tr", __assign({}, headerGroupProps, { children: headerGroup.headers.map(function (column, i) {
419
+ var _a, _b, _c;
420
+ var _d = column.getHeaderProps(), key = _d.key, headerProps = __rest(_d, ["key"]);
421
+ return (_jsx("th", __assign({}, headerProps, { style: {
422
+ //@ts-ignore FIX REQUIRED incorrect use of react table props
423
+ textAlign: column.textAlign || "center",
424
+ }, className: "".concat(classes.headerCellColour, " ").concat(classes.tableCell, " ").concat(classes.tableHeadingCell, "\n ").concat(
425
+ //@ts-ignore FIX REQUIRED incorrect use of react table props
426
+ !column.shadedHeaderGroup
427
+ ? ""
428
+ : column.columns
429
+ ? "".concat(classes.shadedHeaderGroupParent, " shadedHeaderGroupParent")
430
+ : column.parent
431
+ ? "".concat(classes.shadedHeaderGroup2Children, " shadedHeaderGroup2Children")
432
+ : "", " ").concat(
433
+ //@ts-ignore FIX REQUIRED incorrect use of react table props
434
+ column.shadedHeader ? "".concat(classes.shadedHeader, " shadedHeader") : "", "\n ").concat(
435
+ //@ts-ignore FIX REQUIRED incorrect use of react table props
436
+ column.stickyCell || ((_a = column.placeholderOf) === null || _a === void 0 ? void 0 : _a.stickyCell)
437
+ ? "".concat(classes.offsetStickyPosition, " ").concat(classes.stickyHeaderZIndex)
438
+ : ""), children: ((_c = (_b = fieldConfig[column.id]) === null || _b === void 0 ? void 0 : _b.canUserSort) !== null && _c !== void 0 ? _c : false) ? (_jsxs("div", { className: classes.sortCaretHeaderWrapper, style:
439
+ // @ts-ignore column.textAlign definitely exists on the type for column at this point is not related to our own ITableHeaders type but instead to something from react-table
440
+ column.textAlign === "center" ? { margin: "auto" } : column.textAlign === "right" ? { marginLeft: "auto" } : {}, children: [column.render("Header"), sortMeta && sortMeta.sortingColumnId === column.id ? (_jsx("div", { className: classes.sortCaret, onClick: function () {
441
+ // Reverse sort direction
442
+ if (sortMeta.asc) {
443
+ setSortMeta({
444
+ sortingColumnId: column.id,
445
+ asc: !sortMeta.asc,
446
+ });
447
+ }
448
+ else {
449
+ setSortMeta(null);
450
+ }
451
+ }, children: _jsx(Caret, { reverse: sortMeta.asc }) })) : (_jsx("div", { className: classes.sortCaret, onClick: function () {
452
+ // Sort by this column
453
+ setSortMeta({
454
+ sortingColumnId: column.id,
455
+ asc: true,
456
+ });
457
+ }, children: _jsx(Caret, { muted: true }) }))] })) : column.render("Header") }), key));
458
+ }) }), key));
459
+ }) }));
460
+ });
461
+ var TableRows = memo(function (_a) {
462
+ var rowsToRender = _a.rowsToRender, prepareRow = _a.prepareRow, disabled = _a.disabled, includeRowSelect = _a.includeRowSelect, selectedFlatRows = _a.selectedFlatRows;
463
+ return (_jsx(_Fragment, { children: rowsToRender.map(function (row) {
464
+ prepareRow(row);
465
+ return (_jsx(Fragment, { children: row.original.disabledRow ? (
466
+ //At the moment disabledRow prop is only passed on xero costs so this check is fine
467
+ // If this changes will need to change the check to be more specific
468
+ _jsx(Tooltip, { title: row.original.tooltipText || "This row is disabled", arrow: true, children: _jsx(TableRowContents, { row: row, disabled: disabled, includeRowSelect: includeRowSelect,
469
+ // @ts-ignore don't think it's used but too scared to delete (commit fa85ec60cca4edabb)
470
+ selectedFlatRows: selectedFlatRows }) })) : (_jsx(TableRowContents, { row: row, disabled: disabled, includeRowSelect: includeRowSelect,
471
+ // @ts-ignore don't think it's used but too scared to delete (commit fa85ec60cca4edabb)
472
+ selectedFlatRows: selectedFlatRows })) }, row.original.rowKey || row.getRowProps().key));
473
+ }) }));
474
+ });
475
+ //# sourceMappingURL=EditableTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditableTable.js","sourceRoot":"","sources":["../../src/EditableTable/EditableTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EditableTable.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditableTable.types.js","sourceRoot":"","sources":["../../src/EditableTable/EditableTable.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as classes from "./TableCheckbox.css" with { type: "css" };
3
+ var noop = function () { };
4
+ export var TableCheckbox = function (_a) {
5
+ var disabled = _a.disabled, value = _a.value, onChange = _a.onChange;
6
+ return (_jsx("label", { className: disabled ? "".concat(classes.label, " ").concat(classes.disabled) : classes.label, children: _jsx("input", { type: "checkbox", disabled: Boolean(disabled), checked: Boolean(value), onChange: onChange !== null && onChange !== void 0 ? onChange : noop, className: classes.checkbox }) }));
7
+ };
8
+ //# sourceMappingURL=TableCheckbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableCheckbox.js","sourceRoot":"","sources":["../../../src/EditableTable/components/TableCheckbox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,CAAC;AAQpE,IAAM,IAAI,GAAG,cAAO,CAAC,CAAC;AAEtB,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,EAAkD;QAAhD,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA;IAA4B,OAAA,CACnF,gBAAO,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAG,OAAO,CAAC,KAAK,cAAI,OAAO,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,YACjF,gBACE,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI,EAC1B,SAAS,EAAE,OAAO,CAAC,QAAQ,GAC3B,GACI,CACT;AAVoF,CAUpF,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as inputClasses from "./Input.css" with { type: "css" };
3
+ import * as errorClasses from "./SmallError.css" with { type: "css" };
4
+ export var TableDateInput = function (_a) {
5
+ var _b;
6
+ var disabled = _a.disabled, value = _a.value, error = _a.error, onChange = _a.onChange;
7
+ // This input can accept Date or string values
8
+ var stringMode = typeof value === "string";
9
+ var stringValue = stringMode ? value : (_b = value === null || value === void 0 ? void 0 : value.toISOString().split("T")[0]) !== null && _b !== void 0 ? _b : "";
10
+ return (_jsxs(_Fragment, { children: [_jsx("input", { type: "date", disabled: disabled, value: stringValue, onChange: function (e) {
11
+ var newValue = e.target.value;
12
+ // Browsers fire events with blank values when you type some numbers
13
+ // Just like with the previous date picker, you can't clear this date
14
+ if (newValue) {
15
+ var outputValue = stringMode ? newValue : new Date(newValue);
16
+ onChange(outputValue);
17
+ }
18
+ }, "data-valid": !error, className: inputClasses.input }), error && (_jsx("div", { children: _jsx("small", { className: errorClasses.error, children: error }) }))] }));
19
+ };
20
+ //# sourceMappingURL=TableDateInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableDateInput.js","sourceRoot":"","sources":["../../../src/EditableTable/components/TableDateInput.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,CAAC;AACjE,OAAO,KAAK,YAAY,MAAM,kBAAkB,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,CAAC;AAStE,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,EAKR;;QAJrB,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,KAAK,WAAA,EACL,QAAQ,cAAA;IAER,8CAA8C;IAC9C,IAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC;IAC7C,IAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAI,EAAE,CAAC;IAElF,OAAO,CACL,8BACE,gBACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,UAAC,CAAC;oBACV,IAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAEhC,oEAAoE;oBACpE,qEAAqE;oBACrE,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAE/D,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC,gBACW,CAAC,KAAK,EAClB,SAAS,EAAE,YAAY,CAAC,KAAK,GAC7B,EACD,KAAK,IAAI,CACR,wBACE,gBAAO,SAAS,EAAE,YAAY,CAAC,KAAK,YAAG,KAAK,GAAS,GACjD,CACP,IACA,CACJ,CAAC;AACJ,CAAC,CAAC"}