From 0f936ec0e7606cb79434d94096b6e113a7ce78eb Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 15 Dec 2023 18:35:16 +0100 Subject: refactor(stories): migrate stories to CSF3 format --- .../molecules/nav/nav-item/nav-item.stories.tsx | 46 ++--- .../molecules/nav/nav-link/nav-link.stories.tsx | 202 ++++++++------------- .../molecules/nav/nav-list/nav-list.stories.tsx | 41 ++--- 3 files changed, 111 insertions(+), 178 deletions(-) (limited to 'src/components/molecules/nav') diff --git a/src/components/molecules/nav/nav-item/nav-item.stories.tsx b/src/components/molecules/nav/nav-item/nav-item.stories.tsx index df736a4..3d77b4d 100644 --- a/src/components/molecules/nav/nav-item/nav-item.stories.tsx +++ b/src/components/molecules/nav/nav-item/nav-item.stories.tsx @@ -1,37 +1,25 @@ -import type { ComponentMeta, ComponentStory } from '@storybook/react'; +import type { Meta, StoryObj } from '@storybook/react'; import { NavLink } from '../nav-link'; -import { NavItem } from './nav-item'; +import { NavItem, type NavItemProps } from './nav-item'; -/** - * NavItem - Storybook Meta - */ -export default { - title: 'Molecules/Nav/NavItem', - component: NavItem, - argTypes: { - children: { - control: { - type: 'text', - }, - description: 'Define the nav item contents.', - type: { - name: 'string', - required: true, - }, - }, - }, -} as ComponentMeta; - -const Template: ComponentStory = (args) => ( +const WrappedNavItem = (args: NavItemProps) => (
); -/** - * NavItem Stories - Default - */ -export const Default = Template.bind({}); -Default.args = { - children: , +const meta = { + component: NavItem, + title: 'Molecules/Nav/Item', + render: WrappedNavItem, +} satisfies Meta; + +export default meta; + +type Story = StoryObj; + +export const Example: Story = { + args: { + children: , + }, }; diff --git a/src/components/molecules/nav/nav-link/nav-link.stories.tsx b/src/components/molecules/nav/nav-link/nav-link.stories.tsx index b0ad76a..ba13d33 100644 --- a/src/components/molecules/nav/nav-link/nav-link.stories.tsx +++ b/src/components/molecules/nav/nav-link/nav-link.stories.tsx @@ -1,148 +1,100 @@ -import type { ComponentMeta, ComponentStory } from '@storybook/react'; +import type { Meta, StoryObj } from '@storybook/react'; import { Icon } from '../../../atoms'; -import { NavLink as NavLinkComponent } from './nav-link'; +import { NavLink, type NavLinkProps } from './nav-link'; -/** - * NavLink - Storybook Meta - */ -export default { - title: 'Molecules/Nav/NavLink', - component: NavLinkComponent, - argTypes: { - href: { - control: { - type: 'text', - }, - description: 'The link target.', - type: { - name: 'string', - required: true, - }, - }, - label: { - control: { - type: 'text', - }, - description: 'The link label.', - type: { - name: 'string', - required: true, - }, - }, - logo: { - control: { - type: null, - }, - description: 'The link logo.', - type: { - name: 'string', - required: true, - }, - }, - }, -} as ComponentMeta; - -const Template: ComponentStory = (args) => ( +const WrappedNavLink = (args: NavLinkProps) => (
- +
); -/** - * NavLink Stories - Regular - */ -export const Regular = Template.bind({}); -Regular.args = { - href: '#', - label: 'A nav link', +const meta = { + component: NavLink, + title: 'Molecules/Nav/Link', + render: WrappedNavLink, +} satisfies Meta; + +export default meta; + +type Story = StoryObj; + +export const Regular: Story = { + args: { + href: '#', + label: 'A nav link', + }, }; -/** - * NavLink Stories - RegularInlineWithLogo - */ -export const RegularInlineWithLogo = Template.bind({}); -RegularInlineWithLogo.args = { - href: '#example', - isStack: false, - label: 'A nav link', - logo: , +export const RegularInlineWithLogo: Story = { + args: { + href: '#example', + isStack: false, + label: 'A nav link', + logo: , + }, }; -/** - * NavLink Stories - RegularStackWithLogo - */ -export const RegularStackWithLogo = Template.bind({}); -RegularStackWithLogo.args = { - href: '#example', - isStack: true, - label: 'A nav link', - logo: , +export const RegularStackWithLogo: Story = { + args: { + href: '#example', + isStack: true, + label: 'A nav link', + logo: , + }, }; -/** - * NavLink Stories - Block - */ -export const Block = Template.bind({}); -Block.args = { - href: '#', - label: 'A nav link', - variant: 'block', +export const Block: Story = { + args: { + href: '#', + label: 'A nav link', + variant: 'block', + }, }; -/** - * NavLink Stories - BlockInlineWithLogo - */ -export const BlockInlineWithLogo = Template.bind({}); -BlockInlineWithLogo.args = { - href: '#example', - isStack: false, - label: 'A nav link', - logo: , - variant: 'block', +export const BlockInlineWithLogo: Story = { + args: { + href: '#example', + isStack: false, + label: 'A nav link', + logo: , + variant: 'block', + }, }; -/** - * NavLink Stories - BlockStackWithLogo - */ -export const BlockStackWithLogo = Template.bind({}); -BlockStackWithLogo.args = { - href: '#example', - isStack: true, - label: 'A nav link', - logo: , - variant: 'block', +export const BlockStackWithLogo: Story = { + args: { + href: '#example', + isStack: true, + label: 'A nav link', + logo: , + variant: 'block', + }, }; -/** - * NavLink Stories - Main - */ -export const Main = Template.bind({}); -Main.args = { - href: '#', - label: 'A nav link', - variant: 'main', +export const Main: Story = { + args: { + href: '#', + label: 'A nav link', + variant: 'main', + }, }; -/** - * NavLink Stories - MainInlineWithLogo - */ -export const MainInlineWithLogo = Template.bind({}); -MainInlineWithLogo.args = { - href: '#example', - isStack: false, - label: 'A nav link', - logo: , - variant: 'main', +export const MainInlineWithLogo: Story = { + args: { + href: '#example', + isStack: false, + label: 'A nav link', + logo: , + variant: 'main', + }, }; -/** - * NavLink Stories - MainStackWithLogo - */ -export const MainStackWithLogo = Template.bind({}); -MainStackWithLogo.args = { - href: '#example', - isStack: true, - label: 'A nav link', - logo: , - variant: 'main', +export const MainStackWithLogo: Story = { + args: { + href: '#example', + isStack: true, + label: 'A nav link', + logo: , + variant: 'main', + }, }; diff --git a/src/components/molecules/nav/nav-list/nav-list.stories.tsx b/src/components/molecules/nav/nav-list/nav-list.stories.tsx index c165ac7..702acfe 100644 --- a/src/components/molecules/nav/nav-list/nav-list.stories.tsx +++ b/src/components/molecules/nav/nav-list/nav-list.stories.tsx @@ -1,19 +1,16 @@ -import type { ComponentMeta, ComponentStory } from '@storybook/react'; +import type { Meta, StoryObj } from '@storybook/react'; import { NavItem } from '../nav-item'; import { NavLink } from '../nav-link'; import { NavList } from './nav-list'; -/** - * Nav - Storybook Meta - */ -export default { - title: 'Molecules/Nav/NavList', +const meta = { component: NavList, -} as ComponentMeta; + title: 'Molecules/Nav/List', +} satisfies Meta; -const Template: ComponentStory = (args) => ( - -); +export default meta; + +type Story = StoryObj; const NavItems = () => ( <> @@ -32,20 +29,16 @@ const NavItems = () => ( ); -/** - * NavList Stories - Default - */ -export const Default = Template.bind({}); -Default.args = { - children: , +export const Example: Story = { + args: { + children: , + }, }; -/** - * NavList Stories - Inlined - */ -export const Inlined = Template.bind({}); -Inlined.args = { - children: , - isInline: true, - spacing: 'sm', +export const Inlined: Story = { + args: { + children: , + isInline: true, + spacing: 'sm', + }, }; -- cgit v1.2.3