@schukai/monster 3.80.1 → 3.80.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/package.json +1 -1
  3. package/source/components/content/copy.mjs +7 -4
  4. package/source/components/datatable/change-button.mjs +1 -1
  5. package/source/components/datatable/columnbar.mjs +1 -1
  6. package/source/components/datatable/dataset.mjs +3 -3
  7. package/source/components/datatable/datasource/dom.mjs +2 -2
  8. package/source/components/datatable/datasource/rest.mjs +7 -7
  9. package/source/components/datatable/datasource.mjs +3 -3
  10. package/source/components/datatable/datatable/header.mjs +11 -11
  11. package/source/components/datatable/datatable.mjs +15 -15
  12. package/source/components/datatable/embedded-pagination.mjs +2 -2
  13. package/source/components/datatable/filter/date-range.mjs +5 -5
  14. package/source/components/datatable/filter/input.mjs +2 -2
  15. package/source/components/datatable/filter/range.mjs +3 -3
  16. package/source/components/datatable/filter/settings.mjs +5 -5
  17. package/source/components/datatable/filter/util.mjs +3 -3
  18. package/source/components/datatable/filter-button.mjs +1 -1
  19. package/source/components/datatable/filter.mjs +11 -11
  20. package/source/components/datatable/pagination.mjs +3 -3
  21. package/source/components/datatable/save-button.mjs +1 -1
  22. package/source/components/datatable/status.mjs +1 -1
  23. package/source/components/form/action-button.mjs +2 -2
  24. package/source/components/form/api-button.mjs +1 -1
  25. package/source/components/form/button-bar.mjs +3 -3
  26. package/source/components/form/confirm-button.mjs +4 -4
  27. package/source/components/form/context-error.mjs +4 -4
  28. package/source/components/form/context-help.mjs +1 -1
  29. package/source/components/form/field-set.mjs +2 -2
  30. package/source/components/form/form.mjs +3 -3
  31. package/source/components/form/message-state-button.mjs +6 -6
  32. package/source/components/form/popper-button.mjs +1 -1
  33. package/source/components/form/reload.mjs +5 -22
  34. package/source/components/form/select.mjs +11 -10
  35. package/source/components/form/shadow-reload.mjs +1 -1
  36. package/source/components/form/state-button.mjs +1 -1
  37. package/source/components/form/template.mjs +4 -4
  38. package/source/components/form/toggle-switch.mjs +1 -1
  39. package/source/components/form/tree-select.mjs +1 -1
  40. package/source/components/form/util/floating-ui.mjs +1 -1
  41. package/source/components/host/call-button.mjs +1 -1
  42. package/source/components/host/config-manager.mjs +6 -6
  43. package/source/components/host/host.mjs +8 -8
  44. package/source/components/host/overlay.mjs +13 -13
  45. package/source/components/host/toggle-button.mjs +1 -1
  46. package/source/components/host/util.mjs +1 -1
  47. package/source/components/host/viewer.mjs +5 -5
  48. package/source/components/layout/collapse.mjs +20 -19
  49. package/source/components/layout/details.mjs +5 -5
  50. package/source/components/layout/iframe.mjs +2 -2
  51. package/source/components/layout/panel.mjs +3 -3
  52. package/source/components/layout/popper.mjs +1 -1
  53. package/source/components/layout/slider.mjs +6 -6
  54. package/source/components/layout/split-panel.mjs +3 -3
  55. package/source/components/layout/tabs.mjs +3 -9
  56. package/source/components/layout/width-toggle.mjs +4 -4
  57. package/source/components/navigation/table-of-content.mjs +3 -3
  58. package/source/components/notify/message.mjs +0 -1
  59. package/source/components/state/log/entry.mjs +6 -6
  60. package/source/components/state/log.mjs +3 -39
  61. package/source/components/state/state.mjs +1 -1
  62. package/source/components/style/space.pcss +1 -1
  63. package/source/components/tree-menu/dragable-tree-menu.mjs +2 -2
  64. package/source/components/tree-menu/tree-menu.mjs +1 -1
  65. package/source/constraints/abstract.mjs +2 -2
  66. package/source/constraints/abstractoperator.mjs +1 -1
  67. package/source/constraints/andoperator.mjs +5 -5
  68. package/source/constraints/invalid.mjs +5 -5
  69. package/source/constraints/isarray.mjs +5 -5
  70. package/source/constraints/isobject.mjs +5 -5
  71. package/source/constraints/oroperator.mjs +5 -5
  72. package/source/constraints/valid.mjs +4 -4
  73. package/source/data/buildmap.mjs +2 -1
  74. package/source/data/datasource/dom.mjs +1 -1
  75. package/source/data/datasource/server/restapi/data-fetch-error.mjs +1 -2
  76. package/source/data/datasource/server/restapi/writeerror.mjs +1 -1
  77. package/source/data/datasource/server/restapi.mjs +2 -2
  78. package/source/data/datasource/server/webconnect.mjs +4 -4
  79. package/source/data/datasource/server.mjs +5 -5
  80. package/source/data/datasource/storage/localstorage.mjs +1 -1
  81. package/source/data/datasource/storage/sessionstorage.mjs +1 -1
  82. package/source/data/datasource/storage.mjs +1 -1
  83. package/source/data/datasource.mjs +4 -5
  84. package/source/data/pathfinder.mjs +10 -9
  85. package/source/data/pipe.mjs +5 -4
  86. package/source/data/transformer.mjs +23 -11
  87. package/source/dom/assembler.mjs +2 -2
  88. package/source/dom/attributes.mjs +2 -2
  89. package/source/dom/customcontrol.mjs +1 -26
  90. package/source/dom/customelement.mjs +36 -75
  91. package/source/dom/dimension.mjs +3 -3
  92. package/source/dom/focusmanager.mjs +1 -1
  93. package/source/dom/locale.mjs +1 -1
  94. package/source/dom/resource/data.mjs +1 -1
  95. package/source/dom/resource/link/stylesheet.mjs +1 -1
  96. package/source/dom/resource/link.mjs +1 -1
  97. package/source/dom/resource/script.mjs +1 -1
  98. package/source/dom/template.mjs +2 -2
  99. package/source/dom/theme.mjs +2 -2
  100. package/source/dom/updater.mjs +5 -6
  101. package/source/dom/util/extract-keys.mjs +1 -1
  102. package/source/dom/util/init-options-from-attributes.mjs +1 -1
  103. package/source/dom/util/set-option-from-attribute.mjs +1 -1
  104. package/source/dom/util.mjs +9 -9
  105. package/source/i18n/formatter.mjs +1 -3
  106. package/source/i18n/locale.mjs +2 -4
  107. package/source/i18n/provider.mjs +1 -3
  108. package/source/i18n/providers/embed.mjs +1 -3
  109. package/source/i18n/translations.mjs +2 -3
  110. package/source/logging/handler/console.mjs +1 -2
  111. package/source/logging/handler.mjs +11 -12
  112. package/source/logging/logentry.mjs +2 -2
  113. package/source/logging/logger.mjs +13 -22
  114. package/source/math/random.mjs +2 -2
  115. package/source/monster.mjs +1 -0
  116. package/source/net/webconnect/message.mjs +3 -4
  117. package/source/net/webconnect.mjs +10 -10
  118. package/source/text/bracketed-key-value-hash.mjs +2 -2
  119. package/source/text/generate-range-comparison-expression.mjs +1 -1
  120. package/source/types/base.mjs +4 -4
  121. package/source/types/basewithoptions.mjs +3 -5
  122. package/source/types/dataurl.mjs +6 -8
  123. package/source/types/global.mjs +2 -2
  124. package/source/types/internal.mjs +3 -3
  125. package/source/types/is.mjs +10 -20
  126. package/source/types/mediatype.mjs +1 -1
  127. package/source/types/node.mjs +1 -1
  128. package/source/types/nodelist.mjs +7 -7
  129. package/source/types/noderecursiveiterator.mjs +1 -5
  130. package/source/types/observablequeue.mjs +7 -11
  131. package/source/types/observer.mjs +6 -9
  132. package/source/types/observerlist.mjs +0 -2
  133. package/source/types/proxyobserver.mjs +8 -8
  134. package/source/types/queue.mjs +3 -4
  135. package/source/types/stack.mjs +3 -3
  136. package/source/types/tokenlist.mjs +12 -12
  137. package/source/types/uniquequeue.mjs +2 -2
  138. package/source/types/version.mjs +4 -4
  139. package/source/util/clone.mjs +2 -2
  140. package/source/util/comparator.mjs +1 -2
  141. package/source/util/deadmansswitch.mjs +7 -5
  142. package/source/util/freeze.mjs +1 -1
  143. package/source/util/processing/callback.mjs +56 -0
  144. package/source/util/processing.mjs +4 -42
  145. package/source/util/runtime.mjs +1 -1
