Field

Field label, description, and message wrapper.

Use Field to compose accessible form fields with consistent structure.

We never share your email.

import { Field, FieldLabel, FieldDescription, FieldMessage } from '@tile-ui/vue';
 
export default function FieldDemo() {
	return (
		<Field name="email" required invalid>
			<FieldLabel htmlFor="demo-email">Email</FieldLabel>

Registry install

pnpm dlx shadcn@latest add @tile-ui/field

Package usage

import { Field, FieldLabel, FieldDescription, FieldMessage } from '@tile-ui/vue';
 
<Field name="email" required>
	<FieldLabel htmlFor="email">Email</FieldLabel>
	<input id="email" />
	<FieldDescription>We never share your email.</FieldDescription>
	<FieldMessage variant="error">Required.</FieldMessage>
</Field>

Highlights

  • Label, description, and message
  • Invalid and required states
  • Message variants

Registry dependencies

Item Purpose
field Component source and module styles
core Framework-agnostic logic helpers
styles Shared SCSS tokens and globals

API reference

Field

Prop Type Default
name string —
invalid boolean —
required boolean —

FieldLabel

Prop Type Default
htmlFor string —

FieldDescription

No custom props.

FieldMessage

Prop Type Default
variant 'default' | 'error' | 'warning' | 'success' | 'info' —