asab_webui_components 25.1.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 (103) hide show
  1. package/CHANGELOG.md +295 -0
  2. package/LICENSE +28 -0
  3. package/README.md +3 -0
  4. package/dist/abc/Module.js +20 -0
  5. package/dist/abc/Renderer.js +67 -0
  6. package/dist/abc/Service.js +24 -0
  7. package/dist/components/AdvancedCard/AdvancedCard.js +38 -0
  8. package/dist/components/AdvancedCard/AdvancedCard.jsx +34 -0
  9. package/dist/components/AttentionRequired/AttentionRequiredBadge.js +22 -0
  10. package/dist/components/AttentionRequired/AttentionRequiredBadge.jsx +17 -0
  11. package/dist/components/Authz/ButtonWithAuthz.js +81 -0
  12. package/dist/components/Authz/ControlledSwitchWithAuthz.js +78 -0
  13. package/dist/components/Authz/Credentials.js +217 -0
  14. package/dist/components/Authz/Credentials.scss +7 -0
  15. package/dist/components/Authz/LinkWithAuthz.js +56 -0
  16. package/dist/components/Authz/UncontrolledSwitchWithAuthz.js +79 -0
  17. package/dist/components/Authz/utils/authz.js +38 -0
  18. package/dist/components/Authz/utils/isAuthorized.js +31 -0
  19. package/dist/components/Console/ConsoleCard.js +98 -0
  20. package/dist/components/Console/ConsoleCard.jsx +70 -0
  21. package/dist/components/Console/ConsoleCard.scss +26 -0
  22. package/dist/components/Console/ConsoleContext.js +14 -0
  23. package/dist/components/Console/ConsoleContext.jsx +5 -0
  24. package/dist/components/Console/components/ConsoleModeButton.js +35 -0
  25. package/dist/components/Console/components/ConsoleModeButton.jsx +30 -0
  26. package/dist/components/ContentLoader.js +57 -0
  27. package/dist/components/Context/PubSubContext.js +51 -0
  28. package/dist/components/ControlledSwitch/index.js +33 -0
  29. package/dist/components/ControlledSwitch/switch.scss +82 -0
  30. package/dist/components/DataTable/ActionButton.js +63 -0
  31. package/dist/components/DataTable/Buttons.js +116 -0
  32. package/dist/components/DataTable/CustomDropdownButton.js +49 -0
  33. package/dist/components/DataTable/DataTable.scss +37 -0
  34. package/dist/components/DataTable/LimitDropdown.js +52 -0
  35. package/dist/components/DataTable/Pagination.js +204 -0
  36. package/dist/components/DataTable/Search.js +29 -0
  37. package/dist/components/DataTable/Sort.js +44 -0
  38. package/dist/components/DataTable/Table.js +310 -0
  39. package/dist/components/DataTable/index.js +180 -0
  40. package/dist/components/DataTable2/DataTable2.js +532 -0
  41. package/dist/components/DataTable2/DataTable2.jsx +446 -0
  42. package/dist/components/DataTable2/DataTable2.scss +38 -0
  43. package/dist/components/DataTable2/DataTableContext.js +401 -0
  44. package/dist/components/DataTable2/DataTableContext.jsx +338 -0
  45. package/dist/components/DataTable2/components/filters/DataTableAdvFilter2.scss +20 -0
  46. package/dist/components/DataTable2/components/filters/DataTableAdvFilterMultiValue2.js +80 -0
  47. package/dist/components/DataTable2/components/filters/DataTableAdvFilterMultiValue2.jsx +64 -0
  48. package/dist/components/DataTable2/components/filters/DataTableAdvFilterSingleValue2.js +61 -0
  49. package/dist/components/DataTable2/components/filters/DataTableAdvFilterSingleValue2.jsx +49 -0
  50. package/dist/components/DataTable2/components/filters/DataTableSimpleFilter2.js +38 -0
  51. package/dist/components/DataTable2/components/filters/DataTableSimpleFilter2.jsx +35 -0
  52. package/dist/components/DataTable2/components/filters/index.js +26 -0
  53. package/dist/components/DataTable2/components/filters/index.jsx +3 -0
  54. package/dist/components/DataTable2/components/utils/updateTableLimit.js +37 -0
  55. package/dist/components/DataTable2/components/utils/updateTableLimit.jsx +22 -0
  56. package/dist/components/DateTime/index.js +44 -0
  57. package/dist/components/DateTime/timeToString.js +88 -0
  58. package/dist/components/DateTime/useDateFNSLocale.js +48 -0
  59. package/dist/components/FullscreenButton.js +35 -0
  60. package/dist/components/FullscreenButton.jsx +26 -0
  61. package/dist/components/Humanize/humanizeToString.js +99 -0
  62. package/dist/components/Humanize/index.js +32 -0
  63. package/dist/components/ResultCard/ResultCard.js +24 -0
  64. package/dist/components/ResultCard/ResultCard.scss +9 -0
  65. package/dist/components/Spinner.js +25 -0
  66. package/dist/components/TreeMenu/TreeMenu.js +78 -0
  67. package/dist/components/TreeMenu/TreeMenu.jsx +63 -0
  68. package/dist/components/TreeMenu/TreeMenu.scss +32 -0
  69. package/dist/components/TreeMenu/TreeMenuCard.js +189 -0
  70. package/dist/components/TreeMenu/TreeMenuItem.js +135 -0
  71. package/dist/components/TreeMenu/index.js +41 -0
  72. package/dist/components/TreeMenu/utils/flattenTree.js +54 -0
  73. package/dist/components/TreeMenu/utils/flattenTree.jsx +44 -0
  74. package/dist/components/TreeMenu/utils/formatIntoLeafFolderTree.js +56 -0
  75. package/dist/components/TreeMenu/utils/formatIntoTree.js +67 -0
  76. package/dist/components/TreeMenu/utils/removeTreeContent.js +97 -0
  77. package/dist/components/UncontrolledSwitch/index.js +60 -0
  78. package/dist/index.js +372 -0
  79. package/dist/styles/components/alert.scss +53 -0
  80. package/dist/styles/components/button.scss +104 -0
  81. package/dist/styles/components/card.scss +174 -0
  82. package/dist/styles/components/form.scss +20 -0
  83. package/dist/styles/components/html.scss +16 -0
  84. package/dist/styles/constants/colors.scss +66 -0
  85. package/dist/styles/constants/index.scss +70 -0
  86. package/dist/styles/constants/theme-dark.scss +55 -0
  87. package/dist/styles/constants/theme-light.scss +46 -0
  88. package/dist/styles/constants/theme-print.scss +198 -0
  89. package/dist/styles/index.scss +15 -0
  90. package/dist/utils/ErrorHandler.js +27 -0
  91. package/dist/utils/deepMerge.js +47 -0
  92. package/dist/utils/deepMerge.jsx +33 -0
  93. package/dist/utils/hexToString.js +27 -0
  94. package/dist/utils/isPrivateIP.js +37 -0
  95. package/dist/utils/isValidIP.js +82 -0
  96. package/dist/utils/itemExtensionHandler.js +24 -0
  97. package/dist/utils/localStorage.js +65 -0
  98. package/dist/utils/lookups/isoCodeCountries.js +264 -0
  99. package/dist/utils/monaco/problemMarkers.js +78 -0
  100. package/dist/utils/monaco/problemMarkers.jsx +57 -0
  101. package/dist/utils/removeFileExtension.js +26 -0
  102. package/dist/utils/validateAccess.js +143 -0
  103. package/package.json +43 -0
