@miragon/mcp-toolkit-ui 2.6.0 → 2.7.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 (348) hide show
  1. package/README.md +7 -1
  2. package/dist/app/builder/BuilderBanners.d.ts +7 -2
  3. package/dist/app/builder/BuilderBanners.d.ts.map +1 -1
  4. package/dist/app/builder/BuilderBanners.js +8 -3
  5. package/dist/app/builder/BuilderBanners.js.map +1 -1
  6. package/dist/app/builder/CanvasRow.d.ts.map +1 -1
  7. package/dist/app/builder/CanvasRow.js +12 -14
  8. package/dist/app/builder/CanvasRow.js.map +1 -1
  9. package/dist/app/builder/CatalogueSheet.d.ts.map +1 -1
  10. package/dist/app/builder/CatalogueSheet.js +6 -5
  11. package/dist/app/builder/CatalogueSheet.js.map +1 -1
  12. package/dist/app/builder/EmptyHint.d.ts +4 -0
  13. package/dist/app/builder/EmptyHint.d.ts.map +1 -1
  14. package/dist/app/builder/EmptyHint.js +6 -1
  15. package/dist/app/builder/EmptyHint.js.map +1 -1
  16. package/dist/app/builder/LayoutSurface.js +3 -3
  17. package/dist/app/builder/LayoutSurface.js.map +1 -1
  18. package/dist/app/builder/PipelineStrip.d.ts +3 -1
  19. package/dist/app/builder/PipelineStrip.d.ts.map +1 -1
  20. package/dist/app/builder/PipelineStrip.js +11 -6
  21. package/dist/app/builder/PipelineStrip.js.map +1 -1
  22. package/dist/app/builder/SaveDialog.d.ts.map +1 -1
  23. package/dist/app/builder/SaveDialog.js +2 -2
  24. package/dist/app/builder/SaveDialog.js.map +1 -1
  25. package/dist/app/builder/Toolbar.d.ts +3 -1
  26. package/dist/app/builder/Toolbar.d.ts.map +1 -1
  27. package/dist/app/builder/Toolbar.js +9 -3
  28. package/dist/app/builder/Toolbar.js.map +1 -1
  29. package/dist/app/builder/Workspace.js +2 -2
  30. package/dist/app/builder/Workspace.js.map +1 -1
  31. package/dist/app/builder/builder-model.d.ts +3 -2
  32. package/dist/app/builder/builder-model.d.ts.map +1 -1
  33. package/dist/app/builder/builder-model.js +5 -4
  34. package/dist/app/builder/builder-model.js.map +1 -1
  35. package/dist/app/builder/labels.d.ts +13 -62
  36. package/dist/app/builder/labels.d.ts.map +1 -1
  37. package/dist/app/builder/labels.js +9 -58
  38. package/dist/app/builder/labels.js.map +1 -1
  39. package/dist/app/builder/status-chip.d.ts.map +1 -1
  40. package/dist/app/builder/status-chip.js +3 -2
  41. package/dist/app/builder/status-chip.js.map +1 -1
  42. package/dist/app/builder/use-builder-catalogue.d.ts +1 -0
  43. package/dist/app/builder/use-builder-catalogue.d.ts.map +1 -1
  44. package/dist/app/builder/use-builder-catalogue.js +6 -0
  45. package/dist/app/builder/use-builder-catalogue.js.map +1 -1
  46. package/dist/app/builder/use-save-dashboard.d.ts +3 -1
  47. package/dist/app/builder/use-save-dashboard.d.ts.map +1 -1
  48. package/dist/app/builder/use-save-dashboard.js +3 -1
  49. package/dist/app/builder/use-save-dashboard.js.map +1 -1
  50. package/dist/app/index.d.ts +1 -1
  51. package/dist/app/index.d.ts.map +1 -1
  52. package/dist/app/index.js.map +1 -1
  53. package/dist/app/layout-builder.d.ts +7 -2
  54. package/dist/app/layout-builder.d.ts.map +1 -1
  55. package/dist/app/layout-builder.js +17 -5
  56. package/dist/app/layout-builder.js.map +1 -1
  57. package/dist/app/mcp-app-view-chrome.d.ts +94 -20
  58. package/dist/app/mcp-app-view-chrome.d.ts.map +1 -1
  59. package/dist/app/mcp-app-view-chrome.js +109 -40
  60. package/dist/app/mcp-app-view-chrome.js.map +1 -1
  61. package/dist/app/mcp-app-view-states.d.ts +15 -0
  62. package/dist/app/mcp-app-view-states.d.ts.map +1 -0
  63. package/dist/app/mcp-app-view-states.js +34 -0
  64. package/dist/app/mcp-app-view-states.js.map +1 -0
  65. package/dist/app/mcp-app-view.d.ts +40 -5
  66. package/dist/app/mcp-app-view.d.ts.map +1 -1
  67. package/dist/app/mcp-app-view.js +174 -128
  68. package/dist/app/mcp-app-view.js.map +1 -1
  69. package/dist/app/mcp-toolkit-app.d.ts +2 -1
  70. package/dist/app/mcp-toolkit-app.d.ts.map +1 -1
  71. package/dist/app/mcp-toolkit-app.js +25 -3
  72. package/dist/app/mcp-toolkit-app.js.map +1 -1
  73. package/dist/app/use-view-lifecycle.d.ts +38 -0
  74. package/dist/app/use-view-lifecycle.d.ts.map +1 -0
  75. package/dist/app/use-view-lifecycle.js +79 -0
  76. package/dist/app/use-view-lifecycle.js.map +1 -0
  77. package/dist/app/view-lifecycle.d.ts +109 -0
  78. package/dist/app/view-lifecycle.d.ts.map +1 -0
  79. package/dist/app/view-lifecycle.js +120 -0
  80. package/dist/app/view-lifecycle.js.map +1 -0
  81. package/dist/app/widget-props-sheet.d.ts +3 -9
  82. package/dist/app/widget-props-sheet.d.ts.map +1 -1
  83. package/dist/app/widget-props-sheet.js +6 -13
  84. package/dist/app/widget-props-sheet.js.map +1 -1
  85. package/dist/app/widget-renderer.d.ts +41 -1
  86. package/dist/app/widget-renderer.d.ts.map +1 -1
  87. package/dist/app/widget-renderer.js +82 -31
  88. package/dist/app/widget-renderer.js.map +1 -1
  89. package/dist/components/DrillButton.d.ts.map +1 -1
  90. package/dist/components/DrillButton.js +2 -1
  91. package/dist/components/DrillButton.js.map +1 -1
  92. package/dist/components/EmptyState.d.ts +33 -0
  93. package/dist/components/EmptyState.d.ts.map +1 -0
  94. package/dist/components/EmptyState.js +17 -0
  95. package/dist/components/EmptyState.js.map +1 -0
  96. package/dist/components/ErrorState.d.ts +50 -0
  97. package/dist/components/ErrorState.d.ts.map +1 -0
  98. package/dist/components/ErrorState.js +60 -0
  99. package/dist/components/ErrorState.js.map +1 -0
  100. package/dist/components/FilterBar.d.ts +1 -1
  101. package/dist/components/FilterBar.d.ts.map +1 -1
  102. package/dist/components/FilterBar.js +7 -4
  103. package/dist/components/FilterBar.js.map +1 -1
  104. package/dist/components/GroupCard.d.ts.map +1 -1
  105. package/dist/components/GroupCard.js +2 -1
  106. package/dist/components/GroupCard.js.map +1 -1
  107. package/dist/components/KpiGrid.d.ts +10 -3
  108. package/dist/components/KpiGrid.d.ts.map +1 -1
  109. package/dist/components/KpiGrid.js +31 -9
  110. package/dist/components/KpiGrid.js.map +1 -1
  111. package/dist/components/ListFooter.d.ts +3 -2
  112. package/dist/components/ListFooter.d.ts.map +1 -1
  113. package/dist/components/ListFooter.js +14 -4
  114. package/dist/components/ListFooter.js.map +1 -1
  115. package/dist/components/Pills.d.ts +10 -6
  116. package/dist/components/Pills.d.ts.map +1 -1
  117. package/dist/components/Pills.js +12 -6
  118. package/dist/components/Pills.js.map +1 -1
  119. package/dist/components/Toast.d.ts +37 -0
  120. package/dist/components/Toast.d.ts.map +1 -0
  121. package/dist/components/Toast.js +91 -0
  122. package/dist/components/Toast.js.map +1 -0
  123. package/dist/components/WidgetHeader.js +1 -1
  124. package/dist/hooks/use-tool-result-recovery.d.ts +23 -1
  125. package/dist/hooks/use-tool-result-recovery.d.ts.map +1 -1
  126. package/dist/hooks/use-tool-result-recovery.js +21 -7
  127. package/dist/hooks/use-tool-result-recovery.js.map +1 -1
  128. package/dist/hooks/use-view-data.d.ts +6 -0
  129. package/dist/hooks/use-view-data.d.ts.map +1 -1
  130. package/dist/hooks/use-view-data.js +6 -1
  131. package/dist/hooks/use-view-data.js.map +1 -1
  132. package/dist/index.d.ts +12 -5
  133. package/dist/index.d.ts.map +1 -1
  134. package/dist/index.js +14 -4
  135. package/dist/index.js.map +1 -1
  136. package/dist/lib/focus-ring.d.ts +18 -0
  137. package/dist/lib/focus-ring.d.ts.map +1 -0
  138. package/dist/lib/focus-ring.js +18 -0
  139. package/dist/lib/focus-ring.js.map +1 -0
  140. package/dist/lib/icon-stroke.d.ts +12 -0
  141. package/dist/lib/icon-stroke.d.ts.map +1 -0
  142. package/dist/lib/icon-stroke.js +12 -0
  143. package/dist/lib/icon-stroke.js.map +1 -0
  144. package/dist/lib/toast-model.d.ts +46 -0
  145. package/dist/lib/toast-model.d.ts.map +1 -0
  146. package/dist/lib/toast-model.js +36 -0
  147. package/dist/lib/toast-model.js.map +1 -0
  148. package/dist/lib/tone-utils.d.ts +43 -9
  149. package/dist/lib/tone-utils.d.ts.map +1 -1
  150. package/dist/lib/tone-utils.js +36 -7
  151. package/dist/lib/tone-utils.js.map +1 -1
  152. package/dist/locale/index.d.ts +3 -1
  153. package/dist/locale/index.d.ts.map +1 -1
  154. package/dist/locale/index.js +2 -1
  155. package/dist/locale/index.js.map +1 -1
  156. package/dist/locale/locale-provider.d.ts +42 -1
  157. package/dist/locale/locale-provider.d.ts.map +1 -1
  158. package/dist/locale/locale-provider.js +44 -3
  159. package/dist/locale/locale-provider.js.map +1 -1
  160. package/dist/locale/message-types.d.ts +223 -0
  161. package/dist/locale/message-types.d.ts.map +1 -0
  162. package/dist/locale/message-types.js +7 -0
  163. package/dist/locale/message-types.js.map +1 -0
  164. package/dist/locale/messages-de.d.ts +9 -0
  165. package/dist/locale/messages-de.d.ts.map +1 -0
  166. package/dist/locale/messages-de.js +151 -0
  167. package/dist/locale/messages-de.js.map +1 -0
  168. package/dist/locale/messages-en.d.ts +8 -0
  169. package/dist/locale/messages-en.d.ts.map +1 -0
  170. package/dist/locale/messages-en.js +150 -0
  171. package/dist/locale/messages-en.js.map +1 -0
  172. package/dist/locale/toolkit-messages.d.ts +39 -0
  173. package/dist/locale/toolkit-messages.d.ts.map +1 -0
  174. package/dist/locale/toolkit-messages.js +50 -0
  175. package/dist/locale/toolkit-messages.js.map +1 -0
  176. package/dist/primitives/alert.d.ts.map +1 -1
  177. package/dist/primitives/alert.js +4 -2
  178. package/dist/primitives/alert.js.map +1 -1
  179. package/dist/primitives/badge.d.ts +1 -1
  180. package/dist/primitives/badge.d.ts.map +1 -1
  181. package/dist/primitives/badge.js +14 -6
  182. package/dist/primitives/badge.js.map +1 -1
  183. package/dist/primitives/button.d.ts.map +1 -1
  184. package/dist/primitives/button.js +12 -8
  185. package/dist/primitives/button.js.map +1 -1
  186. package/dist/primitives/card.js +4 -4
  187. package/dist/primitives/card.js.map +1 -1
  188. package/dist/primitives/dialog.d.ts +7 -3
  189. package/dist/primitives/dialog.d.ts.map +1 -1
  190. package/dist/primitives/dialog.js +14 -7
  191. package/dist/primitives/dialog.js.map +1 -1
  192. package/dist/primitives/input.d.ts.map +1 -1
  193. package/dist/primitives/input.js +4 -1
  194. package/dist/primitives/input.js.map +1 -1
  195. package/dist/primitives/scroll-area.js +1 -1
  196. package/dist/primitives/scroll-area.js.map +1 -1
  197. package/dist/primitives/select.d.ts.map +1 -1
  198. package/dist/primitives/select.js +5 -2
  199. package/dist/primitives/select.js.map +1 -1
  200. package/dist/primitives/sheet.d.ts +3 -1
  201. package/dist/primitives/sheet.d.ts.map +1 -1
  202. package/dist/primitives/sheet.js +12 -6
  203. package/dist/primitives/sheet.js.map +1 -1
  204. package/dist/primitives/skeleton.js +1 -1
  205. package/dist/primitives/skeleton.js.map +1 -1
  206. package/dist/primitives/switch.d.ts.map +1 -1
  207. package/dist/primitives/switch.js +2 -1
  208. package/dist/primitives/switch.js.map +1 -1
  209. package/dist/primitives/tabs.d.ts.map +1 -1
  210. package/dist/primitives/tabs.js +5 -3
  211. package/dist/primitives/tabs.js.map +1 -1
  212. package/dist/render-cases.d.ts.map +1 -1
  213. package/dist/render-cases.js +20 -2
  214. package/dist/render-cases.js.map +1 -1
  215. package/dist/render-scan.d.ts +25 -0
  216. package/dist/render-scan.d.ts.map +1 -0
  217. package/dist/render-scan.js +66 -0
  218. package/dist/render-scan.js.map +1 -0
  219. package/dist/theme/cd-tokens.d.ts +66 -0
  220. package/dist/theme/cd-tokens.d.ts.map +1 -0
  221. package/dist/theme/cd-tokens.js +64 -0
  222. package/dist/theme/cd-tokens.js.map +1 -0
  223. package/dist/theme/create-theme.d.ts +196 -39
  224. package/dist/theme/create-theme.d.ts.map +1 -1
  225. package/dist/theme/create-theme.js +189 -13
  226. package/dist/theme/create-theme.js.map +1 -1
  227. package/dist/theme/fonts.d.ts +38 -0
  228. package/dist/theme/fonts.d.ts.map +1 -0
  229. package/dist/theme/fonts.js +56 -0
  230. package/dist/theme/fonts.js.map +1 -0
  231. package/dist/theme/host-fonts.d.ts +39 -0
  232. package/dist/theme/host-fonts.d.ts.map +1 -0
  233. package/dist/theme/host-fonts.js +44 -0
  234. package/dist/theme/host-fonts.js.map +1 -0
  235. package/dist/theme/index.d.ts +8 -1
  236. package/dist/theme/index.d.ts.map +1 -1
  237. package/dist/theme/index.js +5 -1
  238. package/dist/theme/index.js.map +1 -1
  239. package/dist/theme/portal-container.d.ts +16 -0
  240. package/dist/theme/portal-container.d.ts.map +1 -0
  241. package/dist/theme/portal-container.js +19 -0
  242. package/dist/theme/portal-container.js.map +1 -0
  243. package/dist/theme/presets.d.ts +24 -9
  244. package/dist/theme/presets.d.ts.map +1 -1
  245. package/dist/theme/presets.js +44 -11
  246. package/dist/theme/presets.js.map +1 -1
  247. package/dist/theme/theme-provider.d.ts +27 -9
  248. package/dist/theme/theme-provider.d.ts.map +1 -1
  249. package/dist/theme/theme-provider.js +42 -20
  250. package/dist/theme/theme-provider.js.map +1 -1
  251. package/package.json +9 -4
  252. package/src/app/builder/BuilderBanners.tsx +26 -13
  253. package/src/app/builder/CanvasRow.tsx +22 -21
  254. package/src/app/builder/CatalogueSheet.tsx +16 -14
  255. package/src/app/builder/EmptyHint.tsx +16 -11
  256. package/src/app/builder/LayoutSurface.tsx +7 -7
  257. package/src/app/builder/PipelineStrip.tsx +26 -17
  258. package/src/app/builder/SaveDialog.tsx +11 -12
  259. package/src/app/builder/Toolbar.tsx +19 -7
  260. package/src/app/builder/Workspace.tsx +5 -3
  261. package/src/app/builder/builder-feedback.test.tsx +75 -0
  262. package/src/app/builder/builder-model.test.ts +5 -0
  263. package/src/app/builder/builder-model.ts +5 -4
  264. package/src/app/builder/labels.ts +15 -121
  265. package/src/app/builder/status-chip.tsx +8 -4
  266. package/src/app/builder/use-builder-catalogue.ts +6 -0
  267. package/src/app/builder/use-save-dashboard.ts +5 -0
  268. package/src/app/index.ts +8 -1
  269. package/src/app/layout-builder.tsx +23 -3
  270. package/src/app/mcp-app-view-chrome.test.tsx +347 -14
  271. package/src/app/mcp-app-view-chrome.tsx +278 -100
  272. package/src/app/mcp-app-view-states.tsx +100 -0
  273. package/src/app/mcp-app-view.test.tsx +258 -0
  274. package/src/app/mcp-app-view.tsx +292 -185
  275. package/src/app/mcp-toolkit-app.tsx +31 -7
  276. package/src/app/use-view-lifecycle.ts +116 -0
  277. package/src/app/view-lifecycle.test.ts +227 -0
  278. package/src/app/view-lifecycle.ts +174 -0
  279. package/src/app/widget-props-sheet.tsx +13 -26
  280. package/src/app/widget-renderer.render.test.tsx +131 -0
  281. package/src/app/widget-renderer.tsx +136 -38
  282. package/src/components/DrillButton.tsx +2 -1
  283. package/src/components/EmptyState.tsx +81 -0
  284. package/src/components/ErrorState.tsx +182 -0
  285. package/src/components/FilterBar.tsx +9 -6
  286. package/src/components/GroupCard.tsx +3 -2
  287. package/src/components/KpiGrid.tsx +75 -44
  288. package/src/components/ListFooter.tsx +17 -6
  289. package/src/components/Pills.tsx +20 -11
  290. package/src/components/Toast.tsx +188 -0
  291. package/src/components/WidgetHeader.tsx +1 -1
  292. package/src/components/feedback-states.test.tsx +225 -0
  293. package/src/components/tone-figures.test.tsx +54 -0
  294. package/src/fonts.css +19 -0
  295. package/src/globals.css +9 -165
  296. package/src/hooks/use-tool-result-recovery.test.ts +25 -1
  297. package/src/hooks/use-tool-result-recovery.ts +34 -6
  298. package/src/hooks/use-view-data.test.tsx +60 -0
  299. package/src/hooks/use-view-data.ts +12 -1
  300. package/src/i18n-coverage.test.tsx +323 -0
  301. package/src/index.ts +57 -5
  302. package/src/lib/focus-ring.ts +20 -0
  303. package/src/lib/icon-stroke.test.ts +59 -0
  304. package/src/lib/icon-stroke.ts +13 -0
  305. package/src/lib/toast-model.test.ts +68 -0
  306. package/src/lib/toast-model.ts +63 -0
  307. package/src/lib/tone-utils.test.ts +47 -14
  308. package/src/lib/tone-utils.ts +61 -13
  309. package/src/locale/index.ts +13 -1
  310. package/src/locale/locale-provider.test.tsx +87 -0
  311. package/src/locale/locale-provider.tsx +90 -3
  312. package/src/locale/message-types.ts +221 -0
  313. package/src/locale/messages-de.ts +159 -0
  314. package/src/locale/messages-en.ts +157 -0
  315. package/src/locale/toolkit-messages.test.ts +216 -0
  316. package/src/locale/toolkit-messages.ts +82 -0
  317. package/src/no-hardcoded-copy.test.ts +432 -0
  318. package/src/primitives/alert.tsx +4 -2
  319. package/src/primitives/badge.tsx +14 -7
  320. package/src/primitives/button.tsx +13 -8
  321. package/src/primitives/card.tsx +4 -4
  322. package/src/primitives/dialog.tsx +32 -7
  323. package/src/primitives/input.tsx +5 -3
  324. package/src/primitives/scroll-area.tsx +1 -1
  325. package/src/primitives/select.tsx +6 -3
  326. package/src/primitives/sheet.tsx +26 -6
  327. package/src/primitives/skeleton.tsx +1 -1
  328. package/src/primitives/switch.tsx +4 -2
  329. package/src/primitives/tabs.tsx +9 -6
  330. package/src/render-cases.tsx +45 -1
  331. package/src/render-scan.ts +75 -0
  332. package/src/theme/cd-tokens.generated.css +48 -0
  333. package/src/theme/cd-tokens.test.ts +107 -0
  334. package/src/theme/cd-tokens.ts +67 -0
  335. package/src/theme/create-theme.test.ts +243 -5
  336. package/src/theme/create-theme.ts +313 -41
  337. package/src/theme/fonts.test.ts +85 -0
  338. package/src/theme/fonts.ts +72 -0
  339. package/src/theme/host-fonts.test.ts +135 -0
  340. package/src/theme/host-fonts.ts +52 -0
  341. package/src/theme/index.ts +15 -1
  342. package/src/theme/portal-container.ts +20 -0
  343. package/src/theme/presets.ts +44 -11
  344. package/src/theme/theme-css.test.ts +568 -0
  345. package/src/theme/theme-provider.test.tsx +82 -0
  346. package/src/theme/theme-provider.tsx +60 -24
  347. package/src/theme.css +314 -0
  348. package/ui-catalog.json +344 -17
