@schukai/monster 3.51.4 → 3.52.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 (451) hide show
  1. package/CHANGELOG.md +706 -0
  2. package/README.md +16 -13
  3. package/example/components/form/button.mjs +10 -0
  4. package/example/components/form/select.mjs +25 -0
  5. package/example/components/form/tree-select.mjs +27 -0
  6. package/example/components/host/host.mjs +0 -0
  7. package/example/components/notify/message.mjs +4 -0
  8. package/example/components/notify/notify.mjs +4 -0
  9. package/example/components/state/log.mjs +0 -0
  10. package/example/components/state/state.mjs +0 -0
  11. package/package.json +6 -2
  12. package/source/components/constants.mjs +132 -0
  13. package/source/components/datatable/columnbar.mjs +310 -0
  14. package/source/components/datatable/constants.mjs +121 -0
  15. package/source/components/datatable/dataset.mjs +219 -0
  16. package/source/components/datatable/datasource/dom.mjs +186 -0
  17. package/source/components/datatable/datasource/namespace.mjs +13 -0
  18. package/source/components/datatable/datasource/rest.mjs +400 -0
  19. package/source/components/datatable/datasource.mjs +102 -0
  20. package/source/components/datatable/datatable/header.mjs +268 -0
  21. package/source/components/datatable/datatable/namespace.mjs +13 -0
  22. package/source/components/datatable/datatable.mjs +789 -0
  23. package/source/components/datatable/embedded-pagination.mjs +113 -0
  24. package/source/components/datatable/filter/abstract-base.mjs +31 -0
  25. package/source/components/datatable/filter/date-range.mjs +1041 -0
  26. package/source/components/datatable/filter/input.mjs +175 -0
  27. package/source/components/datatable/filter/namespace.mjs +13 -0
  28. package/source/components/datatable/filter/range.mjs +671 -0
  29. package/source/components/datatable/filter/select.mjs +65 -0
  30. package/source/components/datatable/filter/settings.mjs +116 -0
  31. package/source/components/datatable/filter-button.mjs +98 -0
  32. package/source/components/datatable/filter.mjs +929 -0
  33. package/source/components/datatable/namespace.mjs +11 -0
  34. package/source/components/datatable/pagination.mjs +456 -0
  35. package/source/components/datatable/style/column-bar.pcss +123 -0
  36. package/source/components/datatable/style/dataset.pcss +13 -0
  37. package/source/components/datatable/style/datasource.pcss +16 -0
  38. package/source/components/datatable/style/datatable.pcss +239 -0
  39. package/source/components/datatable/style/embedded-pagination.pcss +101 -0
  40. package/source/components/datatable/style/filter-button.pcss +22 -0
  41. package/source/components/datatable/style/filter-controls-defaults.pcss +46 -0
  42. package/source/components/datatable/style/filter-date-range.pcss +9 -0
  43. package/source/components/datatable/style/filter-range.pcss +5 -0
  44. package/source/components/datatable/style/filter.pcss +156 -0
  45. package/source/components/datatable/style/pagination.pcss +59 -0
  46. package/source/components/datatable/style/select-filter.pcss +27 -0
  47. package/source/components/datatable/stylesheet/column-bar.mjs +33 -0
  48. package/source/components/datatable/stylesheet/dataset.mjs +33 -0
  49. package/source/components/datatable/stylesheet/datasource.mjs +33 -0
  50. package/source/components/datatable/stylesheet/datatable.mjs +33 -0
  51. package/source/components/datatable/stylesheet/embedded-pagination.mjs +33 -0
  52. package/source/components/datatable/stylesheet/filter-button.mjs +33 -0
  53. package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +33 -0
  54. package/source/components/datatable/stylesheet/filter-date-range.mjs +33 -0
  55. package/source/components/datatable/stylesheet/filter-range.mjs +33 -0
  56. package/source/components/datatable/stylesheet/filter.mjs +33 -0
  57. package/source/components/datatable/stylesheet/namespace.mjs +13 -0
  58. package/source/components/datatable/stylesheet/pagination.mjs +33 -0
  59. package/source/components/datatable/stylesheet/select-filter.mjs +33 -0
  60. package/source/components/datatable/util.mjs +60 -0
  61. package/source/components/form/action-button.mjs +262 -0
  62. package/source/components/form/api-button.mjs +515 -0
  63. package/source/components/form/button-bar.mjs +739 -0
  64. package/source/components/form/button.mjs +350 -0
  65. package/source/components/form/confirm-button.mjs +330 -0
  66. package/source/components/form/constants.mjs +111 -0
  67. package/source/components/form/context-help.mjs +123 -0
  68. package/source/components/form/events.mjs +84 -0
  69. package/source/components/form/form.mjs +601 -0
  70. package/source/components/form/message-state-button.mjs +396 -0
  71. package/source/components/form/namespace.mjs +13 -0
  72. package/source/components/form/popper-button.mjs +435 -0
  73. package/source/components/form/popper.mjs +487 -0
  74. package/source/components/form/reload.mjs +360 -0
  75. package/source/components/form/select.mjs +2314 -0
  76. package/source/components/form/shadow-reload.mjs +137 -0
  77. package/source/components/form/state-button.mjs +182 -0
  78. package/source/components/form/style/action-button.pcss +41 -0
  79. package/source/components/form/style/api-button.pcss +0 -0
  80. package/source/components/form/style/button-bar.pcss +51 -0
  81. package/source/components/form/style/button.pcss +8 -0
  82. package/source/components/form/style/confirm-button.pcss +17 -0
  83. package/source/components/form/style/context-help.pcss +16 -0
  84. package/source/components/form/style/form.pcss +10 -0
  85. package/source/components/form/style/message-state-button.pcss +10 -0
  86. package/source/components/form/style/popper-button.pcss +16 -0
  87. package/source/components/form/style/popper.pcss +8 -0
  88. package/source/components/form/style/select.pcss +265 -0
  89. package/source/components/form/style/state-button.pcss +116 -0
  90. package/source/components/form/style/tabs.pcss +170 -0
  91. package/source/components/form/style/tree-select.pcss +81 -0
  92. package/source/components/form/stylesheet/action-button.mjs +33 -0
  93. package/source/components/form/stylesheet/api-button.mjs +33 -0
  94. package/source/components/form/stylesheet/button-bar.mjs +33 -0
  95. package/source/components/form/stylesheet/button.mjs +33 -0
  96. package/source/components/form/stylesheet/confirm-button.mjs +33 -0
  97. package/source/components/form/stylesheet/context-help.mjs +33 -0
  98. package/source/components/form/stylesheet/form.mjs +33 -0
  99. package/source/components/form/stylesheet/message-state-button.mjs +33 -0
  100. package/source/components/form/stylesheet/namespace.mjs +13 -0
  101. package/source/components/form/stylesheet/popper-button.mjs +33 -0
  102. package/source/components/form/stylesheet/popper.mjs +33 -0
  103. package/source/components/form/stylesheet/select.mjs +33 -0
  104. package/source/components/form/stylesheet/state-button.mjs +33 -0
  105. package/source/components/form/stylesheet/tabs.mjs +33 -0
  106. package/source/components/form/stylesheet/tree-select.mjs +33 -0
  107. package/source/components/form/tabs.mjs +1011 -0
  108. package/source/components/form/template.mjs +373 -0
  109. package/source/components/form/tree-select.mjs +527 -0
  110. package/source/components/form/types/namespace.mjs +13 -0
  111. package/source/components/form/types/state.mjs +93 -0
  112. package/source/components/form/util/fetch.mjs +133 -0
  113. package/source/components/form/util/floating-ui.mjs +245 -0
  114. package/source/components/form/util/namespace.mjs +13 -0
  115. package/source/components/form/util/popper.mjs +49 -0
  116. package/source/components/host/call-button.mjs +236 -0
  117. package/source/components/host/collapse.mjs +526 -0
  118. package/source/components/host/config-manager.mjs +304 -0
  119. package/source/components/host/constants.mjs +18 -0
  120. package/source/components/host/details.mjs +268 -0
  121. package/source/components/host/events.mjs +131 -0
  122. package/source/components/host/host.mjs +420 -0
  123. package/source/components/host/namespace.mjs +13 -0
  124. package/source/components/host/overlay.mjs +339 -0
  125. package/source/components/host/style/call-button.pcss +36 -0
  126. package/source/components/host/style/collapse.pcss +67 -0
  127. package/source/components/host/style/config-manager.pcss +5 -0
  128. package/source/components/host/style/details.pcss +68 -0
  129. package/source/components/host/style/host.pcss +43 -0
  130. package/source/components/host/style/overlay.pcss +73 -0
  131. package/source/components/host/style/toggle-button.pcss +36 -0
  132. package/source/components/host/style/viewer.pcss +13 -0
  133. package/source/components/host/stylesheet/call-button.mjs +33 -0
  134. package/source/components/host/stylesheet/collapse.mjs +33 -0
  135. package/source/components/host/stylesheet/config-manager.mjs +33 -0
  136. package/source/components/host/stylesheet/details.mjs +33 -0
  137. package/source/components/host/stylesheet/host.mjs +33 -0
  138. package/source/components/host/stylesheet/namespace.mjs +13 -0
  139. package/source/components/host/stylesheet/overlay.mjs +33 -0
  140. package/source/components/host/stylesheet/toggle-button.mjs +33 -0
  141. package/source/components/host/stylesheet/viewer.mjs +33 -0
  142. package/source/components/host/toggle-button.mjs +88 -0
  143. package/source/components/host/util.mjs +23 -0
  144. package/source/components/host/viewer.mjs +309 -0
  145. package/source/components/namespace.mjs +14 -0
  146. package/source/components/notify/constants.mjs +15 -0
  147. package/source/components/notify/events.mjs +15 -0
  148. package/source/components/notify/message.mjs +374 -0
  149. package/source/components/notify/namespace.mjs +15 -0
  150. package/source/components/notify/notify.mjs +236 -0
  151. package/source/components/notify/style/message.pcss +57 -0
  152. package/source/components/notify/style/notify.pcss +118 -0
  153. package/source/components/notify/stylesheet/message.mjs +33 -0
  154. package/source/components/notify/stylesheet/namespace.mjs +15 -0
  155. package/source/components/notify/stylesheet/notify.mjs +33 -0
  156. package/source/components/state/log/entry.mjs +126 -0
  157. package/source/components/state/log/namespace.mjs +13 -0
  158. package/source/components/state/log.mjs +275 -0
  159. package/source/components/state/namespace.mjs +13 -0
  160. package/source/components/state/state.mjs +131 -0
  161. package/source/components/state/style/log.pcss +111 -0
  162. package/source/components/state/style/state.pcss +113 -0
  163. package/source/components/state/stylesheet/log.mjs +33 -0
  164. package/source/components/state/stylesheet/state.mjs +33 -0
  165. package/source/components/style/badge.pcss +92 -0
  166. package/source/components/style/border.pcss +77 -0
  167. package/source/components/style/button.pcss +105 -0
  168. package/source/components/style/card.pcss +108 -0
  169. package/source/components/style/color.pcss +257 -0
  170. package/source/components/style/common.pcss +103 -0
  171. package/source/components/style/control.pcss +11 -0
  172. package/source/components/style/data-grid.pcss +43 -0
  173. package/source/components/style/display.pcss +42 -0
  174. package/source/components/style/floating-ui.pcss +33 -0
  175. package/source/components/style/form.pcss +5 -0
  176. package/source/components/style/host.pcss +15 -0
  177. package/source/components/style/link.pcss +63 -0
  178. package/source/components/style/mixin/badge.pcss +18 -0
  179. package/source/components/style/mixin/button.pcss +54 -0
  180. package/source/components/style/mixin/form.pcss +247 -0
  181. package/source/components/style/mixin/hover.pcss +8 -0
  182. package/source/components/style/mixin/media.pcss +107 -0
  183. package/source/components/style/mixin/property.pcss +288 -0
  184. package/source/components/style/mixin/skeleton.pcss +26 -0
  185. package/source/components/style/mixin/spinner.pcss +24 -0
  186. package/source/components/style/mixin/typography.pcss +52 -0
  187. package/source/components/style/normalize.pcss +14 -0
  188. package/source/components/style/popper.pcss +78 -0
  189. package/source/components/style/property.pcss +17 -0
  190. package/source/components/style/ripple.pcss +14 -0
  191. package/source/components/style/skeleton.pcss +28 -0
  192. package/source/components/style/space.pcss +47 -0
  193. package/source/components/style/spinner.pcss +6 -0
  194. package/source/components/style/table.pcss +46 -0
  195. package/source/components/style/theme.pcss +119 -0
  196. package/source/components/style/typography.pcss +131 -0
  197. package/source/components/stylesheet/badge.mjs +33 -0
  198. package/source/components/stylesheet/border.mjs +33 -0
  199. package/source/components/stylesheet/button.mjs +33 -0
  200. package/source/components/stylesheet/card.mjs +33 -0
  201. package/source/components/stylesheet/color.mjs +33 -0
  202. package/source/components/stylesheet/common.mjs +33 -0
  203. package/source/components/stylesheet/control.mjs +33 -0
  204. package/source/components/stylesheet/data-grid.mjs +33 -0
  205. package/source/components/stylesheet/display.mjs +33 -0
  206. package/source/components/stylesheet/floating-ui.mjs +33 -0
  207. package/source/components/stylesheet/form.mjs +33 -0
  208. package/source/components/stylesheet/host.mjs +33 -0
  209. package/source/components/stylesheet/link.mjs +33 -0
  210. package/source/components/stylesheet/namespace.mjs +13 -0
  211. package/source/components/stylesheet/normalize.mjs +33 -0
  212. package/source/components/stylesheet/popper.mjs +33 -0
  213. package/source/components/stylesheet/property.mjs +33 -0
  214. package/source/components/stylesheet/ripple.mjs +33 -0
  215. package/source/components/stylesheet/skeleton.mjs +33 -0
  216. package/source/components/stylesheet/space.mjs +33 -0
  217. package/source/components/stylesheet/spinner.mjs +33 -0
  218. package/source/components/stylesheet/table.mjs +33 -0
  219. package/source/components/stylesheet/theme.mjs +33 -0
  220. package/source/components/stylesheet/tree-menu.mjs +33 -0
  221. package/source/components/stylesheet/typography.mjs +33 -0
  222. package/source/components/tree-menu/namespace.mjs +13 -0
  223. package/source/components/tree-menu/style/tree-menu.pcss +107 -0
  224. package/source/components/tree-menu/stylesheet/namespace.mjs +13 -0
  225. package/source/components/tree-menu/stylesheet/tree-menu.mjs +33 -0
  226. package/source/components/tree-menu/tree-menu.mjs +660 -0
  227. package/source/constraints/abstract.mjs +17 -24
  228. package/source/constraints/abstractoperator.mjs +27 -22
  229. package/source/constraints/andoperator.mjs +20 -17
  230. package/source/constraints/invalid.mjs +17 -17
  231. package/source/constraints/isarray.mjs +20 -20
  232. package/source/constraints/isobject.mjs +20 -20
  233. package/source/constraints/oroperator.mjs +45 -45
  234. package/source/constraints/valid.mjs +17 -17
  235. package/source/data/buildmap.mjs +108 -103
  236. package/source/data/buildtree.mjs +59 -57
  237. package/source/data/datasource/dom.mjs +80 -84
  238. package/source/data/datasource/namespace.mjs +1 -1
  239. package/source/data/datasource/server/restapi/data-fetch-error.mjs +27 -25
  240. package/source/data/datasource/server/restapi/writeerror.mjs +34 -32
  241. package/source/data/datasource/server/restapi.mjs +176 -177
  242. package/source/data/datasource/server/webconnect.mjs +150 -156
  243. package/source/data/datasource/server.mjs +58 -59
  244. package/source/data/datasource/storage/localstorage.mjs +25 -24
  245. package/source/data/datasource/storage/sessionstorage.mjs +28 -25
  246. package/source/data/datasource/storage.mjs +74 -73
  247. package/source/data/datasource.mjs +176 -167
  248. package/source/data/diff.mjs +98 -97
  249. package/source/data/extend.mjs +42 -42
  250. package/source/data/pathfinder.mjs +301 -288
  251. package/source/data/pipe.mjs +36 -36
  252. package/source/data/transformer.mjs +742 -726
  253. package/source/dom/assembler.mjs +44 -44
  254. package/source/dom/attributes.mjs +142 -122
  255. package/source/dom/constants.mjs +62 -58
  256. package/source/dom/customcontrol.mjs +299 -299
  257. package/source/dom/customelement.mjs +843 -806
  258. package/source/dom/dimension.mjs +56 -46
  259. package/source/dom/events.mjs +74 -69
  260. package/source/dom/focusmanager.mjs +175 -175
  261. package/source/dom/locale.mjs +28 -28
  262. package/source/dom/ready.mjs +13 -13
  263. package/source/dom/resource/data.mjs +117 -111
  264. package/source/dom/resource/link/stylesheet.mjs +16 -16
  265. package/source/dom/resource/link.mjs +94 -96
  266. package/source/dom/resource/script.mjs +72 -74
  267. package/source/dom/resource.mjs +174 -172
  268. package/source/dom/resourcemanager.mjs +152 -156
  269. package/source/dom/slotted.mjs +78 -80
  270. package/source/dom/template.mjs +126 -112
  271. package/source/dom/theme.mjs +35 -35
  272. package/source/dom/updater.mjs +673 -651
  273. package/source/dom/util/extract-keys.mjs +34 -22
  274. package/source/dom/util/init-options-from-attributes.mjs +46 -38
  275. package/source/dom/util/namespace.mjs +13 -0
  276. package/source/dom/util/set-option-from-attribute.mjs +35 -29
  277. package/source/dom/util.mjs +112 -81
  278. package/source/dom/worker/factory.mjs +83 -83
  279. package/source/i18n/formatter.mjs +75 -73
  280. package/source/i18n/locale.mjs +146 -144
  281. package/source/i18n/provider.mjs +70 -64
  282. package/source/i18n/providers/embed.mjs +136 -127
  283. package/source/i18n/providers/fetch.mjs +84 -76
  284. package/source/i18n/translations.mjs +205 -195
  285. package/source/logging/handler/console.mjs +36 -36
  286. package/source/logging/handler.mjs +140 -140
  287. package/source/logging/logentry.mjs +25 -25
  288. package/source/logging/logger.mjs +177 -175
  289. package/source/math/random.mjs +63 -59
  290. package/source/monster.mjs +226 -217
  291. package/source/net/webconnect/message.mjs +31 -31
  292. package/source/net/webconnect.mjs +278 -271
  293. package/source/text/bracketed-key-value-hash.mjs +182 -179
  294. package/source/text/formatter.mjs +235 -210
  295. package/source/text/generate-range-comparison-expression.mjs +56 -34
  296. package/source/text/namespace.mjs +1 -1
  297. package/source/types/base.mjs +69 -61
  298. package/source/types/basewithoptions.mjs +46 -46
  299. package/source/types/binary.mjs +20 -20
  300. package/source/types/dataurl.mjs +96 -90
  301. package/source/types/global.mjs +45 -39
  302. package/source/types/id.mjs +25 -25
  303. package/source/types/internal.mjs +115 -114
  304. package/source/types/is.mjs +56 -40
  305. package/source/types/mediatype.mjs +119 -119
  306. package/source/types/namespace.mjs +1 -1
  307. package/source/types/node.mjs +160 -150
  308. package/source/types/nodelist.mjs +94 -96
  309. package/source/types/noderecursiveiterator.mjs +50 -50
  310. package/source/types/observablequeue.mjs +73 -73
  311. package/source/types/observer.mjs +104 -104
  312. package/source/types/observerlist.mjs +66 -66
  313. package/source/types/proxyobserver.mjs +210 -210
  314. package/source/types/queue.mjs +63 -63
  315. package/source/types/randomid.mjs +13 -13
  316. package/source/types/regex.mjs +3 -1
  317. package/source/types/stack.mjs +64 -64
  318. package/source/types/tokenlist.mjs +206 -205
  319. package/source/types/typeof.mjs +12 -10
  320. package/source/types/uniquequeue.mjs +48 -48
  321. package/source/types/uuid.mjs +32 -32
  322. package/source/types/validate.mjs +67 -67
  323. package/source/types/version.mjs +115 -105
  324. package/source/util/clone.mjs +103 -91
  325. package/source/util/comparator.mjs +97 -97
  326. package/source/util/deadmansswitch.mjs +40 -44
  327. package/source/util/freeze.mjs +10 -9
  328. package/source/util/namespace.mjs +1 -1
  329. package/source/util/processing.mjs +104 -105
  330. package/source/util/runtime.mjs +56 -44
  331. package/source/util/trimspaces.mjs +24 -24
  332. package/test/cases/components/form/button.mjs +122 -0
  333. package/test/cases/components/form/confirm-button.mjs +127 -0
  334. package/test/cases/components/form/form.mjs +317 -0
  335. package/test/cases/components/form/reload.mjs +188 -0
  336. package/test/cases/components/form/select.mjs +229 -0
  337. package/test/cases/components/form/state-button.mjs +130 -0
  338. package/test/cases/components/form/tabs.mjs +98 -0
  339. package/test/cases/components/form/template.mjs +189 -0
  340. package/test/cases/components/form/tree-select.mjs +216 -0
  341. package/test/cases/components/host/details.mjs +68 -0
  342. package/test/cases/components/host/host.mjs +70 -0
  343. package/test/cases/components/host/overlay.mjs +60 -0
  344. package/test/cases/components/host/util.mjs +79 -0
  345. package/test/cases/components/notify/message.mjs +39 -0
  346. package/test/cases/components/notify/notify.mjs +89 -0
  347. package/test/cases/constraint/abstractoperator.mjs +2 -2
  348. package/test/cases/constraint/andoperator.mjs +3 -3
  349. package/test/cases/constraint/invalid.mjs +1 -1
  350. package/test/cases/constraint/isarray.mjs +1 -1
  351. package/test/cases/constraint/isobject.mjs +1 -1
  352. package/test/cases/constraint/oroperator.mjs +3 -3
  353. package/test/cases/constraint/valid.mjs +1 -1
  354. package/test/cases/data/buildmap.mjs +1 -1
  355. package/test/cases/data/buildtree.mjs +2 -2
  356. package/test/cases/data/datasource/dom.mjs +1 -1
  357. package/test/cases/data/datasource/server/restapi.mjs +2 -2
  358. package/test/cases/data/datasource/server/websocket.mjs +1 -1
  359. package/test/cases/data/datasource/server.mjs +1 -1
  360. package/test/cases/data/datasource/storage/localstorage.mjs +1 -1
  361. package/test/cases/data/datasource/storage/sessionstorage.mjs +1 -1
  362. package/test/cases/data/datasource.mjs +1 -1
  363. package/test/cases/data/diff.mjs +2 -2
  364. package/test/cases/data/extend.mjs +1 -1
  365. package/test/cases/data/pathfinder.mjs +1 -1
  366. package/test/cases/data/pipe.mjs +2 -2
  367. package/test/cases/data/transformer.mjs +3 -4
  368. package/test/cases/dom/assembler.mjs +1 -1
  369. package/test/cases/dom/attributes.mjs +1 -1
  370. package/test/cases/dom/customcontrol.mjs +8 -7
  371. package/test/cases/dom/customelement-initfromscripthost.mjs +6 -6
  372. package/test/cases/dom/customelement.mjs +7 -7
  373. package/test/cases/dom/dimension.mjs +4 -4
  374. package/test/cases/dom/events.mjs +1 -1
  375. package/test/cases/dom/find.mjs +1 -1
  376. package/test/cases/dom/focusmanager.mjs +1 -1
  377. package/test/cases/dom/locale.mjs +2 -2
  378. package/test/cases/dom/ready.mjs +1 -1
  379. package/test/cases/dom/resource/data.mjs +3 -3
  380. package/test/cases/dom/resource/link/stylesheet.mjs +3 -3
  381. package/test/cases/dom/resource/link.mjs +3 -3
  382. package/test/cases/dom/resource/script.mjs +3 -3
  383. package/test/cases/dom/resource.mjs +1 -1
  384. package/test/cases/dom/resourcemanager.mjs +1 -1
  385. package/test/cases/dom/slotted-nodes.mjs +1 -1
  386. package/test/cases/dom/template.mjs +2 -2
  387. package/test/cases/dom/theme.mjs +2 -2
  388. package/test/cases/dom/updater.mjs +4 -4
  389. package/test/cases/dom/util/extract-keys.mjs +1 -1
  390. package/test/cases/dom/util/init-options-from-attributes.mjs +1 -1
  391. package/test/cases/dom/util.mjs +2 -2
  392. package/test/cases/dom/worker/factory.mjs +2 -2
  393. package/test/cases/i18n/formatter.mjs +2 -2
  394. package/test/cases/i18n/locale.mjs +1 -1
  395. package/test/cases/i18n/provider.mjs +4 -4
  396. package/test/cases/i18n/providers/embed.mjs +3 -3
  397. package/test/cases/i18n/providers/fetch.mjs +3 -3
  398. package/test/cases/i18n/translations.mjs +3 -3
  399. package/test/cases/logging/handler/console.mjs +3 -3
  400. package/test/cases/logging/handler.mjs +3 -3
  401. package/test/cases/logging/logentry.mjs +1 -1
  402. package/test/cases/logging/logger.mjs +1 -1
  403. package/test/cases/math/random.mjs +1 -2
  404. package/test/cases/monster.mjs +2 -2
  405. package/test/cases/net/webconnect/message.mjs +1 -2
  406. package/test/cases/net/webconnect.mjs +3 -3
  407. package/test/cases/text/bracketed-key-value-hash.mjs +1 -1
  408. package/test/cases/text/formatter.mjs +1 -1
  409. package/test/cases/text/util.mjs +1 -1
  410. package/test/cases/types/base.mjs +2 -2
  411. package/test/cases/types/basewithoptions.mjs +1 -1
  412. package/test/cases/types/binary.mjs +1 -1
  413. package/test/cases/types/dataurl.mjs +1 -1
  414. package/test/cases/types/global.mjs +1 -1
  415. package/test/cases/types/id.mjs +1 -1
  416. package/test/cases/types/internal.mjs +2 -2
  417. package/test/cases/types/is.mjs +2 -2
  418. package/test/cases/types/mediatype.mjs +1 -1
  419. package/test/cases/types/node.mjs +4 -4
  420. package/test/cases/types/nodelist.mjs +2 -2
  421. package/test/cases/types/noderecursiveiterator.mjs +3 -3
  422. package/test/cases/types/observablequeue.mjs +2 -2
  423. package/test/cases/types/observer.mjs +1 -1
  424. package/test/cases/types/observerlist.mjs +2 -2
  425. package/test/cases/types/proxyobserver.mjs +4 -4
  426. package/test/cases/types/queue.mjs +1 -1
  427. package/test/cases/types/randomid.mjs +1 -1
  428. package/test/cases/types/regex.mjs +1 -1
  429. package/test/cases/types/stack.mjs +1 -1
  430. package/test/cases/types/tokenlist.mjs +1 -1
  431. package/test/cases/types/typeof.mjs +2 -2
  432. package/test/cases/types/uniquequeue.mjs +1 -1
  433. package/test/cases/types/uuid.mjs +1 -1
  434. package/test/cases/types/validate.mjs +3 -3
  435. package/test/cases/types/version.mjs +1 -1
  436. package/test/cases/util/clone.mjs +1 -1
  437. package/test/cases/util/comparator.mjs +1 -1
  438. package/test/cases/util/deadmansswitch.mjs +1 -1
  439. package/test/cases/util/freeze.mjs +1 -1
  440. package/test/cases/util/processing.mjs +1 -1
  441. package/test/cases/util/trimspaces.mjs +1 -1
  442. package/test/util/chai-dom.mjs +2 -2
  443. package/test/util/intersection-mock.mjs +69 -0
  444. package/test/util/jsdom.mjs +43 -27
  445. package/test/util/localstorage.mjs +1 -0
  446. package/test/util/resize-observer.mjs +29 -0
  447. package/test/util/websocket.mjs +5 -2
  448. package/test/web/import.js +92 -73
  449. package/test/web/test.html +28 -5
  450. package/test/web/tests.js +29430 -15209
  451. package/CHANGELOG +0 -438
