@eduardoalvarez/arrecife 0.2.0 → 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 +17 -0
- package/README.md +36 -1
- package/dist/brand/index.cjs +9 -8
- package/dist/brand/index.js +2 -2
- package/dist/{chunk-DHF63QNM.js → chunk-I7GYZD2A.js} +5 -5
- package/dist/{chunk-ZL5X6XO7.js → chunk-ND45OQOC.js} +5 -4
- package/dist/{chunk-22OXRTAL.js → chunk-VSMW2CT4.js} +1 -1
- package/dist/index.cjs +122 -121
- package/dist/index.js +118 -118
- package/dist/og/index.js +1 -1
- package/dist/shiki/index.js +1 -1
- package/dist/tokens/index.cjs +5 -5
- package/dist/tokens/index.d.cts +32 -10
- package/dist/tokens/index.d.ts +32 -10
- package/dist/tokens/index.js +2 -2
- package/dist/tokens/theme.css +5 -5
- package/llms.txt +27 -2
- package/package.json +5 -3
package/dist/og/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RUTA_ASSETS, caras, poses, aletas } from '../chunk-E3OMP2DL.js';
|
|
2
|
-
import { fonts, dark, light, naming, gradient, tagline, typeScale } from '../chunk-
|
|
2
|
+
import { fonts, dark, light, naming, gradient, tagline, typeScale } from '../chunk-I7GYZD2A.js';
|
|
3
3
|
|
|
4
4
|
// src/og/plantillas.ts
|
|
5
5
|
var OG = {
|
package/dist/shiki/index.js
CHANGED
package/dist/tokens/index.cjs
CHANGED
package/dist/tokens/index.d.cts
CHANGED
|
@@ -289,12 +289,34 @@ declare const control: {
|
|
|
289
289
|
/** Botón de icono: cuadrado, sin texto. */
|
|
290
290
|
readonly icon: 42;
|
|
291
291
|
};
|
|
292
|
+
/**
|
|
293
|
+
* El ritmo de página. Los cinco escalones llevan `step` en el nombre, y no es
|
|
294
|
+
* decoración: es la corrección de un bug que no dio la cara en ningún sitio.
|
|
295
|
+
*
|
|
296
|
+
* En Tailwind v4, `--spacing-*` no alimenta solo `p-*`, `m-*` y `gap-*`:
|
|
297
|
+
* también resuelve `w-*`, `h-*`, `max-w-*`, `min-w-*`, `basis-*` y `size-*`, y
|
|
298
|
+
* ahí GANA a la escala `--container-*`. Los escalones se llamaban `xs, sm, md,
|
|
299
|
+
* lg, xl`, que son exactamente los nombres de esa escala, así que cualquier
|
|
300
|
+
* proyecto que importara `theme.css` se quedaba con `max-w-sm` valiendo 12px en
|
|
301
|
+
* vez de 384px. Nada avisaba: ni el build, ni los tipos, ni Storybook, ni la
|
|
302
|
+
* suite —la librería no usa esas utilidades por dentro—. Se descubrió en
|
|
303
|
+
* producción, con el párrafo de un hero a una palabra por línea.
|
|
304
|
+
*
|
|
305
|
+
* Redeclarar `--container-sm` NO lo arregla: `--spacing-*` gana la resolución.
|
|
306
|
+
* La única salida es que la librería no use esos nombres.
|
|
307
|
+
*
|
|
308
|
+
* El prefijo sigue el patrón que ya tenía `control`: un grupo con nombre propio
|
|
309
|
+
* dentro del espacio `--spacing-*`. `scripts/check-tokens-namespace.mjs` impide
|
|
310
|
+
* la recaída.
|
|
311
|
+
*
|
|
312
|
+
* `section` no lleva prefijo porque no choca con nada de Tailwind.
|
|
313
|
+
*/
|
|
292
314
|
declare const spacing: {
|
|
293
|
-
readonly
|
|
294
|
-
readonly
|
|
295
|
-
readonly
|
|
296
|
-
readonly
|
|
297
|
-
readonly
|
|
315
|
+
readonly stepXs: 8;
|
|
316
|
+
readonly stepSm: 12;
|
|
317
|
+
readonly stepMd: 16;
|
|
318
|
+
readonly stepLg: 26;
|
|
319
|
+
readonly stepXl: 40;
|
|
298
320
|
readonly section: 96;
|
|
299
321
|
};
|
|
300
322
|
declare const size: {
|
|
@@ -567,11 +589,11 @@ declare const tokens: {
|
|
|
567
589
|
readonly icon: 42;
|
|
568
590
|
};
|
|
569
591
|
readonly spacing: {
|
|
570
|
-
readonly
|
|
571
|
-
readonly
|
|
572
|
-
readonly
|
|
573
|
-
readonly
|
|
574
|
-
readonly
|
|
592
|
+
readonly stepXs: 8;
|
|
593
|
+
readonly stepSm: 12;
|
|
594
|
+
readonly stepMd: 16;
|
|
595
|
+
readonly stepLg: 26;
|
|
596
|
+
readonly stepXl: 40;
|
|
575
597
|
readonly section: 96;
|
|
576
598
|
};
|
|
577
599
|
readonly size: {
|
package/dist/tokens/index.d.ts
CHANGED
|
@@ -289,12 +289,34 @@ declare const control: {
|
|
|
289
289
|
/** Botón de icono: cuadrado, sin texto. */
|
|
290
290
|
readonly icon: 42;
|
|
291
291
|
};
|
|
292
|
+
/**
|
|
293
|
+
* El ritmo de página. Los cinco escalones llevan `step` en el nombre, y no es
|
|
294
|
+
* decoración: es la corrección de un bug que no dio la cara en ningún sitio.
|
|
295
|
+
*
|
|
296
|
+
* En Tailwind v4, `--spacing-*` no alimenta solo `p-*`, `m-*` y `gap-*`:
|
|
297
|
+
* también resuelve `w-*`, `h-*`, `max-w-*`, `min-w-*`, `basis-*` y `size-*`, y
|
|
298
|
+
* ahí GANA a la escala `--container-*`. Los escalones se llamaban `xs, sm, md,
|
|
299
|
+
* lg, xl`, que son exactamente los nombres de esa escala, así que cualquier
|
|
300
|
+
* proyecto que importara `theme.css` se quedaba con `max-w-sm` valiendo 12px en
|
|
301
|
+
* vez de 384px. Nada avisaba: ni el build, ni los tipos, ni Storybook, ni la
|
|
302
|
+
* suite —la librería no usa esas utilidades por dentro—. Se descubrió en
|
|
303
|
+
* producción, con el párrafo de un hero a una palabra por línea.
|
|
304
|
+
*
|
|
305
|
+
* Redeclarar `--container-sm` NO lo arregla: `--spacing-*` gana la resolución.
|
|
306
|
+
* La única salida es que la librería no use esos nombres.
|
|
307
|
+
*
|
|
308
|
+
* El prefijo sigue el patrón que ya tenía `control`: un grupo con nombre propio
|
|
309
|
+
* dentro del espacio `--spacing-*`. `scripts/check-tokens-namespace.mjs` impide
|
|
310
|
+
* la recaída.
|
|
311
|
+
*
|
|
312
|
+
* `section` no lleva prefijo porque no choca con nada de Tailwind.
|
|
313
|
+
*/
|
|
292
314
|
declare const spacing: {
|
|
293
|
-
readonly
|
|
294
|
-
readonly
|
|
295
|
-
readonly
|
|
296
|
-
readonly
|
|
297
|
-
readonly
|
|
315
|
+
readonly stepXs: 8;
|
|
316
|
+
readonly stepSm: 12;
|
|
317
|
+
readonly stepMd: 16;
|
|
318
|
+
readonly stepLg: 26;
|
|
319
|
+
readonly stepXl: 40;
|
|
298
320
|
readonly section: 96;
|
|
299
321
|
};
|
|
300
322
|
declare const size: {
|
|
@@ -567,11 +589,11 @@ declare const tokens: {
|
|
|
567
589
|
readonly icon: 42;
|
|
568
590
|
};
|
|
569
591
|
readonly spacing: {
|
|
570
|
-
readonly
|
|
571
|
-
readonly
|
|
572
|
-
readonly
|
|
573
|
-
readonly
|
|
574
|
-
readonly
|
|
592
|
+
readonly stepXs: 8;
|
|
593
|
+
readonly stepSm: 12;
|
|
594
|
+
readonly stepMd: 16;
|
|
595
|
+
readonly stepLg: 26;
|
|
596
|
+
readonly stepXl: 40;
|
|
575
597
|
readonly section: 96;
|
|
576
598
|
};
|
|
577
599
|
readonly size: {
|
package/dist/tokens/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { tokens } from '../chunk-
|
|
2
|
-
export { brand, colors, control, dark, fonts, gradient, light, limits, motion, naming, radius, shadow, sintaxis, size, spacing, tagline, typeScale } from '../chunk-
|
|
1
|
+
export { tokens } from '../chunk-VSMW2CT4.js';
|
|
2
|
+
export { brand, colors, control, dark, fonts, gradient, light, limits, motion, naming, radius, shadow, sintaxis, size, spacing, tagline, typeScale } from '../chunk-I7GYZD2A.js';
|
package/dist/tokens/theme.css
CHANGED
|
@@ -100,11 +100,11 @@
|
|
|
100
100
|
--radius-panel: 16px;
|
|
101
101
|
--radius-pill: 999px;
|
|
102
102
|
|
|
103
|
-
--spacing-xs: 8px;
|
|
104
|
-
--spacing-sm: 12px;
|
|
105
|
-
--spacing-md: 16px;
|
|
106
|
-
--spacing-lg: 26px;
|
|
107
|
-
--spacing-xl: 40px;
|
|
103
|
+
--spacing-step-xs: 8px;
|
|
104
|
+
--spacing-step-sm: 12px;
|
|
105
|
+
--spacing-step-md: 16px;
|
|
106
|
+
--spacing-step-lg: 26px;
|
|
107
|
+
--spacing-step-xl: 40px;
|
|
108
108
|
--spacing-section: 96px;
|
|
109
109
|
|
|
110
110
|
--spacing-control-sm: 14px;
|
package/llms.txt
CHANGED
|
@@ -82,6 +82,21 @@ Bricolage Grotesque (`font-display`), Geist (`font-sans`) y JetBrains Mono
|
|
|
82
82
|
(`font-mono`) como prefiera —`next/font`, `@fontsource`, un `<link>`—. Si no las
|
|
83
83
|
carga, el navegador cae al fallback y la tipografía se ve mal.
|
|
84
84
|
|
|
85
|
+
El nombre tiene que coincidir **exactamente** con el que declaran los tokens, y
|
|
86
|
+
esto ya ha fallado en dos proyectos:
|
|
87
|
+
|
|
88
|
+
| Utilidad | Nombre que pide el token |
|
|
89
|
+
| --- | --- |
|
|
90
|
+
| `font-display` | `"Bricolage Grotesque"` |
|
|
91
|
+
| `font-sans` | `"Geist"` |
|
|
92
|
+
| `font-mono` | `"JetBrains Mono"` |
|
|
93
|
+
|
|
94
|
+
Varios paquetes de fuentes las publican como `"Bricolage Grotesque Variable"` o
|
|
95
|
+
`"Geist Variable"`. Registrar el `@font-face` con ese nombre NO carga lo que los
|
|
96
|
+
tokens piden: la familia cae al sistema en silencio, sin error en consola. El
|
|
97
|
+
`font-family` del `@font-face` es un alias que elige el proyecto, así que se
|
|
98
|
+
escribe con el nombre de la tabla.
|
|
99
|
+
|
|
85
100
|
## Qué importar de dónde
|
|
86
101
|
|
|
87
102
|
`exports` tiene cinco subrutas y la elección importa: tres de ellas **no
|
|
@@ -122,7 +137,8 @@ mismo valor está disponible en los dos sitios y no pueden discrepar.
|
|
|
122
137
|
| `typeScale.h1` | `--text-h1` | `text-h1` (arrastra line-height, weight y tracking) |
|
|
123
138
|
| `fonts.display` | `--font-display` | `font-display` |
|
|
124
139
|
| `radius.card` | `--radius-card` | `rounded-card` |
|
|
125
|
-
| `spacing.
|
|
140
|
+
| `spacing.stepLg` | `--spacing-step-lg` | `p-step-lg`, `gap-step-lg`, `mb-step-lg` |
|
|
141
|
+
| `spacing.section` | `--spacing-section` | `py-section`, `mb-section` |
|
|
126
142
|
| `control.md` | `--spacing-control-md` | `px-control-md` |
|
|
127
143
|
| `control.icon` | `--spacing-control-icon` | `size-control-icon` (42×42) |
|
|
128
144
|
| `gradient[modo].hero` | `--gradient-hero` | `degradado-hero` |
|
|
@@ -135,6 +151,15 @@ mismo valor está disponible en los dos sitios y no pueden discrepar.
|
|
|
135
151
|
`transition-standard` es la única transición del sistema y solo puede animar
|
|
136
152
|
color y borde: así está escrita la utilidad.
|
|
137
153
|
|
|
154
|
+
**Los escalones de espaciado llevan `step` en el nombre y no es opcional.**
|
|
155
|
+
`p-md` no es una clase de Arrecife: en un proyecto con Tailwind v4 cae en la
|
|
156
|
+
escala numérica y no hace nada visible. El ritmo de página es `p-step-md`,
|
|
157
|
+
`gap-step-sm`, `py-step-xl`. Llevan prefijo porque `xs, sm, md, lg, xl` son los
|
|
158
|
+
nombres de la escala `--container-*` de Tailwind, y un `--spacing-md` propio se
|
|
159
|
+
comía `max-w-md` en todo el proyecto sin avisar de nada. `max-w-*`, `w-*` y `h-*`
|
|
160
|
+
son de Tailwind y se usan tal cual. Guía de migración desde la 0.2.0:
|
|
161
|
+
<https://github.com/Proskynete/arrecife/blob/main/docs/migracion-0.3.md>.
|
|
162
|
+
|
|
138
163
|
## Reglas del sistema que el código consumidor no debe romper
|
|
139
164
|
|
|
140
165
|
Son decisiones de identidad, ya medidas. Romperlas produce código que compila y
|
|
@@ -1151,7 +1176,7 @@ no monta React, esa subruta es la que hay que importar.
|
|
|
1151
1176
|
| `shadow` | `{ readonly standard: "0 1px 2px rgba(0, 0, 0, 0.35)"; }` | Un solo nivel. No hay escala de elevación. |
|
|
1152
1177
|
| `sintaxis` | `{ fondo, identificador, literal, palabraClave, comentario, invalido }` | La paleta del resaltado de sintaxis. |
|
|
1153
1178
|
| `size` | `{ readonly nav: 64; readonly content: 760; readonly wide: 1180; }` | |
|
|
1154
|
-
| `spacing` | `{ readonly
|
|
1179
|
+
| `spacing` | `{ readonly stepXs: 8; readonly stepSm: 12; readonly stepMd: 16; readonly stepLg: 26; readonly stepXl: 40; readonly section: 96; }` | El ritmo de página. Los cinco escalones llevan `step` en el nombre, y no es decoración: es la corrección de un bug que no dio la cara en ningún sitio. |
|
|
1155
1180
|
| `tagline` | `{ largo, corto, en }` | |
|
|
1156
1181
|
| `tokens` | `{ colors, brand, fonts, typeScale, limits, radius, control, spacing, size, gradient, sintaxis, shadow, motion, tagline, naming }` | Todos los tokens en un solo objeto, para plantillas Satori y generadores. |
|
|
1157
1182
|
| `typeScale` | `{ display, stat, h1, h2, h3, body, lead, ui, label, tag, chip, meta, eyebrow }` | |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eduardoalvarez/arrecife",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Librería de componentes de la identidad visual de Eduardo Álvarez",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Eduardo Esteban Álvarez Castañeda <soy@eduardoalvarez.dev>",
|
|
@@ -53,20 +53,22 @@
|
|
|
53
53
|
"module": "./dist/index.js",
|
|
54
54
|
"types": "./dist/index.d.ts",
|
|
55
55
|
"scripts": {
|
|
56
|
-
"build": "pnpm check:tokens && tsup && pnpm build:tokens && pnpm build:llms",
|
|
56
|
+
"build": "pnpm check:tokens && pnpm check:namespace && tsup && pnpm build:tokens && pnpm build:llms",
|
|
57
57
|
"build:tokens": "node scripts/build-tokens.mjs",
|
|
58
58
|
"build:llms": "node scripts/build-llms.mjs",
|
|
59
59
|
"check:tokens": "node scripts/check-tokens-purity.mjs",
|
|
60
|
+
"check:namespace": "node scripts/check-tokens-namespace.mjs",
|
|
60
61
|
"check:llms": "node scripts/build-llms.mjs --check",
|
|
61
62
|
"check:exports": "node scripts/check-package-exports.mjs",
|
|
62
63
|
"check:release": "node scripts/check-release-config.mjs",
|
|
63
64
|
"typecheck": "tsc --noEmit",
|
|
64
65
|
"lint": "eslint .",
|
|
65
|
-
"test": "pnpm test:oscuro && pnpm test:claro",
|
|
66
|
+
"test": "pnpm test:unidad && pnpm test:oscuro && pnpm test:claro",
|
|
66
67
|
"test:watch": "vitest --project storybook",
|
|
67
68
|
"storybook": "pnpm build:tokens && storybook dev -p 6006",
|
|
68
69
|
"build-storybook": "pnpm build:tokens && storybook build",
|
|
69
70
|
"prepublishOnly": "pnpm build",
|
|
71
|
+
"test:unidad": "vitest run --project unidad",
|
|
70
72
|
"test:oscuro": "vitest run --project storybook",
|
|
71
73
|
"test:claro": "STORYBOOK_THEME=claro vitest run --project storybook"
|
|
72
74
|
},
|