@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
@@ -6,29 +6,29 @@
6
6
  */
7
7
 
8
8
  import {
9
- isArray,
10
- isBoolean,
11
- isFunction,
12
- isInstance,
13
- isInteger,
14
- isIterable,
15
- isObject,
16
- isPrimitive,
17
- isString,
18
- isSymbol,
9
+ isArray,
10
+ isBoolean,
11
+ isFunction,
12
+ isInstance,
13
+ isInteger,
14
+ isIterable,
15
+ isObject,
16
+ isPrimitive,
17
+ isString,
18
+ isSymbol,
19
19
  } from "./is.mjs";
20
20
 
21
21
  export {
22
- validateIterable,
23
- validatePrimitive,
24
- validateBoolean,
25
- validateString,
26
- validateObject,
27
- validateInstance,
28
- validateArray,
29
- validateSymbol,
30
- validateFunction,
31
- validateInteger,
22
+ validateIterable,
23
+ validatePrimitive,
24
+ validateBoolean,
25
+ validateString,
26
+ validateObject,
27
+ validateInstance,
28
+ validateArray,
29
+ validateSymbol,
30
+ validateFunction,
31
+ validateInteger,
32
32
  };
33
33
 
34
34
  /**
@@ -54,10 +54,10 @@ export {
54
54
  * @see {@link Monster.Types#isPrimitive}
55
55
  */
56
56
  function validateIterable(value) {
57
- if (!isIterable(value)) {
58
- throw new TypeError("value is not iterable");
59
- }
60
- return value;
57
+ if (!isIterable(value)) {
58
+ throw new TypeError("value is not iterable");
59
+ }
60
+ return value;
61
61
  }
62
62
 
63
63
  /**
@@ -83,10 +83,10 @@ function validateIterable(value) {
83
83
  * @see {@link Monster.Types#isPrimitive}
84
84
  */
85
85
  function validatePrimitive(value) {
86
- if (!isPrimitive(value)) {
87
- throw new TypeError("value is not a primitive");
88
- }
89
- return value;
86
+ if (!isPrimitive(value)) {
87
+ throw new TypeError("value is not a primitive");
88
+ }
89
+ return value;
90
90
  }
91
91
 
92
92
  /**
@@ -111,10 +111,10 @@ function validatePrimitive(value) {
111
111
  * @throws {TypeError} value is not primitive
112
112
  */
113
113
  function validateBoolean(value) {
114
- if (!isBoolean(value)) {
115
- throw new TypeError("value is not a boolean");
116
- }
117
- return value;
114
+ if (!isBoolean(value)) {
115
+ throw new TypeError("value is not a boolean");
116
+ }
117
+ return value;
118
118
  }
119
119
 
120
120
  /**
@@ -137,10 +137,10 @@ function validateBoolean(value) {
137
137
  * @throws {TypeError} value is not a string
138
138
  */
139
139
  function validateString(value) {
140
- if (!isString(value)) {
141
- throw new TypeError("value is not a string");
142
- }
143
- return value;
140
+ if (!isString(value)) {
141
+ throw new TypeError("value is not a string");
142
+ }
143
+ return value;
144
144
  }
145
145
 
146
146
  /**
@@ -164,10 +164,10 @@ function validateString(value) {
164
164
  * @throws {TypeError} value is not a object
165
165
  */
166
166
  function validateObject(value) {
167
- if (!isObject(value)) {
168
- throw new TypeError("value is not a object");
169
- }
170
- return value;
167
+ if (!isObject(value)) {
168
+ throw new TypeError("value is not a object");
169
+ }
170
+ return value;
171
171
  }
172
172
 
173
173
  /**
@@ -191,19 +191,19 @@ function validateObject(value) {
191
191
  * @throws {TypeError} value is not an instance of
192
192
  */