@@ -7,13 +7,13 @@
7
7
 
8
8
  import { extend } from "../../data/extend.mjs";
9
9
  import {
10
- ATTRIBUTE_CLASS,
11
- ATTRIBUTE_ID,
12
- ATTRIBUTE_NONCE,
13
- ATTRIBUTE_SRC,
14
- ATTRIBUTE_TITLE,
15
- ATTRIBUTE_TYPE,
16
- TAG_SCRIPT,
10
+ ATTRIBUTE_CLASS,
11
+ ATTRIBUTE_ID,
12
+ ATTRIBUTE_NONCE,
13
+ ATTRIBUTE_SRC,
14
+ ATTRIBUTE_TITLE,
15
+ ATTRIBUTE_TYPE,
16
+ TAG_SCRIPT,
17
17
  } from "../constants.mjs";
18
18
  import { KEY_DOCUMENT, referenceSymbol, Resource } from "../resource.mjs";
19
19
  import { instanceSymbol } from "../../constants.mjs";
@@ -29,53 +29,53 @@ export { Script };
29
29
  * @summary A Resource class
30
30
  */
31
31
  class Script extends Resource {
32
- /**
33
- * @property {boolean} async=true {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-async}
34
- * @property {string} crossOrigin=anonymous {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-crossorigin}
35
- * @property {boolean} defer=false {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-defer}
36
- * @property {string} integrity {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-integrity}
37
- * @property {boolean} nomodule {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-nomodule}
38
- * @property {string} nonce {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-nonce}
39
- * @property {string} referrerpolicy {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-referrerpolicy}
40
- * @property {string} type {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-type}
41
- */
42
- get defaults() {
43
- return extend({}, super.defaults, {
44
- async: true,
45
- crossOrigin: "anonymous",
46
- defer: false,
47
- integrity: undefined,
48
- nomodule: false,
49
- nonce: undefined,
50
- referrerpolicy: undefined,
51
- type: "text/javascript",
52
- });
53
- }
32
+ /**
33
+ * @property {boolean} async=true {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-async}
34
+ * @property {string} crossOrigin=anonymous {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-crossorigin}
35
+ * @property {boolean} defer=false {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-defer}
36
+ * @property {string} integrity {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-integrity}
37
+ * @property {boolean} nomodule {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-nomodule}
38
+ * @property {string} nonce {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-nonce}
39
+ * @property {string} referrerpolicy {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-referrerpolicy}
40
+ * @property {string} type {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-type}
41
+ */
42
+ get defaults() {
43
+ return extend({}, super.defaults, {
44
+ async: true,
45
+ crossOrigin: "anonymous",
46
+ defer: false,
47
+ integrity: undefined,
48
+ nomodule: false,
49
+ nonce: undefined,
50
+ referrerpolicy: undefined,
51
+ type: "text/javascript",
52
+ });
53
+ }
54
54
 
55
- /**
56
- * This method is called by the `instanceof` operator.
57
- * @returns {symbol}
58
- * @since 2.1.0
59
- */
60
- static get [instanceSymbol]() {
61
- return Symbol.for("@schukai/monster/dom/resource/script");
62
- }
55
+ /**
56
+ * This method is called by the `instanceof` operator.
57
+ * @returns {symbol}
58
+ * @since 2.1.0
59
+ */
60
+ static get [instanceSymbol]() {
61
+ return Symbol.for("@schukai/monster/dom/resource/script");
62
+ }
63
63
 
64
- /**
65
- *
66
- * @return {Monster.DOM.Resource.Script}
67
- */
68
- create() {
69
- createElement.call(this);
70
- return this;
71
- }
64
+ /**
65
+ *
66
+ * @return {Monster.DOM.Resource.Script}
67
+ */
68
+ create() {
69
+ createElement.call(this);
70
+ return this;
71
+ }
72
72
 
73
- /**
74
- * @return {string}
75
- */
76
- static getURLAttribute() {
77
- return ATTRIBUTE_SRC;
78
- }
73
+ /**
74
+ * @return {string}
75
+ */
76
+ static getURLAttribute() {
77
+ return ATTRIBUTE_SRC;
78
+ }
79
79
  }
