Form Components
Form components for building input interfaces. All components wrap Ant Design primitives with consistent token-driven styling.
Status: Stable
Button
Primary action trigger with variant support.
import { Button } from '@gtcx/ui';
<Button variant="primary">Submit</Button>
<Button variant="secondary">Cancel</Button>
<Button variant="outline">Edit</Button>
<Button variant="ghost">More</Button>
<Button variant="destructive">Delete</Button>
<Button size="sm">Small</Button>
<Button loading>Loading...</Button>Input
Text input with label and validation support.
import { Input, Label } from '@gtcx/ui';
<Label htmlFor="email">Email</Label>
<Input id="email" type="email" placeholder="jane@example.com" />Select
Dropdown selection with search and multi-select.
import { Select } from '@gtcx/ui';
<Select
options={[
{ value: 'us', label: 'United States' },
{ value: 'gb', label: 'United Kingdom' },
]}
placeholder="Select country"
/>Checkbox and Switch
Toggle controls for boolean values.
import { Checkbox, Switch } from '@gtcx/ui';
<Checkbox>Remember me</Checkbox>
<Switch defaultChecked />Toggle and ToggleGroup
Segmented controls for option selection.
import { Toggle, ToggleGroup } from '@gtcx/ui';
<Toggle pressed>Bold</Toggle>
<ToggleGroup type="single" defaultValue="left">
<ToggleGroup.Item value="left">Left</ToggleGroup.Item>
<ToggleGroup.Item value="center">Center</ToggleGroup.Item>
<ToggleGroup.Item value="right">Right</ToggleGroup.Item>
</ToggleGroup>RadioGroup
Radio button group for mutually exclusive options.
import { RadioGroup } from '@gtcx/ui';
<RadioGroup
options={[
{ value: 'sm', label: 'Small' },
{ value: 'md', label: 'Medium' },
{ value: 'lg', label: 'Large' },
]}
defaultValue="md"
/>Textarea
Multi-line text input.
import { Textarea } from '@gtcx/ui';
<Textarea placeholder="Enter description..." rows={4} />Form
Form layout with validation integration.
import { Form } from '@gtcx/ui';
<Form layout="vertical">
<Form.Item label="Name" required>
<Input />
</Form.Item>
<Form.Item label="Email">
<Input type="email" />
</Form.Item>
</Form>Calendar and DatePicker
Date selection components.
import { Calendar, DatePicker } from '@gtcx/ui';
<DatePicker placeholder="Select date" />
<Calendar fullscreen={false} />FileUpload
File upload with drag-and-drop and progress feedback.
import { FileUpload } from '@gtcx/ui';
<FileUpload
accept=".pdf,.doc"
maxSize={10 * 1024 * 1024}
onUpload={handleUpload}
/>Accessibility Notes
- Provide explicit
Labeltext for every input. - Ensure required fields are indicated in text, not color alone.
- Use visible focus states for all controls.
Tokens to Customize
controlHeightcolorPrimarycolorError