@@ -0,0 +1,223 @@
1
+ /**
2
+ * The shapes of the toolkit's message catalogs (see `toolkit-messages.ts`).
3
+ * Types only, kept apart from the catalogs so `messages-en.ts` /
4
+ * `messages-de.ts` can implement them without an import cycle.
5
+ */
6
+ /** Strings shared by several components. */
7
+ export interface CommonMessages {
8
+ /** Accessible name of the close button in dialogs and sheets. */
9
+ close: string;
10
+ /** Retry action of error states. */
11
+ retry: string;
12
+ /** Summary of a technical-details disclosure. */
13
+ details: string;
14
+ /** Accessible name of a toast's close button. */
15
+ dismiss: string;
16
+ /** Accessible name of the toast region. */
17
+ notifications: string;
18
+ }
19
+ /** Strings of the `McpAppView` chrome (placeholder, error state, toolbar, step errors). */
20
+ export interface ViewMessages {
21
+ /** Placeholder text while the view's data is on its way. */
22
+ loading: string;
23
+ /** Shown instead of the placeholder when the host cancelled the rendering call. */
24
+ cancelled: string;
25
+ /** Accessible name of the refresh icon button. */
26
+ refresh: string;
27
+ /** Accessible name of the refresh icon button while a refresh runs. */
28
+ refreshing: string;
29
+ /** Accessible name of the fullscreen icon button (inline view). */
30
+ enterFullscreen: string;
31
+ /** Accessible name of the fullscreen icon button (fullscreen view). */
32
+ exitFullscreen: string;
33
+ /** Label of the button that opens the view builder. */
34
+ build: string;
35
+ /** Shown under the placeholder once loading takes longer than `slowHintAfterMs`. */
36
+ slowHint: string;
37
+ /** Title of the error state when the view could not be loaded. */
38
+ errorTitle: string;
39
+ /** One line under the error title: what you can do next (a retry button follows). */
40
+ errorHint: string;
41
+ /**
42
+ * The line under an error title when no retry is offered (the originating
43
+ * tool is unknown, or the view cannot refresh): what you can do instead.
44
+ */
45
+ errorHintNoRetry: string;
46
+ /** Retry button of the error state and of the step-error alert. */
47
+ retry: string;
48
+ /** Summary of the error's technical-details disclosure. */
49
+ errorDetails: string;
50
+ /** Title of the alert that lists the data steps that failed. */
51
+ stepErrorsTitle: string;
52
+ /** The line under the step-error title when a retry is offered: what it does. */
53
+ stepErrorsHint: string;
54
+ /** Toast title when a refresh failed: what happened, in one short sentence. */
55
+ refreshFailed: string;
56
+ /** Toast line under {@link ViewMessages.refreshFailed}: what you see now and can do. */
57
+ refreshFailedHint: string;
58
+ /** Toast title when the host rejected a display-mode change. */
59
+ fullscreenFailed: string;
60
+ /** Toast line under {@link ViewMessages.fullscreenFailed}: what you can do. */
61
+ fullscreenFailedHint: string;
62
+ }
63
+ /** Strings of `ListFooter`. */
64
+ export interface ListFooterMessages {
65
+ /** The honest count line, e.g. "Showing 8 of 42 tasks". Numbers arrive pre-formatted. */
66
+ showing: (params: {
67
+ shown: string;
68
+ total: string;
69
+ noun: string;
70
+ }) => string;
71
+ /** Plural noun used when the caller passes none. */
72
+ defaultNoun: string;
73
+ loadMore: string;
74
+ loadingMore: string;
75
+ }
76
+ /** Strings of the widget renderer's fallbacks. */
77
+ export interface RendererMessages {
78
+ /** A layout cell names a widget id the bundle does not contain. */
79
+ widgetUnavailable: string;
80
+ /** A widget threw while rendering. */
81
+ widgetCrashed: string;
82
+ /** Builder canvas/preview: the cell has no data yet. */
83
+ noDataYet: string;
84
+ }
85
+ /** Strings of the visual view builder (`LayoutBuilder`). */
86
+ export interface BuilderMessages {
87
+ title: string;
88
+ builderBadge: string;
89
+ previewBadge: string;
90
+ catalogue: string;
91
+ save: string;
92
+ done: string;
93
+ viewLayoutTab: string;
94
+ viewPipelineTab: string;
95
+ viewPreviewTab: string;
96
+ saveDialogTitle: string;
97
+ saveDialogDescription: string;
98
+ saveNameLabel: string;
99
+ saveDescriptionLabel: string;
100
+ saveConfirm: string;
101
+ cancel: string;
102
+ pipelineHeader: string;
103
+ keysHeader: string;
104
+ stepsHeader: string;
105
+ keyName: string;
106
+ keyValue: string;
107
+ stepContextId: string;
108
+ stepPickerLabel: string;
109
+ addKey: string;
110
+ addStep: string;
111
+ emptyKeys: string;
112
+ emptySteps: string;
113
+ statusUpToDate: string;
114
+ statusPending: string;
115
+ statusRefreshing: string;
116
+ paletteHeader: string;
117
+ paletteEmpty: string;
118
+ canvasEmpty: string;
119
+ canvasDropHint: string;
120
+ addRow: string;
121
+ addTab: string;
122
+ removeRow: string;
123
+ renameTab: string;
124
+ removeTab: string;
125
+ tabsLabel: string;
126
+ catalogueDescription: string;
127
+ catalogueKeys: string;
128
+ catalogueSteps: string;
129
+ catalogueUnreachable: string;
130
+ catalogueUnreachableEmpty: string;
131
+ catalogueProducedBy: string;
132
+ catalogueConsumedBy: string;
133
+ catalogueNeedsKeys: string;
134
+ cataloguePickKey: string;
135
+ catalogueAddProducingStep: string;
136
+ catalogueLive: string;
137
+ catalogueMissing: string;
138
+ /** Title of the error state when the catalogue fetch fails (the raw reason goes under Details). */
139
+ catalogueError: string;
140
+ /** What to do when the catalogue fetch fails (the state offers a retry). */
141
+ catalogueErrorHint: string;
142
+ /** Heading for the pipeline-validation warning banner. */
143
+ validationWarning: string;
144
+ /** Title of the save dialog's error state when a save fails (the raw reason goes under Details). */
145
+ saveError: string;
146
+ /** What to do when a save fails (the dialog's Save button is the retry). */
147
+ saveErrorHint: string;
148
+ /** Inline message when a tab rename is rejected (duplicate label). */
149
+ renameDuplicate: string;
150
+ /** Toolbar stat: keys present in the live context. */
151
+ statsLive: string;
152
+ /** Toolbar stat: widgets the current keys and steps can feed. */
153
+ statsReachable: string;
154
+ /** Toolbar stat: widgets nothing can feed yet. */
155
+ statsUnreachable: string;
156
+ /** Empty layout view: title. */
157
+ emptyHintTitle: string;
158
+ /** Empty layout view: what to do. */
159
+ emptyHintBody: string;
160
+ /** Empty layout view: button that switches to the data-sources tab. */
161
+ openDataSources: string;
162
+ saveNamePlaceholder: string;
163
+ saveDescriptionPlaceholder: string;
164
+ /** Toast after a successful save. */
165
+ saved: (name: string) => string;
166
+ /** Hint next to the tab strip. */
167
+ renameHint: string;
168
+ /** Tooltip of a tab trigger. */
169
+ renameTitle: string;
170
+ /** Note next to the data-sources header. */
171
+ autoApplies: string;
172
+ noMoreKeys: string;
173
+ /** Tooltip of the detected value type next to a key value. */
174
+ parsedType: string;
175
+ /** Name of a detected value type (`valueTypeLabel` code: str, num, bool, arr, obj, null). */
176
+ valueType: (code: string) => string;
177
+ removeKey: string;
178
+ removeStep: string;
179
+ noInputs: string;
180
+ noOutputs: string;
181
+ rowLabel: (index: number) => string;
182
+ elementCount: (count: number) => string;
183
+ moveRowUp: string;
184
+ moveRowDown: string;
185
+ columnSpan: string;
186
+ configureElement: string;
187
+ configureElementSet: (count: number) => string;
188
+ removeElement: string;
189
+ resizeElement: string;
190
+ noKeysRegistered: string;
191
+ noStepsRegistered: string;
192
+ /** Prefix for "used by" lines that list steps. */
193
+ catalogueStepPrefix: string;
194
+ /** Prefix for "used by" lines that list widgets. */
195
+ catalogueElementPrefix: string;
196
+ }
197
+ /** Strings of the builder's per-cell props sheet. */
198
+ export interface PropsSheetMessages {
199
+ title: string;
200
+ description: string;
201
+ apply: string;
202
+ cancel: string;
203
+ reset: string;
204
+ noProps: string;
205
+ unsetOption: string;
206
+ unsupportedType: (type: string) => string;
207
+ }
208
+ /** One locale's complete toolkit catalog. */
209
+ export interface ToolkitMessages {
210
+ common: CommonMessages;
211
+ view: ViewMessages;
212
+ listFooter: ListFooterMessages;
213
+ filterBar: {
214
+ searchPlaceholder: string;
215
+ };
216
+ pills: {
217
+ live: string;
218
+ };
219
+ renderer: RendererMessages;
220
+ builder: BuilderMessages;
221
+ propsSheet: PropsSheetMessages;
222
+ }
223
+ //# sourceMappingURL=message-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-types.d.ts","sourceRoot":"","sources":["../../src/locale/message-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The shapes of the toolkit's message catalogs (see `toolkit-messages.ts`).
3
+ * Types only, kept apart from the catalogs so `messages-en.ts` /
4
+ * `messages-de.ts` can implement them without an import cycle.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=message-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-types.js","sourceRoot":"","sources":["../../src/locale/message-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,9 @@
1
+ import type { ToolkitMessages } from "./message-types.js";
2
+ /**
3
+ * German catalog. du-Ansprache, aktive Sätze, normale Groß- und
4
+ * Kleinschreibung, „…“ als Auslassung, kein Gedankenstrich als Verbinder.
5
+ * Fehlertexte sagen, was passiert ist und was du tun kannst. Guarded by
6
+ * `toolkit-messages.test.ts`.
7
+ */
8
+ export declare const de: ToolkitMessages;
9
+ //# sourceMappingURL=messages-de.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-de.d.ts","sourceRoot":"","sources":["../../src/locale/messages-de.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,EAAE,EAAE,eAsJhB,CAAA"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * German catalog. du-Ansprache, aktive Sätze, normale Groß- und
3
+ * Kleinschreibung, „…“ als Auslassung, kein Gedankenstrich als Verbinder.
4
+ * Fehlertexte sagen, was passiert ist und was du tun kannst. Guarded by
5
+ * `toolkit-messages.test.ts`.
6
+ */
7
+ export const de = {
8
+ common: {
9
+ close: "Schließen",
10
+ retry: "Erneut versuchen",
11
+ details: "Details",
12
+ dismiss: "Hinweis schließen",
13
+ notifications: "Hinweise",
14
+ },
15
+ view: {
16
+ loading: "Ansicht wird geladen…",
17
+ cancelled: "Abgebrochen. Frag im Chat noch mal nach dieser Ansicht.",
18
+ refresh: "Aktualisieren",
19
+ refreshing: "Wird aktualisiert…",
20
+ enterFullscreen: "Vollbild",
21
+ exitFullscreen: "Vollbild verlassen",
22
+ build: "Ansicht bearbeiten",
23
+ slowHint: "Das dauert länger als üblich. Wenn nichts passiert, frag im Chat noch mal nach.",
24
+ errorTitle: "Die Ansicht konnte nicht geladen werden",
25
+ errorHint: "Versuch es noch mal. Klappt es wieder nicht, frag im Chat nach.",
26
+ errorHintNoRetry: "Frag im Chat noch mal nach dieser Ansicht.",
27
+ retry: "Erneut versuchen",
28
+ errorDetails: "Details",
29
+ stepErrorsTitle: "Ein Teil der Daten konnte nicht geladen werden",
30
+ stepErrorsHint: "Versuch es noch mal, um die fehlenden Daten zu laden.",
31
+ refreshFailed: "Aktualisieren hat nicht geklappt.",
32
+ refreshFailedHint: "Du siehst den zuletzt geladenen Stand. Versuch es gleich noch mal.",
33
+ fullscreenFailed: "Die Darstellung ließ sich nicht umschalten.",
34
+ fullscreenFailedHint: "Die Ansicht bleibt, wie sie ist. Versuch es gleich noch mal.",
35
+ },
36
+ listFooter: {
37
+ showing: ({ shown, total, noun }) => `Zeigt ${shown} von ${total} ${noun}`.trimEnd(),
38
+ defaultNoun: "Zeilen",
39
+ loadMore: "Mehr laden",
40
+ loadingMore: "Wird geladen…",
41
+ },
42
+ filterBar: { searchPlaceholder: "Filtern…" },
43
+ pills: { live: "Live" },
44
+ renderer: {
45
+ widgetUnavailable: "Dieses Element ist in dieser Version nicht verfügbar.",
46
+ widgetCrashed: "Dieses Element konnte nicht angezeigt werden.",
47
+ noDataYet: "Noch keine Daten. Nach dem nächsten Aktualisieren sind sie da.",
48
+ },
49
+ builder: {
50
+ title: "Ansicht bearbeiten",
51
+ builderBadge: "Bearbeitung",
52
+ previewBadge: "Vorschau",
53
+ catalogue: "Katalog",
54
+ save: "Speichern",
55
+ done: "Fertig",
56
+ viewLayoutTab: "Layout",
57
+ viewPipelineTab: "Datenquellen",
58
+ viewPreviewTab: "Vorschau",
59
+ saveDialogTitle: "Dashboard speichern",
60
+ saveDialogDescription: "Speichert das Layout zusammen mit den Datenquellen, die es füllen.",
61
+ saveNameLabel: "Name",
62
+ saveDescriptionLabel: "Beschreibung",
63
+ saveConfirm: "Dashboard speichern",
64
+ cancel: "Abbrechen",
65
+ pipelineHeader: "Datenquellen",
66
+ keysHeader: "Schlüssel",
67
+ stepsHeader: "Schritte",
68
+ keyName: "Schlüssel",
69
+ keyValue: 'Wert, "Text", true, {…}',
70
+ stepContextId: "Schritt-ID",
71
+ stepPickerLabel: "Schritt wählen",
72
+ addKey: "Schlüssel hinzufügen",
73
+ addStep: "Schritt hinzufügen",
74
+ emptyKeys: "Noch keine Schlüssel.",
75
+ emptySteps: "Noch keine Schritte.",
76
+ statusUpToDate: "Aktuell",
77
+ statusPending: "Wird gleich übernommen…",
78
+ statusRefreshing: "Wird übernommen…",
79
+ paletteHeader: "Elemente",
80
+ paletteEmpty: "Noch keine Elemente verfügbar. Füg einen Schlüssel oder einen Schritt hinzu.",
81
+ canvasEmpty: "Zieh ein Element hierher oder klick eins in der Liste an.",
82
+ canvasDropHint: "Zum Hinzufügen loslassen",
83
+ addRow: "Zeile hinzufügen",
84
+ addTab: "Tab hinzufügen",
85
+ removeRow: "Zeile entfernen",
86
+ renameTab: "Tab umbenennen",
87
+ removeTab: "Tab entfernen",
88
+ tabsLabel: "Tabs",
89
+ catalogueDescription: "Alle Schlüssel und Elemente, die der Server kennt, ob gerade verfügbar oder nicht.",
90
+ catalogueKeys: "Schlüssel",
91
+ catalogueSteps: "Schritte",
92
+ catalogueUnreachable: "Nicht verfügbare Elemente",
93
+ catalogueUnreachableEmpty: "Alle Elemente sind verfügbar.",
94
+ catalogueProducedBy: "erzeugt von",
95
+ catalogueConsumedBy: "genutzt von",
96
+ catalogueNeedsKeys: "braucht",
97
+ cataloguePickKey: "Als Schlüssel hinzufügen",
98
+ catalogueAddProducingStep: "Erzeugenden Schritt hinzufügen",
99
+ catalogueLive: "vorhanden",
100
+ catalogueMissing: "fehlt",
101
+ catalogueError: "Der Katalog ließ sich nicht aktualisieren",
102
+ catalogueErrorHint: "Die angezeigten Elemente und Datenquellen sind vielleicht nicht aktuell. Versuch es noch mal. Klappt es wieder nicht, frag im Chat nach.",
103
+ validationWarning: "So lässt sich die Ansicht nicht darstellen",
104
+ saveError: "Das Dashboard ließ sich nicht speichern",
105
+ saveErrorHint: "Deine Änderungen sind noch da. Versuch gleich noch mal zu speichern. Klappt es wieder nicht, frag im Chat nach.",
106
+ renameDuplicate: "Einen Tab mit diesem Namen gibt es schon.",
107
+ statsLive: "vorhanden",
108
+ statsReachable: "verfügbar",
109
+ statsUnreachable: "nicht verfügbar",
110
+ emptyHintTitle: "Noch keine Elemente verfügbar.",
111
+ emptyHintBody: "Füg unter Datenquellen einen Schlüssel oder einen Schritt hinzu. Elemente erscheinen, sobald ihre Daten da sind.",
112
+ openDataSources: "Datenquellen öffnen",
113
+ saveNamePlaceholder: "Name des Dashboards",
114
+ saveDescriptionPlaceholder: "Optional",
115
+ saved: (name) => `Dashboard „${name}“ gespeichert.`,
116
+ renameHint: "Doppelklick auf einen Tab benennt ihn um.",
117
+ renameTitle: "Doppelklicken zum Umbenennen",
118
+ autoApplies: "Änderungen gelten sofort",
119
+ noMoreKeys: "Keine weiteren Schlüssel verfügbar.",
120
+ parsedType: "Erkannter Typ",
121
+ valueType: (code) => ({ str: "Text", num: "Zahl", bool: "Ja/Nein", arr: "Liste", obj: "Objekt", null: "leer" })[code] ?? code,
122
+ removeKey: "Schlüssel entfernen",
123
+ removeStep: "Schritt entfernen",
124
+ noInputs: "keine Eingaben",
125
+ noOutputs: "keine Ausgaben",
126
+ rowLabel: (index) => `Zeile ${index}`,
127
+ elementCount: (count) => (count === 1 ? "1 Element" : `${count} Elemente`),
128
+ moveRowUp: "Zeile nach oben schieben",
129
+ moveRowDown: "Zeile nach unten schieben",
130
+ columnSpan: "Spaltenbreite",
131
+ configureElement: "Element konfigurieren",
132
+ configureElementSet: (count) => `Element konfigurieren (${count} gesetzt)`,
133
+ removeElement: "Element entfernen",
134
+ resizeElement: "Elementbreite ändern",
135
+ noKeysRegistered: "Keine Schlüssel registriert.",
136
+ noStepsRegistered: "Keine Schritte registriert.",
137
+ catalogueStepPrefix: "Schritt",
138
+ catalogueElementPrefix: "Element",
139
+ },
140
+ propsSheet: {
141
+ title: "Element konfigurieren",
142
+ description: "Einstellungen für dieses Element.",
143
+ apply: "Übernehmen",
144
+ cancel: "Abbrechen",
145
+ reset: "Zurücksetzen",
146
+ noProps: "Dieses Element hat keine Einstellungen.",
147
+ unsetOption: "Nicht gesetzt",
148
+ unsupportedType: (type) => `Diesen Feldtyp (${type}) kannst du hier nicht bearbeiten.`,
149
+ },
150
+ };
151
+ //# sourceMappingURL=messages-de.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-de.js","sourceRoot":"","sources":["../../src/locale/messages-de.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,EAAE,GAAoB;IACjC,MAAM,EAAE;QACN,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,mBAAmB;QAC5B,aAAa,EAAE,UAAU;KAC1B;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,uBAAuB;QAChC,SAAS,EAAE,yDAAyD;QACpE,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,oBAAoB;QAChC,eAAe,EAAE,UAAU;QAC3B,cAAc,EAAE,oBAAoB;QACpC,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,iFAAiF;QAC3F,UAAU,EAAE,yCAAyC;QACrD,SAAS,EAAE,iEAAiE;QAC5E,gBAAgB,EAAE,4CAA4C;QAC9D,KAAK,EAAE,kBAAkB;QACzB,YAAY,EAAE,SAAS;QACvB,eAAe,EAAE,gDAAgD;QACjE,cAAc,EAAE,uDAAuD;QACvE,aAAa,EAAE,mCAAmC;QAClD,iBAAiB,EAAE,oEAAoE;QACvF,gBAAgB,EAAE,6CAA6C;QAC/D,oBAAoB,EAAE,8DAA8D;KACrF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,SAAS,KAAK,QAAQ,KAAK,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;QACpF,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,eAAe;KAC7B;IACD,SAAS,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE;IAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACvB,QAAQ,EAAE;QACR,iBAAiB,EAAE,uDAAuD;QAC1E,aAAa,EAAE,+CAA+C;QAC9D,SAAS,EAAE,gEAAgE;KAC5E;IACD,OAAO,EAAE;QACP,KAAK,EAAE,oBAAoB;QAC3B,YAAY,EAAE,aAAa;QAC3B,YAAY,EAAE,UAAU;QACxB,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,QAAQ;QACvB,eAAe,EAAE,cAAc;QAC/B,cAAc,EAAE,UAAU;QAC1B,eAAe,EAAE,qBAAqB;QACtC,qBAAqB,EAAE,oEAAoE;QAC3F,aAAa,EAAE,MAAM;QACrB,oBAAoB,EAAE,cAAc;QACpC,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,WAAW;QACnB,cAAc,EAAE,cAAc;QAC9B,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,yBAAyB;QACnC,aAAa,EAAE,YAAY;QAC3B,eAAe,EAAE,gBAAgB;QACjC,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,oBAAoB;QAC7B,SAAS,EAAE,uBAAuB;QAClC,UAAU,EAAE,sBAAsB;QAClC,cAAc,EAAE,SAAS;QACzB,aAAa,EAAE,yBAAyB;QACxC,gBAAgB,EAAE,kBAAkB;QACpC,aAAa,EAAE,UAAU;QACzB,YAAY,EAAE,8EAA8E;QAC5F,WAAW,EAAE,2DAA2D;QACxE,cAAc,EAAE,0BAA0B;QAC1C,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,gBAAgB;QAC3B,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,MAAM;QACjB,oBAAoB,EAClB,oFAAoF;QACtF,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,UAAU;QAC1B,oBAAoB,EAAE,2BAA2B;QACjD,yBAAyB,EAAE,+BAA+B;QAC1D,mBAAmB,EAAE,aAAa;QAClC,mBAAmB,EAAE,aAAa;QAClC,kBAAkB,EAAE,SAAS;QAC7B,gBAAgB,EAAE,0BAA0B;QAC5C,yBAAyB,EAAE,gCAAgC;QAC3D,aAAa,EAAE,WAAW;QAC1B,gBAAgB,EAAE,OAAO;QACzB,cAAc,EAAE,2CAA2C;QAC3D,kBAAkB,EAChB,0IAA0I;QAC5I,iBAAiB,EAAE,4CAA4C;QAC/D,SAAS,EAAE,yCAAyC;QACpD,aAAa,EACX,iHAAiH;QACnH,eAAe,EAAE,2CAA2C;QAC5D,SAAS,EAAE,WAAW;QACtB,cAAc,EAAE,WAAW;QAC3B,gBAAgB,EAAE,iBAAiB;QACnC,cAAc,EAAE,gCAAgC;QAChD,aAAa,EACX,kHAAkH;QACpH,eAAe,EAAE,qBAAqB;QACtC,mBAAmB,EAAE,qBAAqB;QAC1C,0BAA0B,EAAE,UAAU;QACtC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,IAAI,gBAAgB;QACnD,UAAU,EAAE,2CAA2C;QACvD,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,qCAAqC;QACjD,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAClB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CACxF,IAAI,CACL,IAAI,IAAI;QACX,SAAS,EAAE,qBAAqB;QAChC,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,gBAAgB;QAC1B,SAAS,EAAE,gBAAgB;QAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE;QACrC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC;QAC1E,SAAS,EAAE,0BAA0B;QACrC,WAAW,EAAE,2BAA2B;QACxC,UAAU,EAAE,eAAe;QAC3B,gBAAgB,EAAE,uBAAuB;QACzC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,0BAA0B,KAAK,WAAW;QAC1E,aAAa,EAAE,mBAAmB;QAClC,aAAa,EAAE,sBAAsB;QACrC,gBAAgB,EAAE,8BAA8B;QAChD,iBAAiB,EAAE,6BAA6B;QAChD,mBAAmB,EAAE,SAAS;QAC9B,sBAAsB,EAAE,SAAS;KAClC;IACD,UAAU,EAAE;QACV,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,mCAAmC;QAChD,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,yCAAyC;QAClD,WAAW,EAAE,eAAe;QAC5B,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,IAAI,oCAAoC;KACvF;CACF,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { ToolkitMessages } from "./message-types.js";
2
+ /**
3
+ * English catalog — the fallback for every locale the toolkit does not ship.
4
+ * Sentence case, active voice, one "…" character for ellipses, no dashes as
5
+ * connectors; guarded by `toolkit-messages.test.ts`.
6
+ */
7
+ export declare const en: ToolkitMessages;
8
+ //# sourceMappingURL=messages-en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-en.d.ts","sourceRoot":"","sources":["../../src/locale/messages-en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD;;;;GAIG;AACH,eAAO,MAAM,EAAE,EAAE,eAqJhB,CAAA"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * English catalog — the fallback for every locale the toolkit does not ship.
3
+ * Sentence case, active voice, one "…" character for ellipses, no dashes as
4
+ * connectors; guarded by `toolkit-messages.test.ts`.
5
+ */
6
+ export const en = {
7
+ common: {
8
+ close: "Close",
9
+ retry: "Try again",
10
+ details: "Details",
11
+ dismiss: "Close notification",
12
+ notifications: "Notifications",
13
+ },
14
+ view: {
15
+ loading: "Loading view…",
16
+ cancelled: "Cancelled. Ask in the chat to open this view again.",
17
+ refresh: "Refresh",
18
+ refreshing: "Refreshing…",
19
+ enterFullscreen: "Fullscreen",
20
+ exitFullscreen: "Exit fullscreen",
21
+ build: "Edit view",
22
+ slowHint: "This is taking longer than usual. If nothing happens, ask in the chat again.",
23
+ errorTitle: "This view couldn't be loaded",
24
+ errorHint: "Try again. If it fails again, ask in the chat.",
25
+ errorHintNoRetry: "Ask in the chat to open this view again.",
26
+ retry: "Try again",
27
+ errorDetails: "Details",
28
+ stepErrorsTitle: "Some data couldn't be loaded",
29
+ stepErrorsHint: "Try again to load the missing data.",
30
+ refreshFailed: "Refresh didn't work.",
31
+ refreshFailedHint: "You're seeing the last loaded data. Try again in a moment.",
32
+ fullscreenFailed: "Couldn't switch the display mode.",
33
+ fullscreenFailedHint: "The view stays as it is. Try again in a moment.",
34
+ },
35
+ listFooter: {
36
+ showing: ({ shown, total, noun }) => `Showing ${shown} of ${total} ${noun}`.trimEnd(),
37
+ defaultNoun: "rows",
38
+ loadMore: "Load more",
39
+ loadingMore: "Loading…",
40
+ },
41
+ filterBar: { searchPlaceholder: "Filter…" },
42
+ pills: { live: "Live" },
43
+ renderer: {
44
+ widgetUnavailable: "This element isn't available in this version.",
45
+ widgetCrashed: "This element couldn't be displayed.",
46
+ noDataYet: "No data yet. It appears after the next refresh.",
47
+ },
48
+ builder: {
49
+ title: "Edit view",
50
+ builderBadge: "Editing",
51
+ previewBadge: "Preview",
52
+ catalogue: "Catalogue",
53
+ save: "Save",
54
+ done: "Done",
55
+ viewLayoutTab: "Layout",
56
+ viewPipelineTab: "Data sources",
57
+ viewPreviewTab: "Preview",
58
+ saveDialogTitle: "Save dashboard",
59
+ saveDialogDescription: "Saves the layout together with the data sources that fill it.",
60
+ saveNameLabel: "Name",
61
+ saveDescriptionLabel: "Description",
62
+ saveConfirm: "Save dashboard",
63
+ cancel: "Cancel",
64
+ pipelineHeader: "Data sources",
65
+ keysHeader: "Keys",
66
+ stepsHeader: "Steps",
67
+ keyName: "Key",
68
+ keyValue: 'Value, "text", true, {…}',
69
+ stepContextId: "Step ID",
70
+ stepPickerLabel: "Pick a step",
71
+ addKey: "Add key",
72
+ addStep: "Add step",
73
+ emptyKeys: "No keys yet.",
74
+ emptySteps: "No steps yet.",
75
+ statusUpToDate: "Up to date",
76
+ statusPending: "Applying soon…",
77
+ statusRefreshing: "Applying…",
78
+ paletteHeader: "Elements",
79
+ paletteEmpty: "No elements available yet. Add a key or a step.",
80
+ canvasEmpty: "Drag an element here or click one in the list.",
81
+ canvasDropHint: "Drop to add",
82
+ addRow: "Add row",
83
+ addTab: "Add tab",
84
+ removeRow: "Remove row",
85
+ renameTab: "Rename tab",
86
+ removeTab: "Remove tab",
87
+ tabsLabel: "Tabs",
88
+ catalogueDescription: "Every key and element the server knows, available or not.",
89
+ catalogueKeys: "Keys",
90
+ catalogueSteps: "Steps",
91
+ catalogueUnreachable: "Unavailable elements",
92
+ catalogueUnreachableEmpty: "Every element is available.",
93
+ catalogueProducedBy: "produced by",
94
+ catalogueConsumedBy: "used by",
95
+ catalogueNeedsKeys: "needs",
96
+ cataloguePickKey: "Add as key",
97
+ catalogueAddProducingStep: "Add producing step",
98
+ catalogueLive: "live",
99
+ catalogueMissing: "missing",
100
+ catalogueError: "Couldn't refresh the catalogue",
101
+ catalogueErrorHint: "The elements and data sources shown may be out of date. Try again. If it fails again, ask in the chat.",
102
+ validationWarning: "This view won't render as configured",
103
+ saveError: "The dashboard couldn't be saved",
104
+ saveErrorHint: "Your changes are still here. Try saving again in a moment. If it fails again, ask in the chat.",
105
+ renameDuplicate: "A tab with that name already exists.",
106
+ statsLive: "live",
107
+ statsReachable: "available",
108
+ statsUnreachable: "unavailable",
109
+ emptyHintTitle: "No elements available yet.",
110
+ emptyHintBody: "Add a key or a step under data sources. Elements appear as soon as their data is there.",
111
+ openDataSources: "Open data sources",
112
+ saveNamePlaceholder: "Name of the dashboard",
113
+ saveDescriptionPlaceholder: "Optional",
114
+ saved: (name) => `Dashboard “${name}” saved.`,
115
+ renameHint: "Double-click a tab to rename it.",
116
+ renameTitle: "Double-click to rename",
117
+ autoApplies: "Changes apply right away",
118
+ noMoreKeys: "No more keys available.",
119
+ parsedType: "Detected type",
120
+ valueType: (code) => ({ str: "text", num: "number", bool: "yes/no", arr: "list", obj: "object", null: "empty" })[code] ?? code,
121
+ removeKey: "Remove key",
122
+ removeStep: "Remove step",
123
+ noInputs: "no inputs",
124
+ noOutputs: "no outputs",
125
+ rowLabel: (index) => `Row ${index}`,
126
+ elementCount: (count) => (count === 1 ? "1 element" : `${count} elements`),
127
+ moveRowUp: "Move row up",
128
+ moveRowDown: "Move row down",
129
+ columnSpan: "Column span",
130
+ configureElement: "Configure element",
131
+ configureElementSet: (count) => `Configure element (${count} set)`,
132
+ removeElement: "Remove element",
133
+ resizeElement: "Resize element",
134
+ noKeysRegistered: "No keys registered.",
135
+ noStepsRegistered: "No steps registered.",
136
+ catalogueStepPrefix: "step",
137
+ catalogueElementPrefix: "element",
138
+ },
139
+ propsSheet: {
140
+ title: "Configure element",
141
+ description: "Settings for this element.",
142
+ apply: "Apply",
143
+ cancel: "Cancel",
144
+ reset: "Reset",
145
+ noProps: "This element has no settings.",
146
+ unsetOption: "Not set",
147
+ unsupportedType: (type) => `This field type (${type}) can't be edited here.`,
148
+ },
149
+ };
150
+ //# sourceMappingURL=messages-en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages-en.js","sourceRoot":"","sources":["../../src/locale/messages-en.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The toolkit's own UI strings — every caption, label, placeholder and
3
+ * accessible name a toolkit component renders — as one typed catalog per
4
+ * locale. Components read the active locale's catalog through
5
+ * `useToolkitMessages()` (the nearest `LocaleProvider`), so a consumer only
6
+ * passes a locale; nothing in the toolkit hard-codes English any more.
7
+ *
8
+ * Pure data + functions (no React, no `mcp-use/react`): browser-safe and
9
+ * shared by the root barrel and the `./app` shell alike.
10
+ */
11
+ import type { ToolkitMessages } from "./message-types.js";
12
+ export type { BuilderMessages, CommonMessages, ListFooterMessages, PropsSheetMessages, RendererMessages, ToolkitMessages, ViewMessages, } from "./message-types.js";
13
+ /** A partial override of a {@link ToolkitMessages} catalog, per section. */
14
+ export type ToolkitMessagesOverride = {
15
+ [K in keyof ToolkitMessages]?: Partial<ToolkitMessages[K]>;
16
+ };
17
+ /** The locales the toolkit ships a catalog for. English is the fallback. */
18
+ export declare const TOOLKIT_LOCALES: readonly ["en", "de"];
19
+ export type ToolkitLocale = (typeof TOOLKIT_LOCALES)[number];
20
+ /** The shipped catalogs, keyed by {@link ToolkitLocale}. */
21
+ export declare const TOOLKIT_MESSAGES: Readonly<Record<ToolkitLocale, ToolkitMessages>>;
22
+ /**
23
+ * Map any BCP 47 tag (`"de-DE"`, `"de_AT"`, `"EN"`) onto a shipped catalog:
24
+ * its primary language subtag when the toolkit ships it, English otherwise.
25
+ */
26
+ export declare function resolveToolkitLocale(locale: string | undefined): ToolkitLocale;
27
+ /**
28
+ * The catalog for `locale`, with `override` merged over it section by
29
+ * section. Without an override the shipped catalog object itself is returned
30
+ * (referentially stable — safe as a memo dependency).
31
+ */
32
+ export declare function resolveToolkitMessages(locale: string | undefined, override?: ToolkitMessagesOverride): ToolkitMessages;
33
+ /**
34
+ * Format a count for display in `locale` (grouping separators per locale:
35
+ * `1,234` / `1.234`). An invalid tag falls back to English instead of
36
+ * throwing inside a render.
37
+ */
38
+ export declare function formatCount(value: number, locale: string | undefined): string;
39
+ //# sourceMappingURL=toolkit-messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolkit-messages.d.ts","sourceRoot":"","sources":["../../src/locale/toolkit-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIzD,YAAY,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,4EAA4E;AAC5E,MAAM,MAAM,uBAAuB,GAAG;KACnC,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,eAAe,uBAAwB,CAAA;AACpD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE5D,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAc,CAAA;AAE5F;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAK9E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,CAAC,EAAE,uBAAuB,GACjC,eAAe,CAajB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAM7E"}