@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
|
@@ -1,32 +1,63 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useMemo, useReducer, useState } from "react";
|
|
3
3
|
import { Eye, Layers, SlidersHorizontal } from "lucide-react";
|
|
4
|
-
import {
|
|
4
|
+
import { builderLeave, builderSnapshot, draftHasCells, initDraft, sizeToSpan, toExitCommit, } from "./builder/builder-model.js";
|
|
5
5
|
import { draftReducer, initBuilderState, } from "./builder/builder-reducer.js";
|
|
6
|
-
import { DEFAULT_LABELS } from "./builder/labels.js";
|
|
7
6
|
import { Toolbar } from "./builder/Toolbar.js";
|
|
8
7
|
import { PipelineStrip } from "./builder/PipelineStrip.js";
|
|
9
8
|
import { CatalogueSheet } from "./builder/CatalogueSheet.js";
|
|
10
9
|
import { SaveDialog } from "./builder/SaveDialog.js";
|
|
10
|
+
import { DiscardDialog } from "./builder/DiscardDialog.js";
|
|
11
11
|
import { PreviewPane } from "./builder/PreviewPane.js";
|
|
12
12
|
import { LayoutSurface } from "./builder/LayoutSurface.js";
|
|
13
13
|
import { BuilderBanners } from "./builder/BuilderBanners.js";
|
|
14
14
|
import { EmptyHint } from "./builder/EmptyHint.js";
|
|
15
15
|
import { CellPropsSheet } from "./builder/CellPropsSheet.js";
|
|
16
16
|
import { useBuilderCatalogue } from "./builder/use-builder-catalogue.js";
|
|
17
|
+
import { useBuilderMode, useDraftStatus, useRenameFeedback } from "./builder/use-builder-session.js";
|
|
17
18
|
import { useKeyStepEntries } from "./builder/use-key-step-entries.js";
|
|
18
19
|
import { useSaveDashboard } from "./builder/use-save-dashboard.js";
|
|
19
20
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../primitives/tabs.js";
|
|
21
|
+
import { ToastProvider, useToast } from "../components/Toast.js";
|
|
22
|
+
import { useToolkitMessages } from "../locale/locale-provider.js";
|
|
23
|
+
import { builderMountFocusTarget, useFocusOnMount } from "./use-build-mode-focus.js";
|
|
20
24
|
// -------------------------------------------------------------------------- //
|
|
21
25
|
// Main component
|
|
22
26
|
// -------------------------------------------------------------------------- //
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
/**
|
|
28
|
+
* The visual view builder. People see widgets and steps by their titles
|
|
29
|
+
* (`title`/`titleKey` of the definitions, else the id); the data sources, the
|
|
30
|
+
* catalogue and the technical ids sit behind "Advanced". "Apply" shows the
|
|
31
|
+
* draft in the view, "Save as dashboard" stores it, "Discard" restores the
|
|
32
|
+
* view as it was. Confirms a successful save with a toast (it mounts a
|
|
33
|
+
* `ToastProvider` when none is above it — inside `McpAppView` it shares the
|
|
34
|
+
* view's). Every caption follows the active locale (`labels` overrides).
|
|
35
|
+
*/
|
|
36
|
+
export function LayoutBuilder(props) {
|
|
37
|
+
// Discard without an `onExit` restores the initial props by remounting.
|
|
38
|
+
const [generation, setGeneration] = useState(0);
|
|
39
|
+
const reset = useCallback(() => setGeneration((g) => g + 1), []);
|
|
40
|
+
return (_jsx(ToastProvider, { children: _jsx(LayoutBuilderImpl, { ...props, onReset: reset, mountFocus: builderMountFocusTarget(generation) }, generation) }));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The catalog strings, overrides merged; a `labels` override of the deprecated
|
|
44
|
+
* `done` still labels Apply (a catalog override of it already did, in
|
|
45
|
+
* `resolveToolkitMessages`).
|
|
46
|
+
*/
|
|
47
|
+
function useBuilderLabels(labels) {
|
|
48
|
+
const messages = useToolkitMessages();
|
|
49
|
+
return useMemo(() => ({
|
|
50
|
+
...messages.builder,
|
|
51
|
+
...labels,
|
|
52
|
+
apply: labels?.apply ?? labels?.done ?? messages.builder.apply,
|
|
53
|
+
}), [messages.builder, labels]);
|
|
54
|
+
}
|
|
55
|
+
function LayoutBuilderImpl({ initialLayout, title, initialKeys, initialSteps, widgets, callTool, catalogueToolName = "get-builder-catalogue", saveToolName = "save-dashboard", dashboardId, labels, onSaved, onExit, onReset, mountFocus, }) {
|
|
56
|
+
const L = useBuilderLabels(labels);
|
|
57
|
+
const toast = useToast();
|
|
58
|
+
// A reset remounts the builder: the element that had the focus is gone.
|
|
59
|
+
const rootRef = useFocusOnMount(mountFocus);
|
|
25
60
|
// ── Draft layout (pure reducer) ─────────────────────────────────────────
|
|
26
|
-
// The draft plus the UI indices coupled to draft mutations
|
|
27
|
-
// (activeTabIndex / focusedRowIndex / editingTabIdx) live in a single pure
|
|
28
|
-
// reducer (see ./builder/builder-reducer.ts) so every mutation is testable
|
|
29
|
-
// and the old setState-in-updater pattern is gone.
|
|
30
61
|
const [builderState, dispatch] = useReducer(draftReducer, initialLayout, (layout) => initBuilderState(initDraft(layout)));
|
|
31
62
|
const { draft, activeTabIndex, focusedRowIndex, editingTabIdx, renameRejectedAt } = builderState;
|
|
32
63
|
const setActiveTabIndex = useCallback((idx) => dispatch({ type: "selectTab", tabIdx: idx }), []);
|
|
@@ -34,34 +65,20 @@ export function LayoutBuilder({ initialLayout, title, initialKeys, initialSteps,
|
|
|
34
65
|
const setEditingTabIdx = useCallback((idx) => {
|
|
35
66
|
dispatch(idx === null ? { type: "stopEditingTab" } : { type: "startEditingTab", tabIdx: idx });
|
|
36
67
|
}, []);
|
|
37
|
-
const
|
|
68
|
+
const { advanced, view, setView, toggleAdvanced, openDataSources } = useBuilderMode();
|
|
38
69
|
const [catalogueOpen, setCatalogueOpen] = useState(false);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// (Phase 1 signal). Mirror each bump into a transient flag so the rename
|
|
42
|
-
// input can show "name already exists" inline (Finding [3]). Tracked via
|
|
43
|
-
// the render-phase setState pattern used elsewhere in this codebase; cleared
|
|
44
|
-
// when the inline editor closes (editingTabIdx → null).
|
|
45
|
-
const [renameRejected, setRenameRejected] = useState(false);
|
|
46
|
-
const [prevRenameRejectedAt, setPrevRenameRejectedAt] = useState(renameRejectedAt);
|
|
47
|
-
if (renameRejectedAt !== prevRenameRejectedAt) {
|
|
48
|
-
setPrevRenameRejectedAt(renameRejectedAt);
|
|
49
|
-
setRenameRejected(true);
|
|
50
|
-
}
|
|
51
|
-
const [prevEditingTabIdx, setPrevEditingTabIdx] = useState(editingTabIdx);
|
|
52
|
-
if (editingTabIdx !== prevEditingTabIdx) {
|
|
53
|
-
setPrevEditingTabIdx(editingTabIdx);
|
|
54
|
-
if (editingTabIdx === null)
|
|
55
|
-
setRenameRejected(false);
|
|
56
|
-
}
|
|
70
|
+
const [discardOpen, setDiscardOpen] = useState(false);
|
|
71
|
+
const renameRejected = useRenameFeedback(renameRejectedAt, editingTabIdx);
|
|
57
72
|
// ── Keys + steps editor state ───────────────────────────────────────────
|
|
58
73
|
const { keyEntries, stepEntries, addKey, updateKey, removeKey, addStep, updateStep, removeStep } = useKeyStepEntries({ initialKeys, initialSteps });
|
|
74
|
+
// ── Draft status: what Apply / Discard / the unsaved marker compare ─────
|
|
75
|
+
const snapshot = useMemo(() => builderSnapshot(draft, keyEntries, stepEntries), [draft, keyEntries, stepEntries]);
|
|
76
|
+
const draftState = useDraftStatus(snapshot);
|
|
59
77
|
// ── Catalogue fetch (mount + on key/step edits) ─────────────────────────
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const { liveReachable, liveUnreachable, liveCatalog, liveSteps, liveContext, validationIssues, status, refreshError, widgetById, propsSchemaByWidgetId, paletteByApp, liveKeyCount, stepsByApp, } = useBuilderCatalogue({ callTool, catalogueToolName, keyEntries, stepEntries });
|
|
78
|
+
const catalogue = useBuilderCatalogue({ callTool, catalogueToolName, keyEntries, stepEntries });
|
|
79
|
+
const { liveReachable, liveCatalog, liveContext, widgetById } = catalogue;
|
|
63
80
|
// ── Save dialog ─────────────────────────────────────────────────────────
|
|
64
|
-
const
|
|
81
|
+
const save = useSaveDashboard({
|
|
65
82
|
callTool,
|
|
66
83
|
saveToolName,
|
|
67
84
|
dashboardId,
|
|
@@ -70,14 +87,13 @@ export function LayoutBuilder({ initialLayout, title, initialKeys, initialSteps,
|
|
|
70
87
|
stepEntries,
|
|
71
88
|
draft,
|
|
72
89
|
onSaved,
|
|
90
|
+
onSuccess: (name) => {
|
|
91
|
+
draftState.markSaved(snapshot);
|
|
92
|
+
toast.show({ tone: "success", title: L.saved(name) });
|
|
93
|
+
},
|
|
73
94
|
});
|
|
74
|
-
// ── DnD
|
|
95
|
+
// ── DnD + the cell whose props are being configured ─────────────────────
|
|
75
96
|
const [dragOverRow, setDragOverRow] = useState(null);
|
|
76
|
-
// Which cell (if any) is having its props configured. The
|
|
77
|
-
// WidgetPropsSheet is mounted once at the LayoutBuilder root so that
|
|
78
|
-
// exactly one editor can be open at a time across the entire workspace
|
|
79
|
-
// — including across tabs. Stored as `{ rowIdx, cellIdx }` against the
|
|
80
|
-
// currently active draft surface (rows or active tab's rows).
|
|
81
97
|
const [configuringCell, setConfiguringCell] = useState(null);
|
|
82
98
|
const activeRows = draft.kind === "tabs" ? (draft.tabs[activeTabIndex]?.rows ?? []) : draft.rows;
|
|
83
99
|
// ── Layout mutations (dispatch pure actions) ────────────────────────────
|
|
@@ -97,18 +113,13 @@ export function LayoutBuilder({ initialLayout, title, initialKeys, initialSteps,
|
|
|
97
113
|
const moveRow = useCallback((rowIdx, direction) => dispatch({ type: "moveRow", rowIdx, direction }), []);
|
|
98
114
|
const setCellSpan = useCallback((rowIdx, cellIdx, span) => dispatch({ type: "setCellSpan", rowIdx, cellIdx, span }), []);
|
|
99
115
|
const removeCell = useCallback((rowIdx, cellIdx) => dispatch({ type: "removeCell", rowIdx, cellIdx }), []);
|
|
100
|
-
// Sets (or clears, when `next` is undefined)
|
|
101
|
-
//
|
|
102
|
-
// `undefined` rather than `{}` keeps the saved layout's wire format
|
|
103
|
-
// identical to one a hand-coded LLM call would produce — the field is
|
|
104
|
-
// simply absent.
|
|
116
|
+
// Sets (or clears, when `next` is undefined) a cell's per-instance `props`
|
|
117
|
+
// from the props sheet's Apply; `undefined` keeps the field absent on the wire.
|
|
105
118
|
const setCellProps = useCallback((rowIdx, cellIdx, next) => dispatch({ type: "setCellProps", rowIdx, cellIdx, next }), []);
|
|
106
119
|
const addTab = useCallback(() => dispatch({ type: "addTab" }), []);
|
|
107
|
-
// Commit an inline tab rename
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
// can drive the inline "name already exists" feedback instead of the editor
|
|
111
|
-
// silently snapping shut on the old label.
|
|
120
|
+
// Commit an inline tab rename. A label that collides with another tab keeps
|
|
121
|
+
// the editor open (the reducer's rejection drives the inline error); the
|
|
122
|
+
// return value tells the field whether it closed.
|
|
112
123
|
const commitRename = useCallback((tabIdx, label) => {
|
|
113
124
|
dispatch({ type: "renameTab", tabIdx, label });
|
|
114
125
|
const trimmed = label.trim();
|
|
@@ -117,6 +128,7 @@ export function LayoutBuilder({ initialLayout, title, initialKeys, initialSteps,
|
|
|
117
128
|
draft.tabs.some((t, i) => i !== tabIdx && t.label === trimmed);
|
|
118
129
|
if (!isDuplicate)
|
|
119
130
|
setEditingTabIdx(null);
|
|
131
|
+
return !isDuplicate;
|
|
120
132
|
}, [draft, setEditingTabIdx]);
|
|
121
133
|
const removeTab = useCallback((tabIdx) => dispatch({ type: "removeTab", tabIdx }), []);
|
|
122
134
|
// ── Smart action: add a producing step for a missing key ────────────────
|
|
@@ -126,34 +138,23 @@ export function LayoutBuilder({ initialLayout, title, initialKeys, initialSteps,
|
|
|
126
138
|
return;
|
|
127
139
|
addStep(producer);
|
|
128
140
|
}, [addStep, liveCatalog]);
|
|
141
|
+
// ── Leaving: Apply commits, Discard restores (asking first when the view loses changes) ─
|
|
142
|
+
const leave = builderLeave({
|
|
143
|
+
changed: draftState.changed,
|
|
144
|
+
onExit,
|
|
145
|
+
onReset,
|
|
146
|
+
commit: () => toExitCommit(draft, keyEntries, stepEntries, title, liveContext),
|
|
147
|
+
confirm: () => setDiscardOpen(true),
|
|
148
|
+
});
|
|
129
149
|
const widgetProps = useMemo(() => ({ keys: liveContext.keys, context: liveContext }), [liveContext]);
|
|
130
|
-
const hasAnyCell =
|
|
131
|
-
|
|
132
|
-
return (_jsxs("div", { className: "flex min-h-[60vh] flex-col gap-4 p-1", children: [_jsx(Toolbar, { L: L, previewMode: view === "preview", isBusy: isBusy, status: status, liveKeys: liveKeyCount, reachableCount: liveReachable.length, unreachableCount: liveUnreachable.length, onOpenCatalogue: () => setCatalogueOpen(true), onOpenSave: () => setSaveOpen(true), onDone: onExit
|
|
133
|
-
? () => onExit({
|
|
134
|
-
layout: draftToLayout(draft),
|
|
135
|
-
keys: entriesToKeys(keyEntries),
|
|
136
|
-
steps: stepEntries.filter((s) => s.step.trim().length > 0),
|
|
137
|
-
title,
|
|
138
|
-
context: {
|
|
139
|
-
keys: liveContext.keys,
|
|
140
|
-
stepIds: Object.keys(liveContext.steps),
|
|
141
|
-
stepData: Object.fromEntries(Object.entries(liveContext.steps).map(([id, result]) => [
|
|
142
|
-
id,
|
|
143
|
-
{
|
|
144
|
-
data: result.data,
|
|
145
|
-
keys: result.keys,
|
|
146
|
-
_app: result._app,
|
|
147
|
-
_dataType: result._dataType,
|
|
148
|
-
},
|
|
149
|
-
])),
|
|
150
|
-
errors: liveContext.errors,
|
|
151
|
-
},
|
|
152
|
-
})
|
|
153
|
-
: undefined, hasAnyCell: hasAnyCell }), _jsx(BuilderBanners, { L: L, catalogueToolName: catalogueToolName, refreshError: refreshError, validationIssues: validationIssues }), _jsxs(Tabs, { value: view, onValueChange: (v) => setView(v), children: [_jsxs(TabsList, { children: [_jsxs(TabsTrigger, { value: "layout", children: [_jsx(Layers, { className: "size-3.5" }), L.viewLayoutTab] }), _jsxs(TabsTrigger, { value: "pipeline", children: [_jsx(SlidersHorizontal, { className: "size-3.5" }), L.viewPipelineTab, (keyEntries.length > 0 || stepEntries.length > 0) && (_jsxs("span", { className: "bg-muted text-muted-foreground ml-1 rounded px-1 font-mono text-[10px]", children: [keyEntries.length, "/", stepEntries.length] }))] }), _jsxs(TabsTrigger, { value: "preview", disabled: !hasAnyCell, children: [_jsx(Eye, { className: "size-3.5" }), L.viewPreviewTab] })] }), _jsx(TabsContent, { value: "layout", className: "mt-4", children: liveReachable.length === 0 && !hasAnyCell ? (_jsx(EmptyHint, { L: L, onGotoPipeline: () => setView("pipeline") })) : (_jsx(LayoutSurface, { L: L, draft: draft, activeTabIndex: activeTabIndex, setActiveTabIndex: setActiveTabIndex, editingTabIdx: editingTabIdx, setEditingTabIdx: setEditingTabIdx, renameRejected: renameRejected, commitRename: commitRename, onAddTab: addTab, onRemoveTab: removeTab, workspace: {
|
|
150
|
+
const hasAnyCell = draftHasCells(draft);
|
|
151
|
+
return (_jsxs("div", { ref: rootRef, className: "flex min-h-[60vh] flex-col gap-4 p-1", children: [_jsx(Toolbar, { L: L, previewMode: view === "preview", isBusy: save.isBusy, status: catalogue.status, liveKeys: catalogue.liveKeyCount, reachableCount: liveReachable.length, unreachableCount: catalogue.liveUnreachable.length, advanced: advanced, onToggleAdvanced: toggleAdvanced, unsaved: draftState.unsaved, onOpenCatalogue: () => setCatalogueOpen(true), onOpenSave: () => save.setSaveOpen(true), onDiscard: leave.discard, onApply: leave.apply, hasAnyCell: hasAnyCell }), _jsx(BuilderBanners, { L: L, catalogueToolName: catalogueToolName, refreshError: catalogue.refreshError, validationIssues: catalogue.validationIssues, onRetry: catalogue.retryCatalogue }), _jsxs(Tabs, { value: view, onValueChange: (v) => setView(v), children: [_jsxs(TabsList, { children: [_jsxs(TabsTrigger, { value: "layout", children: [_jsx(Layers, { "aria-hidden": "true", className: "size-3.5" }), L.viewLayoutTab] }), advanced && (_jsxs(TabsTrigger, { value: "pipeline", children: [_jsx(SlidersHorizontal, { "aria-hidden": "true", className: "size-3.5" }), L.viewPipelineTab, (keyEntries.length > 0 || stepEntries.length > 0) && (_jsxs("span", { className: "bg-muted text-muted-foreground text-small ml-1 rounded px-1 tabular-nums", children: [keyEntries.length, "/", stepEntries.length] }))] })), _jsxs(TabsTrigger, { value: "preview", disabled: !hasAnyCell, children: [_jsx(Eye, { "aria-hidden": "true", className: "size-3.5" }), L.viewPreviewTab] })] }), _jsx(TabsContent, { value: "layout", className: "mt-4", children: catalogue.loaded && liveReachable.length === 0 && !hasAnyCell ? (_jsx(EmptyHint, { L: L, onGotoPipeline: openDataSources })) : (_jsx(LayoutSurface, { L: L, draft: draft, activeTabIndex: activeTabIndex, setActiveTabIndex: setActiveTabIndex, editingTabIdx: editingTabIdx, setEditingTabIdx: setEditingTabIdx, renameRejected: renameRejected, commitRename: commitRename, onAddTab: addTab, onRemoveTab: removeTab, workspace: {
|
|
154
152
|
L,
|
|
155
|
-
paletteByApp,
|
|
153
|
+
paletteByApp: catalogue.paletteByApp,
|
|
154
|
+
appDisplayByName: catalogue.appDisplayByName,
|
|
156
155
|
paletteCount: liveReachable.length,
|
|
156
|
+
paletteLoading: !catalogue.loaded,
|
|
157
|
+
onOpenDataSources: openDataSources,
|
|
157
158
|
activeRows,
|
|
158
159
|
focusedRowIndex,
|
|
159
160
|
setFocusedRowIndex,
|
|
@@ -166,10 +167,12 @@ export function LayoutBuilder({ initialLayout, title, initialKeys, initialSteps,
|
|
|
166
167
|
onRemoveCell: removeCell,
|
|
167
168
|
onAddWidget: addWidgetToRow,
|
|
168
169
|
onConfigureCell: (rowIdx, cellIdx) => setConfiguringCell({ rowIdx, cellIdx }),
|
|
169
|
-
propsSchemaByWidgetId,
|
|
170
|
+
propsSchemaByWidgetId: catalogue.propsSchemaByWidgetId,
|
|
171
|
+
displayByWidgetId: catalogue.displayByWidgetId,
|
|
172
|
+
advanced,
|
|
170
173
|
widgets,
|
|
171
174
|
widgetProps,
|
|
172
|
-
} })) }), _jsx(TabsContent, { value: "pipeline", className: "mt-4", children: _jsx(PipelineStrip, { L: L, keyEntries: keyEntries, stepEntries: stepEntries, keyCatalog: liveCatalog, availableSteps: liveSteps, stepsByApp: stepsByApp, liveKeys:
|
|
175
|
+
} })) }), advanced && (_jsx(TabsContent, { value: "pipeline", className: "mt-4", children: _jsx(PipelineStrip, { L: L, keyEntries: keyEntries, stepEntries: stepEntries, keyCatalog: liveCatalog, availableSteps: catalogue.liveSteps, stepsByApp: catalogue.stepsByApp, liveKeys: liveContext.keys, onAddKey: addKey, onUpdateKey: updateKey, onRemoveKey: removeKey, onAddStep: addStep, onUpdateStep: updateStep, onRemoveStep: removeStep, status: catalogue.status }) })), _jsx(TabsContent, { value: "preview", className: "mt-4", children: _jsx(PreviewPane, { draft: draft, activeTabIndex: activeTabIndex, setActiveTabIndex: setActiveTabIndex, widgets: widgets, widgetProps: widgetProps }) })] }), _jsx(CatalogueSheet, { L: L, open: catalogueOpen, onOpenChange: setCatalogueOpen, keyCatalog: liveCatalog, availableSteps: catalogue.liveSteps, unreachableWidgets: catalogue.liveUnreachable, onSeedKey: (name) => {
|
|
173
176
|
addKey(name);
|
|
174
177
|
setCatalogueOpen(false);
|
|
175
178
|
setView("pipeline");
|
|
@@ -177,11 +180,14 @@ export function LayoutBuilder({ initialLayout, title, initialKeys, initialSteps,
|
|
|
177
180
|
addProducingStepFor(key);
|
|
178
181
|
setCatalogueOpen(false);
|
|
179
182
|
setView("pipeline");
|
|
180
|
-
} }), _jsx(SaveDialog, { L: L, open: saveOpen, onOpenChange: (open) => {
|
|
183
|
+
} }), _jsx(SaveDialog, { L: L, open: save.saveOpen, canApply: onExit !== undefined, onOpenChange: (open) => {
|
|
181
184
|
// Clear any stale save error whenever the dialog is opened or
|
|
182
185
|
// dismissed so a fresh attempt starts clean.
|
|
183
|
-
setSaveError(null);
|
|
184
|
-
setSaveOpen(open);
|
|
185
|
-
}, name: saveName, setName: setSaveName, description: saveDescription, setDescription: setSaveDescription, onSubmit: saveDraft, busy: isBusy, error: saveError }), _jsx(
|
|
186
|
+
save.setSaveError(null);
|
|
187
|
+
save.setSaveOpen(open);
|
|
188
|
+
}, name: save.saveName, setName: save.setSaveName, description: save.saveDescription, setDescription: save.setSaveDescription, onSubmit: save.saveDraft, busy: save.isBusy, error: save.saveError }), _jsx(DiscardDialog, { L: L, open: discardOpen, onOpenChange: setDiscardOpen, changesSaved: !draftState.unsaved, onConfirm: () => {
|
|
189
|
+
setDiscardOpen(false);
|
|
190
|
+
leave.discardNow();
|
|
191
|
+
} }), _jsx(CellPropsSheet, { configuringCell: configuringCell, activeRows: activeRows, propsSchemaByWidgetId: catalogue.propsSchemaByWidgetId, displayByWidgetId: catalogue.displayByWidgetId, onApply: setCellProps, onClose: () => setConfiguringCell(null) })] }));
|
|
186
192
|
}
|
|
187
193
|
//# sourceMappingURL=layout-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-builder.js","sourceRoot":"","sources":["../../src/app/layout-builder.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout-builder.js","sourceRoot":"","sources":["../../src/app/layout-builder.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Presentational chrome for `McpAppView` — the toolbar, the failed-steps
|
|
3
|
+
* alert, and the build/render body — plus the view-envelope types they share.
|
|
4
|
+
* The pre-payload states (waiting / error / cancelled) live in
|
|
5
|
+
* `mcp-app-view-states.tsx`. Split out of `mcp-app-view.tsx` so the shell
|
|
6
|
+
* component keeps only the host-sync and state logic while these files stay
|
|
7
|
+
* hook-light.
|
|
8
|
+
*/
|
|
9
|
+
import { type ReactNode } from "react";
|
|
1
10
|
import type { LayoutConfig, PipelineStepRef } from "@miragon/mcp-toolkit-core";
|
|
2
|
-
import { type
|
|
11
|
+
import { type ViewMessages } from "../locale/toolkit-messages.js";
|
|
12
|
+
import { type LayoutBuilderLabels, type LayoutBuilderProps } from "./layout-builder.js";
|
|
3
13
|
import { type WidgetComponent } from "./widget-renderer.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Override strings of the view chrome (placeholder, error state, toolbar,
|
|
16
|
+
* step errors). Every field defaults to the active locale's toolkit catalog
|
|
17
|
+
* (`en`/`de`, see `useToolkitMessages`).
|
|
18
|
+
*/
|
|
19
|
+
export type McpAppViewLabels = Partial<ViewMessages>;
|
|
20
|
+
/**
|
|
21
|
+
* English chrome strings.
|
|
22
|
+
* @deprecated Read the active locale's strings with `useToolkitMessages().view`
|
|
23
|
+
* (or `TOOLKIT_MESSAGES.en.view`); this alias stays for existing imports.
|
|
24
|
+
*/
|
|
14
25
|
export declare const DEFAULT_LABELS: Required<McpAppViewLabels>;
|
|
26
|
+
/** How the toolbar shows the view title — so a view has exactly ONE title. */
|
|
27
|
+
export type ViewTitleMode = "show" | "hide" | "slot";
|
|
28
|
+
/** Heading level of the toolbar title. */
|
|
29
|
+
export type ViewTitleLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
15
30
|
export interface RefreshParams {
|
|
16
31
|
keys?: Record<string, unknown>;
|
|
17
32
|
steps?: PipelineStepRef[];
|
|
@@ -50,28 +65,95 @@ export interface ViewData {
|
|
|
50
65
|
* recovery hook's `isValid` dependency.
|
|
51
66
|
*/
|
|
52
67
|
export declare function isCompleteViewData(value: unknown): value is ViewData;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
68
|
+
/** What the LayoutBuilder hands back on Apply. */
|
|
69
|
+
export interface BuilderCommit {
|
|
70
|
+
layout: LayoutConfig;
|
|
71
|
+
keys?: Record<string, unknown>;
|
|
72
|
+
steps?: PipelineStepRef[];
|
|
73
|
+
title?: string;
|
|
74
|
+
context?: ViewData["context"];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Commit the builder's draft into the view payload so the renderer shows the
|
|
78
|
+
* just-built layout and Refresh re-issues it. Exported for tests.
|
|
79
|
+
*/
|
|
80
|
+
export declare function applyBuilderCommit(prev: ViewData, commit: BuilderCommit): ViewData;
|
|
81
|
+
/**
|
|
82
|
+
* Whether the Fullscreen toggle may render: the host offers fullscreen
|
|
83
|
+
* (mcp-use's negotiated `availableDisplayModes`, toolkit#178 K22), or the view
|
|
84
|
+
* is already there (its exit toggle must stay).
|
|
85
|
+
*/
|
|
86
|
+
export declare function fullscreenAvailable(displayMode: string, availableDisplayModes: readonly string[]): boolean;
|
|
58
87
|
export interface ViewToolbarProps {
|
|
59
88
|
/** The toolbar hides entirely while build mode owns the surface. */
|
|
60
89
|
hidden: boolean;
|
|
61
90
|
viewData: ViewData;
|
|
62
91
|
builderAvailable: boolean;
|
|
63
92
|
isFullscreen: boolean;
|
|
93
|
+
/** The host offers fullscreen (see {@link fullscreenAvailable}). */
|
|
94
|
+
canFullscreen: boolean;
|
|
64
95
|
isRefreshing: boolean;
|
|
65
96
|
labels: Required<McpAppViewLabels>;
|
|
97
|
+
titleMode: ViewTitleMode;
|
|
98
|
+
titleLevel: ViewTitleLevel;
|
|
99
|
+
renderTitle?: (title: string | undefined) => ReactNode;
|
|
66
100
|
onRefresh: () => Promise<void>;
|
|
67
101
|
onEnterBuildMode: () => void;
|
|
68
102
|
onToggleFullscreen: () => Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* The pre-formatted time of a view that loaded its data again on its own
|
|
105
|
+
* (toolkit#176 N23): the toolbar stamps it in a quiet line under the title,
|
|
106
|
+
* so the figures read as live data of that time, not the result the chat
|
|
107
|
+
* answered from.
|
|
108
|
+
*/
|
|
109
|
+
dataAsOf?: string;
|
|
69
110
|
}
|
|
70
|
-
|
|
71
|
-
export declare function
|
|
72
|
-
|
|
111
|
+
/** Which toolbar controls render — pure, so the gates are unit-testable. */
|
|
112
|
+
export declare function toolbarControls(input: {
|
|
113
|
+
viewData: Pick<ViewData, "_refreshParams" | "layout" | "title">;
|
|
114
|
+
builderAvailable: boolean;
|
|
115
|
+
canFullscreen: boolean;
|
|
116
|
+
titleMode: ViewTitleMode;
|
|
117
|
+
}): {
|
|
118
|
+
title: boolean;
|
|
119
|
+
refresh: boolean;
|
|
120
|
+
edit: boolean;
|
|
121
|
+
fullscreen: boolean;
|
|
122
|
+
any: boolean;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* The view toolbar: the title (per {@link ViewTitleMode}, so a widget that
|
|
126
|
+
* renders its own heading is not titled twice), then Edit, Refresh and
|
|
127
|
+
* Fullscreen. Refresh and Fullscreen are 32 px icon buttons named by
|
|
128
|
+
* `aria-label`; Fullscreen renders only when the host offers it. All three are
|
|
129
|
+
* chrome buttons in the CI pattern (CI §8: surface, border, shadow-1, blue
|
|
130
|
+
* hover; {@link CHROME_BUTTON}). A 16 px inset keeps the bar off the frame
|
|
131
|
+
* edge, also in fullscreen. The controls never shrink; the stamp of re-loaded
|
|
132
|
+
* data sits under the title ({@link ToolbarHeading}), so neither the title
|
|
133
|
+
* nor the stamp competes with the controls for width.
|
|
134
|
+
*/
|
|
135
|
+
export declare function ViewToolbar({ hidden, viewData, builderAvailable, isFullscreen, canFullscreen, isRefreshing, labels, titleMode, titleLevel, renderTitle, onRefresh, onEnterBuildMode, onToggleFullscreen, dataAsOf, }: ViewToolbarProps): import("react").JSX.Element | null;
|
|
136
|
+
/** Resolves a human title for a pipeline step (`{ id, step }` from the view's steps). */
|
|
137
|
+
export type DescribeStep = (step: {
|
|
138
|
+
id: string;
|
|
139
|
+
step?: string;
|
|
140
|
+
}) => string | undefined;
|
|
141
|
+
/**
|
|
142
|
+
* The failed data steps as ONE inline alert: what happened (the title), which
|
|
143
|
+
* data is affected (each step by its human title, else its step id), what you
|
|
144
|
+
* can do (retry, or ask in the chat when the view cannot refresh). The raw
|
|
145
|
+
* step reasons stay under "Details", out of the user copy.
|
|
146
|
+
*/
|
|
147
|
+
export declare function StepErrors({ hidden, errors, steps, labels, describeStep, onRetry, }: {
|
|
148
|
+
/** Build mode surfaces its own diagnostics; the shell alert hides. */
|
|
73
149
|
hidden: boolean;
|
|
74
150
|
errors: ViewData["context"]["errors"];
|
|
151
|
+
/** The view's step refs (`_refreshParams.steps`), to name a failed step by its definition. */
|
|
152
|
+
steps?: PipelineStepRef[];
|
|
153
|
+
labels: Required<McpAppViewLabels>;
|
|
154
|
+
describeStep?: DescribeStep;
|
|
155
|
+
/** Re-runs the view (a refresh); omitted when the view cannot be refreshed. */
|
|
156
|
+
onRetry?: () => void;
|
|
75
157
|
}): import("react").JSX.Element | null;
|
|
76
158
|
export interface ViewBodyProps {
|
|
77
159
|
buildMode: boolean;
|
|
@@ -79,6 +161,7 @@ export interface ViewBodyProps {
|
|
|
79
161
|
widgets: Record<string, WidgetComponent>;
|
|
80
162
|
callTool: (name: string, args: object) => Promise<unknown>;
|
|
81
163
|
onExit: LayoutBuilderProps["onExit"];
|
|
164
|
+
builderLabels?: LayoutBuilderLabels;
|
|
82
165
|
}
|
|
83
|
-
export declare function ViewBody({ buildMode, viewData, widgets, callTool, onExit }: ViewBodyProps): import("react").JSX.Element | null;
|
|
166
|
+
export declare function ViewBody({ buildMode, viewData, widgets, callTool, onExit, builderLabels, }: ViewBodyProps): import("react").JSX.Element | null;
|
|
84
167
|
//# sourceMappingURL=mcp-app-view-chrome.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-app-view-chrome.d.ts","sourceRoot":"","sources":["../../src/app/mcp-app-view-chrome.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-app-view-chrome.d.ts","sourceRoot":"","sources":["../../src/app/mcp-app-view-chrome.tsx"],"names":[],"mappings":"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"}
|