import type { Meta, StoryObj } from '@storybook/vue3' import FdsTabsItem from '../FdsTabsItem/FdsTabsItem.vue' import FdsTabs from './FdsTabs.vue' const meta: Meta = { title: 'FDS/FdsTabs', component: FdsTabs, tags: ['autodocs'], argTypes: { variant: { control: { type: 'select' }, options: ['primary', 'secondary'] }, block: { control: { type: 'boolean' } }, }, args: { variant: 'primary', block: false, }, } export default meta type Story = StoryObj const tabsTransform = (storyContext: { args?: { block?: boolean; variant?: string } }) => { const args = storyContext?.args || {} const attrs = [] if (args.block) attrs.push(':block="true"') if (args.variant && args.variant !== 'primary') attrs.push(`variant="${args.variant}"`) const attrsStr = attrs.length ? ` ${attrs.join(' ')}` : '' return ` ` } export const Default: Story = { render: (args: Story['args']) => ({ components: { FdsTabs, FdsTabsItem }, setup: () => ({ args }), template: ` `, }), parameters: { docs: { source: { transform: tabsTransform, }, }, }, } export const Secondary: Story = { render: (args: Story['args']) => ({ components: { FdsTabs, FdsTabsItem }, setup: () => ({ args }), template: ` `, }), args: { variant: 'secondary', }, parameters: { docs: { source: { code: ` `, }, }, }, } export const Block: Story = { render: (args: Story['args']) => ({ components: { FdsTabs, FdsTabsItem }, setup: () => ({ args }), template: ` `, }), args: { block: true, }, parameters: { docs: { source: { code: ` `, }, }, }, } export const WithDisabled: Story = { render: (args: Story['args']) => ({ components: { FdsTabs, FdsTabsItem }, setup: () => ({ args }), template: ` `, }), parameters: { slots: { default: { template: ` `, }, }, }, } export const WithRouterLinks: Story = { render: (args: Story['args']) => ({ components: { FdsTabs, FdsTabsItem }, setup: () => ({ args }), template: ` `, }), parameters: { docs: { source: { code: ` `, }, }, }, } export const WithExactMatch: Story = { render: (args: Story['args']) => ({ components: { FdsTabs, FdsTabsItem }, setup: () => ({ args }), template: ` `, }), parameters: { docs: { source: { code: ` `, }, }, }, } export const WithAnchorLinks: Story = { render: (args: Story['args']) => ({ components: { FdsTabs, FdsTabsItem }, setup: () => ({ args }), template: ` `, }), parameters: { docs: { source: { code: ` `, }, }, }, } export const WithButtons: Story = { render: (args: Story['args']) => ({ components: { FdsTabs, FdsTabsItem }, setup: () => ({ args }), template: ` `, }), parameters: { docs: { source: { code: ` `, }, }, }, }