Release v3.0.0
Summary
Ships @cratis/components 3.0.0 on PrimeReact 11.1.0. This carries the finished state of #107 forward onto today's main (rather than rebasing its 42 commits through the drift), re-expresses on v11's compositional primitives every workaround that landed on main in the meantime, and closes the two release blockers — the @cratis/arc.react typecheck failure that made the publish job emit nothing, and the packaging defect that made every published subpath unloadable in Node.
Consumers have three things to do: install PrimeReact themselves, import the stylesheets explicitly, and choose a theming path. Source/MIGRATION.md is the guide.
Added
@cratis/components/Notifications—Toaster, the imperativetoast, andtoastCommandResult(result)mapping an ArcICommandResultto the right toast (validation → per-field messages, exceptions → generic, never stack traces)@cratis/components/Display—Tag,Badge,Chip,Skeleton,Avatar,ProgressBar@cratis/components/theme— a license-free Cratis baseline theme (light + dark) that skins every component from the token layer without a PrimeUI keyPasswordField,ToggleSwitchFieldandRatingFieldforCommandFormColumn(with per-column filter menus),StepperPanelandActionMenubaras Cratis-owned replacements for theprimereactmodules v11 removed- Per-column filter menus, a global search box and a paginator range report on the data tables
dismissableandcloseAriaLabelonDialogSource/MIGRATION.md— the consumer upgrade guide
Changed
primereact,@primereact/core,@primereact/headlessandprimeiconsare now peer dependencies. Previouslyprimereactwas a regular dependency, so an app that also depended on it could resolve two copies — and two copies means twoPrimeReactProvidercontexts, which makes overlays stack wrongly andpt/unstyledsilently not apply, with no error. Apps that carried aresolutions/overridespin to work around this can delete it (#118)- Component CSS now ships through the
@cratis/components/stylesentry point instead of being imported by each component. Apps mustimport '@cratis/components/tokens'andimport '@cratis/components/styles'explicitly../stylesalso vendors theallotmentstylesheetDataPageneeds, so that no longer has to be imported separately (#118) - Theming is token-based. PrimeReact 11 ships no CSS;
primereact/resources/themes/*.cssis gone. Supply a@primeuix/themespreset throughCratisComponentsProvider(value={{ theme: { preset } }}), use the new license-free baseline theme, or stay unstyled-first - The package is ESM-only — the CommonJS build is gone, as PrimeReact 11 is ESM-only
- Import
Columnfrom@cratis/components/DataTablesandStepperPanelfrom@cratis/components/CommandDialog; the authoring model is unchanged - Data-table selection reports a
DataTableSelectionChangeEvent(event.valueunchanged), replacing the removedDataTableSelectionSingleChangeEvent - The published-exports check is now a real gate rather than reporting-only, because the failures it was reproducing are fixed (#131, #118)
- Arc peer range stays
>=20.3.1 <22— Arc 20 and 21 both remain supported (#114)
Fixed
DataTableForObservableQueryno longer fails to typecheck against@cratis/arc.reactnewer than 21.0.2. The publish build istsc -b && rollup -c && copy-css, so this short-circuited the&&and the publish job produced nothing (#135)- Every published export subpath now loads in Node — 29 failures across 21 subpaths, 0 across 24. No
.cssfile remains in the JavaScript module graph (#118)
Removed
useOverlayZIndex. PrimeReact 11 portals overlay panels to the document body and stacks a later-opened overlay above the dialog it was opened from, so the hook had nothing left to do. Verified rather than assumed, and pinned by a new spec (#117, #115)- The CommonJS build
- The
primereact/resources/themes/*.csstheming model