193
193
  function validateInstance(value, instance) {
194
- if (!isInstance(value, instance)) {
195
- let n = "";
196
- if (isObject(instance) || isFunction(instance)) {
197
- n = instance?.["name"];
198
- }
194
+ if (!isInstance(value, instance)) {
195
+ let n = "";
196
+ if (isObject(instance) || isFunction(instance)) {
197
+ n = instance?.["name"];
198
+ }
199
199
 
200
- if (n) {
201
- n = ` ${n}`;
202
- }
200
+ if (n) {
201
+ n = ` ${n}`;
202
+ }
203
203
 
204
- throw new TypeError(`value is not an instance of${n}`);
205
- }
206
- return value;
204
+ throw new TypeError(`value is not an instance of${n}`);
205
+ }
206
+ return value;
207
207
  }
208
208
 
209
209
  /**
@@ -226,10 +226,10 @@ function validateInstance(value, instance) {
226
226
  * @throws {TypeError} value is not an array
227
227
  */
228
228
  function validateArray(value) {
229
- if (!isArray(value)) {
230
- throw new TypeError("value is not an array");
231
- }
232
- return value;
229
+ if (!isArray(value)) {
230
+ throw new TypeError("value is not an array");
231
+ }
232
+ return value;
233
233
  }
234
234
 
235
235
  /**
@@ -252,10 +252,10 @@ function validateArray(value) {
252
252
  * @throws {TypeError} value is not an symbol
253
253
  */
254
254
  function validateSymbol(value) {
255
- if (!isSymbol(value)) {
256
- throw new TypeError("value is not an symbol");
257
- }
258
- return value;
255
+ if (!isSymbol(value)) {
256
+ throw new TypeError("value is not an symbol");
257
+ }
258
+ return value;
259
259
  }
260
260
 
261
261
  /**
@@ -279,10 +279,10 @@ function validateSymbol(value) {
279
279
  * @throws {TypeError} value is not a function
280
280
  */
281
281
  function validateFunction(value) {
282
- if (!isFunction(value)) {
283
- throw new TypeError("value is not a function");
284
- }
285
- return value;
282
+ if (!isFunction(value)) {
283
+ throw new TypeError("value is not a function");
284
+ }
285
+ return value;
286
286
  }
287
287
 
288
288
  /**
@@ -306,8 +306,8 @@ function validateFunction(value) {
306
306
  * @throws {TypeError} value is not an integer
307
307
  */
308
308
  function validateInteger(value) {
309
- if (!isInteger(value)) {
310
- throw new TypeError("value is not an integer");
311
- }
312
- return value;
309
+ if (!isInteger(value)) {
310
+ throw new TypeError("value is not an integer");
311
+ }
312
+ return value;
313
313
  }
@@ -22,105 +22,115 @@ export { Version, getMonsterVersion };
22
22
  * @summary The version object contains a sematic version number
23
23
  */
