import type { Meta, StoryObj } from '@storybook/react'; import { expect, userEvent, within } from 'storybook/test'; import { Checkbox } from './checkbox'; import { Label } from '../label'; import React from 'react'; const meta: Meta = { title: 'UI/Checkbox', component: Checkbox, render: args => , argTypes: { size: { control: 'select', options: ['sm', 'md', 'lg'], description: 'Size variant — matches the form sizing scale.', }, }, }; export default meta; type Story = StoryObj; export const Default: Story = { render: args => (

You agree to our Terms of Service and Privacy Policy.

), }; export const Disabled: Story = { render: () => (
), }; export const Group: Story = { render: () => (
), }; /** * Size comparison: sm, md (default), lg side-by-side. */ export const Sizes: Story = { render: () => (
), }; export const Toggle: Story = { render: () => (
), play: async ({ canvasElement }) => { const canvas = within(canvasElement); const checkbox = canvas.getByRole('checkbox'); await expect(checkbox).not.toBeChecked(); await userEvent.click(checkbox); await expect(checkbox).toBeChecked(); await userEvent.click(checkbox); await expect(checkbox).not.toBeChecked(); }, };