@schukai/monster 3.64.1 → 3.65.20

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 (395) hide show
  1. package/CHANGELOG.md +92 -318
  2. package/README.md +44 -40
  3. package/package.json +1 -47
  4. package/source/components/constants.mjs +10 -3
  5. package/source/components/datatable/change-button.mjs +12 -5
  6. package/source/components/datatable/columnbar.mjs +10 -1
  7. package/source/components/datatable/constants.mjs +11 -4
  8. package/source/components/datatable/dataset.mjs +10 -1
  9. package/source/components/datatable/datasource/dom.mjs +14 -1
  10. package/source/components/datatable/datasource/rest.mjs +10 -1
  11. package/source/components/datatable/datasource.mjs +10 -1
  12. package/source/components/datatable/datatable/header.mjs +12 -3
  13. package/source/components/datatable/datatable.mjs +757 -752
  14. package/source/components/datatable/embedded-pagination.mjs +10 -1
  15. package/source/components/datatable/filter/abstract-base.mjs +10 -1
  16. package/source/components/datatable/filter/date-range.mjs +10 -1
  17. package/source/components/datatable/filter/input.mjs +10 -1
  18. package/source/components/datatable/filter/range.mjs +10 -1
  19. package/source/components/datatable/filter/select.mjs +11 -4
  20. package/source/components/datatable/filter/settings.mjs +14 -0
  21. package/source/components/datatable/filter/util.mjs +14 -0
  22. package/source/components/datatable/filter-button.mjs +10 -1
  23. package/source/components/datatable/filter.mjs +11 -3
  24. package/source/components/datatable/pagination.mjs +14 -5
  25. package/source/components/datatable/save-button.mjs +279 -270
  26. package/source/components/datatable/status.mjs +10 -1
  27. package/source/components/datatable/style/dataset.pcss +1 -0
  28. package/source/components/datatable/style/datatable.pcss +1 -0
  29. package/source/components/datatable/stylesheet/change-button.mjs +16 -7
  30. package/source/components/datatable/stylesheet/column-bar.mjs +16 -7
  31. package/source/components/datatable/stylesheet/dataset.mjs +17 -8
  32. package/source/components/datatable/stylesheet/datasource.mjs +16 -7
  33. package/source/components/datatable/stylesheet/datatable.mjs +17 -8
  34. package/source/components/datatable/stylesheet/embedded-pagination.mjs +16 -7
  35. package/source/components/datatable/stylesheet/filter-button.mjs +16 -7
  36. package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +16 -7
  37. package/source/components/datatable/stylesheet/filter-date-range.mjs +16 -7
  38. package/source/components/datatable/stylesheet/filter-range.mjs +16 -7
  39. package/source/components/datatable/stylesheet/filter.mjs +16 -7
  40. package/source/components/datatable/stylesheet/pagination.mjs +16 -7
  41. package/source/components/datatable/stylesheet/save-button.mjs +16 -7
  42. package/source/components/datatable/stylesheet/select-filter.mjs +16 -7
  43. package/source/components/datatable/stylesheet/status.mjs +16 -7
  44. package/source/components/datatable/util.mjs +16 -8
  45. package/source/components/form/action-button.mjs +11 -3
  46. package/source/components/form/api-button.mjs +11 -3
  47. package/source/components/form/button-bar.mjs +11 -3
  48. package/source/components/form/button.mjs +37 -50
  49. package/source/components/form/confirm-button.mjs +11 -3
  50. package/source/components/form/constants.mjs +10 -3
  51. package/source/components/form/context-error.mjs +69 -52
  52. package/source/components/form/context-help.mjs +11 -3
  53. package/source/components/form/field-set.mjs +295 -0
  54. package/source/components/form/form.mjs +12 -4
  55. package/source/components/form/message-state-button.mjs +11 -3
  56. package/source/components/form/popper-button.mjs +11 -3
  57. package/source/components/form/popper.mjs +13 -480
  58. package/source/components/form/reload.mjs +12 -4
  59. package/source/components/form/select.mjs +44 -33
  60. package/source/components/form/shadow-reload.mjs +11 -3
  61. package/source/components/form/state-button.mjs +11 -3
  62. package/source/components/form/style/field-set.pcss +13 -0
  63. package/source/components/form/stylesheet/action-button.mjs +16 -7
  64. package/source/components/form/stylesheet/api-button.mjs +16 -7
  65. package/source/components/form/stylesheet/button-bar.mjs +17 -8
  66. package/source/components/form/stylesheet/button.mjs +16 -7
  67. package/source/components/form/stylesheet/confirm-button.mjs +17 -8
  68. package/source/components/form/stylesheet/context-error.mjs +16 -7
  69. package/source/components/form/stylesheet/context-help.mjs +16 -7
  70. package/source/components/form/stylesheet/field-set.mjs +40 -0
  71. package/source/components/form/stylesheet/form.mjs +17 -8
  72. package/source/components/form/stylesheet/message-state-button.mjs +16 -7
  73. package/source/components/form/stylesheet/popper-button.mjs +16 -7
  74. package/source/components/form/stylesheet/select.mjs +16 -7
  75. package/source/components/form/stylesheet/state-button.mjs +16 -7
  76. package/source/components/form/stylesheet/toggle-switch.mjs +16 -7
  77. package/source/components/form/stylesheet/tree-select.mjs +16 -7
  78. package/source/components/form/tabs.mjs +12 -8
  79. package/source/components/form/template.mjs +11 -3
  80. package/source/components/form/toggle-switch.mjs +12 -8
  81. package/source/components/form/tree-select.mjs +10 -3
  82. package/source/components/form/types/state.mjs +10 -3
  83. package/source/components/form/util/fetch.mjs +10 -3
  84. package/source/components/form/util/floating-ui.mjs +10 -3
  85. package/source/components/form/util/popper.mjs +10 -3
  86. package/source/components/host/call-button.mjs +10 -1
  87. package/source/components/host/collapse.mjs +15 -519
  88. package/source/components/host/config-manager.mjs +10 -1
  89. package/source/components/host/constants.mjs +11 -4
  90. package/source/components/host/details.mjs +14 -256
  91. package/source/components/host/host.mjs +10 -1
  92. package/source/components/host/overlay.mjs +10 -1
  93. package/source/components/host/stylesheet/call-button.mjs +16 -7
  94. package/source/components/host/stylesheet/config-manager.mjs +16 -7
  95. package/source/components/host/stylesheet/host.mjs +17 -8
  96. package/source/components/host/stylesheet/overlay.mjs +17 -8
  97. package/source/components/host/stylesheet/toggle-button.mjs +16 -7
  98. package/source/components/host/stylesheet/viewer.mjs +16 -7
  99. package/source/components/host/toggle-button.mjs +10 -1
  100. package/source/components/host/util.mjs +14 -0
  101. package/source/components/host/viewer.mjs +10 -1
  102. package/source/components/layout/collapse.mjs +543 -0
  103. package/source/components/layout/details.mjs +273 -0
  104. package/source/components/layout/panel.mjs +179 -169
  105. package/source/components/layout/popper.mjs +480 -0
  106. package/source/components/layout/split-panel.mjs +329 -303
  107. package/source/components/{host → layout}/stylesheet/collapse.mjs +16 -7
  108. package/source/components/{host → layout}/stylesheet/details.mjs +16 -7
  109. package/source/components/layout/stylesheet/panel.mjs +16 -7
  110. package/source/components/{form → layout}/stylesheet/popper.mjs +16 -7
  111. package/source/components/layout/stylesheet/split-panel.mjs +16 -7
  112. package/source/components/layout/stylesheet/tabs.mjs +16 -7
  113. package/source/components/layout/stylesheet/width-toggle.mjs +16 -7
  114. package/source/components/layout/tabs.mjs +38 -23
  115. package/source/components/layout/width-toggle.mjs +150 -140
  116. package/source/components/navigation/style/table-of-content.pcss +99 -0
  117. package/source/components/navigation/stylesheet/table-of-content.mjs +40 -0
  118. package/source/components/navigation/table-of-content.mjs +546 -0
  119. package/source/components/notify/constants.mjs +10 -3
  120. package/source/components/notify/message.mjs +16 -9
  121. package/source/components/notify/notify.mjs +11 -4
  122. package/source/components/notify/stylesheet/message.mjs +16 -7
  123. package/source/components/notify/stylesheet/notify.mjs +16 -7
  124. package/source/components/state/log/entry.mjs +10 -1
  125. package/source/components/state/log.mjs +10 -1
  126. package/source/components/state/state.mjs +10 -1
  127. package/source/components/state/stylesheet/log.mjs +16 -7
  128. package/source/components/state/stylesheet/state.mjs +17 -8
  129. package/source/components/style/link.pcss +0 -1
  130. package/source/components/style/mixin/form.pcss +0 -1
  131. package/source/components/style/mixin/typography.pcss +7 -7
  132. package/source/components/style/typography.pcss +1 -1
  133. package/source/components/stylesheet/badge.mjs +16 -7
  134. package/source/components/stylesheet/border.mjs +16 -7
  135. package/source/components/stylesheet/button.mjs +16 -7
  136. package/source/components/stylesheet/card.mjs +16 -7
  137. package/source/components/stylesheet/color.mjs +16 -7
  138. package/source/components/stylesheet/common.mjs +16 -7
  139. package/source/components/stylesheet/control.mjs +16 -7
  140. package/source/components/stylesheet/data-grid.mjs +16 -7
  141. package/source/components/stylesheet/display.mjs +16 -7
  142. package/source/components/stylesheet/floating-ui.mjs +16 -7
  143. package/source/components/stylesheet/form.mjs +16 -7
  144. package/source/components/stylesheet/host.mjs +16 -7
  145. package/source/components/stylesheet/icons.mjs +16 -7
  146. package/source/components/stylesheet/link.mjs +16 -7
  147. package/source/components/stylesheet/mixin/badge.mjs +16 -7
  148. package/source/components/stylesheet/mixin/button.mjs +16 -7
  149. package/source/components/stylesheet/mixin/form.mjs +16 -7
  150. package/source/components/stylesheet/mixin/hover.mjs +16 -7
  151. package/source/components/stylesheet/mixin/icon.mjs +16 -7
  152. package/source/components/stylesheet/mixin/media.mjs +16 -7
  153. package/source/components/stylesheet/mixin/property.mjs +16 -7
  154. package/source/components/stylesheet/mixin/skeleton.mjs +16 -7
  155. package/source/components/stylesheet/mixin/spinner.mjs +16 -7
  156. package/source/components/stylesheet/mixin/typography.mjs +16 -7
  157. package/source/components/stylesheet/normalize.mjs +16 -7
  158. package/source/components/stylesheet/popper.mjs +16 -7
  159. package/source/components/stylesheet/property.mjs +16 -7
  160. package/source/components/stylesheet/ripple.mjs +16 -7
  161. package/source/components/stylesheet/skeleton.mjs +16 -7
  162. package/source/components/stylesheet/space.mjs +16 -7
  163. package/source/components/stylesheet/spinner.mjs +16 -7
  164. package/source/components/stylesheet/table.mjs +16 -7
  165. package/source/components/stylesheet/theme.mjs +16 -7
  166. package/source/components/stylesheet/tree-menu.mjs +10 -3
  167. package/source/components/stylesheet/typography.mjs +17 -8
  168. package/source/components/tree-menu/stylesheet/tree-menu.mjs +16 -7
  169. package/source/components/tree-menu/tree-menu.mjs +19 -8
  170. package/source/constants.mjs +10 -6
  171. package/source/constraints/abstract.mjs +10 -3
  172. package/source/constraints/abstractoperator.mjs +10 -3
  173. package/source/constraints/andoperator.mjs +10 -3
  174. package/source/constraints/invalid.mjs +10 -3
  175. package/source/constraints/isarray.mjs +10 -3
  176. package/source/constraints/isobject.mjs +10 -3
  177. package/source/constraints/oroperator.mjs +10 -3
  178. package/source/constraints/valid.mjs +10 -3
  179. package/source/data/buildmap.mjs +10 -3
  180. package/source/data/buildtree.mjs +10 -3
  181. package/source/data/datasource/dom.mjs +10 -3
  182. package/source/data/datasource/server/restapi/data-fetch-error.mjs +10 -3
  183. package/source/data/datasource/server/restapi/writeerror.mjs +10 -3
  184. package/source/data/datasource/server/restapi.mjs +10 -3
  185. package/source/data/datasource/server/webconnect.mjs +10 -3
  186. package/source/data/datasource/server.mjs +10 -3
  187. package/source/data/datasource/storage/localstorage.mjs +10 -3
  188. package/source/data/datasource/storage/sessionstorage.mjs +10 -3
  189. package/source/data/datasource/storage.mjs +10 -3
  190. package/source/data/datasource.mjs +10 -3
  191. package/source/data/diff.mjs +10 -3
  192. package/source/data/extend.mjs +10 -3
  193. package/source/data/pathfinder.mjs +10 -3
  194. package/source/data/pipe.mjs +10 -3
  195. package/source/data/transformer.mjs +34 -10
  196. package/source/dom/assembler.mjs +10 -3
  197. package/source/dom/attributes.mjs +10 -3
  198. package/source/dom/constants.mjs +10 -3
  199. package/source/dom/customcontrol.mjs +11 -4
  200. package/source/dom/customelement.mjs +31 -17
  201. package/source/dom/dimension.mjs +10 -3
  202. package/source/dom/events.mjs +10 -3
  203. package/source/dom/focusmanager.mjs +10 -3
  204. package/source/dom/locale.mjs +10 -3
  205. package/source/dom/ready.mjs +11 -4
  206. package/source/dom/resource/data.mjs +10 -3
  207. package/source/dom/resource/link/stylesheet.mjs +10 -3
  208. package/source/dom/resource/link.mjs +10 -3
  209. package/source/dom/resource/script.mjs +10 -3
  210. package/source/dom/resource.mjs +10 -3
  211. package/source/dom/resourcemanager.mjs +10 -3
  212. package/source/dom/slotted.mjs +14 -0
  213. package/source/dom/template.mjs +124 -136
  214. package/source/dom/theme.mjs +10 -3
  215. package/source/dom/updater.mjs +10 -3
  216. package/source/dom/util/extract-keys.mjs +10 -3
  217. package/source/dom/util/init-options-from-attributes.mjs +68 -61
  218. package/source/dom/util/set-option-from-attribute.mjs +10 -3
  219. package/source/dom/util.mjs +11 -4
  220. package/source/dom/worker/factory.mjs +10 -3
  221. package/source/i18n/formatter.mjs +10 -3
  222. package/source/i18n/locale.mjs +10 -3
  223. package/source/i18n/provider.mjs +10 -3
  224. package/source/i18n/providers/embed.mjs +10 -3
  225. package/source/i18n/providers/fetch.mjs +10 -3
  226. package/source/i18n/translations.mjs +10 -3
  227. package/source/logging/handler/console.mjs +10 -3
  228. package/source/logging/handler.mjs +10 -3
  229. package/source/logging/logentry.mjs +10 -3
  230. package/source/logging/logger.mjs +10 -3
  231. package/source/math/random.mjs +10 -3
  232. package/source/monster.mjs +8 -93
  233. package/source/net/webconnect/message.mjs +10 -3
  234. package/source/net/webconnect.mjs +20 -5
  235. package/source/text/bracketed-key-value-hash.mjs +10 -3
  236. package/source/text/formatter.mjs +10 -3
  237. package/source/text/generate-range-comparison-expression.mjs +10 -3
  238. package/source/text/util.mjs +14 -0
  239. package/source/types/base.mjs +10 -3
  240. package/source/types/basewithoptions.mjs +10 -3
  241. package/source/types/binary.mjs +10 -3
  242. package/source/types/dataurl.mjs +10 -3
  243. package/source/types/global.mjs +14 -7
  244. package/source/types/id.mjs +10 -3
  245. package/source/types/internal.mjs +11 -3
  246. package/source/types/is.mjs +10 -3
  247. package/source/types/mediatype.mjs +10 -3
  248. package/source/types/node.mjs +10 -3
  249. package/source/types/nodelist.mjs +10 -3
  250. package/source/types/noderecursiveiterator.mjs +10 -3
  251. package/source/types/observablequeue.mjs +10 -3
  252. package/source/types/observer.mjs +10 -3
  253. package/source/types/observerlist.mjs +10 -3
  254. package/source/types/proxyobserver.mjs +14 -5
  255. package/source/types/queue.mjs +10 -3
  256. package/source/types/randomid.mjs +10 -3
  257. package/source/types/regex.mjs +10 -3
  258. package/source/types/stack.mjs +10 -3
  259. package/source/types/tokenlist.mjs +10 -3
  260. package/source/types/typeof.mjs +10 -3
  261. package/source/types/uniquequeue.mjs +10 -3
  262. package/source/types/uuid.mjs +10 -3
  263. package/source/types/validate.mjs +10 -3
  264. package/source/types/version.mjs +11 -4
  265. package/source/util/clone.mjs +10 -3
  266. package/source/util/comparator.mjs +10 -3
  267. package/source/util/deadmansswitch.mjs +10 -3
  268. package/source/util/freeze.mjs +10 -3
  269. package/source/util/processing.mjs +10 -3
  270. package/source/util/runtime.mjs +10 -7
  271. package/source/util/sleep.mjs +10 -10
  272. package/source/util/trimspaces.mjs +10 -3
  273. package/test/cases/data/datasource/server/websocket.mjs +7 -9
  274. package/test/cases/data/transformer.mjs +47 -15
  275. package/test/cases/dom/customcontrol.mjs +0 -1
  276. package/test/cases/dom/customelement.mjs +1 -3
  277. package/test/cases/dom/template.mjs +3 -1
  278. package/test/cases/monster.mjs +1 -1
  279. package/test/util/jsdom.mjs +8 -7
  280. package/test/util/websocket.mjs +5 -1
  281. package/test/web/import.js +2 -1
  282. package/test/web/puppeteer.mjs +111 -0
  283. package/test/web/test.html +2 -2
  284. package/test/web/tests.js +2039 -1192
  285. package/example/components/form/button.mjs +0 -10
  286. package/example/components/form/select.mjs +0 -25
  287. package/example/components/form/toggle-switch.mjs +0 -7
  288. package/example/components/form/tree-select.mjs +0 -27
  289. package/example/components/host/host.mjs +0 -0
  290. package/example/components/notify/message.mjs +0 -4
  291. package/example/components/notify/notify.mjs +0 -4
  292. package/example/components/state/log.mjs +0 -0
  293. package/example/components/state/state.mjs +0 -0
  294. package/example/constraints/andoperator.mjs +0 -17
  295. package/example/constraints/invalid.mjs +0 -6
  296. package/example/constraints/isarray.mjs +0 -11
  297. package/example/constraints/isobject.mjs +0 -12
  298. package/example/constraints/oroperator.mjs +0 -15
  299. package/example/constraints/valid.mjs +0 -6
  300. package/example/data/buildmap.mjs +0 -67
  301. package/example/data/datasource/server/restapi.mjs +0 -20
  302. package/example/data/datasource/server/webconnect.mjs +0 -9
  303. package/example/data/datasource.mjs +0 -7
  304. package/example/data/diff.mjs +0 -39
  305. package/example/data/pathfinder-1.mjs +0 -23
  306. package/example/data/pathfinder-2.mjs +0 -19
  307. package/example/data/pipe.mjs +0 -14
  308. package/example/data/transformer.mjs +0 -9
  309. package/example/dom/customelement.mjs +0 -14
  310. package/example/dom/theme.mjs +0 -5
  311. package/example/dom/updater.mjs +0 -23
  312. package/example/i18n/formatter.mjs +0 -10
  313. package/example/i18n/providers/embed.mjs +0 -5
  314. package/example/i18n/providers/fetch.mjs +0 -5
  315. package/example/i18n/translations.mjs +0 -20
  316. package/example/net/webconnect.mjs +0 -16
  317. package/example/types/basewithoptions.mjs +0 -10
  318. package/example/types/is-1.mjs +0 -5
  319. package/example/types/is-10.mjs +0 -6
  320. package/example/types/is-2.mjs +0 -4
  321. package/example/types/is-3.mjs +0 -4
  322. package/example/types/is-4.mjs +0 -5
  323. package/example/types/is-5.mjs +0 -4
  324. package/example/types/is-6.mjs +0 -4
  325. package/example/types/is-7.mjs +0 -4
  326. package/example/types/is-8.mjs +0 -4
  327. package/example/types/is-9.mjs +0 -6
  328. package/example/types/noderecursiveiterator.mjs +0 -32
  329. package/example/types/observer.mjs +0 -9
  330. package/example/types/proxyobserver.mjs +0 -25
  331. package/example/types/queue.mjs +0 -20
  332. package/example/types/tokenlist-1.mjs +0 -4
  333. package/example/types/tokenlist-2.mjs +0 -7
  334. package/example/types/tokenlist-3.mjs +0 -5
  335. package/example/types/tokenlist-4.mjs +0 -5
  336. package/example/types/tokenlist-5.mjs +0 -5
  337. package/example/types/typeof.mjs +0 -9
  338. package/example/types/version-1.mjs +0 -6
  339. package/example/types/version-2.mjs +0 -3
  340. package/example/util/comparator.mjs +0 -10
  341. package/example/util/deadmansswitch.mjs +0 -9
  342. package/example/util/processing.mjs +0 -17
  343. package/source/components/datatable/datasource/namespace.mjs +0 -13
  344. package/source/components/datatable/datatable/namespace.mjs +0 -13
  345. package/source/components/datatable/events.mjs +0 -24
  346. package/source/components/datatable/filter/namespace.mjs +0 -13
  347. package/source/components/datatable/namespace.mjs +0 -11
  348. package/source/components/datatable/stylesheet/namespace.mjs +0 -13
  349. package/source/components/events.mjs +0 -17
  350. package/source/components/form/events.mjs +0 -108
  351. package/source/components/form/form-field.mjs +0 -341
  352. package/source/components/form/namespace.mjs +0 -13
  353. package/source/components/form/style/form-field.pcss +0 -4
  354. package/source/components/form/stylesheet/form-field.mjs +0 -31
  355. package/source/components/form/stylesheet/namespace.mjs +0 -13
  356. package/source/components/form/types/namespace.mjs +0 -13
  357. package/source/components/form/util/namespace.mjs +0 -13
  358. package/source/components/host/events.mjs +0 -131
  359. package/source/components/host/namespace.mjs +0 -13
  360. package/source/components/host/stylesheet/namespace.mjs +0 -13
  361. package/source/components/layout/events.mjs +0 -30
  362. package/source/components/layout/namespace.mjs +0 -13
  363. package/source/components/namespace.mjs +0 -14
  364. package/source/components/notify/events.mjs +0 -15
  365. package/source/components/notify/namespace.mjs +0 -15
  366. package/source/components/notify/stylesheet/namespace.mjs +0 -15
  367. package/source/components/state/log/namespace.mjs +0 -13
  368. package/source/components/state/namespace.mjs +0 -13
  369. package/source/components/stylesheet/namespace.mjs +0 -13
  370. package/source/components/tree-menu/namespace.mjs +0 -13
  371. package/source/components/tree-menu/stylesheet/namespace.mjs +0 -13
  372. package/source/constraints/namespace.mjs +0 -13
  373. package/source/data/datasource/namespace.mjs +0 -13
  374. package/source/data/datasource/server/namespace.mjs +0 -13
  375. package/source/data/datasource/server/restapi/namespace.mjs +0 -13
  376. package/source/data/datasource/storage/namespace.mjs +0 -13
  377. package/source/data/namespace.mjs +0 -13
  378. package/source/dom/namespace.mjs +0 -13
  379. package/source/dom/resource/link/namespace.mjs +0 -13
  380. package/source/dom/resource/namespace.mjs +0 -13
  381. package/source/dom/util/namespace.mjs +0 -13
  382. package/source/dom/worker/namespace.mjs +0 -13
  383. package/source/i18n/namespace.mjs +0 -13
  384. package/source/i18n/providers/namespace.mjs +0 -13
  385. package/source/logging/handler/namespace.mjs +0 -11
  386. package/source/logging/namespace.mjs +0 -13
  387. package/source/math/namespace.mjs +0 -13
  388. package/source/net/namespace.mjs +0 -13
  389. package/source/net/webconnect/namespace.mjs +0 -13
  390. package/source/text/namespace.mjs +0 -13
  391. package/source/types/namespace.mjs +0 -13
  392. package/source/util/namespace.mjs +0 -13
  393. /package/source/components/{host → layout}/style/collapse.pcss +0 -0
  394. /package/source/components/{host → layout}/style/details.pcss +0 -0
  395. /package/source/components/{form → layout}/style/popper.pcss +0 -0
