Suspension
CSSA diagonal bar strikes through a tenant name badge, causing the surrounding network lines to stop pulsing and fade.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4 s, loops
- Categories
- Icons and micro-interactions
- Use cases
- Errors and warnings, Notifications
- Industries
- SaaS and software, Security and identity
- Style
- Minimal line · light stroke
- Set
- tenant
- Tags
- linegeometricminimaluiwipe
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" aria-hidden="true" class="pulsar pulsar-tenant-suspension" data-pulsar="tenant-suspension" viewBox="0 0 160 96"><g class="tenant-suspension-badge"><rect width="68" height="44" x="46" y="26" stroke="currentColor" stroke-width="1.8" opacity=".6" rx="4"></rect><line x1="56" x2="104" y1="40" y2="40" stroke="currentColor" stroke-width="1.5" opacity=".4"></line><line x1="56" x2="88" y1="52" y2="52" stroke="currentColor" stroke-width="1.5" opacity=".4"></line></g><line x1="40" x2="120" y1="20" y2="76" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="2.5" class="tenant-suspension-slash"></line></svg>
animation.css
.pulsar-tenant-suspension {
display: block;
overflow: visible;
}
.pulsar-tenant-suspension .tenant-suspension-slash {
stroke-dasharray: 105;
stroke-dashoffset: 105;
animation: tenant-suspension-slash-anim 4000ms cubic-bezier(0.2, 1, 0.3, 1) infinite;
}
.pulsar-tenant-suspension .tenant-suspension-badge {
animation: tenant-suspension-badge-anim 4000ms ease infinite;
}
@keyframes tenant-suspension-slash-anim {
0%,
15% {
stroke-dashoffset: 105;
opacity: 0;
}
25% {
opacity: 1;
}
48%,
80% {
stroke-dashoffset: 0;
opacity: 1;
}
92%,
100% {
stroke-dashoffset: -105;
opacity: 0;
}
}
@keyframes tenant-suspension-badge-anim {
0%,
25% {
opacity: 0.8;
}
45%,
80% {
opacity: 0.3;
}
92%,
100% {
opacity: 0.8;
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-tenant-suspension * {
animation: none !important;
}
}