import type { Meta, StoryObj } from '@storybook/html'; import { Nav, type NavOptions } from '@42/core/nav'; import '@42/styles/nav.css'; const snippet = `import { Nav } from '@42/core/nav'; import '@42/styles/nav.css'; const nav = new Nav(document.querySelector('[data-c42-nav]')!, { defaultActive: 'profile', accordion: false, }); nav.on('nav:select', (e) => console.log('go to', e.detail.value));`; const meta: Meta = { title: 'Core/Navigation/Nav', tags: ['autodocs'], parameters: { docs: { source: { code: snippet, language: 'ts' }, }, }, argTypes: { accordion: { control: 'boolean' }, collapsed: { control: 'boolean' }, defaultActive: { control: 'text' }, }, args: { accordion: false, collapsed: false, defaultActive: 'home', }, render: (args) => { const root = document.createElement('nav'); root.dataset.c42Nav = ''; root.setAttribute('aria-label', 'Main'); root.innerHTML = ` `; new Nav(root, args); return root; }, }; export default meta; type Story = StoryObj; export const Default: Story = {}; export const Accordion: Story = { args: { accordion: true, defaultActive: 'profile' }, }; export const Collapsed: Story = { args: { collapsed: true }, };