Releases
A React Flow canvas now follows the page's theme with <FlowContainer>, and a link styled by Box stays inside its sentence instead of breaking onto a line of…
Box Kite now installs nothing but its own engine and asks for React 18 or newer, which is what its components already needed.
An SVG shape can now turn about its own centre, take a press on its stroke alone and keep a finger's drag, and the SVG geometry props draw in Firefox and Saf…
Every built-in component now comes in three sizes, compact, normal and large, so a text box and the button beside it are the same height, and a project sets…
A prop you pass now beats a component's own styles when it is a shorthand too, so <Button p={0}> has no padding — and toasts expire on time again, reach the…
A checkbox's tick and a radio's dot now follow the theme, a design and Windows High Contrast, where a checked box used to look unchecked — and a closing dial…
The published types are whole again, so a misspelt component, variant or value is a type error rather than any — and a ref on Form and fourteen other compone…
@box-kite/mcp now finds a prop from a CSS property written in words, or from another library's name for it: "border bottom" and borderBottom answer bb, round…
npm create @box-kite now sets a new app up for its coding agent with AGENTS.md, CLAUDE.md and the MCP server, and npm create @box-kite@latest -- --agents-onl…
Hovering a prop inside Box.components() now shows its documentation and a measured example, the way it does on <Box>.
In Safari, a menu or a date picker that opened above its trigger now stays there while it closes, instead of blinking below it.
In Safari, a date picker, a popover or a menu opened near the bottom of the screen now appears above its trigger at once, instead of opening below it and jum…
A date picker offers only the times within min and max, its panel can be as wide as a stretched field, and pickOnly turns the field into one button for a sho…
A date picker stretched across a form keeps its clock or calendar button at the end of the field.
Every interaction on the page in one typed stream, Box.onInteraction, and @box-kite/react/analytics to send it somewhere with a session on every record, whil…
A second design for the same app, chosen in CSS: Box.components(styles, { design }), two colour families every component is drawn in, and Box.useDesign() to…
Dates, times and time zones: a date layer with no dependency, where a value is an ISO string whose shape says what it is, and a field, a calendar, date and r…
Lists, for the screens that are mostly lists: <List>, with swipe actions, drag to reorder and a windowed list on top of it, and a DataGrid that becomes one o…
A Server Component page no longer sends the base stylesheet once per Box.
Box Kite is the only name the package carries.
A theme switch that settles at once on a page of any size, and a DataGrid column chooser you can actually read.
The DataGrid's header and bottom bar, made to feel finished.
Scroll-driven animation and view transitions become props, and a page of Boxes re-renders, hydrates and takes on a new style for a fraction of what it used t…
A model can compose the UI now, and the app still owns it.
The release pipeline publishes to npm again, and signs what it publishes.
The package now carries instructions for the agent writing the code, the documentation site answers in markdown, the same rules install as a skill in about f…
Box Kite 1.0.0 makes the engine a package of its own.
Releases before 1.0.0, under the library's previous name, are on the GitHub releases page.