Problem
Selecting MUI or PrimeReact changes declared slots but does not remove the built-in React Aria implementation from the @cratis/components installation. Components 4 accepts this to preserve a zero-configuration fallback and avoid a premature package split.
A future renderer-exclusive distribution could reduce install cost, but only if measured consumer demand and package overhead justify the permanent release/identity burden.
Direction
Measure before designing:
- install size and cold-install time;
- production bundle closure for representative Foundation/Advanced profiles;
- duplicated React Aria usage in applications that directly use the same packages;
- SSR/runtime memory and startup;
- independent release-cadence pressure;
- migration and provider-identity costs of an additional distribution.
If justified, add a new slim package behind unchanged component subpath contracts. Do not reshape @cratis/components or remove its fallback in place.
Acceptance criteria
- At least two representative, anonymized capability profiles provide measurements and demand.
- A package split meets the documented split criteria in
Documentation/ui-foundation.md.
- Provider/context identity, CSS, types, and adapter compatibility are proven across full and slim distributions.
- Existing
@cratis/components imports and zero-config behavior remain source-compatible.
- If measurements do not justify the split, close with the evidence rather than implementing one.
Problem
Selecting MUI or PrimeReact changes declared slots but does not remove the built-in React Aria implementation from the
@cratis/componentsinstallation. Components 4 accepts this to preserve a zero-configuration fallback and avoid a premature package split.A future renderer-exclusive distribution could reduce install cost, but only if measured consumer demand and package overhead justify the permanent release/identity burden.
Direction
Measure before designing:
If justified, add a new slim package behind unchanged component subpath contracts. Do not reshape
@cratis/componentsor remove its fallback in place.Acceptance criteria
Documentation/ui-foundation.md.@cratis/componentsimports and zero-config behavior remain source-compatible.