@miragon/mcp-toolkit-ui 2.7.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 +7 -4
- 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.js +1 -1
- 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 +21 -7
- 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 +11 -4
- 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/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 +2 -1
- package/dist/app/builder/PipelineStrip.d.ts.map +1 -1
- package/dist/app/builder/PipelineStrip.js +26 -13
- 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 +8 -2
- package/dist/app/builder/SaveDialog.js.map +1 -1
- package/dist/app/builder/Toolbar.d.ts +12 -4
- package/dist/app/builder/Toolbar.d.ts.map +1 -1
- package/dist/app/builder/Toolbar.js +18 -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 +143 -1
- package/dist/app/builder/builder-model.d.ts.map +1 -1
- package/dist/app/builder/builder-model.js +191 -1
- package/dist/app/builder/builder-model.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/use-builder-catalogue.d.ts +4 -1
- package/dist/app/builder/use-builder-catalogue.d.ts.map +1 -1
- package/dist/app/builder/use-builder-catalogue.js +44 -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/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 +13 -25
- package/dist/app/layout-builder.d.ts.map +1 -1
- package/dist/app/layout-builder.js +75 -81
- package/dist/app/layout-builder.js.map +1 -1
- package/dist/app/mcp-app-view-chrome.d.ts +12 -3
- package/dist/app/mcp-app-view-chrome.d.ts.map +1 -1
- package/dist/app/mcp-app-view-chrome.js +21 -5
- package/dist/app/mcp-app-view-chrome.js.map +1 -1
- package/dist/app/mcp-app-view-states.d.ts +11 -3
- package/dist/app/mcp-app-view-states.d.ts.map +1 -1
- package/dist/app/mcp-app-view-states.js +29 -8
- package/dist/app/mcp-app-view-states.js.map +1 -1
- package/dist/app/mcp-app-view.d.ts +33 -1
- package/dist/app/mcp-app-view.d.ts.map +1 -1
- package/dist/app/mcp-app-view.js +181 -127
- package/dist/app/mcp-app-view.js.map +1 -1
- package/dist/app/mcp-toolkit-app.d.ts +6 -1
- package/dist/app/mcp-toolkit-app.d.ts.map +1 -1
- package/dist/app/mcp-toolkit-app.js +8 -1
- 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 +4 -0
- package/dist/app/use-view-lifecycle.d.ts.map +1 -1
- package/dist/app/use-view-lifecycle.js +2 -0
- package/dist/app/use-view-lifecycle.js.map +1 -1
- package/dist/app/view-lifecycle.d.ts +80 -4
- package/dist/app/view-lifecycle.d.ts.map +1 -1
- package/dist/app/view-lifecycle.js +90 -3
- package/dist/app/view-lifecycle.js.map +1 -1
- 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 +3 -1
- package/dist/app/widget-props-sheet.d.ts.map +1 -1
- package/dist/app/widget-props-sheet.js +22 -10
- package/dist/app/widget-props-sheet.js.map +1 -1
- package/dist/app/widget-renderer.js +1 -1
- 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 +8 -6
- package/dist/components/DrillButton.js.map +1 -1
- package/dist/components/EmptyState.d.ts.map +1 -1
- package/dist/components/EmptyState.js +4 -2
- package/dist/components/EmptyState.js.map +1 -1
- package/dist/components/ErrorState.d.ts +5 -2
- package/dist/components/ErrorState.d.ts.map +1 -1
- package/dist/components/ErrorState.js +25 -8
- package/dist/components/ErrorState.js.map +1 -1
- package/dist/components/FilterBar.d.ts +15 -4
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +11 -6
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/KpiGrid.d.ts +66 -21
- package/dist/components/KpiGrid.d.ts.map +1 -1
- package/dist/components/KpiGrid.js +101 -34
- package/dist/components/KpiGrid.js.map +1 -1
- package/dist/components/ListFooter.d.ts +31 -4
- package/dist/components/ListFooter.d.ts.map +1 -1
- package/dist/components/ListFooter.js +30 -11
- 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 +27 -7
- package/dist/components/Pills.d.ts.map +1 -1
- package/dist/components/Pills.js +21 -6
- 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 +9 -3
- package/dist/components/Toast.d.ts.map +1 -1
- package/dist/components/Toast.js +31 -16
- package/dist/components/Toast.js.map +1 -1
- 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 +47 -52
- package/dist/hooks/use-tool-result-recovery.d.ts.map +1 -1
- package/dist/hooks/use-tool-result-recovery.js +58 -120
- package/dist/hooks/use-tool-result-recovery.js.map +1 -1
- package/dist/hooks/use-view-data.d.ts +52 -10
- package/dist/hooks/use-view-data.d.ts.map +1 -1
- package/dist/hooks/use-view-data.js +81 -16
- 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 +17 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -6
- 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/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 +41 -1
- package/dist/lib/toast-model.d.ts.map +1 -1
- package/dist/lib/toast-model.js +67 -1
- package/dist/lib/toast-model.js.map +1 -1
- package/dist/lib/tone-utils.d.ts +58 -6
- package/dist/lib/tone-utils.d.ts.map +1 -1
- package/dist/lib/tone-utils.js +66 -4
- 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 +1 -1
- package/dist/locale/index.d.ts.map +1 -1
- package/dist/locale/message-types.d.ts +117 -4
- package/dist/locale/message-types.d.ts.map +1 -1
- package/dist/locale/messages-de.d.ts.map +1 -1
- package/dist/locale/messages-de.js +44 -10
- package/dist/locale/messages-de.js.map +1 -1
- package/dist/locale/messages-en.d.ts.map +1 -1
- package/dist/locale/messages-en.js +44 -10
- package/dist/locale/messages-en.js.map +1 -1
- package/dist/locale/toolkit-messages.d.ts +19 -1
- package/dist/locale/toolkit-messages.d.ts.map +1 -1
- package/dist/locale/toolkit-messages.js +54 -1
- package/dist/locale/toolkit-messages.js.map +1 -1
- package/dist/primitives/alert.d.ts +1 -1
- package/dist/primitives/alert.d.ts.map +1 -1
- package/dist/primitives/alert.js +2 -0
- 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 +9 -4
- package/dist/primitives/badge.js.map +1 -1
- package/dist/primitives/button.d.ts +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/button.js.map +1 -1
- package/dist/primitives/dialog.d.ts +1 -1
- package/dist/primitives/dialog.d.ts.map +1 -1
- package/dist/primitives/dialog.js +10 -3
- package/dist/primitives/dialog.js.map +1 -1
- package/dist/primitives/select.js +1 -1
- package/dist/primitives/select.js.map +1 -1
- package/dist/primitives/sheet.d.ts +1 -1
- package/dist/primitives/sheet.d.ts.map +1 -1
- package/dist/primitives/sheet.js +6 -2
- package/dist/primitives/sheet.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 +30 -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/theme/create-theme.d.ts +19 -1
- package/dist/theme/create-theme.d.ts.map +1 -1
- package/dist/theme/create-theme.js +15 -0
- package/dist/theme/create-theme.js.map +1 -1
- package/package.json +5 -4
- package/src/app/adapt-data-widget.tsx +2 -42
- package/src/app/builder/BuilderBanners.tsx +1 -1
- package/src/app/builder/CanvasRow.tsx +63 -17
- package/src/app/builder/CatalogueSheet.tsx +50 -29
- package/src/app/builder/CellPropsSheet.tsx +17 -2
- package/src/app/builder/DiscardDialog.tsx +59 -0
- package/src/app/builder/LayoutSurface.tsx +206 -66
- package/src/app/builder/PipelineStrip.tsx +253 -153
- package/src/app/builder/SaveDialog.tsx +14 -2
- package/src/app/builder/Toolbar.tsx +144 -59
- package/src/app/builder/Workspace.tsx +226 -58
- package/src/app/builder/builder-model.ts +341 -2
- 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/reveal.ts +10 -0
- package/src/app/builder/use-builder-catalogue.ts +56 -19
- package/src/app/builder/use-builder-session.ts +68 -0
- package/src/app/builder/use-display-resolver.ts +24 -0
- package/src/app/index.ts +12 -2
- package/src/app/layout-builder.tsx +178 -191
- package/src/app/mcp-app-view-chrome.test.tsx +141 -1
- package/src/app/mcp-app-view-chrome.tsx +56 -6
- package/src/app/mcp-app-view-states.tsx +51 -11
- package/src/app/mcp-app-view.effects.test.tsx +292 -0
- package/src/app/mcp-app-view.test.tsx +222 -2
- package/src/app/mcp-app-view.tsx +267 -117
- package/src/app/mcp-toolkit-app.test.tsx +40 -0
- package/src/app/mcp-toolkit-app.tsx +8 -1
- 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 +6 -0
- package/src/app/view-lifecycle.test.ts +216 -0
- package/src/app/view-lifecycle.ts +165 -5
- 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 +57 -16
- package/src/app/widget-renderer.tsx +1 -1
- package/src/components/DrillButton.tsx +23 -10
- package/src/components/EmptyState.tsx +6 -4
- package/src/components/ErrorState.tsx +31 -9
- package/src/components/FilterBar.test.tsx +82 -0
- package/src/components/FilterBar.tsx +52 -26
- package/src/components/KpiGrid.test.tsx +279 -0
- package/src/components/KpiGrid.tsx +297 -90
- package/src/components/ListFooter.test.tsx +116 -0
- package/src/components/ListFooter.tsx +102 -15
- 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 +63 -10
- package/src/components/SectionHeading.tsx +9 -3
- package/src/components/Toast.tsx +37 -19
- package/src/components/WidgetHeader.test.tsx +78 -0
- package/src/components/WidgetHeader.tsx +63 -16
- package/src/components/feedback-states.test.tsx +98 -9
- package/src/components/tone-figures.test.tsx +8 -4
- 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 +3 -4
- package/src/hooks/use-tool-result-recovery.ts +84 -142
- package/src/hooks/use-view-data.test.tsx +118 -9
- package/src/hooks/use-view-data.ts +128 -18
- package/src/hooks/use-view-tool-query.ts +25 -19
- package/src/i18n-coverage.test.tsx +104 -2
- package/src/index.ts +48 -11
- package/src/lib/focus-return.test.ts +288 -0
- package/src/lib/focus-return.ts +96 -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 +166 -1
- package/src/lib/toast-model.ts +104 -2
- package/src/lib/tone-utils.test.ts +86 -10
- package/src/lib/tone-utils.ts +89 -8
- 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 +1 -0
- package/src/locale/message-types.ts +118 -2
- package/src/locale/messages-de.ts +49 -10
- package/src/locale/messages-en.ts +49 -10
- package/src/locale/toolkit-messages.test.ts +133 -0
- package/src/locale/toolkit-messages.ts +63 -2
- package/src/primitives/alert.tsx +3 -0
- package/src/primitives/badge.tsx +9 -4
- package/src/primitives/button.tsx +1 -1
- package/src/primitives/dialog.tsx +10 -1
- package/src/primitives/select.tsx +1 -1
- package/src/primitives/sheet.tsx +7 -0
- 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 +38 -6
- package/src/render-effects.tsx +96 -0
- package/src/theme/cd-tokens.test.ts +3 -1
- package/src/theme/create-theme.test.ts +10 -0
- package/src/theme/create-theme.ts +28 -0
- package/src/theme/theme-css.test.ts +51 -0
- package/src/theme.css +31 -1
- package/ui-catalog.json +448 -41
|
@@ -2,10 +2,41 @@ import { type ReactNode } from "react";
|
|
|
2
2
|
import { QueryClient } from "@tanstack/react-query";
|
|
3
3
|
type CallToolFn = (name: string, args: object) => Promise<unknown>;
|
|
4
4
|
declare const queryClient: QueryClient;
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The query client and tool transport of the toolkit's data hooks.
|
|
7
|
+
*
|
|
8
|
+
* `callTool` is how `useToolQuery` & co. reach the server; without it they
|
|
9
|
+
* fall back to the nearest `HostBridgeProvider`'s bridge (toolkit#176 N25).
|
|
10
|
+
* `client` replaces the shared module-level client, e.g. one per mount;
|
|
11
|
+
* omitted, a nested provider keeps its parent's client (as `McpAppView`'s
|
|
12
|
+
* own provider does), and the outermost one shares the toolkit's client
|
|
13
|
+
* (`queryClient`). `toolNameInQueryKey` puts the tool name into the hooks'
|
|
14
|
+
* cache keys (`[...queryKey, toolName, args]`, see `toolQueryKey`), so two
|
|
15
|
+
* tools never share an entry; omitted, a nested provider keeps its parent's
|
|
16
|
+
* setting, and the outermost one uses the 2.x key `[...queryKey, args]`. The
|
|
17
|
+
* next major makes the tool name the default.
|
|
18
|
+
*/
|
|
19
|
+
export declare function AppQueryProvider({ children, callTool, client, toolNameInQueryKey, }: {
|
|
6
20
|
children: ReactNode;
|
|
7
21
|
callTool?: CallToolFn;
|
|
22
|
+
client?: QueryClient;
|
|
23
|
+
toolNameInQueryKey?: boolean;
|
|
8
24
|
}): import("react").JSX.Element;
|
|
25
|
+
/**
|
|
26
|
+
* The client an `AppQueryProvider` without `client` uses at this point: the
|
|
27
|
+
* nearest `AppQueryProvider`'s, else the toolkit's shared `queryClient`. A
|
|
28
|
+
* plain TanStack `QueryClientProvider` does not count.
|
|
29
|
+
*/
|
|
30
|
+
export declare function useAppQueryClient(): QueryClient;
|
|
31
|
+
/**
|
|
32
|
+
* Whether the nearest `AppQueryProvider` puts the tool name into the data
|
|
33
|
+
* hooks' cache keys (`toolNameInQueryKey`); `false` outside one.
|
|
34
|
+
*/
|
|
35
|
+
export declare function useToolNameInQueryKey(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* The tool transport of the data hooks: `AppQueryProvider`'s `callTool`,
|
|
38
|
+
* else the nearest `HostBridgeProvider`'s `callTool`, else `undefined`.
|
|
39
|
+
*/
|
|
9
40
|
export declare function useCallTool(): CallToolFn | undefined;
|
|
10
41
|
export { queryClient };
|
|
11
42
|
//# sourceMappingURL=query-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-provider.d.ts","sourceRoot":"","sources":["../../src/providers/query-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"query-provider.d.ts","sourceRoot":"","sources":["../../src/providers/query-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAA;AAMxE,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAOlE,QAAA,MAAM,WAAW,aAOf,CAAA;AAKF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,+BAeA;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,UAAU,GAAG,SAAS,CAQpD;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createContext, useContext } from "react";
|
|
2
|
+
import { createContext, useContext, useMemo } from "react";
|
|
3
3
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
4
|
+
import { useHostBridgeOrNull } from "../app/host-bridge.js";
|
|
4
5
|
const CallToolContext = createContext(undefined);
|
|
6
|
+
/** Whether the data hooks put the tool name into their cache keys (`toolQueryKey`). */
|
|
7
|
+
const ToolNameInQueryKeyContext = createContext(false);
|
|
5
8
|
const queryClient = new QueryClient({
|
|
6
9
|
defaultOptions: {
|
|
7
10
|
queries: {
|
|
@@ -10,11 +13,57 @@ const queryClient = new QueryClient({
|
|
|
10
13
|
},
|
|
11
14
|
},
|
|
12
15
|
});
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
/** The client of the nearest `AppQueryProvider`, which a nested one without `client` keeps. */
|
|
17
|
+
const AppQueryClientContext = createContext(queryClient);
|
|
18
|
+
/**
|
|
19
|
+
* The query client and tool transport of the toolkit's data hooks.
|
|
20
|
+
*
|
|
21
|
+
* `callTool` is how `useToolQuery` & co. reach the server; without it they
|
|
22
|
+
* fall back to the nearest `HostBridgeProvider`'s bridge (toolkit#176 N25).
|
|
23
|
+
* `client` replaces the shared module-level client, e.g. one per mount;
|
|
24
|
+
* omitted, a nested provider keeps its parent's client (as `McpAppView`'s
|
|
25
|
+
* own provider does), and the outermost one shares the toolkit's client
|
|
26
|
+
* (`queryClient`). `toolNameInQueryKey` puts the tool name into the hooks'
|
|
27
|
+
* cache keys (`[...queryKey, toolName, args]`, see `toolQueryKey`), so two
|
|
28
|
+
* tools never share an entry; omitted, a nested provider keeps its parent's
|
|
29
|
+
* setting, and the outermost one uses the 2.x key `[...queryKey, args]`. The
|
|
30
|
+
* next major makes the tool name the default.
|
|
31
|
+
*/
|
|
32
|
+
export function AppQueryProvider({ children, callTool, client, toolNameInQueryKey, }) {
|
|
33
|
+
const inheritedClient = useAppQueryClient();
|
|
34
|
+
const inherited = useContext(ToolNameInQueryKeyContext);
|
|
35
|
+
const effective = client ?? inheritedClient;
|
|
36
|
+
return (_jsx(AppQueryClientContext.Provider, { value: effective, children: _jsx(QueryClientProvider, { client: effective, children: _jsx(CallToolContext.Provider, { value: callTool, children: _jsx(ToolNameInQueryKeyContext.Provider, { value: toolNameInQueryKey ?? inherited, children: children }) }) }) }));
|
|
15
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* The client an `AppQueryProvider` without `client` uses at this point: the
|
|
40
|
+
* nearest `AppQueryProvider`'s, else the toolkit's shared `queryClient`. A
|
|
41
|
+
* plain TanStack `QueryClientProvider` does not count.
|
|
42
|
+
*/
|
|
43
|
+
export function useAppQueryClient() {
|
|
44
|
+
return useContext(AppQueryClientContext);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Whether the nearest `AppQueryProvider` puts the tool name into the data
|
|
48
|
+
* hooks' cache keys (`toolNameInQueryKey`); `false` outside one.
|
|
49
|
+
*/
|
|
50
|
+
export function useToolNameInQueryKey() {
|
|
51
|
+
return useContext(ToolNameInQueryKeyContext);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The tool transport of the data hooks: `AppQueryProvider`'s `callTool`,
|
|
55
|
+
* else the nearest `HostBridgeProvider`'s `callTool`, else `undefined`.
|
|
56
|
+
*/
|
|
16
57
|
export function useCallTool() {
|
|
17
|
-
|
|
58
|
+
const explicit = useContext(CallToolContext);
|
|
59
|
+
const bridge = useHostBridgeOrNull();
|
|
60
|
+
return useMemo(() => {
|
|
61
|
+
if (explicit)
|
|
62
|
+
return explicit;
|
|
63
|
+
if (!bridge)
|
|
64
|
+
return undefined;
|
|
65
|
+
return (name, args) => bridge.callTool(name, args);
|
|
66
|
+
}, [explicit, bridge]);
|
|
18
67
|
}
|
|
19
68
|
export { queryClient };
|
|
20
69
|
//# sourceMappingURL=query-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-provider.js","sourceRoot":"","sources":["../../src/providers/query-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"query-provider.js","sourceRoot":"","sources":["../../src/providers/query-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAO3D,MAAM,eAAe,GAAG,aAAa,CAAyB,SAAS,CAAC,CAAA;AAExE,uFAAuF;AACvF,MAAM,yBAAyB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;AAEtD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;IAClC,cAAc,EAAE;QACd,OAAO,EAAE;YACP,SAAS,EAAE,MAAM;YACjB,oBAAoB,EAAE,KAAK;SAC5B;KACF;CACF,CAAC,CAAA;AAEF,+FAA+F;AAC/F,MAAM,qBAAqB,GAAG,aAAa,CAAc,WAAW,CAAC,CAAA;AAErE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,kBAAkB,GAMnB;IACC,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAA;IAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,yBAAyB,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,MAAM,IAAI,eAAe,CAAA;IAC3C,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,YAC9C,KAAC,mBAAmB,IAAC,MAAM,EAAE,SAAS,YACpC,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACvC,KAAC,yBAAyB,CAAC,QAAQ,IAAC,KAAK,EAAE,kBAAkB,IAAI,SAAS,YACvE,QAAQ,GAC0B,GACZ,GACP,GACS,CAClC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,qBAAqB,CAAC,CAAA;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,yBAAyB,CAAC,CAAA;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,OAAO,OAAO,CAAyB,GAAG,EAAE;QAC1C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAC7B,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAA+B,CAAC,CAAA;IAC/E,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;AACxB,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -67,7 +67,7 @@ export const PRIMITIVE_RENDER_CASES = [
|
|
|
67
67
|
{
|
|
68
68
|
name: "Alert",
|
|
69
69
|
marker: "RC:Alert",
|
|
70
|
-
render: () => (_jsxs(Alert, { variant: "
|
|
70
|
+
render: () => (_jsxs(Alert, { variant: "danger", children: [_jsx(AlertTitle, { children: "RC:Alert" }), _jsx(AlertDescription, { children: "The engine rejected the job." })] })),
|
|
71
71
|
},
|
|
72
72
|
{
|
|
73
73
|
name: "ScrollArea",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-cases-primitives.js","sourceRoot":"","sources":["../src/render-cases-primitives.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"render-cases-primitives.js","sourceRoot":"","sources":["../src/render-cases-primitives.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-cases.d.ts","sourceRoot":"","sources":["../src/render-cases.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render-cases.d.ts","sourceRoot":"","sources":["../src/render-cases.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEtF,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAwC9D,eAAO,MAAM,YAAY,EAAE,UAAU,EAmPpC,CAAA"}
|
package/dist/render-cases.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Inbox } from "lucide-react";
|
|
3
|
-
import { Button, CountPill, DrillButton, EmptyState, ErrorState, FilterBar, GridItem, GridLayout, GroupCard, KpiGrid, ListFooter, LivePill, LocaleProvider, SectionHeading, ThemeProvider, themePresets, ToastProvider, useLocale, WidgetHeader, } from "./index.js";
|
|
2
|
+
import { ExternalLink, Inbox } from "lucide-react";
|
|
3
|
+
import { Button, CountPill, DrillButton, EmptyState, ErrorState, FilterBar, GridItem, GridLayout, GroupCard, KpiGrid, KpiGridSkeleton, ListFooter, LivePill, LocaleProvider, PagedListFooter, SectionHeading, StatusBadge, ThemeProvider, themePresets, ToastProvider, useLocale, WidgetHeader, } from "./index.js";
|
|
4
4
|
import { createStandaloneHostBridge, HostBridgeProvider, useHostBridge } from "./app/host-bridge.js";
|
|
5
|
-
import { HostModelContext } from "./app/
|
|
5
|
+
import { HostModelContext } from "./app/model-context.js";
|
|
6
6
|
import { WidgetFixtureHost } from "./app/widget-fixture.js";
|
|
7
7
|
import { PRIMITIVE_RENDER_CASES } from "./render-cases-primitives.js";
|
|
8
8
|
/**
|
|
@@ -62,9 +62,15 @@ export const RENDER_CASES = [
|
|
|
62
62
|
trendDirection: "up",
|
|
63
63
|
},
|
|
64
64
|
{ label: "Done", value: 12, fraction: "/19", tone: "success" },
|
|
65
|
-
{ label: "Total", value: 19, onClick: noop,
|
|
65
|
+
{ label: "Total", value: 19, onClick: noop, actionHint: "Shows all orders" },
|
|
66
66
|
] })),
|
|
67
67
|
},
|
|
68
|
+
{
|
|
69
|
+
// A skeleton has no text; the marker is its busy state.
|
|
70
|
+
name: "KpiGridSkeleton",
|
|
71
|
+
marker: 'aria-busy="true"',
|
|
72
|
+
render: () => _jsx(KpiGridSkeleton, { cells: 4, boxed: true }),
|
|
73
|
+
},
|
|
68
74
|
{
|
|
69
75
|
name: "LivePill",
|
|
70
76
|
marker: "RC:LivePill",
|
|
@@ -75,6 +81,11 @@ export const RENDER_CASES = [
|
|
|
75
81
|
marker: "RC:CountPill",
|
|
76
82
|
render: () => _jsx(CountPill, { tone: "warning", children: "RC:CountPill" }),
|
|
77
83
|
},
|
|
84
|
+
{
|
|
85
|
+
name: "StatusBadge",
|
|
86
|
+
marker: "RC:StatusBadge",
|
|
87
|
+
render: () => _jsx(StatusBadge, { tone: "warning", children: "RC:StatusBadge" }),
|
|
88
|
+
},
|
|
78
89
|
{
|
|
79
90
|
name: "SectionHeading",
|
|
80
91
|
marker: "RC:SectionHeading",
|
|
@@ -83,7 +94,7 @@ export const RENDER_CASES = [
|
|
|
83
94
|
{
|
|
84
95
|
name: "WidgetHeader",
|
|
85
96
|
marker: "RC:WidgetHeader",
|
|
86
|
-
render: () => (_jsx(WidgetHeader, {
|
|
97
|
+
render: () => (_jsx(WidgetHeader, { as: "h2", title: "RC:WidgetHeader", badge: _jsx(StatusBadge, { tone: "info", children: "Running" }), sub: _jsx(LivePill, { children: "Live" }), actions: _jsx(Button, { size: "sm", variant: "ghost", onClick: noop, children: "Refresh" }) })),
|
|
87
98
|
},
|
|
88
99
|
{
|
|
89
100
|
name: "GroupCard",
|
|
@@ -102,13 +113,26 @@ export const RENDER_CASES = [
|
|
|
102
113
|
{
|
|
103
114
|
name: "DrillButton",
|
|
104
115
|
marker: "RC:DrillButton",
|
|
105
|
-
render: () => (_jsx(DrillButton, { onDrill: noop, icon:
|
|
116
|
+
render: () => (_jsx(DrillButton, { onDrill: noop, icon: _jsx(ExternalLink, {}), size: "sm", ariaLabel: "Open order o-1001", children: "RC:DrillButton" })),
|
|
106
117
|
},
|
|
107
118
|
{
|
|
108
119
|
name: "ListFooter",
|
|
109
120
|
marker: "of 42 tasks",
|
|
110
121
|
render: () => _jsx(ListFooter, { shown: 8, total: 42, hasMore: true, onLoadMore: noop, noun: "tasks" }),
|
|
111
122
|
},
|
|
123
|
+
{
|
|
124
|
+
name: "PagedListFooter",
|
|
125
|
+
marker: "of 3 orders",
|
|
126
|
+
render: () => (_jsx(PagedListFooter, { paged: {
|
|
127
|
+
items: ["o-1", "o-2"],
|
|
128
|
+
total: 3,
|
|
129
|
+
hasMore: true,
|
|
130
|
+
loadMore: noop,
|
|
131
|
+
refreshing: true,
|
|
132
|
+
firstPage: {},
|
|
133
|
+
loadMoreError: new Error("HTTP 503"),
|
|
134
|
+
}, noun: "orders" })),
|
|
135
|
+
},
|
|
112
136
|
// ── Feedback and states ──
|
|
113
137
|
{
|
|
114
138
|
// The provider renders its children plus the (empty) live region.
|
package/dist/render-cases.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-cases.js","sourceRoot":"","sources":["../src/render-cases.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"render-cases.js","sourceRoot":"","sources":["../src/render-cases.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Effect-running renders for the WIRING tests SSR cannot see: effects,
|
|
3
|
+
* subscriptions and timers of the view lifecycle and the data hooks
|
|
4
|
+
* (toolkit#176 review). `react-dom/client` + `act` in a test file that opts
|
|
5
|
+
* into a DOM with `// @vitest-environment happy-dom`. Not an interaction kit:
|
|
6
|
+
* the house render path stays SSR (`renderToStaticMarkup`), and these tests
|
|
7
|
+
* drive hooks through their inputs; a `click()` only where the wiring starts
|
|
8
|
+
* at a button.
|
|
9
|
+
*/
|
|
10
|
+
import { type ReactNode } from "react";
|
|
11
|
+
/**
|
|
12
|
+
* Run `work` in an ASYNC act scope: the promises it starts (a tool call that
|
|
13
|
+
* resolves, a state update after it) settle, and their renders commit,
|
|
14
|
+
* before the scope ends.
|
|
15
|
+
*/
|
|
16
|
+
export declare function inAct(work: () => unknown): Promise<void>;
|
|
17
|
+
export interface EffectRender {
|
|
18
|
+
container: HTMLElement;
|
|
19
|
+
/** Render `node` into the same root (a new host state, new props). */
|
|
20
|
+
rerender: (node: ReactNode) => Promise<void>;
|
|
21
|
+
/** Unmount and run the cleanups; a second call does nothing. */
|
|
22
|
+
unmount: () => Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/** Mount `node` and run its effects. */
|
|
25
|
+
export declare function renderWithEffects(node: ReactNode): Promise<EffectRender>;
|
|
26
|
+
/**
|
|
27
|
+
* Settle pending promises and the effects and renders they cause, with real
|
|
28
|
+
* timers: TanStack Query notifies its observers on a 0 ms timer, so each
|
|
29
|
+
* round lets one land (under fake timers use {@link advanceTimers}).
|
|
30
|
+
*/
|
|
31
|
+
export declare function flushEffects(rounds?: number): Promise<void>;
|
|
32
|
+
/** Advance fake timers by `ms` inside act, so the renders they cause commit. */
|
|
33
|
+
export declare function advanceTimers(advance: (ms: number) => unknown, ms: number): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Renders `useValue` in a probe and keeps its latest committed value: read
|
|
36
|
+
* `current` after a render or flush.
|
|
37
|
+
*/
|
|
38
|
+
export declare function hookProbe<T>(useValue: () => T): {
|
|
39
|
+
Probe: () => null;
|
|
40
|
+
current: () => T;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=render-effects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-effects.d.ts","sourceRoot":"","sources":["../src/render-effects.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxD;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,WAAW,CAAA;IACtB,sEAAsE;IACtE,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,gEAAgE;IAChE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED,wCAAwC;AACxC,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAgB9E;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,MAAM,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5D;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG;IAC/C,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,CAAA;CACjB,CAgBA"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Effect-running renders for the WIRING tests SSR cannot see: effects,
|
|
3
|
+
* subscriptions and timers of the view lifecycle and the data hooks
|
|
4
|
+
* (toolkit#176 review). `react-dom/client` + `act` in a test file that opts
|
|
5
|
+
* into a DOM with `// @vitest-environment happy-dom`. Not an interaction kit:
|
|
6
|
+
* the house render path stays SSR (`renderToStaticMarkup`), and these tests
|
|
7
|
+
* drive hooks through their inputs; a `click()` only where the wiring starts
|
|
8
|
+
* at a button.
|
|
9
|
+
*/
|
|
10
|
+
import { act, useEffect } from "react";
|
|
11
|
+
import { createRoot } from "react-dom/client";
|
|
12
|
+
globalThis.IS_REACT_ACT_ENVIRONMENT = true;
|
|
13
|
+
/**
|
|
14
|
+
* Run `work` in an ASYNC act scope: the promises it starts (a tool call that
|
|
15
|
+
* resolves, a state update after it) settle, and their renders commit,
|
|
16
|
+
* before the scope ends.
|
|
17
|
+
*/
|
|
18
|
+
export function inAct(work) {
|
|
19
|
+
return act(() => {
|
|
20
|
+
work();
|
|
21
|
+
return Promise.resolve();
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/** Mount `node` and run its effects. */
|
|
25
|
+
export async function renderWithEffects(node) {
|
|
26
|
+
const container = document.createElement("div");
|
|
27
|
+
document.body.append(container);
|
|
28
|
+
const root = createRoot(container);
|
|
29
|
+
await inAct(() => root.render(node));
|
|
30
|
+
let mounted = true;
|
|
31
|
+
return {
|
|
32
|
+
container,
|
|
33
|
+
rerender: (next) => inAct(() => root.render(next)),
|
|
34
|
+
unmount: async () => {
|
|
35
|
+
if (!mounted)
|
|
36
|
+
return;
|
|
37
|
+
mounted = false;
|
|
38
|
+
await inAct(() => root.unmount());
|
|
39
|
+
container.remove();
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Settle pending promises and the effects and renders they cause, with real
|
|
45
|
+
* timers: TanStack Query notifies its observers on a 0 ms timer, so each
|
|
46
|
+
* round lets one land (under fake timers use {@link advanceTimers}).
|
|
47
|
+
*/
|
|
48
|
+
export async function flushEffects(rounds = 3) {
|
|
49
|
+
for (let round = 0; round < rounds; round++) {
|
|
50
|
+
await act(async () => {
|
|
51
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** Advance fake timers by `ms` inside act, so the renders they cause commit. */
|
|
56
|
+
export function advanceTimers(advance, ms) {
|
|
57
|
+
return inAct(() => advance(ms));
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Renders `useValue` in a probe and keeps its latest committed value: read
|
|
61
|
+
* `current` after a render or flush.
|
|
62
|
+
*/
|
|
63
|
+
export function hookProbe(useValue) {
|
|
64
|
+
const box = {};
|
|
65
|
+
function Probe() {
|
|
66
|
+
const value = useValue();
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
box.value = { current: value };
|
|
69
|
+
});
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
Probe,
|
|
74
|
+
current: () => {
|
|
75
|
+
if (!box.value)
|
|
76
|
+
throw new Error("the probe has not committed yet");
|
|
77
|
+
return box.value.current;
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=render-effects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-effects.js","sourceRoot":"","sources":["../src/render-effects.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,GAAG,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAG5C;AAAC,UAAqD,CAAC,wBAAwB,GAAG,IAAI,CAAA;AAEvF;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,IAAmB;IACvC,OAAO,GAAG,CAAC,GAAG,EAAE;QACd,IAAI,EAAE,CAAA;QACN,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;AACJ,CAAC;AAUD,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAe;IACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC/C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IACpC,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,OAAO;gBAAE,OAAM;YACpB,OAAO,GAAG,KAAK,CAAA;YACf,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;YACjC,SAAS,CAAC,MAAM,EAAE,CAAA;QACpB,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAM,GAAG,CAAC;IAC3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,OAAgC,EAAE,EAAU;IACxE,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAI,QAAiB;IAI5C,MAAM,GAAG,GAA+B,EAAE,CAAA;IAC1C,SAAS,KAAK;QACZ,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,SAAS,CAAC,GAAG,EAAE;YACb,GAAG,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO;QACL,KAAK;QACL,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YAClE,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -133,6 +133,19 @@ export interface ThemeTokens {
|
|
|
133
133
|
fontMono?: string;
|
|
134
134
|
/** Heading font-family list. Maps to `--font-heading`. */
|
|
135
135
|
fontHeading?: string;
|
|
136
|
+
/** Page title size (CI h2, 28 px). Maps to `--text-title` (`text-title`). */
|
|
137
|
+
textTitle?: string;
|
|
138
|
+
/** Section title size (CI h3, 21 px). Maps to `--text-section` (`text-section`). */
|
|
139
|
+
textSection?: string;
|
|
140
|
+
/** Running text size (16 px). Maps to `--text-body` (`text-body`). */
|
|
141
|
+
textBody?: string;
|
|
142
|
+
/** Dense tables and controls (14 px), never running text. Maps to `--text-dense` (`text-dense`). */
|
|
143
|
+
textDense?: string;
|
|
144
|
+
/**
|
|
145
|
+
* Captions, labels and hints: the smallest text the kit renders (13 px;
|
|
146
|
+
* keep it at 13 px or more). Maps to `--text-small` (`text-small`).
|
|
147
|
+
*/
|
|
148
|
+
textSmall?: string;
|
|
136
149
|
}
|
|
137
150
|
/** The CSS custom-property name a {@link ThemeTokens} field resolves to. */
|
|
138
151
|
type CssVarName = `--${string}`;
|
|
@@ -191,6 +204,11 @@ export declare const TOKEN_TO_CSS_VAR: {
|
|
|
191
204
|
readonly fontSans: "--font-sans";
|
|
192
205
|
readonly fontMono: "--font-mono";
|
|
193
206
|
readonly fontHeading: "--font-heading";
|
|
207
|
+
readonly textTitle: "--text-title";
|
|
208
|
+
readonly textSection: "--text-section";
|
|
209
|
+
readonly textBody: "--text-body";
|
|
210
|
+
readonly textDense: "--text-dense";
|
|
211
|
+
readonly textSmall: "--text-small";
|
|
194
212
|
};
|
|
195
213
|
/**
|
|
196
214
|
* The role-token contract: every variable the toolkit defines for components
|
|
@@ -198,7 +216,7 @@ export declare const TOKEN_TO_CSS_VAR: {
|
|
|
198
216
|
* package, and in apps built on it, style through these names only, never
|
|
199
217
|
* through raw colours or Tailwind palette classes.
|
|
200
218
|
*/
|
|
201
|
-
export declare const ROLE_TOKENS: readonly ["--background", "--card", "--popover", "--muted", "--secondary", "--foreground", "--muted-foreground", "--border", "--input", "--primary", "--primary-foreground", "--primary-hover", "--link", "--ring", "--focus", "--success", "--warning", "--danger", "--info", "--success-soft", "--warning-soft", "--danger-soft", "--info-soft", "--success-ink", "--warning-ink", "--danger-ink", "--info-ink", "--destructive", "--radius-sm", "--radius-md", "--radius-lg", "--radius-pill", "--shadow-1", "--shadow-2", "--shadow-3", "--scrim", "--motion-fast", "--motion-base", "--motion-slow", "--ease", "--font-sans", "--font-mono"];
|
|
219
|
+
export declare const ROLE_TOKENS: readonly ["--background", "--card", "--popover", "--muted", "--secondary", "--foreground", "--muted-foreground", "--border", "--input", "--primary", "--primary-foreground", "--primary-hover", "--link", "--ring", "--focus", "--success", "--warning", "--danger", "--info", "--success-soft", "--warning-soft", "--danger-soft", "--info-soft", "--success-ink", "--warning-ink", "--danger-ink", "--info-ink", "--destructive", "--radius-sm", "--radius-md", "--radius-lg", "--radius-pill", "--shadow-1", "--shadow-2", "--shadow-3", "--scrim", "--motion-fast", "--motion-base", "--motion-slow", "--ease", "--font-sans", "--font-mono", "--text-title", "--text-section", "--text-body", "--text-dense", "--text-small"];
|
|
202
220
|
/**
|
|
203
221
|
* Variables whose toolkit value is the same in light and dark (theme.css
|
|
204
222
|
* declares them once, or identically in both modes). A theme's LIGHT value for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-theme.d.ts","sourceRoot":"","sources":["../../src/theme/create-theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"create-theme.d.ts","sourceRoot":"","sources":["../../src/theme/create-theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,4EAA4E;AAC5E,KAAK,UAAU,GAAG,KAAK,MAAM,EAAE,CAAA;AAE/B;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsD6B,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,WAAW,osBAgDkB,CAAA;AAE1C;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,UAAU,CA2BtD,CAAA;AAEF,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;AAElD;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,IAAI,EAAE,SAAS,CAAA;IACf,wEAAwE;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;;;;;OAQG;IACH,OAAO,IAAI,aAAa,CAAA;CACzB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAY3D;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,eAAe,CAW3F;AAqCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACzC,IAAI,EAAE,OAAO,GAAG,MAAM,GACrB,SAAS,CAQX"}
|
|
@@ -53,6 +53,11 @@ export const TOKEN_TO_CSS_VAR = {
|
|
|
53
53
|
fontSans: "--font-sans",
|
|
54
54
|
fontMono: "--font-mono",
|
|
55
55
|
fontHeading: "--font-heading",
|
|
56
|
+
textTitle: "--text-title",
|
|
57
|
+
textSection: "--text-section",
|
|
58
|
+
textBody: "--text-body",
|
|
59
|
+
textDense: "--text-dense",
|
|
60
|
+
textSmall: "--text-small",
|
|
56
61
|
};
|
|
57
62
|
/**
|
|
58
63
|
* The role-token contract: every variable the toolkit defines for components
|
|
@@ -103,6 +108,11 @@ export const ROLE_TOKENS = [
|
|
|
103
108
|
"--ease",
|
|
104
109
|
"--font-sans",
|
|
105
110
|
"--font-mono",
|
|
111
|
+
"--text-title",
|
|
112
|
+
"--text-section",
|
|
113
|
+
"--text-body",
|
|
114
|
+
"--text-dense",
|
|
115
|
+
"--text-small",
|
|
106
116
|
];
|
|
107
117
|
/**
|
|
108
118
|
* Variables whose toolkit value is the same in light and dark (theme.css
|
|
@@ -136,6 +146,11 @@ export const MODE_INVARIANT_VARS = new Set([
|
|
|
136
146
|
"--font-sans",
|
|
137
147
|
"--font-mono",
|
|
138
148
|
"--font-heading",
|
|
149
|
+
"--text-title",
|
|
150
|
+
"--text-section",
|
|
151
|
+
"--text-body",
|
|
152
|
+
"--text-dense",
|
|
153
|
+
"--text-small",
|
|
139
154
|
]);
|
|
140
155
|
/**
|
|
141
156
|
* Map a {@link ThemeTokens} object to its CSS variables. Empty/partial token
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-theme.js","sourceRoot":"","sources":["../../src/theme/create-theme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-theme.js","sourceRoot":"","sources":["../../src/theme/create-theme.ts"],"names":[],"mappings":"AA0JA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,WAAW;IACpB,iBAAiB,EAAE,sBAAsB;IACzC,YAAY,EAAE,iBAAiB;IAC/B,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU;IAClB,gBAAgB,EAAE,qBAAqB;IACvC,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE,cAAc;IAC1B,IAAI,EAAE,QAAQ;IACd,cAAc,EAAE,mBAAmB;IACnC,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,SAAS;IAChB,eAAe,EAAE,oBAAoB;IACrC,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,eAAe;IAC5B,qBAAqB,EAAE,0BAA0B;IACjD,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,eAAe;IAC3B,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,aAAa;IACvB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,aAAa;IACvB,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,eAAe;IAC3B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,gBAAgB;IAC7B,SAAS,EAAE,cAAc;IACzB,WAAW,EAAE,gBAAgB;IAC7B,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,cAAc;IACzB,SAAS,EAAE,cAAc;CAC+B,CAAA;AAE1D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc;IACd,QAAQ;IACR,WAAW;IACX,SAAS;IACT,aAAa;IACb,cAAc;IACd,oBAAoB;IACpB,UAAU;IACV,SAAS;IACT,WAAW;IACX,sBAAsB;IACtB,iBAAiB;IACjB,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,WAAW;IACX,UAAU;IACV,QAAQ;IACR,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,eAAe;IACf,eAAe;IACf,cAAc;IACd,YAAY;IACZ,eAAe;IACf,aAAa;IACb,aAAa;IACb,aAAa;IACb,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,eAAe;IACf,eAAe;IACf,eAAe;IACf,QAAQ;IACR,aAAa;IACb,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,cAAc;CAC0B,CAAA;AAE1C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA4B,IAAI,GAAG,CAAa;IAC9E,WAAW;IACX,sBAAsB;IACtB,iBAAiB;IACjB,eAAe;IACf,0BAA0B;IAC1B,SAAS;IACT,UAAU;IACV,aAAa;IACb,aAAa;IACb,aAAa;IACb,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,eAAe;IACf,eAAe;IACf,QAAQ;IACR,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,cAAc;CACf,CAAC,CAAA;AA+BF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,MAAM,IAAI,GAAc,EAAE,CAAA;IAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAG1D,EAAE,CAAC;QACJ,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;QACtB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAaD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,WAAW,CAAC,MAAmB,EAAE,IAAyB;IACxE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,CAAA;IAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAElE,MAAM,KAAK,GAAoB;QAC7B,IAAI;QACJ,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;KAChD,CAAA;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,iEAAiE;AACjE,SAAS,QAAQ,CAAC,KAAsB,EAAE,IAAgB;IACxD,OAAO,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;AACvF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CAAC,IAAe,EAAE,KAAsB;IAC9D,MAAM,OAAO,GAAc,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;IAC/B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,aAAa,CAAC,GAAG,QAAQ,MAAM,SAAS,CAAA;QAChD,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAA;QAC/B,OAAO,CAAC,aAAa,CAAC,GAAG,QAAQ,MAAM,WAAW,CAAA;IACpD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,iBAAiB,CAAC,GAAG,sBAAsB,OAAO,oBAAoB,CAAA;IAChF,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAA;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;QAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IAClE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAA;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAyC,EACzC,IAAsB;IAEtB,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC/D,MAAM,OAAO,GAAc,EAAE,CAAA;IAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAA2B,EAAE,CAAC;QACjF,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IAC1D,CAAC;IACD,OAAO,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAA;AAClE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miragon/mcp-toolkit-ui",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "React UI for MCP servers:
|
|
3
|
+
"version": "2.8.0",
|
|
4
|
+
"description": "React UI for MCP servers in the Miragon design system (white-label through role tokens): primitives, composite components, TanStack Query hooks, and the MCP App shell (McpAppView + WidgetRenderer).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/Miragon/mcp-toolkit.git",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"react": "^19.2.0",
|
|
46
46
|
"react-dom": "^19.2.0",
|
|
47
47
|
"tailwindcss": "^4.3.0",
|
|
48
|
-
"@miragon/mcp-toolkit-core": "~2.
|
|
48
|
+
"@miragon/mcp-toolkit-core": "~2.8.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@base-ui/react": "1.8.0",
|
|
@@ -67,13 +67,14 @@
|
|
|
67
67
|
"@types/react-dom": "19.3.0",
|
|
68
68
|
"@vitest/coverage-v8": "4.1.11",
|
|
69
69
|
"fast-check": "4.10.2",
|
|
70
|
+
"happy-dom": "20.14.5",
|
|
70
71
|
"mcp-use": "2.7.3",
|
|
71
72
|
"react": "19.3.0",
|
|
72
73
|
"react-dom": "19.3.0",
|
|
73
74
|
"tailwindcss": "4.3.3",
|
|
74
75
|
"typescript": "6.0.3",
|
|
75
76
|
"vitest": "4.1.11",
|
|
76
|
-
"@miragon/mcp-toolkit-core": "2.
|
|
77
|
+
"@miragon/mcp-toolkit-core": "2.8.0"
|
|
77
78
|
},
|
|
78
79
|
"engines": {
|
|
79
80
|
"node": ">=22.22.2"
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ModelContext } from "mcp-use/react"
|
|
1
|
+
import type { ComponentType } from "react"
|
|
3
2
|
import type { WidgetProps } from "@miragon/mcp-toolkit-core"
|
|
4
|
-
import {
|
|
5
|
-
import { useIsInsideMcpUseView } from "./mcp-use-host-bridge.js"
|
|
3
|
+
import { HostModelContext } from "./model-context.js"
|
|
6
4
|
import type { WidgetComponent } from "./widget-renderer.js"
|
|
7
5
|
|
|
8
6
|
/**
|
|
@@ -16,44 +14,6 @@ export type DescribeForModel<T> = (
|
|
|
16
14
|
props: Readonly<Record<string, unknown>>,
|
|
17
15
|
) => string
|
|
18
16
|
|
|
19
|
-
/**
|
|
20
|
-
* Model-context reporting that works on every host — the host-portable
|
|
21
|
-
* replacement for rendering `mcp-use/react`'s `ModelContext` directly.
|
|
22
|
-
*
|
|
23
|
-
* mcp-use 2.x's `ModelContext` registers with the view runtime and THROWS
|
|
24
|
-
* outside a `bootstrapView` mount, so it is only rendered inside an mcp-use
|
|
25
|
-
* view (where it aggregates nested nodes into one tree). Everywhere else —
|
|
26
|
-
* ChatGPT via `createChatGptHostBridge`, the `WidgetFixtureHost` harness,
|
|
27
|
-
* standalone apps — the description flows through the bridge's
|
|
28
|
-
* `setModelContext` instead (last-writer-wins; fine for the single-widget
|
|
29
|
-
* mounts those hosts render).
|
|
30
|
-
*
|
|
31
|
-
* Widgets that self-fetch and report their own context (cockpit views like
|
|
32
|
-
* `TasksBoard`) must use this instead of importing `ModelContext` from
|
|
33
|
-
* `mcp-use/react` — the direct import crashes the widget in every non-view
|
|
34
|
-
* mount, starting with the widget playground.
|
|
35
|
-
*/
|
|
36
|
-
export function HostModelContext({
|
|
37
|
-
content,
|
|
38
|
-
children,
|
|
39
|
-
}: {
|
|
40
|
-
content: string
|
|
41
|
-
children: ReactNode
|
|
42
|
-
}): ReactNode {
|
|
43
|
-
const insideView = useIsInsideMcpUseView()
|
|
44
|
-
if (insideView) return <ModelContext content={content}>{children}</ModelContext>
|
|
45
|
-
return <BridgeModelContext content={content}>{children}</BridgeModelContext>
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function BridgeModelContext({ content, children }: { content: string; children: ReactNode }) {
|
|
49
|
-
const bridge = useHostBridgeOrNull()
|
|
50
|
-
const setModelContext = bridge?.setModelContext
|
|
51
|
-
useEffect(() => {
|
|
52
|
-
setModelContext?.(content)
|
|
53
|
-
}, [setModelContext, content])
|
|
54
|
-
return children
|
|
55
|
-
}
|
|
56
|
-
|
|
57
17
|
/**
|
|
58
18
|
* Wraps a "single-data" widget component (signature `({ data }: { data: T | null })`)
|
|
59
19
|
* so it can be registered as a framework {@link WidgetComponent} (which receives
|