xmlui 0.10.19 → 0.10.20

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 (109) hide show
  1. package/dist/lib/{apiInterceptorWorker-DPgtUtdA.mjs → apiInterceptorWorker-QiltRtq1.mjs} +1 -1
  2. package/dist/lib/{index-cuh97e2e.mjs → index-Ckhnrf1F.mjs} +848 -615
  3. package/dist/lib/index.css +1 -1
  4. package/dist/{metadata/initMock-C-cnv--V.mjs → lib/initMock-qnCFw6Zc.mjs} +25 -15
  5. package/dist/lib/language-server-web-worker.mjs +1 -1
  6. package/dist/lib/language-server.mjs +1 -1
  7. package/dist/lib/{metadata-utils-CtY0QcvH.mjs → metadata-utils-BTIt1_wE.mjs} +1 -1
  8. package/dist/lib/{server-common-Cine5nRR.mjs → server-common-DYZtsdM7.mjs} +51 -14
  9. package/dist/lib/{transform-bHBjkKSL.mjs → transform-Tooy42EB.mjs} +16 -18
  10. package/dist/lib/xmlui-parser.mjs +2 -2
  11. package/dist/lib/{xmlui-serializer-DB6BLiXK.mjs → xmlui-serializer-uCYa8_tZ.mjs} +1 -1
  12. package/dist/lib/xmlui.d.ts +11 -3
  13. package/dist/lib/xmlui.mjs +2 -2
  14. package/dist/metadata/{apiInterceptorWorker-BmKP8bnq.mjs → apiInterceptorWorker-Dql7QGw2.mjs} +1 -1
  15. package/dist/metadata/{collectedComponentMetadata-Cp-9lpnG.mjs → collectedComponentMetadata-Dg7P-zOz.mjs} +824 -600
  16. package/dist/{lib/initMock-BMxsanHc.mjs → metadata/initMock-ZyyFNOpL.mjs} +25 -15
  17. package/dist/metadata/style.css +1 -1
  18. package/dist/metadata/xmlui-metadata.mjs +1 -1
  19. package/dist/metadata/xmlui-metadata.umd.js +3 -3
  20. package/dist/scripts/package.json +1 -1
  21. package/dist/scripts/src/components/Animation/AnimationNative.js +28 -28
  22. package/dist/scripts/src/components/App/App.spec.js +17 -17
  23. package/dist/scripts/src/components/AppState/AppState.js +3 -2
  24. package/dist/scripts/src/components/AppState/AppState.spec.js +26 -2
  25. package/dist/scripts/src/components/AppState/AppStateNative.js +3 -4
  26. package/dist/scripts/src/components/AutoComplete/AutoComplete.js +15 -10
  27. package/dist/scripts/src/components/AutoComplete/AutoCompleteNative.js +4 -4
  28. package/dist/scripts/src/components/Carousel/Carousel.spec.js +214 -0
  29. package/dist/scripts/src/components/CodeBlock/CodeBlockNative.js +1 -1
  30. package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +2 -0
  31. package/dist/scripts/src/components/ContentSeparator/ContentSeparator.spec.js +193 -0
  32. package/dist/scripts/src/components/DateInput/DateInput.spec.js +6 -6
  33. package/dist/scripts/src/components/DropdownMenu/DropdownMenu.spec.js +3 -3
  34. package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZoneNative.js +4 -13
  35. package/dist/scripts/src/components/Form/Form.spec.js +25 -9
  36. package/dist/scripts/src/components/Form/FormNative.js +7 -4
  37. package/dist/scripts/src/components/FormItem/FormItem.js +3 -1
  38. package/dist/scripts/src/components/FormItem/FormItem.spec.js +5 -14
  39. package/dist/scripts/src/components/FormItem/FormItemNative.js +12 -8
  40. package/dist/scripts/src/components/FormItem/Validations.js +2 -2
  41. package/dist/scripts/src/components/IconRegistryContext.js +1 -1
  42. package/dist/scripts/src/components/List/ListNative.js +2 -2
  43. package/dist/scripts/src/components/ModalDialog/ConfirmationModalContextProvider.js +3 -12
  44. package/dist/scripts/src/components/ModalDialog/ModalDialog.js +2 -2
  45. package/dist/scripts/src/components/ModalDialog/ModalDialogNative.js +6 -3
  46. package/dist/scripts/src/components/NestedApp/AppWithCodeViewNative.js +1 -1
  47. package/dist/scripts/src/components/NestedApp/NestedAppNative.js +3 -3
  48. package/dist/scripts/src/components/NumberBox/NumberBox.spec.js +2 -2
  49. package/dist/scripts/src/components/Pagination/Pagination.spec.js +5 -0
  50. package/dist/scripts/src/components/Pagination/PaginationNative.js +1 -3
  51. package/dist/scripts/src/components/Queue/Queue.spec.js +45 -47
  52. package/dist/scripts/src/components/Queue/QueueNative.js +1 -1
  53. package/dist/scripts/src/components/RadioGroup/RadioGroup.spec.js +5 -5
  54. package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapterNative.js +1 -1
  55. package/dist/scripts/src/components/Select/MultiSelectOption.js +42 -0
  56. package/dist/scripts/src/components/Select/Select.js +3 -3
  57. package/dist/scripts/src/components/Select/SelectContext.js +8 -1
  58. package/dist/scripts/src/components/Select/SelectNative.js +134 -142
  59. package/dist/scripts/src/components/Select/SelectOption.js +34 -0
  60. package/dist/scripts/src/components/Select/SimpleSelect.js +57 -0
  61. package/dist/scripts/src/components/Spinner/Spinner.spec.js +1 -1
  62. package/dist/scripts/src/components/Table/useRowSelection.js +14 -23
  63. package/dist/scripts/src/components/TextArea/TextArea.spec.js +8 -8
  64. package/dist/scripts/src/components/Theme/Theme.js +2 -1
  65. package/dist/scripts/src/components/Theme/Theme.spec.js +266 -0
  66. package/dist/scripts/src/components/Theme/ThemeNative.js +8 -1
  67. package/dist/scripts/src/components/TimeInput/TimeInput.spec.js +3 -3
  68. package/dist/scripts/src/components/Tree/TreeNative.js +9 -11
  69. package/dist/scripts/src/components-core/InspectorContext.js +1 -1
  70. package/dist/scripts/src/components-core/StandaloneApp.js +6 -8
  71. package/dist/scripts/src/components-core/action/FileUploadAction.js +1 -1
  72. package/dist/scripts/src/components-core/behaviors/BehaviorContext.js +50 -0
  73. package/dist/scripts/src/components-core/behaviors/CoreBehaviors.js +6 -1
  74. package/dist/scripts/src/components-core/interception/ApiInterceptor.js +9 -11
  75. package/dist/scripts/src/components-core/interception/ApiInterceptorProvider.js +3 -3
  76. package/dist/scripts/src/components-core/interception/Backend.js +1 -1
  77. package/dist/scripts/src/components-core/interception/IndexedDb.js +64 -66
  78. package/dist/scripts/src/components-core/interception/apiInterceptorWorker.js +2 -2
  79. package/dist/scripts/src/components-core/loader/DataLoader.js +6 -14
  80. package/dist/scripts/src/components-core/loader/Loader.js +11 -11
  81. package/dist/scripts/src/components-core/loader/MockLoaderRenderer.js +4 -2
  82. package/dist/scripts/src/components-core/loader/PageableLoader.js +10 -9
  83. package/dist/scripts/src/components-core/rendering/AppContent.js +1 -7
  84. package/dist/scripts/src/components-core/rendering/ErrorBoundary.js +1 -1
  85. package/dist/scripts/src/components-core/script-runner/bannedFunctions.js +1 -1
  86. package/dist/scripts/src/components-core/script-runner/eval-tree-async.js +180 -186
  87. package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +6 -6
  88. package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +2 -2
  89. package/dist/scripts/src/components-core/utils/actionUtils.js +1 -1
  90. package/dist/scripts/src/components-core/utils/hooks.js +1 -1
  91. package/dist/scripts/src/components-core/utils/misc.js +4 -4
  92. package/dist/scripts/src/components-core/xmlui-parser.js +47 -31
  93. package/dist/scripts/src/language-server/server-common.js +25 -24
  94. package/dist/scripts/src/language-server/services/common/lsp-utils.js +2 -2
  95. package/dist/scripts/src/language-server/services/completion.js +20 -2
  96. package/dist/scripts/src/language-server/services/diagnostic.js +1 -1
  97. package/dist/scripts/src/language-server/services/hover.js +2 -2
  98. package/dist/scripts/src/parsers/common/utils.js +2 -2
  99. package/dist/scripts/src/parsers/scripting/Lexer.js +21 -15
  100. package/dist/scripts/src/parsers/scripting/Parser.js +8 -9
  101. package/dist/scripts/src/parsers/style-parser/StyleLexer.js +22 -22
  102. package/dist/scripts/src/parsers/style-parser/StyleParser.js +70 -68
  103. package/dist/scripts/src/testing/ComponentDrivers.js +20 -39
  104. package/dist/scripts/src/testing/component-test-helpers.js +34 -50
  105. package/dist/scripts/src/testing/fixtures.js +114 -113
  106. package/dist/scripts/src/testing/themed-app-test-helpers.js +7 -13
  107. package/dist/standalone/xmlui-standalone.es.d.ts +11 -3
  108. package/dist/standalone/xmlui-standalone.umd.js +12 -12
  109. package/package.json +1 -1
