Skip to content

Commit 07a06d2

Browse files
committed
feat(styles): remove Material-UI dependency for React 19 compatibility
- Remove @material-ui/styles dependency and replace with custom JSS implementation - Add comprehensive test suite with Vitest (52 tests, 100% coverage) - Add TSDoc documentation for all exported APIs - Update README with comprehensive documentation - Add utility modules for JSS setup, class name generation, and sheet management - Enhance StylesProvider with seed-based scope isolation - Improve TypeScript types with better inference BREAKING CHANGE: Removed @material-ui/styles dependency Signed-off-by: Odin Thomas Rochmann <odin.rochmann@gmail.com>
1 parent 51413d3 commit 07a06d2

26 files changed

+3154
-125
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
"@equinor/fusion-react-styles": major
3+
---
4+
5+
Remove `@material-ui/styles` dependency and replace with custom JSS-based implementation for React 19 compatibility.
6+
7+
ref: https://github.com/equinor/fusion-framework/issues/3698
8+
9+
### Breaking Changes
10+
11+
- Removed `@material-ui/styles` dependency - replaced with direct JSS integration
12+
- All Material-UI v4 styling APIs are now implemented internally
13+
- No API changes - existing code should work without modifications
14+
15+
### Added
16+
17+
- Custom `makeStyles` implementation using JSS directly
18+
- Custom `StylesProvider` with enhanced scope isolation via seed prefixes
19+
- Custom `ThemeProvider` with React 19 compatibility
20+
- Comprehensive test suite with Vitest (52 tests, 100% statement coverage)
21+
- Utility modules in `src/utils/`:
22+
- `jss-setup.ts` - JSS instance configuration
23+
- `class-name-generator.ts` - Class name generation logic
24+
- `sheet-manager.ts` - Stylesheet caching and management
25+
- `contexts.ts` - React context definitions
26+
- TSDoc documentation for all exported APIs
27+
- Updated README with comprehensive documentation
28+
29+
### Changed
30+
31+
- Package now uses JSS directly instead of Material-UI wrapper
32+
- Improved TypeScript types with better inference
33+
- Enhanced class name isolation for micro-frontend scenarios
34+
35+
### Technical Details
36+
37+
- React 19 compatible (tested with React ^18 || ^19)
38+
- Uses JSS v10 with all necessary plugins
39+
- Maintains backward compatibility with existing API surface
40+
- Full test coverage with Vitest and React Testing Library

0 commit comments

Comments
 (0)