/** * Animation primitives built on the Ashlar renderer. * * The core idea is a *paint-time color field*: {@link Animated} runs an * {@link Effect} as a filter over the region its children paint, recoloring * glyph cells by screen position. That means a shimmer (or wave, or pulse) * sweeps across heterogeneous children — text, a spinner glyph, nested boxes — * as one linked sequence, and the children stay plain (``, ``) * with no animation-specific markup. * * `Shimmer`, `Wave`, and `Pulse` are named wrappers for the built-in effects; * `shimmer`, `wave`, and `pulse` are the effect factories for use with a bare * ``. */ export { Animated, type AnimatedProps, type AnimationField, type Effect, type EffectEnv, } from "./animated.tsx"; export { useClock } from "./clock.ts"; export { Pulse, type PulseProps, Shimmer, type ShimmerProps, Wave, type WaveProps, } from "./components.tsx"; export { type MaybeAccessor, type PulseOptions, pulse, type ShimmerOptions, shimmer, type WaveOptions, wave, } from "./effects.ts"; export { type StalledState, useStalled } from "./use-stalled.ts"; export { lerpColor, lighten, packColor } from "./utils.ts";