Add API Server (Go/PocketBase), Web App (Go BFF + Vue), Fly App (Flutter/DJI MSDK), Adobe Plugin, and Docker/Docker AIO deployment configs. Design assets and build artifacts are gitignored. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
77 lines
2.7 KiB
JavaScript
77 lines
2.7 KiB
JavaScript
/**
|
|
* PilotVault design system — Tailwind mapping.
|
|
* Colors resolve to CSS variables from src/design/tokens.css so utilities
|
|
* follow the active theme (light default, [data-theme="dark"] to flip).
|
|
*/
|
|
export default {
|
|
content: ['./index.html', './src/**/*.{vue,js}'],
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
// App/chrome surfaces (numeric scale kept for minimal churn)
|
|
surface: {
|
|
0: 'var(--bg-app)', // app ground
|
|
1: 'var(--surface)', // chrome: header / sidebar / cards
|
|
2: 'var(--surface-2)', // inset tiles / inputs
|
|
DEFAULT: 'var(--surface)',
|
|
},
|
|
// Text tones
|
|
ink: {
|
|
DEFAULT: 'var(--text-primary)',
|
|
secondary: 'var(--text-secondary)',
|
|
muted: 'var(--text-tertiary)',
|
|
},
|
|
// Hairline borders
|
|
line: {
|
|
DEFAULT: 'var(--border)',
|
|
strong: 'var(--border-strong)',
|
|
},
|
|
// Single accent — Signal Blue
|
|
accent: {
|
|
DEFAULT: 'var(--accent)',
|
|
hover: 'var(--accent-hover)',
|
|
soft: 'var(--accent-soft)',
|
|
'soft-fg': 'var(--accent-soft-fg)',
|
|
},
|
|
// Status hues (aliases preserve existing class names)
|
|
ready: 'var(--success)', // green
|
|
caution: 'var(--warning)', // amber
|
|
warning: 'var(--danger)', // red
|
|
success: { DEFAULT: 'var(--success)', soft: 'var(--success-soft)', fg: 'var(--success-fg)' },
|
|
amber: { DEFAULT: 'var(--warning)', soft: 'var(--warning-soft)', fg: 'var(--warning-fg)' },
|
|
danger: { DEFAULT: 'var(--danger)', soft: 'var(--danger-soft)', fg: 'var(--danger-fg)' },
|
|
},
|
|
fontFamily: {
|
|
sans: ['"Space Grotesk"', 'ui-sans-serif', 'system-ui', '-apple-system', '"Segoe UI"', 'sans-serif'],
|
|
mono: ['"Space Mono"', 'ui-monospace', '"SF Mono"', '"JetBrains Mono"', 'monospace'],
|
|
},
|
|
fontSize: {
|
|
// Big mono telemetry readouts + section titles
|
|
telemetry: ['30px', { lineHeight: '1', fontWeight: '500' }],
|
|
mode: ['18px', { lineHeight: '1.2', fontWeight: '600', letterSpacing: '-0.02em' }],
|
|
},
|
|
letterSpacing: {
|
|
caps: '0.14em', // mono eyebrow labels
|
|
tightest: '-0.02em',
|
|
},
|
|
borderRadius: {
|
|
DEFAULT: '10px', // controls (radius-md)
|
|
sm: '6px',
|
|
lg: '14px', // cards (radius-lg)
|
|
xl: '20px', // large surfaces (radius-xl)
|
|
},
|
|
boxShadow: {
|
|
xs: 'var(--shadow-xs)',
|
|
sm: 'var(--shadow-sm)',
|
|
md: 'var(--shadow-md)',
|
|
lg: 'var(--shadow-lg)',
|
|
},
|
|
transitionTimingFunction: {
|
|
out: 'var(--ease-out)',
|
|
standard: 'var(--ease-standard)',
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
}
|