Sourceful Energy

Zap LED Animations

Animation library for M5Stack Atom Matrix 5x5 LED grid

Hardware Target

  • M5Stack Atom Matrix - 5x5 WS2812C RGB LEDs
  • ESP32-PICO-D4 @ 240MHz
  • Ultra-compact: 24x24x13.8mm
  • Recommended brightness: 20 (FastLED scale)

Zap Gateway Purpose

  • Local energy coordination gateway (~$20 BOM)
  • 200ms response time (vs 2-5s cloud APIs)
  • Protocols: P1, Modbus-TCP/RTU, MQTT, OCPP
  • Offline-capable, data sovereignty

Interactive Demo

Preview any animation in the library with customizable colors.

zap-ready

Diamond pulse - indicates device is ready for operation

Animation Library

86 animations in 13 categories
Boot/Power On
Spiral expanding from center - indicates device powering up
green
zap-boot
/**
 * Boot/Power On
 * Spiral expanding from center - indicates device powering up
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapBootAnimation() {
  return (
    <PixelGrid
      pattern="zap-boot"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapBootAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-boot"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  )...
Cycle: 2500msFrames: 10Frame: 250ms
Ready/Hello
Diamond pulse - indicates device is ready for operation
green
zap-ready
/**
 * Ready/Hello
 * Diamond pulse - indicates device is ready for operation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapReadyAnimation() {
  return (
    <PixelGrid
      pattern="zap-ready"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapReadyAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-ready"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
...
Cycle: 2000msFrames: 10Frame: 200ms
Lightning Bolt
Custom lightning bolt shape - Zap brand identity
green
zap-logo
/**
 * Lightning Bolt
 * Custom lightning bolt shape - Zap brand identity
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapLogoAnimation() {
  return (
    <PixelGrid
      pattern="zap-logo"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapLogoAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-logo"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// St...
Cycle: 2500msFrames: 13Frame: 192ms
Pairing/WiFi Setup
Checkerboard alternating - indicates pairing mode active
blue
zap-pairing
/**
 * Pairing/WiFi Setup
 * Checkerboard alternating - indicates pairing mode active
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapPairingAnimation() {
  return (
    <PixelGrid
      pattern="zap-pairing"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapPairingAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-pairing"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused...
Cycle: 1500msFrames: 6Frame: 250ms
Connecting
Expanding rings from center - indicates connection attempt
blue
zap-connecting
/**
 * Connecting
 * Expanding rings from center - indicates connection attempt
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapConnectingAnimation() {
  return (
    <PixelGrid
      pattern="zap-connecting"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapConnectingAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-connecting"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={...
Cycle: 1800msFrames: 8Frame: 225ms
Connected
Quick pulse then steady center - indicates successful connection
green
zap-connected
/**
 * Connected
 * Quick pulse then steady center - indicates successful connection
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapConnectedAnimation() {
  return (
    <PixelGrid
      pattern="zap-connected"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapConnectedAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-connected"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      pause...
Cycle: 2000msFrames: 8Frame: 250ms
No Network
Frame blink warning (orange->red suggested) - indicates network loss
pink
zap-no-network
/**
 * No Network
 * Frame blink warning (orange->red suggested) - indicates network loss
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapNoNetworkAnimation() {
  return (
    <PixelGrid
      pattern="zap-no-network"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapNoNetworkAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-no-network"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      ...
Cycle: 1200msFrames: 8Frame: 150ms
Active
Gentle center heartbeat - indicates active operation
green
zap-active
/**
 * Active
 * Gentle center heartbeat - indicates active operation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapActiveAnimation() {
  return (
    <PixelGrid
      pattern="zap-active"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapActiveAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-active"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

/...
Cycle: 2500msFrames: 8Frame: 313ms
Standby/Idle
Slow corners pulse - indicates standby mode
green
zap-standby
/**
 * Standby/Idle
 * Slow corners pulse - indicates standby mode
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapStandbyAnimation() {
  return (
    <PixelGrid
      pattern="zap-standby"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapStandbyAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-standby"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

...
Cycle: 3000msFrames: 8Frame: 375ms
Offline
Single pixel breathing (gray suggested) - indicates offline mode
blue
zap-offline
/**
 * Offline
 * Single pixel breathing (gray suggested) - indicates offline mode
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapOfflineAnimation() {
  return (
    <PixelGrid
      pattern="zap-offline"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapOfflineAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-offline"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
 ...
Cycle: 4000msFrames: 8Frame: 500ms
Data Transferring
Spiral flow - indicates data transmission
blue
zap-data-tx
/**
 * Data Transferring
 * Spiral flow - indicates data transmission
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapDataTxAnimation() {
  return (
    <PixelGrid
      pattern="zap-data-tx"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapDataTxAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-data-tx"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

/...
Cycle: 1200msFrames: 9Frame: 133ms
Syncing
Frame rotation - indicates sync in progress
blue
zap-syncing
/**
 * Syncing
 * Frame rotation - indicates sync in progress
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSyncingAnimation() {
  return (
    <PixelGrid
      pattern="zap-syncing"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapSyncingAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-syncing"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Stat...
Cycle: 1000msFrames: 8Frame: 125ms
No Data
X pattern pulse (yellow suggested) - indicates no data received
pink
zap-no-data
/**
 * No Data
 * X pattern pulse (yellow suggested) - indicates no data received
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapNoDataAnimation() {
  return (
    <PixelGrid
      pattern="zap-no-data"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapNoDataAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-no-data"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    ...
Cycle: 1500msFrames: 6Frame: 250ms
Grid Import
Lines flowing inward (yellow suggested) - indicates power import from grid
pink
zap-importing
/**
 * Grid Import
 * Lines flowing inward (yellow suggested) - indicates power import from grid
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapImportingAnimation() {
  return (
    <PixelGrid
      pattern="zap-importing"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapImportingAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-importing"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
 ...
Cycle: 1000msFrames: 8Frame: 125ms
Grid Export
Lines flowing outward (green) - indicates power export to grid
green
zap-exporting
/**
 * Grid Export
 * Lines flowing outward (green) - indicates power export to grid
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapExportingAnimation() {
  return (
    <PixelGrid
      pattern="zap-exporting"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapExportingAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-exporting"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      pause...
Cycle: 1000msFrames: 8Frame: 125ms
Battery Charging
Fill from bottom up (blue->green) - indicates battery charging
blue
zap-charging
/**
 * Battery Charging
 * Fill from bottom up (blue->green) - indicates battery charging
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapChargingAnimation() {
  return (
    <PixelGrid
      pattern="zap-charging"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapChargingAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-charging"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused...
Cycle: 2500msFrames: 8Frame: 313ms
Battery Discharging
Drain from top (green->yellow) - indicates battery discharging
green
zap-discharging
/**
 * Battery Discharging
 * Drain from top (green->yellow) - indicates battery discharging
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapDischargingAnimation() {
  return (
    <PixelGrid
      pattern="zap-discharging"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapDischargingAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-discharging"
      dimension={5}
      color={color}
      size={size}
      speed={sp...
Cycle: 2500msFrames: 8Frame: 313ms
Peak Approaching
Fast frame pulse (orange) - indicates peak pricing/demand approaching
pink
zap-peak-alert
/**
 * Peak Approaching
 * Fast frame pulse (orange) - indicates peak pricing/demand approaching
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapPeakAlertAnimation() {
  return (
    <PixelGrid
      pattern="zap-peak-alert"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapPeakAlertAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-peak-alert"
      dimension={5}
      color={color}
      size={size}
      speed={speed}...
Cycle: 800msFrames: 6Frame: 133ms
Grid Event Active
Rapid corners sync (bright green) - indicates grid event participation
green
zap-grid-event
/**
 * Grid Event Active
 * Rapid corners sync (bright green) - indicates grid event participation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapGridEventAnimation() {
  return (
    <PixelGrid
      pattern="zap-grid-event"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapGridEventAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-grid-event"
      dimension={5}
      color={color}
      size={size}
      speed={sp...
Cycle: 600msFrames: 4Frame: 150ms
Local Control
L shape indicator (green) - indicates local control mode
green
zap-local
/**
 * Local Control
 * L shape indicator (green) - indicates local control mode
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapLocalAnimation() {
  return (
    <PixelGrid
      pattern="zap-local"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapLocalAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-local"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  ...
Cycle: 2000msFrames: 9Frame: 222ms
Remote Control
Cloud-like pattern (blue) - indicates remote/cloud control mode
blue
zap-remote
/**
 * Remote Control
 * Cloud-like pattern (blue) - indicates remote/cloud control mode
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapRemoteAnimation() {
  return (
    <PixelGrid
      pattern="zap-remote"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapRemoteAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-remote"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}...
Cycle: 2000msFrames: 8Frame: 250ms
Scheduled Mode
Clock rotation (purple suggested) - indicates scheduled/timer mode
blue
zap-scheduled
/**
 * Scheduled Mode
 * Clock rotation (purple suggested) - indicates scheduled/timer mode
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapScheduledAnimation() {
  return (
    <PixelGrid
      pattern="zap-scheduled"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapScheduledAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-scheduled"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      ...
Cycle: 2000msFrames: 8Frame: 250ms
Error
X pattern (red) - indicates error state
pink
zap-error
/**
 * Error
 * X pattern (red) - indicates error state
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapErrorAnimation() {
  return (
    <PixelGrid
      pattern="zap-error"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapErrorAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-error"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (no...
Cycle: 1200msFrames: 8Frame: 150ms
Warning
Triangle blink (orange) - indicates warning state
pink
zap-warning
/**
 * Warning
 * Triangle blink (orange) - indicates warning state
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapWarningAnimation() {
  return (
    <PixelGrid
      pattern="zap-warning"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapWarningAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-warning"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

/...
Cycle: 1500msFrames: 9Frame: 167ms
Firmware Update
Progress bar fill (blue) - indicates firmware update in progress
blue
zap-updating
/**
 * Firmware Update
 * Progress bar fill (blue) - indicates firmware update in progress
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapUpdatingAnimation() {
  return (
    <PixelGrid
      pattern="zap-updating"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapUpdatingAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-updating"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      pause...
Cycle: 1500msFrames: 8Frame: 188ms
Vehicle Connected
Plug icon pattern (blue) - indicates EV connected
blue
zap-ev-connected
/**
 * Vehicle Connected
 * Plug icon pattern (blue) - indicates EV connected
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapEvConnectedAnimation() {
  return (
    <PixelGrid
      pattern="zap-ev-connected"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapEvConnectedAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-ev-connected"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paus...
Cycle: 2000msFrames: 10Frame: 200ms
EV Charging
Upward flow (blue->green) - indicates EV is charging
blue
zap-ev-charging
/**
 * EV Charging
 * Upward flow (blue->green) - indicates EV is charging
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapEvChargingAnimation() {
  return (
    <PixelGrid
      pattern="zap-ev-charging"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapEvChargingAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-ev-charging"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={pau...
Cycle: 800msFrames: 6Frame: 133ms
V2X Bidirectional
Alternating flow (green+blue) - indicates V2X bidirectional mode
green
zap-v2x-active
/**
 * V2X Bidirectional
 * Alternating flow (green+blue) - indicates V2X bidirectional mode
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapV2xActiveAnimation() {
  return (
    <PixelGrid
      pattern="zap-v2x-active"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapV2xActiveAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-v2x-active"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
 ...
Cycle: 600msFrames: 4Frame: 150ms
Charge Complete
Checkmark/success (green) - indicates charging complete
green
zap-ev-complete
/**
 * Charge Complete
 * Checkmark/success (green) - indicates charging complete
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapEvCompleteAnimation() {
  return (
    <PixelGrid
      pattern="zap-ev-complete"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapEvCompleteAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-ev-complete"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      pa...
Cycle: 2500msFrames: 11Frame: 227ms
Meter Reading
Horizontal scan (cyan) - indicates meter reading in progress
blue
zap-meter-reading
/**
 * Meter Reading
 * Horizontal scan (cyan) - indicates meter reading in progress
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapMeterReadingAnimation() {
  return (
    <PixelGrid
      pattern="zap-meter-reading"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapMeterReadingAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-meter-reading"
      dimension={5}
      color={color}
      size={size}
      speed={speed}...
Cycle: 1200msFrames: 8Frame: 150ms
P1 Connected
P indicator (green) - indicates P1 meter connected
green
zap-meter-connected
/**
 * P1 Connected
 * P indicator (green) - indicates P1 meter connected
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapMeterConnectedAnimation() {
  return (
    <PixelGrid
      pattern="zap-meter-connected"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapMeterConnectedAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-meter-connected"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
...
Cycle: 2000msFrames: 6Frame: 333ms
Phase Indicator
3 vertical columns (RGB suggested) - indicates 3-phase balance
blue
zap-phase-balance
/**
 * Phase Indicator
 * 3 vertical columns (RGB suggested) - indicates 3-phase balance
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapPhaseBalanceAnimation() {
  return (
    <PixelGrid
      pattern="zap-phase-balance"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapPhaseBalanceAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-phase-balance"
      dimension={5}
      color={color}
      size={size}
      speed={sp...
Cycle: 2000msFrames: 7Frame: 286ms
SoC 0-20%
1 row lit (red) - indicates critical battery level
pink
zap-soc-0
/**
 * SoC 0-20%
 * 1 row lit (red) - indicates critical battery level
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSoc0Animation() {
  return (
    <PixelGrid
      pattern="zap-soc-0"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapSoc0AnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-soc-0"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Stati...
Cycle: 1000msFrames: 6Frame: 167ms
SoC 20-40%
2 rows lit (orange) - indicates low battery level
pink
zap-soc-25
/**
 * SoC 20-40%
 * 2 rows lit (orange) - indicates low battery level
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSoc25Animation() {
  return (
    <PixelGrid
      pattern="zap-soc-25"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapSoc25AnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-soc-25"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// S...
Cycle: 2000msFrames: 4Frame: 500ms
SoC 40-60%
3 rows lit (yellow) - indicates medium battery level
pink
zap-soc-50
/**
 * SoC 40-60%
 * 3 rows lit (yellow) - indicates medium battery level
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSoc50Animation() {
  return (
    <PixelGrid
      pattern="zap-soc-50"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapSoc50AnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-soc-50"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

/...
Cycle: 3000msFrames: 4Frame: 750ms
SoC 60-80%
4 rows lit (light green) - indicates good battery level
green
zap-soc-75
/**
 * SoC 60-80%
 * 4 rows lit (light green) - indicates good battery level
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSoc75Animation() {
  return (
    <PixelGrid
      pattern="zap-soc-75"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapSoc75AnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-soc-75"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );...
Cycle: 4000msFrames: 4Frame: 1000ms
SoC 80-100%
5 rows lit (green) - indicates full battery
green
zap-soc-100
/**
 * SoC 80-100%
 * 5 rows lit (green) - indicates full battery
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSoc100Animation() {
  return (
    <PixelGrid
      pattern="zap-soc-100"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapSoc100AnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-soc-100"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// ...
Cycle: 5000msFrames: 4Frame: 1250ms
Smiley Face
Happy face - for success or celebration
green
zap-smiley
/**
 * Smiley Face
 * Happy face - for success or celebration
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSmileyAnimation() {
  return (
    <PixelGrid
      pattern="zap-smiley"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapSmileyAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-smiley"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static...
Cycle: 2000msFrames: 6Frame: 333ms
Winking Smiley
Playful winking face animation
green
zap-smiley-wink
/**
 * Winking Smiley
 * Playful winking face animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSmileyWinkAnimation() {
  return (
    <PixelGrid
      pattern="zap-smiley-wink"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapSmileyWinkAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-smiley-wink"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
...
Cycle: 1500msFrames: 6Frame: 250ms
Heart
Heart shape - for love and favorites
pink
zap-heart
/**
 * Heart
 * Heart shape - for love and favorites
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapHeartAnimation() {
  return (
    <PixelGrid
      pattern="zap-heart"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapHeartAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-heart"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-a...
Cycle: 1500msFrames: 5Frame: 300ms
Heart Beat
Pulsing heart - for health or love
pink
zap-heart-beat
/**
 * Heart Beat
 * Pulsing heart - for health or love
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapHeartBeatAnimation() {
  return (
    <PixelGrid
      pattern="zap-heart-beat"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapHeartBeatAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-heart-beat"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// ...
Cycle: 1200msFrames: 6Frame: 200ms
Star
Star shape - for ratings and favorites
pink
zap-star
/**
 * Star
 * Star shape - for ratings and favorites
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapStarAnimation() {
  return (
    <PixelGrid
      pattern="zap-star"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapStarAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-star"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-anim...
Cycle: 1500msFrames: 5Frame: 300ms
Spinning Star
Rotating star animation
pink
zap-star-spin
/**
 * Spinning Star
 * Rotating star animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapStarSpinAnimation() {
  return (
    <PixelGrid
      pattern="zap-star-spin"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapStarSpinAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-star-spin"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static displ...
Cycle: 800msFrames: 5Frame: 160ms
Fireworks
Explosive celebration animation
pink
zap-fireworks
/**
 * Fireworks
 * Explosive celebration animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapFireworksAnimation() {
  return (
    <PixelGrid
      pattern="zap-fireworks"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapFireworksAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-fireworks"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static...
Cycle: 1500msFrames: 8Frame: 188ms
Confetti
Random celebration sparkles
blue
zap-confetti
/**
 * Confetti
 * Random celebration sparkles
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapConfettiAnimation() {
  return (
    <PixelGrid
      pattern="zap-confetti"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapConfettiAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-confetti"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display ...
Cycle: 1000msFrames: 5Frame: 200ms
Flower
Blooming flower animation
pink
zap-flower
/**
 * Flower
 * Blooming flower animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapFlowerAnimation() {
  return (
    <PixelGrid
      pattern="zap-flower"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapFlowerAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-flower"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animate...
Cycle: 2500msFrames: 8Frame: 313ms
Sun
Radiating sun - for solar energy
pink
zap-sun
/**
 * Sun
 * Radiating sun - for solar energy
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSunAnimation() {
  return (
    <PixelGrid
      pattern="zap-sun"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapSunAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-sun"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
expor...
Cycle: 1500msFrames: 5Frame: 300ms
Moon
Crescent moon - for night mode
blue
zap-moon
/**
 * Moon
 * Crescent moon - for night mode
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapMoonAnimation() {
  return (
    <PixelGrid
      pattern="zap-moon"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapMoonAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-moon"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
ex...
Cycle: 3000msFrames: 6Frame: 500ms
Cloud
Fluffy cloud shape
blue
zap-cloud
/**
 * Cloud
 * Fluffy cloud shape
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapCloudAnimation() {
  return (
    <PixelGrid
      pattern="zap-cloud"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapCloudAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-cloud"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export fu...
Cycle: 2000msFrames: 5Frame: 400ms
Rain
Falling raindrops animation
blue
zap-rain
/**
 * Rain
 * Falling raindrops animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapRainAnimation() {
  return (
    <PixelGrid
      pattern="zap-rain"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapRainAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-rain"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
expor...
Cycle: 900msFrames: 6Frame: 150ms
Snow
Falling snowflakes
blue
zap-snow
/**
 * Snow
 * Falling snowflakes
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSnowAnimation() {
  return (
    <PixelGrid
      pattern="zap-snow"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapSnowAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-snow"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export functio...
Cycle: 1500msFrames: 6Frame: 250ms
Waves
Ocean wave animation
blue
zap-waves
/**
 * Waves
 * Ocean wave animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapWavesAnimation() {
  return (
    <PixelGrid
      pattern="zap-waves"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapWavesAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-waves"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export ...
Cycle: 1000msFrames: 4Frame: 250ms
Fire
Flickering flames
pink
zap-fire
/**
 * Fire
 * Flickering flames
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapFireAnimation() {
  return (
    <PixelGrid
      pattern="zap-fire"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapFireAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-fire"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export function...
Cycle: 600msFrames: 5Frame: 120ms
Tree
Simple tree shape - for nature/eco
green
zap-tree
/**
 * Tree
 * Simple tree shape - for nature/eco
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapTreeAnimation() {
  return (
    <PixelGrid
      pattern="zap-tree"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapTreeAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-tree"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animat...
Cycle: 2000msFrames: 5Frame: 400ms
House
Home icon - for home automation
green
zap-house
/**
 * House
 * Home icon - for home automation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapHouseAnimation() {
  return (
    <PixelGrid
      pattern="zap-house"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapHouseAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-house"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-anim...
Cycle: 2000msFrames: 5Frame: 400ms
Car
Simple car shape - side view
blue
zap-car
/**
 * Car
 * Simple car shape - side view
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapCarAnimation() {
  return (
    <PixelGrid
      pattern="zap-car"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapCarAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-car"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export fu...
Cycle: 800msFrames: 4Frame: 200ms
Rocket
Rocket launch animation
pink
zap-rocket
/**
 * Rocket
 * Rocket launch animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapRocketAnimation() {
  return (
    <PixelGrid
      pattern="zap-rocket"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapRocketAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-rocket"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)...
Cycle: 600msFrames: 4Frame: 150ms
Ghost
Spooky ghost animation
blue
zap-ghost
/**
 * Ghost
 * Spooky ghost animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapGhostAnimation() {
  return (
    <PixelGrid
      pattern="zap-ghost"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapGhostAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-ghost"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
expor...
Cycle: 1000msFrames: 3Frame: 333ms
Skull
Skull icon - for danger/death
pink
zap-skull
/**
 * Skull
 * Skull icon - for danger/death
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSkullAnimation() {
  return (
    <PixelGrid
      pattern="zap-skull"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapSkullAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-skull"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated...
Cycle: 1200msFrames: 6Frame: 200ms
Cat
Cat face with animated ears
pink
zap-cat
/**
 * Cat
 * Cat face with animated ears
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapCatAnimation() {
  return (
    <PixelGrid
      pattern="zap-cat"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapCatAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-cat"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export fun...
Cycle: 1500msFrames: 4Frame: 375ms
Fish
Swimming fish animation
blue
zap-fish
/**
 * Fish
 * Swimming fish animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapFishAnimation() {
  return (
    <PixelGrid
      pattern="zap-fish"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapFishAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-fish"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export fu...
Cycle: 800msFrames: 4Frame: 200ms
Music Note
Musical note animation
blue
zap-music
/**
 * Music Note
 * Musical note animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapMusicAnimation() {
  return (
    <PixelGrid
      pattern="zap-music"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapMusicAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-music"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
...
Cycle: 1500msFrames: 5Frame: 300ms
Checkmark
Success/done indicator
green
zap-checkmark
/**
 * Checkmark
 * Success/done indicator
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapCheckmarkAnimation() {
  return (
    <PixelGrid
      pattern="zap-checkmark"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapCheckmarkAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-checkmark"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static displa...
Cycle: 1500msFrames: 8Frame: 188ms
Cross/X
Cancel/error indicator
pink
zap-cross
/**
 * Cross/X
 * Cancel/error indicator
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapCrossAnimation() {
  return (
    <PixelGrid
      pattern="zap-cross"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapCrossAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-cross"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
exp...
Cycle: 1000msFrames: 5Frame: 200ms
Question Mark
Help/unknown indicator
blue
zap-question
/**
 * Question Mark
 * Help/unknown indicator
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapQuestionAnimation() {
  return (
    <PixelGrid
      pattern="zap-question"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapQuestionAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-question"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display ...
Cycle: 1500msFrames: 5Frame: 300ms
Exclamation Mark
Alert/important indicator
pink
zap-exclaim
/**
 * Exclamation Mark
 * Alert/important indicator
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapExclaimAnimation() {
  return (
    <PixelGrid
      pattern="zap-exclaim"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapExclaimAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-exclaim"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static displa...
Cycle: 1000msFrames: 6Frame: 167ms
Arrow Up
Upward direction indicator
green
zap-arrow-up
/**
 * Arrow Up
 * Upward direction indicator
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapArrowUpAnimation() {
  return (
    <PixelGrid
      pattern="zap-arrow-up"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapArrowUpAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-arrow-up"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (...
Cycle: 1000msFrames: 4Frame: 250ms
Arrow Down
Downward direction indicator
green
zap-arrow-down
/**
 * Arrow Down
 * Downward direction indicator
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapArrowDownAnimation() {
  return (
    <PixelGrid
      pattern="zap-arrow-down"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapArrowDownAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-arrow-down"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Stat...
Cycle: 1000msFrames: 4Frame: 250ms
Arrow Left
Leftward direction indicator
green
zap-arrow-left
/**
 * Arrow Left
 * Leftward direction indicator
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapArrowLeftAnimation() {
  return (
    <PixelGrid
      pattern="zap-arrow-left"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapArrowLeftAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-arrow-left"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Stat...
Cycle: 1000msFrames: 4Frame: 250ms
Arrow Right
Rightward direction indicator
green
zap-arrow-right
/**
 * Arrow Right
 * Rightward direction indicator
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapArrowRightAnimation() {
  return (
    <PixelGrid
      pattern="zap-arrow-right"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapArrowRightAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-arrow-right"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

/...
Cycle: 1000msFrames: 4Frame: 250ms
Play
Media play button
green
zap-play
/**
 * Play
 * Media play button
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapPlayAnimation() {
  return (
    <PixelGrid
      pattern="zap-play"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapPlayAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-play"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export functi...
Cycle: 1500msFrames: 5Frame: 300ms
Pause
Media pause button
blue
zap-pause
/**
 * Pause
 * Media pause button
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapPauseAnimation() {
  return (
    <PixelGrid
      pattern="zap-pause"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapPauseAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-pause"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export fu...
Cycle: 1500msFrames: 5Frame: 300ms
Stop
Media stop button
pink
zap-stop
/**
 * Stop
 * Media stop button
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapStopAnimation() {
  return (
    <PixelGrid
      pattern="zap-stop"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapStopAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-stop"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export function...
Cycle: 1500msFrames: 5Frame: 300ms
Power
Power button symbol
green
zap-power
/**
 * Power
 * Power button symbol
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapPowerAnimation() {
  return (
    <PixelGrid
      pattern="zap-power"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapPowerAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-power"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export...
Cycle: 2000msFrames: 5Frame: 400ms
WiFi Bars
WiFi signal strength animation
blue
zap-wifi-bars
/**
 * WiFi Bars
 * WiFi signal strength animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapWifiBarsAnimation() {
  return (
    <PixelGrid
      pattern="zap-wifi-bars"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapWifiBarsAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-wifi-bars"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static di...
Cycle: 1500msFrames: 5Frame: 300ms
Signal Bars
Cellular signal strength
green
zap-signal
/**
 * Signal Bars
 * Cellular signal strength
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSignalAnimation() {
  return (
    <PixelGrid
      pattern="zap-signal"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapSignalAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-signal"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-a...
Cycle: 1500msFrames: 5Frame: 300ms
Hourglass
Loading/waiting animation
blue
zap-hourglass
/**
 * Hourglass
 * Loading/waiting animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapHourglassAnimation() {
  return (
    <PixelGrid
      pattern="zap-hourglass"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapHourglassAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-hourglass"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static displ...
Cycle: 1200msFrames: 4Frame: 300ms
Clock
Time/clock face animation
blue
zap-clock
/**
 * Clock
 * Time/clock face animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapClockAnimation() {
  return (
    <PixelGrid
      pattern="zap-clock"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapClockAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-clock"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
ex...
Cycle: 2000msFrames: 4Frame: 500ms
Bell
Notification bell animation
pink
zap-bell
/**
 * Bell
 * Notification bell animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapBellAnimation() {
  return (
    <PixelGrid
      pattern="zap-bell"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapBellAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-bell"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
expor...
Cycle: 800msFrames: 4Frame: 200ms
Mail/Envelope
Message/email indicator
blue
zap-mail
/**
 * Mail/Envelope
 * Message/email indicator
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapMailAnimation() {
  return (
    <PixelGrid
      pattern="zap-mail"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapMailAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-mail"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
...
Cycle: 2000msFrames: 5Frame: 400ms
Pac-Man
Classic arcade chomping animation
pink
zap-pacman
/**
 * Pac-Man
 * Classic arcade chomping animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapPacmanAnimation() {
  return (
    <PixelGrid
      pattern="zap-pacman"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapPacmanAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-pacman"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (no...
Cycle: 500msFrames: 2Frame: 250ms
Space Invader
Classic arcade alien animation
green
zap-space-invader
/**
 * Space Invader
 * Classic arcade alien animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapSpaceInvaderAnimation() {
  return (
    <PixelGrid
      pattern="zap-space-invader"
      dimension={5}
      color="green"
      size="lg"
    />
  );
}

// With customization
export function zapSpaceInvaderAnimationCustom({
  color = "green",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-space-invader"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    /...
Cycle: 800msFrames: 2Frame: 400ms
Tetris
Falling tetris blocks
blue
zap-tetris
/**
 * Tetris
 * Falling tetris blocks
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapTetrisAnimation() {
  return (
    <PixelGrid
      pattern="zap-tetris"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapTetrisAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-tetris"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
e...
Cycle: 1500msFrames: 6Frame: 250ms
Dice
Rolling dice animation
blue
zap-dice
/**
 * Dice
 * Rolling dice animation
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapDiceAnimation() {
  return (
    <PixelGrid
      pattern="zap-dice"
      dimension={5}
      color="blue"
      size="lg"
    />
  );
}

// With customization
export function zapDiceAnimationCustom({
  color = "blue",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-dice"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export fun...
Cycle: 1800msFrames: 6Frame: 300ms
Crown
Royal crown icon
pink
zap-crown
/**
 * Crown
 * Royal crown icon
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapCrownAnimation() {
  return (
    <PixelGrid
      pattern="zap-crown"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapCrownAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-crown"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
export func...
Cycle: 2000msFrames: 5Frame: 400ms
Trophy
Winner trophy icon
pink
zap-trophy
/**
 * Trophy
 * Winner trophy icon
 *
 * Using Sourceful Design System PixelGrid component
 */

