@miragon/pulse-widget-shell 0.0.0-stage → 0.22.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 (831) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +164 -2
  3. package/dist/adapt-data-widget.d.ts +7 -0
  4. package/dist/adapt-data-widget.d.ts.map +1 -0
  5. package/dist/adapt-data-widget.js +7 -0
  6. package/dist/adapt-data-widget.js.map +1 -0
  7. package/dist/bpmn-names.d.ts +42 -0
  8. package/dist/bpmn-names.d.ts.map +1 -0
  9. package/dist/bpmn-names.js +151 -0
  10. package/dist/bpmn-names.js.map +1 -0
  11. package/dist/bpmn-names.test.d.ts +2 -0
  12. package/dist/bpmn-names.test.d.ts.map +1 -0
  13. package/dist/bpmn-names.test.js +143 -0
  14. package/dist/bpmn-names.test.js.map +1 -0
  15. package/dist/build-data-feed-result.test.d.ts +2 -0
  16. package/dist/build-data-feed-result.test.d.ts.map +1 -0
  17. package/dist/build-data-feed-result.test.js +28 -0
  18. package/dist/build-data-feed-result.test.js.map +1 -0
  19. package/dist/build-single-widget-view.test.d.ts +2 -0
  20. package/dist/build-single-widget-view.test.d.ts.map +1 -0
  21. package/dist/build-single-widget-view.test.js +136 -0
  22. package/dist/build-single-widget-view.test.js.map +1 -0
  23. package/dist/builder-texts.d.ts +27 -0
  24. package/dist/builder-texts.d.ts.map +1 -0
  25. package/dist/builder-texts.js +32 -0
  26. package/dist/builder-texts.js.map +1 -0
  27. package/dist/builder-texts.test.d.ts +2 -0
  28. package/dist/builder-texts.test.d.ts.map +1 -0
  29. package/dist/builder-texts.test.js +54 -0
  30. package/dist/builder-texts.test.js.map +1 -0
  31. package/dist/catalogue-sync.d.ts +18 -0
  32. package/dist/catalogue-sync.d.ts.map +1 -0
  33. package/dist/catalogue-sync.js +31 -0
  34. package/dist/catalogue-sync.js.map +1 -0
  35. package/dist/catalogue-sync.test.d.ts +2 -0
  36. package/dist/catalogue-sync.test.d.ts.map +1 -0
  37. package/dist/catalogue-sync.test.js +22 -0
  38. package/dist/catalogue-sync.test.js.map +1 -0
  39. package/dist/composed-server.d.ts +110 -0
  40. package/dist/composed-server.d.ts.map +1 -0
  41. package/dist/composed-server.edge.test.d.ts +2 -0
  42. package/dist/composed-server.edge.test.d.ts.map +1 -0
  43. package/dist/composed-server.edge.test.js +184 -0
  44. package/dist/composed-server.edge.test.js.map +1 -0
  45. package/dist/composed-server.fonts.test.d.ts +2 -0
  46. package/dist/composed-server.fonts.test.d.ts.map +1 -0
  47. package/dist/composed-server.fonts.test.js +186 -0
  48. package/dist/composed-server.fonts.test.js.map +1 -0
  49. package/dist/composed-server.js +260 -0
  50. package/dist/composed-server.js.map +1 -0
  51. package/dist/composed-server.test.d.ts +2 -0
  52. package/dist/composed-server.test.d.ts.map +1 -0
  53. package/dist/composed-server.test.js +332 -0
  54. package/dist/composed-server.test.js.map +1 -0
  55. package/dist/composition.d.ts +155 -0
  56. package/dist/composition.d.ts.map +1 -0
  57. package/dist/composition.js +163 -0
  58. package/dist/composition.js.map +1 -0
  59. package/dist/composition.test.d.ts +2 -0
  60. package/dist/composition.test.d.ts.map +1 -0
  61. package/dist/composition.test.js +275 -0
  62. package/dist/composition.test.js.map +1 -0
  63. package/dist/dashboard-store-postgres.d.ts +43 -0
  64. package/dist/dashboard-store-postgres.d.ts.map +1 -0
  65. package/dist/dashboard-store-postgres.js +225 -0
  66. package/dist/dashboard-store-postgres.js.map +1 -0
  67. package/dist/dashboard-store-postgres.test.d.ts +2 -0
  68. package/dist/dashboard-store-postgres.test.d.ts.map +1 -0
  69. package/dist/dashboard-store-postgres.test.js +272 -0
  70. package/dist/dashboard-store-postgres.test.js.map +1 -0
  71. package/dist/font-assets.d.ts +47 -0
  72. package/dist/font-assets.d.ts.map +1 -0
  73. package/dist/font-assets.js +93 -0
  74. package/dist/font-assets.js.map +1 -0
  75. package/dist/font-assets.test.d.ts +2 -0
  76. package/dist/font-assets.test.d.ts.map +1 -0
  77. package/dist/font-assets.test.js +123 -0
  78. package/dist/font-assets.test.js.map +1 -0
  79. package/dist/health.d.ts +59 -0
  80. package/dist/health.d.ts.map +1 -0
  81. package/dist/health.js +74 -0
  82. package/dist/health.js.map +1 -0
  83. package/dist/health.test.d.ts +2 -0
  84. package/dist/health.test.d.ts.map +1 -0
  85. package/dist/health.test.js +140 -0
  86. package/dist/health.test.js.map +1 -0
  87. package/dist/host-boot.d.ts +56 -0
  88. package/dist/host-boot.d.ts.map +1 -0
  89. package/dist/host-boot.js +64 -0
  90. package/dist/host-boot.js.map +1 -0
  91. package/dist/host-boot.test.d.ts +2 -0
  92. package/dist/host-boot.test.d.ts.map +1 -0
  93. package/dist/host-boot.test.js +59 -0
  94. package/dist/host-boot.test.js.map +1 -0
  95. package/dist/http-edge.d.ts +117 -0
  96. package/dist/http-edge.d.ts.map +1 -0
  97. package/dist/http-edge.js +219 -0
  98. package/dist/http-edge.js.map +1 -0
  99. package/dist/http-edge.test.d.ts +2 -0
  100. package/dist/http-edge.test.d.ts.map +1 -0
  101. package/dist/http-edge.test.js +255 -0
  102. package/dist/http-edge.test.js.map +1 -0
  103. package/dist/metrics.d.ts +48 -0
  104. package/dist/metrics.d.ts.map +1 -0
  105. package/dist/metrics.js +124 -0
  106. package/dist/metrics.js.map +1 -0
  107. package/dist/metrics.test.d.ts +2 -0
  108. package/dist/metrics.test.d.ts.map +1 -0
  109. package/dist/metrics.test.js +154 -0
  110. package/dist/metrics.test.js.map +1 -0
  111. package/dist/node-listener.d.ts +61 -0
  112. package/dist/node-listener.d.ts.map +1 -0
  113. package/dist/node-listener.js +165 -0
  114. package/dist/node-listener.js.map +1 -0
  115. package/dist/node-listener.test.d.ts +2 -0
  116. package/dist/node-listener.test.d.ts.map +1 -0
  117. package/dist/node-listener.test.js +331 -0
  118. package/dist/node-listener.test.js.map +1 -0
  119. package/dist/oauth-env.d.ts +42 -0
  120. package/dist/oauth-env.d.ts.map +1 -0
  121. package/dist/oauth-env.js +78 -0
  122. package/dist/oauth-env.js.map +1 -0
  123. package/dist/oauth-env.test.d.ts +2 -0
  124. package/dist/oauth-env.test.d.ts.map +1 -0
  125. package/dist/oauth-env.test.js +76 -0
  126. package/dist/oauth-env.test.js.map +1 -0
  127. package/dist/postgres.d.ts +59 -0
  128. package/dist/postgres.d.ts.map +1 -0
  129. package/dist/postgres.js +80 -0
  130. package/dist/postgres.js.map +1 -0
  131. package/dist/profile-advisory.d.ts +19 -0
  132. package/dist/profile-advisory.d.ts.map +1 -0
  133. package/dist/profile-advisory.js +48 -0
  134. package/dist/profile-advisory.js.map +1 -0
  135. package/dist/profile-advisory.test.d.ts +2 -0
  136. package/dist/profile-advisory.test.d.ts.map +1 -0
  137. package/dist/profile-advisory.test.js +53 -0
  138. package/dist/profile-advisory.test.js.map +1 -0
  139. package/dist/profile-constants.d.ts +37 -0
  140. package/dist/profile-constants.d.ts.map +1 -0
  141. package/dist/profile-constants.js +37 -0
  142. package/dist/profile-constants.js.map +1 -0
  143. package/dist/profile-migrations.d.ts +71 -0
  144. package/dist/profile-migrations.d.ts.map +1 -0
  145. package/dist/profile-migrations.js +88 -0
  146. package/dist/profile-migrations.js.map +1 -0
  147. package/dist/profile-migrations.test.d.ts +2 -0
  148. package/dist/profile-migrations.test.d.ts.map +1 -0
  149. package/dist/profile-migrations.test.js +200 -0
  150. package/dist/profile-migrations.test.js.map +1 -0
  151. package/dist/profile-record.d.ts +60 -0
  152. package/dist/profile-record.d.ts.map +1 -0
  153. package/dist/profile-record.js +78 -0
  154. package/dist/profile-record.js.map +1 -0
  155. package/dist/profile-slice.d.ts +53 -0
  156. package/dist/profile-slice.d.ts.map +1 -0
  157. package/dist/profile-slice.js +73 -0
  158. package/dist/profile-slice.js.map +1 -0
  159. package/dist/profile-slice.test.d.ts +2 -0
  160. package/dist/profile-slice.test.d.ts.map +1 -0
  161. package/dist/profile-slice.test.js +73 -0
  162. package/dist/profile-slice.test.js.map +1 -0
  163. package/dist/profile-store-env.d.ts +34 -0
  164. package/dist/profile-store-env.d.ts.map +1 -0
  165. package/dist/profile-store-env.js +44 -0
  166. package/dist/profile-store-env.js.map +1 -0
  167. package/dist/profile-store-env.test.d.ts +2 -0
  168. package/dist/profile-store-env.test.d.ts.map +1 -0
  169. package/dist/profile-store-env.test.js +69 -0
  170. package/dist/profile-store-env.test.js.map +1 -0
  171. package/dist/profile-store-postgres.d.ts +33 -0
  172. package/dist/profile-store-postgres.d.ts.map +1 -0
  173. package/dist/profile-store-postgres.js +87 -0
  174. package/dist/profile-store-postgres.js.map +1 -0
  175. package/dist/profile-store-raw.test.d.ts +2 -0
  176. package/dist/profile-store-raw.test.d.ts.map +1 -0
  177. package/dist/profile-store-raw.test.js +185 -0
  178. package/dist/profile-store-raw.test.js.map +1 -0
  179. package/dist/profile-store.d.ts +85 -0
  180. package/dist/profile-store.d.ts.map +1 -0
  181. package/dist/profile-store.js +182 -0
  182. package/dist/profile-store.js.map +1 -0
  183. package/dist/profile-store.test.d.ts +2 -0
  184. package/dist/profile-store.test.d.ts.map +1 -0
  185. package/dist/profile-store.test.js +353 -0
  186. package/dist/profile-store.test.js.map +1 -0
  187. package/dist/profile.d.ts +75 -0
  188. package/dist/profile.d.ts.map +1 -0
  189. package/dist/profile.js +85 -0
  190. package/dist/profile.js.map +1 -0
  191. package/dist/profile.test.d.ts +2 -0
  192. package/dist/profile.test.d.ts.map +1 -0
  193. package/dist/profile.test.js +71 -0
  194. package/dist/profile.test.js.map +1 -0
  195. package/dist/request-context.d.ts +47 -0
  196. package/dist/request-context.d.ts.map +1 -0
  197. package/dist/request-context.js +85 -0
  198. package/dist/request-context.js.map +1 -0
  199. package/dist/request-context.test.d.ts +2 -0
  200. package/dist/request-context.test.d.ts.map +1 -0
  201. package/dist/request-context.test.js +107 -0
  202. package/dist/request-context.test.js.map +1 -0
  203. package/dist/served-fonts.d.ts +38 -0
  204. package/dist/served-fonts.d.ts.map +1 -0
  205. package/dist/served-fonts.js +51 -0
  206. package/dist/served-fonts.js.map +1 -0
  207. package/dist/served-fonts.test.d.ts +2 -0
  208. package/dist/served-fonts.test.d.ts.map +1 -0
  209. package/dist/served-fonts.test.js +30 -0
  210. package/dist/served-fonts.test.js.map +1 -0
  211. package/dist/server-locale.d.ts +58 -0
  212. package/dist/server-locale.d.ts.map +1 -0
  213. package/dist/server-locale.js +64 -0
  214. package/dist/server-locale.js.map +1 -0
  215. package/dist/server-locale.test.d.ts +2 -0
  216. package/dist/server-locale.test.d.ts.map +1 -0
  217. package/dist/server-locale.test.js +90 -0
  218. package/dist/server-locale.test.js.map +1 -0
  219. package/dist/server.d.ts +43 -0
  220. package/dist/server.d.ts.map +1 -0
  221. package/dist/server.js +34 -0
  222. package/dist/server.js.map +1 -0
  223. package/dist/shell-catalogue.d.ts +12 -0
  224. package/dist/shell-catalogue.d.ts.map +1 -0
  225. package/dist/shell-catalogue.js +142 -0
  226. package/dist/shell-catalogue.js.map +1 -0
  227. package/dist/shell-settings-contract.d.ts +34 -0
  228. package/dist/shell-settings-contract.d.ts.map +1 -0
  229. package/dist/shell-settings-contract.js +21 -0
  230. package/dist/shell-settings-contract.js.map +1 -0
  231. package/dist/shell-settings.d.ts +24 -0
  232. package/dist/shell-settings.d.ts.map +1 -0
  233. package/dist/shell-settings.js +148 -0
  234. package/dist/shell-settings.js.map +1 -0
  235. package/dist/shell-settings.test.d.ts +2 -0
  236. package/dist/shell-settings.test.d.ts.map +1 -0
  237. package/dist/shell-settings.test.js +115 -0
  238. package/dist/shell-settings.test.js.map +1 -0
  239. package/dist/testing/catalog-text.d.ts +53 -0
  240. package/dist/testing/catalog-text.d.ts.map +1 -0
  241. package/dist/testing/catalog-text.js +146 -0
  242. package/dist/testing/catalog-text.js.map +1 -0
  243. package/dist/testing/catalog-text.test.d.ts +2 -0
  244. package/dist/testing/catalog-text.test.d.ts.map +1 -0
  245. package/dist/testing/catalog-text.test.js +137 -0
  246. package/dist/testing/catalog-text.test.js.map +1 -0
  247. package/dist/testing/colors.d.ts +34 -0
  248. package/dist/testing/colors.d.ts.map +1 -0
  249. package/dist/testing/colors.js +124 -0
  250. package/dist/testing/colors.js.map +1 -0
  251. package/dist/testing/colors.test.d.ts +2 -0
  252. package/dist/testing/colors.test.d.ts.map +1 -0
  253. package/dist/testing/colors.test.js +166 -0
  254. package/dist/testing/colors.test.js.map +1 -0
  255. package/dist/testing/contrast.d.ts +77 -0
  256. package/dist/testing/contrast.d.ts.map +1 -0
  257. package/dist/testing/contrast.js +382 -0
  258. package/dist/testing/contrast.js.map +1 -0
  259. package/dist/testing/contrast.test.d.ts +2 -0
  260. package/dist/testing/contrast.test.d.ts.map +1 -0
  261. package/dist/testing/contrast.test.js +230 -0
  262. package/dist/testing/contrast.test.js.map +1 -0
  263. package/dist/testing/display-texts.d.ts +23 -0
  264. package/dist/testing/display-texts.d.ts.map +1 -0
  265. package/dist/testing/display-texts.js +88 -0
  266. package/dist/testing/display-texts.js.map +1 -0
  267. package/dist/testing/display-texts.test.d.ts +2 -0
  268. package/dist/testing/display-texts.test.d.ts.map +1 -0
  269. package/dist/testing/display-texts.test.js +169 -0
  270. package/dist/testing/display-texts.test.js.map +1 -0
  271. package/dist/testing/glossary.d.ts +52 -0
  272. package/dist/testing/glossary.d.ts.map +1 -0
  273. package/dist/testing/glossary.js +135 -0
  274. package/dist/testing/glossary.js.map +1 -0
  275. package/dist/testing/glossary.test.d.ts +2 -0
  276. package/dist/testing/glossary.test.d.ts.map +1 -0
  277. package/dist/testing/glossary.test.js +78 -0
  278. package/dist/testing/glossary.test.js.map +1 -0
  279. package/dist/testing/glyphs.d.ts +27 -0
  280. package/dist/testing/glyphs.d.ts.map +1 -0
  281. package/dist/testing/glyphs.js +130 -0
  282. package/dist/testing/glyphs.js.map +1 -0
  283. package/dist/testing/glyphs.test.d.ts +2 -0
  284. package/dist/testing/glyphs.test.d.ts.map +1 -0
  285. package/dist/testing/glyphs.test.js +146 -0
  286. package/dist/testing/glyphs.test.js.map +1 -0
  287. package/dist/testing/icon-sizes.d.ts +22 -0
  288. package/dist/testing/icon-sizes.d.ts.map +1 -0
  289. package/dist/testing/icon-sizes.js +39 -0
  290. package/dist/testing/icon-sizes.js.map +1 -0
  291. package/dist/testing/icon-sizes.test.d.ts +2 -0
  292. package/dist/testing/icon-sizes.test.d.ts.map +1 -0
  293. package/dist/testing/icon-sizes.test.js +36 -0
  294. package/dist/testing/icon-sizes.test.js.map +1 -0
  295. package/dist/testing/index.d.ts +40 -0
  296. package/dist/testing/index.d.ts.map +1 -0
  297. package/dist/testing/index.js +40 -0
  298. package/dist/testing/index.js.map +1 -0
  299. package/dist/testing/source-scan.d.ts +16 -0
  300. package/dist/testing/source-scan.d.ts.map +1 -0
  301. package/dist/testing/source-scan.js +57 -0
  302. package/dist/testing/source-scan.js.map +1 -0
  303. package/dist/testing/tone-pairs.d.ts +20 -0
  304. package/dist/testing/tone-pairs.d.ts.map +1 -0
  305. package/dist/testing/tone-pairs.js +154 -0
  306. package/dist/testing/tone-pairs.js.map +1 -0
  307. package/dist/testing/type-scale.d.ts +40 -0
  308. package/dist/testing/type-scale.d.ts.map +1 -0
  309. package/dist/testing/type-scale.js +55 -0
  310. package/dist/testing/type-scale.js.map +1 -0
  311. package/dist/testing/type-scale.test.d.ts +2 -0
  312. package/dist/testing/type-scale.test.d.ts.map +1 -0
  313. package/dist/testing/type-scale.test.js +61 -0
  314. package/dist/testing/type-scale.test.js.map +1 -0
  315. package/dist/tool-schema-trim.d.ts +24 -0
  316. package/dist/tool-schema-trim.d.ts.map +1 -0
  317. package/dist/tool-schema-trim.js +49 -0
  318. package/dist/tool-schema-trim.js.map +1 -0
  319. package/dist/tool-schema-trim.test.d.ts +2 -0
  320. package/dist/tool-schema-trim.test.d.ts.map +1 -0
  321. package/dist/tool-schema-trim.test.js +53 -0
  322. package/dist/tool-schema-trim.test.js.map +1 -0
  323. package/dist/toolsets.d.ts +76 -0
  324. package/dist/toolsets.d.ts.map +1 -0
  325. package/dist/toolsets.js +41 -0
  326. package/dist/toolsets.js.map +1 -0
  327. package/dist/toolsets.test.d.ts +2 -0
  328. package/dist/toolsets.test.d.ts.map +1 -0
  329. package/dist/toolsets.test.js +86 -0
  330. package/dist/toolsets.test.js.map +1 -0
  331. package/dist/ui/action-feedback.d.ts +33 -0
  332. package/dist/ui/action-feedback.d.ts.map +1 -0
  333. package/dist/ui/action-feedback.js +51 -0
  334. package/dist/ui/action-feedback.js.map +1 -0
  335. package/dist/ui/action-feedback.test.d.ts +2 -0
  336. package/dist/ui/action-feedback.test.d.ts.map +1 -0
  337. package/dist/ui/action-feedback.test.js +77 -0
  338. package/dist/ui/action-feedback.test.js.map +1 -0
  339. package/dist/ui/app-shell-providers.d.ts +18 -0
  340. package/dist/ui/app-shell-providers.d.ts.map +1 -0
  341. package/dist/ui/app-shell-providers.js +19 -0
  342. package/dist/ui/app-shell-providers.js.map +1 -0
  343. package/dist/ui/app-shell-providers.test.d.ts +2 -0
  344. package/dist/ui/app-shell-providers.test.d.ts.map +1 -0
  345. package/dist/ui/app-shell-providers.test.js +249 -0
  346. package/dist/ui/app-shell-providers.test.js.map +1 -0
  347. package/dist/ui/ask-ai-button.d.ts +56 -0
  348. package/dist/ui/ask-ai-button.d.ts.map +1 -0
  349. package/dist/ui/ask-ai-button.js +36 -0
  350. package/dist/ui/ask-ai-button.js.map +1 -0
  351. package/dist/ui/ask-ai-button.test.d.ts +2 -0
  352. package/dist/ui/ask-ai-button.test.d.ts.map +1 -0
  353. package/dist/ui/ask-ai-button.test.js +103 -0
  354. package/dist/ui/ask-ai-button.test.js.map +1 -0
  355. package/dist/ui/ask-ai-prompt.d.ts +115 -0
  356. package/dist/ui/ask-ai-prompt.d.ts.map +1 -0
  357. package/dist/ui/ask-ai-prompt.js +174 -0
  358. package/dist/ui/ask-ai-prompt.js.map +1 -0
  359. package/dist/ui/ask-ai-prompt.test.d.ts +2 -0
  360. package/dist/ui/ask-ai-prompt.test.d.ts.map +1 -0
  361. package/dist/ui/ask-ai-prompt.test.js +240 -0
  362. package/dist/ui/ask-ai-prompt.test.js.map +1 -0
  363. package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts +2 -0
  364. package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts.map +1 -0
  365. package/dist/ui/bpmn-heatmap/heat-ramp.test.js +174 -0
  366. package/dist/ui/bpmn-heatmap/heat-ramp.test.js.map +1 -0
  367. package/dist/ui/bpmn-heatmap/heat-utils.d.ts +119 -0
  368. package/dist/ui/bpmn-heatmap/heat-utils.d.ts.map +1 -0
  369. package/dist/ui/bpmn-heatmap/heat-utils.js +231 -0
  370. package/dist/ui/bpmn-heatmap/heat-utils.js.map +1 -0
  371. package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts +2 -0
  372. package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts.map +1 -0
  373. package/dist/ui/bpmn-heatmap/heat-utils.test.js +59 -0
  374. package/dist/ui/bpmn-heatmap/heat-utils.test.js.map +1 -0
  375. package/dist/ui/bpmn-heatmap-labels.d.ts +46 -0
  376. package/dist/ui/bpmn-heatmap-labels.d.ts.map +1 -0
  377. package/dist/ui/bpmn-heatmap-labels.js +16 -0
  378. package/dist/ui/bpmn-heatmap-labels.js.map +1 -0
  379. package/dist/ui/bpmn-heatmap-widget.d.ts +38 -0
  380. package/dist/ui/bpmn-heatmap-widget.d.ts.map +1 -0
  381. package/dist/ui/bpmn-heatmap-widget.js +65 -0
  382. package/dist/ui/bpmn-heatmap-widget.js.map +1 -0
  383. package/dist/ui/bpmn-heatmap-widget.test.d.ts +2 -0
  384. package/dist/ui/bpmn-heatmap-widget.test.d.ts.map +1 -0
  385. package/dist/ui/bpmn-heatmap-widget.test.js +173 -0
  386. package/dist/ui/bpmn-heatmap-widget.test.js.map +1 -0
  387. package/dist/ui/bpmn-heatmap.d.ts +61 -0
  388. package/dist/ui/bpmn-heatmap.d.ts.map +1 -0
  389. package/dist/ui/bpmn-heatmap.js +119 -0
  390. package/dist/ui/bpmn-heatmap.js.map +1 -0
  391. package/dist/ui/bpmn-tokens.d.ts +81 -0
  392. package/dist/ui/bpmn-tokens.d.ts.map +1 -0
  393. package/dist/ui/bpmn-tokens.js +114 -0
  394. package/dist/ui/bpmn-tokens.js.map +1 -0
  395. package/dist/ui/bpmn-tokens.test.d.ts +2 -0
  396. package/dist/ui/bpmn-tokens.test.d.ts.map +1 -0
  397. package/dist/ui/bpmn-tokens.test.js +98 -0
  398. package/dist/ui/bpmn-tokens.test.js.map +1 -0
  399. package/dist/ui/bpmn-zoom-controls.d.ts +30 -0
  400. package/dist/ui/bpmn-zoom-controls.d.ts.map +1 -0
  401. package/dist/ui/bpmn-zoom-controls.js +29 -0
  402. package/dist/ui/bpmn-zoom-controls.js.map +1 -0
  403. package/dist/ui/brand-gates.test.d.ts +2 -0
  404. package/dist/ui/brand-gates.test.d.ts.map +1 -0
  405. package/dist/ui/brand-gates.test.js +131 -0
  406. package/dist/ui/brand-gates.test.js.map +1 -0
  407. package/dist/ui/brand-mark.d.ts +37 -0
  408. package/dist/ui/brand-mark.d.ts.map +1 -0
  409. package/dist/ui/brand-mark.js +33 -0
  410. package/dist/ui/brand-mark.js.map +1 -0
  411. package/dist/ui/brand-mark.test.d.ts +2 -0
  412. package/dist/ui/brand-mark.test.d.ts.map +1 -0
  413. package/dist/ui/brand-mark.test.js +111 -0
  414. package/dist/ui/brand-mark.test.js.map +1 -0
  415. package/dist/ui/confirm-dialog.d.ts +55 -0
  416. package/dist/ui/confirm-dialog.d.ts.map +1 -0
  417. package/dist/ui/confirm-dialog.js +59 -0
  418. package/dist/ui/confirm-dialog.js.map +1 -0
  419. package/dist/ui/confirm-dialog.test.d.ts +2 -0
  420. package/dist/ui/confirm-dialog.test.d.ts.map +1 -0
  421. package/dist/ui/confirm-dialog.test.js +115 -0
  422. package/dist/ui/confirm-dialog.test.js.map +1 -0
  423. package/dist/ui/count-tone.d.ts +20 -0
  424. package/dist/ui/count-tone.d.ts.map +1 -0
  425. package/dist/ui/count-tone.js +27 -0
  426. package/dist/ui/count-tone.js.map +1 -0
  427. package/dist/ui/count-tone.test.d.ts +2 -0
  428. package/dist/ui/count-tone.test.d.ts.map +1 -0
  429. package/dist/ui/count-tone.test.js +27 -0
  430. package/dist/ui/count-tone.test.js.map +1 -0
  431. package/dist/ui/create-use-t.d.ts +15 -0
  432. package/dist/ui/create-use-t.d.ts.map +1 -0
  433. package/dist/ui/create-use-t.js +17 -0
  434. package/dist/ui/create-use-t.js.map +1 -0
  435. package/dist/ui/declare-served-fonts.d.ts +14 -0
  436. package/dist/ui/declare-served-fonts.d.ts.map +1 -0
  437. package/dist/ui/declare-served-fonts.js +38 -0
  438. package/dist/ui/declare-served-fonts.js.map +1 -0
  439. package/dist/ui/declare-served-fonts.test.d.ts +2 -0
  440. package/dist/ui/declare-served-fonts.test.d.ts.map +1 -0
  441. package/dist/ui/declare-served-fonts.test.js +44 -0
  442. package/dist/ui/declare-served-fonts.test.js.map +1 -0
  443. package/dist/ui/describe-error.d.ts +71 -0
  444. package/dist/ui/describe-error.d.ts.map +1 -0
  445. package/dist/ui/describe-error.js +175 -0
  446. package/dist/ui/describe-error.js.map +1 -0
  447. package/dist/ui/describe-error.test.d.ts +2 -0
  448. package/dist/ui/describe-error.test.d.ts.map +1 -0
  449. package/dist/ui/describe-error.test.js +274 -0
  450. package/dist/ui/describe-error.test.js.map +1 -0
  451. package/dist/ui/display-mode-toggle.d.ts +32 -0
  452. package/dist/ui/display-mode-toggle.d.ts.map +1 -0
  453. package/dist/ui/display-mode-toggle.js +39 -0
  454. package/dist/ui/display-mode-toggle.js.map +1 -0
  455. package/dist/ui/error-labels.d.ts +65 -0
  456. package/dist/ui/error-labels.d.ts.map +1 -0
  457. package/dist/ui/error-labels.js +111 -0
  458. package/dist/ui/error-labels.js.map +1 -0
  459. package/dist/ui/format.d.ts +81 -0
  460. package/dist/ui/format.d.ts.map +1 -0
  461. package/dist/ui/format.js +189 -0
  462. package/dist/ui/format.js.map +1 -0
  463. package/dist/ui/format.test.d.ts +2 -0
  464. package/dist/ui/format.test.d.ts.map +1 -0
  465. package/dist/ui/format.test.js +181 -0
  466. package/dist/ui/format.test.js.map +1 -0
  467. package/dist/ui/generic-widgets.d.ts +15 -0
  468. package/dist/ui/generic-widgets.d.ts.map +1 -0
  469. package/dist/ui/generic-widgets.js +122 -0
  470. package/dist/ui/generic-widgets.js.map +1 -0
  471. package/dist/ui/generic-widgets.test.d.ts +2 -0
  472. package/dist/ui/generic-widgets.test.d.ts.map +1 -0
  473. package/dist/ui/generic-widgets.test.js +139 -0
  474. package/dist/ui/generic-widgets.test.js.map +1 -0
  475. package/dist/ui/hand-off-button.d.ts +45 -0
  476. package/dist/ui/hand-off-button.d.ts.map +1 -0
  477. package/dist/ui/hand-off-button.js +44 -0
  478. package/dist/ui/hand-off-button.js.map +1 -0
  479. package/dist/ui/hand-off-button.test.d.ts +2 -0
  480. package/dist/ui/hand-off-button.test.d.ts.map +1 -0
  481. package/dist/ui/hand-off-button.test.js +78 -0
  482. package/dist/ui/hand-off-button.test.js.map +1 -0
  483. package/dist/ui/host-context.d.ts +66 -0
  484. package/dist/ui/host-context.d.ts.map +1 -0
  485. package/dist/ui/host-context.js +122 -0
  486. package/dist/ui/host-context.js.map +1 -0
  487. package/dist/ui/host-context.test.d.ts +2 -0
  488. package/dist/ui/host-context.test.d.ts.map +1 -0
  489. package/dist/ui/host-context.test.js +160 -0
  490. package/dist/ui/host-context.test.js.map +1 -0
  491. package/dist/ui/host-document.d.ts +25 -0
  492. package/dist/ui/host-document.d.ts.map +1 -0
  493. package/dist/ui/host-document.js +93 -0
  494. package/dist/ui/host-document.js.map +1 -0
  495. package/dist/ui/host-document.test.d.ts +2 -0
  496. package/dist/ui/host-document.test.d.ts.map +1 -0
  497. package/dist/ui/host-document.test.js +112 -0
  498. package/dist/ui/host-document.test.js.map +1 -0
  499. package/dist/ui/host-widgets.d.ts +8 -0
  500. package/dist/ui/host-widgets.d.ts.map +1 -0
  501. package/dist/ui/host-widgets.js +18 -0
  502. package/dist/ui/host-widgets.js.map +1 -0
  503. package/dist/ui/humanize-key.d.ts +11 -0
  504. package/dist/ui/humanize-key.d.ts.map +1 -0
  505. package/dist/ui/humanize-key.js +26 -0
  506. package/dist/ui/humanize-key.js.map +1 -0
  507. package/dist/ui/humanize-key.test.d.ts +2 -0
  508. package/dist/ui/humanize-key.test.d.ts.map +1 -0
  509. package/dist/ui/humanize-key.test.js +42 -0
  510. package/dist/ui/humanize-key.test.js.map +1 -0
  511. package/dist/ui/icon.d.ts +37 -0
  512. package/dist/ui/icon.d.ts.map +1 -0
  513. package/dist/ui/icon.js +32 -0
  514. package/dist/ui/icon.js.map +1 -0
  515. package/dist/ui/id-breaks.d.ts +17 -0
  516. package/dist/ui/id-breaks.d.ts.map +1 -0
  517. package/dist/ui/id-breaks.js +36 -0
  518. package/dist/ui/id-breaks.js.map +1 -0
  519. package/dist/ui/id-breaks.test.d.ts +2 -0
  520. package/dist/ui/id-breaks.test.d.ts.map +1 -0
  521. package/dist/ui/id-breaks.test.js +37 -0
  522. package/dist/ui/id-breaks.test.js.map +1 -0
  523. package/dist/ui/id-text.d.ts +29 -0
  524. package/dist/ui/id-text.d.ts.map +1 -0
  525. package/dist/ui/id-text.js +103 -0
  526. package/dist/ui/id-text.js.map +1 -0
  527. package/dist/ui/id-text.test.d.ts +2 -0
  528. package/dist/ui/id-text.test.d.ts.map +1 -0
  529. package/dist/ui/id-text.test.js +122 -0
  530. package/dist/ui/id-text.test.js.map +1 -0
  531. package/dist/ui/index.d.ts +57 -0
  532. package/dist/ui/index.d.ts.map +1 -0
  533. package/dist/ui/index.js +65 -0
  534. package/dist/ui/index.js.map +1 -0
  535. package/dist/ui/index.test.d.ts +2 -0
  536. package/dist/ui/index.test.d.ts.map +1 -0
  537. package/dist/ui/index.test.js +34 -0
  538. package/dist/ui/index.test.js.map +1 -0
  539. package/dist/ui/inline-budget.d.ts +35 -0
  540. package/dist/ui/inline-budget.d.ts.map +1 -0
  541. package/dist/ui/inline-budget.js +27 -0
  542. package/dist/ui/inline-budget.js.map +1 -0
  543. package/dist/ui/inline-fit-registry.d.ts +56 -0
  544. package/dist/ui/inline-fit-registry.d.ts.map +1 -0
  545. package/dist/ui/inline-fit-registry.js +114 -0
  546. package/dist/ui/inline-fit-registry.js.map +1 -0
  547. package/dist/ui/inline-fit-solve.d.ts +50 -0
  548. package/dist/ui/inline-fit-solve.d.ts.map +1 -0
  549. package/dist/ui/inline-fit-solve.js +83 -0
  550. package/dist/ui/inline-fit-solve.js.map +1 -0
  551. package/dist/ui/inline-fit-solve.test.d.ts +2 -0
  552. package/dist/ui/inline-fit-solve.test.d.ts.map +1 -0
  553. package/dist/ui/inline-fit-solve.test.js +108 -0
  554. package/dist/ui/inline-fit-solve.test.js.map +1 -0
  555. package/dist/ui/inline-fit-time.test.d.ts +2 -0
  556. package/dist/ui/inline-fit-time.test.d.ts.map +1 -0
  557. package/dist/ui/inline-fit-time.test.js +110 -0
  558. package/dist/ui/inline-fit-time.test.js.map +1 -0
  559. package/dist/ui/inline-fit.d.ts +77 -0
  560. package/dist/ui/inline-fit.d.ts.map +1 -0
  561. package/dist/ui/inline-fit.js +242 -0
  562. package/dist/ui/inline-fit.js.map +1 -0
  563. package/dist/ui/inline-fit.test-support.d.ts +26 -0
  564. package/dist/ui/inline-fit.test-support.d.ts.map +1 -0
  565. package/dist/ui/inline-fit.test-support.js +34 -0
  566. package/dist/ui/inline-fit.test-support.js.map +1 -0
  567. package/dist/ui/inline-fit.test.d.ts +2 -0
  568. package/dist/ui/inline-fit.test.d.ts.map +1 -0
  569. package/dist/ui/inline-fit.test.js +159 -0
  570. package/dist/ui/inline-fit.test.js.map +1 -0
  571. package/dist/ui/kit-labels.d.ts +80 -0
  572. package/dist/ui/kit-labels.d.ts.map +1 -0
  573. package/dist/ui/kit-labels.js +110 -0
  574. package/dist/ui/kit-labels.js.map +1 -0
  575. package/dist/ui/kit-labels.test.d.ts +2 -0
  576. package/dist/ui/kit-labels.test.d.ts.map +1 -0
  577. package/dist/ui/kit-labels.test.js +98 -0
  578. package/dist/ui/kit-labels.test.js.map +1 -0
  579. package/dist/ui/kit-type-roles.test.d.ts +2 -0
  580. package/dist/ui/kit-type-roles.test.d.ts.map +1 -0
  581. package/dist/ui/kit-type-roles.test.js +122 -0
  582. package/dist/ui/kit-type-roles.test.js.map +1 -0
  583. package/dist/ui/komet-svg.d.ts +15 -0
  584. package/dist/ui/komet-svg.d.ts.map +1 -0
  585. package/dist/ui/komet-svg.js +21 -0
  586. package/dist/ui/komet-svg.js.map +1 -0
  587. package/dist/ui/list-table.d.ts +108 -0
  588. package/dist/ui/list-table.d.ts.map +1 -0
  589. package/dist/ui/list-table.js +161 -0
  590. package/dist/ui/list-table.js.map +1 -0
  591. package/dist/ui/list-table.test.d.ts +2 -0
  592. package/dist/ui/list-table.test.d.ts.map +1 -0
  593. package/dist/ui/list-table.test.js +169 -0
  594. package/dist/ui/list-table.test.js.map +1 -0
  595. package/dist/ui/localized-app-view.d.ts +40 -0
  596. package/dist/ui/localized-app-view.d.ts.map +1 -0
  597. package/dist/ui/localized-app-view.js +71 -0
  598. package/dist/ui/localized-app-view.js.map +1 -0
  599. package/dist/ui/log-text.d.ts +24 -0
  600. package/dist/ui/log-text.d.ts.map +1 -0
  601. package/dist/ui/log-text.js +31 -0
  602. package/dist/ui/log-text.js.map +1 -0
  603. package/dist/ui/menu-item.d.ts +12 -0
  604. package/dist/ui/menu-item.d.ts.map +1 -0
  605. package/dist/ui/menu-item.js +13 -0
  606. package/dist/ui/menu-item.js.map +1 -0
  607. package/dist/ui/named-id.d.ts +23 -0
  608. package/dist/ui/named-id.d.ts.map +1 -0
  609. package/dist/ui/named-id.js +21 -0
  610. package/dist/ui/named-id.js.map +1 -0
  611. package/dist/ui/named-id.test.d.ts +2 -0
  612. package/dist/ui/named-id.test.d.ts.map +1 -0
  613. package/dist/ui/named-id.test.js +57 -0
  614. package/dist/ui/named-id.test.js.map +1 -0
  615. package/dist/ui/native-select.d.ts +17 -0
  616. package/dist/ui/native-select.d.ts.map +1 -0
  617. package/dist/ui/native-select.js +20 -0
  618. package/dist/ui/native-select.js.map +1 -0
  619. package/dist/ui/navigation-focus.d.ts +20 -0
  620. package/dist/ui/navigation-focus.d.ts.map +1 -0
  621. package/dist/ui/navigation-focus.js +25 -0
  622. package/dist/ui/navigation-focus.js.map +1 -0
  623. package/dist/ui/navigation-focus.test.d.ts +2 -0
  624. package/dist/ui/navigation-focus.test.d.ts.map +1 -0
  625. package/dist/ui/navigation-focus.test.js +28 -0
  626. package/dist/ui/navigation-focus.test.js.map +1 -0
  627. package/dist/ui/open-in-cockpit-link.d.ts +28 -0
  628. package/dist/ui/open-in-cockpit-link.d.ts.map +1 -0
  629. package/dist/ui/open-in-cockpit-link.js +41 -0
  630. package/dist/ui/open-in-cockpit-link.js.map +1 -0
  631. package/dist/ui/paged-list-footer.test.d.ts +2 -0
  632. package/dist/ui/paged-list-footer.test.d.ts.map +1 -0
  633. package/dist/ui/paged-list-footer.test.js +128 -0
  634. package/dist/ui/paged-list-footer.test.js.map +1 -0
  635. package/dist/ui/paged-rows.d.ts +24 -0
  636. package/dist/ui/paged-rows.d.ts.map +1 -0
  637. package/dist/ui/paged-rows.js +25 -0
  638. package/dist/ui/paged-rows.js.map +1 -0
  639. package/dist/ui/parse-tool-result.test.d.ts +2 -0
  640. package/dist/ui/parse-tool-result.test.d.ts.map +1 -0
  641. package/dist/ui/parse-tool-result.test.js +88 -0
  642. package/dist/ui/parse-tool-result.test.js.map +1 -0
  643. package/dist/ui/profile-gate.d.ts +37 -0
  644. package/dist/ui/profile-gate.d.ts.map +1 -0
  645. package/dist/ui/profile-gate.js +126 -0
  646. package/dist/ui/profile-gate.js.map +1 -0
  647. package/dist/ui/profile-gate.test.d.ts +2 -0
  648. package/dist/ui/profile-gate.test.d.ts.map +1 -0
  649. package/dist/ui/profile-gate.test.js +246 -0
  650. package/dist/ui/profile-gate.test.js.map +1 -0
  651. package/dist/ui/query-fallback.d.ts +27 -0
  652. package/dist/ui/query-fallback.d.ts.map +1 -0
  653. package/dist/ui/query-fallback.js +30 -0
  654. package/dist/ui/query-fallback.js.map +1 -0
  655. package/dist/ui/query-fallback.test.d.ts +2 -0
  656. package/dist/ui/query-fallback.test.d.ts.map +1 -0
  657. package/dist/ui/query-fallback.test.js +49 -0
  658. package/dist/ui/query-fallback.test.js.map +1 -0
  659. package/dist/ui/row-card.d.ts +13 -0
  660. package/dist/ui/row-card.d.ts.map +1 -0
  661. package/dist/ui/row-card.js +11 -0
  662. package/dist/ui/row-card.js.map +1 -0
  663. package/dist/ui/section.d.ts +18 -0
  664. package/dist/ui/section.d.ts.map +1 -0
  665. package/dist/ui/section.js +14 -0
  666. package/dist/ui/section.js.map +1 -0
  667. package/dist/ui/segmented-control.d.ts +25 -0
  668. package/dist/ui/segmented-control.d.ts.map +1 -0
  669. package/dist/ui/segmented-control.js +22 -0
  670. package/dist/ui/segmented-control.js.map +1 -0
  671. package/dist/ui/settings-labels.d.ts +33 -0
  672. package/dist/ui/settings-labels.d.ts.map +1 -0
  673. package/dist/ui/settings-labels.js +50 -0
  674. package/dist/ui/settings-labels.js.map +1 -0
  675. package/dist/ui/settings-layout.d.ts +29 -0
  676. package/dist/ui/settings-layout.d.ts.map +1 -0
  677. package/dist/ui/settings-layout.js +49 -0
  678. package/dist/ui/settings-layout.js.map +1 -0
  679. package/dist/ui/settings-layout.test.d.ts +2 -0
  680. package/dist/ui/settings-layout.test.d.ts.map +1 -0
  681. package/dist/ui/settings-layout.test.js +73 -0
  682. package/dist/ui/settings-layout.test.js.map +1 -0
  683. package/dist/ui/settings.d.ts +47 -0
  684. package/dist/ui/settings.d.ts.map +1 -0
  685. package/dist/ui/settings.js +48 -0
  686. package/dist/ui/settings.js.map +1 -0
  687. package/dist/ui/settings.test.d.ts +2 -0
  688. package/dist/ui/settings.test.d.ts.map +1 -0
  689. package/dist/ui/settings.test.js +38 -0
  690. package/dist/ui/settings.test.js.map +1 -0
  691. package/dist/ui/shell-host.d.ts +46 -0
  692. package/dist/ui/shell-host.d.ts.map +1 -0
  693. package/dist/ui/shell-host.js +56 -0
  694. package/dist/ui/shell-host.js.map +1 -0
  695. package/dist/ui/shell-settings.d.ts +31 -0
  696. package/dist/ui/shell-settings.d.ts.map +1 -0
  697. package/dist/ui/shell-settings.js +97 -0
  698. package/dist/ui/shell-settings.js.map +1 -0
  699. package/dist/ui/shell-settings.test.d.ts +2 -0
  700. package/dist/ui/shell-settings.test.d.ts.map +1 -0
  701. package/dist/ui/shell-settings.test.js +108 -0
  702. package/dist/ui/shell-settings.test.js.map +1 -0
  703. package/dist/ui/shell-widgets.d.ts +14 -0
  704. package/dist/ui/shell-widgets.d.ts.map +1 -0
  705. package/dist/ui/shell-widgets.js +18 -0
  706. package/dist/ui/shell-widgets.js.map +1 -0
  707. package/dist/ui/table.d.ts +61 -0
  708. package/dist/ui/table.d.ts.map +1 -0
  709. package/dist/ui/table.js +43 -0
  710. package/dist/ui/table.js.map +1 -0
  711. package/dist/ui/tone-components.test.d.ts +2 -0
  712. package/dist/ui/tone-components.test.d.ts.map +1 -0
  713. package/dist/ui/tone-components.test.js +145 -0
  714. package/dist/ui/tone-components.test.js.map +1 -0
  715. package/dist/ui/tone-contrast.test.d.ts +2 -0
  716. package/dist/ui/tone-contrast.test.d.ts.map +1 -0
  717. package/dist/ui/tone-contrast.test.js +66 -0
  718. package/dist/ui/tone-contrast.test.js.map +1 -0
  719. package/dist/ui/toolkit-overlap.test.d.ts +2 -0
  720. package/dist/ui/toolkit-overlap.test.d.ts.map +1 -0
  721. package/dist/ui/toolkit-overlap.test.js +86 -0
  722. package/dist/ui/toolkit-overlap.test.js.map +1 -0
  723. package/dist/ui/use-apply-theme.d.ts +11 -0
  724. package/dist/ui/use-apply-theme.d.ts.map +1 -0
  725. package/dist/ui/use-apply-theme.js +37 -0
  726. package/dist/ui/use-apply-theme.js.map +1 -0
  727. package/dist/ui/use-apply-theme.test.d.ts +2 -0
  728. package/dist/ui/use-apply-theme.test.d.ts.map +1 -0
  729. package/dist/ui/use-apply-theme.test.js +102 -0
  730. package/dist/ui/use-apply-theme.test.js.map +1 -0
  731. package/dist/ui/use-bpmn-viewer.d.ts +135 -0
  732. package/dist/ui/use-bpmn-viewer.d.ts.map +1 -0
  733. package/dist/ui/use-bpmn-viewer.js +257 -0
  734. package/dist/ui/use-bpmn-viewer.js.map +1 -0
  735. package/dist/ui/use-bpmn-viewer.test.d.ts +2 -0
  736. package/dist/ui/use-bpmn-viewer.test.d.ts.map +1 -0
  737. package/dist/ui/use-bpmn-viewer.test.js +239 -0
  738. package/dist/ui/use-bpmn-viewer.test.js.map +1 -0
  739. package/dist/ui/use-detail-view.d.ts +49 -0
  740. package/dist/ui/use-detail-view.d.ts.map +1 -0
  741. package/dist/ui/use-detail-view.js +52 -0
  742. package/dist/ui/use-detail-view.js.map +1 -0
  743. package/dist/ui/use-detail-view.test.d.ts +2 -0
  744. package/dist/ui/use-detail-view.test.d.ts.map +1 -0
  745. package/dist/ui/use-detail-view.test.js +178 -0
  746. package/dist/ui/use-detail-view.test.js.map +1 -0
  747. package/dist/ui/use-paged-list-view.d.ts +48 -0
  748. package/dist/ui/use-paged-list-view.d.ts.map +1 -0
  749. package/dist/ui/use-paged-list-view.js +41 -0
  750. package/dist/ui/use-paged-list-view.js.map +1 -0
  751. package/dist/ui/use-paged-list-view.test.d.ts +2 -0
  752. package/dist/ui/use-paged-list-view.test.d.ts.map +1 -0
  753. package/dist/ui/use-paged-list-view.test.js +136 -0
  754. package/dist/ui/use-paged-list-view.test.js.map +1 -0
  755. package/dist/ui/use-paged-view-data.d.ts +103 -0
  756. package/dist/ui/use-paged-view-data.d.ts.map +1 -0
  757. package/dist/ui/use-paged-view-data.js +173 -0
  758. package/dist/ui/use-paged-view-data.js.map +1 -0
  759. package/dist/ui/use-paged-view-data.seeded.test.d.ts +2 -0
  760. package/dist/ui/use-paged-view-data.seeded.test.d.ts.map +1 -0
  761. package/dist/ui/use-paged-view-data.seeded.test.js +144 -0
  762. package/dist/ui/use-paged-view-data.seeded.test.js.map +1 -0
  763. package/dist/ui/use-paged-view-data.test.d.ts +2 -0
  764. package/dist/ui/use-paged-view-data.test.d.ts.map +1 -0
  765. package/dist/ui/use-paged-view-data.test.js +330 -0
  766. package/dist/ui/use-paged-view-data.test.js.map +1 -0
  767. package/dist/ui/use-reset-on-change.d.ts +22 -0
  768. package/dist/ui/use-reset-on-change.d.ts.map +1 -0
  769. package/dist/ui/use-reset-on-change.js +29 -0
  770. package/dist/ui/use-reset-on-change.js.map +1 -0
  771. package/dist/ui/use-reset-on-change.test.d.ts +2 -0
  772. package/dist/ui/use-reset-on-change.test.d.ts.map +1 -0
  773. package/dist/ui/use-reset-on-change.test.js +61 -0
  774. package/dist/ui/use-reset-on-change.test.js.map +1 -0
  775. package/dist/ui/use-view-data.seeded.test.d.ts +2 -0
  776. package/dist/ui/use-view-data.seeded.test.d.ts.map +1 -0
  777. package/dist/ui/use-view-data.seeded.test.js +168 -0
  778. package/dist/ui/use-view-data.seeded.test.js.map +1 -0
  779. package/dist/ui/view-data-state.d.ts +52 -0
  780. package/dist/ui/view-data-state.d.ts.map +1 -0
  781. package/dist/ui/view-data-state.js +54 -0
  782. package/dist/ui/view-data-state.js.map +1 -0
  783. package/dist/ui/view-data-state.test.d.ts +2 -0
  784. package/dist/ui/view-data-state.test.d.ts.map +1 -0
  785. package/dist/ui/view-data-state.test.js +62 -0
  786. package/dist/ui/view-data-state.test.js.map +1 -0
  787. package/dist/ui/view-meta.d.ts +70 -0
  788. package/dist/ui/view-meta.d.ts.map +1 -0
  789. package/dist/ui/view-meta.js +84 -0
  790. package/dist/ui/view-meta.js.map +1 -0
  791. package/dist/ui/view-meta.test.d.ts +2 -0
  792. package/dist/ui/view-meta.test.d.ts.map +1 -0
  793. package/dist/ui/view-meta.test.js +92 -0
  794. package/dist/ui/view-meta.test.js.map +1 -0
  795. package/dist/ui/view-refresh-state.d.ts +26 -0
  796. package/dist/ui/view-refresh-state.d.ts.map +1 -0
  797. package/dist/ui/view-refresh-state.js +15 -0
  798. package/dist/ui/view-refresh-state.js.map +1 -0
  799. package/dist/ui/widget-shell.d.ts +24 -0
  800. package/dist/ui/widget-shell.d.ts.map +1 -0
  801. package/dist/ui/widget-shell.js +50 -0
  802. package/dist/ui/widget-shell.js.map +1 -0
  803. package/dist/ui/widget-shell.test.d.ts +2 -0
  804. package/dist/ui/widget-shell.test.d.ts.map +1 -0
  805. package/dist/ui/widget-shell.test.js +41 -0
  806. package/dist/ui/widget-shell.test.js.map +1 -0
  807. package/dist/view-results.d.ts +42 -0
  808. package/dist/view-results.d.ts.map +1 -0
  809. package/dist/view-results.js +17 -0
  810. package/dist/view-results.js.map +1 -0
  811. package/dist/widget-meta-defaults.d.ts +48 -0
  812. package/dist/widget-meta-defaults.d.ts.map +1 -0
  813. package/dist/widget-meta-defaults.js +80 -0
  814. package/dist/widget-meta-defaults.js.map +1 -0
  815. package/dist/widget-meta-defaults.test.d.ts +2 -0
  816. package/dist/widget-meta-defaults.test.d.ts.map +1 -0
  817. package/dist/widget-meta-defaults.test.js +196 -0
  818. package/dist/widget-meta-defaults.test.js.map +1 -0
  819. package/dist/widget-tool-bindings.d.ts +71 -0
  820. package/dist/widget-tool-bindings.d.ts.map +1 -0
  821. package/dist/widget-tool-bindings.js +80 -0
  822. package/dist/widget-tool-bindings.js.map +1 -0
  823. package/dist/widget-tool-bindings.test.d.ts +2 -0
  824. package/dist/widget-tool-bindings.test.d.ts.map +1 -0
  825. package/dist/widget-tool-bindings.test.js +83 -0
  826. package/dist/widget-tool-bindings.test.js.map +1 -0
  827. package/dist/with-tool-errors.test.d.ts +2 -0
  828. package/dist/with-tool-errors.test.d.ts.map +1 -0
  829. package/dist/with-tool-errors.test.js +38 -0
  830. package/dist/with-tool-errors.test.js.map +1 -0
  831. package/package.json +113 -3
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useMemo, useState } from "react";
3
+ import { Badge, Card, CardContent, cn, FOCUS_RING, useLocale, WidgetHeader, } from "@miragon/mcp-toolkit-ui";
4
+ import { ChevronRight } from "lucide-react";
5
+ import { BpmnHeatmap, HeatmapLegend } from "./bpmn-heatmap.js";
6
+ import { bpmnElementNames, bpmnProcessName, heatRange } from "./bpmn-heatmap/heat-utils.js";
7
+ import { DEFAULT_HEATMAP_LABELS } from "./bpmn-heatmap-labels.js";
8
+ import { formatDuration, formatNumber } from "./format.js";
9
+ import { Icon } from "./icon.js";
10
+ import { kitLabels } from "./kit-labels.js";
11
+ import { ListTable } from "./list-table.js";
12
+ import { SegmentedControl } from "./segmented-control.js";
13
+ import { TableEmptyState, Td } from "./table.js";
14
+ /** A heat value in the mode's unit: a count, or a duration ("3m 7s" / "3 Min. 7 s"). */
15
+ function formatHeat(mode, value) {
16
+ return mode === "frequency" ? formatNumber(value) : formatDuration(value * 1000);
17
+ }
18
+ /**
19
+ * The values behind the colours (U16): every element with a value above
20
+ * zero, largest first, under a disclosure below the diagram — the number a
21
+ * colour cannot say, for everyone, and the heatmap's text alternative.
22
+ */
23
+ export function HeatValuesTable({ bpmnXml, values, format, labels, }) {
24
+ const kit = kitLabels(useLocale());
25
+ const names = useMemo(() => bpmnElementNames(bpmnXml), [bpmnXml]);
26
+ const rows = Object.entries(values)
27
+ .filter(([, v]) => Number.isFinite(v) && v > 0)
28
+ .sort(([, a], [, b]) => b - a);
29
+ if (rows.length === 0)
30
+ return null;
31
+ const title = labels?.valuesTable ?? kit.heatmapValues;
32
+ return (_jsxs("details", { className: "group", children: [_jsxs("summary", { className: cn("text-dense flex w-fit cursor-pointer list-none items-center gap-1.5 rounded-sm font-medium [&::-webkit-details-marker]:hidden", FOCUS_RING), children: [_jsx(Icon, { icon: ChevronRight, className: "text-muted-foreground transition-transform group-open:rotate-90 motion-reduce:transition-none" }), title] }), _jsx("div", { className: "mt-2", children: _jsx(ListTable, { ariaLabel: title, columns: [
33
+ { label: labels?.elementColumn ?? kit.heatmapElement },
34
+ { label: labels?.valueColumn ?? kit.heatmapValue, align: "right" },
35
+ ], children: rows.map(([id, value]) => (_jsxs("tr", { children: [_jsxs(Td, { children: [names[id] ?? _jsx("span", { className: "font-mono", children: id }), names[id] && (_jsx("span", { className: "text-muted-foreground text-small ml-2 font-mono", children: id }))] }), _jsx(Td, { align: "right", className: "tabular-nums", children: format(value) })] }, id))) }) })] }));
36
+ }
37
+ /**
38
+ * Data-widget wrapper: one BPMN diagram, a Frequency↔Duration switch that
39
+ * swaps the per-element heat values (both fetched up front), the legend with
40
+ * the smallest and largest value, and the values as a table. Node-only —
41
+ * metrics carry no per-instance path data, so sequence flows are not heated.
42
+ */
43
+ export function BpmnHeatmapWidget({ data, labels, meta, }) {
44
+ const [mode, setMode] = useState("frequency");
45
+ const kit = kitLabels(useLocale());
46
+ const l = { ...DEFAULT_HEATMAP_LABELS, ...labels };
47
+ const xml = data?.bpmnXml ?? null;
48
+ // The process's name from its model (U13), by the rule the other analytics
49
+ // views name it (its own, else its pool's): the key stays a quiet id next to it.
50
+ const key = data?.processDefinitionKey;
51
+ const processName = useMemo(() => (xml && key ? bpmnProcessName(xml, key) : null), [xml, key]);
52
+ if (!data)
53
+ return _jsx(TableEmptyState, { children: l.noData });
54
+ if (!data.bpmnXml)
55
+ return _jsx(TableEmptyState, { children: l.bpmnUnavailable });
56
+ const values = mode === "frequency" ? data.frequency : data.durationSec;
57
+ const legendLabel = mode === "frequency" ? l.frequencyLegend : l.durationLegend;
58
+ const range = heatRange(values);
59
+ const format = (value) => formatHeat(mode, value);
60
+ return (_jsx(Card, { children: _jsxs(CardContent, { className: "flex flex-col gap-4", children: [_jsx(WidgetHeader, { as: "h2", title: l.title, titleSuffix: processName ? (_jsxs(_Fragment, { children: [_jsx(Badge, { variant: "outline", className: "ml-2 align-middle", children: processName }), _jsx("span", { className: "text-muted-foreground text-small ml-2 align-middle font-mono font-normal", children: data.processDefinitionKey })] })) : (_jsx(Badge, { variant: "outline", className: "ml-2 align-middle font-mono", children: data.processDefinitionKey })), sub: meta ?? (_jsxs("span", { children: [l.window, " ", data.period] })), actions: _jsx(SegmentedControl, { ariaLabel: labels?.modeAriaLabel ?? kit.heatmapMetric, value: mode, onChange: setMode, options: [
61
+ { value: "frequency", label: l.frequency },
62
+ { value: "duration", label: l.duration },
63
+ ] }) }), _jsx(BpmnHeatmap, { bpmnXml: data.bpmnXml, nodeFrequencies: values, diagramAriaLabel: l.diagramAriaLabel, errorTitle: l.errorTitle, errorHint: l.errorHint, noHeatLabel: l.noHeat }), _jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [_jsx("span", { className: "text-muted-foreground text-small", children: legendLabel }), _jsx(HeatmapLegend, { lessLabel: l.less, moreLabel: l.more, min: range ? format(range.min) : undefined, max: range ? format(range.max) : undefined })] }), _jsx(HeatValuesTable, { bpmnXml: data.bpmnXml, values: values, format: format, labels: labels })] }) }));
64
+ }
65
+ //# sourceMappingURL=bpmn-heatmap-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bpmn-heatmap-widget.js","sourceRoot":"","sources":["../../src/ui/bpmn-heatmap-widget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bpmn-heatmap-widget.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bpmn-heatmap-widget.test.d.ts","sourceRoot":"","sources":["../../src/ui/bpmn-heatmap-widget.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,173 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @vitest-environment happy-dom
3
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
4
+ import { cleanup, fireEvent, render, screen, waitFor } from "@testing-library/react";
5
+ import { LocaleProvider } from "@miragon/mcp-toolkit-ui";
6
+ import { setFormatLocale } from "../testing/index.js";
7
+ import { BpmnHeatmap, HeatmapLegend } from "./bpmn-heatmap.js";
8
+ import { BpmnHeatmapWidget, HeatValuesTable } from "./bpmn-heatmap-widget.js";
9
+ // bpmn-js needs a real SVG engine; a stub that imports any diagram 4:1 wide.
10
+ const viewer = vi.hoisted(() => ({
11
+ fail: false,
12
+ MockViewer: class {
13
+ importXML() {
14
+ return viewer.fail ? Promise.reject(new Error("unparsable <bpmn:x>")) : Promise.resolve({});
15
+ }
16
+ get(service) {
17
+ if (service === "canvas") {
18
+ return {
19
+ zoom: () => 1,
20
+ resized: () => { },
21
+ viewbox: () => ({
22
+ x: 0,
23
+ y: 0,
24
+ width: 800,
25
+ height: 200,
26
+ scale: 1,
27
+ inner: { x: 0, y: 0, width: 800, height: 200 },
28
+ }),
29
+ };
30
+ }
31
+ if (service === "elementRegistry")
32
+ return { getAll: () => [] };
33
+ return { on() { }, off() { } };
34
+ }
35
+ destroy() { }
36
+ },
37
+ }));
38
+ vi.mock("bpmn-js/lib/NavigatedViewer", () => ({ default: viewer.MockViewer }));
39
+ afterEach(() => {
40
+ cleanup();
41
+ viewer.fail = false;
42
+ setFormatLocale(undefined);
43
+ });
44
+ const XML = `<?xml version="1.0"?>
45
+ <bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" id="d">
46
+ <bpmn:process id="order">
47
+ <bpmn:serviceTask id="Task_A" name="Ship order" />
48
+ <bpmn:userTask id="Task_B" name="Approve order" />
49
+ <bpmn:endEvent id="End" />
50
+ </bpmn:process>
51
+ </bpmn:definitions>`;
52
+ const DATA = {
53
+ processDefinitionKey: "order",
54
+ bpmnXml: XML,
55
+ period: "7d",
56
+ frequency: { Task_A: 1234, Task_B: 3, End: 0 },
57
+ durationSec: { Task_A: 187, Task_B: 2 },
58
+ };
59
+ describe("BpmnHeatmapWidget (U16)", () => {
60
+ beforeEach(() => setFormatLocale({ language: "en", locale: "en-US" }));
61
+ it("names the process by its model's name, the key quiet beside it (U13)", () => {
62
+ const named = XML.replace('<bpmn:process id="order">', '<bpmn:process id="order" name="Order">');
63
+ render(_jsx(BpmnHeatmapWidget, { data: { ...DATA, bpmnXml: named } }));
64
+ const heading = screen.getByRole("heading", { level: 2 });
65
+ expect(heading.textContent).toMatch(/Orderorder$/);
66
+ expect(screen.getByText("order").className).toContain("font-mono");
67
+ cleanup();
68
+ // Without a name the key is the badge, in mono.
69
+ render(_jsx(BpmnHeatmapWidget, { data: DATA }));
70
+ const badge = screen.getByText("order");
71
+ expect(badge.className).toContain("font-mono");
72
+ expect(badge.getAttribute("data-slot")).toBe("badge");
73
+ });
74
+ // The Camunda Modeler names a collaboration's pool and leaves its process
75
+ // unnamed: the dashboards show the pool's name, so the heatmap does too.
76
+ it("names a process without a name of its own by its pool, like the other views", () => {
77
+ const pooled = XML.replace("<bpmn:process", '<bpmn:collaboration id="c"><bpmn:participant id="Pool" name="Order handling" processRef="order"/></bpmn:collaboration><bpmn:process');
78
+ render(_jsx(BpmnHeatmapWidget, { data: { ...DATA, bpmnXml: pooled } }));
79
+ const heading = screen.getByRole("heading", { level: 2 });
80
+ expect(heading.textContent).toMatch(/Order handlingorder$/);
81
+ });
82
+ it("says what the colours mean: the legend runs from the smallest value to the largest", () => {
83
+ render(_jsx(BpmnHeatmapWidget, { data: DATA }));
84
+ expect(screen.getByText("3 to 1,234").className).toContain("sr-only");
85
+ const legend = screen.getByText("3 to 1,234").parentElement;
86
+ const visible = [...legend.querySelectorAll("[aria-hidden]")].map((el) => el.textContent);
87
+ expect(visible).toEqual(["3", "", "1,234"]);
88
+ });
89
+ it("lists the value per element, named from the diagram, largest first", () => {
90
+ render(_jsx(BpmnHeatmapWidget, { data: DATA }));
91
+ const summary = screen.getByText("Values per element");
92
+ expect(summary.closest("details")).toBeTruthy();
93
+ const table = screen.getByRole("table", { name: "Values per element" });
94
+ const rows = Array.from(table.querySelectorAll("tbody tr")).map((tr) => tr.textContent);
95
+ // Zero-valued elements stay out; names first, the id quiet beside them.
96
+ expect(rows).toEqual(["Ship orderTask_A1,234", "Approve orderTask_B3"]);
97
+ });
98
+ it("switches the metric with a segmented control; durations read as durations", () => {
99
+ setFormatLocale({ language: "de", locale: "de-DE" });
100
+ render(_jsx(LocaleProvider, { locale: "de", children: _jsx(BpmnHeatmapWidget, { data: DATA }) }));
101
+ const group = screen.getByRole("group", { name: "Kennzahl" });
102
+ const duration = screen.getByRole("button", { name: "Duration" });
103
+ expect(group.contains(duration)).toBe(true);
104
+ fireEvent.click(duration);
105
+ expect(duration.getAttribute("aria-pressed")).toBe("true");
106
+ // (getByText collapses the non-breaking spaces between number and unit.)
107
+ expect(screen.getByText("2 s bis 3 Min. 7 s").className).toContain("sr-only");
108
+ });
109
+ it("heads the view with a 28 px h2 title and keeps the paper light", () => {
110
+ const { container } = render(_jsx(BpmnHeatmapWidget, { data: DATA }));
111
+ const heading = screen.getByRole("heading", { level: 2 });
112
+ expect(heading.textContent).toContain("BPMN heatmap");
113
+ expect(heading.className).toContain("text-title");
114
+ const frame = container.querySelector('[role="img"]')?.parentElement;
115
+ expect(frame?.getAttribute("data-theme-mode")).toBe("light");
116
+ });
117
+ it("says so in an empty state without data or a diagram", () => {
118
+ const { rerender } = render(_jsx(BpmnHeatmapWidget, { data: null }));
119
+ expect(screen.getByText("No heatmap data.").closest("[data-empty-variant]")).toBeTruthy();
120
+ rerender(_jsx(BpmnHeatmapWidget, { data: { ...DATA, bpmnXml: null } }));
121
+ expect(screen.getByText(/The BPMN diagram is not available/)).toBeTruthy();
122
+ });
123
+ });
124
+ describe("BpmnHeatmap", () => {
125
+ it("sizes its frame from the diagram unless given a height", () => {
126
+ const { container, rerender } = render(_jsx(BpmnHeatmap, { bpmnXml: XML, nodeFrequencies: {} }));
127
+ const frame = () => container.querySelector('[data-theme-mode="light"]');
128
+ // Before the diagram is measured: the default frame.
129
+ expect(frame().style.height).toBe("360px");
130
+ rerender(_jsx(BpmnHeatmap, { bpmnXml: XML, nodeFrequencies: {}, height: 300 }));
131
+ expect(frame().style.height).toBe("300px");
132
+ });
133
+ it("shows the import failure as an inline error, the parser's words under Details", async () => {
134
+ viewer.fail = true;
135
+ render(_jsx(BpmnHeatmap, { bpmnXml: "<broken/>", nodeFrequencies: {}, errorTitle: "Diagram not drawn", errorHint: "Ask in the chat." }));
136
+ const state = await screen.findByRole("alert");
137
+ expect(state.getAttribute("data-variant")).toBe("inline");
138
+ expect(state.textContent).toContain("Diagram not drawn");
139
+ expect(screen.getByText("unparsable <bpmn:x>").closest("details")).toBeTruthy();
140
+ });
141
+ it("says so over the diagram when no element carries a value", async () => {
142
+ render(_jsx(BpmnHeatmap, { bpmnXml: XML, nodeFrequencies: { Task_A: 0 }, noHeatLabel: "No values" }));
143
+ await waitFor(() => expect(screen.getByRole("status").textContent).toBe("No values"));
144
+ });
145
+ });
146
+ describe("HeatmapLegend", () => {
147
+ it("falls back to Less/More without values, the swatch on the light paper", () => {
148
+ const { container } = render(_jsx(HeatmapLegend, { lessLabel: "Weniger", moreLabel: "Mehr" }));
149
+ expect(screen.getByText("Weniger")).toBeTruthy();
150
+ expect(screen.getByText("Mehr")).toBeTruthy();
151
+ expect(container.querySelector('[data-theme-mode="light"]')).toBeTruthy();
152
+ });
153
+ it("shows one value once, at the swatch's full end where every element paints", () => {
154
+ const { container } = render(_jsx(HeatmapLegend, { min: "5", max: "5" }));
155
+ const visible = [...container.querySelectorAll("[aria-hidden]")].map((el) => el.textContent);
156
+ expect(visible).toEqual(["", "5"]);
157
+ expect(container.querySelector(".sr-only")?.textContent).toBe("5");
158
+ });
159
+ });
160
+ describe("HeatValuesTable", () => {
161
+ it("renders nothing when no element has a value", () => {
162
+ const { container } = render(_jsx(HeatValuesTable, { bpmnXml: XML, values: { Task_A: 0 }, format: String }));
163
+ expect(container.innerHTML).toBe("");
164
+ });
165
+ it("takes the caller's words", () => {
166
+ render(_jsx(HeatValuesTable, { bpmnXml: XML, values: { Unnamed: 5 }, format: String, labels: { valuesTable: "Werte", elementColumn: "Schritt", valueColumn: "Anzahl" } }));
167
+ expect(screen.getByRole("columnheader", { name: "Schritt" })).toBeTruthy();
168
+ expect(screen.getByRole("columnheader", { name: "Anzahl" })).toBeTruthy();
169
+ // An element without a name shows its id.
170
+ expect(screen.getByText("Unnamed").className).toContain("font-mono");
171
+ });
172
+ });
173
+ //# sourceMappingURL=bpmn-heatmap-widget.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bpmn-heatmap-widget.test.js","sourceRoot":"","sources":["../../src/ui/bpmn-heatmap-widget.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { type BpmnHeatmapLabels } from "./bpmn-heatmap-labels.js";
2
+ export type { BpmnHeatmapLabels };
3
+ export interface BpmnHeatmapProps {
4
+ bpmnXml: string;
5
+ /** Per-element heat value keyed by BPMN element id (frequency or duration). */
6
+ nodeFrequencies: Record<string, number>;
7
+ /** Per-edge value keyed by `${sourceId}->${targetId}`. Metrics carry none → `{}`. */
8
+ edgeFrequencies?: Record<string, number>;
9
+ /** A fixed frame height; default: the diagram's own (240–560 px, `diagramHeight`). */
10
+ height?: number;
11
+ /** Heat radius in diagram coordinates. Scales with zoom. */
12
+ diagramRadius?: number;
13
+ /** Accessible name for the diagram (localize per module; English fallback). */
14
+ diagramAriaLabel?: string;
15
+ /** Title of the import-error state (English fallback): what happened, one line. */
16
+ errorTitle?: string;
17
+ /**
18
+ * Next step under the import error: what the user can do. No fallback, so
19
+ * a caller without a localized hint shows no English sentence in its view.
20
+ */
21
+ errorHint?: string;
22
+ /**
23
+ * Shown over the diagram when NO element carries a positive value. Without
24
+ * it an empty result (window with no traffic, or a metrics `engine_id` that
25
+ * doesn't match the configured engine id) is indistinguishable from a
26
+ * rendered heatmap — the diagram just stays uncolored.
27
+ */
28
+ noHeatLabel?: string;
29
+ }
30
+ /**
31
+ * Renders a BPMN diagram (bpmn-js NavigatedViewer) with a Cockpit-style heat
32
+ * overlay on a canvas synced to the viewbox. The viewer mounts once per diagram
33
+ * (`bpmnXml`); changing `nodeFrequencies` (e.g. the frequency↔duration toggle)
34
+ * only repaints the overlay — no re-import / refit.
35
+ *
36
+ * The heat is ONE hue (`--cd-info-soft` → `--cd-blau`, never red: red is for
37
+ * incidents), every element with a value above zero at a visible minimum.
38
+ * The whole frame is a forced-light island: the paper, the zoom bar and the
39
+ * "no values" chip stay light in a dark host. Pair it with
40
+ * {@link HeatmapLegend} and the values as a table ({@link HeatValuesTable}).
41
+ */
42
+ export declare function BpmnHeatmap({ bpmnXml, nodeFrequencies, edgeFrequencies, height, diagramRadius, diagramAriaLabel, errorTitle, errorHint, noHeatLabel, }: BpmnHeatmapProps): import("react").JSX.Element;
43
+ /**
44
+ * The heat ramp's legend: the swatch (on the light paper, at the layer's
45
+ * opacity, so it matches the diagram) between the smallest value above zero
46
+ * and the largest (`min`/`max`, formatted by the caller) — or "Less"/"More"
47
+ * where the values are not at hand. The ends are the values they encode:
48
+ * the layer maps that range linearly onto the swatch (`heatIntensity`), so
49
+ * its middle is the middle value. One value for every element paints at the
50
+ * full end, so it shows once, there. Screen readers hear the range as one
51
+ * sentence ("1 to 1,234").
52
+ */
53
+ export declare function HeatmapLegend({ min, max, lessLabel, moreLabel, }: {
54
+ /** The smallest value above zero, formatted. */
55
+ min?: string;
56
+ /** The largest value, formatted. */
57
+ max?: string;
58
+ lessLabel?: string;
59
+ moreLabel?: string;
60
+ }): import("react").JSX.Element;
61
+ //# sourceMappingURL=bpmn-heatmap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bpmn-heatmap.d.ts","sourceRoot":"","sources":["../../src/ui/bpmn-heatmap.tsx"],"names":[],"mappings":"AAWA,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AASzF,YAAY,EAAE,iBAAiB,EAAE,CAAA;AAEjC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,eAAe,EACf,eAA6B,EAC7B,MAAM,EACN,aAAkB,EAClB,gBAA0D,EAC1D,UAA8C,EAC9C,SAAS,EACT,WAA2C,GAC5C,EAAE,gBAAgB,+BA6IlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,GAAG,EACH,SAAuC,EACvC,SAAuC,GACxC,EAAE;IACD,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BA6BA"}
@@ -0,0 +1,119 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef } from "react";
3
+ import { ErrorState, useLocale } from "@miragon/mcp-toolkit-ui";
4
+ import { buildGradientLut, buildHeatPoints, drawHeatLayer, HEAT_GRADIENT_CSS, HEAT_PEAK_ALPHA, weightRange, } from "./bpmn-heatmap/heat-utils.js";
5
+ import { DEFAULT_HEATMAP_LABELS } from "./bpmn-heatmap-labels.js";
6
+ import { BpmnZoomControls } from "./bpmn-zoom-controls.js";
7
+ import { kitLabels } from "./kit-labels.js";
8
+ import { useBpmnViewer } from "./use-bpmn-viewer.js";
9
+ // Stable default for the omitted-edges case: a `= {}` parameter default would
10
+ // be a fresh identity per render and re-trigger the repaint effect every time.
11
+ const EMPTY_EDGES = {};
12
+ /**
13
+ * Renders a BPMN diagram (bpmn-js NavigatedViewer) with a Cockpit-style heat
14
+ * overlay on a canvas synced to the viewbox. The viewer mounts once per diagram
15
+ * (`bpmnXml`); changing `nodeFrequencies` (e.g. the frequency↔duration toggle)
16
+ * only repaints the overlay — no re-import / refit.
17
+ *
18
+ * The heat is ONE hue (`--cd-info-soft` → `--cd-blau`, never red: red is for
19
+ * incidents), every element with a value above zero at a visible minimum.
20
+ * The whole frame is a forced-light island: the paper, the zoom bar and the
21
+ * "no values" chip stay light in a dark host. Pair it with
22
+ * {@link HeatmapLegend} and the values as a table ({@link HeatValuesTable}).
23
+ */
24
+ export function BpmnHeatmap({ bpmnXml, nodeFrequencies, edgeFrequencies = EMPTY_EDGES, height, diagramRadius = 55, diagramAriaLabel = DEFAULT_HEATMAP_LABELS.diagramAriaLabel, errorTitle = DEFAULT_HEATMAP_LABELS.errorTitle, errorHint, noHeatLabel = DEFAULT_HEATMAP_LABELS.noHeat, }) {
25
+ const heatCanvasRef = useRef(null);
26
+ const redrawRef = useRef(null);
27
+ // Latest heat inputs, read by redraw() so we can repaint without re-importing.
28
+ // Synced in an effect (not during render) so a discarded render can't leak
29
+ // into the ref; declared before the repaint effect below, so redraw() always
30
+ // sees the values of the commit that triggered it.
31
+ const dataRef = useRef({ nodeFrequencies, edgeFrequencies, diagramRadius });
32
+ useEffect(() => {
33
+ dataRef.current = { nodeFrequencies, edgeFrequencies, diagramRadius };
34
+ });
35
+ const { containerRef, height: autoHeight, importError, zoomIn, zoomOut, fit, } = useBpmnViewer({
36
+ bpmnXml,
37
+ onImported: (imported) => {
38
+ const gradientLut = buildGradientLut();
39
+ const canvas = imported.get("canvas");
40
+ const elementRegistry = imported.get("elementRegistry");
41
+ const eventBus = imported.get("eventBus");
42
+ const redraw = () => {
43
+ const heatCanvas = heatCanvasRef.current;
44
+ const container = containerRef.current;
45
+ if (!heatCanvas || !container)
46
+ return;
47
+ const rect = container.getBoundingClientRect();
48
+ const dpr = window.devicePixelRatio || 1;
49
+ if (heatCanvas.width !== Math.round(rect.width * dpr) ||
50
+ heatCanvas.height !== Math.round(rect.height * dpr)) {
51
+ heatCanvas.width = Math.round(rect.width * dpr);
52
+ heatCanvas.height = Math.round(rect.height * dpr);
53
+ heatCanvas.style.width = `${rect.width}px`;
54
+ heatCanvas.style.height = `${rect.height}px`;
55
+ }
56
+ const ctx = heatCanvas.getContext("2d");
57
+ if (!ctx)
58
+ return;
59
+ ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
60
+ const { nodeFrequencies: nf, edgeFrequencies: ef, diagramRadius: dr } = dataRef.current;
61
+ const heatPoints = buildHeatPoints(elementRegistry.getAll(), nf, ef);
62
+ const range = weightRange(heatPoints.map((p) => p.weight)) ?? { min: 0, max: 0 };
63
+ const vb = canvas.viewbox();
64
+ const scale = vb.scale;
65
+ // Project diagram coordinates → screen pixels (CSS px).
66
+ const screenPoints = heatPoints.map((p) => ({
67
+ x: (p.x - vb.x) * scale,
68
+ y: (p.y - vb.y) * scale,
69
+ weight: p.weight,
70
+ }));
71
+ const radiusPx = Math.max(20, dr * scale);
72
+ drawHeatLayer(ctx, rect.width, rect.height, heatCanvas.width, heatCanvas.height, screenPoints, range, radiusPx, gradientLut);
73
+ };
74
+ redrawRef.current = redraw;
75
+ redraw();
76
+ const onChange = () => redraw();
77
+ eventBus.on("canvas.viewbox.changed", onChange);
78
+ eventBus.on("canvas.resized", onChange);
79
+ // Resize only repaints the overlay — the operator's pan/zoom is kept.
80
+ const ro = new ResizeObserver(() => redraw());
81
+ if (containerRef.current)
82
+ ro.observe(containerRef.current);
83
+ return () => {
84
+ eventBus.off("canvas.viewbox.changed", onChange);
85
+ eventBus.off("canvas.resized", onChange);
86
+ ro.disconnect();
87
+ redrawRef.current = null;
88
+ };
89
+ },
90
+ });
91
+ // Repaint the overlay when the heat values change (toggle) — viewer stays mounted.
92
+ useEffect(() => {
93
+ redrawRef.current?.();
94
+ }, [nodeFrequencies, edgeFrequencies, diagramRadius]);
95
+ // Mirrors the `weight > 0` filter in buildHeatPoints: a map of zeros paints
96
+ // nothing, so it must read as "no data" too.
97
+ const hasHeat = Object.values(nodeFrequencies).some((v) => v > 0) ||
98
+ Object.values(edgeFrequencies).some((v) => v > 0);
99
+ return (_jsxs("div", { "data-theme-mode": "light", className: "relative w-full", style: { height: `${height ?? autoHeight}px` }, children: [_jsx("div", { ref: containerRef, role: "img", "aria-label": diagramAriaLabel, className: "border-border absolute inset-0 size-full rounded-md border" }), _jsx("canvas", { ref: heatCanvasRef, "aria-hidden": "true", className: "pointer-events-none absolute inset-0 size-full rounded-md", style: { mixBlendMode: "multiply" } }), importError ? (_jsx("div", { className: "absolute inset-x-3 top-3", children: _jsx(ErrorState, { variant: "inline", title: errorTitle, description: errorHint, details: importError }) })) : (_jsxs(_Fragment, { children: [hasHeat ? null : (_jsx("div", { role: "status", className: "border-border bg-card text-muted-foreground text-small shadow-1 pointer-events-none absolute top-3 left-3 rounded-sm border px-2 py-1", children: noHeatLabel })), _jsx(BpmnZoomControls, { onZoomIn: zoomIn, onZoomOut: zoomOut, onFit: fit })] }))] }));
100
+ }
101
+ /**
102
+ * The heat ramp's legend: the swatch (on the light paper, at the layer's
103
+ * opacity, so it matches the diagram) between the smallest value above zero
104
+ * and the largest (`min`/`max`, formatted by the caller) — or "Less"/"More"
105
+ * where the values are not at hand. The ends are the values they encode:
106
+ * the layer maps that range linearly onto the swatch (`heatIntensity`), so
107
+ * its middle is the middle value. One value for every element paints at the
108
+ * full end, so it shows once, there. Screen readers hear the range as one
109
+ * sentence ("1 to 1,234").
110
+ */
111
+ export function HeatmapLegend({ min, max, lessLabel = DEFAULT_HEATMAP_LABELS.less, moreLabel = DEFAULT_HEATMAP_LABELS.more, }) {
112
+ const labels = kitLabels(useLocale());
113
+ const range = min !== undefined && max !== undefined;
114
+ const single = range && min === max;
115
+ const start = range ? (single ? null : min) : lessLabel;
116
+ const end = range ? max : moreLabel;
117
+ return (_jsxs("div", { className: "text-small flex items-center gap-2", children: [range && _jsx("span", { className: "sr-only", children: single ? max : labels.heatmapRange({ min, max }) }), start !== null && (_jsx("span", { "aria-hidden": range || undefined, className: "text-muted-foreground tabular-nums", children: start })), _jsx("span", { "aria-hidden": "true", "data-theme-mode": "light", className: "bg-background border-border inline-flex h-3 w-32 overflow-hidden rounded-sm border", children: _jsx("span", { className: "size-full", style: { background: HEAT_GRADIENT_CSS, opacity: HEAT_PEAK_ALPHA } }) }), _jsx("span", { "aria-hidden": range || undefined, className: "text-muted-foreground tabular-nums", children: end })] }));
118
+ }
119
+ //# sourceMappingURL=bpmn-heatmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bpmn-heatmap.js","sourceRoot":"","sources":["../../src/ui/bpmn-heatmap.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { type CdTokenName } from "@miragon/mcp-toolkit-ui";
2
+ /**
3
+ * THE token module of the BPMN canvas (modeler-tool-design §3.6, §10, §13):
4
+ * every colour the diagram's overlays, badges and heat layer paint is a
5
+ * `--cd-*` corporate-design token, named here once. Two consumers read it:
6
+ *
7
+ * - CSS ({@link BPMN_OVERLAY_CSS}) refers to the tokens as `var(--cd-*)`,
8
+ * which the toolkit's theme vendors on `:root`;
9
+ * - code that needs numbers (the heat canvas, contrast checks) resolves the
10
+ * same names through the toolkit's `CD_TOKENS`.
11
+ *
12
+ * `bpmn-tokens.test.ts` is the drift test (every name's `CD_TOKENS` value
13
+ * equals the vendored stylesheet's `--cd-*`) and the contrast test (strokes
14
+ * ≥ 3:1 against the paper and their own fill, badge text ≥ 4.5:1).
15
+ *
16
+ * The semantics (owner decision, #322): an incident is `danger` (stroke,
17
+ * tint, count badge — red only for incidents); running and active activities
18
+ * are blue (`--cd-blau` stroke on the `--cd-info-soft` tint), an open user
19
+ * task the same with a heavier dashed stroke (shape, not colour, tells it
20
+ * apart — and it stands still: no pulse, so `prefers-reduced-motion` has
21
+ * nothing to stop); counts are white on blue or danger.
22
+ */
23
+ export declare const BPMN_TOKENS: {
24
+ /** The paper: always light, in every theme. */
25
+ readonly paper: "weiss";
26
+ readonly incident: {
27
+ readonly stroke: "danger";
28
+ readonly fill: "danger-soft";
29
+ };
30
+ readonly running: {
31
+ readonly stroke: "blau";
32
+ readonly fill: "info-soft";
33
+ };
34
+ readonly openTask: {
35
+ readonly stroke: "blau";
36
+ readonly fill: "info-soft";
37
+ };
38
+ readonly instanceBadge: {
39
+ readonly fill: "blau";
40
+ readonly text: "weiss";
41
+ };
42
+ readonly incidentBadge: {
43
+ readonly fill: "danger";
44
+ readonly text: "weiss";
45
+ };
46
+ /** The data-viz ramp of the heatmap: one hue, pale to full blue. */
47
+ readonly heat: {
48
+ readonly from: "info-soft";
49
+ readonly to: "blau";
50
+ };
51
+ };
52
+ /** A token as a CSS value (`var(--cd-danger)`). */
53
+ export declare function cdVar(name: CdTokenName): string;
54
+ /** A token's value (`#CD1839`) — for code that paints numbers, never for CSS. */
55
+ export declare function cdValue(name: CdTokenName): string;
56
+ /**
57
+ * The overlay stylesheet: marker classes on bpmn-js shapes
58
+ * (`canvas.addMarker(id, "highlight-incident")`) and the count badges added
59
+ * as overlays (`<div class="bpmn-overlay-badge bpmn-overlay-badge--…">`).
60
+ * Inject it once per document with {@link injectBpmnOverlayCss}.
61
+ */
62
+ export declare const BPMN_OVERLAY_CSS: string;
63
+ /** Add {@link BPMN_OVERLAY_CSS} to the document once (idempotent). */
64
+ export declare function injectBpmnOverlayCss(doc?: Document): void;
65
+ /** The legend swatch of a marker: its tint with a stroke-coloured edge, as an inline style. */
66
+ export declare function markerSwatch(marker: {
67
+ stroke: CdTokenName;
68
+ fill: CdTokenName;
69
+ }): {
70
+ borderColor: string;
71
+ background: string;
72
+ };
73
+ /** The legend swatch of a count badge, as an inline style. */
74
+ export declare function badgeSwatch(badge: {
75
+ fill: CdTokenName;
76
+ text: CdTokenName;
77
+ }): {
78
+ background: string;
79
+ color: string;
80
+ };
81
+ //# sourceMappingURL=bpmn-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bpmn-tokens.d.ts","sourceRoot":"","sources":["../../src/ui/bpmn-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW;IACtB,+CAA+C;;;;;;;;;;;;;;;;;;;;;;IAO/C,oEAAoE;;;;;CAUrE,CAAA;AAED,mDAAmD;AACnD,wBAAgB,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAE/C;AAED,iFAAiF;AACjF,wBAAgB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAEjD;AAYD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAuC5B,CAAA;AAID,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,QAAmB,GAAG,IAAI,CAMnE;AAED,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAChF,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAEA;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAC5E,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAEA"}