Releases: Cratis/Components
Release v2.0.1
Changed
- Move UI runtime libraries (allotment, framer-motion, pixi.js, primeicons, primereact) from peer dependencies to dependencies for package consumers.
- Keep only framework-level peers (React, Cratis Arc, fundamentals, reflect-metadata, tsyringe) as peer dependencies.
Removed
- Remove optional peer dependency metadata for libraries now included as runtime dependencies.
Release v2.0.0
Summary
Makes styling in @cratis/components explicit and consumer-controlled. Consumers can use a PrimeReact theme, apply a custom palette on top of a PrimeReact theme, or run fully unstyled with their own pt preset.
Also moves PrimeReact packages to peer dependencies, adds a Cratis provider and token layer, forwards PrimeReact customization props through the wrappers, and updates the documentation around the new setup model.
The token layer is also version-spanning: every --cratis-* token resolves PrimeReact v11 design tokens (@primeuix/themes) first and falls back to v10, so the same build works on PrimeReact 10 and 11 and a 10 → 11 upgrade needs no styling changes. This covers the theming surface only — full PrimeReact 11 component compatibility (prop and pt-slot changes) is a separate follow-up, and the primereact peer stays at ^10.9.0 for now.
Added
- Added
CratisComponentsProvideras the single setup point for PrimeReact global options such asunstyled,pt,ptOptions, locale, ripple, and overlay config. - Added a
--cratis-*CSS variable token layer for Cratis-owned surfaces, themed out of the box from whichever PrimeReact theme is loaded. - Added PrimeReact 10 and 11 compatibility for the token layer — each
--cratis-*token resolves the PrimeReact v11 design token (@primeuix/themes) first and falls back to the v10 theme variable, so the same build works across both majors. - Added
pt,ptOptions,unstyled, andclassNameforwarding on single-widget wrappers. - Added per-slot pass-through props on composite wrappers, including
dialogPt,tablePt,menubarPt, andpaginatorPt. - Added root
classNamesupport on large composites where per-slot forwarding is not practical. - Added subpath exports for
ObjectContentEditor,ObjectNavigationalBar,SchemaEditor, andtokens. - Added Styling documentation for using a PrimeReact theme, applying a custom palette, using fully unstyled mode, combining styling setups, Cratis tokens, and PrimeReact pass-through props.
- Added a migration guide covering peer dependency changes, visual changes, provider setup, and optional styling capabilities.
- Added a Storybook Styling toolbar with previews for Lara Dark Blue, Lara Light Blue, Custom palette, Unstyled bare, and Unstyled + Tailwind
pt. - Added
sideEffects: ["**/*.css"]so bundlers can tree-shake unused JS while preserving CSS imports.
Changed
- Changed
primereactandprimeiconsfrom runtime dependencies to peer dependencies; consumers must declare them directly after upgrading. - Changed
pixi.js,framer-motion, andallotmentto optional peer dependencies so consumers only install them when using the matching components. - Changed
FormElementaddon styling to use stable Cratis CSS classes and--cratis-*tokens instead of PrimeReactp-inputgroup-addonclasses. - Changed
ObjectNavigationalBarandSchemaEditorbottom borders to render through Cratis CSS instead of PrimeFlex utility classes. - Changed internal PrimeReact class hooks such as
p-button-text,p-button-sm,p-button-danger, andp-errorto typed PrimeReact props or Cratis token-driven styling. - Changed the README styling section to describe consumer setup choices instead of internal styling terminology.
- Changed public component JSDoc to document Arc integration, wrapper behavior, and the exposed PrimeReact customization surface.
- Changed workspace dependency declarations by removing unused dev dependencies, deduplicating Storybook, and moving
@cratis/arc.viteto dev dependencies.
Fixed
- Fixed the
@cratis/components/CommandSteppersubpath export so it resolves to the emitted build output. - Fixed the documented subpath list by removing
@cratis/components/EventModeling, which never existed. - Fixed the README pass-through description so it accurately distinguishes single-widget wrappers, multi-slot composites, and large composites.
- Fixed
FormElementdocumentation that described props the component never had.
Removed
- Removed unused runtime dependencies on
react-router-domandusehooks-ts. - Removed the obsolete Storybook 8
@storybook/addon-storysourceregistration from the Storybook 10 setup.
Release v1.10.2
Summary
This pull request enhances the theme handling and styling consistency across various components.
Added
- Introduced dynamic theme switching for PrimeReact components.
Changed
- Improved styling and class names for better consistency.
- Updated theme import strategy to support dynamic theming.
Removed
- Removed unused theme references and imports.
Release v1.10.1
Fixed
- Moved layout-switch transition behavior into
ToolbarLayoutso editor layout swaps animate without story-level transition wiring. - Updated ToolbarLayout stories to focus on editor scenarios while relying on built-in ToolbarLayout transitions.
- Fixed Toolbar documentation TOC indentation for the Toolbar Layout entry.
Release v1.10.0
Added
- Added
ToolbarLayoutas a transparent, named toolbar region that renders fallback children or slot-contributed content. - Added dedicated
ToolbarLayoutdocumentation with usage patterns for fallback, multiple contributors, and context-sensitive layouts.
Changed
- Added
ToolbarLayoutstories demonstrating default content, injected layouts, multi-contributor composition, and context-sensitive swapping. - Exported
ToolbarLayoutandToolbarLayoutPropsfrom the Toolbar public API. - Updated Toolbar documentation TOC to include the new Toolbar Layout page.
Release v1.9.2
No release notes
Release v1.9.1
Fixed
CommandStepperno longer allows advancing to a later step — via the Next button or by clicking a later step tab — when the current step has validation errors.
Release v1.9.0
Added
- Toolbar groups and slot-based composition for building dynamic toolbar layouts
- List-mode folder rendering for tool sets that need visible labels
- Toolbar documentation for groups and slots
Changed
- Toolbar stories now demonstrate grouped layouts, slot-driven content, and richer context switching examples
- Toolbar APIs now use
titlefor button labels and tooltip text
Fixed
- Toolbar section and slot transitions now cross-fade and clip content while the toolbar grows, preventing buttons from floating outside the toolbar bounds during context switches
Release v1.8.2
Fixed
- ToolbarSection no longer stays at its initial (empty) height when toolbar buttons are populated asynchronously from a backend query, preventing overlap with following toolbar groups
Release v1.8.1
Fixed
- Keep ToolbarSection dimensions synchronized with active context content changes after render using ResizeObserver
- Prevent tooltip clipping inside Toolbar folders by removing the visible-state clip-path constraint