Field
Compose labels, controls, descriptions and errors.
This is your public display name.
import { BuiField, BuiFieldLabel, BuiFieldDescription } from 'ng-blatui';
<div buiField>
<label buiFieldLabel for="username">Username</label>
<input id="username" buiInput type="text" placeholder="shadcn" />
<p buiFieldDescription>This is your public display name.</p>
</div>Horizontal
Receive emails about your account activity.
<div buiField orientation="horizontal">
<div buiFieldContent>
<label buiFieldLabel>Email notifications</label>
<p buiFieldDescription>Receive emails about your account activity.</p>
</div>
<button buiSwitch aria-label="Email notifications"></button>
</div>Checkbox
You agree to our Terms of Service and Privacy Policy.
<div buiField orientation="horizontal">
<button buiCheckbox aria-label="Accept terms"></button>
<div buiFieldContent>
<label buiFieldLabel>Accept terms and conditions</label>
<p buiFieldDescription>You agree to our Terms of Service.</p>
</div>
</div>Form
<div buiFieldGroup>
<div buiField>
<label buiFieldLabel for="name">Name</label>
<input id="name" buiInput />
</div>
<button buiButton type="submit">Submit</button>
</div>Error
Please enter a valid email address.
<div buiField>
<label buiFieldLabel for="email">Email</label>
<input id="email" buiInput value="not-an-email" aria-invalid="true" />
<p buiFieldError>Please enter a valid email address.</p>
</div>Fieldset
<fieldset buiFieldSet>
<legend buiFieldLegend>Profile</legend>
<div buiFieldGroup>… fields …</div>
</fieldset>Field group
<!-- lay out related fields in a grid -->
<div class="grid grid-cols-2 gap-4">
<div buiField><label buiFieldLabel for="f">First name</label><input id="f" buiInput /></div>
<div buiField><label buiFieldLabel for="l">Last name</label><input id="l" buiInput /></div>
</div>