import type { Meta, StoryObj } from '@storybook/nextjs' import NotionIcon from '.' const meta = { title: 'Base/General/NotionIcon', component: NotionIcon, parameters: { docs: { description: { component: 'Renders workspace and page icons returned from Notion APIs, falling back to text initials or the default document glyph.', }, }, }, tags: ['autodocs'], args: { type: 'workspace', name: 'Knowledge Base', src: 'https://cloud.dify.ai/logo/logo.svg', }, } satisfies Meta export default meta type Story = StoryObj export const WorkspaceIcon: Story = { render: args => (
Workspace icon pulled from a remote URL.
), parameters: { docs: { source: { language: 'tsx', code: ` ` .trim(), }, }, }, } export const WorkspaceInitials: Story = { render: args => (
Fallback initial rendered when no icon URL is available.
), parameters: { docs: { source: { language: 'tsx', code: ` ` .trim(), }, }, }, } export const PageEmoji: Story = { render: args => (
Page-level emoji icon returned by the API.
), parameters: { docs: { source: { language: 'tsx', code: ` ` .trim(), }, }, }, } export const PageImage: Story = { render: args => (
Page icon resolved from an image URL.
), parameters: { docs: { source: { language: 'tsx', code: ` ` .trim(), }, }, }, } export const DefaultIcon: Story = { render: args => (
When neither emoji nor URL is provided, the generic document icon is shown.
), parameters: { docs: { source: { language: 'tsx', code: ` ` .trim(), }, }, }, }