UNPKG

@fluritheme/fluri

Version:

Interactive snowfall for websites: DOM-aware snow accumulation, mouse interactions, snow physics, Canvas 2D rendering, and Christmas effects.

144 lines • 5.1 kB
import { z } from 'zod'; import type { PresetName, WeatherConfig, WeatherOptions } from './types.js'; export declare const presetNames: readonly ["gentle-snow", "winter-magic", "snowstorm", "frosted-glass", "christmas-classic", "christmas-night", "north-pole", "minimal", "playful", "cinematic"]; export declare const configSchema: z.ZodObject<{ preset: z.ZodEnum<{ "gentle-snow": "gentle-snow"; "winter-magic": "winter-magic"; snowstorm: "snowstorm"; "frosted-glass": "frosted-glass"; "christmas-classic": "christmas-classic"; "christmas-night": "christmas-night"; "north-pole": "north-pole"; minimal: "minimal"; playful: "playful"; cinematic: "cinematic"; }>; autoStart: z.ZodBoolean; seed: z.ZodNumber; container: z.ZodOptional<z.ZodCustom<HTMLElement, HTMLElement>>; snow: z.ZodObject<{ enabled: z.ZodBoolean; intensity: z.ZodNumber; particleCount: z.ZodNumber; flakeStyle: z.ZodEnum<{ soft: "soft"; dot: "dot"; crystal: "crystal"; }>; texture: z.ZodOptional<z.ZodNullable<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>>; color: z.ZodString; minSize: z.ZodNumber; maxSize: z.ZodNumber; gravity: z.ZodNumber; turbulence: z.ZodNumber; glow: z.ZodBoolean; parallax: z.ZodBoolean; wind: z.ZodObject<{ base: z.ZodNumber; gusts: z.ZodBoolean; variability: z.ZodNumber; }, z.core.$strict>; accumulation: z.ZodObject<{ enabled: z.ZodBoolean; maxDepth: z.ZodNumber; growthRate: z.ZodNumber; softness: z.ZodNumber; sliding: z.ZodBoolean; transferToLowerSurfaces: z.ZodBoolean; meltRate: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>; dom: z.ZodObject<{ detection: z.ZodEnum<{ auto: "auto"; explicit: "explicit"; }>; respectLayers: z.ZodBoolean; observeMutations: z.ZodBoolean; include: z.ZodArray<z.ZodString>; exclude: z.ZodArray<z.ZodString>; maxSurfaces: z.ZodNumber; removedSurface: z.ZodEnum<{ shed: "shed"; dispose: "dispose"; }>; }, z.core.$strict>; interactions: z.ZodObject<{ brush: z.ZodObject<{ enabled: z.ZodBoolean; radius: z.ZodNumber; strength: z.ZodNumber; activation: z.ZodEnum<{ hover: "hover"; press: "press"; }>; }, z.core.$strict>; snowballs: z.ZodObject<{ enabled: z.ZodBoolean; activation: z.ZodEnum<{ "press-and-drag": "press-and-drag"; "hover-circle": "hover-circle"; }>; minRadius: z.ZodNumber; maxRadius: z.ZodNumber; maxCount: z.ZodNumber; }, z.core.$strict>; snowman: z.ZodObject<{ enabled: z.ZodBoolean; requiredBalls: z.ZodLiteral<3>; }, z.core.$strict>; pointerVortex: z.ZodObject<{ enabled: z.ZodBoolean; }, z.core.$strict>; }, z.core.$strict>; performance: z.ZodObject<{ adaptive: z.ZodBoolean; maxFPS: z.ZodNumber; preferredQuality: z.ZodEnum<{ auto: "auto"; low: "low"; medium: "medium"; high: "high"; }>; maxDPR: z.ZodNumber; }, z.core.$strict>; accessibility: z.ZodObject<{ reducedMotion: z.ZodEnum<{ respect: "respect"; reduce: "reduce"; ignore: "ignore"; }>; controls: z.ZodBoolean; }, z.core.$strict>; debug: z.ZodBoolean; }, z.core.$strict>; export declare const defaults: WeatherConfig; export declare const defaultConfig: WeatherConfig; export declare const presets: Record<PresetName, WeatherOptions>; export declare function resolveConfig(options?: WeatherOptions): WeatherConfig; export declare function patchConfig(current: WeatherConfig, patch: WeatherOptions): WeatherConfig; export declare function validateConfig(value: unknown): WeatherConfig; export declare function cloneConfig(config: WeatherConfig): WeatherConfig; export declare const surfaceOptionsSchema: z.ZodObject<{ priority: z.ZodOptional<z.ZodNumber>; accumulation: z.ZodOptional<z.ZodBoolean>; material: z.ZodOptional<z.ZodEnum<{ flat: "flat"; slippery: "slippery"; sticky: "sticky"; "no-accumulation": "no-accumulation"; }>>; edge: z.ZodOptional<z.ZodEnum<{ top: "top"; bottom: "bottom"; }>>; layer: z.ZodOptional<z.ZodEnum<{ background: "background"; content: "content"; foreground: "foreground"; }>>; clip: z.ZodOptional<z.ZodBoolean>; maxSnowDepth: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>; //# sourceMappingURL=config.d.ts.map