See It Work
See It Work

XMPro Design System

Living component reference for the Astro site. Every xm-* class, every Astro component, fonts, colors, and interactive elements — all in one place.

1. Brand Colors & Tokens

Primary
#003952
--xm-primary
Secondary
#009fde
--xm-secondary
Success
#00a698
--xm-success
Alert
#EC8629
--xm-alert
Danger
#cc3333
--xm-danger
Text
#3a3a3a
--xm-text
Surface
#F0F0F0
--xm-surface
White
#ffffff
--xm-white

2. Typography

Font: futura-pt (Jost fallback) via Typekit kit tim4txg

xm-heading-2xl

The quick brown fox jumps

xm-heading-xl

The quick brown fox jumps

xm-heading-lg

The quick brown fox jumps

xm-heading-md

The quick brown fox jumps

xm-heading-sm
The quick brown fox jumps
xm-subtitle

Subtitle text for secondary information

xm-text-lg

Large body text for introductions and featured paragraphs.

xm-text

Default body text. Used for most content across the site. Comfortable reading size.

xm-text-xs

Extra small text for captions, labels, and metadata.

3. Buttons

Light context:

Primary Button Outline Button

Dark context:

Primary on Dark Outline on Dark

4. Status Dots

Online (pulse) Active Warning Danger

5. Panel Component

Astro component: <Panel> — frosted glass card with header, status, and dot.

System Status ONLINE

Equipment monitoring active. All sensors reporting within normal parameters.

Alert Queue 3 PENDING

Three recommendations awaiting operator review.

Maintenance SCHEDULED

Next planned maintenance window: 48 hours.

6. Grid System

xm-grid-2, xm-grid-3, xm-grid-4 — responsive auto-collapse

xm-grid-4

1
2
3
4

xm-grid-3

1
2
3

xm-grid-2

1
2

7. HAS Row Component

Astro component: <HASRow> — Human Agency Scale progression.

HUMAN AGENCY SCALE GOVERNED
HAS-01

Monitoring

Agents observe and alert. Humans decide and act.

READ-ONLY
HAS-02

Advisory

Agents diagnose and recommend. Humans approve.

RECOMMEND
HAS-03

Assisted Action

Agents initiate routine actions within boundaries.

BOUNDED-WRITE
HAS-04

Supervised Autonomy

Agents handle full workflows. Humans monitor exceptions.

SUPERVISED
HAS-05

Full Autonomous

Agent networks coordinate autonomously. Humans set governance.

FULL-AUTONOMY

8. Stat Card Component

Astro component: <StatCard> — animated metric display.

Validated Value

0

Across production deployments

OT/IT Connectors

0

Pre-built integrations

Days Autonomous

0

Continuous MAGS operation

Tier 1 Operators

0

Global mining & energy

9. Ticker

Operational scrolling status bar. Visible in BaseLayout when showTicker=true. See top of any page using BaseLayout.

SYSTEM: OPERATIONAL CONNECTORS: 150+ AUTONOMOUS: 15+ DAYS GOVERNANCE: ENFORCED SYSTEM: OPERATIONAL CONNECTORS: 150+ AUTONOMOUS: 15+ DAYS GOVERNANCE: ENFORCED

10. Check Lists

PROBLEM STATE FRAGMENTED
No unified operational intelligence
Expertise locked in people's heads
AI that recommends but never acts
SOLUTION STATE GOVERNED
Real-time data from 150+ OT/IT connectors
Governed autonomous execution
Full audit trail on every decision

11. Divider

12. Color Modifiers

xm-text-primary — #003952

xm-text-secondary — #009fde

xm-text-muted — #919191

xm-text-white — on dark background

13. Subtitles & Labels

xm-subtitle

Standard subtitle text

xm-subtitle xm-subtitle--bar

Subtitle with accent bar

Primary Label Secondary Label Success Label Alert Label Danger Label

14. Metric Cards

Accent-colored metric displays with animated counters. xm-metric with accent modifiers.

FACILITIES

0

Globally deployed

CONNECTORS

0

OT/IT integrations

UPTIME

0

System availability

WARNINGS

3

Pending review

15. Highlight Cards

Info Highlight

Used for informational callouts and feature explanations.