import { PixelGrid } from "@sourceful-energy/ui";

// Basic usage
export function zapTrophyAnimation() {
  return (
    <PixelGrid
      pattern="zap-trophy"
      dimension={5}
      color="pink"
      size="lg"
    />
  );
}

// With customization
export function zapTrophyAnimationCustom({
  color = "pink",
  size = "md",
  speed = "normal",
  paused = false,
}: {
  color?: "green" | "blue" | "pink";
  size?: "sm" | "md" | "lg";
  speed?: "slow" | "normal" | "fast";
  paused?: boolean;
}) {
  return (
    <PixelGrid
      pattern="zap-trophy"
      dimension={5}
      color={color}
      size={size}
      speed={speed}
      paused={paused}
    />
  );
}

// Static display (non-animated)
expo...
Cycle: 2000msFrames: 5Frame: 400ms

Color System

Colors convey meaning. Use consistently across all Zap devices.

Green
  • Success, active, healthy states
  • Energy export (selling to grid)
  • Local control mode
  • Sourceful brand identity
Blue
  • Connecting, syncing, updating
  • EV/V2X charging states
  • Remote/cloud control mode
  • Data transfer
Pink/Orange/Red
  • Errors, warnings, alerts
  • Energy import (buying from grid)
  • Low battery states
  • Peak pricing alerts

