Resolver
CSSPulling an outlier record back into the verified data set.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4.8 s, loops
- Categories
- Loaders and spinners
- Use cases
- Loading and waiting, Errors and warnings
- Industries
- Finance and fintech, Cross-industry
- Style
- Minimal line · light stroke
- Set
- reconcile
- Tags
- loopminimaldots
Companion assets
The same artwork, not animated. Derived from the entry’s own resting state, so it matches exactly.
Code
animation.svg
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="pulsar pulsar-reconcile-discrepancy" data-pulsar="reconcile-discrepancy" viewBox="0 0 120 40"><line id="reconcile-discrepancy-line" x1="44" x2="44" y1="20" y2="20" fill="none" stroke="currentColor" stroke-dasharray="4 4" stroke-width="2"></line><g id="reconcile-discrepancy-group"><circle id="reconcile-discrepancy-c1" cx="40" cy="16" r="2" fill="none" stroke="currentColor" stroke-width="2"></circle><circle id="reconcile-discrepancy-c2" cx="40" cy="24" r="2" fill="none" stroke="currentColor" stroke-width="2"></circle><circle id="reconcile-discrepancy-c3" cx="36" cy="20" r="2" fill="none" stroke="currentColor" stroke-width="2"></circle><circle id="reconcile-discrepancy-c4" cx="44" cy="20" r="2" fill="none" stroke="currentColor" stroke-width="2"></circle><circle id="reconcile-discrepancy-outlier" cx="90" cy="20" r="2" fill="none" stroke="currentColor" stroke-width="2"></circle></g></svg>
animation.css
.pulsar-reconcile-discrepancy #reconcile-discrepancy-line {
animation: reconcile-discrepancy-line 4800ms linear infinite;
transform-origin: 44px 20px;
transform-box: view-box;
}
.pulsar-reconcile-discrepancy #reconcile-discrepancy-outlier {
animation: reconcile-discrepancy-outlier 4800ms cubic-bezier(0.45, 0, 0.55, 1) infinite;
}
.pulsar-reconcile-discrepancy #reconcile-discrepancy-group {
animation: reconcile-discrepancy-group 4800ms ease-in-out infinite;
transform-origin: 40px 20px;
transform-box: view-box;
}
@keyframes reconcile-discrepancy-line {
0% {
transform: scaleX(0);
opacity: 0;
}
5% {
opacity: 1;
}
20% {
transform: scaleX(1);
opacity: 1;
}
25% {
opacity: 1;
}
60% {
transform: scaleX(0);
opacity: 0;
}
100% {
transform: scaleX(0);
opacity: 0;
}
}
@keyframes reconcile-discrepancy-outlier {
0%,
20% {
transform: translateX(0);
}
60%,
95% {
transform: translateX(-50px);
}
100% {
transform: translateX(0);
}
}
@keyframes reconcile-discrepancy-group {
0%,
60% {
transform: translateX(0);
opacity: 1;
}
70% {
transform: translateX(-2px);
}
80% {
transform: translateX(0);
opacity: 1;
}
87.5% {
opacity: 0.4;
}
95%,
100% {
opacity: 1;
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-reconcile-discrepancy #reconcile-discrepancy-line {
animation: none;
opacity: 0;
}
.pulsar-reconcile-discrepancy #reconcile-discrepancy-outlier {
animation: none;
transform: translateX(-50px);
}
.pulsar-reconcile-discrepancy #reconcile-discrepancy-group {
animation: none;
transform: none;
opacity: 1;
}
}