/* * (c) Copyright 2026 Palantir Technologies Inc. All rights reserved. */ import type { Meta, StoryObj } from "@storybook/react-vite"; import { Flex } from "@blueprintjs/labs"; import { Intent } from "../../common"; import { HTMLSelect } from "../html-select/htmlSelect"; import { SegmentedControl } from "../segmented-control/segmentedControl"; import { Slider } from "../slider/slider"; import { Checkbox, Radio, Switch } from "./controls"; import { FileInput } from "./fileInput"; import { FormGroup } from "./formGroup"; import { InputGroup } from "./inputGroup"; import { NumericInput } from "./numericInput"; import { RadioGroup } from "./radioGroup"; import { TextArea } from "./textArea"; const NOOP = () => undefined; const meta: Meta = { title: "Core/Form/FormGroup", component: FormGroup, decorators: [ Story => ( ), ], tags: ["autodocs"], args: { label: "Label", helperText: "", labelInfo: "", subLabel: "", intent: "none", disabled: false, fill: false, inline: false, }, argTypes: { label: { control: "text", }, helperText: { control: "text", }, labelInfo: { control: "text", }, subLabel: { control: "text", }, intent: { control: "select", options: Object.values(Intent), }, disabled: { control: "boolean", }, fill: { control: "boolean", }, inline: { control: "boolean", }, }, } satisfies Meta; export default meta; type Story = StoryObj; // --------------------------------------------------------------------------- // Individual control stories // --------------------------------------------------------------------------- /** * A basic form group with a text input. */ export const Default: Story = { render: args => ( ), }; /** * FormGroup works with TextArea for multi-line text input. */ export const WithTextArea: Story = { args: { label: "Description", helperText: "Provide a detailed description", }, render: args => (