Accessibility Note

Never rely on color alone to convey status. Each animation pattern is distinct enough to be recognizable regardless of color. Users with color blindness can distinguish states by the animation pattern shape and movement.

Code Implementation

Web Applications
Use the PixelGrid component from @sourceful-energy/ui
import { PixelGrid } from "@sourceful-energy/ui"

// Use any Zap animation pattern
<PixelGrid
  pattern="zap-ready"
  dimension={5}
  color="green"
  size="lg"
/>

// Dynamic state rendering
const ZapStatus = ({ status }) => (
  <PixelGrid
    pattern={`zap-${status}`}
    dimension={5}
    color={status === 'error' ? 'pink' : 'green'}
  />
)

Download Full Library

Download all 86 animations in your preferred format.

Timing Recommendations

Quick Reference

Pattern IDStateColorCycle
zap-bootBoot/Power On
green
2500ms
zap-readyReady/Hello
green
2000ms
zap-logoLightning Bolt
green
2500ms
zap-pairingPairing/WiFi Setup
blue
1500ms
zap-connectingConnecting
blue
1800ms
zap-connectedConnected
green
2000ms
zap-no-networkNo Network
pink
1200ms
zap-activeActive
green
2500ms
zap-standbyStandby/Idle
green
3000ms
zap-offlineOffline
blue
4000ms
zap-data-txData Transferring
blue
1200ms
zap-syncingSyncing
blue
1000ms
zap-no-dataNo Data
pink
1500ms
zap-importingGrid Import
pink
1000ms
zap-exportingGrid Export
green
1000ms
zap-chargingBattery Charging
blue
2500ms
zap-dischargingBattery Discharging
green
2500ms
zap-peak-alertPeak Approaching
pink
800ms
zap-grid-eventGrid Event Active
green
600ms
zap-localLocal Control
green
2000ms
zap-remoteRemote Control
blue
2000ms
zap-scheduledScheduled Mode
blue
2000ms
zap-errorError
pink
1200ms
zap-warningWarning
pink
1500ms
zap-updatingFirmware Update
blue
1500ms
zap-ev-connectedVehicle Connected
blue
2000ms
zap-ev-chargingEV Charging
blue
800ms
zap-v2x-activeV2X Bidirectional
green
600ms
zap-ev-completeCharge Complete
green
2500ms
zap-meter-readingMeter Reading
blue
1200ms
zap-meter-connectedP1 Connected
green
2000ms
zap-phase-balancePhase Indicator
blue
2000ms
zap-soc-0SoC 0-20%
pink
1000ms
zap-soc-25SoC 20-40%
pink
2000ms
zap-soc-50SoC 40-60%
pink
3000ms
zap-soc-75SoC 60-80%
green
4000ms
zap-soc-100SoC 80-100%
green
5000ms
zap-smileySmiley Face
green
2000ms
zap-smiley-winkWinking Smiley
green
1500ms
zap-heartHeart
pink
1500ms
zap-heart-beatHeart Beat
pink
1200ms
zap-starStar
pink
1500ms
zap-star-spinSpinning Star
pink
800ms
zap-fireworksFireworks
pink
1500ms
zap-confettiConfetti
blue
1000ms
zap-flowerFlower
pink
2500ms
zap-sunSun
pink
1500ms
zap-moonMoon
blue
3000ms
zap-cloudCloud
blue
2000ms
zap-rainRain
blue
900ms
zap-snowSnow
blue
1500ms
zap-wavesWaves
blue
1000ms
zap-fireFire
pink
600ms
zap-treeTree
green
2000ms
zap-houseHouse
green
2000ms
zap-carCar
blue
800ms
zap-rocketRocket
pink
600ms
zap-ghostGhost
blue
1000ms
zap-skullSkull
pink
1200ms
zap-catCat
pink
1500ms
zap-fishFish
blue
800ms
zap-musicMusic Note
blue
1500ms
zap-checkmarkCheckmark
green
1500ms
zap-crossCross/X
pink
1000ms
zap-questionQuestion Mark
blue
1500ms
zap-exclaimExclamation Mark
pink
1000ms
zap-arrow-upArrow Up
green
1000ms
zap-arrow-downArrow Down
green
1000ms
zap-arrow-leftArrow Left
green
1000ms
zap-arrow-rightArrow Right
green
1000ms
zap-playPlay
green
1500ms
zap-pausePause
blue
1500ms
zap-stopStop
pink
1500ms
zap-powerPower
green
2000ms
zap-wifi-barsWiFi Bars
blue
1500ms
zap-signalSignal Bars
green
1500ms
zap-hourglassHourglass
blue
1200ms
zap-clockClock
blue
2000ms
zap-bellBell
pink
800ms
zap-mailMail/Envelope
blue
2000ms
zap-pacmanPac-Man
pink
500ms
zap-space-invaderSpace Invader
green
800ms
zap-tetrisTetris
blue
1500ms
zap-diceDice
blue
1800ms
zap-crownCrown
pink
2000ms
zap-trophyTrophy
pink
2000ms