import type { Meta, StoryObj } from '@storybook/html'; import { Select, type SelectOptions } from '@42/core/select'; import '@42/styles/select.css'; const snippet = `import { Select } from '@42/core/select'; import '@42/styles/select.css'; const select = new Select(document.querySelector('[data-c42-select]')!, { placeholder: 'Choose a fruit…', }); select.on('select:change', (e) => console.log(e.detail.value, e.detail.label));`; const meta: Meta = { title: 'Core/Inputs & Forms/Select', tags: ['autodocs'], parameters: { docs: { source: { code: snippet, language: 'ts' }, }, }, argTypes: { defaultValue: { control: 'text' }, placeholder: { control: 'text' }, }, args: { placeholder: 'Choose a fruit…', }, render: (args) => { const root = document.createElement('div'); root.dataset.c42Select = ''; root.innerHTML = `
Apple
Banana
Cherry
Durian
Elderberry
`; new Select(root, args); return root; }, }; export default meta; type Story = StoryObj; export const Default: Story = {}; export const WithDefaultValue: Story = { args: { defaultValue: 'banana' }, };