- Add @storybook/addon-actions for action logging in stories - Add onTestCapability callback to ExperimentalFeaturesPanel - Use CopyButton overlay in ResourcePreviewPanel and ResultPanel - Replace includeContext checkbox with badge in SamplingRequestPanel - Add LongServerName story for ServerCard - Fix long tool name overflow with truncation and contained Paper variant - Add optional title prop to ToolListItem and ToolDetailPanel - Move tool annotations from list to detail panel form - Vertically center static text in ResourceTemplateInput - Fix InlineError blank space when no details Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
72 lines
1.7 KiB
TypeScript
72 lines
1.7 KiB
TypeScript
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
import { fn } from "storybook/test";
|
|
import { ResourcePreviewPanel } from "./ResourcePreviewPanel";
|
|
|
|
const meta: Meta<typeof ResourcePreviewPanel> = {
|
|
title: "Molecules/ResourcePreviewPanel",
|
|
component: ResourcePreviewPanel,
|
|
args: {
|
|
onSubscribe: fn(),
|
|
onUnsubscribe: fn(),
|
|
},
|
|
};
|
|
|
|
export default meta;
|
|
type Story = StoryObj<typeof ResourcePreviewPanel>;
|
|
|
|
export const JsonResource: Story = {
|
|
args: {
|
|
uri: "file:///config.json",
|
|
mimeType: "application/json",
|
|
content: JSON.stringify(
|
|
{ name: "mcp-inspector", version: "2.0.0", debug: true },
|
|
null,
|
|
2,
|
|
),
|
|
isSubscribed: false,
|
|
lastUpdated: "2026-03-17T10:30:00Z",
|
|
},
|
|
};
|
|
|
|
export const TextResource: Story = {
|
|
args: {
|
|
uri: "file:///readme.txt",
|
|
mimeType: "text/plain",
|
|
content:
|
|
"This is a plain text resource with some example content.\nLine two of the content.",
|
|
isSubscribed: false,
|
|
},
|
|
};
|
|
|
|
export const Subscribed: Story = {
|
|
args: {
|
|
uri: "file:///data.json",
|
|
mimeType: "application/json",
|
|
content: JSON.stringify({ status: "active" }, null, 2),
|
|
isSubscribed: true,
|
|
lastUpdated: "2026-03-17T12:00:00Z",
|
|
},
|
|
};
|
|
|
|
export const NotSubscribed: Story = {
|
|
args: {
|
|
uri: "file:///data.json",
|
|
mimeType: "application/json",
|
|
content: JSON.stringify({ status: "active" }, null, 2),
|
|
isSubscribed: false,
|
|
},
|
|
};
|
|
|
|
export const WithAnnotations: Story = {
|
|
args: {
|
|
uri: "file:///settings.json",
|
|
mimeType: "application/json",
|
|
content: JSON.stringify({ theme: "dark", lang: "en" }, null, 2),
|
|
isSubscribed: false,
|
|
annotations: {
|
|
audience: "application",
|
|
priority: 0.8,
|
|
},
|
|
lastUpdated: "2026-03-17T09:00:00Z",
|
|
},
|
|
};
|