24
24
  class Version extends Base {
25
- /**
26
- *
27
- * @param major
28
- * @param minor
29
- * @param patch
30
- * @throws {Error} major is not a number
31
- * @throws {Error} minor is not a number
32
- * @throws {Error} patch is not a number
33
- */
34
- constructor(major, minor, patch) {
35
- super();
36
-
37
- if (typeof major === "string" && minor === undefined && patch === undefined) {
38
- let parts = major.toString().split(".");
39
- major = parseInt(parts[0] || 0);
40
- minor = parseInt(parts[1] || 0);
41
- patch = parseInt(parts[2] || 0);
42
- }
43
-
44
- if (major === undefined) {
45
- throw new Error("major version is undefined");
46
- }
47
-
48
- if (minor === undefined) {
49
- minor = 0;
50
- }
51
-
52
- if (patch === undefined) {
53
- patch = 0;
54
- }
55
-
56
- this.major = parseInt(major);
57
- this.minor = parseInt(minor);
58
- this.patch = parseInt(patch);
59
-
60
- if (isNaN(this.major)) {
61
- throw new Error("major is not a number");
62
- }
63
-
64
- if (isNaN(this.minor)) {
65
- throw new Error("minor is not a number");
66
- }
67
-
68
- if (isNaN(this.patch)) {
69
- throw new Error("patch is not a number");
70
- }
71
- }
72
-
73
- /**
74
- * This method is called by the `instanceof` operator.
75
- * @returns {symbol}
76
- * @since 2.1.0
77
- */
78
- static get [instanceSymbol]() {
79
- return Symbol.for("@schukai/monster/types/version");
80
- }
81
-
82
- /**
83
- *
84
- * @returns {string}
85
- */
86
- toString() {
87
- return `${this.major}.${this.minor}.${this.patch}`;
88
- }
89
-
90
- /**
91
- * returns 0 if equal, -1 if the object version is less and 1 if greater
92
- * than the compared version
93
- *
94
- * @param {string|Version} version Version to compare
95
- * @returns {number}
96
- */
97
- compareTo(version) {
98
- if (version instanceof Version) {
99
- version = version.toString();
100
- }
101
-
102
- if (typeof version !== "string") {
103
- throw new Error("type exception");
104
- }
105
-
106
- if (version === this.toString()) {
107
- return 0;
108
- }
109
-
110
- let a = [this.major, this.minor, this.patch];
111
- let b = version.split(".");
112
- let len = Math.max(a.length, b.length);
113
-
114
- for (let i = 0; i < len; i += 1) {
115
- if ((a[i] && !b[i] && parseInt(a[i]) > 0) || parseInt(a[i]) > parseInt(b[i])) {
116
- return 1;
117
- } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || parseInt(a[i]) < parseInt(b[i])) {
118
- return -1;
119
- }
120
- }
121
-
122
- return 0;
123
- }
25
+ /**
26
+ *
27
+ * @param major
28
+ * @param minor
29
+ * @param patch
30
+ * @throws {Error} major is not a number
31
+ * @throws {Error} minor is not a number
32
+ * @throws {Error} patch is not a number
33
+ */
34
+ constructor(major, minor, patch) {
35
+ super();
36
+
37
+ if (
38
+ typeof major === "string" &&
39
+ minor === undefined &&
40
+ patch === undefined
41
+ ) {
42
+ const parts = major.toString().split(".");
43
+ major = parseInt(parts[0] || 0);
44
+ minor = parseInt(parts[1] || 0);
45
+ patch = parseInt(parts[2] || 0);
46
+ }
47
+
48
+ if (major === undefined) {
49
+ throw new Error("major version is undefined");
50
+ }
51
+
52
+ if (minor === undefined) {
53
+ minor = 0;
54
+ }
55
+
56
+ if (patch === undefined) {
57
+ patch = 0;
58
+ }
59
+
60
+ this.major = parseInt(major);
61
+ this.minor = parseInt(minor);
62
+ this.patch = parseInt(patch);
63
+
64
+ if (isNaN(this.major)) {
65
+ throw new Error("major is not a number");
66
+ }
67
+
68
+ if (isNaN(this.minor)) {
69
+ throw new Error("minor is not a number");
70
+ }
71
+
72
+ if (isNaN(this.patch)) {
73
+ throw new Error("patch is not a number");
74
+ }
75
+ }
76
+
77
+ /**
78
+ * This method is called by the `instanceof` operator.
79
+ * @returns {symbol}
80
+ * @since 2.1.0
81
+ */
82
+ static get [instanceSymbol]() {
83
+ return Symbol.for("@schukai/monster/types/version");
84
+ }
85
+
86
+ /**
87
+ *
88
+ * @returns {string}
89
+ */
90
+ toString() {
91
+ return `${this.major}.${this.minor}.${this.patch}`;
92
+ }
93
+
94
+ /**
95
+ * returns 0 if equal, -1 if the object version is less and 1 if greater
96
+ * than the compared version
97
+ *
98
+ * @param {string|Version} version Version to compare
99
+ * @returns {number}
100
+ */
101
+ compareTo(version) {
102
+ if (version instanceof Version) {
103
+ version = version.toString();
104
+ }
105
+
106
+ if (typeof version !== "string") {
107
+ throw new Error("type exception");
108
+ }
109
+
110
+ if (version === this.toString()) {
111
+ return 0;
112
+ }
113
+
114
+ const a = [this.major, this.minor, this.patch];
115
+ const b = version.split(".");
116
+ const len = Math.max(a.length, b.length);
117
+
118
+ for (let i = 0; i < len; i += 1) {
119
+ if (
120
+ (a[i] && !b[i] && parseInt(a[i]) > 0) ||
121
+ parseInt(a[i]) > parseInt(b[i])
122
+ ) {
123
+ return 1;
124
+ } else if (
125
+ (b[i] && !a[i] && parseInt(b[i]) > 0) ||
126
+ parseInt(a[i]) < parseInt(b[i])
127
+ ) {
128
+ return -1;
129
+ }
130
+ }
131
+
132
+ return 0;
133
+ }
124
134
  }
