ui/changelog
Changelog
Release notes for @diffgazer/ui.
Unreleased
Removals
HorizontalStepperProps.steps— the run is now derived from the renderedHorizontalStepper.Stepchildren, which register themselves in document order. Drop the prop; the steps you render are the run.CommandPaletteItemMetadata— folded intoCommandPaletteItemRegistration, which carries the same fields directly.
Changes
ToggleGroupPropsandCheckboxGroupPropsare no longer generic. For a value-typed toggle group, build one withcreateToggleGroup(values);CheckboxGroupvalues arestring[].DialogContentPropsis a discriminated union onmodal: a modal dialog takesmodal?: truewithrole,closeIcon,closeOnBackdropClick,initialFocus,onCancel, andonEscapeKeyDown, and an inline dialog takesmodal: falseand accepts none of them.DiffViewProps.statusBaris accepted only withvariant="statusbar"; on every other variant it is now typedneverinstead of being silently ignored.DialogContent initialFocusnow wins in browsers: the shell focuses the target right aftershowModal(), before the browser's own first-focusable pick could stand.
0.2.0
Minor changes
- Added
FloatingPanelas the shared anchored-surface primitive used byPopover,Select, and related floating UI. - Raised the
@diffgazer/keyspeer floor to>=0.2.0. - Renamed the decorated input wrapper to
InputGroupand addedFieldfor label/control/description/error wiring. - Normalized public form-like controls on
value,defaultValue, andonChange(value)while native wrappers keep native React event handlers.
Removals
PopoverContent.externalOnAnimationEnd— was a leaked internal prop. NativeonAnimationEndcontinues to flow through via spread props..animate-slide-in/.animate-slide-outclassName-driven animation onPopoverContentandSelectContent. The.ui-floating-panelcascade replaces them and is overridable per side without className escalation.
Changes
SelectsideOffsetdefault changes from0to4so the menu reads as a distinct surface anchored to the trigger.- Reduced-motion behavior is now token-driven: under
prefers-reduced-motion: reduce, all eight--ui-content-{enter-from,exit-to}-*tokens collapse to the fade-only keyframes. Per-instance overrides win.
Patch changes
- Regenerated package artifacts from source during verification instead of tracking deterministic generated docs and CLI bundles.
- Documented install paths, shadcn namespace setup, and keyboard integration.
0.1.0
Initial publish candidate. Public npm and hosted registry endpoints were gated until the package publication checks passed.
Components
Accordion, Avatar, Badge, Block Bar, Breadcrumbs, Button, Callout, Card, Checkbox, Code Block, Command Palette, Dialog, Diff View, Divider, Empty State, Horizontal Stepper, Icons, Input, Kbd, Key Value, Label, Logo, Menu, Navigation List, Overflow, Pager, Panel, Popover, Progress, Radio, Scroll Area, Search Input, Section Header, Select, Sidebar, Skeleton, Spinner, Status Indicator, Stepper, Switch, Tabs, Textarea, Toast, TOC, Toggle Group, Tooltip, Typography.
Features
- CLI install paths through
dgadd init,add,list,diff, andremove. - Two-layer CSS variable theme system with the Diffgazer monochrome palette.
- Dark-mode default with
[data-theme]switching. - Tailwind 4 and CVA component variants.
- Keyboard behavior through copied hooks or
@diffgazer/keys.