Single form control — input, textarea, select, checkbox, radio, etc. There is no separate Input or Select component — everything goes through FormElement with a type discriminator.
Single form control — input, textarea, select, checkbox, radio, etc. There is no separate Input or Select component — everything goes through FormElement with a type discriminator.
| Prop | Notes |
|---|---|
type | Required. text | textarea | email | password | url | tel | date | datetime-local | radio | checkbox | select | reset | hidden | color | month | number | range | search | time | week | file. |
name | Submission key. |
placeholder | |
required, disabled, readonly | |
options | For select / radio / checkbox: [{ label, value }, ...]. |
value / defaultValue | |
attrs | DOM passthrough — autocomplete, pattern, min/max, etc. |
bg-base-100 cards. DaisyUI defaults render as transparent inputs that disappear on cream/white. Every FormElement needs border border-base-300 bg-base-100 rounded-box px-space-sm py-space-xs (one step lighter/darker than the card).inputBorderColor, inputBgColor, inputTextColor, inputFocusRingColor) for site-wide consistency.Button.action: { type: "add-to-cart", quantityField: "<input-name>" } — Button reads the value of [name="<input-name>"] from the closest form ancestor at click time.