@@ -217,15 +217,13 @@ class ApiInterceptor {
217
217
  });
218
218
  }
219
219
  executeMockedFetch(url, options) {
220
- return __awaiter(this, void 0, void 0, function* () {
221
- const mockForRequest = this.getMockForRequest(url, options);
222
- if (!mockForRequest) {
223
- throw new Error(`No mock found for request: ${url} with options: ${JSON.stringify(options)}`);
224
- }
225
- const [operationId, operationDef] = mockForRequest;
226
- const match = (0, msw_1.matchRequestUrl)(new URL(url, window.location.href), `${this.getApiUrl()}${operationDef.url}`, `${window.location.href}`);
227
- return this.executeOperation(operationId, new Request(url, options), getCookiesAsObject(), match.params);
228
- });
220
+ const mockForRequest = this.getMockForRequest(url, options);
221
+ if (!mockForRequest) {
222
+ throw new Error(`No mock found for request: ${url} with options: ${JSON.stringify(options)}`);
223
+ }
224
+ const [operationId, operationDef] = mockForRequest;
225
+ const match = (0, msw_1.matchRequestUrl)(new URL(url, window.location.href), `${this.getApiUrl()}${operationDef.url}`, `${window.location.href}`);
226
+ return this.executeOperation(operationId, new Request(url, options), getCookiesAsObject(), match.params);
229
227
  }
