Skip to content

Release v0.4.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 21:17
7ccd3ff

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 Chai should
    specifications for a Cratis application's React surface, folding in the
    frontend testing, frontend quality, and Storybook conventions (#176)
  • cratis-components-schema-editorSchemaEditor and ObjectContentEditor,
    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-react and public-components leave planned source migration for
    preview source candidate and list the skills they ship (#176)
  • public-arc-react now composes public-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-react now composes engineering-arc alongside
    engineering-base, for the same reason (#176)

Fixed

  • The DataPage reference documented an entirely fictional prop surface —
    columns, menuItems, detailPanel, onRowSelected, noDataMessage,
    queryArgs, and a MenuItemGroup component. The real component takes
    compositional DataPage.Columns and DataPage.MenuItems children with
    emptyMessage, queryArguments, detailsComponent, and selection /
    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 apply makeAutoObservable themselves,
    which withViewModel already does, and claimed the Arc provider includes the
    MVVM provider, which it does not (#176)
  • ToolbarButton was documented with a tooltip prop. The real required prop
    is title, and it is both the tooltip and the accessible name (#176)
  • A command validation result was documented as { property, message }; it
    carries members and message (#176)

🤖 Generated with Claude Code

https://claude.ai/code/session_016mnTtTtUVTZSPoVFS5yCz6