@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
TypeScript
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