@schukai/monster 3.74.0 → 3.76.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 (61) hide show
  1. package/CHANGELOG.md +35 -6
  2. package/package.json +1 -1
  3. package/source/components/datatable/datasource/rest.mjs +0 -1
  4. package/source/components/form/api-button.mjs +0 -1
  5. package/source/components/form/context-error.mjs +0 -1
  6. package/source/components/form/context-help.mjs +0 -1
  7. package/source/components/form/message-state-button.mjs +0 -1
  8. package/source/components/form/popper-button.mjs +0 -1
  9. package/source/components/form/select.mjs +16 -5
  10. package/source/components/form/toggle-switch.mjs +0 -3
  11. package/source/components/form/tree-select.mjs +0 -1
  12. package/source/components/layout/collapse.mjs +361 -395
  13. package/source/components/layout/details.mjs +10 -40
  14. package/source/components/layout/iframe.mjs +358 -0
  15. package/source/components/layout/panel.mjs +10 -25
  16. package/source/components/layout/slider.mjs +420 -439
  17. package/source/components/layout/split-panel.mjs +7 -39
  18. package/source/components/layout/style/iframe.pcss +39 -0
  19. package/source/components/layout/style/panel.pcss +10 -3
  20. package/source/components/layout/style/split-panel.pcss +2 -0
  21. package/source/components/layout/stylesheet/iframe.mjs +38 -0
  22. package/source/components/layout/stylesheet/panel.mjs +1 -1
  23. package/source/components/layout/stylesheet/slider.mjs +13 -6
  24. package/source/components/layout/tabs.mjs +6 -35
  25. package/source/components/layout/width-toggle.mjs +10 -31
  26. package/source/components/navigation/table-of-content.mjs +0 -1
  27. package/source/components/tree-menu/dragable-tree-menu.mjs +4 -4
  28. package/source/components/tree-menu/tree-menu.mjs +16 -12
  29. package/source/data/datasource/server/restapi.mjs +1 -1
  30. package/source/dom/updater.mjs +767 -771
  31. package/source/math/random.mjs +2 -3
  32. package/source/monster.mjs +12 -3
  33. package/source/types/version.mjs +1 -1
  34. package/test/cases/components/form/button.mjs +2 -1
  35. package/test/cases/components/form/confirm-button.mjs +1 -1
  36. package/test/cases/components/form/form.mjs +1 -1
  37. package/test/cases/components/form/reload.mjs +1 -1
  38. package/test/cases/components/form/select.mjs +1 -1
  39. package/test/cases/components/form/state-button.mjs +1 -1
  40. package/test/cases/components/form/template.mjs +1 -1
  41. package/test/cases/components/form/toggle-switch.mjs +1 -1
  42. package/test/cases/components/form/tree-select.mjs +1 -1
  43. package/test/cases/components/host/details.mjs +1 -1
  44. package/test/cases/components/host/host.mjs +1 -1
  45. package/test/cases/components/host/overlay.mjs +1 -1
  46. package/test/cases/components/layout/panel.mjs +1 -1
  47. package/test/cases/components/layout/slit-panel.mjs +1 -1
  48. package/test/cases/components/layout/tabs.mjs +1 -1
  49. package/test/cases/components/notify/message.mjs +1 -1
  50. package/test/cases/components/notify/notify.mjs +1 -1
  51. package/test/cases/dom/customcontrol.mjs +1 -1
  52. package/test/cases/dom/customelement-initfromscripthost.mjs +1 -1
  53. package/test/cases/dom/customelement.mjs +1 -1
  54. package/test/cases/dom/resource/data.mjs +1 -1
  55. package/test/cases/dom/resource/link/stylesheet.mjs +1 -1
  56. package/test/cases/dom/resource/link.mjs +1 -1
  57. package/test/cases/dom/resource/script.mjs +1 -1
  58. package/test/cases/dom/updater.mjs +1 -1
  59. package/test/cases/monster.mjs +1 -1
  60. package/test/web/test.html +2 -2
  61. package/test/web/tests.js +6 -15
package/CHANGELOG.md CHANGED
@@ -2,17 +2,47 @@
2
2
 