@@ -0,0 +1,401 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useDataTableContext = exports.DataTableContextProvider = void 0;
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _reactRouterDom = require("react-router-dom");
14
+ var _updateTableLimit = require("./components/utils/updateTableLimit.js");
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
17
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
18
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
21
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ // Create an empty context
25
+ var CreateDataTableContext = /*#__PURE__*/(0, _react.createContext)();
26
+
27
+ // AppContextProvider component to wrap the application and provide the context
28
+ var DataTableContextProvider = exports.DataTableContextProvider = function DataTableContextProvider(_ref) {
29
+ var children = _ref.children,
30
+ disableParams = _ref.disableParams,
31
+ initialLimit = _ref.initialLimit;
32
+ var defaultParams = {
33
+ p: 1,
34
+ i: initialLimit
35
+ };
36
+ var _useSearchParams = (0, _reactRouterDom.useSearchParams)(defaultParams),
37
+ _useSearchParams2 = (0, _slicedToArray2["default"])(_useSearchParams, 2),
38
+ searchParams = _useSearchParams2[0],
39
+ setSearchParams = _useSearchParams2[1];
40
+ var _useState = (0, _react.useState)(defaultParams),
41
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
42
+ stateParams = _useState2[0],
43
+ setStateParams = _useState2[1];
44
+ var filterFieldsRef = (0, _react.useRef)({}); // Ref to store filter fields persistently without triggering re-renders.
45
+
46
+ // Method to get param with option to set up splitting method used for searchParams
47
+ var getParam = function getParam(param) {
48
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
49
+ if (!disableParams) {
50
+ if (param === 'i' || param === 'p') {
51
+ return _parseParam(searchParams.get(param));
52
+ } else {
53
+ var _options$splitBy = options.splitBy,
54
+ splitBy = _options$splitBy === void 0 ? undefined : _options$splitBy;
55
+ var result = searchParams.get(param);
56
+ return splitBy && result ? result.split(splitBy) : result;
57
+ }
58
+ } else {
59
+ if (param === 'i' || param === 'p') {
60
+ return _parseParam(stateParams[param]);
61
+ } else {
62
+ return stateParams[param];
63
+ }
64
+ }
65
+ };
66
+
67
+ // Method to obtain all params available as a JS object
68
+ var getAllParams = function getAllParams() {
69
+ if (!disableParams) {
70
+ return Object.fromEntries(searchParams.entries());
71
+ } else {
72
+ return stateParams;
73
+ }
74
+ };
75
+
76
+ /*
77
+ Method to set params. Params are being set as object { key1: value1, key2: value2 }.
78
+ Optional replace value will replace URL when using searchParams.
79
+ */
80
+ var setParams = function setParams(params) {
81
+ var replace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
82
+ if (!disableParams) {
83
+ setSearchParams(function (searchParams) {
84
+ return _updateSearchParams(searchParams, params);
85
+ }, {
86
+ replace: replace
87
+ });
88
+ } else {
89
+ setStateParams(function (prevState) {
90
+ return _objectSpread(_objectSpread({}, prevState), params);
91
+ });
92
+ }
93
+ };
94
+
95
+ // Method to remove param
96
+ var removeParam = function removeParam(param) {
97
+ if (!disableParams) {
98
+ setSearchParams(function (prevSearchParams) {
99
+ var updatedParams = new URLSearchParams(prevSearchParams);
100
+ updatedParams["delete"](param);
101
+ return updatedParams;
102
+ });
103
+ } else {
104
+ // Use destructuring to remove the desired key-value pair
105
+ setStateParams(function (prevState) {
106
+ var _ = prevState[param],
107
+ rest = (0, _objectWithoutProperties2["default"])(prevState, [param].map(_toPropertyKey));
108
+ return rest;
109
+ });
110
+ }
111
+ };
112
+
113
+ /*
114
+ Particular DataTable2 methods out of adding, retrieving and removing scope
115
+ */
116
+
117
+ // Method to update advanced single value filter
118
+ var updateSingleValueFilter = function updateSingleValueFilter(field, value) {
119
+ // Add/replace value
120
+ if (!disableParams) {
121
+ var updatedSearchParams = new URLSearchParams();
122
+ searchParams.forEach(function (value, key) {
123
+ if (!key.startsWith("a".concat(field))) {
124
+ updatedSearchParams.append(key, value);
125
+ }
126
+ });
127
+ (0, _updateTableLimit.updateLimit)("decrease", updatedSearchParams);
128
+ updatedSearchParams.set("p", 1);
129
+ updatedSearchParams.append("a".concat(field), value);
130
+ setSearchParams(updatedSearchParams);
131
+ } else {
132
+ setStateParams(function (prevState) {
133
+ // Add/replace value for non-advanced sorting
134
+ var updatedState = {};
135
+ Object.keys(prevState).forEach(function (key) {
136
+ if (!key.startsWith("a".concat(field))) {
137
+ updatedState[key] = prevState[key];
138
+ }
139
+ });
140
+ (0, _updateTableLimit.updateStateLimit)("decrease", updatedState);
141
+ updatedState['p'] = 1;
142
+ updatedState["a".concat(field)] = [value];
143
+ return updatedState;
144
+ });
145
+ }
146
+ };
147
+
148
+ // Method to update advanced multi value filter
149
+ var updateMultiValueFilter = function updateMultiValueFilter(field, value) {
150
+ var valuesToUpdate = getParam("a".concat(field), {
151
+ splitBy: ','
152
+ });
153
+ if (valuesToUpdate) {
154
+ if (valuesToUpdate.includes(value) == true) {
155
+ valuesToUpdate = valuesToUpdate.filter(function (item) {
156
+ return item != value;
157
+ });
158
+ } else {
159
+ valuesToUpdate.push(value);
160
+ }
161
+ if (valuesToUpdate && valuesToUpdate.length > 0) {
162
+ if (!disableParams) {
163
+ setSearchParams(function (searchParams) {
164
+ (0, _updateTableLimit.updateLimit)("decrease", searchParams);
165
+ searchParams.set("p", 1);
166
+ searchParams.set("a".concat(field), valuesToUpdate);
167
+ return searchParams;
168
+ });
169
+ } else {
170
+ setStateParams(function (prevState) {
171
+ var updatedState = _objectSpread({}, prevState);
172
+ (0, _updateTableLimit.updateStateLimit)("decrease", updatedState);
173
+ updatedState['p'] = 1;
174
+ updatedState["a".concat(field)] = valuesToUpdate;
175
+ return updatedState;
176
+ });
177
+ }
178
+ } else {
179
+ clearMultiValueFilter(field);
180
+ }
181
+ } else {
182
+ if (!disableParams) {
183
+ setSearchParams(function (searchParams) {
184
+ (0, _updateTableLimit.updateLimit)("decrease", searchParams);
185
+ searchParams.set("p", 1);
186
+ searchParams.set("a".concat(field), value);
187
+ return searchParams;
188
+ });
189
+ } else {
190
+ setStateParams(function (prevState) {
191
+ var updatedState = _objectSpread({}, prevState);
192
+ (0, _updateTableLimit.updateStateLimit)("decrease", updatedState);
193
+ updatedState['p'] = 1;
194
+ updatedState["a".concat(field)] = [value];
195
+ return updatedState;
196
+ });
197
+ }
198
+ }
199
+ };
200
+
201
+ // Method for clearing values in advanced multi value filter
202
+ var clearMultiValueFilter = function clearMultiValueFilter(field) {
203
+ if (!disableParams) {
204
+ setSearchParams(function (prevSearchParams) {
205
+ var updatedParams = new URLSearchParams(prevSearchParams);
206
+ updatedParams["delete"]("a".concat(field));
207
+ (0, _updateTableLimit.updateLimit)("increase", updatedParams);
208
+ updatedParams.set("p", 1);
209
+ return updatedParams;
210
+ });
211
+ } else {
212
+ // Use destructuring to remove the desired key-value pair
213
+ setStateParams(function (prevState) {
214
+ var _ = prevState["a".concat(field)],
215
+ rest = (0, _objectWithoutProperties2["default"])(prevState, ["a".concat(field)]);
216
+ (0, _updateTableLimit.updateStateLimit)("increase", rest);
217
+ rest['p'] = 1;
218
+ return rest;
219
+ });
220
+ }
221
+ };
222
+
223
+ // Method for applying sorting
224
+ var onTriggerSort = function onTriggerSort(event, field, value) {
225
+ if (event.shiftKey) {
226
+ // shift + left mouse click
227
+ if (getParam("s".concat(field)) != null) {
228
+ // Remove field from (advanced) sorting
229
+ removeParam("s".concat(field));
230
+ } else {
231
+ // Add field to advanced sorting
232
+ setParams((0, _defineProperty2["default"])({}, "s".concat(field), value));
233
+ }
234
+ } else if (getParam("s".concat(field)) != null) {
235
+ setParams((0, _defineProperty2["default"])({}, "s".concat(field), value));
236
+ } else {
237
+ if (!disableParams) {
238
+ // Add/replace value for non-advanced sorting
239
+ var updatedSearchParams = new URLSearchParams();
240
+ searchParams.forEach(function (value, key) {
241
+ if (!key.startsWith("s")) {
242
+ updatedSearchParams.append(key, value);
243
+ }
244
+ });
245
+ updatedSearchParams.append("s".concat(field), value);
246
+ setSearchParams(updatedSearchParams);
247
+ } else {
248
+ setStateParams(function (prevState) {
249
+ // Add/replace value for non-advanced sorting
250
+ var updatedState = {};
251
+ Object.keys(prevState).forEach(function (key) {
252
+ if (!key.startsWith("s")) {
253
+ updatedState[key] = prevState[key];
254
+ }
255
+ });
256
+ updatedState["s".concat(field)] = value;
257
+ return updatedState;
258
+ });
259
+ }
260
+ }
261
+ };
262
+
263
+ // Method for removal a single pill from DataTable2
264
+ var removeSinglePill = function removeSinglePill(field) {
265
+ if (!disableParams) {
266
+ setSearchParams(function (prevSearchParams) {
267
+ var updatedParams = new URLSearchParams(prevSearchParams);
268
+ updatedParams["delete"](field);
269
+ (0, _updateTableLimit.updateLimit)("increase", updatedParams);
270
+ updatedParams.set("p", 1);
271
+ return updatedParams;
272
+ });
273
+ } else {
274
+ // Use destructuring to remove the desired key-value pair
275
+ setStateParams(function (prevState) {
276
+ var _ = prevState[field],
277
+ rest = (0, _objectWithoutProperties2["default"])(prevState, [field].map(_toPropertyKey));
278
+ // Update the limit
279
+ (0, _updateTableLimit.updateStateLimit)("increase", rest);
280
+ // Set 'p' to 1 (which is default)
281
+ rest['p'] = 1;
282
+ return rest;
283
+ });
284
+ }
285
+ };
286
+
287
+ // Method for removal a pill when there are more than 1 pills in the DataTable2
288
+ var removeMultiPill = function removeMultiPill(field, value) {
289
+ var valuesToUpdate = getParam(field, {
290
+ splitBy: ','
291
+ });
292
+ valuesToUpdate = valuesToUpdate.filter(function (item) {
293
+ return item != value;
294
+ });
295
+ if (valuesToUpdate && valuesToUpdate.length > 0) {
296
+ setParams((0, _defineProperty2["default"])({
297
+ p: 1
298
+ }, field, valuesToUpdate));
299
+ } else {
300
+ removeSinglePill(field);
301
+ }
302
+ };
303
+
304
+ // Method to serialize parameters for request query
305
+ var serializeParams = function serializeParams() {
306
+ if (!disableParams) {
307
+ // Convert searchParams to JS object
308
+ var paramsObject = {};
309
+ if (searchParams) {
310
+ var _iterator = _createForOfIteratorHelper(searchParams.entries()),
311
+ _step;
312
+ try {
313
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
314
+ var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
315
+ key = _step$value[0],
316
+ value = _step$value[1];
317
+ paramsObject[key] = value;
318
+ }
319
+ } catch (err) {
320
+ _iterator.e(err);
321
+ } finally {
322
+ _iterator.f();
323
+ }
324
+ }
325
+ return paramsObject;
326
+ } else {
327
+ if (stateParams) {
328
+ // Create a new object with the same keys
329
+ var updatedState = _objectSpread({}, stateParams);
330
+ // Iterate over each key in the object
331
+ Object.keys(updatedState).forEach(function (key) {
332
+ // If the value is an array, join it to a comma-separated string
333
+ if (Array.isArray(updatedState[key])) {
334
+ updatedState[key] = updatedState[key].join(',');
335
+ }
336
+ });
337
+ return updatedState;
338
+ }
339
+ }
340
+ };
341
+
342
+ // Method to get the current filter fields based on a given key
343
+ var getFilterField = function getFilterField(key) {
344
+ return filterFieldsRef.current[key];
345
+ };
346
+
347
+ // Method to set filter fields in filterFieldsRef
348
+ var setFilterField = function setFilterField(obj) {
349
+ var fields = Object.entries(obj)[0];
350
+ // Check and only add field if it doesnt exist
351
+ if (!filterFieldsRef.current[fields[0]]) {
352
+ filterFieldsRef.current[fields[0]] = fields[1];
353
+ }
354
+ };
355
+
356
+ // Inner method to update search params
357
+ var _updateSearchParams = function _updateSearchParams(searchParams, params) {
358
+ Object.entries(params).forEach(function (_ref2) {
359
+ var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
360
+ key = _ref3[0],
361
+ value = _ref3[1];
362
+ searchParams.set(key, value);
363
+ });
364
+ return searchParams;
365
+ };
366
+
367
+ // Method to parse the given parameter into an integer with the specified base. The default base is 10
368
+ var _parseParam = function _parseParam(param) {
369
+ var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;
370
+ return parseInt(param, base);
371
+ };
372
+
373
+ // Memoize the context value to avoid unnecessary re-renders
374
+ var paramsContext = (0, _react.useMemo)(function () {
375
+ return {
376
+ getParam: getParam,
377
+ getAllParams: getAllParams,
378
+ setParams: setParams,
379
+ removeParam: removeParam,
380
+ updateSingleValueFilter: updateSingleValueFilter,
381
+ updateMultiValueFilter: updateMultiValueFilter,
382
+ clearMultiValueFilter: clearMultiValueFilter,
383
+ removeSinglePill: removeSinglePill,
384
+ removeMultiPill: removeMultiPill,
385
+ onTriggerSort: onTriggerSort,
386
+ serializeParams: serializeParams,
387
+ getFilterField: getFilterField,
388
+ setFilterField: setFilterField,
389
+ watchParams: {
390
+ searchParams: searchParams,
391
+ stateParams: stateParams
392
+ } // Context value for watching params
393
+ };
394
+ }, [searchParams, stateParams]);
395
+ return /*#__PURE__*/_react["default"].createElement(CreateDataTableContext.Provider, {
396
+ value: paramsContext
397
+ }, children);
398
+ };
399
+ var useDataTableContext = exports.useDataTableContext = function useDataTableContext() {
400
+ return (0, _react.useContext)(CreateDataTableContext);
401
+ };