Skip to main content

Connecting…

Portal

Wolf Cloud / Style System / v2.4.0

The interface layer for calm infrastructure.

A living atlas of the Wolf Cloud design system: tokens, components, iconography, and the small behaviors that make a technical product feel considered. New in 2.4.0: a full set of maps-navigation primitives — map shell, floating controls, search, markers, an info window, directions, and a mobile bottom sheet.

Dark by defaultLight theme includedNo dependenciesAGPL-3.0-or-later
01 / Foundations

Tokens that carry the atmosphere.

The palette, surfaces, type, dimensions, and motion values are all exposed as CSS custom properties. Toggle the theme in the header to see the same system move from midnight glass to a pale interface.

Core surfaces

--ink
--ink-2
--surface
--surface-2
--surface-3
--line
--line-hi
--line-strong

Brand + status

--brand
--brand-2
--brand-soft
--brand-pale
--ok
--deg
--err
--info

Type + layout

--font-sansIBM Plex Sans
--font-monoIBM Plex Mono
--page-width820px
--gutter20px → 64px
--radius-sm → pill6px → 999px
--dur-fast → slow150ms → 450ms
--blur-card20px
--grid-size48px
02 / Voice

Technical, warm, and easy to scan.

Typography utilities pair a quiet sans-serif body with a precise mono voice for labels, controls, and system metadata.

wc-eyebrowA small signal before the thought
wc-titleBuilt for the long night.
wc-leadA lead is lighter and wider, giving the headline room to breathe before the work begins.
wc-monoSTATUS / NOMINAL / 14:32:08 UTC
color utilitiesmuted · soft · subtle · gradient
03 / Components

The controls, states, and surfaces.

Small primitives stay composable: pair the base button with a modifier, choose a badge state, or reach for a plain card before a more opinionated service card.

Icon buttons / controls

The header theme switch and launcher above are the same icon-button primitive with JS attached.

Badges / status
OperationalDegradedIncidentInformationNeutral status

Badges communicate a known state; live reachability dots appear on service cards below.

Forms / inputs

Example validation message — this field needs attention.

04 / Patterns

From a single surface to a whole service map.

These patterns show how the primitives scale into the dashboard structures used across Wolf Cloud.

wc-card / wc-panel / wc-surface

The three aliases share a padded, blurred glass surface with a quiet inset highlight and soft depth.

wc-card-sm

A compact version for dense admin layouts and supporting metadata.

wc-surface-soft

A lighter surface without the heavier card shadow.

wc-stats
Uptime
99.98%
Services
12
Regions
04
Last deploy
18m
wc-section-heading / wc-service-grid
Services

Everything with a place to go.

A service card is a distinct composite: icon, title, description, host, and a live client-side reachability dot.

Checking Reachable Unreachable
wc-architecture
01Several servers, one infrastructure

A numbered feature row gives a complex system a legible sequence: infrastructure first, then the service layer that makes it useful.

02Docker per service

Each workload has a clear boundary, a small surface area, and enough metadata to know what is happening without opening another screen.

03A calm route to the edge

The same pattern works for marketing pages, admin panels, and operational overviews without losing its technical character.

05 / Video platform (new in 2.3.0)

Purpose-built for the self-hosted video platform.

Thirteen new component modules for video artwork, cards, the player shell, content rails, processing status, and admin list views — all built from the same tokens as everything above. No playback logic lives here; only the visual language around it.

wc-video-grid / wc-video-card

Compact horizontal variant (.is-compact) — used in the watch-page queue/related rail below.

wc-player — visual shell only (no playback logic)

Toggle .wc-player-state-loading / -buffering / -error from application JS as the real player (Shaka Player) reports events.

wc-rail — touch-scrollable content rail
wc-progress / wc-progress-card / wc-steps
sunset-timelapse.mp4Transcoding
64%~2 min remaining
  1. Uploading
  2. Queued
  3. Transcoding
  4. Packaging
  5. Encrypting
  6. Ready
Status system — draft → published, plus wc-dropzone
DraftProcessingReadyPrivateScheduledFailedWarningProtected
Upload complete — processing has started.
wc-tabs / wc-table — admin editor and video list
StatusDuration
Q3 product update
Ready12:34
Studio tour, unedited
Packaging31:02
Failed encode — bad source codec
Failed
wc-empty-state / wc-skeleton

Processing queue is empty

New uploads will appear here once they start transcoding.

wc-app — responsive app shell (sidebar + top bar)
Library

Unopinionated shell — labels, icons, and routes are supplied by the consuming app.

06 / Maps navigation (new in 2.4.0)

Chrome for a maps navigation app.

Seven new component modules — shell, floating controls, search, markers, an info window, a directions panel, and a mobile bottom sheet — plus two new JS behaviors. No tile rendering happens here; a map library mounts into the plain canvas surface below.

6

Union Square

4.5(2,140)

333 Post St, San Francisco, CA

Open nowCloses 9 PM

© Map data contributors
wc-directions-panel
18 min6.2 miLight traffic
  1. Head north on Market St0.4 mi
  2. Turn right onto Post St0.3 mi
wc-sheet — mobile bottom sheet (drag the handle, or click it)

Union Square

Search results, place details, or the directions panel reflow into this sheet below ~861px, replacing the fixed sidebar.

wc-directions-route-options — picked before navigation starts
wc-nav-banner — immersive turn-by-turn mode
400 ftTurn left onto Post St
Then right onto Grant Ave
07 / Behaviors

Small scripts, fully optional.

Every JavaScript module is standalone and self-guarding. This page includes all eleven so their contracts are visible and testable in context.

theme.jsHeader toggle persists dark/light mode in localStorage.
particles.jsAmbient dots fill the fixed background above.
launcher.jsOpen the header grid, then close it with Escape or an outside click.
portal-transition.jsThe Portal link uses the branded veil before leaving the page.
status-check.jsLive dots on the service cards probe from the visitor’s browser.
button-feedback.jsCheckmark + label swap on a button flagged with a server-rendered flash — see the demo card.
map-search.jsKeyboard nav + open/close for the map search results dropdown above.
bottom-sheet.jsDrag-to-resize + tap-to-cycle for the mobile bottom sheet above.
button-feedback.js

Plays a checkmark + label swap on any [data-feedback-success] button — reload the page to see it fire again.

confirm-submit.js + form-loading.js

Submitting asks for confirmation, then disables and relabels the button. No real navigation happens in this demo.

sidebar-collapse.js
Click to toggle — state persists via localStorage.
Accessibility built in

Skip link, semantic landmarks, focus-visible states, reduced-motion handling, and live status labels are all part of the demonstration.

08 / Icon library

One visual language, eighty-four small signals.

The SVG partials are designed to be inlined so surrounding text color can drive them. This gallery uses the same files as CSS masks to keep the full set visible in a compact atlas. The 26 from play through shield are the video-platform set added in 2.3.0; the last 14 (map-pin through flag) are the maps-navigation set added in 2.4.0 — same 24×24 stroke style as everything before them.

Appendix / aliases

Small compatibility details, made visible.

The system keeps a few naming aliases for different product surfaces. They resolve to the same visual language and are safe to use in existing consumers.

wc-header / wc-kickerA simple flex header row
wc-panel

Plain padded surface alias.

wc-surface

Same foundation, same tokens.

wc-page / wc-shell-section

Ready-made content wrappers, for pages that skip a custom shell like this atlas's own. wc-page centers a narrow column for docs, forms, and admin screens; wc-shell-section centers a wider column with generous vertical rhythm for marketing pages.