@@ -1,20 +0,0 @@
1
- import {Queue} from '@schukai/monster/source/types/queue.mjs';
2
-
3
- const queue = new Queue;
4
-
5
- queue.add(2);
6
- queue.add(true);
7
- queue.add("Hello");
8
- queue.add(4.5);
9
-
10
- console.log(queue.poll());
11
- // ↦ 2
12
- console.log(queue.poll());
13
- // ↦ true
14
- console.log(queue.poll());
15
- // ↦ "Hello"
16
- console.log(queue.poll());
17
- // ↦ 4.5
18
- console.log(queue.poll());
19
- // ↦ undefined
20
-
@@ -1,4 +0,0 @@
1
- import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
2
-
3
- typeof new TokenList("myclass row")[Symbol.iterator];
4
- // ↦ "function"
@@ -1,7 +0,0 @@
1
- import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
2
-
3
- new TokenList("start middle end").contains('start'); // ↦ true
4
- new TokenList("start middle end").contains('end'); // ↦ true
5
- new TokenList("start middle end").contains('xyz'); // ↦ false
6
- new TokenList("start middle end").contains(['end','start','middle']); // ↦ true
7
- new TokenList("start middle end").contains(['end','start','xyz']); // ↦ false
@@ -1,5 +0,0 @@
1
- import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
2
-
3
- new TokenList().add("abc xyz").toString(); // ↦ "abc xyz"
4
- new TokenList().add(["abc", "xyz"]).toString(); // ↦ "abc xyz"
5
- new TokenList().add(undefined); // ↦ add nothing
@@ -1,5 +0,0 @@
1
- import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
2
-
3
- new TokenList("abc xyz").remove("xyz").toString(); // ↦ "abc"
4
- new TokenList("abc xyz").remove(["xyz"]).toString(); // ↦ "abc"
5
- new TokenList("abc xyz").remove(undefined); // ↦ remove nothing
@@ -1,5 +0,0 @@
1
- import {TokenList} from '@schukai/monster/source/types/tokenlist.mjs';
2
-
3
- new TokenList("abc def ghi").toggle("def xyz").toString(); // ↦ "abc ghi xyz"
4
- new TokenList("abc def ghi").toggle(["abc", "xyz"]).toString(); // ↦ "def ghi xyz"
5
- new TokenList().toggle(undefined); // ↦ nothing
@@ -1,9 +0,0 @@
1
- import {typeOf} from '@schukai/monster/source/types/typeof.mjs';
2
-
3
- typeOf(undefined); // ↦ undefined
4
- typeOf(""); // ↦ string
5
- typeOf(5); // ↦ number
6
- typeOf({}); // ↦ object
7
- typeOf([]); // ↦ array
8
- typeOf(new Map); // ↦ map
9
- typeOf(true); // ↦ boolean
@@ -1,6 +0,0 @@
1
- import {Version} from '@schukai/monster/source/types/version.mjs';
2
-
3
- new Version('1.0.0') // ↦ 1.0.0
4
- new Version(1) // ↦ 1.0.0
5
- new Version(1, 0, 0) // ↦ 1.0.0
6
- new Version('1.2.3', 4, 5) // ↦ 1.4.5
@@ -1,3 +0,0 @@
1
- import {getMonsterVersion} from '@schukai/monster/source/types/version.mjs';
2
-
3
- getMonsterVersion();
@@ -1,10 +0,0 @@
1
- import {Comparator} from '@schukai/monster/source/util/comparator.mjs';
2
-
3
- console.log(new Comparator().lessThanOrEqual(2, 5))
4
- // ↦ true
5
- console.log(new Comparator().greaterThan(4, 2))
6
- // ↦ true
7
- console.log(new Comparator().equal(4, 4))
8
- // ↦ true
9
- console.log(new Comparator().equal(4, 5))
10
- // ↦ false
@@ -1,9 +0,0 @@
1
- import {DeadMansSwitch} from '@schukai/monster/source/util/deadmansswitch.mjs';
2
-
3
- const deadmansswitch = new DeadMansSwitch(100, () => {
4
- console.log('yeah!')
5
- // ↦ "yeah!"
6
- })
7
-
8
- deadmansswitch.touch(); // from here wait again 100 ms
9
- deadmansswitch.touch(200); // from here wait 200 ms
@@ -1,17 +0,0 @@
1
- import {Processing} from '@schukai/monster/source/util/processing.mjs';
2
-
3
- let startTime = +new Date();
4
-
5
- new Processing((url) => {
6
- return fetch(url)
7
- }, (response) => {
8
- // do something with the response
9
- console.log(response.status, +new Date() - startTime)
10
- }, 200, () => {
11
- // this function is called 200 seconds after fetch is received.
12
- console.log('finished', +new Date() - startTime)
13
- return 'done'
14
- }).run('https://monsterjs.org/assets/world.json').then(r => {
15
- console.log(r)
16
- // ↦ "done"
17
- })
@@ -1,13 +0,0 @@
1
- /**
2
- * Copyright 2023 schukai GmbH
3
- * SPDX-License-Identifier: AGPL-3.0
4
- */
5
-
6
- /**
7
- * Namespace for all datatable related functions.
8
- *
9
- * @namespace Monster.Components.Datatable.Datasource
10
- * @memberOf Monster
11
- * @author schukai GmbH
12
- */
13
- const ns = {};
@@ -1,13 +0,0 @@
1
- /**
2
- * Copyright 2023 schukai GmbH
3
- * SPDX-License-Identifier: AGPL-3.0
4
- */
5
-
6
- /**
7
- * Namespace for all datatable related functions.
8
- *
9
- * @namespace Monster.Components.Datatable.Datatable
10
- * @memberOf Monster
11
- * @author schukai GmbH
12
- */
13
- const ns = {};
@@ -1,24 +0,0 @@
1
- /**
2
- * Copyright schukai GmbH and contributors 2023. All Rights Reserved.
3
- * Node module: @schukai/monster
4
- * This file is licensed under the AGPLv3 License.
5
- * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
- */
7
-
8
- /**
9
- * @memberOf Monster.Components.Form
10
- * @event event:monster-datatable-row-added
11
- * @type {number} index
12
- */
13
-
14
- /**
15
- * @memberOf Monster.Components.Form
16
- * @event event:monster-datatable-row-copied
17
- * @type {number} index
18
- */
19
-
20
- /**
21
- * @memberOf Monster.Components.Form
22
- * @event event:monster-datatable-row-removed
23
- * @type {number} index
24
- */
@@ -1,13 +0,0 @@
1
- /**
2
- * Copyright 2023 schukai GmbH
3
- * SPDX-License-Identifier: AGPL-3.0
4
- */
5
-
6
- /**
7
- * Namespace for all datatable related functions.
8
- *
9
- * @namespace Monster.Components.Datatable.Filter
10
- * @memberOf Monster
11
- * @author schukai GmbH
12
- */
13
- const ns = {};
@@ -1,11 +0,0 @@
1
- /**
2
- * Copyright 2023 schukai GmbH
3
- * SPDX-License-Identifier: AGPL-3.0
4
- */
5
-
6
- /**
7
- * @namespace Monster.Components.Datatable
8
- * @memberOf Monster
9
- * @author schukai GmbH
10
- */
11
- const ns = {};
@@ -1,13 +0,0 @@
1
- /**
2
- * Copyright 2023 schukai GmbH
3
- * SPDX-License-Identifier: AGPL-3.0
4
- */
5
-
6
- /**
7
- * Namespace for all datatable stylesheets.
8
- *
9
- * @namespace Monster.Components.Datatable.StyleSheet
10
- * @memberOf Monster
11
- * @author schukai GmbH
12
- */
13
- const ns = {};
@@ -1,17 +0,0 @@
1
- /**
2
- * Copyright schukai GmbH and contributors 2023. All Rights Reserved.
3
- * Node module: @schukai/monster
4
- * This file is licensed under the AGPLv3 License.
5
- * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
- */
7
-
8
-
9
-
10
- /**
11
- * content fetched event
12
- *
13
- * @memberOf Monster.Components
14
- * @event event:monster-fetched
15
- * @type {object}
16
- * @property {string} url loaded uri
17
- */
@@ -1,108 +0,0 @@
1
- /**
2
- * Copyright schukai GmbH and contributors 2023. All Rights Reserved.
3
- * Node module: @schukai/monster
4
- * This file is licensed under the AGPLv3 License.
5
- * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
- */
7
-
8
- /**
9
- * This event is fired when options are set
10
- *
11
- * @memberOf Monster.Components.Form
12
- * @event event:monster-options-set
13
- * @type {object}
14
- * @property {Object[]} options options
15
- * @property {string} options.value value
16
- * @property {string} options.label label
17
- */
18
-
19
- /**
20
- * This event is fired when something is selected
21
- *
22
- * @memberOf Monster.Components.Form
23
- * @event event:monster-selected
24
- * @type {object}
25
- * @property {array|string} selection
26
- */
27
-
28
- /**
29
- * This event will be fired when something will change
30
- *
31
- * @memberOf Monster.Components.Form
32
- * @event event:monster-change
33
- * @type {object}
34
- * @property {string} [type] event type
35
- * @property {string} [value] the value that was changed
36
- * @property {boolean} [checked] if it is a boolean value
37
- */
38
-
39
- /**
40
- * This event will be fired when a selection is removed
41
- *
42
- * @memberOf Monster.Components.Form
43
- * @event event:monster-selection-removed
44
- * @type {object}
45
- * @property {string} [type] event type
46
- * @property {string} [value] the value that was changed
47
- */
48
-
49
- /**
50
- * This event will be fired when a selection is cleared
51
- *
52
- * @memberOf Monster.Components.Form
53
- * @event event:monster-selection-cleared
54
- * @type {object}
55
- * @property {string} [type] event type
56
- */
57
-
58
- /**
59
- * This event will be fired if something has changed
60
- *
61
- * @memberOf Monster.Components.Form
62
- * @event event:monster-changed
63
- * @type {object}
64
- * @property {string} [type] event type
65
- * @property {string} [value] the value that was changed
66
- * @property {boolean} [checked] if it is a boolean value
67
- **/
68
-
69
- /**
70
- * button clicked event
71
- *
72
- * @memberOf Monster.Components.Form
73
- * @event event:monster-button-clicked
74
- * @type {object}
75
- */
76
-
77
- /**
78
- * content fetched event
79
- *
80
- * @memberOf Monster.Components.Form
81
- * @event event:monster-button-set
82
- * @type {object}
83
- */
84
-
85
- /**
86
- * content fetched event
87
- *
88
- * @memberOf Monster.Components.Form
89
- * @event event:monster-api-button-click
90
- * @type {object}
91
- */
92
-
93
- /**
94
- * content fetched event
95
- *
96
- * @memberOf Monster.Components.Form
97
- * @event event:monster-api-button-successful
98
- * @type {object}
99
- */
100
-
101
- /**
102
- * content fetched event
103
- *
104
- * @memberOf Monster.Components.Form
105
- * @event event:monster-api-button-failed
106
- * @type {object}
107
- */
108
-
@@ -1,341 +0,0 @@
1
- /**
2
- * Copyright schukai GmbH and contributors 2023. All Rights Reserved.
3
- * Node module: @schukai/monster
4
- * This file is licensed under the AGPLv3 License.
5
- * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
6
- */
7
- import { instanceSymbol } from "../../constants.mjs";
8
- import { addAttributeToken } from "../../dom/attributes.mjs";
9
- import {
10
- ATTRIBUTE_ERRORMESSAGE,
11
- ATTRIBUTE_ROLE,
12
- } from "../../dom/constants.mjs";
13
- import { CustomControl } from "../../dom/customcontrol.mjs";
14
- import {
15
- assembleMethodSymbol,
16
- attributeObserverSymbol,
17
- registerCustomElement,
18
- } from "../../dom/customelement.mjs";
19
- import { findTargetElementFromEvent } from "../../dom/events.mjs";
20
- import { isFunction } from "../../types/is.mjs";
21
- import { ATTRIBUTE_BUTTON_CLASS } from "./constants.mjs";
22
- import { ButtonStyleSheet } from "./stylesheet/button.mjs";
23
- import { RippleStyleSheet } from "../stylesheet/ripple.mjs";
24
- import { fireCustomEvent } from "../../dom/events.mjs";
25
-
26
- export { FormField };
27
-
28
-
29
- /**
30
- * This CustomControl creates a container for form elements.
31
- *
32
- * <img src="./images/form-field.png">
33
- *
34
- * You can create this control either by specifying the HTML tag <monster-form-field />` directly in the HTML or using
35
- * Javascript via the `document.createElement('monster-form-field');` method.
36
- *
37
- * ```html
38
- * <monster-form-field></monster-form-field>
39
- * ```
40
- *
41
- * Or you can create this CustomControl directly in Javascript:
42
- *
43
- * ```js
44
- * import {Button} from '@schukai/monster/components/form/form-field.mjs';
45
- * document.createElement('monster-form-field');
46
- * ```
47
- *
48
- * The `data-monster-button-class` attribute can be used to change the CSS class of the button.
49
- *
50
- * @startuml form-field.png
51
- * skinparam monochrome true
52
- * skinparam shadowing false
53
- * HTMLElement <|-- CustomElement
54
- * CustomElement <|-- CustomControl
55
- * CustomControl <|-- FormField
56
- * @enduml
57
- *
58
- * @since 1.5.0
59
- * @copyright schukai GmbH
60
- * @memberOf Monster.Components.Form
61
- * @summary A simple button
62
- */
63
- class FormField extends CustomControl {
64
- /**
65
- * This method is called by the `instanceof` operator.
66
- * @returns {symbol}
67
- * @since 2.1.0
68
- */
69
- static get [instanceSymbol]() {
70
- return Symbol.for("@schukai/monster/components/form/button@@instance");
71
- }
72
-
73
- /**
74
- *
75
- * @return {Monster.Components.Form.Button}
76
- */
77
- [assembleMethodSymbol]() {
78
- super[assembleMethodSymbol]();
79
- initControlReferences.call(this);
80
- initEventHandler.call(this);
81
- return this;
82
- }
83
-
84
- /**
85
- * The Button.click() method simulates a click on the internal button element.
86
- *
87
- * @since 3.27.0
88
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click}
89
- */
90
- click() {
91
- if (this.getOption("disabled") === true) {
92
- return;
93
- }
94
-
95
- if (
96
- this[buttonElementSymbol] &&
97
- isFunction(this[buttonElementSymbol].click)
98
- ) {
99
- this[buttonElementSymbol].click();
100
- }
101
- }
102
-
103
- /**
104
- * The Button.focus() method sets focus on the internal button element.
105
- *
106
- * @since 3.27.0
107
- * @param {Object} options
108
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus}
109
- */
110
- focus(options) {
111
- if (this.getOption("disabled") === true) {
112
- return;
113
- }
114
-
115
- if (
116
- this[buttonElementSymbol] &&
117
- isFunction(this[buttonElementSymbol].focus)
118
- ) {
119
- this[buttonElementSymbol].focus(options);
120
- }
121
- }
122
-
123
- /**
124
- * The Button.blur() method removes focus from the internal button element.
125
- */
126
- blur() {
127
- if (
128
- this[buttonElementSymbol] &&
129
- isFunction(this[buttonElementSymbol].blur)
130
- ) {
131
- this[buttonElementSymbol].blur();
132
- }
133
- }
134
-
135
- /**
136
- * This method determines which attributes are to be monitored by `attributeChangedCallback()`.
137
- *
138
- * @return {string[]}
139
- */
140
- static get observedAttributes() {
141
- const attributes = super.observedAttributes;
142
- attributes.push(ATTRIBUTE_BUTTON_CLASS);
143
- return attributes;
144
- }
145
-
146
- /**
147
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals}
148
- * @return {boolean}
149
- */
150
- static get formAssociated() {
151
- return true;
152
- }
153
-
154
- /**
155
- * The current selection of the Select
156
- *
157
- * ```
158
- * e = document.querySelector('monster-select');
159
- * console.log(e.value)
160
- * // ↦ 1
161
- * // ↦ ['1','2']
162
- * ```
163
- *
164
- * @property {string|array}
165
- */
166
- get value() {
167
- return this.getOption("value");
168
- }
169
-
170
- /**
171
- * Set selection
172
- *
173
- * ```
174
- * e = document.querySelector('monster-select');
175
- * e.value=1
176
- * ```
177
- *
178
- * @property {string|array} value
179
- * @since 1.2.0
180
- * @throws {Error} unsupported type
181
- */
182
- set value(value) {
183
- this.setOption("value", value);
184
- try {
185
- this?.setFormValue(this.value);
186
- } catch (e) {
187
- addAttributeToken(this, ATTRIBUTE_ERRORMESSAGE, e.message);
188
- }
189
- }
190
-
191
- /**
192
- * To set the options via the html tag the attribute `data-monster-options` must be used.
193
- * @see {@link https://monsterjs.org/en/doc/#configurate-a-monster-control}
194
- *
195
- * The individual configuration values can be found in the table.
196
- *
197
- * @property {Object} templates Template definitions
198
- * @property {string} templates.main Main template
199
- * @property {Object} labels Labels
200
- * @property {string} labels.button=<slot></slot> Button label
201
- * @property {Object} actions Callbacks
202
- * @property {string} actions.click="throw Error" Callback when clicked
203
- * @property {Object} classes CSS classes
204
- * @property {string} classes.button="monster-button-primary" CSS class for the button
205
- * @property {boolean} disabled=false Disabled state
206
- * @property {Object} effects Effects
207
- * @property {boolean} effects.ripple=true Ripple effect
208
- */
209
- get defaults() {
210
- return Object.assign({}, super.defaults, {
211
- templates: {
212
- main: getTemplate(),
213
- },
214
- labels: {
215
- button: "<slot></slot>",
216
- },
217
- classes: {
218
- button: "monster-button-primary",
219
- },
220
- disabled: false,
221
- actions: {
222
- click: () => {
223
- throw new Error("the click action is not defined");
224
- },
225
- },
226
- effects: {
227
- ripple: true,
228
- },
229
- value: null,
230
- });
231
- }
232
-
233
- /**
234
- *
235
- * @return {string}
236
- */
237
- static getTag() {
238
- return "monster-form-field";
239
- }
240
-
241
- /**
242
- *
243
- * @return {Array<CSSStyleSheet>}
244
- */
245
- static getCSSStyleSheet() {
246
- return [FormFieldStyleSheet];
247
- }
248
- }
249
-
250
- /**
251
- * @private
252
- * @return {initEventHandler}
253
- * @fires Monster.Components.Form.event:monster-button-clicked
254
- */
255
- function initEventHandler() {
256
- const self = this;
257
- const button = this[buttonElementSymbol];
258
-
259
- const type = "click";
260
-
261
- button.addEventListener(type, function (event) {
262
- const callback = self.getOption("actions.click");
263
-
264
- fireCustomEvent(self, "monster-button-clicked", {
265
- button: self,
266
- });
267
-
268
- if (!isFunction(callback)) {
269
- return;
270
- }
271
-
272
- const element = findTargetElementFromEvent(
273
- event,
274
- ATTRIBUTE_ROLE,
275
- "control",
276
- );
277
-
278
- if (!(element instanceof Node && self.hasNode(element))) {
279
- return;
280
- }
281
-
282
- callback.call(self, event);
283
- });
284
-
285
- if (self.getOption("effects.ripple")) {
286
- button.addEventListener("click", createRipple.bind(self));
287
- }
288
-
289
- // data-monster-options
290
- self[attributeObserverSymbol][ATTRIBUTE_BUTTON_CLASS] = function (value) {
291
- self.setOption("classes.button", value);
292
- };
293
-
294
- return this;
295
- }
296
-
297
- /**
298
- * @private
299
- */
300
- function initControlReferences() {
301
- this[buttonElementSymbol] = this.shadowRoot.querySelector(
302
- `[${ATTRIBUTE_ROLE}=button]`,
303
- );
304
- }
305
-
306
- /**
307
- * @private
308
- * @return {string}
309
- */
310
- function getTemplate() {
311
- // language=HTML
312
- return `
313
- <div data-monster-role="control" part="control">
314
- <button data-monster-attributes="disabled path:disabled | if:true, class path:classes.button"
315
- data-monster-role="button"
316
- part="button"
317
- data-monster-replace="path:labels.button"></button>
318
- </div>`;
319
- }
320
-
321
- function createRipple(event) {
322
- const button = this[buttonElementSymbol];
323
-
324
- const circle = document.createElement("span");
325
- const diameter = Math.max(button.clientWidth, button.clientHeight);
326
- const radius = diameter / 2;
327
-
328
- circle.style.width = circle.style.height = `${diameter}px`;
329
- circle.style.left = `${event.clientX - button.offsetLeft - radius}px`;
330
- circle.style.top = `${event.clientY - button.offsetTop - radius}px`;
331
- circle.classList.add("monster-fx-ripple");
332
-
333
- const ripples = button.getElementsByClassName("monster-fx-ripple");
334
- for (const ripple of ripples) {
335
- ripple.remove();
336
- }
337
-
338
- button.appendChild(circle);
339
- }
340
-
341
- registerCustomElement(FormField);