import type { Meta, StoryObj } from '@storybook/nextjs' import { ThemeProvider } from 'next-themes' import type { ReactNode } from 'react' import DifyLogo from './dify-logo' import LogoSite from './logo-site' import LogoEmbeddedChatHeader from './logo-embedded-chat-header' import LogoEmbeddedChatAvatar from './logo-embedded-chat-avatar' const meta = { title: 'Base/General/Logo', component: DifyLogo, parameters: { layout: 'centered', docs: { description: { component: 'Brand assets rendered in different contexts. DifyLogo adapts to the active theme while other variants target specific surfaces.', }, }, }, args: { size: 'medium', style: 'default', }, argTypes: { size: { control: 'radio', options: ['large', 'medium', 'small'], }, style: { control: 'radio', options: ['default', 'monochromeWhite'], }, }, tags: ['autodocs'], } satisfies Meta export default meta type Story = StoryObj const ThemePreview = ({ theme, children }: { theme: 'light' | 'dark'; children: ReactNode }) => { return (
{children}
) } export const Playground: Story = { render: ({ size, style }) => { return (
Primary logo
{`size="${size}" | style="${style}"`}
Site favicon
Embedded header
Embedded avatar
) }, }