// foundation.jsx — design system foundation artboards (colors, type, atoms) // Refactored to Tailwind utilities (tokens map to CSS vars in styles.css). function ColorSwatches() { const groups = [ {title: 'Brand', colors: [ {name: 'Orange / Primary', value: '#F18E00', token: '--brand-orange', text: 'white'}, {name: 'Orange / Dark', value: '#C57400', token: '--brand-orange-dark', text: 'white'}, {name: 'Orange / Soft', value: '#FFA033', token: '--brand-orange-soft', text: 'var(--gray-900)'}, {name: 'Orange / Tint', value: '#FFF1DE', token: '--brand-orange-tint', text: 'var(--gray-900)'}, {name: 'Signature', value: '#FF5D29', token: '--brand-orange-signature', text: 'white'}, ]}, {title: 'Neutrals · Tailwind gray', colors: [ {name: 'Gray 900', value: '#111827', token: 'gray-900', text: 'white'}, {name: 'Gray 800', value: '#1F2937', token: 'gray-800', text: 'white'}, {name: 'Gray 700', value: '#374151', token: 'gray-700', text: 'white'}, {name: 'Gray 600', value: '#4B5563', token: 'gray-600', text: 'white'}, {name: 'Gray 500', value: '#6B7280', token: 'gray-500', text: 'white'}, {name: 'Gray 400', value: '#9CA3AF', token: 'gray-400', text: 'var(--gray-900)'}, {name: 'Gray 300', value: '#D1D5DB', token: 'gray-300', text: 'var(--gray-900)'}, {name: 'Gray 200', value: '#E5E7EB', token: 'gray-200', text: 'var(--gray-900)'}, {name: 'Gray 100', value: '#F3F4F6', token: 'gray-100', text: 'var(--gray-900)'}, {name: 'White', value: '#FFFFFF', token: '--surface', text: 'var(--gray-900)'}, ]}, {title: 'Semantic · Tailwind', colors: [ {name: 'Success', value: '#16A34A', token: 'green-600', text: 'white'}, {name: 'Info', value: '#2563EB', token: 'blue-600', text: 'white'}, {name: 'Warning', value: '#D97706', token: 'amber-600', text: 'white'}, {name: 'Danger', value: '#DC2626', token: 'red-600', text: 'white'}, ]}, ]; return (

Color palette

{groups.map(g => (
{g.title}
{g.colors.map(c => (
{c.name}
{c.value} {c.token}
))}
))}
); } function TypeSpecimen() { const weights = [ {w: 300, name: 'Light'}, {w: 400, name: 'Regular'}, {w: 500, name: 'Medium'}, {w: 600, name: 'Demi'}, {w: 700, name: 'Bold'}, {w: 800, name: 'ExtraBold'}, ]; return (

Typography

Typeface · Corporate S Pro
Unterwegs mit
Auto AG Uri
Weights — Light → ExtraBold
{weights.map(wt => (
Bewegt im Kanton Uri {wt.name} · {wt.w}
))}
Italics
Body — Regular (400)
); } function Spec({label, size, weight, text, display, style = {}}) { return (
{label}
{text}
); } function ButtonsAndBadges() { return (

Buttons

Buttons
Links
Alle News Mehr erfahren Weiterlesen
); } function LogoArtboard() { return (

Logo lockup

logo-nav.svg · header
logo-nav-invert.svg · footer
Die drei Bedeutungen
    {[ {n: '1', t: 'Hin und Zurück', d: 'Fahrgäste in alle Richtungen — von Altdorf nach Flüelen, Göschenen, Seedorf, Bürglen, Linthal, Andermatt …'}, {n: '2', t: 'Streckennetz', d: 'Vielseitig — geradlinig und kurvig, durch Täler und über Pässe.'}, {n: '3', t: 'Bewegt', d: 'Die AUTO AG URI bewegt Fahrgäste — das Tagline-Wort BEWEGT bleibt Teil des Lockups.'}, ].map(it => (
  1. {it.n} · {it.t}

    {it.d}

  2. ))}
); } function LineColors() { const lines = [ {nr: '401', color: 'var(--line-401)', name: 'Flüelen – Göschenen', label: 'rot'}, {nr: '402', color: 'var(--line-402)', name: 'Attinghausen – Bürglen', label: 'dunkelblau'}, {nr: '403', color: 'var(--line-403)', name: 'Seedorf – Bürglen', label: 'hellgrün'}, {nr: '405', color: 'var(--line-405)', name: 'Schattdorf – Isenthal', label: 'dunkellila'}, {nr: '407', color: 'var(--line-407)', name: 'Amsteg – Bristen', label: 'violett'}, {nr: '408', color: 'var(--line-408)', name: 'Attinghausen – Linthal', label: 'hellblau'}, {nr: '411', color: 'var(--line-411)', name: 'Göschenen – Göscheneralp', label: 'Meeresgrün'}, {nr: '412', color: 'var(--line-412)', name: 'Altdorf – Amsteg', label: 'orange'}, {nr: '413', color: 'var(--line-413)', name: 'Flüelen – Altdorf', label: 'magenta'}, {nr: '493', color: 'var(--line-493)', name: 'Altdorf – Luzern (Tellbus)', label: 'schwarz'}, {nr: 'PA', color: 'var(--line-postauto)', name: 'PostAuto-Linien', label: 'gelb', ink: 'var(--gray-900)'}, ]; return (

Linienfarben

Jede Buslinie der AUTO AG URI besitzt eine offizielle Linienfarbe gemäss CD Mai 2024. Sie wird im Liniennetzplan, in der App und auf der Webseite konsistent verwendet.

{lines.map(l => (
{l.nr}
{l.name}
{l.label}
))}
); } Object.assign(window, { ColorSwatches, TypeSpecimen, ButtonsAndBadges, LogoArtboard, LineColors });