@schukai/monster 3.73.8 → 3.74.0

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 (82) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/package.json +1 -1
  3. package/source/components/datatable/change-button.mjs +4 -4
  4. package/source/components/datatable/columnbar.mjs +2 -2
  5. package/source/components/datatable/dataset.mjs +2 -2
  6. package/source/components/datatable/datasource/rest.mjs +9 -8
  7. package/source/components/datatable/datatable.mjs +6 -6
  8. package/source/components/datatable/filter/date-range.mjs +6 -6
  9. package/source/components/datatable/filter/input.mjs +2 -2
  10. package/source/components/datatable/filter/range.mjs +4 -4
  11. package/source/components/datatable/filter/select.mjs +6 -2
  12. package/source/components/datatable/filter.mjs +4 -4
  13. package/source/components/datatable/save-button.mjs +4 -4
  14. package/source/components/datatable/stylesheet/change-button.mjs +1 -1
  15. package/source/components/datatable/stylesheet/column-bar.mjs +1 -1
  16. package/source/components/datatable/stylesheet/dataset.mjs +1 -1
  17. package/source/components/datatable/stylesheet/datatable.mjs +13 -6
  18. package/source/components/datatable/stylesheet/embedded-pagination.mjs +1 -1
  19. package/source/components/datatable/stylesheet/filter-select.mjs +13 -6
  20. package/source/components/datatable/stylesheet/filter.mjs +13 -6
  21. package/source/components/datatable/stylesheet/pagination.mjs +1 -1
  22. package/source/components/datatable/stylesheet/save-button.mjs +1 -1
  23. package/source/components/datatable/stylesheet/status.mjs +1 -1
  24. package/source/components/datatable/util.mjs +2 -2
  25. package/source/components/form/action-button.mjs +12 -1
  26. package/source/components/form/api-button.mjs +16 -5
  27. package/source/components/form/button-bar.mjs +13 -1
  28. package/source/components/form/confirm-button.mjs +12 -1
  29. package/source/components/form/context-error.mjs +12 -1
  30. package/source/components/form/context-help.mjs +12 -1
  31. package/source/components/form/field-set.mjs +12 -1
  32. package/source/components/form/form.mjs +15 -0
  33. package/source/components/form/message-state-button.mjs +16 -1
  34. package/source/components/form/popper-button.mjs +16 -1
  35. package/source/components/form/reload.mjs +14 -2
  36. package/source/components/form/shadow-reload.mjs +5 -62
  37. package/source/components/form/state-button.mjs +4 -30
  38. package/source/components/form/stylesheet/action-button.mjs +1 -1
  39. package/source/components/form/stylesheet/field-set.mjs +1 -1
  40. package/source/components/form/stylesheet/state-button.mjs +1 -1
  41. package/source/components/form/stylesheet/toggle-switch.mjs +1 -1
  42. package/source/components/form/tabs.mjs +1 -37
  43. package/source/components/form/template.mjs +4 -29
  44. package/source/components/form/toggle-switch.mjs +16 -1
  45. package/source/components/form/tree-select.mjs +8 -36
  46. package/source/components/host/stylesheet/call-button.mjs +1 -1
  47. package/source/components/host/stylesheet/host.mjs +1 -1
  48. package/source/components/host/stylesheet/overlay.mjs +1 -1
  49. package/source/components/host/stylesheet/toggle-button.mjs +1 -1
  50. package/source/components/host/stylesheet/viewer.mjs +1 -1
  51. package/source/components/layout/popper.mjs +317 -317
  52. package/source/components/layout/slider.mjs +668 -0
  53. package/source/components/layout/style/slider.pcss +114 -0
  54. package/source/components/layout/stylesheet/collapse.mjs +1 -1
  55. package/source/components/layout/stylesheet/details.mjs +1 -1
  56. package/source/components/layout/stylesheet/panel.mjs +1 -1
  57. package/source/components/layout/stylesheet/slider.mjs +31 -0
  58. package/source/components/layout/stylesheet/tabs.mjs +1 -1
  59. package/source/components/navigation/stylesheet/table-of-content.mjs +14 -7
  60. package/source/components/navigation/table-of-content.mjs +22 -17
  61. package/source/components/notify/stylesheet/message.mjs +1 -1
  62. package/source/components/stylesheet/color.mjs +13 -6
  63. package/source/components/stylesheet/mixin/property.mjs +13 -6
  64. package/source/components/stylesheet/property.mjs +1 -1
  65. package/source/components/tree-menu/stylesheet/tree-menu.mjs +1 -1
  66. package/source/components/tree-menu/tree-menu.mjs +23 -5
  67. package/source/data/buildtree.mjs +63 -63
  68. package/source/data/datasource/server/restapi.mjs +1 -2
  69. package/source/data/pathfinder.mjs +22 -19
  70. package/source/dom/events.mjs +1 -1
  71. package/source/dom/updater.mjs +771 -759
  72. package/source/text/generate-range-comparison-expression.mjs +1 -1
  73. package/source/types/base.mjs +1 -1
  74. package/source/types/id.mjs +1 -1
  75. package/source/types/node.mjs +141 -142
  76. package/source/types/observer.mjs +7 -8
  77. package/source/types/version.mjs +1 -1
  78. package/test/cases/data/buildmap.mjs +0 -1
  79. package/test/cases/data/pathfinder.mjs +2 -1
  80. package/test/cases/monster.mjs +1 -1
  81. package/test/web/test.html +2 -2
  82. package/test/web/tests.js +240 -190