125
135
 
126
136
  let monsterVersion;
@@ -137,12 +147,12 @@ let monsterVersion;
137
147
  * @memberOf Monster
138
148
  */
139
149
  function getMonsterVersion() {
140
- if (monsterVersion instanceof Version) {
141
- return monsterVersion;
142
- }
150
+ if (monsterVersion instanceof Version) {
151
+ return monsterVersion;
152
+ }
143
153
 
144
- /** don't touch, replaced by make with package.json version */
145
- monsterVersion = new Version("3.51.4");
154
+ /** don't touch, replaced by make with package.json version */
155
+ monsterVersion = new Version("3.52.0");
146
156
 
147
- return monsterVersion;
157
+ return monsterVersion;
148
158
  }
@@ -30,64 +30,70 @@ export { clone };
30
30
  * @throws {Error} unable to clone obj! its type isn't supported.
31
31
  */
32
32
  function clone(obj) {
33
- // typeof null results in 'object'. https://2ality.com/2013/10/typeof-null.html
34
- if (null === obj) {
35
- return obj;
36
- }
37
-
38
- // Handle the two simple types, null and undefined
39
- if (isPrimitive(obj)) {
40
- return obj;
41
- }
42
-
43
- // Handle the two simple types, null and undefined
44
- if (isFunction(obj)) {
45
- return obj;
46
- }
47
-
48
- // Handle Array
49
- if (isArray(obj)) {
50
- let copy = [];
51
- for (var i = 0, len = obj.length; i < len; i++) {
52
- copy[i] = clone(obj[i]);
53
- }
54
-
55
- return copy;
56
- }
57
-
58
- if (isObject(obj)) {
59
- // Handle Date
60
- if (obj instanceof Date) {
61
- let copy = new Date();
62
- copy.setTime(obj.getTime());
63
- return copy;
64
- }
65
-
66
- /** Do not clone DOM nodes */
67
- if (typeof Element !== "undefined" && obj instanceof Element) return obj;
68
- if (typeof HTMLDocument !== "undefined" && obj instanceof HTMLDocument) return obj;
69
- if (typeof DocumentFragment !== "undefined" && obj instanceof DocumentFragment) return obj;
70
-
71
- /** Do not clone global objects */
72
- if (obj === getGlobal()) return obj;
73
- if (typeof globalContext !== "undefined" && obj === globalContext) return obj;
74
- if (typeof window !== "undefined" && obj === window) return obj;
75
- if (typeof document !== "undefined" && obj === document) return obj;
76
- if (typeof navigator !== "undefined" && obj === navigator) return obj;
77
- if (typeof JSON !== "undefined" && obj === JSON) return obj;
78
-
79
- // Handle Proxy-Object
80
- try {
81
- // try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check
82
- if (obj instanceof Proxy) {
83
- return obj;
84
- }
85
- } catch (e) {}
86
-
87
- return cloneObject(obj);
88
- }
89
-
90
- throw new Error("unable to clone obj! its type isn't supported.");
33
+ // typeof null results in 'object'. https://2ality.com/2013/10/typeof-null.html
34
+ if (null === obj) {
35
+ return obj;
36
+ }
37
+
38
+ // Handle the two simple types, null and undefined
39
+ if (isPrimitive(obj)) {
40
+ return obj;
41
+ }
42
+
43
+ // Handle the two simple types, null and undefined
44
+ if (isFunction(obj)) {
45
+ return obj;
46
+ }
47
+
48
+ // Handle Array
49
+ if (isArray(obj)) {
50
+ const copy = [];
51
+ for (var i = 0, len = obj.length; i < len; i++) {
52
+ copy[i] = clone(obj[i]);
53
+ }
54
+
55
+ return copy;
56
+ }
57
+
58
+ if (isObject(obj)) {
59
+ // Handle Date
60
+ if (obj instanceof Date) {
61
+ const copy = new Date();
62
+ copy.setTime(obj.getTime());
63
+ return copy;
64
+ }
65
+
66
+ /** Do not clone DOM nodes */
67
+ if (typeof Element !== "undefined" && obj instanceof Element) return obj;
68
+ if (typeof HTMLDocument !== "undefined" && obj instanceof HTMLDocument)
69
+ return obj;
70
+ if (
71
+ typeof DocumentFragment !== "undefined" &&
72
+ obj instanceof DocumentFragment
73
+ )
74
+ return obj;
75
+
76
+ /** Do not clone global objects */
77
+ if (obj === getGlobal()) return obj;
78
+ if (typeof globalContext !== "undefined" && obj === globalContext)
79
+ return obj;
80
+ if (typeof window !== "undefined" && obj === window) return obj;
81
+ if (typeof document !== "undefined" && obj === document) return obj;
82
+ if (typeof navigator !== "undefined" && obj === navigator) return obj;
83
+ if (typeof JSON !== "undefined" && obj === JSON) return obj;
84
+
85
+ // Handle Proxy-Object
86
+ try {
87
+ // try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check
88
+ if (obj instanceof Proxy) {
89
+ return obj;
90
+ }
91
+ } catch (e) {}
92
+
93
+ return cloneObject(obj);
94
+ }
95
+
96
+ throw new Error("unable to clone obj! its type isn't supported.");
91
97
  }