80
80
 
81
81
  /**
@@ -83,29 +83,27 @@ class Script extends Resource {
83
83
  * @return {Monster.DOM.Resource.Script}
84
84
  */
85
85
  function createElement() {
86
- const self = this;
86
+ const document = this.getOption(KEY_DOCUMENT);
87
+ this[referenceSymbol] = document.createElement(TAG_SCRIPT);
87
88
 
88
- const document = self.getOption(KEY_DOCUMENT);
89
- self[referenceSymbol] = document.createElement(TAG_SCRIPT);
89
+ for (const key of [
90
+ "crossOrigin",
91
+ "defer",
92
+ "async",
93
+ "integrity",
94
+ "nomodule",
95
+ ATTRIBUTE_NONCE,
96
+ "referrerpolicy",
97
+ ATTRIBUTE_TYPE,
98
+ ATTRIBUTE_SRC,
99
+ ATTRIBUTE_ID,
100
+ ATTRIBUTE_CLASS,
101
+ ATTRIBUTE_TITLE,
102
+ ]) {
103
+ if (this.getOption(key) !== undefined) {
104
+ this[referenceSymbol][key] = this.getOption(key);
105
+ }
106
+ }
90
107
 
91
- for (let key of [
92
- "crossOrigin",
93
- "defer",
94
- "async",
95
- "integrity",
96
- "nomodule",
97
- ATTRIBUTE_NONCE,
98
- "referrerpolicy",
99
- ATTRIBUTE_TYPE,
100
- ATTRIBUTE_SRC,
101
- ATTRIBUTE_ID,
102
- ATTRIBUTE_CLASS,
103
- ATTRIBUTE_TITLE,
104
- ]) {
105
- if (self.getOption(key) !== undefined) {
106
- self[referenceSymbol][key] = self.getOption(key);
107
- }
108
- }
109
-
110
- return self;
108
+ return this;
111
109
  }