Warning Highlight

Used for caution notices and important considerations.

Success Highlight

Used for positive outcomes and completed actions.

Danger Highlight

Used for critical alerts and required actions.

16. Section Headers

Primary Bar
Secondary Bar
Success Bar
Alert Bar

17. Video Wrapper

18. Background Utilities

xm-bg-light — #f5f5f5
xm-bg-industrial — #F0F0F0
xm-bg-dark — #003952

19. Dark Context (Panels)

xm-bg-dark

Full-width dark background section. Panels auto-switch to frosted glass in dark context via the .dark parent class.

Agent Status ACTIVE

Panels adapt to dark context automatically.

Metrics LIVE

Glass surface with frosted blur on dark backgrounds.

Governance ENFORCED

All decisions audited and traceable.

20. GSAP Scroll Animations

Add xm-animate with data-animate attribute. Stagger groups use xm-stagger-group.

STAGGER 1
STAGGER 2
STAGGER 3
STAGGER 4

Interactive Islands

JS components from public/islands/. Configured via HTML data attributes.

21. Stat Counter

22. OEE Gauge

23. Agent Card

24. KPI Cards

25. Alert Panel

26. Timeline

27. Sparklines

Good: Caution: Critical:

28. AD Gauge

29. Progress Ring

30. Platform Architecture

Click any layer to expand. Interactive layered architecture diagram.

31. Sensor Telemetry

Live streaming sensor data with pause/resume. React + Recharts.

32. Decision Donut


33. Header Component

Astro component: <Header> — full mega menu navigation matching production xmpro.com.

Variants: light (default), dark, transparent

5 mega menu items: Platform, AI, Solutions, About, Resources. Search dropdown, Demo Hub + Contact Us CTAs, mobile hamburger menu. Currently rendered live at top of this page.

34. Footer Component

Astro component: <Footer> — full site footer matching production xmpro.com.

4-column layout (Platform, Resources, Company, Newsletter), certification badges (ISO 27001, NIST 800-171, NIST 800-82), copyright bar with social icons. Currently rendered live at bottom of this page.

35. Interactive Frameworks (React)

All frameworks are installed and available via React integration. Use Astro's client:visible, client:load, or client:idle directives for hydration control.

Three.js + R3F

3D scenes, particle fields, rotating data meshes, globe visualizations

three, @react-three/fiber, @react-three/drei

D3.js

Force graphs, sankey diagrams, treemaps, data-driven visualizations

d3, @types/d3

Framer Motion

Layout animations, gestures, shared transitions, spring physics

framer-motion

GSAP + ScrollTrigger

Scroll-driven animations, parallax, pinned sequences, timeline control

gsap (includes ScrollTrigger plugin)

Rive

State-based interactive animations, agent state machines, micro-interactions

@rive-app/react-canvas

Apache ECharts

Rich charts, dashboards with tooltips, zoom, drill-down capability

echarts

Motion One

Lightweight Web Animations API wrapper (3KB), micro-interactions

motion

Spline

Visually designed 3D scenes, interactive embeds, no-code 3D

@splinetool/react-spline, @splinetool/runtime

Hydration Directives

DirectiveWhen JS LoadsUse For
client:loadImmediately on page loadAbove-fold interactive elements, critical animations
client:idleAfter page becomes idleNon-critical interactivity, analytics, background features
client:visibleWhen scrolled into viewportCharts, gauges, 3D scenes below the fold
client:media="(min-width:768px)"When media query matchesDesktop-only interactive elements

Usage Pattern

// components/NetworkGraph.tsx (React component)
import { useEffect, useRef } from 'react';
import * as d3 from 'd3';
export default function NetworkGraph({ data }) { ... }

// pages/platform.astro (Astro page)
import NetworkGraph from '../components/NetworkGraph';
<NetworkGraph client:visible data={agentData} />

36. Component Inventory

