@eduardoalvarez/arrecife 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,64 +1,101 @@
1
1
  # Changelog
2
2
 
3
- ## [0.1.1](https://github.com/Proskynete/arrecife/compare/v0.1.0...v0.1.1) (2026-08-27)
3
+ ## [0.3.0](https://github.com/Proskynete/arrecife/compare/v0.2.0...v0.3.0) (2026-08-31)
4
4
 
5
5
 
6
- ### 🐛 Correcciones
6
+ ### ⚠ BREAKING CHANGES
7
7
 
8
- * **ci:** componente vacío en release-please y configuración al mínimo ([1888bb3](https://github.com/Proskynete/arrecife/commit/1888bb3388ab58a5df7f801948f5e70135a59639))
9
- * **ci:** configuración de release-please contra el esquema oficial ([206c235](https://github.com/Proskynete/arrecife/commit/206c2358964ee55c6c2be4c5cca63284c8d10171))
10
- * **ci:** quitar el patrón de título de release-please ([c3c8796](https://github.com/Proskynete/arrecife/commit/c3c879692b7f8078cb61176cbe031c36fd27dc08))
8
+ * **tokens:** los cinco escalones de espaciado se renombran. Los valores no cambian ni un píxel.
11
9
 
12
- ## 0.1.0 (2026-08-27)
10
+ ### 🚀 Novedades
11
+
12
+ * **tokens:** el ritmo de página lleva step, para no comerse max-w-* ([1f8b79d](https://github.com/Proskynete/arrecife/commit/1f8b79d74b6e56b9c716ce2a1fdcee06042d78a0))
13
+
14
+
15
+ ### 📚 Documentación
16
+
17
+ * **agents:** cómo se sube la versión, para no editar el CHANGELOG a mano ([b6e3997](https://github.com/Proskynete/arrecife/commit/b6e3997cd8ab20e7e8e28383c1995dd449919cf8))
18
+ * del footer BREAKING CHANGE solo llega el primer párrafo ([807d891](https://github.com/Proskynete/arrecife/commit/807d891d018245a1050d135eb1688449d8ef2c2e))
19
+
20
+ ## [0.2.0](https://github.com/Proskynete/arrecife/compare/v0.1.1...v0.2.0) (2026-08-27)
13
21
 
14
22
 
15
23
  ### 🚀 Novedades
16
24
 
17
- * **brand:** catálogo de Tiburoncín, Logo, Isotipo, Mascota y galería ([c0d616b](https://github.com/Proskynete/arrecife/commit/c0d616b0478005105e2fa6df474ee20eb1b14bb8))
18
- * **ci:** comprobar la superficie publicada ([6c8e715](https://github.com/Proskynete/arrecife/commit/6c8e7154c734e8cc64f107d8ee3d3d878b77eb46))
19
- * **components:** AudioPlayer migrado desde eduardoalvarez.dev ([b4c5345](https://github.com/Proskynete/arrecife/commit/b4c53459ad17bc97674f8a9108f9abf0f982407c))
20
- * **components:** AuthorCard, Stat, TableOfContents y SidebarNav ([15c64c7](https://github.com/Proskynete/arrecife/commit/15c64c731e3da10356602799e7ea4f8bf508071f))
21
- * **components:** EmptyState, Breadcrumb, Nav, Footer, Hero y NewsletterForm ([9ef81dd](https://github.com/Proskynete/arrecife/commit/9ef81dddd0a1368313a4f596ecff52a336c75f02))
22
- * **components:** tarjetas, bloque de código, cita y cabecera de página ([6743361](https://github.com/Proskynete/arrecife/commit/6743361f349e46dbf7ab1e07942cf100c92b12fd))
23
- * **og:** las cuatro plantillas con la retícula del documento ([68b9ebd](https://github.com/Proskynete/arrecife/commit/68b9ebdead8c69b788d29e5e5ab430389b600f0e))
24
- * **primitives:** capa base sobre shadcn y Radix ([81855ee](https://github.com/Proskynete/arrecife/commit/81855eea62e36f4b07b0dc170dad577313eb35a5))
25
- * **primitives:** Code en línea, skeleton con barrido y las escalas nuevas en Text ([9f742a3](https://github.com/Proskynete/arrecife/commit/9f742a30fae68ba149dc165030dffd59d96ec68c))
26
- * **shiki:** el tema de resaltado generado desde tokens ([af5e795](https://github.com/Proskynete/arrecife/commit/af5e7956ca914376f265b80c225e24b21d8d653c))
27
- * **tokens:** escalas nuevas, controles, degradados y paleta de sintaxis ([a17a508](https://github.com/Proskynete/arrecife/commit/a17a5081d4d112516e16f6961db502f5444a294c))
28
- * **tokens:** fuente única, generador de Tailwind y guarda de pureza ([f6eb94b](https://github.com/Proskynete/arrecife/commit/f6eb94bb6ad47548fce9d5f39a47ef86130d9ae4))
25
+ * llms.txt generado desde los tipos, para agentes de IA ([ec7f38e](https://github.com/Proskynete/arrecife/commit/ec7f38e6f9e344c0bc6cda8e60666fcbd2db778f))
29
26
 
30
27
 
31
28
  ### 🐛 Correcciones
32
29
 
33
- * **a11y:** cursor-pointer en todo lo que se pulsa ([70b0784](https://github.com/Proskynete/arrecife/commit/70b07849311024874e6127e617db71c3833de2b8))
34
- * **alert:** tinte al 8%, glifos mono y la segunda receta ([b90affc](https://github.com/Proskynete/arrecife/commit/b90affc5106c802ef864056aaeeca29dd942cd23))
35
- * **audio-player:** los tamaños del documento ([4e68362](https://github.com/Proskynete/arrecife/commit/4e6836247e3e811194522fdaa99d91c8a7a231d9))
36
- * **badge:** separar categoría, estado y métrica ([1c0239a](https://github.com/Proskynete/arrecife/commit/1c0239a472f4703c0e5859db923f2b12467cf463))
37
- * **button:** cuatro variantes, tamaños del documento y fuera el de peligro ([07d209f](https://github.com/Proskynete/arrecife/commit/07d209fa5b969982b9e2a642e0d6ed8bd75af822))
38
- * **cards:** padding de 26, categoría en los tags y la superficie que no entra ([8f30fda](https://github.com/Proskynete/arrecife/commit/8f30fdad3109a836176980629204657af43a39bd))
39
- * **ci:** la primera versión es 0.1.0 y feat sube la minor ([2ed3859](https://github.com/Proskynete/arrecife/commit/2ed385956dda5485ce23ff7e65818d175bc46607))
40
- * **cn:** derivar de tokens las escalas que tailwind-merge debe conocer ([2d6c4e5](https://github.com/Proskynete/arrecife/commit/2d6c4e503346413d6d2789a768698ff0beeab836))
41
- * **storybook:** .storybook entraba al tsconfig pero no se compilaba ([2885830](https://github.com/Proskynete/arrecife/commit/2885830b2fb0982cf657903cc20da998efba7273))
42
- * **storybook:** el contenedor de docs también toma el fondo del token ([beeb434](https://github.com/Proskynete/arrecife/commit/beeb434631d49571554420c98150143811f1bd40))
43
- * **storybook:** el wrapper interno de docs, que era el que pintaba blanco ([edda8c6](https://github.com/Proskynete/arrecife/commit/edda8c65ff05d1e3ca815d52d0be4cbcad91ad1f))
44
- * **storybook:** forzar el fondo del contenedor de docs ([11fcfc7](https://github.com/Proskynete/arrecife/commit/11fcfc730f595926f04e69f171feb948b683d34a))
45
- * **storybook:** tema de docs por la API y no a base de CSS a la contra ([86f80cf](https://github.com/Proskynete/arrecife/commit/86f80cfe7e26822a96169559824691f7164634da))
46
- * **storybook:** tematizar el manager, que es lo que quedaba blanco ([d1643a9](https://github.com/Proskynete/arrecife/commit/d1643a9f3e648503a20fe9e016dcf3481d77c159))
47
- * **tsconfig:** incluir .storybook por include y no por files ([ca8a8d6](https://github.com/Proskynete/arrecife/commit/ca8a8d6e26eba6e30e4bdd4019cc6673ef197542))
30
+ * **ci:** admitir el ámbito deps-dev en el lint del título ([cdf9cd2](https://github.com/Proskynete/arrecife/commit/cdf9cd272a1bdb975f9277ed18324f5b905dedeb))
31
+ * **ci:** admitir el ámbito deps-dev y quitar configuración muerta ([42f09d3](https://github.com/Proskynete/arrecife/commit/42f09d3486149395b1cc0355077f7f0c41345047))
32
+ * **ci:** no lintear el título de los PRs automáticos ([8c2de14](https://github.com/Proskynete/arrecife/commit/8c2de148add50164ff0738474a436ee8ee84aa08))
33
+ * **llms:** quitar las rutas absolutas del disco del documento generado ([abde074](https://github.com/Proskynete/arrecife/commit/abde074fe0b345f2d7b638ec04a0b1e5c6550d5a))
48
34
 
49
35
 
50
36
  ### 📚 Documentación
51
37
 
52
- * cómo se consume, qué se decidió y por qué ([0f9654f](https://github.com/Proskynete/arrecife/commit/0f9654ff8ae25ba9d9df0a2dbb422fc8abf05e55))
53
- * incorporar al repo los documentos de identidad y las decisiones ([ca9273f](https://github.com/Proskynete/arrecife/commit/ca9273fa821d9314f54d8d821b4ee3dfeb9446df))
54
- * **readme:** cómo publicar una versión ([df9702b](https://github.com/Proskynete/arrecife/commit/df9702b71ba22879afcfe5a5e5513abe59af38eb))
55
- * **readme:** la fase 5, las subrutas nuevas y la tercera corrección de contraste ([871cee9](https://github.com/Proskynete/arrecife/commit/871cee92a8fef7ea33264b869140d45cd6f4d3b2))
38
+ * AGENTS.md para el agente que trabaja en el repo ([bf21c12](https://github.com/Proskynete/arrecife/commit/bf21c12b691900183549260a5cc539d741524fd6))
39
+ * apuntar a los dos documentos para agentes ([3d18592](https://github.com/Proskynete/arrecife/commit/3d18592bfbf4235a0f0f098556ebed22e6a318a9))
56
40
 
57
41
 
58
42
  ### 🚀 CI/CD
59
43
 
60
- * no correr CI y lint dos veces por PR ([010ca3c](https://github.com/Proskynete/arrecife/commit/010ca3c249bcbaa3558ec30ff173fb053f56b56a))
61
- * pipeline de publicación en npm y las comprobaciones de PR ([930da3d](https://github.com/Proskynete/arrecife/commit/930da3d91199eff38135e2a07456b02cd935c8a1))
62
- * release-please y publicación de confianza con OIDC ([f005b8c](https://github.com/Proskynete/arrecife/commit/f005b8c3a0dfc0c42015140f52ebe4c37e8507e5))
44
+ * **llms:** que el check diga QUÉ cambió, no solo que cambió ([e775548](https://github.com/Proskynete/arrecife/commit/e7755486da13a4b192c6559d25b3c379e3f99b43))
45
+ * verificar que llms.txt no se queda desactualizado ([78f0e6d](https://github.com/Proskynete/arrecife/commit/78f0e6dd520e56ad437ebf5c9dd85d2a716eef94))
46
+
47
+ ## [0.1.1](https://github.com/Proskynete/arrecife/compare/v0.1.0...v0.1.1) (2026-08-27)
48
+
49
+ ### 🐛 Correcciones
50
+
51
+ - **ci:** componente vacío en release-please y configuración al mínimo ([1888bb3](https://github.com/Proskynete/arrecife/commit/1888bb3388ab58a5df7f801948f5e70135a59639))
52
+ - **ci:** configuración de release-please contra el esquema oficial ([206c235](https://github.com/Proskynete/arrecife/commit/206c2358964ee55c6c2be4c5cca63284c8d10171))
53
+ - **ci:** quitar el patrón de título de release-please ([c3c8796](https://github.com/Proskynete/arrecife/commit/c3c879692b7f8078cb61176cbe031c36fd27dc08))
54
+
55
+ ## 0.1.0 (2026-08-27)
56
+
57
+ ### 🚀 Novedades
58
+
59
+ - **brand:** catálogo de Tiburoncín, Logo, Isotipo, Mascota y galería ([c0d616b](https://github.com/Proskynete/arrecife/commit/c0d616b0478005105e2fa6df474ee20eb1b14bb8))
60
+ - **ci:** comprobar la superficie publicada ([6c8e715](https://github.com/Proskynete/arrecife/commit/6c8e7154c734e8cc64f107d8ee3d3d878b77eb46))
61
+ - **components:** AudioPlayer migrado desde eduardoalvarez.dev ([b4c5345](https://github.com/Proskynete/arrecife/commit/b4c53459ad17bc97674f8a9108f9abf0f982407c))
62
+ - **components:** AuthorCard, Stat, TableOfContents y SidebarNav ([15c64c7](https://github.com/Proskynete/arrecife/commit/15c64c731e3da10356602799e7ea4f8bf508071f))
63
+ - **components:** EmptyState, Breadcrumb, Nav, Footer, Hero y NewsletterForm ([9ef81dd](https://github.com/Proskynete/arrecife/commit/9ef81dddd0a1368313a4f596ecff52a336c75f02))
64
+ - **components:** tarjetas, bloque de código, cita y cabecera de página ([6743361](https://github.com/Proskynete/arrecife/commit/6743361f349e46dbf7ab1e07942cf100c92b12fd))
65
+ - **og:** las cuatro plantillas con la retícula del documento ([68b9ebd](https://github.com/Proskynete/arrecife/commit/68b9ebdead8c69b788d29e5e5ab430389b600f0e))
66
+ - **primitives:** capa base sobre shadcn y Radix ([81855ee](https://github.com/Proskynete/arrecife/commit/81855eea62e36f4b07b0dc170dad577313eb35a5))
67
+ - **primitives:** Code en línea, skeleton con barrido y las escalas nuevas en Text ([9f742a3](https://github.com/Proskynete/arrecife/commit/9f742a30fae68ba149dc165030dffd59d96ec68c))
68
+ - **shiki:** el tema de resaltado generado desde tokens ([af5e795](https://github.com/Proskynete/arrecife/commit/af5e7956ca914376f265b80c225e24b21d8d653c))
69
+ - **tokens:** escalas nuevas, controles, degradados y paleta de sintaxis ([a17a508](https://github.com/Proskynete/arrecife/commit/a17a5081d4d112516e16f6961db502f5444a294c))
70
+ - **tokens:** fuente única, generador de Tailwind y guarda de pureza ([f6eb94b](https://github.com/Proskynete/arrecife/commit/f6eb94bb6ad47548fce9d5f39a47ef86130d9ae4))
71
+
72
+ ### 🐛 Correcciones
73
+
74
+ - **a11y:** cursor-pointer en todo lo que se pulsa ([70b0784](https://github.com/Proskynete/arrecife/commit/70b07849311024874e6127e617db71c3833de2b8))
75
+ - **alert:** tinte al 8%, glifos mono y la segunda receta ([b90affc](https://github.com/Proskynete/arrecife/commit/b90affc5106c802ef864056aaeeca29dd942cd23))
76
+ - **audio-player:** los tamaños del documento ([4e68362](https://github.com/Proskynete/arrecife/commit/4e6836247e3e811194522fdaa99d91c8a7a231d9))
77
+ - **badge:** separar categoría, estado y métrica ([1c0239a](https://github.com/Proskynete/arrecife/commit/1c0239a472f4703c0e5859db923f2b12467cf463))
78
+ - **button:** cuatro variantes, tamaños del documento y fuera el de peligro ([07d209f](https://github.com/Proskynete/arrecife/commit/07d209fa5b969982b9e2a642e0d6ed8bd75af822))
79
+ - **cards:** padding de 26, categoría en los tags y la superficie que no entra ([8f30fda](https://github.com/Proskynete/arrecife/commit/8f30fdad3109a836176980629204657af43a39bd))
80
+ - **ci:** la primera versión es 0.1.0 y feat sube la minor ([2ed3859](https://github.com/Proskynete/arrecife/commit/2ed385956dda5485ce23ff7e65818d175bc46607))
81
+ - **cn:** derivar de tokens las escalas que tailwind-merge debe conocer ([2d6c4e5](https://github.com/Proskynete/arrecife/commit/2d6c4e503346413d6d2789a768698ff0beeab836))
82
+ - **storybook:** .storybook entraba al tsconfig pero no se compilaba ([2885830](https://github.com/Proskynete/arrecife/commit/2885830b2fb0982cf657903cc20da998efba7273))
83
+ - **storybook:** el contenedor de docs también toma el fondo del token ([beeb434](https://github.com/Proskynete/arrecife/commit/beeb434631d49571554420c98150143811f1bd40))
84
+ - **storybook:** el wrapper interno de docs, que era el que pintaba blanco ([edda8c6](https://github.com/Proskynete/arrecife/commit/edda8c65ff05d1e3ca815d52d0be4cbcad91ad1f))
85
+ - **storybook:** forzar el fondo del contenedor de docs ([11fcfc7](https://github.com/Proskynete/arrecife/commit/11fcfc730f595926f04e69f171feb948b683d34a))
86
+ - **storybook:** tema de docs por la API y no a base de CSS a la contra ([86f80cf](https://github.com/Proskynete/arrecife/commit/86f80cfe7e26822a96169559824691f7164634da))
87
+ - **storybook:** tematizar el manager, que es lo que quedaba blanco ([d1643a9](https://github.com/Proskynete/arrecife/commit/d1643a9f3e648503a20fe9e016dcf3481d77c159))
88
+ - **tsconfig:** incluir .storybook por include y no por files ([ca8a8d6](https://github.com/Proskynete/arrecife/commit/ca8a8d6e26eba6e30e4bdd4019cc6673ef197542))
89
+
90
+ ### 📚 Documentación
91
+
92
+ - cómo se consume, qué se decidió y por qué ([0f9654f](https://github.com/Proskynete/arrecife/commit/0f9654ff8ae25ba9d9df0a2dbb422fc8abf05e55))
93
+ - incorporar al repo los documentos de identidad y las decisiones ([ca9273f](https://github.com/Proskynete/arrecife/commit/ca9273fa821d9314f54d8d821b4ee3dfeb9446df))
94
+ - **readme:** cómo publicar una versión ([df9702b](https://github.com/Proskynete/arrecife/commit/df9702b71ba22879afcfe5a5e5513abe59af38eb))
95
+ - **readme:** la fase 5, las subrutas nuevas y la tercera corrección de contraste ([871cee9](https://github.com/Proskynete/arrecife/commit/871cee92a8fef7ea33264b869140d45cd6f4d3b2))
96
+
97
+ ### 🚀 CI/CD
63
98
 
64
- ## Changelog
99
+ - no correr CI y lint dos veces por PR ([010ca3c](https://github.com/Proskynete/arrecife/commit/010ca3c249bcbaa3558ec30ff173fb053f56b56a))
100
+ - pipeline de publicación en npm y las comprobaciones de PR ([930da3d](https://github.com/Proskynete/arrecife/commit/930da3d91199eff38135e2a07456b02cd935c8a1))
101
+ - release-please y publicación de confianza con OIDC ([f005b8c](https://github.com/Proskynete/arrecife/commit/f005b8c3a0dfc0c42015140f52ebe4c37e8507e5))
package/README.md CHANGED
@@ -16,6 +16,23 @@ meses, y nadie lo vio porque el documento no era `grep`-able desde el código.
16
16
  `docs/decisiones.md` es la otra mitad: los quince puntos donde el código y el
17
17
  documento no dicen lo mismo, con la resolución y el motivo de cada uno.
18
18
 
19
+ ## Los dos documentos para agentes
20
+
21
+ `AGENTS.md` es para un agente que trabaja **en este repo**: cómo se crea un
22
+ componente, qué reglas no puede romper y dónde se verifica cada una. `CLAUDE.md`
23
+ es un symlink a ese archivo, así que Claude, Codex y Cursor leen el mismo texto.
24
+
25
+ `llms.txt` es para un agente que trabaja en uno de los **cinco proyectos que
26
+ consumen** la librería. Ese agente nunca ve este repo: ve
27
+ `node_modules/@eduardoalvarez/arrecife/`, y por eso `llms.txt` viaja en el
28
+ tarball y se declara en `exports`.
29
+
30
+ El inventario de componentes y props de `llms.txt` no está escrito a mano: lo
31
+ extrae `scripts/build-llms.mjs` del compilador de TypeScript, y `pnpm check:llms`
32
+ falla en CI si alguien cambia un prop y no lo regenera. La prosa vive en
33
+ `docs/llms.plantilla.md`. Es la misma decisión que los tokens: una fuente, una
34
+ salida generada, y un check que impide que discrepen.
35
+
19
36
  ## La restricción que manda sobre todo lo demás
20
37
 
21
38
  `src/tokens/` no importa nada: ni React, ni componentes, ni CSS de terceros. Es el
@@ -47,9 +64,43 @@ mismo objeto `tokens`: la fuente no cambia.
47
64
  El modo oscuro es el primario y es el default. Un proyecto en modo claro declara
48
65
  `data-theme="light"` en `<html>`; uno oscuro no necesita declarar nada.
49
66
 
67
+ > **Vienes de la 0.2.0 o anterior.** Los cinco escalones de espaciado se
68
+ > renombraron: `p-md` es ahora `p-step-md`, `gap-sm` es `gap-step-sm`. Es un
69
+ > cambio incompatible, y si tu proyecto usa `max-w-sm`, `max-w-md` o `max-w-lg`,
70
+ > además te estaban valiendo 12, 16 y 26px sin que nada lo dijera. El porqué, el
71
+ > patrón de migración y qué revisar después están en
72
+ > [`docs/migracion-0.3.md`](docs/migracion-0.3.md).
73
+
50
74
  Las familias tipográficas se declaran por nombre. Cada proyecto carga Bricolage
51
75
  Grotesque, Geist y JetBrains Mono como prefiera: la librería no impone cómo.
52
76
 
77
+ **Los nombres tienen que coincidir EXACTAMENTE**, y esto ya ha mordido dos veces.
78
+ Los tokens declaran las familias así:
79
+
80
+ | Token | `font-family` que declara | Utilidad |
81
+ | --- | --- | --- |
82
+ | `fonts.display` | `"Bricolage Grotesque"` | `font-display` |
83
+ | `fonts.sans` | `"Geist"` | `font-sans` |
84
+ | `fonts.mono` | `"JetBrains Mono"` | `font-mono` |
85
+
86
+ Un proyecto que registre su `@font-face` como `"Bricolage Grotesque Variable"` o
87
+ `"Geist Variable"` —el nombre con el que las publican varios paquetes de fuentes—
88
+ **no** está cargando lo que los tokens piden: la display y la mono caen a la
89
+ fuente del sistema, en silencio y sin un aviso en consola. Es exactamente lo que
90
+ pasó en dos de los cinco proyectos.
91
+
92
+ El `family` del `@font-face` es un alias que elige el proyecto, así que la
93
+ solución es declararlo con el nombre que pide el token:
94
+
95
+ ```css
96
+ @font-face {
97
+ font-family: "Bricolage Grotesque"; /* NO "Bricolage Grotesque Variable" */
98
+ src: url("/fuentes/bricolage-grotesque.woff2") format("woff2-variations");
99
+ font-weight: 200 800;
100
+ font-display: swap;
101
+ }
102
+ ```
103
+
53
104
  ### Mapa de tokens a utilidades
54
105
 
55
106
  | Token | Custom property | Utilidad |
@@ -59,7 +110,8 @@ Grotesque, Geist y JetBrains Mono como prefiera: la librería no impone cómo.
59
110
  | `typeScale.h1` | `--text-h1` | `text-h1` (arrastra line-height, weight y tracking) |
60
111
  | `fonts.display` | `--font-display` | `font-display` |
61
112
  | `radius.card` | `--radius-card` | `rounded-card` |
62
- | `spacing.lg` | `--spacing-lg` | `p-lg`, `gap-lg`, `mb-lg` |
113
+ | `spacing.stepLg` | `--spacing-step-lg` | `p-step-lg`, `gap-step-lg`, `mb-step-lg` |
114
+ | `spacing.section` | `--spacing-section` | `py-section`, `mb-section` |
63
115
  | `control.md` | `--spacing-control-md` | `px-control-md` (padding de botón) |
64
116
  | `control.icon` | `--spacing-control-icon` | `size-control-icon` (botón de icono 42×42) |
65
117
  | `gradient[modo].hero` | `--gradient-hero` | `degradado-hero` (utilidad, sigue el modo) |
@@ -109,21 +109,22 @@ var control = {
109
109
  icon: 42
110
110
  };
111
111
  var spacing = {
112
- xs: 8,
113
- sm: 12,
114
- md: 16,
115
- lg: 26,
116
- xl: 40,
112
+ stepXs: 8,
113
+ stepSm: 12,
114
+ stepMd: 16,
115
+ stepLg: 26,
116
+ stepXl: 40,
117
117
  section: 96
118
118
  };
119
119
  var naming = {
120
120
  wordmark: "Eduardo \xC1lvarez"};
121
121
 
122
122
  // src/lib/cn.ts
123
+ var kebab = (nombre) => nombre.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
123
124
  var escalas = Object.keys(typeScale);
124
125
  var radios = Object.keys(radius);
125
- var espacios = Object.keys(spacing);
126
- var controles = Object.keys(control).map((nombre) => `control-${nombre}`);
126
+ var espacios = Object.keys(spacing).map(kebab);
127
+ var controles = Object.keys(control).map((nombre) => `control-${kebab(nombre)}`);
127
128
  var twMerge = tailwindMerge.extendTailwindMerge({
128
129
  extend: {
129
130
  classGroups: {
@@ -167,7 +168,7 @@ function Logo({
167
168
  className,
168
169
  ...props
169
170
  }) {
170
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("gap-xs inline-flex items-center", className), ...props, children: [
171
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("gap-step-xs inline-flex items-center", className), ...props, children: [
171
172
  /* @__PURE__ */ jsxRuntime.jsx(
172
173
  Isotipo,
173
174
  {
@@ -1,3 +1,3 @@
1
- export { CaraDeMascota, Isotipo, Logo, Mascota } from '../chunk-ZL5X6XO7.js';
1
+ export { CaraDeMascota, Isotipo, Logo, Mascota } from '../chunk-ND45OQOC.js';
2
2
  export { RUTA_ASSETS, aletas, caras, listaCaras, listaPoses, poses, usoDeCara } from '../chunk-E3OMP2DL.js';
3
- import '../chunk-DHF63QNM.js';
3
+ import '../chunk-I7GYZD2A.js';
@@ -162,11 +162,11 @@ var control = {
162
162
  icon: 42
163
163
  };
164
164
  var spacing = {
165
- xs: 8,
166
- sm: 12,
167
- md: 16,
168
- lg: 26,
169
- xl: 40,
165
+ stepXs: 8,
166
+ stepSm: 12,
167
+ stepMd: 16,
168
+ stepLg: 26,
169
+ stepXl: 40,
170
170
  section: 96
171
171
  };
172
172
  var size = {
@@ -1,13 +1,14 @@
1
1
  import { aletas, RUTA_ASSETS, poses, caras } from './chunk-E3OMP2DL.js';
2
- import { control, spacing, radius, typeScale, naming } from './chunk-DHF63QNM.js';
2
+ import { spacing, control, radius, typeScale, naming } from './chunk-I7GYZD2A.js';
3
3
  import { clsx } from 'clsx';
4
4
  import { extendTailwindMerge } from 'tailwind-merge';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
6
 
7
+ var kebab = (nombre) => nombre.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
7
8
  var escalas = Object.keys(typeScale);
8
9
  var radios = Object.keys(radius);
9
- var espacios = Object.keys(spacing);
10
- var controles = Object.keys(control).map((nombre) => `control-${nombre}`);
10
+ var espacios = Object.keys(spacing).map(kebab);
11
+ var controles = Object.keys(control).map((nombre) => `control-${kebab(nombre)}`);
11
12
  var twMerge = extendTailwindMerge({
12
13
  extend: {
13
14
  classGroups: {
@@ -51,7 +52,7 @@ function Logo({
51
52
  className,
52
53
  ...props
53
54
  }) {
54
- return /* @__PURE__ */ jsxs("span", { className: cn("gap-xs inline-flex items-center", className), ...props, children: [
55
+ return /* @__PURE__ */ jsxs("span", { className: cn("gap-step-xs inline-flex items-center", className), ...props, children: [
55
56
  /* @__PURE__ */ jsx(
56
57
  Isotipo,
57
58
  {
@@ -1,4 +1,4 @@
1
- import { naming, tagline, motion, shadow, sintaxis, gradient, size, spacing, control, radius, limits, typeScale, fonts, brand, colors } from './chunk-DHF63QNM.js';
1
+ import { naming, tagline, motion, shadow, sintaxis, gradient, size, spacing, control, radius, limits, typeScale, fonts, brand, colors } from './chunk-I7GYZD2A.js';
2
2
 
3
3
  // src/tokens/index.ts
4
4
  var tokens = {