3
3
 
4
4
 
5
+ ## [3.76.0] - 2024-10-01
6
+
7
+ ### Add Features
8
+
9
+ - new iframe control [#243](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/243)
10
+ ### Bug Fixes
11
+
12
+ - chai import
13
+ - change order and fix detail-label [#245](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/245)
14
+ ### Changes
15
+
16
+ - update nix and node
17
+
18
+
19
+
20
+ ## [3.75.0] - 2024-09-23
21
+
22
+ ### Add Features
23
+
24
+ - marker for select filter [#240](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/240)
25
+
26
+ ### Changes
27
+
28
+ - remove unused files
29
+ - run webtests
30
+ - new development cert
31
+
32
+ ### Documentation
33
+
34
+ - fix some small issues
35
+
5
36
  ## [3.74.0] - 2024-09-18
6
37
 
7
38
  ### Add Features
8
39
 
9
40
  - new slider [#237](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/237)
41
+
10
42
  ### Bug Fixes
11
43
 
12
44
  - performance tweak [#235](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/235)
13
45
 
14
-
15
-
16
46
  ## [3.73.9] - 2024-09-15
17
47
 
18
48
  ### Bug Fixes
@@ -20,32 +50,31 @@
20
50
  - error handling [#234](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/234)
21
51
  - build css
22
52
  - Replace `sleep` with `requestAnimationFrame` for smoother UI [#234](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/234)
53
+
23
54
  ### Changes
24
55
 
25
56
  - some small code tweaks
26
57
  - code format
27
58
  - update versions
28
59
  - add issue example [#233](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/233)
60
+
29
61
  ### Documentation
30
62
 
31
63
  - wip update document for new monsterjs.org site
32
64
 
33
-
34
-
35
65
  ## [3.73.8] - 2024-08-01
36
66
 
37
67
  ### Bug Fixes
38
68
 
39
69
  - test pipeline
40
70
 
41
-
42
-
43
71
  ## [3.73.7] - 2024-08-01
44
72
 
45
73
  ### Bug Fixes
46
74
 
47
75
  - update layout for filter and datatable [#232](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/232)
48
76
  - new algorithm for calculating the position of the toc control. [#231](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/231)
77
+
49
78
  ### Changes
50
79
 
51
80
  - check tests [#232](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/232)
package/package.json CHANGED
@@ -1 +1 @@
1
- {"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.11","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"3.74.0"}
1
+ {"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.11","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"3.76.0"}
@@ -215,7 +215,6 @@ class Rest extends Datasource {
215
215
  * @returns {Promise<never>|*}
216
216
  */
217
217
  fetch() {
218
-
219
218
  const opt = clone(this.getOption("read"));
220
219
  this[dataSourceSymbol].setOption("read", opt);
221
220
 
@@ -204,7 +204,6 @@ class ApiButton extends ActionButton {
204
204
  /**
205
205
  * Import buttons from a map.
206
206
  *
207
- * @since 0.16.0
208
207
  * @param {array|object|Map|Set} data
209
208
  * @return {Monster.Components.Form.ApiButton}
210
209
  * @throws {Error} map is not iterable
@@ -81,7 +81,6 @@ class ContextError extends Popper {
81
81
  * This method is called by the `instanceof` operator.
82
82
  *
83
83
  * @returns {symbol}
84
- * @since 2.1.0
85
84
  */
86
85
  static get [instanceSymbol]() {
87
86
  return Symbol.for(
@@ -71,7 +71,6 @@ class ContextHelp extends Popper {
71
71
  /**
72
72
  * This method is called by the `instanceof` operator.
73
73
  * @returns {symbol}
74
- * @since 2.1.0
75
74
  */
76
75
  static get [instanceSymbol]() {
77
76
  return Symbol.for(
@@ -88,7 +88,6 @@ class MessageStateButton extends Popper {
88
88
  /**
89
89
  * This method is called by the `instanceof` operator.
90
90
  * @returns {symbol}
91
- * @since 2.1.0
92
91
  */
93
92
  static get [instanceSymbol]() {
94
93
  return Symbol.for(
@@ -331,7 +331,6 @@ class PopperButton extends Popper {
331
331
  * ```
332
332
  *
333
333
  * @property {string|array} value
334
- * @since 1.2.0
335
334
  * @throws {Error} unsupported type
336
335
  */
337
336
  set value(value) {
@@ -277,7 +277,6 @@ const FILTER_POSITION_INLINE = "inline";
277
277
  * @example /examples/components/form/select-simple
278
278
  * @example /examples/components/form/select-with-options
279
279
  *
280
- * @since 1.0.0
281
280
  * @copyright schukai GmbH
282
281
  * @summary A beautiful select control that can make your life easier and also looks good.
283
282
  * @fires monster-options-set
@@ -297,7 +296,6 @@ class Select extends CustomControl {
297
296
  /**
298
297
  * This method is called by the `instanceof` operator.
299
298
  * @returns {Symbol}
300
- * @since 2.1.0
301
299
  */
302
300
  static get [instanceSymbol]() {
303
301
  return Symbol.for("@schukai/monster/components/form/select@@instance");
@@ -336,7 +334,6 @@ class Select extends CustomControl {
336
334
  * ```
337
335
  *
338
336
  * @property {string|array} value
339
- * @since 1.2.0
340
337
  * @throws {Error} unsupported type
341
338
  */
342
339
  set value(value) {
@@ -458,6 +455,10 @@ class Select extends CustomControl {
458
455
  defaultValue: "*",
459
456
  mode: FILTER_MODE_DISABLED,
460
457
  position: FILTER_POSITION_INLINE,
458
+ marker: {
459
+ open: "{",
460
+ close: "}",
461
+ },
461
462
  },
462
463
  classes: {
463
464
  badge: "monster-badge-primary",
@@ -721,7 +722,6 @@ class Select extends CustomControl {
721
722
  * Import Select Options from dataset
722
723
  * Not to be confused with the control defaults/options
723
724
  *
724
- * @since 0.16.0
725
725
  * @param {array|object|Map|Set} data
726
726
  * @return {Select}
727
727
  * @throws {Error} map is not iterable
@@ -1473,7 +1473,18 @@ function filterFromRemote() {
1473
1473
  );
1474
1474
  let url = optionUrl;
1475
1475
  if (filterValue.length > 0) {
1476
- url = new Formatter({ filter: filterValue }).format(optionUrl);
1476
+ const formatter = new Formatter({ filter: filterValue });
1477
+ const openMarker = this.getOption("formatter.marker.open");
1478
+ let closeMarker = this.getOption("formatter.marker.close");
1479
+ if (!closeMarker) {
1480
+ closeMarker = openMarker;
1481
+ }
1482
+
1483
+ if (openMarker && closeMarker) {
1484
+ formatter.setMarker(openMarker, closeMarker);
1485
+ }
1486
+
1487
+ url = formatter.format(optionUrl);
1477
1488
  }
1478
1489
 
1479
1490
  this.fetch(url)
@@ -105,8 +105,6 @@ class ToggleSwitch extends CustomControl {
105
105
  * @property {string} actions.off=specifies the action for the off state.
106
106
  * @property {Object} templates
107
107
  * @property {string} templates.main=specifies the main template used by the control.
108
- *
109
- * @since 3.57.0
110
108
  */
111
109
  get defaults() {
112
110
  return Object.assign({}, super.defaults, {
@@ -317,7 +315,6 @@ class ToggleSwitch extends CustomControl {
317
315
  /**
318
316
  * This method is called by the `instanceof` operator.
319
317
  * @returns {symbol}
320
- * @since 2.1.0
321
318
  */
322
319
  static get [instanceSymbol]() {
323
320
  return Symbol.for(
@@ -133,7 +133,6 @@ class TreeSelect extends Select {
133
133
  * Import Select Options from dataset
134
134
  * Not to be confused with the control defaults/options
135
135
  *
136
- * @since 0.16.0
137
136
  * @param {array|object|Map|Set} data
138
137
  * @return {Select}
139
138
  * @throws {Error} map is not iterable