Slot Capacity
CSSA horizontal terminal bay bar partitioned into five segmented slots fills from left to right to display aggregate yard utilization.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4 s, loops
- Categories
- Data and progress
- Use cases
- Determinate progress, Dashboards and reporting
- Industries
- Logistics and supply chain, Cross-industry
- Style
- Technical · light stroke
- Set
- yard
- Tags
- barsprogressminimal
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-yard-slot-capacity" data-pulsar="yard-slot-capacity" viewBox="0 0 160 96"><rect width="100" height="20" x="30" y="38" stroke-width="1.5" opacity=".35" rx="3"></rect><line x1="50" x2="50" y1="38" y2="58" opacity=".25"></line><line x1="70" x2="70" y1="38" y2="58" opacity=".25"></line><line x1="90" x2="90" y1="38" y2="58" opacity=".25"></line><line x1="110" x2="110" y1="38" y2="58" opacity=".25"></line><rect width="16" height="16" x="32" y="40" fill="var(--pulsar-accent, currentColor)" class="slot s1" rx="1.5"></rect><rect width="16" height="16" x="52" y="40" fill="var(--pulsar-accent, currentColor)" class="slot s2" rx="1.5"></rect><rect width="16" height="16" x="72" y="40" fill="var(--pulsar-accent, currentColor)" class="slot s3" rx="1.5"></rect><rect width="16" height="16" x="92" y="40" fill="var(--pulsar-accent, currentColor)" class="slot s4" rx="1.5"></rect><rect width="16" height="16" x="112" y="40" stroke="var(--pulsar-accent, currentColor)" stroke-dasharray="2 2" class="slot s5" rx="1.5"></rect></svg>
animation.css
.pulsar-yard-slot-capacity {
display: block;
overflow: visible;
}
.pulsar-yard-slot-capacity .slot.s1 {
animation: yard-slot-capacity-s1 4000ms ease-in-out infinite;
}
.pulsar-yard-slot-capacity .slot.s2 {
animation: yard-slot-capacity-s2 4000ms ease-in-out infinite;
}
.pulsar-yard-slot-capacity .slot.s3 {
animation: yard-slot-capacity-s3 4000ms ease-in-out infinite;
}
.pulsar-yard-slot-capacity .slot.s4 {
animation: yard-slot-capacity-s4 4000ms ease-in-out infinite;
}
.pulsar-yard-slot-capacity .slot.s5 {
animation: yard-slot-capacity-s5 4000ms ease-in-out infinite;
}
@keyframes yard-slot-capacity-s1 {
0%,
10% {
opacity: 0.2;
}
20%,
85% {
opacity: 1;
}
95%,
100% {
opacity: 0.2;
}
}
@keyframes yard-slot-capacity-s2 {
0%,
20% {
opacity: 0.2;
}
30%,
85% {
opacity: 1;
}
95%,
100% {
opacity: 0.2;
}
}
@keyframes yard-slot-capacity-s3 {
0%,
35% {
opacity: 0.2;
}
45%,
85% {
opacity: 1;
}
95%,
100% {
opacity: 0.2;
}
}
@keyframes yard-slot-capacity-s4 {
0%,
50% {
opacity: 0.2;
}
60%,
85% {
opacity: 1;
}
95%,
100% {
opacity: 0.2;
}
}
@keyframes yard-slot-capacity-s5 {
0%,
65% {
opacity: 0.2;
}
75%,
85% {
opacity: 1;
}
95%,
100% {
opacity: 0.2;
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-yard-slot-capacity .slot.s1,
.pulsar-yard-slot-capacity .slot.s2,
.pulsar-yard-slot-capacity .slot.s3,
.pulsar-yard-slot-capacity .slot.s4,
.pulsar-yard-slot-capacity .slot.s5 {
animation: none;
transform: none;
opacity: 1;
stroke-dashoffset: 0;
}
}