230
228
  }
231
229
  exports.ApiInterceptor = ApiInterceptor;
@@ -237,10 +235,10 @@ function getCookiesAsObject() {
237
235
  return {};
238
236
  }
239
237
  // 3. Split into individual "key=value" pairs
240
- const cookiePairs = cookieString.split('; ');
238
+ const cookiePairs = cookieString.split("; ");
241
239
  // 4. Use reduce to build the final object
242
240
  const cookieObject = cookiePairs.reduce((acc, currentPair) => {
243
- const [key, value] = currentPair.split('=');
241
+ const [key, value] = currentPair.split("=");
244
242
  // Decode the key and value to handle special characters
245
243
  acc[decodeURIComponent(key)] = decodeURIComponent(value);
246
244
  return acc;
@@ -67,7 +67,7 @@ function ApiInterceptorProvider({ interceptor, children, parentInterceptorContex
67
67
  if (!interceptor) {
68
68
  return;
69
69
  }
70
- (() => __awaiter(this, void 0, void 0, function* () {
70
+ void (() => __awaiter(this, void 0, void 0, function* () {
71
71
  const { initMock } = yield Promise.resolve().then(() => __importStar(require("./initMock")));
72
72
  const apiInstance = yield initMock(interceptor);
73
73
  setApiInstance(apiInstance);
@@ -84,7 +84,7 @@ function ApiInterceptorProvider({ interceptor, children, parentInterceptorContex
84
84
  // setInitialized(false);
85
85
  // --- We use "msw" to manage the API interception
86
86
  let interceptorWorker;
87
- (() => __awaiter(this, void 0, void 0, function* () {
87
+ void (() => __awaiter(this, void 0, void 0, function* () {
88
88
  // --- Create the worker on the fly
89
89
  if (process.env.VITE_MOCK_ENABLED) {
90
90
  const [{ createApiInterceptorWorker }, { initMock }] = yield Promise.all([
@@ -126,7 +126,7 @@ function ApiInterceptorProvider({ interceptor, children, parentInterceptorContex
126
126
  return;
127
127
  }
128
128
  if (parentInterceptorWorker) {
129
- (() => __awaiter(this, void 0, void 0, function* () {
129
+ void (() => __awaiter(this, void 0, void 0, function* () {
130
130
  const [{ createApiInterceptorWorker }, { initMock }] = yield Promise.all([
131
131
  Promise.resolve().then(() => __importStar(require("./apiInterceptorWorker"))),
132
132
  Promise.resolve().then(() => __importStar(require("./initMock"))),
@@ -85,7 +85,7 @@ class Backend {
85
85
  return helper;
86
86
  });
87
87
  if (definition.initialize) {
88
- this.runFn(definition.initialize);
88
+ void this.runFn(definition.initialize);
89
89
  }
90
90
  }
91
91
  executeOperation(operationId, requestParams, cookieService, headerService) {
@@ -35,9 +35,9 @@ class IndexedDb {
35
35
  return ret.find((_v, index) => results[index]);
36
36
  });
37
37
  this.getItemById = (resourceId, id) => __awaiter(this, void 0, void 0, function* () {
38
- return yield this.getItem(resourceId, (item) => __awaiter(this, void 0, void 0, function* () {
39
- return item.id + "" === id + "";
40
- }));
38
+ return yield this.getItem(resourceId, (item) => {
39
+ return Promise.resolve(item.id + "" === id + "");
40
+ });
41
41
  });
42
42
  this.deleteItems = (resourceId, predicate) => __awaiter(this, void 0, void 0, function* () {
43
43
  // this.repository[resourceId] = this.repository[resourceId]?.filter((item) => !predicate(item));
@@ -140,68 +140,66 @@ class IndexedDb {
140
140
  exports.IndexedDb = IndexedDb;
141
141
  // Wraps an indexDb Table into an object that provides helpful methods
142
142
  function createTableWrapper(table) {
143
- return __awaiter(this, void 0, void 0, function* () {
144
- // --- Function to retrieve the current table data
145
- const getDataFn = () => table.db.table(table.name);
146
- // --- Helper method to filter the table data
147
- const filteredData = (predicate) => __awaiter(this, void 0, void 0, function* () {
148
- const dataSnapshot = yield table.toArray();
149
- const results = yield Promise.all(dataSnapshot.map(predicate !== null && predicate !== void 0 ? predicate : (() => __awaiter(this, void 0, void 0, function* () { return true; }))));
150
- return dataSnapshot.filter((_v, index) => results[index]);
151
- });
152
- return {
153
- native: getDataFn,
154
- insert: (item) => __awaiter(this, void 0, void 0, function* () {
155
- const id = yield table.add(item);
156
- return getDataFn().get(id);
157
- }),
158
- update: (item) => __awaiter(this, void 0, void 0, function* () {
159
- yield table.update(item.id, item);
160
- return getDataFn().get(item.id);
161
- }),
162
- save: (item) => __awaiter(this, void 0, void 0, function* () {
163
- const key = yield table.put(item);
164
- return table.get(key);
165
- }),
166
- deleteById: (id) => __awaiter(this, void 0, void 0, function* () {
167
- yield table.delete(id);
168
- }),
169
- byId: (id) => __awaiter(this, void 0, void 0, function* () {
170
- if (id === undefined || id === null) {
171
- return null;
172
- }
173
- let safeId = id;
174
- if (table.schema.primKey.src === "++id") {
175
- //it's an auto incremented id, must be a number
176
- safeId = Number(id);
177
- }
178
- return table.get(safeId);
179
- }),
180
- toArray: () => __awaiter(this, void 0, void 0, function* () { return yield table.toArray(); }),
181
- single: (predicate) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).single(predicate); }),
182
- singleOrDefault: (predicate, defValue) => __awaiter(this, void 0, void 0, function* () {
183
- return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).singleOrDefault(predicate, defValue);
184
- }),
185
- where: (predicate) => __awaiter(this, void 0, void 0, function* () { return new ReadonlyCollection_1.ReadOnlyCollection(yield filteredData(predicate)); }),
186
- whereAsArray: (predicate) => __awaiter(this, void 0, void 0, function* () { return yield filteredData(predicate); }),
187
- orderBy: (...mappers) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).orderBy(...mappers); }),
188
- orderByAsArray: (...mappers) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).orderByAsArray(...mappers); }),
189
- groupBy: (groupKey) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).groupBy(groupKey); }),
190
- groupByAsArray: (groupKey) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).groupByAsArray(groupKey); }),
191
- distinct: (distinctValue) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).distinct(distinctValue); }),
192
- distinctAsArray: (distinctValue) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).distinctAsArray(distinctValue); }),
193
- maxValue: (...args_1) => __awaiter(this, [...args_1], void 0, function* (fieldName = "id", predicate) {
194
- return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).maxValue(fieldName, predicate);
195
- }),
196
- skip: (count) => __awaiter(this, void 0, void 0, function* () {
197
- return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).skip(count);
198
- }),
199
- take: (count) => __awaiter(this, void 0, void 0, function* () {
200
- return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).take(count);
201
- }),
202
- skipTake: (skip, take) => __awaiter(this, void 0, void 0, function* () {
203
- return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).skipTake(skip, take);
204
- }),
205
- };
143
+ // --- Function to retrieve the current table data
144
+ const getDataFn = () => table.db.table(table.name);
145
+ // --- Helper method to filter the table data
146
+ const filteredData = (predicate) => __awaiter(this, void 0, void 0, function* () {
147
+ const dataSnapshot = yield table.toArray();
148
+ const results = yield Promise.all(dataSnapshot.map(predicate !== null && predicate !== void 0 ? predicate : (() => Promise.resolve(true))));
149
+ return dataSnapshot.filter((_v, index) => results[index]);
206
150
  });
151
+ return {
152
+ native: getDataFn,
153
+ insert: (item) => __awaiter(this, void 0, void 0, function* () {
154
+ const id = yield table.add(item);
155
+ return getDataFn().get(id);
156
+ }),
157
+ update: (item) => __awaiter(this, void 0, void 0, function* () {
158
+ yield table.update(item.id, item);
159
+ return getDataFn().get(item.id);
160
+ }),
161
+ save: (item) => __awaiter(this, void 0, void 0, function* () {
162
+ const key = yield table.put(item);
163
+ return table.get(key);
164
+ }),
165
+ deleteById: (id) => __awaiter(this, void 0, void 0, function* () {
166
+ yield table.delete(id);
167
+ }),
168
+ byId: (id) => __awaiter(this, void 0, void 0, function* () {
169
+ if (id === undefined || id === null) {
170
+ return null;
171
+ }
172
+ let safeId = id;
173
+ if (table.schema.primKey.src === "++id") {
174
+ //it's an auto incremented id, must be a number
175
+ safeId = Number(id);
176
+ }
177
+ return yield table.get(safeId);
178
+ }),
179
+ toArray: () => __awaiter(this, void 0, void 0, function* () { return yield table.toArray(); }),
180
+ single: (predicate) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).single(predicate); }),
181
+ singleOrDefault: (predicate, defValue) => __awaiter(this, void 0, void 0, function* () {
182
+ return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).singleOrDefault(predicate, defValue);
183
+ }),
184
+ where: (predicate) => __awaiter(this, void 0, void 0, function* () { return new ReadonlyCollection_1.ReadOnlyCollection(yield filteredData(predicate)); }),
185
+ whereAsArray: (predicate) => __awaiter(this, void 0, void 0, function* () { return yield filteredData(predicate); }),
186
+ orderBy: (...mappers) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).orderBy(...mappers); }),
187
+ orderByAsArray: (...mappers) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).orderByAsArray(...mappers); }),
188
+ groupBy: (groupKey) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).groupBy(groupKey); }),
189
+ groupByAsArray: (groupKey) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).groupByAsArray(groupKey); }),
190
+ distinct: (distinctValue) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).distinct(distinctValue); }),
191
+ distinctAsArray: (distinctValue) => __awaiter(this, void 0, void 0, function* () { return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).distinctAsArray(distinctValue); }),
192
+ maxValue: (...args_1) => __awaiter(this, [...args_1], void 0, function* (fieldName = "id", predicate) {
193
+ return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).maxValue(fieldName, predicate);
194
+ }),
195
+ skip: (count) => __awaiter(this, void 0, void 0, function* () {
196
+ return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).skip(count);
197
+ }),
198
+ take: (count) => __awaiter(this, void 0, void 0, function* () {
199
+ return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).take(count);
200
+ }),
201
+ skipTake: (skip, take) => __awaiter(this, void 0, void 0, function* () {
202
+ return yield new ReadonlyCollection_1.ReadOnlyCollection(yield table.toArray()).skipTake(skip, take);
203
+ }),
204
+ };
207
205
  }