92
98
 
93
99
  /**
@@ -97,37 +103,43 @@ function clone(obj) {
97
103
  * @private
98
104
  */
99
105
  function cloneObject(obj) {
100
- validateObject(obj);
101
-
102
- const fkt = obj?.["constructor"];
103
-
104
- /** Object has clone method */
105
- if (typeOf(fkt) === "function") {
106
- const prototype = fkt?.prototype;
107
- if (typeof prototype === "object") {
108
- if (prototype.hasOwnProperty("getClone") && typeOf(obj.getClone) === "function") {
109
- return obj.getClone();
110
- }
111
- }
112
- }
113
-
114
- let copy = {};
115
- if (typeof obj.constructor === "function" && typeof obj.constructor.call === "function") {
116
- copy = new obj.constructor();
117
- }
118
-
119
- for (let key in obj) {
120
- if (!obj.hasOwnProperty(key)) {
121
- continue;
122
- }
123
-
124
- if (isPrimitive(obj[key])) {
125
- copy[key] = obj[key];
126
- continue;
127
- }
128
-
129
- copy[key] = clone(obj[key]);
130
- }
131
-
132
- return copy;
106
+ validateObject(obj);
107
+
108
+ const fkt = obj?.["constructor"];
109
+
110
+ /** Object has clone method */
111
+ if (typeOf(fkt) === "function") {
112
+ const prototype = fkt?.prototype;
113
+ if (typeof prototype === "object") {
114
+ if (
115
+ prototype.hasOwnProperty("getClone") &&
116
+ typeOf(obj.getClone) === "function"
117
+ ) {
118
+ return obj.getClone();
119
+ }
120
+ }
121
+ }
122
+
123
+ let copy = {};
124
+ if (
125
+ typeof obj.constructor === "function" &&
126
+ typeof obj.constructor.call === "function"
127
+ ) {
128
+ copy = new obj.constructor();
129
+ }
130
+
131
+ for (const key in obj) {
132
+ if (!obj.hasOwnProperty(key)) {
133
+ continue;
134
+ }
135
+
136
+ if (isPrimitive(obj[key])) {
137
+ copy[key] = obj[key];
138
+ continue;
139
+ }
140
+
141
+ copy[key] = clone(obj[key]);
142
+ }
143
+
144
+ return copy;
133
145
  }