@@ -81,12 +81,13 @@ const WILDCARD = "*";
81
81
  * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}
82
82
  * ```
83
83
  *
84
- * @externalExample ../../example/data/pathfinder-1.mjs
85
- * @externalExample ../../example/data/pathfinder-2.mjs
84
+ * @example /examples/libraries/pathfinder/example-1/ Example 1
85
+ * @example /examples/libraries/pathfinder/example-2/ Example 2
86
+ *
86
87
  * @license AGPLv3
87
88
  * @since 1.4.0
88
89
  * @copyright schukai GmbH
89
- * @memberOf Monster.Data
90
+ * @summary Pathfinder is a class to find a path to an object.
90
91
  */
91
92
  class Pathfinder extends Base {
92
93
  /**
@@ -124,7 +125,7 @@ class Pathfinder extends Base {
124
125
  *
125
126
  * @param {string|array} path
126
127
  * @since 1.4.0
127
- * @returns {*}
128
+ * @return {*}
128
129
  * @throws {TypeError} unsupported type
129
130
  * @throws {Error} the journey is not at its end
130
131
  * @throws {TypeError} value is not a string
@@ -139,7 +140,7 @@ class Pathfinder extends Base {
139
140
  *
140
141
  * @param {string|array} path
141
142
  * @param {*} value
142
- * @returns {Pathfinder}
143
+ * @return {Pathfinder}
143
144
  * @since 1.4.0
144
145
  * @throws {TypeError} unsupported type
145
146
  * @throws {TypeError} value is not a string
@@ -155,7 +156,7 @@ class Pathfinder extends Base {
155
156
  * Delete Via Path
156
157
  *
157
158
  * @param {string|array} path
158
- * @returns {Pathfinder}
159
+ * @return {Pathfinder}
159
160
  * @since 1.6.0
160
161
  * @throws {TypeError} unsupported type
161
162
  * @throws {TypeError} value is not a string
@@ -226,7 +227,7 @@ function iterate(subject, path, check) {
226
227
  * @param subject
227
228
  * @param path
228
229
  * @param check
229
- * @returns {V|*|Map}
230
+ * @return {V|*|Map}
230
231
  * @throws {TypeError} unsupported type
231
232
  * @throws {Error} the journey is not at its end
232
233
  * @throws {Error} unsupported action for this data type
@@ -306,7 +307,7 @@ function getValueViaPath(subject, path, check) {
306
307
  * @param {object} subject
307
308
  * @param {string|array} path
308
309
  * @param {*} value
309
- * @returns {void}
310
+ * @return {void}
310
311
  * @throws {TypeError} unsupported type
311
312
  * @throws {TypeError} unsupported type
312
313
  * @throws {Error} the journey is not at its end
@@ -405,7 +406,7 @@ function assignProperty(object, key, value) {
405
406
  *
406
407
  * @param {object} subject
407
408
  * @param {string} path
408
- * @returns {void}
409
+ * @return {void}
409
410
  * @throws {TypeError} unsupported type
410
411
  * @throws {TypeError} unsupported type
411
412
  * @throws {Error} the journey is not at its end
@@ -32,11 +32,12 @@ const DELIMITER = "|";
32
32
  * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).
33
33
  * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.
34
34
  *
35
- * @externalExample ../../example/data/pipe.mjs
35
+ * @example /examples/libraries/pipe/example-1/
36
+ *
36
37
  * @license AGPLv3
37
38
  * @since 1.5.0
38
39
  * @copyright schukai GmbH
39
- * @memberOf Monster.Data
40
+ * @summary The pipe class makes it possible to combine several processing steps.
40
41
  */
41
42
  class Pipe extends Base {
42
43
  /**
@@ -56,7 +57,7 @@ class Pipe extends Base {
56
57
  * @param {string} name
57
58
  * @param {function} callback
58
59
  * @param {object} context
59
- * @returns {Transformer}
60
+ * @return {Transformer}
60
61
  * @throws {TypeError} value is not a string
61
62
  * @throws {TypeError} value is not a function
62
63
  */
@@ -72,7 +73,7 @@ class Pipe extends Base {
72
73
  * run a pipe
73
74
  *
74
75
  * @param {*} value
75
- * @returns {*}
76
+ * @return {*}
76
77
  */
77
78
  run(value) {
78
79
  return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {
@@ -35,21 +35,21 @@ import { Pathfinder } from "./pathfinder.mjs";
35
35
  export { Transformer };
36
36
 
37
37
  /**
38
- * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.
38
+ * The transformer class is a swiss army knife for manipulating values.
39
39
  *
40
40
  * A simple example is the conversion of all characters to lowercase. for this purpose the command `tolower` must be used.
41
41
  *
42
- * ```
42
+ * ```js
43
43
  * let t = new Transformer('tolower').run('ABC'); // ↦ abc
44
44
  * ```
