import type { Meta, StoryObj } from '@storybook/nextjs' import '@xyflow/react/dist/style.css' import type { ComponentProps, FC, PropsWithChildren } from 'react' import { ErdRendererProvider, VersionProvider } from '../../../../providers' import { mockAddedColumnSchema, mockAddedForeignKeyConstraint, mockAddedIndex, mockAddedTableSchema, mockAddedUniqueConstraint, mockBaselineSchema, mockCurrentSchema, mockModifiedColumnCommentSchema, mockModifiedColumnDefaultSchema, mockModifiedColumnTypeSchema, mockModifiedForeignKeyConstraint, mockModifiedIndexColumns, mockModifiedIndexType, mockModifiedIndexUnique, mockModifiedTableSchema, mockRemovedColumnSchema, mockRemovedConstraint, mockRemovedIndex, mockRemovedTableSchema, } from '../../mocks' import { ERDRenderer } from './ErdRenderer' const mockVersion = { version: '1.0.0', gitHash: 'abc123def456', envName: 'storybook', date: '2024-01-01T00:00:00Z', displayedOn: 'web' as const, } type ProvidersProps = PropsWithChildren & ComponentProps const Providers: FC = ({ children, ...props }) => { return ( {children} ) } const meta = { component: ERDRenderer, parameters: { layout: 'fullscreen', }, args: { defaultSidebarOpen: false, withAppBar: false, }, argTypes: { defaultSidebarOpen: { control: 'boolean', description: 'Whether the sidebar is open by default', }, withAppBar: { control: 'boolean', description: 'Whether to show the app bar', }, }, } satisfies Meta export default meta type Story = StoryObj export const Default: Story = { decorators: [ (Story) => (
), ], } export const DiffModeTableNameOnly: Story = { decorators: [ (Story) => (
), ], } export const DiffModeKeyOnly: Story = { decorators: [ (Story) => (
), ], } export const TableAdded: Story = { decorators: [ (Story) => (
), ], } export const TableRemoved: Story = { decorators: [ (Story) => (
), ], } export const TableModified: Story = { decorators: [ (Story) => (
), ], } export const ColumnAdded: Story = { decorators: [ (Story) => (
), ], } export const ColumnRemoved: Story = { decorators: [ (Story) => (
), ], } export const ColumnTypeModified: Story = { decorators: [ (Story) => (
), ], } export const ColumnCommentModified: Story = { decorators: [ (Story) => (
), ], } export const ColumnDefaultModified: Story = { decorators: [ (Story) => (
), ], } export const IndexAdded: Story = { decorators: [ (Story) => (
), ], } export const IndexRemoved: Story = { decorators: [ (Story) => (
), ], } export const IndexUniqueModified: Story = { decorators: [ (Story) => (
), ], } export const IndexColumnsModified: Story = { decorators: [ (Story) => (
), ], } export const IndexTypeModified: Story = { decorators: [ (Story) => (
), ], } export const ForeignKeyConstraintAdded: Story = { decorators: [ (Story) => (
), ], } export const UniqueConstraintAdded: Story = { decorators: [ (Story) => (
), ], } export const ConstraintRemoved: Story = { decorators: [ (Story) => (
), ], } export const ForeignKeyConstraintModified: Story = { decorators: [ (Story) => (
), ], }