@miragon/pulse-widget-shell 0.0.0-bootstrap.0 → 0.21.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 +163 -3
  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 +44 -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 -5
@@ -0,0 +1,49 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @vitest-environment happy-dom
3
+ import { afterEach, describe, expect, it, vi } from "vitest";
4
+ import { cleanup, fireEvent, render, screen } from "@testing-library/react";
5
+ import { LocaleProvider } from "@miragon/mcp-toolkit-ui";
6
+ import { QueryFallback, TableSkeleton } from "./query-fallback.js";
7
+ afterEach(cleanup);
8
+ const SKELETON = _jsx("div", { children: "loading skeleton" });
9
+ describe("QueryFallback: never an eternal skeleton, never a dead end (U1, U22)", () => {
10
+ it("renders the skeleton under a polite status while the query has not errored", () => {
11
+ render(_jsx(QueryFallback, { isError: false, onRetry: vi.fn(), skeleton: SKELETON }));
12
+ expect(screen.getByText("loading skeleton").closest('[aria-hidden="true"]')).toBeTruthy();
13
+ expect(screen.getByRole("status").textContent).toContain("Loading view…");
14
+ expect(screen.queryByRole("alert")).toBeNull();
15
+ });
16
+ it("names the loading in the caller's words", () => {
17
+ render(_jsx(QueryFallback, { isError: false, onRetry: vi.fn(), loadingText: "Jobs\u2026", skeleton: SKELETON }));
18
+ expect(screen.getByRole("status").textContent).toContain("Jobs…");
19
+ });
20
+ it("says what happened and what to do, the raw cause under Details, and retries", () => {
21
+ const onRetry = vi.fn();
22
+ render(_jsx(QueryFallback, { isError: true, error: new Error("engine prod unreachable (ECONNREFUSED)"), onRetry: onRetry, errorTitle: "Could not load the process definitions", skeleton: SKELETON }));
23
+ expect(screen.getByRole("heading", { name: "Engine prod is unreachable" })).toBeTruthy();
24
+ expect(screen.getByText("Check that the engine is running, or pick another engine.")).toBeTruthy();
25
+ expect(screen.getByText("engine prod unreachable (ECONNREFUSED)").closest("details")).toBeTruthy();
26
+ expect(screen.queryByText("loading skeleton")).toBeNull();
27
+ fireEvent.click(screen.getByRole("button", { name: "Try again" }));
28
+ expect(onRetry).toHaveBeenCalledTimes(1);
29
+ });
30
+ it("heads an unclassified error with the caller's title, in the active locale", () => {
31
+ render(_jsx(LocaleProvider, { locale: "de", children: _jsx(QueryFallback, { isError: true, error: "nicht klassifizierbar", onRetry: vi.fn(), errorTitle: "Die Liste konnte nicht geladen werden", skeleton: SKELETON }) }));
32
+ expect(screen.getByRole("heading", { name: "Die Liste konnte nicht geladen werden" })).toBeTruthy();
33
+ expect(screen.getByText("Versuch es noch mal. Klappt es wieder nicht, frag im Chat nach.")).toBeTruthy();
34
+ expect(screen.getByRole("button", { name: "Erneut versuchen" })).toBeTruthy();
35
+ });
36
+ it("without a title or a cause still offers what to do and the retry", () => {
37
+ render(_jsx(QueryFallback, { isError: true, onRetry: vi.fn(), skeleton: SKELETON }));
38
+ expect(screen.getByRole("heading", { name: "Something went wrong" })).toBeTruthy();
39
+ expect(screen.getByRole("alert").querySelector("details")).toBeNull();
40
+ expect(screen.getByRole("button", { name: "Try again" })).toBeTruthy();
41
+ });
42
+ });
43
+ describe("TableSkeleton", () => {
44
+ it("draws a card with two bars", () => {
45
+ const { container } = render(_jsx(TableSkeleton, {}));
46
+ expect(container.querySelectorAll('[data-slot="skeleton"]')).toHaveLength(2);
47
+ });
48
+ });
49
+ //# sourceMappingURL=query-fallback.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-fallback.test.js","sourceRoot":"","sources":["../../src/ui/query-fallback.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from "react";
2
+ /**
3
+ * Bordered list-row card — truncating title/subtitle block on the left,
4
+ * action buttons pinned right. The row shape the engine-health cluster list
5
+ * and the cluster-detail rows used to copy verbatim.
6
+ */
7
+ export declare function RowCard({ title, subtitle, actions, className, }: {
8
+ title: ReactNode;
9
+ subtitle?: ReactNode;
10
+ actions?: ReactNode;
11
+ className?: string;
12
+ }): import("react").JSX.Element;
13
+ //# sourceMappingURL=row-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-card.d.ts","sourceRoot":"","sources":["../../src/ui/row-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,SAAS,GACV,EAAE;IACD,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BAeA"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "@miragon/mcp-toolkit-ui";
3
+ /**
4
+ * Bordered list-row card — truncating title/subtitle block on the left,
5
+ * action buttons pinned right. The row shape the engine-health cluster list
6
+ * and the cluster-detail rows used to copy verbatim.
7
+ */
8
+ export function RowCard({ title, subtitle, actions, className, }) {
9
+ return (_jsxs("div", { className: cn("border-border flex items-center justify-between gap-3 rounded-md border p-3", className), children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-dense flex items-center gap-2 font-medium", children: title }), subtitle && _jsx("div", { className: "text-muted-foreground text-small truncate", children: subtitle })] }), actions && _jsx("div", { className: "flex shrink-0 items-center gap-1.5", children: actions })] }));
10
+ }
11
+ //# sourceMappingURL=row-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-card.js","sourceRoot":"","sources":["../../src/ui/row-card.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAA;AAE5C;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,SAAS,GAMV;IACC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,6EAA6E,EAC7E,SAAS,CACV,aAED,eAAK,SAAS,EAAC,SAAS,aACtB,cAAK,SAAS,EAAC,gDAAgD,YAAE,KAAK,GAAO,EAC5E,QAAQ,IAAI,cAAK,SAAS,EAAC,2CAA2C,YAAE,QAAQ,GAAO,IACpF,EACL,OAAO,IAAI,cAAK,SAAS,EAAC,oCAAoC,YAAE,OAAO,GAAO,IAC3E,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ReactNode } from "react";
2
+ /**
3
+ * Collapsible disclosure section — `<details>`/`<summary>` with the chevron,
4
+ * heading and optional count badge. Lifted from the camunda7 instance detail;
5
+ * the analytics dashboard tables inline-copied the same markup four times
6
+ * before this became shared.
7
+ */
8
+ export declare function Section({ title, count, badgeVariant, defaultOpen, onToggle, children, }: {
9
+ title: ReactNode;
10
+ count?: number;
11
+ /** `destructive` for error/incident counts, `secondary` (default) otherwise. */
12
+ badgeVariant?: "secondary" | "destructive";
13
+ defaultOpen?: boolean;
14
+ /** Notified when the disclosure opens/closes — lets callers lazy-mount content. */
15
+ onToggle?: (open: boolean) => void;
16
+ children: ReactNode;
17
+ }): import("react").JSX.Element;
18
+ //# sourceMappingURL=section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../src/ui/section.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,KAAK,EACL,YAA0B,EAC1B,WAAmB,EACnB,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,YAAY,CAAC,EAAE,WAAW,GAAG,aAAa,CAAA;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,QAAQ,EAAE,SAAS,CAAA;CACpB,+BAoBA"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Badge, cn, FOCUS_RING } from "@miragon/mcp-toolkit-ui";
3
+ import { ChevronRight } from "lucide-react";
4
+ import { Icon } from "./icon.js";
5
+ /**
6
+ * Collapsible disclosure section — `<details>`/`<summary>` with the chevron,
7
+ * heading and optional count badge. Lifted from the camunda7 instance detail;
8
+ * the analytics dashboard tables inline-copied the same markup four times
9
+ * before this became shared.
10
+ */
11
+ export function Section({ title, count, badgeVariant = "secondary", defaultOpen = false, onToggle, children, }) {
12
+ return (_jsxs("details", { open: defaultOpen || undefined, onToggle: (e) => onToggle?.(e.currentTarget.open), children: [_jsxs("summary", { className: cn("flex w-fit cursor-pointer list-none items-center gap-2 rounded-sm [&::-webkit-details-marker]:hidden", FOCUS_RING), children: [_jsx(Icon, { icon: ChevronRight, className: "text-muted-foreground transition-transform motion-reduce:transition-none [[open]>summary>&]:rotate-90" }), _jsx("h3", { className: "text-section", children: title }), count !== undefined && _jsx(Badge, { variant: badgeVariant, children: count })] }), _jsx("div", { className: "mt-2", children: children })] }));
13
+ }
14
+ //# sourceMappingURL=section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.js","sourceRoot":"","sources":["../../src/ui/section.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,EACtB,KAAK,EACL,KAAK,EACL,YAAY,GAAG,WAAW,EAC1B,WAAW,GAAG,KAAK,EACnB,QAAQ,EACR,QAAQ,GAUT;IACC,OAAO,CACL,mBAAS,IAAI,EAAE,WAAW,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,aACxF,mBACE,SAAS,EAAE,EAAE,CACX,sGAAsG,EACtG,UAAU,CACX,aAED,KAAC,IAAI,IACH,IAAI,EAAE,YAAY,EAClB,SAAS,EAAC,uGAAuG,GACjH,EAEF,aAAI,SAAS,EAAC,cAAc,YAAE,KAAK,GAAM,EACxC,KAAK,KAAK,SAAS,IAAI,KAAC,KAAK,IAAC,OAAO,EAAE,YAAY,YAAG,KAAK,GAAS,IAC7D,EACV,cAAK,SAAS,EAAC,MAAM,YAAE,QAAQ,GAAO,IAC9B,CACX,CAAA;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from "react";
2
+ export interface SegmentedControlOption<V extends string = string> {
3
+ value: V;
4
+ label: ReactNode;
5
+ }
6
+ /**
7
+ * Compact multi-state toggle — a track of segments where the active one is a
8
+ * selection in the info tone (CI: blue contour + tint, black text: an inset
9
+ * info ring on the tint). Modeled on the live/frequency/duration flow toggle
10
+ * in the process-detail widget; `aria-pressed` carries the state.
11
+ *
12
+ * The segments sit 2 px inside the track's edge, each with the track's
13
+ * radius minus that inset (concentric corners), so the contour follows the
14
+ * corner and never touches the track's border. A square segment clipped by a
15
+ * rounded track left light wedges between the two lines at the corners, and
16
+ * a middle segment's contour doubled the border.
17
+ */
18
+ export declare function SegmentedControl<V extends string>({ options, value, onChange, ariaLabel, className, }: {
19
+ options: ReadonlyArray<SegmentedControlOption<V>>;
20
+ value: V;
21
+ onChange: (next: V) => void;
22
+ ariaLabel?: string;
23
+ className?: string;
24
+ }): import("react").JSX.Element;
25
+ //# sourceMappingURL=segmented-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmented-control.d.ts","sourceRoot":"","sources":["../../src/ui/segmented-control.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC/D,KAAK,EAAE,CAAC,CAAA;IACR,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE;IACD,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,KAAK,EAAE,CAAC,CAAA;IACR,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BA8BA"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn, FOCUS_RING_INSET, TONE_SOFT } from "@miragon/mcp-toolkit-ui";
3
+ /**
4
+ * Compact multi-state toggle — a track of segments where the active one is a
5
+ * selection in the info tone (CI: blue contour + tint, black text: an inset
6
+ * info ring on the tint). Modeled on the live/frequency/duration flow toggle
7
+ * in the process-detail widget; `aria-pressed` carries the state.
8
+ *
9
+ * The segments sit 2 px inside the track's edge, each with the track's
10
+ * radius minus that inset (concentric corners), so the contour follows the
11
+ * corner and never touches the track's border. A square segment clipped by a
12
+ * rounded track left light wedges between the two lines at the corners, and
13
+ * a middle segment's contour doubled the border.
14
+ */
15
+ export function SegmentedControl({ options, value, onChange, ariaLabel, className, }) {
16
+ return (_jsx("div", { role: ariaLabel ? "group" : undefined, "aria-label": ariaLabel, className: cn("border-border text-dense inline-flex gap-0.5 rounded-md border p-0.5", className), children: options.map((option) => (_jsx("button", { type: "button", onClick: () => onChange(option.value), "aria-pressed": value === option.value, className: cn(
17
+ // 32 px in all, like the buttons beside it: 1 px border + 2 px inset + 26 px.
18
+ "inline-flex h-[26px] items-center rounded-[calc(var(--radius-md)-3px)] px-2.5 font-medium transition-colors", FOCUS_RING_INSET, value === option.value
19
+ ? cn(TONE_SOFT.info, "ring-info ring-1 ring-inset")
20
+ : "text-muted-foreground hover:bg-muted hover:text-foreground"), children: option.label }, option.value))) }));
21
+ }
22
+ //# sourceMappingURL=segmented-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmented-control.js","sourceRoot":"","sources":["../../src/ui/segmented-control.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAOzE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAmB,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,SAAS,GAOV;IACC,OAAO,CACL,cACE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,gBACzB,SAAS,EACrB,SAAS,EAAE,EAAE,CACX,sEAAsE,EACtE,SAAS,CACV,YAEA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,iBAEE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,kBACvB,KAAK,KAAK,MAAM,CAAC,KAAK,EACpC,SAAS,EAAE,EAAE;YACX,8EAA8E;YAC9E,6GAA6G,EAC7G,gBAAgB,EAChB,KAAK,KAAK,MAAM,CAAC,KAAK;gBACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,6BAA6B,CAAC;gBACnD,CAAC,CAAC,4DAA4D,CACjE,YAEA,MAAM,CAAC,KAAK,IAbR,MAAM,CAAC,KAAK,CAcV,CACV,CAAC,GACE,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { Locale } from "../profile-constants.js";
2
+ import type { ShellSettingsReadOnlyReason } from "../shell-settings-contract.js";
3
+ /**
4
+ * The words of the settings page (`shell:settings-page`) and the shell's
5
+ * language section (`shell:settings`), en/de. Voice (brand-tone): German
6
+ * addresses you with "du", a read-only notice says why and what you can do,
7
+ * no dash as a connector. `brand-gates.test.ts` runs the catalog text test
8
+ * over both sets.
9
+ */
10
+ export interface SettingsLabels {
11
+ pageTitle: string;
12
+ pageSubtitle: string;
13
+ languageSection: string;
14
+ language: string;
15
+ languageHelp: string;
16
+ /** The "system" option: the view follows the chat app's locale. */
17
+ languageSystem: string;
18
+ save: string;
19
+ saving: string;
20
+ savedToast: string;
21
+ saveFailedToast: string;
22
+ loadError: string;
23
+ none: string;
24
+ readOnlyTitle: string;
25
+ readOnly: Readonly<Record<ShellSettingsReadOnlyReason, string>>;
26
+ }
27
+ /** Each language named in itself, so a reader finds theirs in any view. */
28
+ export declare const LANGUAGE_NAMES: Readonly<Record<Locale, string>>;
29
+ /** The settings words for a locale tag (`de-AT` → German); English for anything unsupported. */
30
+ export declare function settingsLabels(locale: string | undefined): SettingsLabels;
31
+ /** Both label sets, for the catalog text test. */
32
+ export declare const SETTINGS_LABELS: Readonly<Record<Locale, SettingsLabels>>;
33
+ //# sourceMappingURL=settings-labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-labels.d.ts","sourceRoot":"","sources":["../../src/ui/settings-labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAGhF;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,mEAAmE;IACnE,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC,CAAA;CAChE;AAED,2EAA2E;AAC3E,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAoC,CAAA;AAiDhG,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAEzE;AAED,kDAAkD;AAClD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAU,CAAA"}
@@ -0,0 +1,50 @@
1
+ import { supportedLanguage } from "./host-context.js";
2
+ /** Each language named in itself, so a reader finds theirs in any view. */
3
+ export const LANGUAGE_NAMES = { en: "English", de: "Deutsch" };
4
+ const LABELS = {
5
+ en: {
6
+ pageTitle: "Settings",
7
+ pageSubtitle: "Your language and each module's settings, in every chat.",
8
+ languageSection: "Language",
9
+ language: "Language",
10
+ languageHelp: "Automatic follows your chat app. A fixed language also applies to what the tools report back to the AI.",
11
+ languageSystem: "Automatic (follows the chat app)",
12
+ save: "Save",
13
+ saving: "Saving…",
14
+ savedToast: "Language saved",
15
+ saveFailedToast: "Couldn't save the language",
16
+ loadError: "Couldn't load the language setting",
17
+ none: "No settings available",
18
+ readOnlyTitle: "The language is read-only here",
19
+ readOnly: {
20
+ noSignIn: "This connection has no sign-in, so it has no one to save settings for. Saving needs a connection with sign-in: ask your administrator to set one up.",
21
+ readOnly: "This server runs a module read-only, so it saves no settings. Ask your administrator for a connection that allows changes.",
22
+ },
23
+ },
24
+ de: {
25
+ pageTitle: "Einstellungen",
26
+ pageSubtitle: "Deine Sprache und die Einstellungen jedes Moduls, in jedem Chat.",
27
+ languageSection: "Sprache",
28
+ language: "Sprache",
29
+ languageHelp: "„Automatisch“ übernimmt die Sprache deiner Chat-App. Eine feste Sprache gilt auch für das, was die Tools der AI zurückmelden.",
30
+ languageSystem: "Automatisch (wie die Chat-App)",
31
+ save: "Speichern",
32
+ saving: "Wird gespeichert…",
33
+ savedToast: "Sprache gespeichert",
34
+ saveFailedToast: "Die Sprache wurde nicht gespeichert",
35
+ loadError: "Die Spracheinstellung konnte nicht geladen werden",
36
+ none: "Keine Einstellungen verfügbar",
37
+ readOnlyTitle: "Die Sprache ist hier nur lesbar",
38
+ readOnly: {
39
+ noSignIn: "Diese Verbindung hat keine Anmeldung und weiß deshalb nicht, für wen sie speichern soll. Speichern geht nur über eine Verbindung mit Anmeldung: Bitte deine Administration, sie einzurichten.",
40
+ readOnly: "Dieser Server betreibt ein Modul nur lesend und speichert deshalb keine Einstellungen. Bitte deine Administration um eine Verbindung, die Änderungen erlaubt.",
41
+ },
42
+ },
43
+ };
44
+ /** The settings words for a locale tag (`de-AT` → German); English for anything unsupported. */
45
+ export function settingsLabels(locale) {
46
+ return LABELS[supportedLanguage(locale) ?? "en"];
47
+ }
48
+ /** Both label sets, for the catalog text test. */
49
+ export const SETTINGS_LABELS = LABELS;
50
+ //# sourceMappingURL=settings-labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-labels.js","sourceRoot":"","sources":["../../src/ui/settings-labels.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AA2BrD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAqC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAA;AAEhG,MAAM,MAAM,GAA6C;IACvD,EAAE,EAAE;QACF,SAAS,EAAE,UAAU;QACrB,YAAY,EAAE,0DAA0D;QACxE,eAAe,EAAE,UAAU;QAC3B,QAAQ,EAAE,UAAU;QACpB,YAAY,EACV,yGAAyG;QAC3G,cAAc,EAAE,kCAAkC;QAClD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,gBAAgB;QAC5B,eAAe,EAAE,4BAA4B;QAC7C,SAAS,EAAE,oCAAoC;QAC/C,IAAI,EAAE,uBAAuB;QAC7B,aAAa,EAAE,gCAAgC;QAC/C,QAAQ,EAAE;YACR,QAAQ,EACN,sJAAsJ;YACxJ,QAAQ,EACN,4HAA4H;SAC/H;KACF;IACD,EAAE,EAAE;QACF,SAAS,EAAE,eAAe;QAC1B,YAAY,EAAE,kEAAkE;QAChF,eAAe,EAAE,SAAS;QAC1B,QAAQ,EAAE,SAAS;QACnB,YAAY,EACV,+HAA+H;QACjI,cAAc,EAAE,gCAAgC;QAChD,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,mBAAmB;QAC3B,UAAU,EAAE,qBAAqB;QACjC,eAAe,EAAE,qCAAqC;QACtD,SAAS,EAAE,mDAAmD;QAC9D,IAAI,EAAE,+BAA+B;QACrC,aAAa,EAAE,iCAAiC;QAChD,QAAQ,EAAE;YACR,QAAQ,EACN,+LAA+L;YACjM,QAAQ,EACN,+JAA+J;SAClK;KACF;CACF,CAAA;AAED,gGAAgG;AAChG,MAAM,UAAU,cAAc,CAAC,MAA0B;IACvD,OAAO,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAA;AAClD,CAAC;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAA6C,MAAM,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { type LayoutConfig } from "@miragon/mcp-toolkit-core";
2
+ /**
3
+ * The settings page, assembled from what the host actually composed: the
4
+ * shell's language section first, then one row per `<module>:settings`
5
+ * widget in the host registry, in registration order (the composition root's
6
+ * module order).
7
+ *
8
+ * This is the host-extension point of the page. A module contributes its
9
+ * section by catalogueing it as `<module>:settings` and having its widget map
10
+ * spread into the host bundle's registry (link 3 of the widget chain) — no
11
+ * edit anywhere else, so a custom module composed from the published packages
12
+ * is a first-class citizen of the page.
13
+ *
14
+ * Section ids stay raw strings on purpose (tier-2 cross-module reference):
15
+ * the host registry resolves them at runtime and {@link filterLayoutToWidgets}
16
+ * drops whatever resolves nowhere. A module that IS bundled but inactive at
17
+ * runtime (`MCP_ACTIVE_MODULES`) still contributes its id; its section widget
18
+ * hides itself once its feed answers "unknown tool".
19
+ */
20
+ export declare function settingsLayout(widgetIds?: readonly string[]): LayoutConfig;
21
+ /**
22
+ * Drop layout cells whose widget id resolves to no component in `widgets`
23
+ * (cross-module ids in a host that does not bundle that module), then drop
24
+ * emptied rows — the tier-2 degradation for composed views: a missing
25
+ * module's section simply disappears instead of rendering an unknown-widget
26
+ * error.
27
+ */
28
+ export declare function filterLayoutToWidgets(layout: LayoutConfig, widgets: Record<string, unknown>): LayoutConfig;
29
+ //# sourceMappingURL=settings-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-layout.d.ts","sourceRoot":"","sources":["../../src/ui/settings-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAe,MAAM,2BAA2B,CAAA;AAS3F;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,SAAS,GAAE,SAAS,MAAM,EAAO,GAAG,YAAY,CAQ9E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,YAAY,CASd"}
@@ -0,0 +1,49 @@
1
+ import { normalizeLayout } from "@miragon/mcp-toolkit-core";
2
+ import { SHELL_SETTINGS_WIDGET } from "../shell-settings-contract.js";
3
+ /**
4
+ * The convention that marks a module's settings section: the `<module>:settings`
5
+ * widget id it catalogues for its own section.
6
+ */
7
+ const SETTINGS_SECTION_SUFFIX = ":settings";
8
+ /**
9
+ * The settings page, assembled from what the host actually composed: the
10
+ * shell's language section first, then one row per `<module>:settings`
11
+ * widget in the host registry, in registration order (the composition root's
12
+ * module order).
13
+ *
14
+ * This is the host-extension point of the page. A module contributes its
15
+ * section by catalogueing it as `<module>:settings` and having its widget map
16
+ * spread into the host bundle's registry (link 3 of the widget chain) — no
17
+ * edit anywhere else, so a custom module composed from the published packages
18
+ * is a first-class citizen of the page.
19
+ *
20
+ * Section ids stay raw strings on purpose (tier-2 cross-module reference):
21
+ * the host registry resolves them at runtime and {@link filterLayoutToWidgets}
22
+ * drops whatever resolves nowhere. A module that IS bundled but inactive at
23
+ * runtime (`MCP_ACTIVE_MODULES`) still contributes its id; its section widget
24
+ * hides itself once its feed answers "unknown tool".
25
+ */
26
+ export function settingsLayout(widgetIds = []) {
27
+ const sections = widgetIds.filter((id) => id !== SHELL_SETTINGS_WIDGET && id.endsWith(SETTINGS_SECTION_SUFFIX));
28
+ // Deduped: callers may merge several registries into the id list.
29
+ return [SHELL_SETTINGS_WIDGET, ...new Set(sections)].map((widget) => ({
30
+ row: [{ widget, props: {} }],
31
+ }));
32
+ }
33
+ /**
34
+ * Drop layout cells whose widget id resolves to no component in `widgets`
35
+ * (cross-module ids in a host that does not bundle that module), then drop
36
+ * emptied rows — the tier-2 degradation for composed views: a missing
37
+ * module's section simply disappears instead of rendering an unknown-widget
38
+ * error.
39
+ */
40
+ export function filterLayoutToWidgets(layout, widgets) {
41
+ const filterRows = (rows) => rows
42
+ .map((r) => ({ ...r, row: r.row.filter((cell) => cell.widget in widgets) }))
43
+ .filter((r) => r.row.length > 0);
44
+ const normalized = normalizeLayout(layout);
45
+ return "tabs" in normalized
46
+ ? { tabs: normalized.tabs.map((tab) => ({ ...tab, rows: filterRows(tab.rows) })) }
47
+ : { rows: filterRows(normalized.rows) };
48
+ }
49
+ //# sourceMappingURL=settings-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-layout.js","sourceRoot":"","sources":["../../src/ui/settings-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkC,MAAM,2BAA2B,CAAA;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAErE;;;GAGG;AACH,MAAM,uBAAuB,GAAG,WAAW,CAAA;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,cAAc,CAAC,YAA+B,EAAE;IAC9D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC/B,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,qBAAqB,IAAI,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAC7E,CAAA;IACD,kEAAkE;IAClE,OAAO,CAAC,qBAAqB,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;KAC7B,CAAC,CAAC,CAAA;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAoB,EACpB,OAAgC;IAEhC,MAAM,UAAU,GAAG,CAAC,IAAc,EAAY,EAAE,CAC9C,IAAI;SACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;SAC3E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACpC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAC1C,OAAO,MAAM,IAAI,UAAU;QACzB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE;QAClF,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAA;AAC3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=settings-layout.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-layout.test.d.ts","sourceRoot":"","sources":["../../src/ui/settings-layout.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,73 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { collectLayoutWidgets } from "@miragon/mcp-toolkit-core";
3
+ import { filterLayoutToWidgets, settingsLayout } from "./settings-layout.js";
4
+ /** The section ids the settings page would render for a given host registry. */
5
+ const sectionsFor = (widgetIds) => collectLayoutWidgets(settingsLayout(widgetIds));
6
+ describe("settingsLayout", () => {
7
+ it("renders the shell's language section without any host registry", () => {
8
+ // A host that mounts no HostWidgetsProvider (fixture harnesses, foreign
9
+ // hosts) still gets the shell's own section — never an empty page.
10
+ expect(sectionsFor()).toEqual(["shell:settings"]);
11
+ expect(sectionsFor([])).toEqual(["shell:settings"]);
12
+ });
13
+ it("adds a row for every module's `<module>:settings` widget, in registration order", () => {
14
+ expect(sectionsFor([
15
+ "camunda7:engine-health",
16
+ "camunda7:settings",
17
+ "analytics:settings",
18
+ "shell:kpi-grid",
19
+ "shell:settings-page",
20
+ ])).toEqual(["shell:settings", "camunda7:settings", "analytics:settings"]);
21
+ });
22
+ it("pins the shell's section first, wherever the host registered it", () => {
23
+ expect(sectionsFor(["analytics:settings", "shell:settings", "camunda7:settings"])).toEqual([
24
+ "shell:settings",
25
+ "analytics:settings",
26
+ "camunda7:settings",
27
+ ]);
28
+ });
29
+ it("picks up a CUSTOM module's section nothing else has heard of", () => {
30
+ // The whole point of the self-assembly: a server composed from the
31
+ // published packages contributes its own section by registering the
32
+ // widget, with no edit anywhere else.
33
+ expect(sectionsFor(["analytics:settings", "acme:settings"])).toEqual([
34
+ "shell:settings",
35
+ "analytics:settings",
36
+ "acme:settings",
37
+ ]);
38
+ });
39
+ it("matches the convention exactly — a lookalike id contributes no section", () => {
40
+ expect(sectionsFor(["acme:settings-advanced", "acme:settingsfoo", "settings"])).toEqual([
41
+ "shell:settings",
42
+ ]);
43
+ });
44
+ it("lists no section twice when ids repeat across merged registries", () => {
45
+ expect(sectionsFor(["analytics:settings", "camunda7:settings", "analytics:settings"])).toEqual([
46
+ "shell:settings",
47
+ "analytics:settings",
48
+ "camunda7:settings",
49
+ ]);
50
+ });
51
+ });
52
+ describe("filterLayoutToWidgets", () => {
53
+ it("drops cells whose widget id resolves nowhere, and the rows they empty", () => {
54
+ const layout = settingsLayout(["analytics:settings", "acme:settings"]);
55
+ const filtered = filterLayoutToWidgets(layout, {
56
+ "shell:settings": () => null,
57
+ "acme:settings": () => null,
58
+ });
59
+ expect(collectLayoutWidgets(filtered)).toEqual(["shell:settings", "acme:settings"]);
60
+ });
61
+ it("keeps every cell a host can resolve, tabs included", () => {
62
+ const layout = {
63
+ tabs: [
64
+ { label: "A", rows: [{ row: [{ widget: "x:one", props: {} }] }] },
65
+ { label: "B", rows: [{ row: [{ widget: "x:two", props: {} }] }] },
66
+ ],
67
+ };
68
+ const filtered = filterLayoutToWidgets(layout, { "x:one": () => null });
69
+ expect(collectLayoutWidgets(filtered)).toEqual(["x:one"]);
70
+ expect("tabs" in filtered && filtered.tabs[1]?.rows).toEqual([]);
71
+ });
72
+ });
73
+ //# sourceMappingURL=settings-layout.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-layout.test.js","sourceRoot":"","sources":["../../src/ui/settings-layout.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { type ComponentProps, type ReactElement, type ReactNode } from "react";
2
+ /**
3
+ * Shared building blocks for settings sections. The settings page composes one
4
+ * section widget per module (camunda7's profile panel, analytics' defaults, …)
5
+ * — these primitives keep the sections visually identical without the modules
6
+ * sharing any code beyond this kit.
7
+ */
8
+ /**
9
+ * One titled settings card — the visual unit a module's settings section
10
+ * renders. Its title is an `h3` under the section's own `h2` heading; a
11
+ * section whose cards sit directly under the page title (`h1`) passes
12
+ * `titleAs="h2"`, so the outline never skips a level.
13
+ */
14
+ export declare function SettingsCard({ title, titleAs: Title, children, }: {
15
+ title: string;
16
+ titleAs?: "h2" | "h3";
17
+ children: ReactNode;
18
+ }): import("react").JSX.Element;
19
+ /** The props a field hands its single control. */
20
+ interface FieldControlProps {
21
+ id?: string;
22
+ "aria-describedby"?: string;
23
+ "aria-invalid"?: boolean;
24
+ }
25
+ /**
26
+ * A labelled form field with optional help text. Associates the label with its
27
+ * single child control via `htmlFor`/`id`; checkbox groups (no single control)
28
+ * set `group` and get a `role="group"` labelled by the text instead.
29
+ *
30
+ * `error` is the inline validation of the entry (CI §8/§9: say what is wrong
31
+ * where it is, never correct it silently): a line in the danger ink right
32
+ * under the control with an icon, the control marked `aria-invalid` and
33
+ * described by the line (and by the help text, which stays).
34
+ */
35
+ export declare function SettingsField({ label, help, error, group, children, }: {
36
+ label: string;
37
+ help?: string;
38
+ /** What is wrong with the entry, in words ("Enter a whole number of 1 or more."). */
39
+ error?: string;
40
+ /** Checkbox-group fields: labelled via role="group" (no single control to point htmlFor at). */
41
+ group?: boolean;
42
+ children: ReactElement<FieldControlProps>;
43
+ }): import("react").JSX.Element;
44
+ /** Styled native `<input>` matching `NativeSelect` — for the rare free-form settings value. */
45
+ export declare function SettingsInput({ className, ...props }: ComponentProps<"input">): import("react").JSX.Element;
46
+ export {};
47
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/ui/settings.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAMnG;;;;;GAKG;AAEH;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EAAE,KAAY,EACrB,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACrB,QAAQ,EAAE,SAAS,CAAA;CACpB,+BASA;AAED,kDAAkD;AAClD,UAAU,iBAAiB;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAa,EACb,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gGAAgG;IAChG,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;CAC1C,+BAyCA;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,+BAE7E"}
@@ -0,0 +1,48 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cloneElement, useId } from "react";
3
+ import { Card, CardContent, cn, TONE_INK } from "@miragon/mcp-toolkit-ui";
4
+ import { CircleAlert } from "lucide-react";
5
+ import { Icon } from "./icon.js";
6
+ import { FIELD_CONTROL } from "./native-select.js";
7
+ /**
8
+ * Shared building blocks for settings sections. The settings page composes one
9
+ * section widget per module (camunda7's profile panel, analytics' defaults, …)
10
+ * — these primitives keep the sections visually identical without the modules
11
+ * sharing any code beyond this kit.
12
+ */
13
+ /**
14
+ * One titled settings card — the visual unit a module's settings section
15
+ * renders. Its title is an `h3` under the section's own `h2` heading; a
16
+ * section whose cards sit directly under the page title (`h1`) passes
17
+ * `titleAs="h2"`, so the outline never skips a level.
18
+ */
19
+ export function SettingsCard({ title, titleAs: Title = "h3", children, }) {
20
+ return (_jsx(Card, { className: "gap-0 py-0 shadow-none", children: _jsxs(CardContent, { className: "flex flex-col gap-4 p-4", children: [_jsx(Title, { className: "text-foreground text-section", children: title }), children] }) }));
21
+ }
22
+ /**
23
+ * A labelled form field with optional help text. Associates the label with its
24
+ * single child control via `htmlFor`/`id`; checkbox groups (no single control)
25
+ * set `group` and get a `role="group"` labelled by the text instead.
26
+ *
27
+ * `error` is the inline validation of the entry (CI §8/§9: say what is wrong
28
+ * where it is, never correct it silently): a line in the danger ink right
29
+ * under the control with an icon, the control marked `aria-invalid` and
30
+ * described by the line (and by the help text, which stays).
31
+ */
32
+ export function SettingsField({ label, help, error, group = false, children, }) {
33
+ const id = useId();
34
+ const labelId = `${id}-label`;
35
+ const helpId = `${id}-help`;
36
+ const errorId = `${id}-error`;
37
+ const describedBy = [error ? errorId : null, help ? helpId : null].filter(Boolean).join(" ");
38
+ return (_jsxs("div", { className: "flex flex-col gap-1.5", children: [group ? (_jsx("span", { id: labelId, className: "text-foreground text-dense font-medium", children: label })) : (_jsx("label", { htmlFor: id, className: "text-foreground text-dense font-medium", children: label })), group ? (_jsx("div", { role: "group", "aria-labelledby": labelId, "aria-describedby": describedBy || undefined, children: children })) : (cloneElement(children, {
39
+ id,
40
+ "aria-describedby": describedBy || undefined,
41
+ "aria-invalid": error ? true : undefined,
42
+ })), error && (_jsxs("span", { id: errorId, className: cn("text-small flex items-center gap-1.5", TONE_INK.danger), children: [_jsx(Icon, { icon: CircleAlert, dense: true }), error] })), help && (_jsx("span", { id: helpId, className: "text-muted-foreground text-small", children: help }))] }));
43
+ }
44
+ /** Styled native `<input>` matching `NativeSelect` — for the rare free-form settings value. */
45
+ export function SettingsInput({ className, ...props }) {
46
+ return _jsx("input", { ...props, className: cn(FIELD_CONTROL, className) });
47
+ }
48
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/ui/settings.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAA0D,MAAM,OAAO,CAAA;AACnG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EAAE,KAAK,GAAG,IAAI,EACrB,QAAQ,GAKT;IACC,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAC,wBAAwB,YACtC,MAAC,WAAW,IAAC,SAAS,EAAC,yBAAyB,aAC9C,KAAC,KAAK,IAAC,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAS,EAC9D,QAAQ,IACG,GACT,CACR,CAAA;AACH,CAAC;AASD;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,GAAG,KAAK,EACb,QAAQ,GAST;IACC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,MAAM,OAAO,GAAG,GAAG,EAAE,QAAQ,CAAA;IAC7B,MAAM,MAAM,GAAG,GAAG,EAAE,OAAO,CAAA;IAC3B,MAAM,OAAO,GAAG,GAAG,EAAE,QAAQ,CAAA;IAC7B,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5F,OAAO,CACL,eAAK,SAAS,EAAC,uBAAuB,aACnC,KAAK,CAAC,CAAC,CAAC,CACP,eAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,wCAAwC,YAClE,KAAK,GACD,CACR,CAAC,CAAC,CAAC,CACF,gBAAO,OAAO,EAAE,EAAE,EAAE,SAAS,EAAC,wCAAwC,YACnE,KAAK,GACA,CACT,EACA,KAAK,CAAC,CAAC,CAAC,CACP,cAAK,IAAI,EAAC,OAAO,qBAAkB,OAAO,sBAAoB,WAAW,IAAI,SAAS,YACnF,QAAQ,GACL,CACP,CAAC,CAAC,CAAC,CACF,YAAY,CAAC,QAAQ,EAAE;gBACrB,EAAE;gBACF,kBAAkB,EAAE,WAAW,IAAI,SAAS;gBAC5C,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACzC,CAAC,CACH,EACA,KAAK,IAAI,CACR,gBAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,QAAQ,CAAC,MAAM,CAAC,aACvF,KAAC,IAAI,IAAC,IAAI,EAAE,WAAW,EAAE,KAAK,SAAG,EAChC,KAAK,IACD,CACR,EACA,IAAI,IAAI,CACP,eAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAC,kCAAkC,YAC3D,IAAI,GACA,CACR,IACG,CACP,CAAA;AACH,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA2B;IAC5E,OAAO,mBAAW,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,GAAI,CAAA;AACtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=settings.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.test.d.ts","sourceRoot":"","sources":["../../src/ui/settings.test.tsx"],"names":[],"mappings":""}