Release v0.4.0
Summary
Arc React and Cratis Components become installable. Seven skills ship through
public-arc-react and public-components: four migrated from the legacy
corpus and three authored from product source for topics that had no coverage
anywhere.
Every API claim was re-verified against Cratis/Components and the Arc
JavaScript source rather than carried forward. That found several component
APIs in the legacy corpus that do not exist, listed under Fixed.
Added
cratis-arc-react-page— DataPage list pages, toolbar menu items, command
dialogs, confirmation and busy dialogs, row selection, details panes, and
MVVM, with references for DataPage, the standalone data tables, dialogs and
command forms, the generated query and command hooks, and view models (#176)cratis-components-toolbar— canvas-style icon toolbars, now including the
group, folder, and slot components the legacy skill omitted (#176)cratis-components-stepper-command-dialog— multi-step wizard dialogs,
including the cancel and navigation props and the two separate pass-through
targets the legacy skill omitted (#176)cratis-application-react-specifications— Vitest, Sinon, and Chaishould
specifications for a Cratis application's React surface, folding in the
frontend testing, frontend quality, and Storybook conventions (#176)cratis-components-schema-editor—SchemaEditorandObjectContentEditor,
including the limits worth designing around: schema references are declared
but never resolved, the required flag is never editable, only root-level
object properties are editable, and every field is treated as required in
edit mode (#176)cratis-components-styling— the stylesheet imports an app must make, the
--cratis-*token layer and the PrimeReact token chain behind it, the four
supported setups, dark mode, and the PrimeReact pass-through prop (#176)cratis-components-accessibility— dialog initial-focus discipline and the
armed-Enter hazard, accessible names as localizable props, naming the
focusable element rather than the wrapper, and using pass-through to strip
invalid ARIA (#176)
Changed
public-arc-reactandpublic-componentsleave planned source migration for
preview source candidate and list the skills they ship (#176)public-arc-reactnow composespublic-arc. Frontend Arc usage depends on
the backend Arc concepts it consumes — commands, queries, model binding, and
the generated proxy contract — and the profile previously declared no such
dependency, so selecting it alone resolved a closure with no Arc guidance in
it (#176)engineering-arc-reactnow composesengineering-arcalongside
engineering-base, for the same reason (#176)
Fixed
- The DataPage reference documented an entirely fictional prop surface —
columns,menuItems,detailPanel,onRowSelected,noDataMessage,
queryArgs, and aMenuItemGroupcomponent. The real component takes
compositionalDataPage.ColumnsandDataPage.MenuItemschildren with
emptyMessage,queryArguments,detailsComponent, andselection/
onSelectionChange(#176) - The data-table reference documented the same fictional array-of-columns
surface and imported from the package root, which exports namespaces rather
than components (#176) - The MVVM reference named the props-change hook
propsChanged; it is
handleProps. It also told callers to applymakeAutoObservablethemselves,
whichwithViewModelalready does, and claimed the Arc provider includes the
MVVM provider, which it does not (#176) ToolbarButtonwas documented with atooltipprop. The real required prop
istitle, and it is both the tooltip and the accessible name (#176)- A command validation result was documented as
{ property, message }; it
carriesmembersandmessage(#176)
🤖 Generated with Claude Code