import type { Meta, StoryObj } from '@storybook/vue3-vite'; import HintText from '../../hint-text/hint-text.vue'; import TabMenuContent from '../tab-menu-content.vue'; import TabMenuItem from '../tab-menu-item.vue'; import TabMenuList from '../tab-menu-list.vue'; import TabMenu from '../tab-menu.vue'; const meta: Meta = { title: 'Components/Tab Menu', component: TabMenu, argTypes: { orientation: { control: { type: 'select' }, options: ['horizontal', 'vertical'], description: 'The orientation of the tab menu', }, defaultValue: { control: 'text', description: 'The default active tab', }, }, args: { orientation: 'horizontal', dir: 'ltr', defaultValue: 'tab1', }, }; export default meta; type Story = StoryObj; export const Default: Story = { render: args => ({ components: { TabMenu, TabMenuList, TabMenuItem, TabMenuContent, HintText }, setup() { return { args }; }, template: ` Profile Settings Contact Information Preferences
`, }), }; export const Horizontal: Story = { args: { orientation: 'horizontal', defaultValue: 'dashboard', }, render: args => ({ components: { TabMenu, TabMenuList, TabMenuItem, TabMenuContent, HintText }, setup() { return { args }; }, template: ` Dashboard Analytics Reports
`, }), }; export const Vertical: Story = { args: { orientation: 'vertical', defaultValue: 'general', }, render: args => ({ components: { TabMenu, TabMenuList, TabMenuItem, TabMenuContent, HintText }, setup() { return { args }; }, template: `
General Security Notifications
`, }), }; export const IconsOnly: Story = { args: { orientation: 'vertical', defaultValue: 'general', }, render: args => ({ components: { TabMenu, TabMenuList, TabMenuItem, TabMenuContent, HintText }, setup() { return { args }; }, template: `
`, }), };