|
|
|
|
<script lang="ts">
|
|
|
|
|
// Índice de temas. Página plana (sin runtime Eidos) que enlaza a cada
|
Grafito theme: rename from untitled-ui + 32-scale palette + Color 3-group
- Rename theme untitled-ui -> Grafito: route /temas/grafito, theme ids
grafito-light/dark, grafitoConfig, brand/hero/footer/index.
- Palette: Grafito now carries the full 32-scale library (spreads the
framework's 31 Radix scales + brand carbon, overriding the brand-tuned
gray/violet/blue + intents). Each directly usable as --scale-{name}-{step}.
- Roles: hierarchy explicit (primary->carbon, secondary->violet,
tertiary->blue); the 6 intents auto-derive from the palette by convention
(step 9). THEME_SCALES derived from palette keys, labelled by COLOR NAME.
- Demo Color section -> 3 groups (Paleta / Roles jerarquia / Intents
auto-derivados) + scaling control in the topbar.
Verified in browser: 32 distinct scales emitted, intents auto-derive
(affirm=teal, risk=amber, loss=plum), no validation error.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4 months ago
|
|
|
// tema. El primero es Grafito.
|
|
|
|
|
const themes = [
|
|
|
|
|
{
|
Grafito theme: rename from untitled-ui + 32-scale palette + Color 3-group
- Rename theme untitled-ui -> Grafito: route /temas/grafito, theme ids
grafito-light/dark, grafitoConfig, brand/hero/footer/index.
- Palette: Grafito now carries the full 32-scale library (spreads the
framework's 31 Radix scales + brand carbon, overriding the brand-tuned
gray/violet/blue + intents). Each directly usable as --scale-{name}-{step}.
- Roles: hierarchy explicit (primary->carbon, secondary->violet,
tertiary->blue); the 6 intents auto-derive from the palette by convention
(step 9). THEME_SCALES derived from palette keys, labelled by COLOR NAME.
- Demo Color section -> 3 groups (Paleta / Roles jerarquia / Intents
auto-derivados) + scaling control in the topbar.
Verified in browser: 32 distinct scales emitted, intents auto-derive
(affirm=teal, risk=amber, loss=plum), no validation error.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4 months ago
|
|
|
slug: 'grafito',
|
|
|
|
|
name: 'Grafito',
|
|
|
|
|
desc: 'Carbón monocromo · Inter · paleta derivada de Untitled UI (31 escalas) · intents auto-derivados',
|
|
|
|
|
accent: '#1f2024'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<svelte:head>
|
|
|
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
|
|
|
<link
|
|
|
|
|
rel="stylesheet"
|
|
|
|
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
|
|
|
|
|
/>
|
|
|
|
|
</svelte:head>
|
|
|
|
|
|
|
|
|
|
<main class="temas-index">
|
|
|
|
|
<header>
|
|
|
|
|
<h1>Temas</h1>
|
|
|
|
|
<p>Galería de temas para activeUIX. Cada uno retinta los 9 roles canónicos de Eidos.</p>
|
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
|
{#each themes as t}
|
|
|
|
|
<li>
|
|
|
|
|
<a href="/temas/{t.slug}">
|
|
|
|
|
<span class="swatch" style="background: {t.accent}"></span>
|
|
|
|
|
<span class="meta">
|
|
|
|
|
<strong>{t.name}</strong>
|
|
|
|
|
<small>{t.desc}</small>
|
|
|
|
|
</span>
|
|
|
|
|
<span class="go" aria-hidden="true">→</span>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
{/each}
|
|
|
|
|
</ul>
|
|
|
|
|
</main>
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
.temas-index {
|
|
|
|
|
min-height: 100dvh;
|
|
|
|
|
max-width: 720px;
|
|
|
|
|
margin-inline: auto;
|
|
|
|
|
padding: 80px 24px;
|
|
|
|
|
font-family: 'Inter', system-ui, sans-serif;
|
|
|
|
|
color: #101828;
|
|
|
|
|
background: #f9fafb;
|
|
|
|
|
}
|
|
|
|
|
:global(html) {
|
|
|
|
|
background: #f9fafb;
|
|
|
|
|
}
|
|
|
|
|
header h1 {
|
|
|
|
|
margin: 0 0 8px;
|
|
|
|
|
font-size: 40px;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
letter-spacing: -0.03em;
|
|
|
|
|
}
|
|
|
|
|
header p {
|
|
|
|
|
margin: 0 0 40px;
|
|
|
|
|
color: #475467;
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
}
|
|
|
|
|
ul {
|
|
|
|
|
list-style: none;
|
|
|
|
|
margin: 0;
|
|
|
|
|
padding: 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 12px;
|
|
|
|
|
}
|
|
|
|
|
a {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 16px;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
border-radius: 12px;
|
|
|
|
|
background: #fff;
|
|
|
|
|
border: 1px solid #eaecf0;
|
|
|
|
|
box-shadow: 0 1px 2px rgb(16 24 40 / 0.05);
|
|
|
|
|
text-decoration: none;
|
|
|
|
|
color: inherit;
|
|
|
|
|
transition: box-shadow 160ms, transform 160ms, border-color 160ms;
|
|
|
|
|
}
|
|
|
|
|
a:hover {
|
|
|
|
|
box-shadow: 0 4px 8px -2px rgb(16 24 40 / 0.1), 0 2px 4px -2px rgb(16 24 40 / 0.06);
|
|
|
|
|
border-color: #d0d5dd;
|
|
|
|
|
transform: translateY(-1px);
|
|
|
|
|
}
|
|
|
|
|
.swatch {
|
|
|
|
|
inline-size: 44px;
|
|
|
|
|
block-size: 44px;
|
|
|
|
|
border-radius: 10px;
|
|
|
|
|
flex: none;
|
|
|
|
|
box-shadow: inset 0 0 0 1px rgb(16 24 40 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
.meta {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 2px;
|
|
|
|
|
flex: 1;
|
|
|
|
|
}
|
|
|
|
|
.meta strong {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
.meta small {
|
|
|
|
|
color: #667085;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
}
|
|
|
|
|
.go {
|
|
|
|
|
color: #7f56d9;
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
}
|
|
|
|
|
</style>
|