@schukai/monster 1.15.0 → 1.15.2

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 (146) hide show
  1. package/CHANGELOG +6 -0
  2. package/README.md +5 -5
  3. package/dist/modules/constants.js +1 -1
  4. package/dist/modules/constraints/abstract.js +2 -2
  5. package/dist/modules/constraints/abstractoperator.js +2 -2
  6. package/dist/modules/constraints/andoperator.js +2 -2
  7. package/dist/modules/constraints/invalid.js +2 -2
  8. package/dist/modules/constraints/isarray.js +2 -2
  9. package/dist/modules/constraints/isobject.js +2 -2
  10. package/dist/modules/constraints/namespace.js +1 -1
  11. package/dist/modules/constraints/oroperator.js +2 -2
  12. package/dist/modules/constraints/valid.js +2 -2
  13. package/dist/modules/data/buildmap.js +2 -2
  14. package/dist/modules/data/diff.js +2 -2
  15. package/dist/modules/data/extend.js +2 -2
  16. package/dist/modules/data/namespace.js +1 -1
  17. package/dist/modules/data/pathfinder.js +2 -2
  18. package/dist/modules/data/pipe.js +2 -2
  19. package/dist/modules/data/transformer.js +2 -2
  20. package/dist/modules/dom/assembler.js +2 -2
  21. package/dist/modules/dom/attributes.js +2 -2
  22. package/dist/modules/dom/constants.js +2 -2
  23. package/dist/modules/dom/customcontrol.js +2 -2
  24. package/dist/modules/dom/customelement.js +2 -2
  25. package/dist/modules/dom/events.js +2 -2
  26. package/dist/modules/dom/locale.js +2 -2
  27. package/dist/modules/dom/namespace.js +1 -1
  28. package/dist/modules/dom/template.js +2 -2
  29. package/dist/modules/dom/theme.js +2 -2
  30. package/dist/modules/dom/updater.js +2 -2
  31. package/dist/modules/dom/util.js +2 -2
  32. package/dist/modules/i18n/locale.js +2 -2
  33. package/dist/modules/i18n/namespace.js +1 -1
  34. package/dist/modules/i18n/provider.js +2 -2
  35. package/dist/modules/i18n/providers/fetch.js +2 -2
  36. package/dist/modules/i18n/providers/namespace.js +1 -1
  37. package/dist/modules/i18n/translations.js +2 -2
  38. package/dist/modules/logging/handler/console.js +2 -2
  39. package/dist/modules/logging/handler/namespace.js +1 -1
  40. package/dist/modules/logging/handler.js +2 -2
  41. package/dist/modules/logging/logentry.js +2 -2
  42. package/dist/modules/logging/logger.js +2 -2
  43. package/dist/modules/logging/namespace.js +1 -1
  44. package/dist/modules/math/namespace.js +1 -1
  45. package/dist/modules/math/random.js +2 -2
  46. package/dist/modules/monster.js +2 -2
  47. package/dist/modules/namespace.js +2 -2
  48. package/dist/modules/text/formatter.js +2 -2
  49. package/dist/modules/text/namespace.js +1 -1
  50. package/dist/modules/types/base.js +2 -2
  51. package/dist/modules/types/basewithoptions.js +2 -2
  52. package/dist/modules/types/global.js +2 -2
  53. package/dist/modules/types/id.js +2 -2
  54. package/dist/modules/types/is.js +2 -2
  55. package/dist/modules/types/namespace.js +1 -1
  56. package/dist/modules/types/observer.js +2 -2
  57. package/dist/modules/types/observerlist.js +2 -2
  58. package/dist/modules/types/proxyobserver.js +2 -2
  59. package/dist/modules/types/queue.js +2 -2
  60. package/dist/modules/types/randomid.js +2 -2
  61. package/dist/modules/types/stack.js +2 -2
  62. package/dist/modules/types/tokenlist.js +2 -2
  63. package/dist/modules/types/typeof.js +2 -2
  64. package/dist/modules/types/uniquequeue.js +2 -2
  65. package/dist/modules/types/validate.js +2 -2
  66. package/dist/modules/types/version.js +2 -2
  67. package/dist/modules/util/clone.js +2 -2
  68. package/dist/modules/util/comparator.js +2 -2
  69. package/dist/modules/util/freeze.js +2 -2
  70. package/dist/modules/util/namespace.js +1 -1
  71. package/dist/monster.dev.js +7321 -7322
  72. package/dist/monster.dev.js.map +1 -1
  73. package/dist/monster.js +2 -9
  74. package/package.json +1 -1
  75. package/source/constraints/abstract.js +1 -1
  76. package/source/constraints/abstractoperator.js +2 -2
  77. package/source/constraints/andoperator.js +7 -7
  78. package/source/constraints/invalid.js +4 -4
  79. package/source/constraints/isarray.js +6 -6
  80. package/source/constraints/isobject.js +6 -6
  81. package/source/constraints/namespace.js +2 -2
  82. package/source/constraints/oroperator.js +7 -7
  83. package/source/constraints/valid.js +6 -6
  84. package/source/data/buildmap.js +3 -3
  85. package/source/data/diff.js +8 -8
  86. package/source/data/extend.js +6 -6
  87. package/source/data/namespace.js +2 -2
  88. package/source/data/pathfinder.js +12 -12
  89. package/source/data/pipe.js +7 -7
  90. package/source/data/transformer.js +9 -9
  91. package/source/dom/assembler.js +6 -6
  92. package/source/dom/attributes.js +26 -27
  93. package/source/dom/constants.js +1 -1
  94. package/source/dom/customcontrol.js +80 -82
  95. package/source/dom/customelement.js +87 -87
  96. package/source/dom/events.js +7 -7
  97. package/source/dom/locale.js +4 -4
  98. package/source/dom/namespace.js +2 -2
  99. package/source/dom/template.js +23 -18
  100. package/source/dom/theme.js +7 -8
  101. package/source/dom/updater.js +18 -23
  102. package/source/dom/util.js +10 -10
  103. package/source/i18n/locale.js +5 -5
  104. package/source/i18n/namespace.js +1 -1
  105. package/source/i18n/provider.js +4 -4
  106. package/source/i18n/providers/fetch.js +7 -7
  107. package/source/i18n/translations.js +4 -4
  108. package/source/logging/handler/console.js +4 -4
  109. package/source/logging/handler/namespace.js +1 -1
  110. package/source/logging/handler.js +7 -7
  111. package/source/logging/logentry.js +4 -4
  112. package/source/logging/logger.js +4 -4
  113. package/source/logging/namespace.js +2 -2
  114. package/source/math/namespace.js +2 -2
  115. package/source/math/random.js +4 -4
  116. package/source/monster.js +42 -44
  117. package/source/namespace.js +2 -2
  118. package/source/text/formatter.js +5 -5
  119. package/source/text/namespace.js +1 -1
  120. package/source/types/base.js +3 -3
  121. package/source/types/basewithoptions.js +7 -7
  122. package/source/types/global.js +6 -6
  123. package/source/types/id.js +5 -5
  124. package/source/types/is.js +21 -21
  125. package/source/types/namespace.js +2 -2
  126. package/source/types/observer.js +6 -6
  127. package/source/types/observerlist.js +3 -3
  128. package/source/types/proxyobserver.js +21 -21
  129. package/source/types/queue.js +4 -4
  130. package/source/types/randomid.js +5 -5
  131. package/source/types/stack.js +3 -3
  132. package/source/types/tokenlist.js +8 -8
  133. package/source/types/typeof.js +4 -4
  134. package/source/types/uniquequeue.js +7 -7
  135. package/source/types/validate.js +26 -26
  136. package/source/types/version.js +7 -7
  137. package/source/util/clone.js +5 -5
  138. package/source/util/comparator.js +6 -6
  139. package/source/util/freeze.js +6 -6
  140. package/source/util/namespace.js +2 -2
  141. package/test/cases/dom/template.js +40 -1
  142. package/test/cases/monster.js +1 -1
  143. package/test/web/monster-dev.html +3 -3
  144. package/test/web/monster.html +2 -2
  145. package/test/web/test.html +3 -3
  146. package/test/web/tests.js +2 -2
