Releases: edadma/asterui
Releases · edadma/asterui
v0.12.90
Bug Fixes
- ThemeProvider: Simplified to match proven implementation — just sets
data-theme, provides context, no color computation. Eliminates startup delay. - useTheme: Removed Proxy, canvas, and requestAnimationFrame. Pure theme state with zero side effects.
Features
- getThemeColors(): New exported utility that computes DaisyUI theme colors as hex values on demand. Uses DOM-based color conversion instead of canvas. Components (Terminal, Chart, QRCode, Watermark) call this directly when they need hex values.
Breaking Changes
- useTheme:
colorsandresolvedThemeremoved from return value. UsegetThemeColors()for colors andthemeinstead ofresolvedTheme.
v0.12.89
Bug Fixes
- useTheme: Replaced canvas-based
colorToHexwith DOM-based approach using a persistent hidden element andgetComputedStyle. Eliminates 10 canvas create/draw/read operations per theme change. - useTheme: Colors are now computed asynchronously in
useEffectafter CSS has applied, not synchronously during render. Removed Proxy entirely — colors are plain React state.
v0.12.88
Bug Fixes
- ThemeProvider: Rewrote to eliminate ~4 second startup delay. No longer computes theme colors eagerly — just sets
data-themeon<html>and provides context. - useTheme: Theme colors (
colorsproperty) are now lazy — only computed via canvas when accessed. Components that only needisDarkorsetThemepay no cost for color computation.
Features
- ThemeProvider: Added
toggleTheme()to context for convenient light/dark switching. - useTheme: Added
toggleThemeto return value (available when using ThemeProvider).
v0.12.87
Bug Fixes
- ContextMenu: Removed
inline-blockwrapper div that broke flex/block layout on trigger elements. Now usescloneElementto attach the context menu handler directly to the trigger child. - ContextMenu: Divider now uses
<hr>instead of DaisyUIdividerclass which had excessive padding. - Terminal: Cursor color now defaults to foreground (
base-content) instead of primary color. - Terminal: User
options.themeis now deep-merged with the auto-generated theme instead of replacing it, allowing individual color overrides without losing other theme colors. - Icons: Fixed unused
propsdestructuring increateIcon(TypeScript error).
Features
- ContextMenu:
itemsprop now accepts a function(e: React.MouseEvent) => ContextMenuItem[]for dynamic menu items based on the click event.
Build
- Replaced
sedwith cross-platformtsxscript insync-icons-prefixedfor macOS/Linux compatibility.
v0.12.86
v0.12.85
v0.12.84
v0.12.83
v0.12.82
v0.12.81
Bug Fixes
- Terminal: Fixed initialization error when container has no dimensions (e.g., in flexbox/splitter layouts)
- Terminal: Fixed ESM/CJS import compatibility for xterm packages across different bundlers
Documentation
- Added Terminal preview images for component overview page