@@ -12,14 +12,14 @@
12
12
  * SPDX-License-Identifier: AGPL-3.0
13
13
  */
14
14
 
15
- import {isArray, isObject} from "../types/is.mjs";
16
- import {Node} from "../types/node.mjs";
17
- import {NodeList} from "../types/nodelist.mjs";
18
- import {clone} from "../util/clone.mjs";
19
- import {assembleParts} from "./buildmap.mjs";
20
- import {extend} from "./extend.mjs";
15
+ import { isArray, isObject } from "../types/is.mjs";
16
+ import { Node } from "../types/node.mjs";
17
+ import { NodeList } from "../types/nodelist.mjs";
18
+ import { clone } from "../util/clone.mjs";
19
+ import { assembleParts } from "./buildmap.mjs";
20
+ import { extend } from "./extend.mjs";
21
21
 
22
- export {buildTree};
22
+ export { buildTree };
23
23
 
24
24
  /**
25
25
  * @private
@@ -140,69 +140,69 @@ const rootSymbol = Symbol("root");
140
140
  * @since 1.26.0
141
141
  */
142
142
  function buildTree(subject, selector, idKey, parentIDKey, options) {
143
- const nodes = new Map();
144
-
145
- const maxDepth = 100;
146
-
147
- if (!isObject(options)) {
148
- options = {};
149
- }
150
-
151
- options = extend(
152
- {},
153
- {
154
- rootReferences: [null, undefined],
155
- filter: undefined,
156
- },
157
- options,
158
- );
159
-
160
- const filter = options?.filter;
161
- let rootReferences = options.rootReferences;
162
- if (!isArray(rootReferences)) {
163
- rootReferences = [rootReferences];
164
- }
165
-
166
- const childMap = assembleParts(subject, selector, filter, function (o, k, m) {
167
- const key = o?.[idKey];
168
- let ref = o?.[parentIDKey];
169
- if (rootReferences.indexOf(ref) !== -1) ref = rootSymbol;
170
-
171
- if (key === undefined) {
172
- throw new Error("the object has no value for the specified id");
173
- }
174
-
175
- o[parentSymbol] = ref;
176
-
177
- const node = new Node(o);
178
- this.has(ref)
179
- ? this.get(ref).add(node)
180
- : this.set(ref, new NodeList().add(node));
181
- nodes.set(key, node);
182
- });
183
-
184
- nodes.forEach((node) => {
143
+ const nodes = new Map();
144
+
145
+ const maxDepth = 100;
146
+
147
+ if (!isObject(options)) {
148
+ options = {};
149
+ }
150
+
151
+ options = extend(
152
+ {},
153
+ {
154
+ rootReferences: [null, undefined],
155
+ filter: undefined,
156
+ },
157
+ options,
158
+ );
159
+
160
+ const filter = options?.filter;
161
+ let rootReferences = options.rootReferences;
162
+ if (!isArray(rootReferences)) {
163
+ rootReferences = [rootReferences];
164
+ }
165
+
166
+ const childMap = assembleParts(subject, selector, filter, function (o, k, m) {
167
+ const key = o?.[idKey];
168
+ let ref = o?.[parentIDKey];
169
+ if (rootReferences.indexOf(ref) !== -1) ref = rootSymbol;
170
+
171
+ if (key === undefined) {
172
+ throw new Error("the object has no value for the specified id");
173
+ }
174
+
175
+ o[parentSymbol] = ref;
176
+
177
+ const node = new Node(o);
178
+ this.has(ref)
179
+ ? this.get(ref).add(node)
180
+ : this.set(ref, new NodeList().add(node));
181
+ nodes.set(key, node);
182
+ });
183
+
184
+ nodes.forEach((node) => {
185
185
  const id = node?.["value"]?.[idKey];
186
186
 
187
- if (id === undefined) {
188
- throw new Error("the object has no value for the specified id");
189
- }
187
+ if (id === undefined) {
188
+ throw new Error("the object has no value for the specified id");
189
+ }
190
190
 
191
191
  if (childMap.has(id)) {
192
- node.childNodes = childMap.get(id);
193
- childMap.delete(id);
192
+ node.childNodes = childMap.get(id);
193
+ childMap.delete(id);
194
194
  }
195
195
  });
196
196
 
197
- const list = new NodeList();
197
+ const list = new NodeList();
198
198
 
199
- childMap.forEach((s) => {
200
- if (s instanceof Set) {
201
- s.forEach((n) => {
202
- list.add(n);
203
- });
204
- }
205
- });
199
+ childMap.forEach((s) => {
200
+ if (s instanceof Set) {
201
+ s.forEach((n) => {
202
+ list.add(n);
203
+ });
204
+ }
205
+ });
206
206
 
207
- return list;
207
+ return list;
208
208
  }
@@ -193,7 +193,7 @@ class RestAPI extends Server {
193
193
  */
194
194
  function fetchData(init, key, callback) {
195
195
  let response;
196
-
196
+
197
197
  return fetch(this.getOption(`${key}.url`), init)
198
198
  .then((resp) => {
199
199
  response = resp;
@@ -232,7 +232,6 @@ function fetchData(init, key, callback) {
232
232
  if (callback && isFunction(callback)) {
233
233
  callback(obj);
234
234
  }
235
-
236
235
  return response;
237
236
  })
238
237
  .catch((e) => {
@@ -223,14 +223,13 @@ function iterate(subject, path, check) {
223
223
 
224
224
  /**
225
225
  *
226
- * @param {*} subject
227
- * @param [string|array} path
228
- * @param [boolean} check
229
- * @returns {*}
226
+ * @param subject
227
+ * @param path
228
+ * @param check
229
+ * @returns {V|*|Map}
230
230
  * @throws {TypeError} unsupported type
231
231
  * @throws {Error} the journey is not at its end
232
232
  * @throws {Error} unsupported action for this data type
233
- * @private
234
233
  */
235
234
  function getValueViaPath(subject, path, check) {
236
235
  if (check === undefined) {
@@ -239,7 +238,9 @@ function getValueViaPath(subject, path, check) {
239
238
  validateBoolean(check);
240
239
 
241
240
  if (!(isArray(path) || isString(path))) {
242
- throw new Error("type error: path must be a string or an array");
241
+ throw new Error(
242
+ "type error: a path must be a string or an array in getValueViaPath",
243
+ );
243
244
  }
244
245
 
245
246
  let parts;
@@ -266,7 +267,7 @@ function getValueViaPath(subject, path, check) {
266
267
  validateInteger(current);
267
268
  anchor = [...subject]?.[current];
268
269
  } else if (typeof WeakRef === "function" && subject instanceof WeakRef) {
269
- throw Error("unsupported action for this data type");
270
+ throw Error("unsupported action for this data type (WeakRef)");
270
271
  } else if (isArray(subject)) {
271
272
  current = parseInt(current);
272
273
  validateInteger(current);
@@ -290,14 +291,14 @@ function getValueViaPath(subject, path, check) {
290
291
  );
291
292
 
292
293
  if (!subject.hasOwnProperty(current) && descriptor === undefined) {
293
- throw Error("unknown value");
294
+ throw Error("unknown value " + current);
294
295
  }
295
296
  }
296
297
 
297
298
  return anchor;
298
299
  }
299
300
 
300
- throw TypeError(`unsupported type ${typeof subject}`);
301
+ throw TypeError(`unsupported type ${typeof subject} for path ${path}`);
301
302
  }
302
303
 
303
304
  /**
@@ -314,13 +315,13 @@ function getValueViaPath(subject, path, check) {
314
315
  */
315
316
  function setValueViaPath(subject, path, value) {
316
317
  if (!(isArray(path) || isString(path))) {
317
- throw new Error("type error: path must be a string or an array");
318
+ throw new Error("type error: a path must be a string or an array");
318
319
  }
319
320
 
320
321
  let parts;
321
322
  if (isArray(path)) {
322
323
  if (path.length === 0) {
323
- return subject;
324
+ return;
324
325
  }
325
326
 
326
327
  parts = path;
@@ -363,7 +364,7 @@ function setValueViaPath(subject, path, value) {
363
364
  const anchor = getValueViaPath.call(this, subject, subpath);
364
365
 
365
366
  if (!(isObject(subject) || isArray(subject))) {
366
- throw TypeError(`unsupported type: ${typeof subject}`);
367
+ throw TypeError(`unsupported type: ${typeof subject} in setValueViaPath`);
367
368
  }
368
369
 
369
370
  if (anchor instanceof Map || anchor instanceof WeakMap) {
@@ -371,11 +372,11 @@ function setValueViaPath(subject, path, value) {
371
372
  } else if (anchor instanceof Set || anchor instanceof WeakSet) {
372
373
  anchor.append(value);
373
374
  } else if (typeof WeakRef === "function" && anchor instanceof WeakRef) {
374
- throw Error("unsupported action for this data type");
375
+ throw Error("unsupported action for this data type in setValueViaPath");
375
376
  } else if (isArray(anchor)) {
376
377
  last = parseInt(last);
377
378
  validateInteger(last);
378
- assignProperty(anchor, last, value);
379
+ assignProperty(anchor, "" + last, value);
379
380
  } else {
380
381
  assignProperty(anchor, last, value);
381
382
  }
@@ -415,13 +416,15 @@ function assignProperty(object, key, value) {
415
416
  */
416
417
  function deleteValueViaPath(subject, path) {
417
418
  if (!(isArray(path) || isString(path))) {
418
- throw new Error("type error: path must be a string or an array");
419
+ throw new Error(
420
+ "type error: a path must be a string or an array in deleteValueViaPath",
421
+ );
419
422
  }
420
423
 
421
424
  let parts;
422
425
  if (isArray(path)) {
423
426
  if (path.length === 0) {
424
- return subject;
427
+ return;
425
428
  }
426
429
 
427
430
  parts = path;
@@ -430,9 +433,9 @@ function deleteValueViaPath(subject, path) {
430
433
  }
431
434
 
432
435
  let last = parts.pop();
433
- const subpath = parts.join(DELIMITER);
436
+ const subPath = parts.join(DELIMITER);
434
437
 
435
- const anchor = getValueViaPath.call(this, subject, subpath);
438
+ const anchor = getValueViaPath.call(this, subject, subPath);
436
439
 
437
440
  if (anchor instanceof Map) {
438
441
  anchor.delete(last);
@@ -442,7 +445,7 @@ function deleteValueViaPath(subject, path) {
442
445
  anchor instanceof WeakSet ||
443
446
  (typeof WeakRef === "function" && anchor instanceof WeakRef)
444
447
  ) {
445
- throw Error("unsupported action for this data type");
448
+ throw Error("unsupported action for this data type in deleteValueViaPath");
446
449
  } else if (isArray(anchor)) {
447
450
  last = parseInt(last);
448
451
  validateInteger(last);
@@ -93,7 +93,7 @@ function fireCustomEvent(element, type, detail) {
93
93
  }
94
94
  } else {
95
95
  throw new TypeError(
96
- "value is not an instance of HTMLElement or HTMLCollection",
96
+ "element is not an instance of HTMLElement or HTMLCollection",
97
97
  );
98
98
  }
99
99
  }