@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,135 @@
1
+ import { type RefObject } from "react";
2
+ import { type BpmnElement } from "./bpmn-heatmap/heat-utils.js";
3
+ /**
4
+ * Structural typings for the bpmn-js services the widgets touch. bpmn-js ships
5
+ * no usable types on `Viewer#get`, so the slice the widgets rely on is declared
6
+ * once, here — a superset shared by the plain diagram (markers/overlays) and
7
+ * the heatmap (viewbox/element registry/event bus).
8
+ */
9
+ export interface BpmnCanvas {
10
+ /** Fit the diagram into the viewport; `"auto"` centres it. Never zooms in past 1:1. */
11
+ zoom(mode: "fit-viewport", center?: "auto"): void;
12
+ zoom(level: number): void;
13
+ zoom(): number;
14
+ addMarker(elementId: string, marker: string): void;
15
+ viewbox(): {
16
+ x: number;
17
+ y: number;
18
+ width: number;
19
+ height: number;
20
+ scale: number;
21
+ /** The diagram's own bounds, in diagram units. */
22
+ inner?: {
23
+ x: number;
24
+ y: number;
25
+ width: number;
26
+ height: number;
27
+ };
28
+ };
29
+ getContainer(): HTMLElement;
30
+ /**
31
+ * Drop the cached viewbox. diagram-js caches it, the container's size
32
+ * (`outer`) included, and only recomputes it after this call — a fit after
33
+ * the frame changed size would otherwise scale against the old size.
34
+ */
35
+ resized(): void;
36
+ }
37
+ export interface BpmnOverlays {
38
+ add: (elementId: string, overlay: {
39
+ position: object;
40
+ html: string;
41
+ }) => void;
42
+ }
43
+ export interface BpmnElementRegistry {
44
+ getAll: () => BpmnElement[];
45
+ }
46
+ export interface BpmnEventBus {
47
+ on: (event: string, fn: () => void) => void;
48
+ off: (event: string, fn: () => void) => void;
49
+ }
50
+ export interface BpmnViewerWithGet {
51
+ get: ((service: "canvas") => BpmnCanvas) & ((service: "overlays") => BpmnOverlays) & ((service: "elementRegistry") => BpmnElementRegistry) & ((service: "eventBus") => BpmnEventBus);
52
+ }
53
+ /** The diagram frame's height range (U20): never a sliver, never taller than a screenful. */
54
+ export declare const DIAGRAM_MIN_HEIGHT = 240;
55
+ export declare const DIAGRAM_MAX_HEIGHT = 560;
56
+ /** Before the diagram's size and the container's width are known. */
57
+ export declare const DIAGRAM_DEFAULT_HEIGHT = 360;
58
+ /** A diagram's extent in diagram units (bpmn-js draws one unit as one pixel at 1:1). */
59
+ export interface DiagramBounds {
60
+ width: number;
61
+ height: number;
62
+ }
63
+ /**
64
+ * The frame height that shows a diagram whole at the container's width, at
65
+ * the scale bpmn-js actually draws it: `fit-viewport` shrinks a diagram wider
66
+ * than the container to its width but never zooms one in past 1:1, so a
67
+ * small diagram keeps its natural size and gets a frame just as tall. Plus
68
+ * room for the fit's margin and the zoom bar, clamped to
69
+ * {@link DIAGRAM_MIN_HEIGHT}–{@link DIAGRAM_MAX_HEIGHT}: a wide, flat process
70
+ * gets a low frame instead of a fixed 400 px with half of it empty; a tall
71
+ * one stops at a screenful and stays pannable.
72
+ */
73
+ export declare function diagramHeight(bounds: DiagramBounds | null, width: number): number;
74
+ /**
75
+ * The extent of the diagram bpmn-js shows (the document's first
76
+ * `BPMNDiagram`: shapes, labels and edge waypoints), read from the XML's
77
+ * diagram interchange BEFORE the import — so the frame has its height on the
78
+ * first paint and does not jump once the diagram is drawn, or when a view
79
+ * swaps one diagram widget for another over the same XML. Null for a
80
+ * document without readable DI; the hook then measures the drawn diagram.
81
+ */
82
+ export declare function diagramBoundsFromXml(xml: string): DiagramBounds | null;
83
+ export interface UseBpmnViewerOptions {
84
+ bpmnXml: string;
85
+ /**
86
+ * Runs after a successful `importXML` (the canvas is already fitted). This is
87
+ * where a caller applies its decoration — markers/overlays, a heat canvas,
88
+ * event-bus subscriptions. May return a cleanup function, which runs before
89
+ * the viewer is destroyed. The latest callback is read at import time, so a
90
+ * new function identity alone never re-imports the diagram.
91
+ */
92
+ onImported?: (viewer: BpmnViewerWithGet) => void | (() => void);
93
+ /**
94
+ * Extra value folded into the mount effect's dependencies: when its identity
95
+ * changes the viewer is torn down and the XML re-imported (bpmn-js decoration
96
+ * is add-only, so "redecorate" means "remount"). Leave unset for viewers that
97
+ * only re-import when the XML itself changes.
98
+ */
99
+ reimportKey?: unknown;
100
+ /**
101
+ * Refit the diagram (rAF-debounced) whenever the container resizes. Off by
102
+ * default — the heatmap deliberately preserves the operator's pan/zoom and
103
+ * only repaints its overlay on resize.
104
+ */
105
+ fitOnResize?: boolean;
106
+ }
107
+ export interface UseBpmnViewerResult {
108
+ /**
109
+ * Attach to the div the viewer should render into. The hook paints that div
110
+ * as the fixed light BPMN canvas, in every theme.
111
+ */
112
+ containerRef: RefObject<HTMLDivElement | null>;
113
+ /**
114
+ * The frame height for this diagram at the container's current width
115
+ * ({@link diagramHeight}): set it as the container's (or its wrapper's)
116
+ * height unless the widget has a fixed one. Known on the first paint when
117
+ * the XML carries its diagram interchange; the hook refits when it changes.
118
+ */
119
+ height: number;
120
+ /** Import failure message, or `null` while the diagram renders fine. */
121
+ importError: string | null;
122
+ zoomIn: () => void;
123
+ zoomOut: () => void;
124
+ /** Fit to the viewport, centred, with the shared 0.95 breathing-room factor. */
125
+ fit: () => void;
126
+ }
127
+ /**
128
+ * Owns the bpmn-js NavigatedViewer lifecycle shared by every BPMN widget:
129
+ * the light canvas on `containerRef`, its height, mount, `importXML`, initial
130
+ * fit-to-viewport (centred, ×0.95), import-error state, zoom handlers, and
131
+ * teardown (`viewer.destroy()`).
132
+ * Callers layer their distinctive behavior on top via {@link UseBpmnViewerOptions.onImported}.
133
+ */
134
+ export declare function useBpmnViewer({ bpmnXml, onImported, reimportKey, fitOnResize, }: UseBpmnViewerOptions): UseBpmnViewerResult;
135
+ //# sourceMappingURL=use-bpmn-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-bpmn-viewer.d.ts","sourceRoot":"","sources":["../../src/ui/use-bpmn-viewer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,257 @@
1
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState, } from "react";
2
+ import NavigatedViewer from "bpmn-js/lib/NavigatedViewer";
3
+ import { BPMN_TOKENS, cdVar } from "./bpmn-tokens.js";
4
+ import { useInlineBudget } from "./inline-budget.js";
5
+ /**
6
+ * Paint the canvas every BPMN widget renders on: a fixed LIGHT surface in both
7
+ * themes (modeler-tool-design §10: the paper stays light), like Camunda
8
+ * Cockpit. bpmn-js paints near-black strokes and labels and white fills
9
+ * straight into the SVG; on the dark card those sequence flows and external
10
+ * labels were unreadable, and a light canvas also keeps the overlay tints
11
+ * (`BPMN_TOKENS`) and the heatmap's multiply blend exactly as designed. The
12
+ * container becomes a forced-light island (`data-theme-mode="light"`), so
13
+ * anything themed inside it renders light too, and takes the paper token
14
+ * inline, so it beats any themed background class a widget puts on it — the
15
+ * hook owns the canvas, no call site opts in.
16
+ */
17
+ function paintLightCanvas(container) {
18
+ container.setAttribute("data-theme-mode", "light");
19
+ container.style.setProperty("background-color", cdVar(BPMN_TOKENS.paper));
20
+ container.style.setProperty("color-scheme", "light");
21
+ }
22
+ /** The diagram frame's height range (U20): never a sliver, never taller than a screenful. */
23
+ export const DIAGRAM_MIN_HEIGHT = 240;
24
+ export const DIAGRAM_MAX_HEIGHT = 560;
25
+ /** Before the diagram's size and the container's width are known. */
26
+ export const DIAGRAM_DEFAULT_HEIGHT = 360;
27
+ /** Room above and below the fitted diagram: the fit's 0.95 margin plus the zoom bar's reach. */
28
+ const DIAGRAM_HEIGHT_PADDING = 48;
29
+ /**
30
+ * The frame height that shows a diagram whole at the container's width, at
31
+ * the scale bpmn-js actually draws it: `fit-viewport` shrinks a diagram wider
32
+ * than the container to its width but never zooms one in past 1:1, so a
33
+ * small diagram keeps its natural size and gets a frame just as tall. Plus
34
+ * room for the fit's margin and the zoom bar, clamped to
35
+ * {@link DIAGRAM_MIN_HEIGHT}–{@link DIAGRAM_MAX_HEIGHT}: a wide, flat process
36
+ * gets a low frame instead of a fixed 400 px with half of it empty; a tall
37
+ * one stops at a screenful and stays pannable.
38
+ */
39
+ export function diagramHeight(bounds, width) {
40
+ if (!bounds || !(bounds.width > 0) || !(bounds.height > 0) || !(width > 0)) {
41
+ return DIAGRAM_DEFAULT_HEIGHT;
42
+ }
43
+ const scale = Math.min(1, width / bounds.width);
44
+ const fitted = Math.ceil(bounds.height * scale) + DIAGRAM_HEIGHT_PADDING;
45
+ return Math.min(DIAGRAM_MAX_HEIGHT, Math.max(DIAGRAM_MIN_HEIGHT, fitted));
46
+ }
47
+ const BPMN_DI = "http://www.omg.org/spec/BPMN/20100524/DI";
48
+ const DD_DC = "http://www.omg.org/spec/DD/20100524/DC";
49
+ const DD_DI = "http://www.omg.org/spec/DD/20100524/DI";
50
+ /** A numeric attribute, NaN when it is missing or no number. */
51
+ function numberAttr(el, name) {
52
+ const value = el.getAttribute(name);
53
+ return value === null ? Number.NaN : Number(value);
54
+ }
55
+ /**
56
+ * The extent of the diagram bpmn-js shows (the document's first
57
+ * `BPMNDiagram`: shapes, labels and edge waypoints), read from the XML's
58
+ * diagram interchange BEFORE the import — so the frame has its height on the
59
+ * first paint and does not jump once the diagram is drawn, or when a view
60
+ * swaps one diagram widget for another over the same XML. Null for a
61
+ * document without readable DI; the hook then measures the drawn diagram.
62
+ */
63
+ export function diagramBoundsFromXml(xml) {
64
+ if (!xml || typeof DOMParser === "undefined")
65
+ return null;
66
+ const doc = new DOMParser().parseFromString(xml, "application/xml");
67
+ if (doc.getElementsByTagName("parsererror").length > 0)
68
+ return null;
69
+ // Matched by namespace and local name (any prefix: `dc:`, `omgdc:` …),
70
+ // walking the elements: `getElementsByTagNameNS` is not reliable in every
71
+ // DOM the kit's tests run in.
72
+ const is = (el, ns, name) => el.namespaceURI === ns && el.localName === name;
73
+ const diagram = Array.from(doc.getElementsByTagName("*")).find((el) => is(el, BPMN_DI, "BPMNDiagram"));
74
+ if (!diagram)
75
+ return null;
76
+ const box = { minX: Infinity, minY: Infinity, maxX: -Infinity, maxY: -Infinity };
77
+ const extend = (x, y, width, height) => {
78
+ if (![x, y, width, height].every(Number.isFinite))
79
+ return;
80
+ box.minX = Math.min(box.minX, x);
81
+ box.minY = Math.min(box.minY, y);
82
+ box.maxX = Math.max(box.maxX, x + width);
83
+ box.maxY = Math.max(box.maxY, y + height);
84
+ };
85
+ for (const el of Array.from(diagram.getElementsByTagName("*"))) {
86
+ if (is(el, DD_DC, "Bounds")) {
87
+ extend(numberAttr(el, "x"), numberAttr(el, "y"), numberAttr(el, "width"), numberAttr(el, "height"));
88
+ }
89
+ else if (is(el, DD_DI, "waypoint")) {
90
+ extend(numberAttr(el, "x"), numberAttr(el, "y"), 0, 0);
91
+ }
92
+ }
93
+ const width = box.maxX - box.minX;
94
+ const height = box.maxY - box.minY;
95
+ return width > 0 && height > 0 ? { width, height } : null;
96
+ }
97
+ /** The drawn diagram's extent from the viewer, or null when it has none to report. */
98
+ function drawnBounds(canvas) {
99
+ try {
100
+ const inner = canvas.viewbox().inner;
101
+ return inner && inner.width > 0 && inner.height > 0
102
+ ? { width: inner.width, height: inner.height }
103
+ : null;
104
+ }
105
+ catch {
106
+ return null;
107
+ }
108
+ }
109
+ const FALLBACK_IMPORT_ERROR = "Failed to render the BPMN diagram.";
110
+ /** Zoom clamp — matches bpmn-js's own navigation limits, keeps ± buttons sane. */
111
+ const ZOOM_MIN = 0.2;
112
+ const ZOOM_MAX = 4;
113
+ /**
114
+ * Owns the bpmn-js NavigatedViewer lifecycle shared by every BPMN widget:
115
+ * the light canvas on `containerRef`, its height, mount, `importXML`, initial
116
+ * fit-to-viewport (centred, ×0.95), import-error state, zoom handlers, and
117
+ * teardown (`viewer.destroy()`).
118
+ * Callers layer their distinctive behavior on top via {@link UseBpmnViewerOptions.onImported}.
119
+ */
120
+ export function useBpmnViewer({ bpmnXml, onImported, reimportKey, fitOnResize = false, }) {
121
+ const containerRef = useRef(null);
122
+ const viewerRef = useRef(null);
123
+ const [importError, setImportError] = useState(null);
124
+ // The drawn diagram's extent, for an XML whose DI the kit could not read;
125
+ // tagged with its XML so a new diagram never inherits the last one's.
126
+ const [drawn, setDrawn] = useState(null);
127
+ const [width, setWidth] = useState(0);
128
+ // Latest callback, read at import time so identity changes don't remount.
129
+ // Synced in an effect (not during render) so a discarded render can't leak
130
+ // into the ref; declared before the mount effect below, so the ref is already
131
+ // current by the time an import can read it.
132
+ const onImportedRef = useRef(onImported);
133
+ useEffect(() => {
134
+ onImportedRef.current = onImported;
135
+ });
136
+ // Before paint, so the canvas never shows the themed card for a frame; on
137
+ // every commit, since the ref may now point at a different element.
138
+ useLayoutEffect(() => {
139
+ if (containerRef.current)
140
+ paintLightCanvas(containerRef.current);
141
+ });
142
+ const getCanvas = useCallback(() => {
143
+ if (!viewerRef.current)
144
+ return null;
145
+ return viewerRef.current.get("canvas");
146
+ }, []);
147
+ const fit = useCallback(() => {
148
+ const canvas = getCanvas();
149
+ if (!canvas)
150
+ return;
151
+ canvas.resized();
152
+ // Centred: a diagram smaller than the frame sits in its middle instead of
153
+ // at its own top-left offset, with the empty room on one side.
154
+ canvas.zoom("fit-viewport", "auto");
155
+ canvas.zoom(canvas.zoom() * 0.95);
156
+ }, [getCanvas]);
157
+ const zoomIn = useCallback(() => {
158
+ const canvas = getCanvas();
159
+ if (canvas)
160
+ canvas.zoom(Math.min(ZOOM_MAX, canvas.zoom() * 1.1));
161
+ }, [getCanvas]);
162
+ const zoomOut = useCallback(() => {
163
+ const canvas = getCanvas();
164
+ if (canvas)
165
+ canvas.zoom(Math.max(ZOOM_MIN, canvas.zoom() * 0.9));
166
+ }, [getCanvas]);
167
+ // The container's width drives the frame height: read before the first
168
+ // paint (a layout effect), so the frame never shows the default first, then
169
+ // followed on every resize.
170
+ useLayoutEffect(() => {
171
+ const container = containerRef.current;
172
+ if (!container)
173
+ return;
174
+ setWidth(container.clientWidth);
175
+ if (typeof ResizeObserver === "undefined")
176
+ return;
177
+ const observer = new ResizeObserver(() => setWidth(container.clientWidth));
178
+ observer.observe(container);
179
+ return () => observer.disconnect();
180
+ }, [bpmnXml]);
181
+ const xmlBounds = useMemo(() => diagramBoundsFromXml(bpmnXml), [bpmnXml]);
182
+ const bounds = xmlBounds ?? (drawn?.xml === bpmnXml ? drawn.bounds : null);
183
+ // Inline in a chat the frame stays low enough to leave room for the rest of
184
+ // the card (#396); fullscreen draws it at its own height.
185
+ const { diagramMaxHeight } = useInlineBudget();
186
+ const height = Math.min(diagramHeight(bounds, width), diagramMaxHeight ?? Infinity);
187
+ // The frame took a new height: fit the diagram into it. A height change
188
+ // from a new width refits only a viewer that refits on resize anyway — the
189
+ // heatmap keeps the operator's pan and zoom; a new diagram size refits both.
190
+ const refitOn = fitOnResize ? height : bounds;
191
+ useLayoutEffect(() => {
192
+ fit();
193
+ }, [refitOn, fit]);
194
+ useEffect(() => {
195
+ const container = containerRef.current;
196
+ if (!container || !bpmnXml)
197
+ return;
198
+ const viewer = new NavigatedViewer({ container });
199
+ viewerRef.current = viewer;
200
+ let cancelled = false;
201
+ let importCleanup = null;
202
+ setImportError(null);
203
+ void (async () => {
204
+ try {
205
+ await viewer.importXML(bpmnXml);
206
+ }
207
+ catch (err) {
208
+ if (cancelled)
209
+ return;
210
+ setImportError(err instanceof Error ? err.message : FALLBACK_IMPORT_ERROR);
211
+ return;
212
+ }
213
+ if (cancelled)
214
+ return;
215
+ fit();
216
+ const canvas = getCanvas();
217
+ if (canvas)
218
+ setDrawn({ xml: bpmnXml, bounds: drawnBounds(canvas) });
219
+ // Decoration failures (e.g. no 2D canvas context for the heat LUT) must
220
+ // surface like import failures — outside this try they'd be a silent
221
+ // unhandled rejection and the widget would render an undecorated diagram.
222
+ try {
223
+ const cleanup = onImportedRef.current?.(viewer);
224
+ importCleanup = typeof cleanup === "function" ? cleanup : null;
225
+ }
226
+ catch (err) {
227
+ setImportError(err instanceof Error ? err.message : FALLBACK_IMPORT_ERROR);
228
+ }
229
+ })();
230
+ let rafId = null;
231
+ let observer = null;
232
+ if (fitOnResize) {
233
+ observer = new ResizeObserver(() => {
234
+ if (rafId !== null)
235
+ cancelAnimationFrame(rafId);
236
+ rafId = requestAnimationFrame(() => {
237
+ rafId = null;
238
+ fit();
239
+ });
240
+ });
241
+ observer.observe(container);
242
+ }
243
+ return () => {
244
+ cancelled = true;
245
+ if (rafId !== null)
246
+ cancelAnimationFrame(rafId);
247
+ observer?.disconnect();
248
+ importCleanup?.();
249
+ viewerRef.current = null;
250
+ viewer.destroy();
251
+ };
252
+ // `reimportKey` is a deliberate extra dependency: it lets callers force a
253
+ // teardown + re-import when their decoration inputs change.
254
+ }, [bpmnXml, reimportKey, fitOnResize, fit, getCanvas]);
255
+ return { containerRef, height, importError, zoomIn, zoomOut, fit };
256
+ }
257
+ //# sourceMappingURL=use-bpmn-viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-bpmn-viewer.js","sourceRoot":"","sources":["../../src/ui/use-bpmn-viewer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=use-bpmn-viewer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-bpmn-viewer.test.d.ts","sourceRoot":"","sources":["../../src/ui/use-bpmn-viewer.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,239 @@
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 { act, cleanup, render, screen, waitFor } from "@testing-library/react";
5
+ import { DIAGRAM_MAX_HEIGHT, DIAGRAM_MIN_HEIGHT, diagramBoundsFromXml, diagramHeight, useBpmnViewer, } from "./use-bpmn-viewer.js";
6
+ // bpmn-js needs a real SVG engine, which happy-dom does not provide — a
7
+ // recording stub stands in. (The full lifecycle suite runs in the camunda7
8
+ // connector, through the widgets' entry point; this one pins what the hook
9
+ // itself owns for EVERY consumer: the canvas and its frame.)
10
+ const mock = vi.hoisted(() => {
11
+ /**
12
+ * diagram-js's Canvas as far as fitting goes: the viewbox — the container's
13
+ * size (`outer`) included — is cached on first read and only dropped by
14
+ * `resized()`; `fit-viewport` scales against that cached size, never past
15
+ * 1:1, and with a centre ("auto") centres the diagram (Canvas.js 15.27).
16
+ */
17
+ class FakeCanvas {
18
+ container;
19
+ static inner = { x: 150, y: 80, width: 400, height: 700 };
20
+ cached = null;
21
+ level = 1;
22
+ fits = [];
23
+ constructor(container) {
24
+ this.container = container;
25
+ }
26
+ size() {
27
+ return {
28
+ width: this.container.clientWidth,
29
+ height: Number.parseFloat(this.container.style.height) || 0,
30
+ };
31
+ }
32
+ viewbox() {
33
+ this.cached ??= { outer: this.size() };
34
+ return {
35
+ x: 0,
36
+ y: 0,
37
+ width: this.cached.outer.width,
38
+ height: this.cached.outer.height,
39
+ scale: this.level,
40
+ inner: FakeCanvas.inner,
41
+ outer: this.cached.outer,
42
+ };
43
+ }
44
+ resized() {
45
+ this.cached = null;
46
+ }
47
+ zoom(arg, center) {
48
+ if (arg === undefined)
49
+ return this.level;
50
+ if (arg === "fit-viewport") {
51
+ const { outer, inner } = this.viewbox();
52
+ this.level = Math.min(1, outer.width / inner.width, outer.height / inner.height);
53
+ this.fits.push({ outerHeight: outer.height, scale: this.level, center });
54
+ // Setting the viewbox re-reads the size and refills the cache.
55
+ this.cached = { outer: this.size() };
56
+ return this.level;
57
+ }
58
+ this.level = arg;
59
+ return this.level;
60
+ }
61
+ }
62
+ class MockViewer {
63
+ static containers = [];
64
+ static canvases = [];
65
+ canvas;
66
+ constructor(opts) {
67
+ MockViewer.containers.push(opts.container);
68
+ this.canvas = new FakeCanvas(opts.container);
69
+ MockViewer.canvases.push(this.canvas);
70
+ }
71
+ importXML() {
72
+ return Promise.resolve({ warnings: [] });
73
+ }
74
+ get() {
75
+ return this.canvas;
76
+ }
77
+ destroy() { }
78
+ }
79
+ return { MockViewer, FakeCanvas };
80
+ });
81
+ vi.mock("bpmn-js/lib/NavigatedViewer", () => ({ default: mock.MockViewer }));
82
+ const XML = "<bpmn:definitions/>";
83
+ /** The test-host's invoice diagram, reduced to its DI: x 129–590, y 102–319. */
84
+ const INVOICE_DI = `<?xml version="1.0" encoding="UTF-8"?>
85
+ <bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="d">
86
+ <bpmn:process id="invoice" />
87
+ <bpmndi:BPMNDiagram id="main">
88
+ <bpmndi:BPMNPlane id="p" bpmnElement="invoice">
89
+ <bpmndi:BPMNShape id="s1" bpmnElement="start">
90
+ <dc:Bounds x="152" y="182" width="36" height="36" />
91
+ <bpmndi:BPMNLabel><dc:Bounds x="129" y="225" width="83" height="14" /></bpmndi:BPMNLabel>
92
+ </bpmndi:BPMNShape>
93
+ <bpmndi:BPMNShape id="s2" bpmnElement="paid">
94
+ <dc:Bounds x="532" y="102" width="36" height="36" />
95
+ </bpmndi:BPMNShape>
96
+ <bpmndi:BPMNShape id="s3" bpmnElement="rejected">
97
+ <bpmndi:BPMNLabel><dc:Bounds x="510" y="305" width="80" height="14" /></bpmndi:BPMNLabel>
98
+ </bpmndi:BPMNShape>
99
+ <bpmndi:BPMNEdge id="e1" bpmnElement="flow">
100
+ <di:waypoint x="440" y="225" />
101
+ <di:waypoint x="532" y="280" />
102
+ </bpmndi:BPMNEdge>
103
+ </bpmndi:BPMNPlane>
104
+ </bpmndi:BPMNDiagram>
105
+ <bpmndi:BPMNDiagram id="drilldown">
106
+ <bpmndi:BPMNPlane id="p2" bpmnElement="sub">
107
+ <bpmndi:BPMNShape id="far" bpmnElement="x"><dc:Bounds x="5000" y="5000" width="10" height="10" /></bpmndi:BPMNShape>
108
+ </bpmndi:BPMNPlane>
109
+ </bpmndi:BPMNDiagram>
110
+ </bpmn:definitions>`;
111
+ /**
112
+ * A widget that only attaches the ref — no canvas class, and a themed card
113
+ * background on the container, the way a new BPMN widget would start out.
114
+ */
115
+ function Diagram({ xml, element = "a", loading = false, }) {
116
+ const { containerRef } = useBpmnViewer({ bpmnXml: xml });
117
+ if (loading)
118
+ return _jsx("p", { children: "Loading\u2026" });
119
+ return _jsx("div", { ref: containerRef, className: "bg-card", "data-testid": "canvas" }, element);
120
+ }
121
+ /** A widget that sizes its frame from the hook, like BpmnDiagram and BpmnHeatmap. */
122
+ function Framed({ xml, fitOnResize = false }) {
123
+ const { containerRef, height } = useBpmnViewer({ bpmnXml: xml, fitOnResize });
124
+ return _jsx("div", { ref: containerRef, "data-testid": "canvas", style: { height: `${height}px` } });
125
+ }
126
+ const canvas = () => screen.getByTestId("canvas");
127
+ function expectLightCanvas(el) {
128
+ expect(el.style.getPropertyValue("background-color")).toBe("var(--cd-weiss)");
129
+ expect(el.getAttribute("data-theme-mode")).toBe("light");
130
+ expect(el.style.getPropertyValue("color-scheme")).toBe("light");
131
+ }
132
+ afterEach(() => {
133
+ cleanup();
134
+ mock.MockViewer.containers.length = 0;
135
+ mock.MockViewer.canvases.length = 0;
136
+ document.documentElement.classList.remove("dark");
137
+ });
138
+ describe("useBpmnViewer canvas (#339, N122)", () => {
139
+ it("paints the container as the fixed light canvas in a dark document — no call site opts in", async () => {
140
+ document.documentElement.classList.add("dark");
141
+ render(_jsx(Diagram, { xml: XML }));
142
+ await waitFor(() => expect(mock.MockViewer.containers).toEqual([canvas()]));
143
+ expectLightCanvas(canvas());
144
+ });
145
+ it("paints before any viewer exists, and again when the ref moves to a new element", () => {
146
+ const { rerender } = render(_jsx(Diagram, { xml: "" }));
147
+ // No XML yet, so no viewer — the canvas is light from the first paint.
148
+ expect(mock.MockViewer.containers).toEqual([]);
149
+ const first = canvas();
150
+ expectLightCanvas(first);
151
+ rerender(_jsx(Diagram, { xml: "", element: "b" }));
152
+ expect(canvas()).not.toBe(first);
153
+ expectLightCanvas(canvas());
154
+ });
155
+ it("waits for a container a loading widget has not rendered yet", () => {
156
+ const { rerender } = render(_jsx(Diagram, { xml: XML, loading: true }));
157
+ expect(screen.queryByTestId("canvas")).toBeNull();
158
+ rerender(_jsx(Diagram, { xml: XML }));
159
+ expectLightCanvas(canvas());
160
+ });
161
+ });
162
+ describe("diagramHeight (U20: the frame follows the diagram, 240–560 px)", () => {
163
+ it("fits a diagram wider than the container at the container width, plus room for the zoom bar", () => {
164
+ // Scaled to the container: 760 / 1600 of 600 is 285, plus 48.
165
+ expect(diagramHeight({ width: 1600, height: 600 }, 760)).toBe(333);
166
+ expect(diagramHeight({ width: 1520, height: 760 }, 760)).toBe(380 + 48);
167
+ });
168
+ it("never zooms a diagram narrower than the container past 1:1 (bpmn-js does not)", () => {
169
+ // The invoice diagram at a 710 px container: drawn at 461 × 217, so the
170
+ // frame is 217 + 48 — not 710 × 0.47 / 0.95 + 48 = 400 with half of it empty.
171
+ expect(diagramHeight({ width: 461, height: 217 }, 710)).toBe(265);
172
+ // Fullscreen makes no difference to a diagram that already fits.
173
+ expect(diagramHeight({ width: 461, height: 217 }, 1400)).toBe(265);
174
+ });
175
+ it("never a sliver, never more than a screenful", () => {
176
+ expect(diagramHeight({ width: 2000, height: 100 }, 760)).toBe(DIAGRAM_MIN_HEIGHT);
177
+ expect(diagramHeight({ width: 400, height: 1200 }, 760)).toBe(DIAGRAM_MAX_HEIGHT);
178
+ expect([DIAGRAM_MIN_HEIGHT, DIAGRAM_MAX_HEIGHT]).toEqual([240, 560]);
179
+ });
180
+ it("keeps the default until both the size and the width are known", () => {
181
+ expect(diagramHeight(null, 760)).toBe(360);
182
+ expect(diagramHeight({ width: 0, height: 100 }, 760)).toBe(360);
183
+ expect(diagramHeight({ width: 100, height: Number.NaN }, 760)).toBe(360);
184
+ expect(diagramHeight({ width: 461, height: 217 }, 0)).toBe(360);
185
+ });
186
+ });
187
+ describe("diagramBoundsFromXml (the frame is sized before the import)", () => {
188
+ it("reads the first diagram's shapes, labels and waypoints, whatever their prefix", () => {
189
+ expect(diagramBoundsFromXml(INVOICE_DI)).toEqual({ width: 461, height: 217 });
190
+ // Older modelers write the DC namespace as `omgdc:`; the namespace counts.
191
+ const omg = INVOICE_DI.replaceAll("dc:Bounds", "omgdc:Bounds").replace('xmlns:dc="', 'xmlns:omgdc="');
192
+ expect(diagramBoundsFromXml(omg)).toEqual({ width: 461, height: 217 });
193
+ });
194
+ it("is null without readable DI", () => {
195
+ expect(diagramBoundsFromXml("")).toBeNull();
196
+ expect(diagramBoundsFromXml("<not xml")).toBeNull();
197
+ expect(diagramBoundsFromXml(XML)).toBeNull();
198
+ });
199
+ });
200
+ describe("useBpmnViewer frame and fit", () => {
201
+ let clientWidth;
202
+ beforeEach(() => {
203
+ clientWidth = Object.getOwnPropertyDescriptor(HTMLElement.prototype, "clientWidth");
204
+ Object.defineProperty(HTMLElement.prototype, "clientWidth", {
205
+ configurable: true,
206
+ get: () => 710,
207
+ });
208
+ });
209
+ afterEach(() => {
210
+ if (clientWidth)
211
+ Object.defineProperty(HTMLElement.prototype, "clientWidth", clientWidth);
212
+ else
213
+ Reflect.deleteProperty(HTMLElement.prototype, "clientWidth");
214
+ });
215
+ it("has the diagram's height on the first paint when the XML carries its DI", () => {
216
+ render(_jsx(Framed, { xml: INVOICE_DI }));
217
+ // No await: sized in the first commit, before bpmn-js imported anything.
218
+ expect(canvas().style.height).toBe("265px");
219
+ });
220
+ it("fits centred, after dropping diagram-js's cached viewbox", async () => {
221
+ render(_jsx(Framed, { xml: INVOICE_DI }));
222
+ await waitFor(() => expect(mock.MockViewer.canvases[0]?.fits.length).toBeGreaterThan(0));
223
+ expect(mock.MockViewer.canvases[0].fits[0]).toMatchObject({ center: "auto", outerHeight: 265 });
224
+ });
225
+ it("refits a heatmap-style viewer against the NEW frame once the drawn diagram sized it", async () => {
226
+ // No DI in the XML: the frame starts at the default, the import fits at
227
+ // 360 px (and diagram-js caches that size), then the drawn 400 × 700
228
+ // diagram makes the frame 560 px. The refit must see 560, not the cache.
229
+ mock.FakeCanvas.inner = { x: 150, y: 80, width: 400, height: 700 };
230
+ render(_jsx(Framed, { xml: XML }));
231
+ expect(canvas().style.height).toBe("360px");
232
+ await waitFor(() => expect(canvas().style.height).toBe("560px"));
233
+ await act(async () => { });
234
+ const fits = mock.MockViewer.canvases[0].fits;
235
+ expect(fits[0]).toMatchObject({ outerHeight: 360, scale: 360 / 700 });
236
+ expect(fits.at(-1)).toMatchObject({ outerHeight: 560, scale: 0.8 });
237
+ });
238
+ });
239
+ //# sourceMappingURL=use-bpmn-viewer.test.js.map