Release v16.34.1
Summary
The Workbench moves to @cratis/components 3.0.0, which is built on PrimeReact 11. PrimeReact 11 is unstyled-first, compositional, ships no CSS, and is no longer MIT — all three change how the Workbench is put together.
Changed
- The Workbench now declares
primereact,@primereact/core,@primereact/headless,@primereact/typesandprimeiconsitself, since@cratis/components3.0.0 makes PrimeReact a peer dependency. - Component styling comes from
@cratis/components/tokens,/stylesand/theme, imported once at the app and Storybook entry points. PrimeReact 11 ships no stylesheet, soprimereact/resources/themes/lara-dark-blueno longer exists; the Cratis baseline theme replaces it and keeps the Workbench's dark look. - Tables, dropdowns, tabs, dialogs, tooltips, menubars and status chips are now built on the Cratis wrappers (
Column,Dropdown,ActionMenubar,Tag/Badge/Chip/ProgressBar,Tooltip,Dialog) where 3.0.0 provides one. - The event-sequence table sorts through the server again, and the read-model instance pager keeps its rows-per-page selector alongside the new pager.
Added
- Workbench-owned wrappers for the PrimeReact 11 primitives that became compositional namespaces with no Cratis equivalent —
Button,Card,Message,ProgressSpinner,Paginator,Tabs,Chartand a plain-arrayDataTable— so the existinglabel/iconand<Column field header body sortable />authoring model still applies. - Storybook stories for the Workbench
DataTable, covering sorting, nested fields, filtering, grouping and selection.
Removed
- The custom per-column filter dropdowns on Event Types, Read Model Types and Observers. PrimeReact 11 has no
filterElement, so those columns use the built-in filter menu; the columns still filter, but over raw values rather than labelled option lists. - The password mask toggle on the login screen and the ripple effect on sidebar items, neither of which PrimeReact 11 provides.
- Expand/collapse of row groups on Connected Clients and Events Seeding — PrimeReact 11 groups rows but cannot collapse a group. The subheaders remain.
PrimeReact 11 requires a PrimeUI license. It is no longer MIT. The check runs unconditionally when the provider mounts, so without a key the Workbench logs a console warning and shows an "Invalid PrimeUI License" banner in development and production. No key is wired up in this PR — it needs an organizational decision on which license Chronicle holds, after which it goes through
CratisComponentsProviderasvalue={{ license: '…' }}sourced from configuration.