@@ -4,9 +4,8 @@
4
4
  * @author schukai GmbH
5
5
  */
6
6
 
7
- import {Monster, assignToNamespace} from '../namespace.js';
7
+ import {assignToNamespace, Monster} from '../namespace.js';
8
8
  import {getGlobalFunction} from "../types/global.js";
9
- import {isInstance} from "../types/is.js";
10
9
  import {TokenList} from "../types/tokenlist.js";
11
10
  import {validateInstance, validateString, validateSymbol} from "../types/validate.js";
12
11
  import {ATTRIBUTE_OBJECTLINK} from "./constants.js";
@@ -21,7 +20,7 @@ import {ATTRIBUTE_OBJECTLINK} from "./constants.js";
21
20
  *
22
21
  * ```
23
22
  * <script type="module">
24
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/updater.js';
23
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/updater.js';
25
24
  * console.log(Monster.DOM.findClosestObjectLink())
26
25
  * </script>
27
26
  * ```
@@ -30,7 +29,7 @@ import {ATTRIBUTE_OBJECTLINK} from "./constants.js";
30
29
  *
31
30
  * ```
32
31
  * <script type="module">
33
- * import {getUpdaterFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/updater.js';
32
+ * import {getUpdaterFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/updater.js';
34
33
  * console.log(findClosestObjectLink())
35
34
  * </script>
36
35
  * ```
