import { playgroundParameters } from "@charcuterie/storybook-config/story-parameters" import type { Meta, StoryObj } from "@storybook/react" import { StoryCell, StoryGrid, } from "../board.storyHelpers.tsx" import { Picker } from "../Picker/Picker.tsx" import { Tooltip } from "../Tooltip/Tooltip.tsx" import { Field } from "./Field.tsx" import { FieldGroup } from "./FieldGroup.tsx" const TEXT_INPUT_CLASS = "w-full rounded-md border border-border-default bg-surface-raised px-3 py-2 text-content-primary text-sm focus-visible:outline-solid focus-visible:outline-(length:--focus-ring-width) focus-visible:outline-offset-(--focus-ring-offset) focus-visible:outline-focus-ring" const meta = { title: "Components/Controls/Field", component: Field, parameters: { layout: "padded" }, args: { isRequired: false, label: "Output directory", }, } satisfies Meta export default meta type Story = StoryObj export const Playground: Story = { parameters: playgroundParameters, args: { children: ( ), description: "Where finished rips are moved.", label: "Output directory", }, } /** * The control carries its own `id` — `rename-pattern`, the kind of * stable id a deep link or a server-rendered error summary points at. * The `Field` adopts it rather than minting a `-control` id over the * top, so the `