Component Type File Status
HeaderAstrocomponents/Header.astro Ready
FooterAstrocomponents/Footer.astro Ready
PanelAstrocomponents/Panel.astro Ready
HASRowAstrocomponents/HASRow.astro Ready
StatCardAstrocomponents/StatCard.astro Ready
VideoSectionAstrocomponents/VideoSection.astro Ready
TickerCSSxm-ticker class Ready
Check ListCSSxm-check-item class Ready
GSAP AnimationsJS Islandislands/xm-gsap-core.js Ready
Stat CounterJS Islandislands/xm-stat-counter.js Ready
Platform ArchitectureJS Islandislands/xm-platform-architecture.js Available
OEE GaugeJS Islandislands/xm-oee-gauge.js Available
Agent CardJS Islandislands/xm-ad-agent-card.js Available
Alert PanelJS Islandislands/xm-ad-alert-panel.js Available
TimelineJS Islandislands/xm-ad-timeline.js Available
Sensor TelemetryJS Islandislands/xm-sensor-telemetry.js Available
Decision DonutJS Islandislands/xm-decision-donut.js Available

Abstract Backgrounds (R3F)

Reusable WebGL background layers for sections. All use React Three Fiber + Three.js, respect prefers-reduced-motion, auto-pause when off-viewport, and are transparent (drop onto any section). Import from components/react/backgrounds/.

FlowLines

fibre-optic / pipeline / "data in motion"

Organic curved lines sweeping across the canvas — each a two-wave superposition with randomised phase/amplitude/speed.

<FlowLines client:visible count=14 color="#009fde" />

Props: count, color, accentColor, speed, opacity, spread, width

NoiseTerrain

sonar / seismic / sensor telemetry / HUD topology

Tessellated 3D plane with multi-octave sine displacement. Wireframe rendering gives it a HUD topology feel.

<NoiseTerrain client:visible color="#009fde" />

Props: color, resolution, amplitude, scale, speed, opacity, size, tilt

CircuitPulse

PCB / control system / real-time signal flow

Faint grid of traces with bright data pulses travelling along them. Each pulse respawns on a new edge on completion.

<CircuitPulse client:visible color="#ffffff" pulseColor="#00a698" />

Props: color, pulseColor, pulseCount, spacing, extent, speed, opacity, traceOpacity

When to use which: FlowLines for sections about data, integration, streams, orchestration. NoiseTerrain for intelligence/cognition/analysis moments (best on dark hero). CircuitPulse for platform/architecture/tech-heavy sections.

37. Icons

Curated icon catalogue — iOS 17 Outlined style (Icons8), inlined as SVG via the <Icon /> Astro component. Color inherits from currentColor so icons automatically flip with the theme: #003952 on light, #e2e8f0 on dark. Size scales with font-size by default (1em × 1em), or override with size={24}.

Usage import Icon from '../components/Icon.astro'; <Icon name="check" /> <Icon name="alert" class="xm-icon--alert" size={24} title="Warning" />

Always pass title when the icon conveys standalone meaning (accessibility). Decorative icons alongside text can omit it — they default to aria-hidden.

Color modifiers

defaultxm-icon
secondaryxm-icon--secondary
successxm-icon--success
alertxm-icon--alert
dangerxm-icon--danger
mutedxm-icon--muted

Sizes

16
20
24
32
48
64

Inline with text

Sensors stream telemetry to the brain , which drives decisions and dispatches actions . Icons inherit text color and size automatically.

Catalogue

Status State, readiness, time. Use semantic colors (xm-icon--success etc.) for meaning; default primary otherwise.
check
alert
info
close
clock
pause
Action Navigation, controls, user interactions.
arrow-right
chevron-right
external-link
download
settings
menu
Industry Industrial operations — factories, machinery, gauges, sensors, gas & oil.
factory
robot
gauge
sensor
oil-rig
oil-pump
Data Data operations, analysis, visualization.
chart
analytics
database
dashboard
filter
search
AI & Agents Autonomous reasoning, agent behavior, process orchestration.
brain
ai
processor
bot
ai-chat
workflow
Adding a new icon

Pull from Icons8 MCP (platform ios7 — iOS 17 Outlined), add fill="currentColor" to the <svg> tag, save to astro/src/assets/icons/outline/<name>.svg. Icon.astro auto-discovers via import.meta.glob — no registration needed.

Rule of thumb: stay within iOS Outlined unless the catalogue genuinely lacks the metaphor. A mixed-style library is the most common design-system failure mode.