You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge branch 'v0.2.0' - Theme system, refactoring, and documentation
Major features and improvements:
- Theme system with onThemeEnable/onThemeDisable lifecycle hooks
- Style context for type-safe theme variables
- Context-driven layout slots (no more prop drilling)
- Refactored app structure into components and pages
- Full CSS variable support in all plugins
- Dark theme plugin implementation
- Comprehensive theme system documentation
- GitHub Pages documentation setup
Breaking changes:
- Layout slots now use context hooks instead of props
- RouterService.getRoutes() method added
Commits included:
- Theme persistence and style context
- Plugin updates for theme support
- Documentation updates
- App refactoring
- Context-based layout slots
- GitHub Pages setup
Copy file name to clipboardExpand all lines: README.md
+144-5Lines changed: 144 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# React PKL
2
2
3
-
A **typesafe plugin system for React applications** written in TypeScript. React PKL allows you to extend React applications from external sources through a robust, type-safe plugin architecture.
3
+
A **typesafe plugin system for React applications** written in TypeScript. React PKL allows you to extend React applications from external sources through a robust, type-safe plugin architecture with advanced theming support.
@@ -9,10 +9,13 @@ A **typesafe plugin system for React applications** written in TypeScript. React
9
9
10
10
React PKL is designed for **SDK developers** who want to create extensible React applications. It provides the foundation for building plugin systems where:
11
11
12
-
- Plugins can extend the UI through defined **slots**
12
+
- Plugins can extend the UI through defined **slots** and **layout overrides**
13
13
- Plugins receive a **typesafe context** from the host application
14
+
-**Theme plugins** can override entire layout components with custom styling
15
+
-**Static plugins** work without lifecycle management (perfect for themes)
14
16
- Resources are **automatically cleaned up** when plugins are disabled
15
17
- Plugins can be managed **locally** or fetched from a **remote source**
18
+
-**Style context** provides type-safe access to theme variables
16
19
17
20
## 📦 Packages
18
21
@@ -292,6 +295,131 @@ Get all components registered for a slot:
0 commit comments