Customs Clearance
CSSA manifest data readout table is scanned by a vertical inspection line that turns pending line items into cleared check status.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4 s, loops
- Categories
- Data and progress
- Use cases
- Success and confirmation, Workflow and approvals
- Industries
- Logistics and supply chain
- Style
- Data mark · light stroke
- Set
- manifest
- Tags
- lineprogressminimal
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" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="pulsar pulsar-manifest-clearance" data-pulsar="manifest-clearance" viewBox="0 0 160 96"><rect width="88" height="52" x="36" y="22" stroke-width="1.5" opacity=".35" rx="3"></rect><line x1="46" x2="88" y1="34" y2="34" stroke-width="1.5" opacity=".5"></line><line x1="46" x2="96" y1="48" y2="48" stroke-width="1.5" opacity=".5"></line><line x1="46" x2="80" y1="62" y2="62" stroke-width="1.5" opacity=".5"></line><circle cx="110" cy="34" r="3" fill="var(--pulsar-accent, currentColor)" class="status-pip s1" opacity=".3"></circle><path stroke="var(--pulsar-accent, currentColor)" stroke-width="2" d="m107 48 2 2 4-4" class="check-mark"></path><line x1="32" x2="128" y1="28" y2="28" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" class="scanner" opacity=".8"></line></svg>
animation.css
.pulsar-manifest-clearance {
display: block;
overflow: visible;
}
.pulsar-manifest-clearance .scanner {
animation: manifest-clearance-scan 4000ms ease-in-out infinite;
}
.pulsar-manifest-clearance .status-pip.s1 {
animation: manifest-clearance-pip 4000ms ease-in-out infinite;
}
.pulsar-manifest-clearance .check-mark {
animation: manifest-clearance-check 4000ms ease-in-out infinite;
}
@keyframes manifest-clearance-scan {
0% {
transform: translateY(0);
opacity: 0;
}
15% {
opacity: 0.9;
}
75% {
transform: translateY(40px);
opacity: 0.9;
}
85%,
100% {
transform: translateY(40px);
opacity: 0;
}
}
@keyframes manifest-clearance-pip {
0%,
25% {
opacity: 0.3;
}
35%,
85% {
opacity: 1;
}
95%,
100% {
opacity: 0.3;
}
}
@keyframes manifest-clearance-check {
0%,
45% {
opacity: 0;
transform: scale(0.6);
}
55%,
85% {
opacity: 1;
transform: scale(1);
}
95%,
100% {
opacity: 0;
transform: scale(0.6);
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-manifest-clearance .scanner,
.pulsar-manifest-clearance .status-pip.s1,
.pulsar-manifest-clearance .check-mark {
animation: none;
transform: none;
opacity: 1;
stroke-dashoffset: 0;
}
}