@@ -51,7 +50,7 @@ function findClosestObjectLink(element) {
51
50
  *
52
51
  * ```
53
52
  * <script type="module">
54
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
53
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
55
54
  * Monster.DOM.addToObjectLink();
56
55
  * </script>
57
56
  * ```
@@ -60,7 +59,7 @@ function findClosestObjectLink(element) {
60
59
  *
61
60
  * ```
62
61
  * <script type="module">
63
- * import {addToObjectLink} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
62
+ * import {addToObjectLink} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
64
63
  * addToObjectLink();
65
64
  * </script>
66
65
  * ```
@@ -93,7 +92,7 @@ function addToObjectLink(element, symbol, object) {
93
92
  *
94
93
  * ```
95
94
  * <script type="module">
96
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
95
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
97
96
  * Monster.DOM.removeObjectLink();
98
97
  * </script>
99
98
  * ```
@@ -102,7 +101,7 @@ function addToObjectLink(element, symbol, object) {
102
101
  *
103
102
  * ```
104
103
  * <script type="module">
105
- * import {removeObjectLink} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
104
+ * import {removeObjectLink} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
106
105
  * removeObjectLink();
107
106
  * </script>
108
107
  * ```
@@ -135,7 +134,7 @@ function removeObjectLink(element, symbol) {
135
134
  *
136
135
  * ```
137
136
  * <script type="module">
138
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
137
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
139
138
  * Monster.DOM.hasObjectLink();
140
139
  * </script>
141
140
  * ```
@@ -144,7 +143,7 @@ function removeObjectLink(element, symbol) {
144
143
  *
145
144
  * ```
146
145
  * <script type="module">
147
- * import {hasObjectLink} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
146
+ * import {hasObjectLink} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
148
147
  * hasObjectLink();
149
148
  * </script>
150
149
  * ```
@@ -181,7 +180,7 @@ function hasObjectLink(element, symbol) {
181
180
  *
182
181
  * ```
183
182
  * <script type="module">
184
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
183
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
185
184
  * Monster.DOM.getLinkedObjects();
186
185
  * </script>
187
186
  * ```
@@ -190,7 +189,7 @@ function hasObjectLink(element, symbol) {
190
189
  *
191
190
  * ```
192
191
  * <script type="module">
193
- * import {getLinkedObjects} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
192
+ * import {getLinkedObjects} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
194
193
  * getLinkedObjects();
195
194
  * </script>
196
195
  * ```
@@ -226,7 +225,7 @@ function getLinkedObjects(element, symbol) {
226
225
  *
227
226
  * ```
228
227
  * <script type="module">
229
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
228
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
230
229
  * Monster.DOM.toggleAttributeToken();
231
230
  * </script>
232
231
  * ```
@@ -235,7 +234,7 @@ function getLinkedObjects(element, symbol) {
235
234
  *
236
235
  * ```
237
236
  * <script type="module">
238
- * import {toggleAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
237
+ * import {toggleAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
239
238
  * toggleAttributeToken();
240
239
  * </script>
241
240
  * ```
@@ -270,7 +269,7 @@ function toggleAttributeToken(element, key, token) {
270
269
  *
271
270
  * ```
272
271
  * <script type="module">
273
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
272
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
274
273
  * Monster.DOM.addAttributeToken();
275
274
  * </script>
276
275
  * ```
@@ -279,7 +278,7 @@ function toggleAttributeToken(element, key, token) {
279
278
  *
280
279
  * ```
281
280
  * <script type="module">
282
- * import {addAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
281
+ * import {addAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
283
282
  * addAttributeToken();
284
283
  * </script>
285
284
  * ```
@@ -316,7 +315,7 @@ function addAttributeToken(element, key, token) {
316
315
  *
317
316
  * ```
318
317
  * <script type="module">
319
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
318
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
320
319
  * Monster.DOM.removeAttributeToken();
321
320
  * </script>
322
321
  * ```
@@ -325,7 +324,7 @@ function addAttributeToken(element, key, token) {
325
324
  *
326
325
  * ```
327
326
  * <script type="module">
328
- * import {removeAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
327
+ * import {removeAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
329
328
  * removeAttributeToken();
330
329
  * </script>
331
330
  * ```
@@ -361,7 +360,7 @@ function removeAttributeToken(element, key, token) {
361
360
  *
362
361
  * ```
363
362
  * <script type="module">
364
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
363
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
365
364
  * Monster.DOM.containsAttributeToken();
366
365
  * </script>
367
366
  * ```
@@ -370,7 +369,7 @@ function removeAttributeToken(element, key, token) {
370
369
  *
371
370
  * ```
372
371
  * <script type="module">
373
- * import {containsAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
372
+ * import {containsAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
374
373
  * containsAttributeToken();
375
374
  * </script>
376
375
  * ```
@@ -403,7 +402,7 @@ function containsAttributeToken(element, key, token) {
403
402
  *
404
403
  * ```
405
404
  * <script type="module">
406
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
405
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
407
406
  * Monster.DOM.replaceAttributeToken();
408
407
  * </script>
409
408
  * ```
@@ -412,7 +411,7 @@ function containsAttributeToken(element, key, token) {
412
411
  *
413
412
  * ```
414
413
  * <script type="module">
415
- * import {replaceAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
414
+ * import {replaceAttributeToken} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
416
415
  * replaceAttributeToken();
417
416
  * </script>
418
417
  * ```
@@ -448,7 +447,7 @@ function replaceAttributeToken(element, key, from, to) {
448
447
  *
449
448
  * ```
450
449
  * <script type="module">
451
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
450
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
452
451
  * Monster.DOM.clearAttributeTokens();
453
452
  * </script>
454
453
  * ```
@@ -457,7 +456,7 @@ function replaceAttributeToken(element, key, from, to) {
457
456
  *
458
457
  * ```
459
458
  * <script type="module">
460
- * import {clearAttributeTokens} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
459
+ * import {clearAttributeTokens} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
461
460
  * clearAttributeTokens();
462
461
  * </script>
463
462
  * ```
@@ -487,7 +486,7 @@ function clearAttributeTokens(element, key) {
487
486
  *
488
487
  * ```
489
488
  * <script type="module">
490
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
489
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
491
490
  * Monster.DOM.findClosestByAttribute();
492
491
  * </script>
493
492
  * ```
@@ -496,7 +495,7 @@ function clearAttributeTokens(element, key) {
496
495
  *
497
496
  * ```
498
497
  * <script type="module">
499
- * import {clearAttributeTokens} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/attributes.js';
498
+ * import {clearAttributeTokens} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/attributes.js';
500
499
  * findClosestByAttribute();
501
500
  * </script>
502
501
  * ```
@@ -512,7 +511,7 @@ function clearAttributeTokens(element, key) {
512
511
  */
513
512
 
514
513
  /**
515
- *
514
+ *
516
515
  * @since 1.14.0
517
516
  * @param {HTMLElement} element
518
517
  * @param {string} key
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- import {Monster, assignToNamespace} from '../namespace.js';
3
+ import {Monster} from '../namespace.js';
4
4
  /**
5
5
  * @author schukai GmbH
6
6
  */
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ import {extend} from "../data/extend.js";
3
4
  /**
4
5
  * @author schukai GmbH
5
6
  */
6
- import {Monster, assignToNamespace} from '../namespace.js';
7
- import {extend} from "../data/extend.js";
8
- import { CustomElement} from "./customelement.js";
7
+ import {assignToNamespace, Monster} from '../namespace.js';
8
+ import {CustomElement} from "./customelement.js";
9
9
 
10
10
 
11
11
  /**
@@ -27,7 +27,7 @@ const internalSymbol = Symbol('internalSymbol');
27
27
  *
28
28
  * ```
29
29
  * <script type="module">
30
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/customcontrol.js';
30
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/customcontrol.js';
31
31
  * console.log(new Monster.DOM.CustomControl())
32
32
  * </script>
33
33
  * ```
@@ -36,7 +36,7 @@ const internalSymbol = Symbol('internalSymbol');
36
36
  *
37
37
  * ```
38
38
  * <script type="module">
39
- * import {CustomControl} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.0/dist/modules/dom/customcontrol.js';
39
+ * import {CustomControl} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.15.2/dist/modules/dom/customcontrol.js';
40
40
  * console.log(new CustomControl())
41
41
  * </script>
42
42
  * ```
@@ -64,6 +64,16 @@ class CustomControl extends CustomElement {
64
64
 
65
65
  }
66
66
 
67
+ /**
68
+ *
69
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals
70
+ * @since 1.14.0
71
+ * @return {boolean}
72
+ */
73
+ static get formAssociated() {
74
+ return true;
75
+ }
76
+
67
77
  /**
68
78
  * | option | description |
69
79
  * |----------------|---------------------------------|
@@ -88,16 +98,6 @@ class CustomControl extends CustomElement {
88
98
  return extend({}, super.defaults);
89
99
  }
90
100
 
91
- /**
92
- *
93
- * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals
94
- * @since 1.14.0
95
- * @return {boolean}
96
- */
97
- static get formAssociated() {
98
- return true;
99
- }
100
-
101
101
  /**
102
102
  * Must be overridden by a derived class and return the value of the control.
103
103
  *
@@ -123,73 +123,6 @@ class CustomControl extends CustomElement {
123
123
  throw Error('the value setter must be overwritten by the derived class');
124
124
  }
125
125
 
126
- /**
127
- * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
128
- *
129
- * ```
130
- * // Use the control's name as the base name for submitted data
131
- * const n = this.getAttribute('name');
132
- * const entries = new FormData();
133
- * entries.append(n + '-first-name', this.firstName_);
134
- * entries.append(n + '-last-name', this.lastName_);
135
- * this.setFormValue(entries);
136
- * ```
137
- *
138
- * @param {File|string|FormData} value
139
- * @param {File|string|FormData} state
140
- * @since 1.14.0
141
- * @return {undefined}
142
- * @throws {DOMException} NotSupportedError
143
- * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
144
- * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/setFormValue
145
- */
146
- setFormValue(value, state) {
147
- getInternal.call(this).setFormValue(value, state);
148
- }
149
-
150
- /**
151
- *
152
- * @param {object} flags
153
- * @param {string|undefined} message
154
- * @param {HTMLElement} anchor
155
- * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/setValidity
156
- * @since 1.14.0
157
- * @return {undefined}
158
- * @throws {DOMException} NotSupportedError
159
- * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
160
- */
161
- setValidity(flags, message, anchor) {
162
- getInternal.call(this).setValidity(flags, message, anchor);
163
- }
164
-
165
-
166
- /**
167
- * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
168
- *
169
- * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/checkValidity
170
- * @since 1.14.0
171
- * @return {boolean}
172
- * @throws {DOMException} NotSupportedError
173
- * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
174
- */
175
- checkValidity() {
176
- return getInternal.call(this)?.checkValidity();
177
- }
178
-
179
-
180
- /**
181
- * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
182
- *
183
- * @return {boolean}
184
- * @since 1.14.0
185
- * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/reportValidity
186
- * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
187
- * @throws {DOMException} NotSupportedError
188
- */
189
- reportValidity() {
190
- return getInternal.call(this)?.reportValidity();
191
- }
192
-
193
126
  /**
194
127
  * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
195
128
  *
@@ -280,6 +213,71 @@ class CustomControl extends CustomElement {
280
213
  return getInternal.call(this)?.form;
281
214
  }
282
215
 
216
+ /**
217
+ * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
218
+ *
219
+ * ```
220
+ * // Use the control's name as the base name for submitted data
221
+ * const n = this.getAttribute('name');
222
+ * const entries = new FormData();
223
+ * entries.append(n + '-first-name', this.firstName_);
224
+ * entries.append(n + '-last-name', this.lastName_);
225
+ * this.setFormValue(entries);
226
+ * ```
227
+ *
228
+ * @param {File|string|FormData} value
229
+ * @param {File|string|FormData} state
230
+ * @since 1.14.0
231
+ * @return {undefined}
232
+ * @throws {DOMException} NotSupportedError
233
+ * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
234
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/setFormValue
235
+ */
236
+ setFormValue(value, state) {
237
+ getInternal.call(this).setFormValue(value, state);
238
+ }
239
+
240
+ /**
241
+ *
242
+ * @param {object} flags
243
+ * @param {string|undefined} message
244
+ * @param {HTMLElement} anchor
245
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/setValidity
246
+ * @since 1.14.0
247
+ * @return {undefined}
248
+ * @throws {DOMException} NotSupportedError
249
+ * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
250
+ */
251
+ setValidity(flags, message, anchor) {
252
+ getInternal.call(this).setValidity(flags, message, anchor);
253
+ }
254
+
255
+ /**
256
+ * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
257
+ *
258
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/checkValidity
259
+ * @since 1.14.0
260
+ * @return {boolean}
261
+ * @throws {DOMException} NotSupportedError
262
+ * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
263
+ */
264
+ checkValidity() {
265
+ return getInternal.call(this)?.checkValidity();
266
+ }
267
+
268
+ /**
269
+ * This is a method of [internal api](https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals)
270
+ *
271
+ * @return {boolean}
272
+ * @since 1.14.0
273
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/reportValidity
274
+ * @throws {Error} the ElementInternals is not supported and a polyfill is necessary
275
+ * @throws {DOMException} NotSupportedError
276
+ */
277
+ reportValidity() {
278
+ return getInternal.call(this)?.reportValidity();
279
+ }
280
+
283
281
  }
284
282
 
285
283
  /**