@miragon/mcp-toolkit-ui 2.6.0 → 2.8.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.
- package/README.md +14 -5
- package/dist/app/adapt-data-widget.d.ts +1 -22
- package/dist/app/adapt-data-widget.d.ts.map +1 -1
- package/dist/app/adapt-data-widget.js +1 -35
- package/dist/app/adapt-data-widget.js.map +1 -1
- package/dist/app/builder/BuilderBanners.d.ts +7 -2
- package/dist/app/builder/BuilderBanners.d.ts.map +1 -1
- package/dist/app/builder/BuilderBanners.js +8 -3
- package/dist/app/builder/BuilderBanners.js.map +1 -1
- package/dist/app/builder/CanvasRow.d.ts +4 -2
- package/dist/app/builder/CanvasRow.d.ts.map +1 -1
- package/dist/app/builder/CanvasRow.js +29 -17
- package/dist/app/builder/CanvasRow.js.map +1 -1
- package/dist/app/builder/CatalogueSheet.d.ts.map +1 -1
- package/dist/app/builder/CatalogueSheet.js +14 -6
- package/dist/app/builder/CatalogueSheet.js.map +1 -1
- package/dist/app/builder/CellPropsSheet.d.ts +7 -3
- package/dist/app/builder/CellPropsSheet.d.ts.map +1 -1
- package/dist/app/builder/CellPropsSheet.js +10 -3
- package/dist/app/builder/CellPropsSheet.js.map +1 -1
- package/dist/app/builder/DiscardDialog.d.ts +18 -0
- package/dist/app/builder/DiscardDialog.d.ts.map +1 -0
- package/dist/app/builder/DiscardDialog.js +18 -0
- package/dist/app/builder/DiscardDialog.js.map +1 -0
- package/dist/app/builder/EmptyHint.d.ts +4 -0
- package/dist/app/builder/EmptyHint.d.ts.map +1 -1
- package/dist/app/builder/EmptyHint.js +6 -1
- package/dist/app/builder/EmptyHint.js.map +1 -1
- package/dist/app/builder/LayoutSurface.d.ts +33 -9
- package/dist/app/builder/LayoutSurface.d.ts.map +1 -1
- package/dist/app/builder/LayoutSurface.js +74 -23
- package/dist/app/builder/LayoutSurface.js.map +1 -1
- package/dist/app/builder/PipelineStrip.d.ts +5 -2
- package/dist/app/builder/PipelineStrip.d.ts.map +1 -1
- package/dist/app/builder/PipelineStrip.js +33 -15
- package/dist/app/builder/PipelineStrip.js.map +1 -1
- package/dist/app/builder/SaveDialog.d.ts +9 -1
- package/dist/app/builder/SaveDialog.d.ts.map +1 -1
- package/dist/app/builder/SaveDialog.js +9 -3
- package/dist/app/builder/SaveDialog.js.map +1 -1
- package/dist/app/builder/Toolbar.d.ts +14 -4
- package/dist/app/builder/Toolbar.d.ts.map +1 -1
- package/dist/app/builder/Toolbar.js +24 -7
- package/dist/app/builder/Toolbar.js.map +1 -1
- package/dist/app/builder/Workspace.d.ts +23 -3
- package/dist/app/builder/Workspace.d.ts.map +1 -1
- package/dist/app/builder/Workspace.js +58 -8
- package/dist/app/builder/Workspace.js.map +1 -1
- package/dist/app/builder/builder-model.d.ts +146 -3
- package/dist/app/builder/builder-model.d.ts.map +1 -1
- package/dist/app/builder/builder-model.js +196 -5
- package/dist/app/builder/builder-model.js.map +1 -1
- package/dist/app/builder/labels.d.ts +13 -62
- package/dist/app/builder/labels.d.ts.map +1 -1
- package/dist/app/builder/labels.js +9 -58
- package/dist/app/builder/labels.js.map +1 -1
- package/dist/app/builder/reveal.d.ts +10 -0
- package/dist/app/builder/reveal.d.ts.map +1 -0
- package/dist/app/builder/reveal.js +10 -0
- package/dist/app/builder/reveal.js.map +1 -0
- package/dist/app/builder/status-chip.d.ts.map +1 -1
- package/dist/app/builder/status-chip.js +3 -2
- package/dist/app/builder/status-chip.js.map +1 -1
- package/dist/app/builder/use-builder-catalogue.d.ts +5 -1
- package/dist/app/builder/use-builder-catalogue.d.ts.map +1 -1
- package/dist/app/builder/use-builder-catalogue.js +50 -17
- package/dist/app/builder/use-builder-catalogue.js.map +1 -1
- package/dist/app/builder/use-builder-session.d.ts +30 -0
- package/dist/app/builder/use-builder-session.d.ts.map +1 -0
- package/dist/app/builder/use-builder-session.js +58 -0
- package/dist/app/builder/use-builder-session.js.map +1 -0
- package/dist/app/builder/use-display-resolver.d.ts +17 -0
- package/dist/app/builder/use-display-resolver.d.ts.map +1 -0
- package/dist/app/builder/use-display-resolver.js +16 -0
- package/dist/app/builder/use-display-resolver.js.map +1 -0
- package/dist/app/builder/use-save-dashboard.d.ts +3 -1
- package/dist/app/builder/use-save-dashboard.d.ts.map +1 -1
- package/dist/app/builder/use-save-dashboard.js +3 -1
- package/dist/app/builder/use-save-dashboard.js.map +1 -1
- package/dist/app/index.d.ts +8 -3
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +8 -2
- package/dist/app/index.js.map +1 -1
- package/dist/app/layout-builder.d.ts +18 -25
- package/dist/app/layout-builder.d.ts.map +1 -1
- package/dist/app/layout-builder.js +84 -78
- package/dist/app/layout-builder.js.map +1 -1
- package/dist/app/mcp-app-view-chrome.d.ts +103 -20
- package/dist/app/mcp-app-view-chrome.d.ts.map +1 -1
- package/dist/app/mcp-app-view-chrome.js +125 -40
- package/dist/app/mcp-app-view-chrome.js.map +1 -1
- package/dist/app/mcp-app-view-states.d.ts +23 -0
- package/dist/app/mcp-app-view-states.d.ts.map +1 -0
- package/dist/app/mcp-app-view-states.js +55 -0
- package/dist/app/mcp-app-view-states.js.map +1 -0
- package/dist/app/mcp-app-view.d.ts +72 -5
- package/dist/app/mcp-app-view.d.ts.map +1 -1
- package/dist/app/mcp-app-view.js +241 -141
- package/dist/app/mcp-app-view.js.map +1 -1
- package/dist/app/mcp-toolkit-app.d.ts +8 -2
- package/dist/app/mcp-toolkit-app.d.ts.map +1 -1
- package/dist/app/mcp-toolkit-app.js +33 -4
- package/dist/app/mcp-toolkit-app.js.map +1 -1
- package/dist/app/mcp-use-host-bridge.d.ts +15 -6
- package/dist/app/mcp-use-host-bridge.d.ts.map +1 -1
- package/dist/app/mcp-use-host-bridge.js +51 -22
- package/dist/app/mcp-use-host-bridge.js.map +1 -1
- package/dist/app/model-context.d.ts +71 -0
- package/dist/app/model-context.d.ts.map +1 -0
- package/dist/app/model-context.js +101 -0
- package/dist/app/model-context.js.map +1 -0
- package/dist/app/use-build-mode-focus.d.ts +33 -0
- package/dist/app/use-build-mode-focus.d.ts.map +1 -0
- package/dist/app/use-build-mode-focus.js +59 -0
- package/dist/app/use-build-mode-focus.js.map +1 -0
- package/dist/app/use-view-actions.d.ts +31 -0
- package/dist/app/use-view-actions.d.ts.map +1 -0
- package/dist/app/use-view-actions.js +81 -0
- package/dist/app/use-view-actions.js.map +1 -0
- package/dist/app/use-view-lifecycle.d.ts +42 -0
- package/dist/app/use-view-lifecycle.d.ts.map +1 -0
- package/dist/app/use-view-lifecycle.js +81 -0
- package/dist/app/use-view-lifecycle.js.map +1 -0
- package/dist/app/view-lifecycle.d.ts +185 -0
- package/dist/app/view-lifecycle.d.ts.map +1 -0
- package/dist/app/view-lifecycle.js +207 -0
- package/dist/app/view-lifecycle.js.map +1 -0
- package/dist/app/widget-fixture.d.ts +10 -3
- package/dist/app/widget-fixture.d.ts.map +1 -1
- package/dist/app/widget-fixture.js +21 -8
- package/dist/app/widget-fixture.js.map +1 -1
- package/dist/app/widget-props-sheet.d.ts +6 -10
- package/dist/app/widget-props-sheet.d.ts.map +1 -1
- package/dist/app/widget-props-sheet.js +25 -20
- package/dist/app/widget-props-sheet.js.map +1 -1
- package/dist/app/widget-renderer.d.ts +41 -1
- package/dist/app/widget-renderer.d.ts.map +1 -1
- package/dist/app/widget-renderer.js +82 -31
- package/dist/app/widget-renderer.js.map +1 -1
- package/dist/components/DrillButton.d.ts +9 -6
- package/dist/components/DrillButton.d.ts.map +1 -1
- package/dist/components/DrillButton.js +9 -6
- package/dist/components/DrillButton.js.map +1 -1
- package/dist/components/EmptyState.d.ts +33 -0
- package/dist/components/EmptyState.d.ts.map +1 -0
- package/dist/components/EmptyState.js +19 -0
- package/dist/components/EmptyState.js.map +1 -0
- package/dist/components/ErrorState.d.ts +53 -0
- package/dist/components/ErrorState.d.ts.map +1 -0
- package/dist/components/ErrorState.js +77 -0
- package/dist/components/ErrorState.js.map +1 -0
- package/dist/components/FilterBar.d.ts +16 -5
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +13 -5
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/GroupCard.d.ts.map +1 -1
- package/dist/components/GroupCard.js +2 -1
- package/dist/components/GroupCard.js.map +1 -1
- package/dist/components/KpiGrid.d.ts +70 -18
- package/dist/components/KpiGrid.d.ts.map +1 -1
- package/dist/components/KpiGrid.js +112 -23
- package/dist/components/KpiGrid.js.map +1 -1
- package/dist/components/ListFooter.d.ts +32 -4
- package/dist/components/ListFooter.d.ts.map +1 -1
- package/dist/components/ListFooter.js +35 -6
- package/dist/components/ListFooter.js.map +1 -1
- package/dist/components/PagedListFooter.d.ts +57 -0
- package/dist/components/PagedListFooter.d.ts.map +1 -0
- package/dist/components/PagedListFooter.js +27 -0
- package/dist/components/PagedListFooter.js.map +1 -0
- package/dist/components/Pills.d.ts +36 -12
- package/dist/components/Pills.d.ts.map +1 -1
- package/dist/components/Pills.js +29 -8
- package/dist/components/Pills.js.map +1 -1
- package/dist/components/SectionHeading.d.ts +3 -1
- package/dist/components/SectionHeading.d.ts.map +1 -1
- package/dist/components/SectionHeading.js +6 -2
- package/dist/components/SectionHeading.js.map +1 -1
- package/dist/components/Toast.d.ts +43 -0
- package/dist/components/Toast.d.ts.map +1 -0
- package/dist/components/Toast.js +106 -0
- package/dist/components/Toast.js.map +1 -0
- package/dist/components/WidgetHeader.d.ts +34 -10
- package/dist/components/WidgetHeader.d.ts.map +1 -1
- package/dist/components/WidgetHeader.js +11 -6
- package/dist/components/WidgetHeader.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -4
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/tool-result-recovery-model.d.ts +155 -0
- package/dist/hooks/tool-result-recovery-model.d.ts.map +1 -0
- package/dist/hooks/tool-result-recovery-model.js +273 -0
- package/dist/hooks/tool-result-recovery-model.js.map +1 -0
- package/dist/hooks/use-tool-query.d.ts +56 -14
- package/dist/hooks/use-tool-query.d.ts.map +1 -1
- package/dist/hooks/use-tool-query.js +102 -25
- package/dist/hooks/use-tool-query.js.map +1 -1
- package/dist/hooks/use-tool-result-recovery.d.ts +61 -44
- package/dist/hooks/use-tool-result-recovery.d.ts.map +1 -1
- package/dist/hooks/use-tool-result-recovery.js +62 -110
- package/dist/hooks/use-tool-result-recovery.js.map +1 -1
- package/dist/hooks/use-view-data.d.ts +55 -7
- package/dist/hooks/use-view-data.d.ts.map +1 -1
- package/dist/hooks/use-view-data.js +81 -11
- package/dist/hooks/use-view-data.js.map +1 -1
- package/dist/hooks/use-view-tool-query.d.ts +12 -7
- package/dist/hooks/use-view-tool-query.d.ts.map +1 -1
- package/dist/hooks/use-view-tool-query.js +15 -14
- package/dist/hooks/use-view-tool-query.js.map +1 -1
- package/dist/index.d.ts +27 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -7
- package/dist/index.js.map +1 -1
- package/dist/lib/focus-return.d.ts +61 -0
- package/dist/lib/focus-return.d.ts.map +1 -0
- package/dist/lib/focus-return.js +46 -0
- package/dist/lib/focus-return.js.map +1 -0
- package/dist/lib/focus-ring.d.ts +18 -0
- package/dist/lib/focus-ring.d.ts.map +1 -0
- package/dist/lib/focus-ring.js +18 -0
- package/dist/lib/focus-ring.js.map +1 -0
- package/dist/lib/icon-stroke.d.ts +12 -0
- package/dist/lib/icon-stroke.d.ts.map +1 -0
- package/dist/lib/icon-stroke.js +12 -0
- package/dist/lib/icon-stroke.js.map +1 -0
- package/dist/lib/parse-tool-result.d.ts +23 -1
- package/dist/lib/parse-tool-result.d.ts.map +1 -1
- package/dist/lib/parse-tool-result.js +38 -2
- package/dist/lib/parse-tool-result.js.map +1 -1
- package/dist/lib/toast-model.d.ts +86 -0
- package/dist/lib/toast-model.d.ts.map +1 -0
- package/dist/lib/toast-model.js +102 -0
- package/dist/lib/toast-model.js.map +1 -0
- package/dist/lib/tone-utils.d.ts +95 -9
- package/dist/lib/tone-utils.d.ts.map +1 -1
- package/dist/lib/tone-utils.js +100 -9
- package/dist/lib/tone-utils.js.map +1 -1
- package/dist/lib/tool-query.d.ts +107 -0
- package/dist/lib/tool-query.d.ts.map +1 -0
- package/dist/lib/tool-query.js +182 -0
- package/dist/lib/tool-query.js.map +1 -0
- package/dist/lib/tool-result-observer.d.ts +108 -0
- package/dist/lib/tool-result-observer.d.ts.map +1 -0
- package/dist/lib/tool-result-observer.js +158 -0
- package/dist/lib/tool-result-observer.js.map +1 -0
- package/dist/lib/typography.d.ts +37 -0
- package/dist/lib/typography.d.ts.map +1 -0
- package/dist/lib/typography.js +41 -0
- package/dist/lib/typography.js.map +1 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +11 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/locale/index.d.ts +3 -1
- package/dist/locale/index.d.ts.map +1 -1
- package/dist/locale/index.js +2 -1
- package/dist/locale/index.js.map +1 -1
- package/dist/locale/locale-provider.d.ts +42 -1
- package/dist/locale/locale-provider.d.ts.map +1 -1
- package/dist/locale/locale-provider.js +44 -3
- package/dist/locale/locale-provider.js.map +1 -1
- package/dist/locale/message-types.d.ts +336 -0
- package/dist/locale/message-types.d.ts.map +1 -0
- package/dist/locale/message-types.js +7 -0
- package/dist/locale/message-types.js.map +1 -0
- package/dist/locale/messages-de.d.ts +9 -0
- package/dist/locale/messages-de.d.ts.map +1 -0
- package/dist/locale/messages-de.js +185 -0
- package/dist/locale/messages-de.js.map +1 -0
- package/dist/locale/messages-en.d.ts +8 -0
- package/dist/locale/messages-en.d.ts.map +1 -0
- package/dist/locale/messages-en.js +184 -0
- package/dist/locale/messages-en.js.map +1 -0
- package/dist/locale/toolkit-messages.d.ts +57 -0
- package/dist/locale/toolkit-messages.d.ts.map +1 -0
- package/dist/locale/toolkit-messages.js +103 -0
- package/dist/locale/toolkit-messages.js.map +1 -0
- package/dist/primitives/alert.d.ts +1 -1
- package/dist/primitives/alert.d.ts.map +1 -1
- package/dist/primitives/alert.js +6 -2
- package/dist/primitives/alert.js.map +1 -1
- package/dist/primitives/badge.d.ts +1 -1
- package/dist/primitives/badge.d.ts.map +1 -1
- package/dist/primitives/badge.js +19 -6
- package/dist/primitives/badge.js.map +1 -1
- package/dist/primitives/button.d.ts +1 -1
- package/dist/primitives/button.d.ts.map +1 -1
- package/dist/primitives/button.js +12 -8
- package/dist/primitives/button.js.map +1 -1
- package/dist/primitives/card.js +4 -4
- package/dist/primitives/card.js.map +1 -1
- package/dist/primitives/dialog.d.ts +7 -3
- package/dist/primitives/dialog.d.ts.map +1 -1
- package/dist/primitives/dialog.js +22 -8
- package/dist/primitives/dialog.js.map +1 -1
- package/dist/primitives/input.d.ts.map +1 -1
- package/dist/primitives/input.js +4 -1
- package/dist/primitives/input.js.map +1 -1
- package/dist/primitives/scroll-area.js +1 -1
- package/dist/primitives/scroll-area.js.map +1 -1
- package/dist/primitives/select.d.ts.map +1 -1
- package/dist/primitives/select.js +6 -3
- package/dist/primitives/select.js.map +1 -1
- package/dist/primitives/sheet.d.ts +3 -1
- package/dist/primitives/sheet.d.ts.map +1 -1
- package/dist/primitives/sheet.js +17 -7
- package/dist/primitives/sheet.js.map +1 -1
- package/dist/primitives/skeleton.js +1 -1
- package/dist/primitives/skeleton.js.map +1 -1
- package/dist/primitives/switch.d.ts.map +1 -1
- package/dist/primitives/switch.js +2 -1
- package/dist/primitives/switch.js.map +1 -1
- package/dist/primitives/tabs.d.ts.map +1 -1
- package/dist/primitives/tabs.js +5 -3
- package/dist/primitives/tabs.js.map +1 -1
- package/dist/providers/query-provider.d.ts +32 -1
- package/dist/providers/query-provider.d.ts.map +1 -1
- package/dist/providers/query-provider.js +53 -4
- package/dist/providers/query-provider.js.map +1 -1
- package/dist/render-cases-primitives.js +1 -1
- package/dist/render-cases-primitives.js.map +1 -1
- package/dist/render-cases.d.ts.map +1 -1
- package/dist/render-cases.js +48 -6
- package/dist/render-cases.js.map +1 -1
- package/dist/render-effects.d.ts +42 -0
- package/dist/render-effects.d.ts.map +1 -0
- package/dist/render-effects.js +81 -0
- package/dist/render-effects.js.map +1 -0
- package/dist/render-scan.d.ts +25 -0
- package/dist/render-scan.d.ts.map +1 -0
- package/dist/render-scan.js +66 -0
- package/dist/render-scan.js.map +1 -0
- package/dist/theme/cd-tokens.d.ts +66 -0
- package/dist/theme/cd-tokens.d.ts.map +1 -0
- package/dist/theme/cd-tokens.js +64 -0
- package/dist/theme/cd-tokens.js.map +1 -0
- package/dist/theme/create-theme.d.ts +214 -39
- package/dist/theme/create-theme.d.ts.map +1 -1
- package/dist/theme/create-theme.js +204 -13
- package/dist/theme/create-theme.js.map +1 -1
- package/dist/theme/fonts.d.ts +38 -0
- package/dist/theme/fonts.d.ts.map +1 -0
- package/dist/theme/fonts.js +56 -0
- package/dist/theme/fonts.js.map +1 -0
- package/dist/theme/host-fonts.d.ts +39 -0
- package/dist/theme/host-fonts.d.ts.map +1 -0
- package/dist/theme/host-fonts.js +44 -0
- package/dist/theme/host-fonts.js.map +1 -0
- package/dist/theme/index.d.ts +8 -1
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +5 -1
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/portal-container.d.ts +16 -0
- package/dist/theme/portal-container.d.ts.map +1 -0
- package/dist/theme/portal-container.js +19 -0
- package/dist/theme/portal-container.js.map +1 -0
- package/dist/theme/presets.d.ts +24 -9
- package/dist/theme/presets.d.ts.map +1 -1
- package/dist/theme/presets.js +44 -11
- package/dist/theme/presets.js.map +1 -1
- package/dist/theme/theme-provider.d.ts +27 -9
- package/dist/theme/theme-provider.d.ts.map +1 -1
- package/dist/theme/theme-provider.js +42 -20
- package/dist/theme/theme-provider.js.map +1 -1
- package/package.json +11 -5
- package/src/app/adapt-data-widget.tsx +2 -42
- package/src/app/builder/BuilderBanners.tsx +26 -13
- package/src/app/builder/CanvasRow.tsx +79 -32
- package/src/app/builder/CatalogueSheet.tsx +58 -35
- package/src/app/builder/CellPropsSheet.tsx +17 -2
- package/src/app/builder/DiscardDialog.tsx +59 -0
- package/src/app/builder/EmptyHint.tsx +16 -11
- package/src/app/builder/LayoutSurface.tsx +207 -67
- package/src/app/builder/PipelineStrip.tsx +265 -156
- package/src/app/builder/SaveDialog.tsx +25 -14
- package/src/app/builder/Toolbar.tsx +154 -57
- package/src/app/builder/Workspace.tsx +226 -56
- package/src/app/builder/builder-feedback.test.tsx +75 -0
- package/src/app/builder/builder-model.test.ts +5 -0
- package/src/app/builder/builder-model.ts +346 -6
- package/src/app/builder/builder-model.ux.test.ts +456 -0
- package/src/app/builder/builder-ux.test.tsx +844 -0
- package/src/app/builder/labels.ts +15 -121
- package/src/app/builder/reveal.ts +10 -0
- package/src/app/builder/status-chip.tsx +8 -4
- package/src/app/builder/use-builder-catalogue.ts +62 -19
- package/src/app/builder/use-builder-session.ts +68 -0
- package/src/app/builder/use-display-resolver.ts +24 -0
- package/src/app/builder/use-save-dashboard.ts +5 -0
- package/src/app/index.ts +20 -3
- package/src/app/layout-builder.tsx +193 -186
- package/src/app/mcp-app-view-chrome.test.tsx +487 -14
- package/src/app/mcp-app-view-chrome.tsx +328 -100
- package/src/app/mcp-app-view-states.tsx +140 -0
- package/src/app/mcp-app-view.effects.test.tsx +292 -0
- package/src/app/mcp-app-view.test.tsx +478 -0
- package/src/app/mcp-app-view.tsx +447 -190
- package/src/app/mcp-toolkit-app.test.tsx +40 -0
- package/src/app/mcp-toolkit-app.tsx +39 -8
- package/src/app/mcp-use-host-bridge.test.tsx +180 -0
- package/src/app/mcp-use-host-bridge.tsx +67 -24
- package/src/app/model-context.test.tsx +116 -0
- package/src/app/model-context.tsx +125 -0
- package/src/app/use-build-mode-focus.ts +62 -0
- package/src/app/use-view-actions.ts +89 -0
- package/src/app/use-view-lifecycle.ts +122 -0
- package/src/app/view-lifecycle.test.ts +443 -0
- package/src/app/view-lifecycle.ts +334 -0
- package/src/app/widget-fixture.effects.test.tsx +51 -0
- package/src/app/widget-fixture.render.test.tsx +81 -0
- package/src/app/widget-fixture.tsx +34 -11
- package/src/app/widget-props-sheet.tsx +67 -39
- package/src/app/widget-renderer.render.test.tsx +131 -0
- package/src/app/widget-renderer.tsx +136 -38
- package/src/components/DrillButton.tsx +24 -10
- package/src/components/EmptyState.tsx +83 -0
- package/src/components/ErrorState.tsx +204 -0
- package/src/components/FilterBar.test.tsx +82 -0
- package/src/components/FilterBar.tsx +56 -27
- package/src/components/GroupCard.tsx +3 -2
- package/src/components/KpiGrid.test.tsx +279 -0
- package/src/components/KpiGrid.tsx +329 -91
- package/src/components/ListFooter.test.tsx +116 -0
- package/src/components/ListFooter.tsx +110 -12
- package/src/components/PagedListFooter.test.tsx +140 -0
- package/src/components/PagedListFooter.tsx +107 -0
- package/src/components/Pills.test.tsx +77 -0
- package/src/components/Pills.tsx +78 -16
- package/src/components/SectionHeading.tsx +9 -3
- package/src/components/Toast.tsx +206 -0
- package/src/components/WidgetHeader.test.tsx +78 -0
- package/src/components/WidgetHeader.tsx +63 -16
- package/src/components/feedback-states.test.tsx +314 -0
- package/src/components/tone-figures.test.tsx +58 -0
- package/src/fonts.css +19 -0
- package/src/globals.css +9 -165
- package/src/hooks/index.ts +6 -3
- package/src/hooks/tool-result-recovery-model.test.ts +744 -0
- package/src/hooks/tool-result-recovery-model.ts +418 -0
- package/src/hooks/use-tool-query.effects.test.tsx +205 -0
- package/src/hooks/use-tool-query.ts +156 -33
- package/src/hooks/use-tool-result-recovery.effects.test.tsx +141 -0
- package/src/hooks/use-tool-result-recovery.test.ts +28 -5
- package/src/hooks/use-tool-result-recovery.ts +101 -131
- package/src/hooks/use-view-data.test.tsx +169 -0
- package/src/hooks/use-view-data.ts +131 -10
- package/src/hooks/use-view-tool-query.ts +25 -19
- package/src/i18n-coverage.test.tsx +425 -0
- package/src/index.ts +102 -13
- package/src/lib/focus-return.test.ts +288 -0
- package/src/lib/focus-return.ts +96 -0
- package/src/lib/focus-ring.ts +20 -0
- package/src/lib/icon-stroke.test.ts +59 -0
- package/src/lib/icon-stroke.ts +13 -0
- package/src/lib/parse-tool-result.test.ts +46 -1
- package/src/lib/parse-tool-result.ts +40 -2
- package/src/lib/toast-model.test.ts +233 -0
- package/src/lib/toast-model.ts +165 -0
- package/src/lib/tone-utils.test.ts +125 -16
- package/src/lib/tone-utils.ts +144 -15
- package/src/lib/tool-query.test.ts +569 -0
- package/src/lib/tool-query.ts +253 -0
- package/src/lib/tool-result-observer.test.ts +296 -0
- package/src/lib/tool-result-observer.ts +211 -0
- package/src/lib/typography.test.ts +45 -0
- package/src/lib/typography.ts +47 -0
- package/src/lib/utils.ts +12 -1
- package/src/locale/index.ts +14 -1
- package/src/locale/locale-provider.test.tsx +87 -0
- package/src/locale/locale-provider.tsx +90 -3
- package/src/locale/message-types.ts +337 -0
- package/src/locale/messages-de.ts +198 -0
- package/src/locale/messages-en.ts +196 -0
- package/src/locale/toolkit-messages.test.ts +349 -0
- package/src/locale/toolkit-messages.ts +143 -0
- package/src/no-hardcoded-copy.test.ts +432 -0
- package/src/primitives/alert.tsx +7 -2
- package/src/primitives/badge.tsx +19 -7
- package/src/primitives/button.tsx +13 -8
- package/src/primitives/card.tsx +4 -4
- package/src/primitives/dialog.tsx +42 -8
- package/src/primitives/input.tsx +5 -3
- package/src/primitives/scroll-area.tsx +1 -1
- package/src/primitives/select.tsx +7 -4
- package/src/primitives/sheet.tsx +33 -6
- package/src/primitives/skeleton.tsx +1 -1
- package/src/primitives/switch.tsx +4 -2
- package/src/primitives/tabs.tsx +9 -6
- package/src/providers/query-provider.test.tsx +154 -0
- package/src/providers/query-provider.tsx +66 -5
- package/src/render-cases-primitives.tsx +1 -1
- package/src/render-cases.tsx +82 -6
- package/src/render-effects.tsx +96 -0
- package/src/render-scan.ts +75 -0
- package/src/theme/cd-tokens.generated.css +48 -0
- package/src/theme/cd-tokens.test.ts +109 -0
- package/src/theme/cd-tokens.ts +67 -0
- package/src/theme/create-theme.test.ts +253 -5
- package/src/theme/create-theme.ts +341 -41
- package/src/theme/fonts.test.ts +85 -0
- package/src/theme/fonts.ts +72 -0
- package/src/theme/host-fonts.test.ts +135 -0
- package/src/theme/host-fonts.ts +52 -0
- package/src/theme/index.ts +15 -1
- package/src/theme/portal-container.ts +20 -0
- package/src/theme/presets.ts +44 -11
- package/src/theme/theme-css.test.ts +619 -0
- package/src/theme/theme-provider.test.tsx +82 -0
- package/src/theme/theme-provider.tsx +60 -24
- package/src/theme.css +344 -0
- package/ui-catalog.json +783 -49
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The type scale of the kit (modeler-tool-design §4, adapted for embedded
|
|
3
|
+
* widgets): five steps, each a role in `theme.css` (`--text-<step>` with its
|
|
4
|
+
* line height and weight) and a Tailwind utility of the same name.
|
|
5
|
+
*
|
|
6
|
+
* | Step | Utility | Size / weight / line height | Use |
|
|
7
|
+
* | --------- | -------------- | --------------------------- | ------------------------------------------ |
|
|
8
|
+
* | `title` | `text-title` | 28 px / 700 / 1.2 | page title (the CI h2; a widget has no h1 40 px) |
|
|
9
|
+
* | `section` | `text-section` | 21 px / 600 / 1.3 | section title (CI h3) |
|
|
10
|
+
* | `body` | `text-body` | 16 px / 400 / 1.6 | running text: state and toast descriptions |
|
|
11
|
+
* | `dense` | `text-dense` | 14 px / 400 / 1.5 | dense tables and controls (inputs, chips, count pills, the inline alert box): the documented product exception, never running text |
|
|
12
|
+
* | `small` | `text-small` | 13 px / 400 / 1.5 | captions, labels, hints, meta rows: the FLOOR |
|
|
13
|
+
*
|
|
14
|
+
* Nothing renders below 13 px — no `text-xs` (12 px), no `text-[10px]`
|
|
15
|
+
* micro-labels (`examples/test/design-system.test.ts` enforces it). A label
|
|
16
|
+
* that used to be a 10–11 px uppercase caption is {@link MICRO_LABEL}: 13 px,
|
|
17
|
+
* semibold, normal case.
|
|
18
|
+
*
|
|
19
|
+
* Combine the utilities through the kit's `cn`: plain tailwind-merge does not
|
|
20
|
+
* know these sizes and would drop `text-small` next to a text colour.
|
|
21
|
+
*/
|
|
22
|
+
/** The five steps, smallest last. */
|
|
23
|
+
export const TYPE_STEPS = ["title", "section", "body", "dense", "small"];
|
|
24
|
+
/** The utility class per step (`TYPE_SCALE.small` → `"text-small"`). */
|
|
25
|
+
export const TYPE_SCALE = {
|
|
26
|
+
title: "text-title",
|
|
27
|
+
section: "text-section",
|
|
28
|
+
body: "text-body",
|
|
29
|
+
dense: "text-dense",
|
|
30
|
+
small: "text-small",
|
|
31
|
+
};
|
|
32
|
+
/** The smallest text the kit renders, in CSS px (CI §4 "klein"). */
|
|
33
|
+
export const TYPE_FLOOR_PX = 13;
|
|
34
|
+
/**
|
|
35
|
+
* A caption above a value or a column: table heads, KPI labels, group
|
|
36
|
+
* labels. 13 px semibold in normal case — the CI floor, where these used to
|
|
37
|
+
* be 10–11 px uppercase. Typography only: add the colour
|
|
38
|
+
* (`text-muted-foreground`) at the call site.
|
|
39
|
+
*/
|
|
40
|
+
export const MICRO_LABEL = "text-small font-semibold";
|
|
41
|
+
//# sourceMappingURL=typography.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typography.js","sourceRoot":"","sources":["../../src/lib/typography.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,qCAAqC;AACrC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,CAAA;AAKjF,wEAAwE;AACxE,MAAM,CAAC,MAAM,UAAU,GAAmD;IACxE,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,YAAY;CACpB,CAAA;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAA;AAE/B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,0BAA0B,CAAA"}
|
package/dist/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAA;AAc5C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
|
package/dist/lib/utils.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { clsx } from "clsx";
|
|
2
|
-
import {
|
|
2
|
+
import { extendTailwindMerge } from "tailwind-merge";
|
|
3
|
+
import { TYPE_STEPS } from "./typography.js";
|
|
4
|
+
/**
|
|
5
|
+
* tailwind-merge that knows the kit's type scale. Out of the box it reads
|
|
6
|
+
* an unknown `text-small` as a text COLOUR and drops it next to
|
|
7
|
+
* `text-muted-foreground`; registered as font sizes, `text-small` conflicts
|
|
8
|
+
* only with other sizes (`text-sm`, `text-xs`), as it should.
|
|
9
|
+
*/
|
|
10
|
+
const twMerge = extendTailwindMerge({
|
|
11
|
+
extend: { theme: { text: [...TYPE_STEPS] } },
|
|
12
|
+
});
|
|
3
13
|
export function cn(...inputs) {
|
|
4
14
|
return twMerge(clsx(inputs));
|
|
5
15
|
}
|
package/dist/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,IAAI,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,IAAI,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,OAAO,GAAG,mBAAmB,CAAC;IAClC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE;CAC7C,CAAC,CAAA;AAEF,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9B,CAAC"}
|
package/dist/locale/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export { LocaleProvider, useLocale, useTranslate } from "./locale-provider.js";
|
|
1
|
+
export { LocaleProvider, useLocale, useTranslate, useToolkitMessages } from "./locale-provider.js";
|
|
2
2
|
export type { LocaleContextValue, LocaleProviderProps, BoundTranslate } from "./locale-provider.js";
|
|
3
|
+
export { TOOLKIT_MESSAGES, formatCount, resolveToolkitMessages } from "./toolkit-messages.js";
|
|
4
|
+
export type { BuilderMessages, CommonMessages, FilterBarMessages, ListFooterMessages, PropsSheetMessages, RendererMessages, ToolkitLocale, ToolkitMessages, ToolkitMessagesOverride, ViewMessages, } from "./toolkit-messages.js";
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/locale/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/locale/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAClG,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACnG,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC7F,YAAY,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,YAAY,GACb,MAAM,uBAAuB,CAAA"}
|
package/dist/locale/index.js
CHANGED
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
// <LocaleProvider> and reads the active locale with useLocale/useTranslate,
|
|
4
4
|
// without pulling in the host runtime. Pairs with `createTranslator` from
|
|
5
5
|
// `@miragon/mcp-toolkit-core`.
|
|
6
|
-
export { LocaleProvider, useLocale, useTranslate } from "./locale-provider.js";
|
|
6
|
+
export { LocaleProvider, useLocale, useTranslate, useToolkitMessages } from "./locale-provider.js";
|
|
7
|
+
export { TOOLKIT_MESSAGES, formatCount, resolveToolkitMessages } from "./toolkit-messages.js";
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/locale/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/locale/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yEAAyE;AACzE,4EAA4E;AAC5E,0EAA0E;AAC1E,+BAA+B;AAC/B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/locale/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yEAAyE;AACzE,4EAA4E;AAC5E,0EAA0E;AAC1E,+BAA+B;AAC/B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAElG,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import type { Translate } from "@miragon/mcp-toolkit-core";
|
|
3
|
+
import { type ToolkitMessages, type ToolkitMessagesOverride } from "./toolkit-messages.js";
|
|
3
4
|
/**
|
|
4
5
|
* A locale-bound translate: the active locale is already applied, so call sites
|
|
5
6
|
* only pass a key (+ params). Obtained from {@link useTranslate}.
|
|
@@ -11,6 +12,14 @@ export interface LocaleContextValue {
|
|
|
11
12
|
locale: string;
|
|
12
13
|
/** Translate a key in the active locale. */
|
|
13
14
|
t: BoundTranslate;
|
|
15
|
+
/**
|
|
16
|
+
* The toolkit's own strings for the active locale (its shipped `en`/`de`
|
|
17
|
+
* catalog, English for any other locale) with the provider's
|
|
18
|
+
* `toolkitMessages` override applied. Read it with {@link useToolkitMessages}.
|
|
19
|
+
* Optional on the type (a hand-built value may omit it); `LocaleProvider`
|
|
20
|
+
* always sets it.
|
|
21
|
+
*/
|
|
22
|
+
messages?: ToolkitMessages;
|
|
14
23
|
}
|
|
15
24
|
/** Read the active locale tag from the nearest {@link LocaleProvider}. */
|
|
16
25
|
export declare function useLocale(): string;
|
|
@@ -20,6 +29,32 @@ export declare function useLocale(): string;
|
|
|
20
29
|
* render their keys instead of throwing.
|
|
21
30
|
*/
|
|
22
31
|
export declare function useTranslate(): BoundTranslate;
|
|
32
|
+
/**
|
|
33
|
+
* The toolkit's own UI strings for the nearest {@link LocaleProvider}'s locale
|
|
34
|
+
* (English outside a provider). Every toolkit component reads its captions,
|
|
35
|
+
* labels and accessible names here, so a German locale renders no English
|
|
36
|
+
* toolkit chrome.
|
|
37
|
+
*/
|
|
38
|
+
export declare function useToolkitMessages(): ToolkitMessages;
|
|
39
|
+
/**
|
|
40
|
+
* The locale the toolkit's own text is in: the nearest {@link LocaleProvider}'s,
|
|
41
|
+
* else a {@link ToolkitLocaleFallback}'s (the host's, inside `McpAppView`),
|
|
42
|
+
* else `"en"`. Toolkit components format their numbers with it, so a count
|
|
43
|
+
* always matches the language of the sentence around it. Internal: consumer
|
|
44
|
+
* widgets read {@link useLocale}.
|
|
45
|
+
*/
|
|
46
|
+
export declare function useToolkitLocale(): string;
|
|
47
|
+
/**
|
|
48
|
+
* Binds ONLY the toolkit's own strings and number format to `locale` for a
|
|
49
|
+
* subtree — the fallback `McpAppView` mounts with the host's locale. It is not
|
|
50
|
+
* a {@link LocaleProvider}: {@link useLocale} and {@link useTranslate} keep
|
|
51
|
+
* their outside-a-provider behaviour (`"en"`, echoed keys) for consumer
|
|
52
|
+
* widgets, and any `LocaleProvider` above or below wins over it.
|
|
53
|
+
*/
|
|
54
|
+
export declare function ToolkitLocaleFallback({ locale, children, }: {
|
|
55
|
+
locale: string;
|
|
56
|
+
children: ReactNode;
|
|
57
|
+
}): ReactNode;
|
|
23
58
|
export interface LocaleProviderProps {
|
|
24
59
|
/** The active locale tag (e.g. `"en"`, `"de"`). */
|
|
25
60
|
locale: string;
|
|
@@ -29,6 +64,12 @@ export interface LocaleProviderProps {
|
|
|
29
64
|
* consumer wires the locale before any catalog exists.
|
|
30
65
|
*/
|
|
31
66
|
translator?: Translate;
|
|
67
|
+
/**
|
|
68
|
+
* Override individual toolkit strings for this subtree, per catalog section
|
|
69
|
+
* (e.g. `{ listFooter: { loadMore: "Show more" } }`). Omitted entries keep the
|
|
70
|
+
* shipped `en`/`de` catalog of `locale`.
|
|
71
|
+
*/
|
|
72
|
+
toolkitMessages?: ToolkitMessagesOverride;
|
|
32
73
|
children: ReactNode;
|
|
33
74
|
}
|
|
34
75
|
/**
|
|
@@ -46,5 +87,5 @@ export interface LocaleProviderProps {
|
|
|
46
87
|
* <YourWidget />
|
|
47
88
|
* </LocaleProvider>
|
|
48
89
|
*/
|
|
49
|
-
export declare function LocaleProvider({ locale, translator, children }: LocaleProviderProps): ReactNode;
|
|
90
|
+
export declare function LocaleProvider({ locale, translator, toolkitMessages, children, }: LocaleProviderProps): ReactNode;
|
|
50
91
|
//# sourceMappingURL=locale-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale-provider.d.ts","sourceRoot":"","sources":["../../src/locale/locale-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"locale-provider.d.ts","sourceRoot":"","sources":["../../src/locale/locale-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAA;AAE9B;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAA;AAEtF,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,CAAC,EAAE,cAAc,CAAA;IACjB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B;AA2BD,0EAA0E;AAC1E,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,cAAc,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAIpD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,SAAS,CAAA;CACpB,GAAG,SAAS,CAUZ;AAED,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB;;;;OAIG;IACH,eAAe,CAAC,EAAE,uBAAuB,CAAA;IACzC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,UAAU,EACV,eAAe,EACf,QAAQ,GACT,EAAE,mBAAmB,GAAG,SAAS,CAUjC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { createContext, useContext, useMemo } from "react";
|
|
3
|
+
import { resolveToolkitMessages, } from "./toolkit-messages.js";
|
|
3
4
|
const DEFAULT_LOCALE = "en";
|
|
4
5
|
/**
|
|
5
6
|
* Default used when a widget renders *outside* a {@link LocaleProvider} (e.g. a
|
|
@@ -8,8 +9,13 @@ const DEFAULT_LOCALE = "en";
|
|
|
8
9
|
* missing wrapper echoes the key (visible + greppable) instead of crashing a
|
|
9
10
|
* widget that is perfectly renderable in English.
|
|
10
11
|
*/
|
|
11
|
-
const DEFAULT_VALUE = {
|
|
12
|
+
const DEFAULT_VALUE = {
|
|
13
|
+
locale: DEFAULT_LOCALE,
|
|
14
|
+
t: (key) => key,
|
|
15
|
+
messages: resolveToolkitMessages(DEFAULT_LOCALE),
|
|
16
|
+
};
|
|
12
17
|
const LocaleContext = createContext(null);
|
|
18
|
+
const ToolkitLocaleFallbackContext = createContext(null);
|
|
13
19
|
/** Read the active locale tag from the nearest {@link LocaleProvider}. */
|
|
14
20
|
export function useLocale() {
|
|
15
21
|
return useContext(LocaleContext)?.locale ?? DEFAULT_VALUE.locale;
|
|
@@ -22,6 +28,40 @@ export function useLocale() {
|
|
|
22
28
|
export function useTranslate() {
|
|
23
29
|
return useContext(LocaleContext)?.t ?? DEFAULT_VALUE.t;
|
|
24
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* The toolkit's own UI strings for the nearest {@link LocaleProvider}'s locale
|
|
33
|
+
* (English outside a provider). Every toolkit component reads its captions,
|
|
34
|
+
* labels and accessible names here, so a German locale renders no English
|
|
35
|
+
* toolkit chrome.
|
|
36
|
+
*/
|
|
37
|
+
export function useToolkitMessages() {
|
|
38
|
+
const provided = useContext(LocaleContext);
|
|
39
|
+
const fallback = useContext(ToolkitLocaleFallbackContext);
|
|
40
|
+
return provided?.messages ?? fallback?.messages ?? DEFAULT_VALUE.messages;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The locale the toolkit's own text is in: the nearest {@link LocaleProvider}'s,
|
|
44
|
+
* else a {@link ToolkitLocaleFallback}'s (the host's, inside `McpAppView`),
|
|
45
|
+
* else `"en"`. Toolkit components format their numbers with it, so a count
|
|
46
|
+
* always matches the language of the sentence around it. Internal: consumer
|
|
47
|
+
* widgets read {@link useLocale}.
|
|
48
|
+
*/
|
|
49
|
+
export function useToolkitLocale() {
|
|
50
|
+
const provided = useContext(LocaleContext);
|
|
51
|
+
const fallback = useContext(ToolkitLocaleFallbackContext);
|
|
52
|
+
return provided?.locale ?? fallback?.locale ?? DEFAULT_VALUE.locale;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Binds ONLY the toolkit's own strings and number format to `locale` for a
|
|
56
|
+
* subtree — the fallback `McpAppView` mounts with the host's locale. It is not
|
|
57
|
+
* a {@link LocaleProvider}: {@link useLocale} and {@link useTranslate} keep
|
|
58
|
+
* their outside-a-provider behaviour (`"en"`, echoed keys) for consumer
|
|
59
|
+
* widgets, and any `LocaleProvider` above or below wins over it.
|
|
60
|
+
*/
|
|
61
|
+
export function ToolkitLocaleFallback({ locale, children, }) {
|
|
62
|
+
const value = useMemo(() => ({ locale, messages: resolveToolkitMessages(locale) }), [locale]);
|
|
63
|
+
return (_jsx(ToolkitLocaleFallbackContext.Provider, { value: value, children: children }));
|
|
64
|
+
}
|
|
25
65
|
/**
|
|
26
66
|
* Provide the active locale (and an optional translator) to a subtree. Widgets
|
|
27
67
|
* read it with {@link useLocale} / {@link useTranslate}. Pure React (no
|
|
@@ -37,11 +77,12 @@ export function useTranslate() {
|
|
|
37
77
|
* <YourWidget />
|
|
38
78
|
* </LocaleProvider>
|
|
39
79
|
*/
|
|
40
|
-
export function LocaleProvider({ locale, translator, children }) {
|
|
80
|
+
export function LocaleProvider({ locale, translator, toolkitMessages, children, }) {
|
|
41
81
|
const value = useMemo(() => ({
|
|
42
82
|
locale,
|
|
43
83
|
t: translator ? (key, params) => translator(locale, key, params) : (key) => key,
|
|
44
|
-
|
|
84
|
+
messages: resolveToolkitMessages(locale, toolkitMessages),
|
|
85
|
+
}), [locale, translator, toolkitMessages]);
|
|
45
86
|
return _jsx(LocaleContext.Provider, { value: value, children: children });
|
|
46
87
|
}
|
|
47
88
|
//# sourceMappingURL=locale-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale-provider.js","sourceRoot":"","sources":["../../src/locale/locale-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"locale-provider.js","sourceRoot":"","sources":["../../src/locale/locale-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;AAE1E,OAAO,EACL,sBAAsB,GAGvB,MAAM,uBAAuB,CAAA;AAwB9B,MAAM,cAAc,GAAG,IAAI,CAAA;AAE3B;;;;;;GAMG;AACH,MAAM,aAAa,GAAG;IACpB,MAAM,EAAE,cAAc;IACtB,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;IACf,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC;CACV,CAAA;AAExC,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAA;AAQpE,MAAM,4BAA4B,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAA;AAEnF,0EAA0E;AAC1E,MAAM,UAAU,SAAS;IACvB,OAAO,UAAU,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,aAAa,CAAC,MAAM,CAAA;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,CAAC,CAAA;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAA;IACzD,OAAO,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAAE,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAA;AAC3E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAA;IACzD,OAAO,QAAQ,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,IAAI,aAAa,CAAC,MAAM,CAAA;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,MAAM,EACN,QAAQ,GAIT;IACC,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,EAC5D,CAAC,MAAM,CAAC,CACT,CAAA;IACD,OAAO,CACL,KAAC,4BAA4B,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAChD,QAAQ,GAC6B,CACzC,CAAA;AACH,CAAC;AAoBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,UAAU,EACV,eAAe,EACf,QAAQ,GACY;IACpB,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,MAAM;QACN,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;QAC/E,QAAQ,EAAE,sBAAsB,CAAC,MAAM,EAAE,eAAe,CAAC;KAC1D,CAAC,EACF,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,CACtC,CAAA;IACD,OAAO,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA0B,CAAA;AAClF,CAAC"}
|
|
@@ -0,0 +1,336 @@
|
|
|
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
|
+
/**
|
|
17
|
+
* @deprecated No longer rendered: the toast region is a plain live region
|
|
18
|
+
* with fixed attributes and takes no name. Kept so a catalog that sets it
|
|
19
|
+
* still type-checks.
|
|
20
|
+
*/
|
|
21
|
+
notifications: string;
|
|
22
|
+
/** Title of a widget's error state when its data could not be loaded. */
|
|
23
|
+
loadFailed: string;
|
|
24
|
+
/** The line under {@link CommonMessages.loadFailed}: what you can do (a retry follows). */
|
|
25
|
+
loadFailedHint: string;
|
|
26
|
+
}
|
|
27
|
+
/** Strings of the `McpAppView` chrome (placeholder, error state, toolbar, step errors). */
|
|
28
|
+
export interface ViewMessages {
|
|
29
|
+
/** Placeholder text while the view's data is on its way. */
|
|
30
|
+
loading: string;
|
|
31
|
+
/** Shown instead of the placeholder when the host cancelled the rendering call. */
|
|
32
|
+
cancelled: string;
|
|
33
|
+
/** Accessible name of the refresh icon button. */
|
|
34
|
+
refresh: string;
|
|
35
|
+
/** Accessible name of the refresh icon button while a refresh runs. */
|
|
36
|
+
refreshing: string;
|
|
37
|
+
/** Accessible name of the fullscreen icon button (inline view). */
|
|
38
|
+
enterFullscreen: string;
|
|
39
|
+
/** Accessible name of the fullscreen icon button (fullscreen view). */
|
|
40
|
+
exitFullscreen: string;
|
|
41
|
+
/** Label of the button that opens the view builder. */
|
|
42
|
+
build: string;
|
|
43
|
+
/** Shown under the placeholder once loading takes longer than `slowHintAfterMs`. */
|
|
44
|
+
slowHint: string;
|
|
45
|
+
/** Title of the error state when the view could not be loaded. */
|
|
46
|
+
errorTitle: string;
|
|
47
|
+
/** One line under the error title: what you can do next (a retry button follows). */
|
|
48
|
+
errorHint: string;
|
|
49
|
+
/**
|
|
50
|
+
* The line under an error title when no retry is offered (the originating
|
|
51
|
+
* tool is unknown, or the view cannot refresh): what you can do instead.
|
|
52
|
+
*/
|
|
53
|
+
errorHintNoRetry: string;
|
|
54
|
+
/** Retry button of the error state and of the step-error alert. */
|
|
55
|
+
retry: string;
|
|
56
|
+
/**
|
|
57
|
+
* Title of the notice shown instead of the view when the tool ran, the chat
|
|
58
|
+
* did not pass its result to the view, and the view must not run it again
|
|
59
|
+
* on its own (the recovery policy forbids it). Nothing failed.
|
|
60
|
+
*/
|
|
61
|
+
blockedTitle: string;
|
|
62
|
+
/** The line under {@link ViewMessages.blockedTitle} when the notice offers to load the view. */
|
|
63
|
+
blockedHint: string;
|
|
64
|
+
/**
|
|
65
|
+
* The line under {@link ViewMessages.blockedTitle} when the tool writes, so
|
|
66
|
+
* the view offers no button that would run it again: what you can do instead.
|
|
67
|
+
*/
|
|
68
|
+
blockedHintNoRetry: string;
|
|
69
|
+
/** Button of that notice: loads the view by running the (non-writing) tool again. */
|
|
70
|
+
blockedRetry: string;
|
|
71
|
+
/** Summary of the error's technical-details disclosure. */
|
|
72
|
+
errorDetails: string;
|
|
73
|
+
/** Title of the alert that lists the data steps that failed. */
|
|
74
|
+
stepErrorsTitle: string;
|
|
75
|
+
/** The line under the step-error title when a retry is offered: what it does. */
|
|
76
|
+
stepErrorsHint: string;
|
|
77
|
+
/** Toast title when a refresh failed: what happened, in one short sentence. */
|
|
78
|
+
refreshFailed: string;
|
|
79
|
+
/** Toast line under {@link ViewMessages.refreshFailed}: what you see now and can do. */
|
|
80
|
+
refreshFailedHint: string;
|
|
81
|
+
/** Toast title when the host rejected a display-mode change. */
|
|
82
|
+
fullscreenFailed: string;
|
|
83
|
+
/** Toast line under {@link ViewMessages.fullscreenFailed}: what you can do. */
|
|
84
|
+
fullscreenFailedHint: string;
|
|
85
|
+
/**
|
|
86
|
+
* The line under the toolbar title of a view that loaded its data again
|
|
87
|
+
* itself (the host did not pass the original result along, or the user
|
|
88
|
+
* retried or refreshed), with the time pre-formatted (`formatClockTime`, in
|
|
89
|
+
* the language of these words). It must carry its meaning in its own
|
|
90
|
+
* words: there is no tooltip, so touch and keyboard users read only this.
|
|
91
|
+
*/
|
|
92
|
+
dataAsOf: (time: string) => string;
|
|
93
|
+
}
|
|
94
|
+
/** Strings of `ListFooter`. */
|
|
95
|
+
export interface ListFooterMessages {
|
|
96
|
+
/** The honest count line, e.g. "Showing 8 of 42 tasks". Numbers arrive pre-formatted. */
|
|
97
|
+
showing: (params: {
|
|
98
|
+
shown: string;
|
|
99
|
+
total: string;
|
|
100
|
+
noun: string;
|
|
101
|
+
}) => string;
|
|
102
|
+
/** Plural noun used when the caller passes none. */
|
|
103
|
+
defaultNoun: string;
|
|
104
|
+
loadMore: string;
|
|
105
|
+
loadingMore: string;
|
|
106
|
+
/** Status while a new first page is in flight over the rows on screen. */
|
|
107
|
+
updating: string;
|
|
108
|
+
/**
|
|
109
|
+
* Status at zero rows, for screen readers only (the caller's empty state is
|
|
110
|
+
* what you see): a search that finds nothing is announced like any count.
|
|
111
|
+
*/
|
|
112
|
+
noResults: string;
|
|
113
|
+
/** Title when a new first page failed and the previous rows stay on screen. */
|
|
114
|
+
refreshFailed: string;
|
|
115
|
+
/** The line under {@link ListFooterMessages.refreshFailed}: what you see and can do. */
|
|
116
|
+
refreshFailedHint: string;
|
|
117
|
+
/** Title when loading the next page failed. */
|
|
118
|
+
loadMoreFailed: string;
|
|
119
|
+
/** The line under {@link ListFooterMessages.loadMoreFailed}: what you see and can do. */
|
|
120
|
+
loadMoreFailedHint: string;
|
|
121
|
+
}
|
|
122
|
+
/** Strings of `FilterBar`. */
|
|
123
|
+
export interface FilterBarMessages {
|
|
124
|
+
/** Placeholder of the search input. */
|
|
125
|
+
searchPlaceholder: string;
|
|
126
|
+
/** Accessible name of the search input (a placeholder is no label). */
|
|
127
|
+
searchLabel: string;
|
|
128
|
+
/** Accessible name of the chip group. */
|
|
129
|
+
chipsLabel: string;
|
|
130
|
+
}
|
|
131
|
+
/** Strings of the widget renderer's fallbacks. */
|
|
132
|
+
export interface RendererMessages {
|
|
133
|
+
/** A layout cell names a widget id the bundle does not contain. */
|
|
134
|
+
widgetUnavailable: string;
|
|
135
|
+
/** A widget threw while rendering. */
|
|
136
|
+
widgetCrashed: string;
|
|
137
|
+
/** Builder canvas/preview: the cell has no data yet. */
|
|
138
|
+
noDataYet: string;
|
|
139
|
+
}
|
|
140
|
+
/** Strings of the visual view builder (`LayoutBuilder`). */
|
|
141
|
+
export interface BuilderMessages {
|
|
142
|
+
title: string;
|
|
143
|
+
builderBadge: string;
|
|
144
|
+
previewBadge: string;
|
|
145
|
+
catalogue: string;
|
|
146
|
+
/** Toolbar button that opens the save dialog: saves the draft as a dashboard. */
|
|
147
|
+
save: string;
|
|
148
|
+
/**
|
|
149
|
+
* @deprecated Since 2.8 the builder's commit button is Apply
|
|
150
|
+
* ({@link BuilderMessages.apply}). An override of `done`, in the builder's
|
|
151
|
+
* `labels` or a `LocaleProvider`'s `toolkitMessages`, still labels it unless
|
|
152
|
+
* the same override sets `apply`.
|
|
153
|
+
*/
|
|
154
|
+
done: string;
|
|
155
|
+
/** Primary action: show the edited view in place and leave the builder (saves nothing). */
|
|
156
|
+
apply: string;
|
|
157
|
+
/** Tooltip of {@link BuilderMessages.apply}: what it does, and that it saves nothing. */
|
|
158
|
+
applyHint: string;
|
|
159
|
+
/** Leave the builder without the edits: the view stays as it was before editing. */
|
|
160
|
+
discard: string;
|
|
161
|
+
/** Tooltip of {@link BuilderMessages.discard}. */
|
|
162
|
+
discardHint: string;
|
|
163
|
+
/**
|
|
164
|
+
* Tooltip of {@link BuilderMessages.discard} in a builder without a view to
|
|
165
|
+
* apply to (no `onExit`): Discard resets the draft in place.
|
|
166
|
+
*/
|
|
167
|
+
discardHintStandalone: string;
|
|
168
|
+
/** Tooltip of {@link BuilderMessages.save}: what a dashboard is for. */
|
|
169
|
+
saveHint: string;
|
|
170
|
+
/**
|
|
171
|
+
* Marker next to the title while the draft has changes that would be lost:
|
|
172
|
+
* neither the view before editing nor a saved dashboard holds them.
|
|
173
|
+
*/
|
|
174
|
+
unsavedChanges: string;
|
|
175
|
+
/** Title of the confirmation before unsaved changes are discarded. */
|
|
176
|
+
discardDialogTitle: string;
|
|
177
|
+
/** What discarding does to the view, when no saved dashboard holds the changes. */
|
|
178
|
+
discardDialogDescription: string;
|
|
179
|
+
/** What discarding does to the view, when a saved dashboard holds the changes. */
|
|
180
|
+
discardDialogDescriptionSaved: string;
|
|
181
|
+
/** Safe choice of the discard confirmation (it keeps the draft). */
|
|
182
|
+
keepEditing: string;
|
|
183
|
+
/** Destructive choice of the discard confirmation. */
|
|
184
|
+
discardConfirm: string;
|
|
185
|
+
/** Toggle that shows the technical parts: data sources, catalogue, ids. */
|
|
186
|
+
advanced: string;
|
|
187
|
+
/** Tooltip of {@link BuilderMessages.advanced}: what it shows. */
|
|
188
|
+
advancedHint: string;
|
|
189
|
+
/** Accessible name of a tab's rename button, with the tab's label. */
|
|
190
|
+
renameTabNamed: (label: string) => string;
|
|
191
|
+
/** Accessible name of a tab's remove button, with the tab's label. */
|
|
192
|
+
removeTabNamed: (label: string) => string;
|
|
193
|
+
/** Marks the row that receives the next element added from the list. */
|
|
194
|
+
rowTarget: string;
|
|
195
|
+
/** Lead word of a step's output line ("provides …"), next to {@link BuilderMessages.catalogueNeedsKeys}. */
|
|
196
|
+
stepProvides: string;
|
|
197
|
+
/** Accessible name of a key's value field, with the key name (or none yet). */
|
|
198
|
+
keyValueFor: (key: string) => string;
|
|
199
|
+
viewLayoutTab: string;
|
|
200
|
+
viewPipelineTab: string;
|
|
201
|
+
viewPreviewTab: string;
|
|
202
|
+
saveDialogTitle: string;
|
|
203
|
+
/** What the save dialog does, and that Apply (not Save) changes the view. */
|
|
204
|
+
saveDialogDescription: string;
|
|
205
|
+
/**
|
|
206
|
+
* {@link BuilderMessages.saveDialogDescription} in a builder without a view
|
|
207
|
+
* to apply to (no `onExit`): no Apply to point to.
|
|
208
|
+
*/
|
|
209
|
+
saveDialogDescriptionStandalone: string;
|
|
210
|
+
saveNameLabel: string;
|
|
211
|
+
saveDescriptionLabel: string;
|
|
212
|
+
saveConfirm: string;
|
|
213
|
+
cancel: string;
|
|
214
|
+
pipelineHeader: string;
|
|
215
|
+
keysHeader: string;
|
|
216
|
+
stepsHeader: string;
|
|
217
|
+
keyName: string;
|
|
218
|
+
keyValue: string;
|
|
219
|
+
stepContextId: string;
|
|
220
|
+
stepPickerLabel: string;
|
|
221
|
+
addKey: string;
|
|
222
|
+
addStep: string;
|
|
223
|
+
emptyKeys: string;
|
|
224
|
+
emptySteps: string;
|
|
225
|
+
statusUpToDate: string;
|
|
226
|
+
statusPending: string;
|
|
227
|
+
statusRefreshing: string;
|
|
228
|
+
paletteHeader: string;
|
|
229
|
+
/** Status line of the palette while the first catalogue answer is on its way. */
|
|
230
|
+
paletteLoading: string;
|
|
231
|
+
/** The palette has no element (the catalogue answered with none). */
|
|
232
|
+
paletteEmpty: string;
|
|
233
|
+
canvasEmpty: string;
|
|
234
|
+
canvasDropHint: string;
|
|
235
|
+
addRow: string;
|
|
236
|
+
addTab: string;
|
|
237
|
+
removeRow: string;
|
|
238
|
+
renameTab: string;
|
|
239
|
+
removeTab: string;
|
|
240
|
+
tabsLabel: string;
|
|
241
|
+
catalogueDescription: string;
|
|
242
|
+
catalogueKeys: string;
|
|
243
|
+
catalogueSteps: string;
|
|
244
|
+
catalogueUnreachable: string;
|
|
245
|
+
catalogueUnreachableEmpty: string;
|
|
246
|
+
catalogueProducedBy: string;
|
|
247
|
+
catalogueConsumedBy: string;
|
|
248
|
+
catalogueNeedsKeys: string;
|
|
249
|
+
cataloguePickKey: string;
|
|
250
|
+
catalogueAddProducingStep: string;
|
|
251
|
+
catalogueLive: string;
|
|
252
|
+
catalogueMissing: string;
|
|
253
|
+
/** Title of the error state when the catalogue fetch fails (the raw reason goes under Details). */
|
|
254
|
+
catalogueError: string;
|
|
255
|
+
/** What to do when the catalogue fetch fails (the state offers a retry). */
|
|
256
|
+
catalogueErrorHint: string;
|
|
257
|
+
/** Heading for the pipeline-validation warning banner. */
|
|
258
|
+
validationWarning: string;
|
|
259
|
+
/** Title of the save dialog's error state when a save fails (the raw reason goes under Details). */
|
|
260
|
+
saveError: string;
|
|
261
|
+
/** What to do when a save fails (the dialog's Save button is the retry). */
|
|
262
|
+
saveErrorHint: string;
|
|
263
|
+
/** Inline message when a tab rename is rejected (duplicate label). */
|
|
264
|
+
renameDuplicate: string;
|
|
265
|
+
/** Toolbar stat: keys present in the live context. */
|
|
266
|
+
statsLive: string;
|
|
267
|
+
/** Toolbar stat: widgets the current keys and steps can feed. */
|
|
268
|
+
statsReachable: string;
|
|
269
|
+
/** Toolbar stat: widgets nothing can feed yet. */
|
|
270
|
+
statsUnreachable: string;
|
|
271
|
+
/** Empty layout view: title. */
|
|
272
|
+
emptyHintTitle: string;
|
|
273
|
+
/** Empty layout view: what to do. */
|
|
274
|
+
emptyHintBody: string;
|
|
275
|
+
/** Empty layout view: button that switches to the data-sources tab. */
|
|
276
|
+
openDataSources: string;
|
|
277
|
+
saveNamePlaceholder: string;
|
|
278
|
+
saveDescriptionPlaceholder: string;
|
|
279
|
+
/** Toast after a successful save. */
|
|
280
|
+
saved: (name: string) => string;
|
|
281
|
+
/** Hint next to the tab strip. */
|
|
282
|
+
renameHint: string;
|
|
283
|
+
/** Tooltip of a tab trigger. */
|
|
284
|
+
renameTitle: string;
|
|
285
|
+
/** Note next to the data-sources header. */
|
|
286
|
+
autoApplies: string;
|
|
287
|
+
noMoreKeys: string;
|
|
288
|
+
/** Tooltip of the detected value type next to a key value. */
|
|
289
|
+
parsedType: string;
|
|
290
|
+
/** Name of a detected value type (`valueTypeLabel` code: str, num, bool, arr, obj, null). */
|
|
291
|
+
valueType: (code: string) => string;
|
|
292
|
+
removeKey: string;
|
|
293
|
+
removeStep: string;
|
|
294
|
+
noInputs: string;
|
|
295
|
+
noOutputs: string;
|
|
296
|
+
rowLabel: (index: number) => string;
|
|
297
|
+
elementCount: (count: number) => string;
|
|
298
|
+
moveRowUp: string;
|
|
299
|
+
moveRowDown: string;
|
|
300
|
+
columnSpan: string;
|
|
301
|
+
configureElement: string;
|
|
302
|
+
configureElementSet: (count: number) => string;
|
|
303
|
+
removeElement: string;
|
|
304
|
+
resizeElement: string;
|
|
305
|
+
noKeysRegistered: string;
|
|
306
|
+
noStepsRegistered: string;
|
|
307
|
+
/** Prefix for "used by" lines that list steps. */
|
|
308
|
+
catalogueStepPrefix: string;
|
|
309
|
+
/** Prefix for "used by" lines that list widgets. */
|
|
310
|
+
catalogueElementPrefix: string;
|
|
311
|
+
}
|
|
312
|
+
/** Strings of the builder's per-cell props sheet. */
|
|
313
|
+
export interface PropsSheetMessages {
|
|
314
|
+
title: string;
|
|
315
|
+
description: string;
|
|
316
|
+
apply: string;
|
|
317
|
+
cancel: string;
|
|
318
|
+
reset: string;
|
|
319
|
+
noProps: string;
|
|
320
|
+
unsetOption: string;
|
|
321
|
+
unsupportedType: (type: string) => string;
|
|
322
|
+
}
|
|
323
|
+
/** One locale's complete toolkit catalog. */
|
|
324
|
+
export interface ToolkitMessages {
|
|
325
|
+
common: CommonMessages;
|
|
326
|
+
view: ViewMessages;
|
|
327
|
+
listFooter: ListFooterMessages;
|
|
328
|
+
filterBar: FilterBarMessages;
|
|
329
|
+
pills: {
|
|
330
|
+
live: string;
|
|
331
|
+
};
|
|
332
|
+
renderer: RendererMessages;
|
|
333
|
+
builder: BuilderMessages;
|
|
334
|
+
propsSheet: PropsSheetMessages;
|
|
335
|
+
}
|
|
336
|
+
//# 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,eA6LhB,CAAA"}
|