Tags: edadma/asterui
Tags
v0.12.90: simplify ThemeProvider, remove colors from useTheme ThemeProvider: - Simplified to just set data-theme and provide context - No color computation, no canvas, no rAF useTheme: - Removed colors and resolvedTheme from return value - Pure theme state — zero side effects getThemeColors(): - New exported utility for on-demand hex color computation - Uses DOM-based conversion (hidden element + getComputedStyle) - Terminal, Chart, QRCode, Watermark call this directly Breaking: useTheme no longer returns colors or resolvedTheme
v0.12.88: rewrite ThemeProvider, lazy colors in useTheme ThemeProvider: - Eliminate ~4s startup delay by removing eager color computation - Just sets data-theme on <html> and provides context - Add toggleTheme() for convenient light/dark switching useTheme: - Colors are now lazy via Proxy — only computed when accessed - Components using only isDark/setTheme pay zero cost for color computation - Add toggleTheme to return value Docs: - Update useTheme and ThemeProvider docs (en + 4 locales) with toggleTheme and lazy colors note
v0.12.87: fix ContextMenu, Terminal bugs; add dynamic items support ContextMenu: - Remove inline-block wrapper div, use cloneElement instead (fixes layout breaking on flex/block triggers) - Divider uses <hr> instead of DaisyUI divider class (excessive padding) - items prop now accepts a function (e) => ContextMenuItem[] for dynamic menus - Add DynamicItems demo to docs Terminal: - Cursor defaults to foreground color instead of primary (purple) - User options.theme is now deep-merged with auto-generated theme instead of replacing it Icons: - Fix unused props destructuring in createIcon (TS error) Build: - Replace sed with cross-platform tsx script in sync-icons-prefixed - Sync prefixed packages
PreviousNext