45
45
  *
46
- * @see {@link https://monsterjs.org/en/doc/#transformer|Monster Docs}
46
+ * @fragments /fragments/libraries/transformer
47
+ *
48
+ * @example /examples/libraries/transformer/simple
47
49
  *
48
- * @externalExample ../../example/data/transformer.mjs
49
- * @license AGPLv3
50
50
  * @since 1.5.0
51
51
  * @copyright schukai GmbH
52
- * @memberOf Monster.Data
52
+ * @summary The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.
53
53
  */
54
54
  class Transformer extends Base {
55
55
  /**
@@ -68,7 +68,7 @@ class Transformer extends Base {
68
68
  * @param {string} name
69
69
  * @param {function} callback
70
70
  * @param {object} context
71
- * @returns {Transformer}
71
+ * @return {Transformer}
72
72
  * @throws {TypeError} value is not a string
73
73
  * @throws {TypeError} value is not a function
74
74
  */
@@ -91,7 +91,7 @@ class Transformer extends Base {
91
91
  /**
92
92
  *
93
93
  * @param {*} value
94
- * @returns {*}
94
+ * @return {*}
95
95
  * @throws {Error} unknown command
96
96
  * @throws {TypeError} unsupported type
97
97
  * @throws {Error} type not supported
@@ -104,7 +104,7 @@ class Transformer extends Base {
104
104
  /**
105
105
  *
106
106
  * @param {string} command
107
- * @returns {array}
107
+ * @return {array}
108
108
  * @private
109
109
  */
110
110
  function disassemble(command) {
@@ -149,7 +149,7 @@ function disassemble(command) {
149
149
  * tries to make a string out of value and if this succeeds to return it back
150
150
  *
151
151
  * @param {*} value
152
- * @returns {string}
152
+ * @return {string}
153
153
  * @private
154
154
  */
155
155
  function convertToString(value) {
@@ -164,7 +164,7 @@ function convertToString(value) {
164
164
  /**
165
165
  *
166
166
  * @param {*} value
167
- * @returns {*}
167
+ * @return {*}
168
168
  * @private
169
169
  * @throws {Error} unknown command
170
170
  * @throws {TypeError} unsupported type
@@ -835,6 +835,13 @@ function transform(value) {
835
835
  }
836
836
  }
837
837
 
838
+ /**
839
+ * converts special strings to their values
840
+ * @private
841
+ * @param input
842
+ * @param value
843
+ * @return {undefined|*|null|string}
844
+ */
838
845
  function convertSpecialStrings(input, value) {
839
846
  switch (input) {
840
847
  case "value":
@@ -850,6 +857,11 @@ function convertSpecialStrings(input, value) {
850
857
  }
851
858
  }
852
859
 
860
+ /**
861
+ * checks if a value is true or not
862
+ * @param value
863
+ * @return {boolean}
864
+ */
853
865
  function evaluateCondition(value) {
854
866
  const lowerValue = typeof value === "string" ? value.toLowerCase() : value;
855
867
 
@@ -53,7 +53,7 @@ class Assembler extends Base {
53
53
  /**
54
54
  *
55
55
  * @param {string} prefix
56
- * @returns {Assembler}
56
+ * @return {Assembler}
57
57
  * @throws {TypeError} value is not a string
58
58
  */
59
59
  setAttributePrefix(prefix) {
@@ -64,7 +64,7 @@ class Assembler extends Base {
64
64
 
65
65
  /**
66
66
  *
67
- * @returns {string}
67
+ * @return {string}
68
68
  */
69
69
  getAttributePrefix() {
70
70
  return this.attributePrefix;
@@ -65,7 +65,7 @@ function findClosestObjectLink(element) {
65
65
  * @param element
66
66
  * @param symbol
67
67
  * @param object
68
- * @returns {*}
68
+ * @return {*}
69
69
  */
70
70
  function addToObjectLink(element, symbol, object) {
71
71
  validateInstance(element, HTMLElement);
@@ -89,7 +89,7 @@ function addToObjectLink(element, symbol, object) {
89
89
  * @memberOf Monster.DOM
90
90
  * @param {HTMLElement} element
91
91
  * @param {Symbol} symbol
92
- * @returns {*}
92
+ * @return {*}
93
93
  */
94
94
  function removeObjectLink(element, symbol) {
95
95
  validateInstance(element, HTMLElement);
@@ -32,8 +32,6 @@ const attachedInternalSymbol = Symbol("attachedInternal");
32
32
  * After defining a `CustomElement`, the `registerCustomElement` method must be called with the new class name. Only then
33
33
  * will the tag defined via the `getTag` method be made known to the DOM.
34
34
  *
35
- * <img src="./images/custom-control.png">
36
- *
37
35
  * This control uses `attachInternals()` to integrate the control into a form. If the target environment does not support
38
36
  * this method, the [polyfill](https://www.npmjs.com/package/element-internals-polyfill) can be used.
39
37
  *
@@ -48,18 +46,9 @@ const attachedInternalSymbol = Symbol("attachedInternal");
48
46
  *
49
47
  * Read the HTML specification for Custom Element Reactions: {@link https://html.spec.whatwg.org/dev/custom-elements.html#custom-element-reactions|Custom Element Reactions}.
50
48
  *
51
- * @startuml custom-control.png
52
- * skinparam monochrome true
53
- * skinparam shadowing false
54
- * HTMLElement <|-- CustomElement
55
- * CustomElement <|-- CustomControl
56
- * @enduml
57
49
  * @summary A base class for custom controls based on CustomElement.
58
- * @copyright schukai GmbH
59
50
  * @license AGPLv3
60
51
  * @since 1.14.0
61
- * @memberOf Monster.DOM
62
- * @extends Monster.DOM.CustomElement
63
52
  */
64
53
  class CustomControl extends CustomElement {
65
54
  /**
@@ -74,7 +63,6 @@ class CustomControl extends CustomElement {
74
63
  *
75
64
  * @inheritdoc
76
65
  * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
77
- * @since 1.7.0
78
66
  */
79
67
  constructor() {
80
68
  super();
@@ -95,7 +83,7 @@ class CustomControl extends CustomElement {
95
83
 
96
84
  /**
97
85
  * This method is called by the `instanceof` operator.
98
- * @returns {symbol}
86
+ * @return {symbol}
99
87
  * @since 2.1.0
100
88
  */
101
89
  static get [instanceSymbol]() {
@@ -117,14 +105,12 @@ class CustomControl extends CustomElement {
117
105
  *
118
106
  * @see [attachInternals()]{@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals}
119
107
  * @see [Custom Elements Face Example]{@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example}
120
- * @since 1.14.0
121
108
  * @return {boolean}
122
109
  */
123
110
  static formAssociated = true;
124
111
 
125
112
  /**
126
113
  * @inheritdoc
127
- * @since 1.14.0
128
114
  **/
129
115
  get defaults() {
130
116
  return extend({}, super.defaults);
@@ -135,7 +121,6 @@ class CustomControl extends CustomElement {
135
121
  *
136
122
  * This is a method of [internal API](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals), which is a part of the web standard for custom elements.
137
123
  *
138
- * @since 1.14.0
139
124
  * @throws {Error} the value getter must be overwritten by the derived class
140
125
  */
141
126
  get value() {
@@ -148,7 +133,6 @@ class CustomControl extends CustomElement {
148
133
  * This is a method of [internal API](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals), which is a part of the web standard for custom elements.
149
134
  *
150
135
  * @param {*} value The value to set.
151
- * @since 1.14.0
152
136
  * @throws {Error} the value setter must be overwritten by the derived class
153
137
  */
154
138
  set value(value) {
@@ -159,7 +143,6 @@ class CustomControl extends CustomElement {
159
143
  * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
160
144
  *
161
145
  * @return {NodeList}
162
- * @since 1.14.0
163
146
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/labels}
164
147
  * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
165
148
  */
@@ -201,7 +184,6 @@ class CustomControl extends CustomElement {
201
184
  * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
202
185
  *
203
186
  * @return {string}
204
- * @since 1.14.0
205
187
  * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/validationMessage
206
188
  * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
207
189
  */
@@ -213,7 +195,6 @@ class CustomControl extends CustomElement {
213
195
  * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
214
196
  *
215
197
  * @return {boolean}
216
- * @since 1.14.0
217
198
  * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/willValidate
218
199
  * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
219
200
  */
@@ -225,7 +206,6 @@ class CustomControl extends CustomElement {
225
206
  * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
226
207
  *
227
208
  * @return {boolean}
228
- * @since 1.14.0
229
209
  * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/states
230
210
  * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
231
211
  */
@@ -237,7 +217,6 @@ class CustomControl extends CustomElement {
237
217
  * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
238
218
  *
239
219
  * @return {HTMLFontElement|null}
240
- * @since 1.14.0
241
220
  * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/form
242
221
  * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
243
222
  */
@@ -259,7 +238,6 @@ class CustomControl extends CustomElement {
259
238
  *
260
239
  * @param {File|string|FormData} value
261
240
  * @param {File|string|FormData} state
262
- * @since 1.14.0
263
241
  * @return {undefined}
264
242
  * @throws {DOMException} NotSupportedError
265
243
  * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
@@ -275,7 +253,6 @@ class CustomControl extends CustomElement {
275
253
  * @param {string|undefined} message
276
254
  * @param {HTMLElement} anchor
277
255
  * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/setValidity
278
- * @since 1.14.0
279
256
  * @return {undefined}
280
257
  * @throws {DOMException} NotSupportedError
281
258
  * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
@@ -288,7 +265,6 @@ class CustomControl extends CustomElement {
288
265
  * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
289
266
  *
290
267
  * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/checkValidity
291
- * @since 1.14.0
292
268
  * @return {boolean}
293
269
  * @throws {DOMException} NotSupportedError
294
270
  * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
@@ -301,7 +277,6 @@ class CustomControl extends CustomElement {
301
277
  * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
302
278
  *
303
279
  * @return {boolean}
304
- * @since 1.14.0
305
280
  * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/reportValidity
306
281
  * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
307
282
  * @throws {DOMException} NotSupportedError
@@ -119,49 +119,6 @@ const updateCloneDataSymbol = Symbol("@schukai/monster/dom/@@updateCloneData");
119
119
  */
120
120
  const scriptHostElementSymbol = Symbol("scriptHostElement");
121
121
 
122
- /**
123
- * HTMLElement
124
- * @external HTMLElement
125
- * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
126
- *
127
- * @startuml customelement-sequencediagram.png
128
- * skinparam monochrome true
129
- * skinparam shadowing false
130
- *
131
- * autonumber
132
- *
133
- * Script -> DOM: element = document.createElement('my-element')
134
- * DOM -> CustomElement: constructor()
135
- * CustomElement -> CustomElement: [initMethodSymbol]()
136
- *
137
- * CustomElement --> DOM: Element
138
- * DOM --> Script : element
139
- *
140
- *
141
- * Script -> DOM: document.querySelector('body').append(element)
142
- *
143
- * DOM -> CustomElement : connectedCallback()
144
- *
145
- * note right CustomElement: is only called at\nthe first connection
146
- * CustomElement -> CustomElement : [assembleMethodSymbol]()
147
- *
148
- * ... ...
149
- *
150
- * autonumber
151
- *
152
- * Script -> DOM: document.querySelector('monster-confirm-button').parentNode.removeChild(element)
153
- * DOM -> CustomElement: disconnectedCallback()
154
- *
155
- *
156
- * @enduml
157
- *
158
- * @startuml customelement-class.png
159
- * skinparam monochrome true
160
- * skinparam shadowing false
161
- * HTMLElement <|-- CustomElement
162
- * @enduml
163
- */
164
-
165
122
  /**
166
123
  * The `CustomElement` class provides a way to define a new HTML element using the power of Custom Elements.
167
124
  *
@@ -170,10 +127,6 @@ const scriptHostElementSymbol = Symbol("scriptHostElement");
170
127
  *
171
128
  * You can create an instance of the object via the `document.createElement()` function.
172
129
  *
173
- * ## Interaction
174
- *
175
- * <img src="./images/customelement-sequencediagram.png">
176
- *
177
130
  * ## Styling
178
131
  *
179
132
  * To display custom elements optimally, the `:defined` pseudo-class can be used. To prevent custom elements from being displayed and flickering until the control is registered,
@@ -234,23 +187,19 @@ const scriptHostElementSymbol = Symbol("scriptHostElement");
234
187
  * More information about Custom Elements can be found in the [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements).
235
188
  * And in the [HTML Standard](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements) or in the [WHATWG Wiki](https://wiki.whatwg.org/wiki/Custom_Elements).
236
189
  *
237
- * @externalExample ../../example/dom/theme.mjs
238
190
  * @license AGPLv3
239
191
  * @since 1.7.0
240
192
  * @copyright schukai GmbH
241
- * @memberOf Monster.DOM
242
- * @extends external:HTMLElement
243
193
  * @summary A base class for HTML5 custom controls.
244
194
  */
245
195
  class CustomElement extends HTMLElement {
246
196
  /**
247
- * A new object is created. First the `initOptions` method is called. Here the
197
+ * A new object is created. First, the `initOptions` method is called. Here the
248
198
  * options can be defined in derived classes. Subsequently, the shadowRoot is initialized.
249
199
  *
250
200
  * IMPORTANT: CustomControls instances are not created via the constructor, but either via a tag in the HTML or via <code>document.createElement()</code>.
251
201
  *
252
- * @throws {Error} the options attribute does not contain a valid json definition.
253
- * @since 1.7.0
202
+ * @throws {Error} the option attribute does not contain a valid JSON definition.
254
203
  */
255
204
  constructor() {
256
205
  super();
@@ -266,7 +215,8 @@ class CustomElement extends HTMLElement {
266
215
 
267
216
  /**
268
217
  * This method is called by the `instanceof` operator.
269
- * @returns {symbol}
218
+ *
219
+ * @return {symbol}
270
220
  * @since 2.1.0
271
221
  */
272
222
  static get [instanceSymbol]() {
@@ -289,7 +239,7 @@ class CustomElement extends HTMLElement {
289
239
  *
290
240
  * @param attribute
291
241
  * @param callback
292
- * @returns {Monster.DOM.CustomElement}
242
+ * @return {Monster.DOM.CustomElement}
293
243
  */
294
244
  addAttributeObserver(attribute, callback) {
295
245
  validateFunction(callback);
@@ -300,7 +250,7 @@ class CustomElement extends HTMLElement {
300
250
  /**
301
251
  *
302
252
  * @param attribute
303
- * @returns {Monster.DOM.CustomElement}
253
+ * @return {Monster.DOM.CustomElement}
304
254
  */
305
255
  removeAttributeObserver(attribute) {
306
256
  delete this[attributeObserverSymbol][attribute];
@@ -362,7 +312,7 @@ class CustomElement extends HTMLElement {
362
312
  *
363
313
  * Before you can use this method, you must have loaded the translations.
364
314
  *
365
- * @returns {Monster.DOM.CustomElement}
315
+ * @return {Monster.DOM.CustomElement}
366
316
  * @throws {Error} Cannot find an element with translations. Add a translation object to the document.
367
317
  */
368
318
  updateI18n() {
@@ -441,10 +391,12 @@ class CustomElement extends HTMLElement {
441
391
  * Example usage:
442
392
  *
443
393
  * ```js
444
- * static getCSSStyleSheet() {
445
- * const sheet = new CSSStyleSheet();
446
- * sheet.replaceSync("p { color: red; }");
447
- * return sheet;
394
+ * class MyElement extends CustomElement {
395
+ * static getCSSStyleSheet() {
396
+ * const sheet = new CSSStyleSheet();
397
+ * sheet.replaceSync("p { color: red; }");
398
+ * return sheet;
399
+ * }
448
400
  * }
449
401
  * ```
450
402
  *
@@ -470,7 +422,7 @@ class CustomElement extends HTMLElement {
470
422
  * attach a new observer
471
423
  *
472
424
  * @param {Observer} observer
473
- * @returns {CustomElement}
425
+ * @return {CustomElement}
474
426
  */
475
427
  attachObserver(observer) {
476
428
  this[internalSymbol].attachObserver(observer);
@@ -481,7 +433,7 @@ class CustomElement extends HTMLElement {
481
433
  * detach a observer
482
434
  *
483
435
  * @param {Observer} observer
484
- * @returns {CustomElement}
436
+ * @return {CustomElement}
485
437
  */
486
438
  detachObserver(observer) {
487
439
  this[internalSymbol].detachObserver(observer);
@@ -490,7 +442,7 @@ class CustomElement extends HTMLElement {
490
442
 
491
443
  /**
492
444
  * @param {Observer} observer
493
- * @returns {ProxyObserver}
445
+ * @return {ProxyObserver}
494
446
  */
495
447
  containsObserver(observer) {
496
448
  return this[internalSymbol].containsObserver(observer);
@@ -564,13 +516,18 @@ class CustomElement extends HTMLElement {
564
516
  * This method is called once when the object is equipped with update for the dynamic change of the dom.
565
517
  * The functions returned here can be used as pipe functions in the template.
566
518
  *
567
- * In the example, the function `my-transformer` is defined. In the template you can use it as follows:
519
+ * In the example, the function `my-transformer` is defined. In the template, you can use it as follows:
568
520
  *
569
521
  * ```html
570
- * <my-element data-monster-option-transformer="path:my-value | call:my-transformer"></my-element>
522
+ * <my-element
523
+ * data-monster-option-transformer="path:my-value | call:my-transformer">
524
+ * </my-element>
571
525
  * ```
572
526
  *
573
- * @example
527
+ * The function `my-transformer` is called with the value of `my-value` as a parameter.
528
+ *
529
+ * ```js
530
+ * class MyElement extends CustomElement {
574
531
  * [updaterTransformerMethodsSymbol]() {
575
532
  * return {
576
533
  * "my-transformer": (value) => {
@@ -585,6 +542,8 @@ class CustomElement extends HTMLElement {
585
542
  * }
586
543
  * };
587
544
  * };
545
+ * }
546
+ * ```
588
547
  *
589
548
  * @return {object}
590
549
  * @since 2.43.0
@@ -595,11 +554,13 @@ class CustomElement extends HTMLElement {
595
554
 
596
555
  /**
597
556
  * This method is called once when the object is included in the DOM for the first time. It performs the following actions:
598
- * 1. Extracts the options from the attributes and the script tag of the element and sets them.
599
- * 2. Initializes the shadow root and its CSS stylesheet (if specified).
600
- * 3. Initializes the HTML content of the element.
601
- * 4. Initializes the custom elements inside the shadow root and the slotted elements.
602
- * 5. Attaches a mutation observer to observe changes to the attributes of the element.
557
+ *
558
+ * <ol>
559
+ * <li>Extracts the options from the attributes and the script tag of the element and sets them.</li>
560
+ * <li>Initializes the shadow root and its CSS stylesheet (if specified).</li>
561
+ * <li>Initializes the HTML content of the element.</li>
562
+ * <li>Initializes the custom elements inside the shadow root and the slotted elements.</li>
563
+ * <li>Attaches a mutation observer to observe changes to the attributes of the element.</li>
603
564
  *
604
565
  * @return {CustomElement} - The updated custom element.
605
566
  * @since 1.8.0
@@ -680,7 +641,7 @@ class CustomElement extends HTMLElement {
680
641
  * You know what you are doing? This function is only for advanced users.
681
642
  * The result is a clone of the internal data.
682
643
  *
683
- * @returns {*}
644
+ * @return {*}
684
645
  */
685
646
  getInternalUpdateCloneData() {
686
647
  return clone(this[updateCloneDataSymbol]);
@@ -772,7 +733,7 @@ class CustomElement extends HTMLElement {
772
733
  *
773
734
  * @param {string} name
774
735
  * @param {*} args
775
- * @returns {*}
736
+ * @return {*}
776
737
  */
777
738
  callCallback(name, args) {
778
739
  return callControlCallback.call(this, name, ...args);
@@ -1074,7 +1035,7 @@ function getOptionsFromAttributes() {
1074
1035
  *
1075
1036
  * @private
1076
1037
  * @param {string} data The JSON data to be parsed.
1077
- * @returns {Object} The parsed object.
1038
+ * @return {Object} The parsed object.
1078
1039
  * @throws {error} Throws an error if the JSON data is not valid.
1079
1040
  */
1080
1041
  function parseOptionsJSON(data) {
@@ -21,7 +21,7 @@ export { convertToPixels, getDeviceDPI };
21
21
  * Stores the DPI of the device.
22
22
  *
23
23
  * @private
24
- * @returns {number}
24
+ * @return {number}
25
25
  * @since 3.34.0
26
26
  * @type {number|function}
27
27
  */
@@ -40,7 +40,7 @@ let CURRENT_DEVICE_DPI = function () {
40
40
  *
41
41
  * @since 3.34.0
42
42
  * @memberOf Monster.DOM
43
- * @returns {number}
43
+ * @return {number}
44
44
  */
45
45
  function getDeviceDPI() {
46
46
  // only call the function once
@@ -72,7 +72,7 @@ function getDeviceDPI() {
72
72
  * @param {string} value
73
73
  * @param {HTMLElement} [parentElement=document.documentElement]
74
74
  * @param {HTMLElement} [fontSizeElement=document.documentElement]
75
- * @returns {number}
75
+ * @return {number}
76
76
  * @license AGPLv3
77
77
  * @since 3.34.0
78
78
  * @copyright schukai GmbH
@@ -63,7 +63,7 @@ class FocusManager extends BaseWithOptions {
63
63
 
64
64
  /**
65
65
  * This method is called by the `instanceof` operator.
66
- * @returns {symbol}
66
+ * @return {symbol}
67
67
  * @since 2.1.0
68
68
  */
69
69
  static get [instanceSymbol]() {
@@ -64,7 +64,7 @@ function getLocaleOfDocument() {
64
64
 
65
65
  /**
66
66
  * @private
67
- * @returns {string|undefined|*}
67
+ * @return {string|undefined|*}
68
68
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language
69
69
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/languages
70
70
  */
@@ -85,7 +85,7 @@ class Data extends Resource {
85
85
 
86
86
  /**
87
87
  * This method is called by the `instanceof` operator.
88
- * @returns {symbol}
88
+ * @return {symbol}
89
89
  * @since 2.1.0
90
90
  */
91
91
  static get [instanceSymbol]() {
@@ -39,7 +39,7 @@ class Stylesheet extends Link {
39
39
 
40
40
  /**
41
41
  * This method is called by the `instanceof` operator.
42
- * @returns {symbol}
42
+ * @return {symbol}
43
43
  * @since 2.1.0
44
44
  */
45
45
  static get [instanceSymbol]() {