Pulsar

Discrepancy Alert

CSS

A split horizontal bar represents mismatched ledger values, where one side pulses and shifts vertically to align with a warning indicator.

Tier
CSS
Dependencies
None
Duration
4 s, loops
Categories
Data and progress
Use cases
Errors and warnings, Dashboards and reporting
Industries
Logistics and supply chain, Cross-industry
Style
Data mark · light stroke
Set
manifest
Tags
barspulseminimal

Companion assets

The same artwork, not animated. Derived from the entry’s own resting state, so it matches exactly.

Animated
CSS tier
Static vector
Discrepancy Alert, not animated
Download SVG

Code

animation.svg

<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="pulsar pulsar-manifest-discrepancy" data-pulsar="manifest-discrepancy" viewBox="0 0 160 96"><line x1="32" x2="128" y1="36" y2="36" stroke-width="1.5" opacity=".35"></line><rect width="88" height="12" x="36" y="30" fill="currentColor" fill-opacity=".1" stroke-width="1.5" class="declared-bar" rx="2"></rect><rect width="62" height="12" x="36" y="54" fill="currentColor" fill-opacity=".1" stroke-width="1.5" class="actual-bar" rx="2"></rect><rect width="22" height="12" x="102" y="54" fill="var(--pulsar-accent, currentColor)" fill-opacity=".2" stroke="var(--pulsar-accent, currentColor)" stroke-dasharray="2 2" stroke-width="1.5" class="delta-box" rx="2"></rect><path stroke="var(--pulsar-accent, currentColor)" stroke-width="2" d="M113 46v4m0 2v.5" class="alert-icon"></path></svg>

animation.css

.pulsar-manifest-discrepancy {
  display: block;
  overflow: visible;
}
.pulsar-manifest-discrepancy .delta-box {
  animation: manifest-discrepancy-delta 4000ms ease-in-out infinite;
}
.pulsar-manifest-discrepancy .alert-icon {
  animation: manifest-discrepancy-alert 4000ms ease-in-out infinite;
}
.pulsar-manifest-discrepancy .actual-bar {
  animation: manifest-discrepancy-actual 4000ms ease-in-out infinite;
}

@keyframes manifest-discrepancy-delta {
  0%,
  20% {
    opacity: 0.3;
    transform: translateY(0);
  }
  45%,
  75% {
    opacity: 1;
    transform: translateY(-2px);
  }
  90%,
  100% {
    opacity: 0.3;
    transform: translateY(0);
  }
}

@keyframes manifest-discrepancy-alert {
  0%,
  25% {
    opacity: 0.2;
  }
  40%,
  80% {
    opacity: 1;
  }
  95%,
  100% {
    opacity: 0.2;
  }
}

@keyframes manifest-discrepancy-actual {
  0%,
  100% {
    opacity: 0.5;
  }
  50% {
    opacity: 0.8;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pulsar-manifest-discrepancy .delta-box,
  .pulsar-manifest-discrepancy .alert-icon,
  .pulsar-manifest-discrepancy .actual-bar {
    animation: none;
    transform: none;
    opacity: 1;
    stroke-dashoffset: 0;
  }
}

From this family15 in Manifest

See the family