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-link/nav-link.stories.tsx | 202 ++++++++------------- 1 file changed, 77 insertions(+), 125 deletions(-) (limited to 'src/components/molecules/nav/nav-link/nav-link.stories.tsx') 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', + }, }; -- cgit v1.2.3