Skip to content

Releases: edadma/asterui

v0.12.90

21 Mar 22:35

Choose a tag to compare

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: colors and resolvedTheme removed from return value. Use getThemeColors() for colors and theme instead of resolvedTheme.

v0.12.89

21 Mar 21:50

Choose a tag to compare

Bug Fixes

  • useTheme: Replaced canvas-based colorToHex with DOM-based approach using a persistent hidden element and getComputedStyle. Eliminates 10 canvas create/draw/read operations per theme change.
  • useTheme: Colors are now computed asynchronously in useEffect after CSS has applied, not synchronously during render. Removed Proxy entirely — colors are plain React state.

v0.12.88

21 Mar 21:20

Choose a tag to compare

Bug Fixes

  • ThemeProvider: Rewrote to eliminate ~4 second startup delay. No longer computes theme colors eagerly — just sets data-theme on <html> and provides context.
  • useTheme: Theme colors (colors property) are now lazy — only computed via canvas when accessed. Components that only need isDark or setTheme pay no cost for color computation.

Features

  • ThemeProvider: Added toggleTheme() to context for convenient light/dark switching.
  • useTheme: Added toggleTheme to return value (available when using ThemeProvider).

v0.12.87

21 Mar 19:41

Choose a tag to compare

Bug Fixes

  • ContextMenu: Removed inline-block wrapper div that broke flex/block layout on trigger elements. Now uses cloneElement to attach the context menu handler directly to the trigger child.
  • ContextMenu: Divider now uses <hr> instead of DaisyUI divider class which had excessive padding.
  • Terminal: Cursor color now defaults to foreground (base-content) instead of primary color.
  • Terminal: User options.theme is now deep-merged with the auto-generated theme instead of replacing it, allowing individual color overrides without losing other theme colors.
  • Icons: Fixed unused props destructuring in createIcon (TypeScript error).

Features

  • ContextMenu: items prop now accepts a function (e: React.MouseEvent) => ContextMenuItem[] for dynamic menu items based on the click event.

Build

  • Replaced sed with cross-platform tsx script in sync-icons-prefixed for macOS/Linux compatibility.

v0.12.86

01 Mar 02:05

Choose a tag to compare

Bug Fixes

  • CodeEditor: Fixed scrolling when content exceeds visible area — editor now properly fills its container height and scrolls via CodeMirror's built-in scroller.

v0.12.85

01 Mar 01:23

Choose a tag to compare

Features

  • Terminal: onLine callback now supports async handlers (Promise<void> return type). When a Promise is returned, the next prompt is deferred until it resolves.

v0.12.84

30 Jan 19:57

Choose a tag to compare

Bug Fixes

  • Terminal: Removed Terminal export from main entry point - now only available via asterui/terminal to make @xterm/xterm peer dependency truly optional

v0.12.83

23 Jan 06:10

Choose a tag to compare

Features

  • Terminal: Added convertEol prop (default: true) to convert LF to CRLF for proper newline handling in output

v0.12.82

22 Jan 00:32

Choose a tag to compare

Bug Fixes

  • Terminal: Fixed double terminal rendering in React StrictMode

v0.12.81

22 Jan 00:10

Choose a tag to compare

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