@hiscovega/grisso 1.0.6 → 1.0.7
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/README.md +37 -9
- package/dist/grisso.css +1 -1
- package/lib/defaults.js +7 -0
- package/lib/generators.d.ts +7 -7
- package/lib/generators.js +46 -6
- package/lib/partials/backgrounds.js +8 -8
- package/lib/partials/borders.js +19 -19
- package/lib/partials/effects.js +4 -4
- package/lib/partials/flex-and-grid.js +46 -46
- package/lib/partials/icons.js +2 -2
- package/lib/partials/layout.js +23 -23
- package/lib/partials/sizing.js +9 -9
- package/lib/partials/spacing.js +15 -15
- package/lib/partials/typography.js +17 -17
- package/lib/tokens.js +1 -0
- package/lib/types.d.ts +3 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# Grisso
|
|
2
2
|
|
|
3
|
-
> Librería de utility CSS de Griddo con
|
|
3
|
+
> Librería de utility CSS de Griddo con variantes responsive y de estado, basada en CSS custom properties (design tokens).
|
|
4
|
+
|
|
5
|
+
> [!WARNING]
|
|
6
|
+
> En la versión estable 2.0, el paquete se moverá a `@griddo/grisso`. El nombre actual `@hiscovega/grisso` dejará de recibir actualizaciones a partir de ese momento.
|
|
4
7
|
|
|
5
8
|
## Instalación
|
|
6
9
|
|
|
@@ -230,6 +233,13 @@ export default {
|
|
|
230
233
|
lg: "24px",
|
|
231
234
|
},
|
|
232
235
|
|
|
236
|
+
// States: reemplaza los 5 defaults (hover, focus, focus-visible, active, disabled)
|
|
237
|
+
// Solo genera variantes para los estados listados
|
|
238
|
+
states: {
|
|
239
|
+
hover: ":hover",
|
|
240
|
+
focus: ":focus",
|
|
241
|
+
},
|
|
242
|
+
|
|
233
243
|
// `extend` MERGEA con los defaults (arrays se concatenan)
|
|
234
244
|
extend: {
|
|
235
245
|
foregroundColors: {
|
|
@@ -246,6 +256,8 @@ export default {
|
|
|
246
256
|
|
|
247
257
|
La `safelist` controla qué clases se protegen del tree-shaking. Por defecto está vacía. En top-level reemplaza, en `extend` se concatena. Acepta `RegExp` y `string`.
|
|
248
258
|
|
|
259
|
+
Los `states` controlan qué variantes de estado se generan. Cada entrada es `nombre: pseudo-clase`. Top-level reemplaza completamente; `extend.states` mergea con los defaults.
|
|
260
|
+
|
|
249
261
|
Si no se pasa `config` a `buildCSS()`, busca automáticamente `grisso.config.mjs` en el directorio de trabajo. Si no existe, usa los defaults.
|
|
250
262
|
|
|
251
263
|
Los defaults se pueden consultar importando `@hiscovega/grisso/config`.
|
|
@@ -288,10 +300,10 @@ Importa los tokens antes que Grisso en tu CSS global:
|
|
|
288
300
|
### Nomenclatura
|
|
289
301
|
|
|
290
302
|
```
|
|
291
|
-
{breakpoint}-{propiedad}-{escala}
|
|
303
|
+
{breakpoint}-{state}-{propiedad}-{escala}
|
|
292
304
|
```
|
|
293
305
|
|
|
294
|
-
Ejemplos: `flex`, `tablet-flex`, `p-md`, `
|
|
306
|
+
Ejemplos: `flex`, `tablet-flex`, `p-md`, `hover-bg-1`, `focus-border-1`, `tablet-hover-p-sm`, `desktop-mt-lg`, `w-1/2`
|
|
295
307
|
|
|
296
308
|
### Breakpoints (mobile-first)
|
|
297
309
|
|
|
@@ -302,6 +314,22 @@ Ejemplos: `flex`, `tablet-flex`, `p-md`, `desktop-mt-lg`, `text-center`, `w-1/2`
|
|
|
302
314
|
| `desktop-` | 1024px+ |
|
|
303
315
|
| `ultrawide-` | 1680px+ |
|
|
304
316
|
|
|
317
|
+
### State variants
|
|
318
|
+
|
|
319
|
+
Todas las utilidades generan variantes de estado automáticamente. El tree-shaking elimina las no usadas.
|
|
320
|
+
|
|
321
|
+
| Prefijo | Pseudo-clase |
|
|
322
|
+
| ------------------ | ---------------- |
|
|
323
|
+
| `hover-` | `:hover` |
|
|
324
|
+
| `focus-` | `:focus` |
|
|
325
|
+
| `focus-visible-` | `:focus-visible` |
|
|
326
|
+
| `active-` | `:active` |
|
|
327
|
+
| `disabled-` | `:disabled` |
|
|
328
|
+
|
|
329
|
+
Se combinan con breakpoints: `tablet-hover-bg-1`, `desktop-focus-p-sm`.
|
|
330
|
+
|
|
331
|
+
Orden del cascade: base → state → responsive → responsive+state.
|
|
332
|
+
|
|
305
333
|
### Categorías
|
|
306
334
|
|
|
307
335
|
| Categoría | Ejemplos |
|
|
@@ -319,7 +347,7 @@ Ejemplos: `flex`, `tablet-flex`, `p-md`, `desktop-mt-lg`, `text-center`, `w-1/2`
|
|
|
319
347
|
## Build
|
|
320
348
|
|
|
321
349
|
```bash
|
|
322
|
-
npm run build # Compila TS + genera dist/grisso.css (~
|
|
350
|
+
npm run build # Compila TS + genera dist/grisso.css (~800 KB)
|
|
323
351
|
npm run typecheck # Type-check sin emitir (tsc --noEmit)
|
|
324
352
|
npm run lint # Lint con Biome
|
|
325
353
|
npm test # Tests con Vitest
|
|
@@ -331,7 +359,7 @@ npm run playground # Build + tree-shake + abre playground/index.html
|
|
|
331
359
|
|
|
332
360
|
El CLI se usa internamente y está disponible para consumidores via `npx grisso build`. Ver [CLI](#cli) para detalles completos.
|
|
333
361
|
|
|
334
|
-
Con `--content`, se usa PurgeCSS para eliminar clases no usadas (~
|
|
362
|
+
Con `--content`, se usa PurgeCSS para eliminar clases no usadas (~800 KB → ~4 KB en el playground).
|
|
335
363
|
|
|
336
364
|
## Desarrollo: Añadir nuevas utilities
|
|
337
365
|
|
|
@@ -343,11 +371,11 @@ Con `--content`, se usa PurgeCSS para eliminar clases no usadas (~154 KB → ~4
|
|
|
343
371
|
// src/partials/layout.ts
|
|
344
372
|
import { simpleClass, complexClass } from "../generators.js";
|
|
345
373
|
|
|
346
|
-
// Clase simple — genera .flex + variantes responsive
|
|
347
|
-
simpleClass("flex", "display", "flex", breakpoints);
|
|
374
|
+
// Clase simple — genera .flex + variantes de estado y responsive
|
|
375
|
+
simpleClass("flex", "display", "flex", breakpoints, states);
|
|
348
376
|
|
|
349
|
-
// Clase basada en tokens — genera .p-xs, .p-
|
|
350
|
-
complexClass("p-", "padding", spacing, breakpoints);
|
|
377
|
+
// Clase basada en tokens — genera .p-xs, .hover-p-xs:hover, .tablet-p-xs, etc.
|
|
378
|
+
complexClass("p-", "padding", spacing, breakpoints, states);
|
|
351
379
|
```
|
|
352
380
|
|
|
353
381
|
## Publicación (release)
|