useTheme @astryx-svelte/core v0.3.0 · theme

Usage

Programmatic access to theme tokens for non-CSS consumers like SVG, canvas, Vega, D3, maps, or chart libraries that need values in JavaScript instead of CSS custom property references.
ts
import { theme } from '@astryx-svelte/core';

Best practices

GuidancePractices
DoUse tokens or token(name) when integrating theme colors into SVG attributes, canvas drawing, chart options, or other non-CSS configuration objects inside React components.
DoUse resolveThemeTokens(theme, {mode}) for the same token resolution outside React hooks.
DoPrefer CSS variables or StyleX tokens for ordinary component styling; use this hook only when JavaScript needs token values.
DoUse data visualization tokens such as --color-data-categorical-blue for chart series instead of arbitrary UI colors.
Don'tHardcode light/dark colors in data visualizations: resolve them through the current theme instead.
Don'tAssume the hook reflects every CSS cascade override. It resolves tokens for the current Theme mode; local media-surface overrides and arbitrary external CSS may not be represented.

Returns

FieldTypeDefaultDescription
name stringName of the nearest theme, or default when no provider is present.
mode 'dark' | 'light'Resolved effective color mode. system mode is resolved to light or dark.
token (name: string) => stringResolve a single design token to its current CSS value for the effective mode.
tokens Record<string, string>All tokens resolved for the current mode, including defaults and theme overrides. Stable until the active theme or mode changes; uses the same resolution logic as resolveThemeTokens(theme, {mode}).

Examples

Common configurations, variations, and states.
useTheme — Token Values
Read resolved theme token values with useTheme for non-CSS consumers like SVG charts.