registry 0.8.0
All releasesAdded
- Field. New form primitives:
Field,FieldGroup,FieldLabel,FieldDescription,FieldError.Fieldwires the label to the control, connects description and error viaaria-describedby, and setsaria-invalidautomatically — toggledata-invalidfrom your own validation code.Input,Textarea,Select, andCheckboxnow style themselves whenaria-invalidis set. - Collision-aware positioning. Tooltip, popover, hover card, dropdown menu, and combobox now position with
position: fixed, flip to the opposite side when there’s no room, shift to stay inside the viewport, and are no longer clipped byoverflowcontainers. Content elements exposedata-side/data-alignreflecting the resolved position, and a--trigger-widthCSS variable. - Toast upgrades. Hovering a toast pauses its auto-dismiss timer;
Toasterhas amaxprop (default 5) that dismisses the oldest toast when exceeded; newtoast.promise(promise, { loading, success, error })andtoast.dismiss(el); toasts animate in. - File-upload validation.
acceptandmaxSizeare now enforced (previously advertised but never checked, and drag-and-drop bypassed the picker filter entirely). Rejected files show an error and are removed from the input; the root dispatchesfile-upload-changewith{ files, rejected }. - Command palette. Typing auto-selects the first result so Enter activates it immediately; Home/End navigation added.
DialogClosewraps any element to close the dialog on click (parity withSheetClose);DropdownMenuItemacceptshrefand renders a link; InputOTP dispatchesotp-changeandotp-complete; ScrollArea gained standardscrollbar-width/scrollbar-colorsupport.
Removed
- The undocumented declarative
Toast,ToastTitle, andToastDescription(the programmatictoast()API is the toast API),StepperContent, andBreadcrumbDropdownItem. Radio— useRadioGroupItem, which now takes an optionalnamefor standalone use.BreadcrumbEllipsisis now a static indicator (as in shadcn); compose it withDropdownMenufor clickable collapsed crumbs.- 18 unused icon exports, and the hand-maintained barrel
index.tsis now auto-generated so it can’t drift.