@schukai/monster 3.64.1 → 3.65.20

Sign up to get free protection for your applications and to get access to all the features.
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);