@@ -13,7 +13,11 @@ import { ID } from "../types/id.mjs";
13
13
  import { isString } from "../types/is.mjs";
14
14
  import { Observer } from "../types/observer.mjs";
15
15
  import { ProxyObserver } from "../types/proxyobserver.mjs";
16
- import { ATTRIBUTE_CLASS, ATTRIBUTE_ID, ATTRIBUTE_TITLE } from "./constants.mjs";
16
+ import {
17
+ ATTRIBUTE_CLASS,
18
+ ATTRIBUTE_ID,
19
+ ATTRIBUTE_TITLE,
20
+ } from "./constants.mjs";
17
21
  import { instanceSymbol } from "../constants.mjs";
18
22
 
19
23
  export { Resource, KEY_DOCUMENT, KEY_QUERY, referenceSymbol };
@@ -52,143 +56,143 @@ const referenceSymbol = Symbol("reference");
52
56
  * @summary A Resource class
53
57
  */
54
58
  class Resource extends BaseWithOptions {
55
- /**
56
- *
57
- * @param {Object|undefined} options
58
- */
59
- constructor(options) {
60
- super(options);
61
-
62
- let uri = this.getOption(this.constructor.getURLAttribute());
63
-
64
- if (uri === undefined) {
65
- throw new Error("missing source");
66
- } else if (uri instanceof URL) {
67
- uri = uri.toString();
68
- } else if (!isString(uri)) {
69
- throw new Error("unsupported url type");
70
- }
71
-
72
- this[internalSymbol][this.constructor.getURLAttribute()] = uri;
73
- this[internalStateSymbol] = new ProxyObserver({
74
- loaded: false,
75
- error: undefined,
76
- });
77
-
78
- this[referenceSymbol] = undefined;
79
- }
80
-
81
- /**
82
- * @return {boolean}
83
- */
84
- isConnected() {
85
- if (this[referenceSymbol] instanceof HTMLElement) {
86
- return this[referenceSymbol].isConnected;
87
- }
88
-
89
- return false;
90
- }
91
-
92
- /**
93
- * This method is overridden by the special classes and creates the DOM object.
94
- * This method is also called implicitly, if not yet done explicitly, by calling `connect()`.
95
- *
96
- * @throws {Error} this method must be implemented by derived classes
97
- * @return {Monster.DOM.Resource}
98
- */
99
- create() {
100
- throw new Error("this method must be implemented by derived classes");
101
- }
102
-
103
- /**
104
- * This method appends the HTMLElement to the specified document.
105
- * If the element has not yet been created, `create()` is called implicitly.
106
- *
107
- * throws {Error} target not found
108
- * @return {Monster.DOM.Resource}
109
- */
110
- connect() {
111
- if (!(this[referenceSymbol] instanceof HTMLElement)) {
112
- this.create();
113
- }
114
-
115
- appendToDocument.call(this);
116
- return this;
117
- }
118
-
119
- /**
120
- * @property {Document} document the document object into which the node is to be appended
121
- * @property {string} src/href url to the corresponding resource
122
- * @property {string} query defines the location where the resource is to be hooked into the dom.
123
- * @property {string} id element attribute id
124
- * @property {string} title element attribute title
125
- * @property {string} class element attribute class
126
- * @property {int} timeout timeout
127
- */
128
- get defaults() {
129
- return extend({}, super.defaults, {
130
- [this.constructor.getURLAttribute()]: undefined,
131
- [KEY_DOCUMENT]: getGlobalObject("document"),
132
- [KEY_QUERY]: "head",
133
- [KEY_TIMEOUT]: 10000,
134
- [ATTRIBUTE_ID]: new ID("resource").toString(),
135
- [ATTRIBUTE_CLASS]: undefined,
136
- [ATTRIBUTE_TITLE]: undefined,
137
- });
138
- }
139
-
140
- /**
141
- * With `available()` you can check if a resource is available.
142
- * This is the case when the tag is included and the resource is loaded.
143
- *
144
- * @return {Promise}
145
- */
146
- available() {
147
- const self = this;
148
- if (!(self[referenceSymbol] instanceof HTMLElement)) {
149
- return Promise.reject("no element");
150
- }
151
-
152
- if (!self.isConnected()) {
153
- return Promise.reject("element not connected");
154
- }
155
-
156
- if (self[internalStateSymbol].getSubject()["loaded"] === true) {
157
- if (self[internalStateSymbol].getSubject()["error"] !== undefined) {
158
- return Promise.reject(self[internalStateSymbol].getSubject()["error"]);
159
- }
160
-
161
- return Promise.resolve();
162
- }
163
-
164
- return new Promise(function (resolve, reject) {
165
- const timeout = setTimeout(() => {
166
- reject("timeout");
167
- }, self.getOption("timeout"));
168
-
169
- const observer = new Observer(() => {
170
- clearTimeout(timeout);
171
- self[internalStateSymbol].detachObserver(observer);
172
- resolve();
173
- });
174
-
175
- self[internalStateSymbol].attachObserver(observer);
176
- });
177
- }
178
-
179
- /**
180
- * @return {string}
181
- */
182
- static getURLAttribute() {
183
- throw new Error("this method must be implemented by derived classes");
184
- }
185
-
186
- /**
187
- * @return {symbol}
188
- */
189
- static get [instanceSymbol]() {
190
- return Symbol.for("@schukai/monster/dom/resource");
191
- }
59
+ /**
60
+ *
61
+ * @param {Object|undefined} options
62
+ */
63
+ constructor(options) {
64
+ super(options);
65
+
66
+ let uri = this.getOption(this.constructor.getURLAttribute());
67
+
68
+ if (uri === undefined) {
69
+ throw new Error("missing source");
70
+ } else if (uri instanceof URL) {
71
+ uri = uri.toString();
72
+ } else if (!isString(uri)) {
73
+ throw new Error("unsupported url type");
74
+ }
75
+
76
+ this[internalSymbol][this.constructor.getURLAttribute()] = uri;
77
+ this[internalStateSymbol] = new ProxyObserver({
78
+ loaded: false,
79
+ error: undefined,
80
+ });
81
+
82
+ this[referenceSymbol] = undefined;
83
+ }
84
+
85
+ /**
86
+ * @return {boolean}
87
+ */
88
+ isConnected() {
89
+ if (this[referenceSymbol] instanceof HTMLElement) {
90
+ return this[referenceSymbol].isConnected;
91
+ }
92
+
93
+ return false;
94
+ }
95
+
96
+ /**
97
+ * This method is overridden by the special classes and creates the DOM object.
98
+ * This method is also called implicitly, if not yet done explicitly, by calling `connect()`.
99
+ *
100
+ * @throws {Error} this method must be implemented by derived classes
101
+ * @return {Monster.DOM.Resource}
102
+ */
103
+ create() {
104
+ throw new Error("this method must be implemented by derived classes");
105
+ }
106
+
107
+ /**
108
+ * This method appends the HTMLElement to the specified document.
109
+ * If the element has not yet been created, `create()` is called implicitly.
110
+ *
111
+ * throws {Error} target not found
112
+ * @return {Monster.DOM.Resource}
113
+ */
114
+ connect() {
115
+ if (!(this[referenceSymbol] instanceof HTMLElement)) {
116
+ this.create();
117
+ }
118
+
119
+ appendToDocument.call(this);
120
+ return this;
121
+ }
122
+
123
+ /**
124
+ * @property {Document} document the document object into which the node is to be appended
125
+ * @property {string} src/href url to the corresponding resource
126
+ * @property {string} query defines the location where the resource is to be hooked into the dom.
127
+ * @property {string} id element attribute id
128
+ * @property {string} title element attribute title
129
+ * @property {string} class element attribute class
130
+ * @property {int} timeout timeout
131
+ */
132
+ get defaults() {
133
+ return extend({}, super.defaults, {
134
+ [this.constructor.getURLAttribute()]: undefined,
135
+ [KEY_DOCUMENT]: getGlobalObject("document"),
136
+ [KEY_QUERY]: "head",
137
+ [KEY_TIMEOUT]: 10000,
138
+ [ATTRIBUTE_ID]: new ID("resource").toString(),
139
+ [ATTRIBUTE_CLASS]: undefined,
140
+ [ATTRIBUTE_TITLE]: undefined,
141
+ });
142
+ }
143
+
144
+ /**
145
+ * With `available()` you can check if a resource is available.
146
+ * This is the case when the tag is included and the resource is loaded.
147
+ *
148
+ * @return {Promise}
149
+ */
150
+ available() {
151
+ const self = this;
152
+ if (!(self[referenceSymbol] instanceof HTMLElement)) {
153
+ return Promise.reject("no element");
154
+ }
155
+
156
+ if (!self.isConnected()) {
157
+ return Promise.reject("element not connected");
158
+ }
159
+
160
+ if (self[internalStateSymbol].getSubject()["loaded"] === true) {
161
+ if (self[internalStateSymbol].getSubject()["error"] !== undefined) {
162
+ return Promise.reject(self[internalStateSymbol].getSubject()["error"]);
163
+ }
164
+
165
+ return Promise.resolve();
166
+ }
167
+
168
+ return new Promise(function (resolve, reject) {
169
+ const timeout = setTimeout(() => {
170
+ reject("timeout");
171
+ }, self.getOption("timeout"));
172
+
173
+ const observer = new Observer(() => {
174
+ clearTimeout(timeout);
175
+ self[internalStateSymbol].detachObserver(observer);
176
+ resolve();
177
+ });
178
+
179
+ self[internalStateSymbol].attachObserver(observer);
180
+ });
181
+ }
182
+
183
+ /**
184
+ * @return {string}
185
+ */
186
+ static getURLAttribute() {
187
+ throw new Error("this method must be implemented by derived classes");
188
+ }
189
+
190
+ /**
191
+ * @return {symbol}
192
+ */
193
+ static get [instanceSymbol]() {
194
+ return Symbol.for("@schukai/monster/dom/resource");
195
+ }
192
196
  }
