Exportación e Integración del Theme Builder
Después de personalizar un tema en el Theme Builder, expórtalo en el formato que coincida con el perfil de estilo de tu proyecto.
Exportación JSON
La exportación JSON produce un ThemeDefinition versionado compatible con el esquema de @solidiom/themes. Este es el formato canónico y puede consumirse de forma programática.
Uso del JSON Exportado
{
"schemaVersion": 1,
"meta": {
"name": "Mi Tema",
"slug": "mi-tema",
"version": "1.0.0"
},
"modes": {
"light": {/* tokens */},
"dark": {/* tokens */}
}
}Guarda el archivo como theme.json y referencia en tu proyecto. El JSON puede reimportarse en el builder mediante una URL compartida (exporta JSON → codifica como payload compartido manualmente, o usa la función compartir del builder antes de editar).
Exportación CSS
La exportación CSS genera bloques :root con propiedades personalizadas --sol-* para ambos modos:
/* Theme: Mi Tema — mi-tema */
/* Generated by Solidiom Theme Builder */
:root,
:root[data-theme="light"] {
--sol-surface: #ffffff;
--sol-surface-raised: #f8fafc;
--sol-foreground: #0f172a;
/* ... */
}
:root[data-theme="dark"] {
--sol-surface: #0f172a;
--sol-surface-raised: #1e293b;
--sol-foreground: #f8fafc;
/* ... */
}Pasos de Integración
- Importa el archivo CSS en el punto de entrada de tu proyecto
- Asegúrate de que tu conmutador de tema establece
data-theme="dark"en:root - Las recetas de Solidiom hacen referencia a variables
--sol-*y usarán automáticamente tu tema
Exportación Tailwind v4
La exportación Tailwind genera un bloque @theme:
/* Theme: Mi Tema — mi-tema */
/* Generated by Solidiom Theme Builder */
@theme {
--color-surface: var(--sol-surface, #ffffff);
--color-foreground: var(--sol-foreground, #0f172a);
--radius-sm: var(--sol-radius-sm, 2px);
--shadow-md: var(--sol-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1));
/* ... */
}Pasos de Integración
- Añade el CSS exportado a tu punto de entrada de Tailwind
- Asegúrate de que Tailwind escanee el archivo (es sintaxis
@theme, así que Tailwind v4 lo detecta automáticamente) - Las recetas Tailwind de Solidiom usan referencias
var(--sol-*)y se resolverán a tu tema
Exportación UnoCSS
La exportación UnoCSS es idéntica a la exportación CSS. Usa los mismos pasos de integración que el perfil CSS.
Tokens ref()
El builder usa la notación ref() para tokens derivados. Por ejemplo, --sol-muted-foreground: ref("foreground"). Todas las exportaciones resuelven las referencias a sus valores finales computados, así que nunca necesitas manejar ref() manualmente en tu proyecto.
De URL Compartida a Proyecto
- Abre la URL compartida en el Theme Builder
- Haz clic en Export y selecciona tu formato
- Copia o descarga la salida
- Integra usando los pasos anteriores
Migración Entre Versiones
Cuando el esquema del tema evolucione, el JSON exportado de una versión anterior puede no ser directamente compatible. El builder rechaza URLs compartidas con versiones de esquema no soportadas. Para migración programática, @solidiom/themes proporciona una cadena de migración que transforma entre versiones cuando se define.
Para la especificación técnica completa del esquema y mecanismo de migración, consulta el Theme Contract.