Preset · General celebration

Festive Lights preset

The built-in Festive Lights preset is a general celebration composition of String Lights, Lanterns and Sparkles. It avoids occasion-specific symbols so it can support a range of events.

Composition

Warm string lights, neutral lantern forms and subtle gold accents.

React usage

Decoration.tsx
import { Zeenat } from "zeenat";

export function Decoration() {
  return <Zeenat preset="festive-lights" intensity="medium" />;
}

Next.js App Router

app/layout.tsx
import { Zeenat } from "zeenat";

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return <html><body><Zeenat preset="festive-lights" />{children}</body></html>;
}

Vanilla JavaScript

main.ts
import { zeenat } from "zeenat/vanilla";

const decoration = zeenat({ preset: "festive-lights", intensity: "medium" });
// Later: decoration.destroy();

Typed customization

The Festive Lights subpath exports createFestiveLightsPreset. Its supported options are listed below.

TSX
import { Zeenat } from "zeenat";
import { createFestiveLightsPreset } from "zeenat/presets/festive-lights";

const customized = createFestiveLightsPreset({
  lights: false,
});

<Zeenat preset={customized} />;
PropertyTypeDefaultDescription
lightsStringLightsOptions | falsebuilt-in string lightsOverride String Lights options or disable them.
lanternsLanternsOptions | falsebuilt-in lanternsOverride Lantern options or disable them.
accentsSparklesOptions | falsebuilt-in gold accentsOverride Sparkles options or disable them.

Intensity and seed

Scene intensity scales effect counts without changing the preset API. A seed makes generated positions and timing deterministic across restarts.

TSX
<Zeenat preset="festive-lights" intensity="low" seed={2026} />

Reduced motion

Static lanterns, lights and sparse gold accents remain; sway and twinkle stop.

Accessibility and reduced motion

Scheduling

Keep dates out of preset definitions. Schedule the scene at the call site with explicit time-zone offsets. Set the year and local offset for your event.

TSX
<Zeenat
  preset="festive-lights"
  activeFrom="2026-12-01T00:00:00Z"
  activeUntil="2027-01-01T00:00:00Z"
/>