@@ -31,7 +31,7 @@ function createHandlers(api) {
31
31
  return handlers;
32
32
  }
33
33
  // Create the worker for the ApiInterceptorProvider
34
- const createApiInterceptorWorker = (apiInstance, parentWorker) => __awaiter(void 0, void 0, void 0, function* () {
34
+ const createApiInterceptorWorker = (apiInstance, parentWorker) => {
35
35
  const handlers = createHandlers(apiInstance);
36
36
  let worker = parentWorker;
37
37
  if (!parentWorker) {
@@ -40,5 +40,5 @@ const createApiInterceptorWorker = (apiInstance, parentWorker) => __awaiter(void
40
40
  // https://github.com/mswjs/msw/issues/2495
41
41
  worker.use(...handlers);
42
42
  return worker;
43
- });
43
+ };
44
44
  exports.createApiInterceptorWorker = createApiInterceptorWorker;
@@ -114,7 +114,7 @@ function DataLoader({ loader, state, registerComponentApi, onLoaded, onError, lo
114
114
  let sqlQuery = "";
115
115
  let sqlParams = [];
116
116
  // Try to extract SQL query and parameters from body or rawBody
117
- if (body && typeof body === 'object') {
117
+ if (body && typeof body === "object") {
118
118
  //console.log("[SQL DataLoader] Using body object:", body);
119
119
  sqlQuery = body.sql || "";
120
120
  sqlParams = body.params || [];
@@ -172,7 +172,7 @@ function DataLoader({ loader, state, registerComponentApi, onLoaded, onError, lo
172
172
  const jsonResult = yield response.json();
173
173
  //console.log("[SQL DataLoader] Response data:", jsonResult);
174
174
  // Check the structure of the response
175
- if (jsonResult && typeof jsonResult === 'object') {
175
+ if (jsonResult && typeof jsonResult === "object") {
176
176
  //console.log("[SQL DataLoader] Response keys:", Object.keys(jsonResult));
177
177
  // If response has rows property, check if it's in expected format
178
178
  if (jsonResult.rows) {
@@ -205,15 +205,7 @@ function DataLoader({ loader, state, registerComponentApi, onLoaded, onError, lo
205
205
  resolveBindingExpressions: true,
206
206
  });
207
207
  }
208
- }), [
209
- api,
210
- loader.props,
211
- state,
212
- url,
213
- body,
214
- rawBody,
215
- appContext
216
- ]);
208
+ }), [api, loader.props, state, url, body, rawBody, appContext]);
217
209
  const queryId = (0, react_1.useMemo)(() => {
218
210
  return new DataLoaderQueryKeyGenerator_1.DataLoaderQueryKeyGenerator(url, queryParams, appContext === null || appContext === void 0 ? void 0 : appContext.appGlobals.apiUrl, body, rawBody).asKey();
219
211
  }, [appContext === null || appContext === void 0 ? void 0 : appContext.appGlobals.apiUrl, queryParams, url, body, rawBody]);
@@ -238,7 +230,7 @@ function DataLoader({ loader, state, registerComponentApi, onLoaded, onError, lo
238
230
  }
239
231
  }
240
232
  //console.log("[DataLoader] inProgress() completed");
241
- }, [loader.props.inProgressNotificationMessage, loaderInProgressChanged, loader.props.dataType]);
233
+ }, [loader.props.inProgressNotificationMessage, loaderInProgressChanged]);
242
234
  const loaded = (0, react_1.useCallback)((data, pageInfo) => {
243
235
  // console.log("[DataLoader] loaded() called with data:", data);
244
236
  // console.log("[DataLoader] loaded() pageInfo:", pageInfo);
@@ -265,7 +257,7 @@ function DataLoader({ loader, state, registerComponentApi, onLoaded, onError, lo
265
257
  }
266
258
  }
267
259
  //console.log("[DataLoader] loaded() completed");
268
- }, [loader.props.completedNotificationMessage, loaderLoaded, loader.props.dataType]);
260
+ }, [loader.props.completedNotificationMessage, loaderLoaded]);
269
261
  const error = (0, react_1.useCallback)((error) => __awaiter(this, void 0, void 0, function* () {
270
262
  loaderError(error);
271
263
  if (onError) {
@@ -328,7 +320,7 @@ function IndexAwareDataLoader(props) {
328
320
  }
329
321
  return (0, jsx_runtime_1.jsx)(DataLoader, Object.assign({}, props));
330
322
  }
331
- exports.dataLoaderRenderer = (0, renderers_1.createLoaderRenderer)("DataLoader", ({ loader, state, loaderLoaded, loaderInProgressChanged, loaderIsRefetchingChanged, loaderError, registerComponentApi, lookupAction, lookupSyncCallback, extractValue }) => {
323
+ exports.dataLoaderRenderer = (0, renderers_1.createLoaderRenderer)("DataLoader", ({ loader, state, loaderLoaded, loaderInProgressChanged, loaderIsRefetchingChanged, loaderError, registerComponentApi, lookupAction, lookupSyncCallback, extractValue, }) => {
332
324
  var _a, _b, _c;
333
325
  // --- Check for required properties
334
326
  if (!((_a = loader.props) === null || _a === void 0 ? void 0 : _a.url) || !loader.props.url.trim()) {
@@ -17,7 +17,7 @@ const extractParam_1 = require("../utils/extractParam");
17
17
  const AppContext_1 = require("../AppContext");
18
18
  const hooks_1 = require("../utils/hooks");
19
19
  const useApiInterceptorContext_1 = require("../interception/useApiInterceptorContext");
20
- function Loader({ state, loader, loaderFn, queryId, pollIntervalInSeconds, registerComponentApi, onLoaded, loaderLoaded, loaderInProgressChanged, loaderIsRefetchingChanged, loaderError, transformResult, structuralSharing = true }) {
20
+ function Loader({ state, loader, loaderFn, queryId, pollIntervalInSeconds, registerComponentApi, onLoaded, loaderLoaded, loaderInProgressChanged, loaderIsRefetchingChanged, loaderError, transformResult, structuralSharing = true, }) {
21
21
  const { uid } = loader;
22
22
  const appContext = (0, AppContext_1.useAppContext)();
23
23
  const { initialized } = (0, useApiInterceptorContext_1.useApiInterceptorContext)();
@@ -69,7 +69,7 @@ function Loader({ state, loader, loaderFn, queryId, pollIntervalInSeconds, regis
69
69
  let intervalId;
70
70
  if (pollIntervalInSeconds) {
71
71
  intervalId = setInterval(() => {
72
- refetch();
72
+ void refetch();
73
73
  }, pollIntervalInSeconds * 1000);
74
74
  }
75
75
  return () => {
@@ -116,9 +116,9 @@ function Loader({ state, loader, loaderFn, queryId, pollIntervalInSeconds, regis
116
116
  }, [loaderLoaded, uid]);
117
117
  (0, react_1.useEffect)(() => {
118
118
  registerComponentApi === null || registerComponentApi === void 0 ? void 0 : registerComponentApi({
119
- refetch: (options) => __awaiter(this, void 0, void 0, function* () {
120
- refetch(options);
121
- }),
119
+ refetch: (options) => {
120
+ void refetch(options);
121
+ },
122
122
  update: (updater) => __awaiter(this, void 0, void 0, function* () {
123
123
  var _a, _b;
124
124
  const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
@@ -134,7 +134,7 @@ function Loader({ state, loader, loaderFn, queryId, pollIntervalInSeconds, regis
134
134
  }
135
135
  (_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
136
136
  }),
137
- addItem: (element, indexToInsert) => __awaiter(this, void 0, void 0, function* () {
137
+ addItem: (element, indexToInsert) => {
138
138
  var _a, _b;
139
139
  const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
140
140
  const draft = (0, immer_1.createDraft)(oldData);
@@ -146,13 +146,13 @@ function Loader({ state, loader, loaderFn, queryId, pollIntervalInSeconds, regis
146
146
  }
147
147
  const newData = (0, immer_1.finishDraft)(draft);
148
148
  (_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
149
- }),
150
- getItems: () => __awaiter(this, void 0, void 0, function* () {
149
+ },
150
+ getItems: () => {
151
151
  return data;
152
- }),
153
- deleteItem: (element) => __awaiter(this, void 0, void 0, function* () {
152
+ },
153
+ deleteItem: (element) => {
154
154
  throw new Error("not implemented");
155
- }),
155
+ },
156
156
  });
157
157
  }, [appContext.queryClient, queryId, refetch, registerComponentApi, data]);
158
158
  return null;
@@ -18,12 +18,14 @@ const renderers_1 = require("../renderers");
18
18
  const AppContext_1 = require("../AppContext");
19
19
  const Loader_1 = require("./Loader");
20
20
  const metadata_helpers_1 = require("../../components/metadata-helpers");
21
- function MockLoader({ loader, loaderInProgressChanged, loaderIsRefetchingChanged, loaderError, loaderLoaded, state, structuralSharing }) {
21
+ function MockLoader({ loader, loaderInProgressChanged, loaderIsRefetchingChanged, loaderError, loaderLoaded, state, structuralSharing, }) {
22
22
  const appContext = (0, AppContext_1.useAppContext)();
23
23
  const waitTime = (0, extractParam_1.extractParam)(state, loader.props.waitTime, appContext);
24
24
  const responseObj = (0, extractParam_1.extractParam)(state, loader.props.data, appContext);
25
25
  const doLoad = (0, react_1.useCallback)(() => __awaiter(this, void 0, void 0, function* () {
26
- waitTime && (yield (0, misc_1.asyncWait)(waitTime));
26
+ if (waitTime) {
27
+ yield (0, misc_1.asyncWait)(waitTime);
28
+ }
27
29
  return responseObj;
28
30
  }), [responseObj, waitTime]);
29
31
  return ((0, jsx_runtime_1.jsx)(Loader_1.Loader, { state: state, loader: loader, loaderInProgressChanged: loaderInProgressChanged, loaderIsRefetchingChanged: loaderIsRefetchingChanged, loaderLoaded: loaderLoaded, loaderError: loaderError, loaderFn: doLoad, structuralSharing: structuralSharing }));
@@ -112,7 +112,7 @@ function PageableLoader({ state, loader, loaderFn, queryId, registerComponentApi
112
112
  const queryKey = thizRef.current;
113
113
  return () => {
114
114
  var _a, _b;
115
- (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.cancelQueries(queryKey);
115
+ void ((_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.cancelQueries(queryKey));
116
116
  (_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryKey, (old) => {
117
117
  if (!old) {
118
118
  return old;
@@ -164,6 +164,7 @@ function PageableLoader({ state, loader, loaderFn, queryId, registerComponentApi
164
164
  }, [
165
165
  data,
166
166
  error,
167
+ isRefetching,
167
168
  loaderError,
168
169
  loaderLoaded,
169
170
  onLoaded,
@@ -177,7 +178,7 @@ function PageableLoader({ state, loader, loaderFn, queryId, registerComponentApi
177
178
  let intervalId;
178
179
  if (pollIntervalInSeconds) {
179
180
  intervalId = setInterval(() => {
180
- refetch();
181
+ void refetch();
181
182
  }, pollIntervalInSeconds * 1000);
182
183
  }
183
184
  return () => {
@@ -196,9 +197,9 @@ function PageableLoader({ state, loader, loaderFn, queryId, registerComponentApi
196
197
  registerComponentApi({
197
198
  fetchPrevPage,
198
199
  fetchNextPage: stableFetchNextPage,
199
- refetch: (options) => __awaiter(this, void 0, void 0, function* () {
200
- refetch(options);
201
- }),
200
+ refetch: (options) => {
201
+ void refetch(options);
202
+ },
202
203
  update: (updater) => __awaiter(this, void 0, void 0, function* () {
203
204
  var _a, _b;
204
205
  const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
@@ -222,7 +223,7 @@ function PageableLoader({ state, loader, loaderFn, queryId, registerComponentApi
222
223
  (_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
223
224
  // console.log("AFTER: ", appContext.queryClient?.getQueryData(queryId!));
224
225
  }),
225
- addItem: (element, indexToInsert) => __awaiter(this, void 0, void 0, function* () {
226
+ addItem: (element, indexToInsert) => {
226
227
  var _a, _b;
227
228
  const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
228
229
  const draft = (0, immer_1.createDraft)(oldData);
@@ -248,13 +249,13 @@ function PageableLoader({ state, loader, loaderFn, queryId, registerComponentApi
248
249
  }
249
250
  const newData = (0, immer_1.finishDraft)(draft);
250
251
  (_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
251
- }),
252
+ },
252
253
  getItems: () => {
253
254
  return data;
254
255
  },
255
- deleteItem: (element) => __awaiter(this, void 0, void 0, function* () {
256
+ deleteItem: (element) => {
256
257
  throw new Error("not implemented");
257
- }),
258
+ },
258
259
  });
259
260
  }, [
260
261
  appContext.queryClient,
@@ -335,11 +335,6 @@ function AppContent({ rootContainer, routerBaseName, globalProps, standalone, tr
335
335
  // --- We prepare the helper infrastructure for the `AppState` component, which manages
336
336
  // --- app-wide state using buckets (state sections).
337
337
  const [appState, setAppState] = (0, react_1.useState)(constants_1.EMPTY_OBJECT);
338
- const registerAppState = (0, react_1.useCallback)((bucket, initialValue) => {
339
- setAppState((prev) => {
340
- return Object.assign(Object.assign({}, prev), { [bucket]: initialValue });
341
- });
342
- }, []);
343
338
  const update = (0, react_1.useCallback)((bucket, patch) => {
344
339
  setAppState((prev) => {
345
340
  return Object.assign(Object.assign({}, prev), { [bucket]: Object.assign(Object.assign({}, (prev[bucket] || {})), patch) });
@@ -347,11 +342,10 @@ function AppContent({ rootContainer, routerBaseName, globalProps, standalone, tr
347
342
  }, []);
348
343
  const appStateContextValue = (0, react_1.useMemo)(() => {
349
344
  return {
350
- registerAppState,
351
345
  appState,
352
346
  update,
353
347
  };
354
- }, [appState, registerAppState, update]);
348
+ }, [appState, update]);
355
349
  return ((0, jsx_runtime_1.jsx)(AppContext_1.AppContext.Provider, { value: appContextValue, children: (0, jsx_runtime_1.jsx)(AppStateContext_1.AppStateContext.Provider, { value: appStateContextValue, children: (0, jsx_runtime_1.jsx)(StandaloneComponent_1.default, { node: rootContainer, children: children }) }) }));
356
350
  }
357
351
  // --- We pass this funtion to the global app context
@@ -59,7 +59,7 @@ class ErrorBoundary extends react_1.default.Component {
59
59
  */
60
60
  render() {
61
61
  var _a;
62
- return this.state.hasError ? ((0, jsx_runtime_1.jsxs)("div", { className: ErrorBoundary_module_scss_1.default.errorOverlay, children: [(0, jsx_runtime_1.jsx)("div", { className: ErrorBoundary_module_scss_1.default.title, children: "There was an error!" }), (0, jsx_runtime_1.jsx)("div", { className: ErrorBoundary_module_scss_1.default.errorItem, children: (_a = this.state.error) === null || _a === void 0 ? void 0 : _a.message })] })) : (this.props.children);
62
+ return this.state.hasError ? ((0, jsx_runtime_1.jsxs)("div", { "data-error-boundary": true, className: ErrorBoundary_module_scss_1.default.errorOverlay, children: [(0, jsx_runtime_1.jsx)("div", { className: ErrorBoundary_module_scss_1.default.title, children: "There was an error!" }), (0, jsx_runtime_1.jsx)("div", { className: ErrorBoundary_module_scss_1.default.errorItem, children: (_a = this.state.error) === null || _a === void 0 ? void 0 : _a.message })] })) : (this.props.children);
63
63
  }
64
64
  }
65
65
  exports.ErrorBoundary = ErrorBoundary;
@@ -10,7 +10,7 @@ function isBannedFunction(func) {
10
10
  if (func === undefined) {
11
11
  return { banned: false };
12
12
  }
13
- const bannedInfo = bannedFunctions.find(f => f.func === func);
13
+ const bannedInfo = bannedFunctions.find((f) => f.func === func);
14
14
  return bannedInfo
15
15
  ? { banned: true, func: bannedInfo.func, help: bannedInfo.help }
16
16
  : { banned: false };