Tile UI · SolidJS

CSR · SSR · SSG

Field

SolidJS field primitives with stable label, description, message, and control IDs.

Use at least four characters.

Field IDs and ARIA stay connected.
import { createSignal } from 'solid-js';
import { Field, FieldDescription, FieldLabel, FieldMessage, useFieldContext } from '@tile-ui/solid';

function FieldControl(props: { onInput: (value: string) => void }) {
	const field = useFieldContext();
	return (

Use Field to connect a native control to stable labels, descriptions, and messages.

Registry install

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

Package usage

import { Field, FieldLabel, FieldDescription, FieldMessage } from '@tile-ui/solid';

<Field name="email" required>
	<FieldLabel>Email</FieldLabel>
	<FieldDescription>We never share your email.</FieldDescription>
	<FieldMessage>Ready.</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
utils Shared utility 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' —