193
197
 
194
198
  /**
@@ -197,17 +201,15 @@ class Resource extends BaseWithOptions {
197
201
  * throws {Error} target not found
198
202
  */
199
203
  function appendToDocument() {
200
- const self = this;
204
+ const targetNode = document.querySelector(this.getOption(KEY_QUERY, "head"));
205
+ if (!(targetNode instanceof HTMLElement)) {
206
+ throw new Error("target not found");
207
+ }
201
208
 
202
- const targetNode = document.querySelector(self.getOption(KEY_QUERY, "head"));
203
- if (!(targetNode instanceof HTMLElement)) {
204
- throw new Error("target not found");
205
- }
209
+ addEvents.call(this);
210
+ targetNode.appendChild(this[referenceSymbol]);
206
211
 
207
- addEvents.call(self);
208
- targetNode.appendChild(self[referenceSymbol]);
209
-
210
- return self;
212
+ return this;
211
213
  }
212
214
 
213
215
  /**
@@ -215,29 +217,29 @@ function appendToDocument() {
215
217
  * @return {addEvents}
216
218
  */
217
219
  function addEvents() {
218
- const self = this;
219
-
220
- const onError = () => {
221
- self[referenceSymbol].removeEventListener("error", onError);
222
- self[referenceSymbol].removeEventListener("load", onLoad);
223
-
224
- self[internalStateSymbol].setSubject({
225
- loaded: true,
226
- error: `${self[referenceSymbol][self.constructor.getURLAttribute()]} is not available`,
227
- });
228
-
229
- return;
230
- };
231
-
232
- const onLoad = () => {
233
- self[referenceSymbol].removeEventListener("error", onError);
234
- self[referenceSymbol].removeEventListener("load", onLoad);
235
- self[internalStateSymbol].getSubject()["loaded"] = true;
236
- return;
237
- };
238
-
239
- self[referenceSymbol].addEventListener("load", onLoad, false);
240
- self[referenceSymbol].addEventListener("error", onError, false);
241
-
242
- return self;
220
+ const onError = () => {
221
+ this[referenceSymbol].removeEventListener("error", onError);
222
+ this[referenceSymbol].removeEventListener("load", onLoad);
223
+
224
+ this[internalStateSymbol].setSubject({
225
+ loaded: true,
226
+ error: `${
227
+ this[referenceSymbol][this.constructor.getURLAttribute()]
228
+ } is not available`,
229
+ });
230
+
231
+ return;
232
+ };
233
+
234
+ const onLoad = () => {
235
+ this[referenceSymbol].removeEventListener("error", onError);
236
+ this[referenceSymbol].removeEventListener("load", onLoad);
237
+ this[internalStateSymbol].getSubject()["loaded"] = true;
238
+ return;
239
+ };
240
+
241
+ this[referenceSymbol].addEventListener("load", onLoad, false);
242
+ this[referenceSymbol].addEventListener("error", onError, false);
243
+
244
+ return this;
243
245
  }