import { useEffect } from "react"; import { Meta, StoryObj } from "@storybook/react"; import { Combobox } from "./Combobox"; import { useForm } from "react-hook-form"; import { action } from "@storybook/addon-actions"; const meta: Meta = { title: "Components / Combobox", component: Combobox, }; export default meta; type Story = StoryObj; const ComboboxTemplate: Story = { render: (args) => { const { control, watch, setError } = useForm(); const name = "comboboxField"; if (args.error) { setError(name, { message: "Error message" }); } useEffect(() => { const subscription = watch((value) => action("[React Hooks Form] Form value changed")(value)); return () => subscription.unsubscribe(); }, [watch]); return ( ); }, }; export const Default: Story = { ...ComboboxTemplate, }; export const Errored: Story = { ...ComboboxTemplate, args: { error: true, }, }; export const Disabled: Story = { ...ComboboxTemplate, args: { disabled: true, }, }; export const WithHelpText: Story = { ...ComboboxTemplate, args: { helperText: "Helper text", }, };