beez-ui 2.0.0 → 2.0.2

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +82 -11
  2. package/README.md +12 -5
  3. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,29 +1,46 @@
1
1
  # Cambios
2
2
 
3
- Todos los cambios relevantes de beez-ui se documentan en este archivo con el formato de [Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/) y versionado [SemVer](https://semver.org/lang/es/). Cada cambio agrega sus entradas en `[Unreleased]`; `pnpm create-version` verifica su actualización manual y conserva el documento sin reescribirlo.
3
+ Todos los cambios relevantes de beez-ui se documentan en este archivo con el formato de [Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/) y versionado [SemVer](https://semver.org/lang/es/). Cada cambio agrega sus entradas en `[Unreleased]`; `pnpm create-version` las pasa a la versión publicada con su fecha.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [2.0.2] - 2026-10-14
8
+
9
+ ### Changed
10
+
11
+ - La fecha de cada versión en el CHANGELOG usa la hora de Argentina, así una versión publicada de noche ya no aparece fechada al día siguiente.
12
+
13
+ ## [2.0.1] - 2026-10-14
14
+
15
+ ### Changed
16
+
17
+ - Cada versión que se publica agrega al CHANGELOG su propia sección con la fecha de publicación.
18
+
19
+ ### Fixed
20
+
21
+ - El CHANGELOG publicado vuelve a tener una sección propia, con su fecha, para cada versión publicada de 0.12.0 a 2.0.0, en lugar de mezclar sus cambios en un solo bloque.
22
+
23
+ ## [2.0.0] - 2026-10-13
24
+
25
+ ### Changed
26
+
27
+ - **Incompatible:** el paquete vuelve a publicarse en npm como `beez-ui` (sin scope), desde GitHub Actions con trusted publishing. Quienes usan `@guidomodarelli/beez-ui` desde GitHub Packages tienen que reemplazar la dependencia y todos los imports, incluidos los subpaths y el CSS, por `beez-ui`; ya no hace falta mapear el scope ni un token para instalarlo. Las versiones 1.0.0 y 1.1.0 no se publicaron en npm.
28
+
29
+ ## [1.0.0] - 2026-10-13
30
+
7
31
  ### Added
8
32
 
9
33
  - El tema adopta el foundation de Arc: colores, superficies, textos y bordes por rol, radios concéntricos (controles 18 px, paneles 26 px, superficies 34 px), alturas de control de 36, 44 y 50 px, sombras, curvas y foco visible solo con teclado, en claro y oscuro.
10
34
  - El acento por defecto es el azul de Arc y se puede cambiar con `data-accent` en `<html>` (`neutral`, `violet`, `blue`, `green`, `amber`, `orange`, `coral` o `rose`).
11
35
  - La fuente Inter se incluye como fuente local para texto y controles.
12
- - `Button` acepta la prop `loading`: muestra un spinner, marca el botón como ocupado e ignora los clics sin perder el foco; si es el trigger de un menú o popover, tampoco lo abre.
13
- - Publicación desde GitHub Actions con versión calculada y CHANGELOG mantenido manualmente, usando el token automático del repositorio.
14
36
 
15
37
  ### Changed
16
38
 
17
- - **Incompatible:** el paquete vuelve a publicarse en npm como `beez-ui` (sin scope), desde GitHub Actions con trusted publishing. Quienes usan `@guidomodarelli/beez-ui` desde GitHub Packages tienen que reemplazar la dependencia y todos los imports, incluidos los subpaths y el CSS, por `beez-ui`; ya no hace falta mapear el scope ni un token para instalarlo. Las versiones 1.0.0 y 1.1.0 no se publicaron en npm.
18
39
  - **Incompatible:** `Button` sigue la API de Arc: `variant` pasa a `primary`, `secondary`, `ghost` o `danger` (antes `default`, `outline`, `secondary`, `ghost`, `destructive` y `link`) y `size` a `sm`, `md` o `lg` (antes `default`, `xs`, `sm`, `lg` y los tamaños `icon`). Renderiza un `<button>` nativo, con `type="button"` por defecto, y toma el radio, las alturas, los colores y el hover solo con puntero fino de Arc.
19
40
  - **Incompatible:** `AlertDialogAction` y `AlertDialogCancel` usan las variantes y tamaños de Arc; por defecto, `primary` y `secondary`.
20
41
  - `BeezUIProvider` escribe el tema como clase y como atributo `data-theme` en `<html>`.
21
42
  - Los títulos grandes (`--font-display`) usan Geist en lugar de Poppins, y el texto usa Inter en lugar de Geist.
22
43
  - El fondo de la página deja de usar degradados decorativos: `--body-background-image` vale `none`.
23
- - `Button` adopta el estilo y la animación de Arc: nuevos colores por variante (`default` pasa a usar `foreground` en lugar de `primary`), presión según el ancho del botón y animación del ancho cuando cambia el texto. También aplica a los botones con `asChild`. Los triggers de menús y popovers no se achican al presionarlos.
24
- - El release se inicia automáticamente al subir cambios a `main`, incluidos los cambios de `package.json`, y conserva la ejecución manual desde Actions.
25
- - El paquete pasa a publicarse en GitHub Packages como `@guidomodarelli/beez-ui`; los consumidores deben actualizar sus dependencias e imports y configurar acceso al registry de GitHub.
26
- - La ejecución manual del release permite omitir explícitamente un tag pendiente del registro anterior durante una migración; la ejecución automática conserva esa protección.
27
44
 
28
45
  ### Removed
29
46
 
@@ -31,13 +48,67 @@ Todos los cambios relevantes de beez-ui se documentan en este archivo con el for
31
48
  - **Incompatible:** se retira el export `buttonVariants`.
32
49
  - Se retira la fuente Poppins.
33
50
 
51
+ ## [0.16.0] - 2026-10-13
52
+
53
+ ### Added
54
+
55
+ - El tema adopta el foundation de Arc: colores, superficies, textos y bordes por rol, radios concéntricos (controles 18 px, paneles 26 px, superficies 34 px), alturas de control de 36, 44 y 50 px, sombras, curvas y foco visible solo con teclado, en claro y oscuro.
56
+ - El acento por defecto es el azul de Arc y se puede cambiar con `data-accent` en `<html>` (`neutral`, `violet`, `blue`, `green`, `amber`, `orange`, `coral` o `rose`).
57
+ - La fuente Inter se incluye como fuente local para texto y controles.
58
+
59
+ ### Changed
60
+
61
+ - **Incompatible:** `Button` sigue la API de Arc: `variant` pasa a `primary`, `secondary`, `ghost` o `danger` (antes `default`, `outline`, `secondary`, `ghost`, `destructive` y `link`) y `size` a `sm`, `md` o `lg` (antes `default`, `xs`, `sm`, `lg` y los tamaños `icon`). Renderiza un `<button>` nativo, con `type="button"` por defecto, y toma el radio, las alturas, los colores y el hover solo con puntero fino de Arc.
62
+ - **Incompatible:** `AlertDialogAction` y `AlertDialogCancel` usan las variantes y tamaños de Arc; por defecto, `primary` y `secondary`.
63
+ - `BeezUIProvider` escribe el tema como clase y como atributo `data-theme` en `<html>`.
64
+ - Los títulos grandes (`--font-display`) usan Geist en lugar de Poppins, y el texto usa Inter en lugar de Geist.
65
+ - El fondo de la página deja de usar degradados decorativos: `--body-background-image` vale `none`.
66
+
67
+ ### Removed
68
+
69
+ - **Incompatible:** `Button` ya no admite `asChild`: un link con aspecto de botón se estiliza como link.
70
+ - **Incompatible:** se retira el export `buttonVariants`.
71
+ - Se retira la fuente Poppins.
72
+
73
+ ## [0.15.0] - 2026-10-13
74
+
75
+ ### Fixed
76
+
77
+ - La preparación del release lee y extrae el tarball también en Windows con el `tar` de Git Bash, que rechazaba las rutas absolutas con letra de unidad.
78
+
79
+ ## [0.14.0] - 2026-10-13
80
+
34
81
  ### Fixed
35
82
 
36
- - Los eventos de teclado sin una tecla válida no interrumpen la navegación lateral; se conservan los atajos con Ctrl y Cmd.
37
- - La preparación del paquete acepta las notas de `[Unreleased]` que conserva el motor de publicación actual, sin exigir que se reescriba el historial.
38
83
  - `Button` vuelve a quedar inerte y oculto para tecnologías de asistencia mientras un `AnimatePresence` padre lo retira, también con `asChild`: durante la animación de salida no se puede hacer clic, enfocar ni anunciar.
39
84
  - `AnimatedCollapse` marca la región como inerte y oculta para tecnologías de asistencia mientras se cierra, como `PresenceSwap` y `AnimatedListItem`, para que sus controles no sigan activos durante el fundido.
40
- - La preparación del release lee y extrae el tarball también en Windows con el `tar` de Git Bash, que rechazaba las rutas absolutas con letra de unidad.
85
+
86
+ ## [0.13.0] - 2026-10-12
87
+
88
+ ### Added
89
+
90
+ - `Button` acepta la prop `loading`: muestra un spinner, marca el botón como ocupado e ignora los clics sin perder el foco; si es el trigger de un menú o popover, tampoco lo abre.
91
+
92
+ ### Changed
93
+
94
+ - `Button` adopta el estilo y la animación de Arc: nuevos colores por variante (`default` pasa a usar `foreground` en lugar de `primary`), presión según el ancho del botón y animación del ancho cuando cambia el texto. También aplica a los botones con `asChild`. Los triggers de menús y popovers no se achican al presionarlos.
95
+
96
+ ## [0.12.0] - 2026-10-12
97
+
98
+ ### Added
99
+
100
+ - Publicación desde GitHub Actions con versión calculada y CHANGELOG mantenido manualmente, usando el token automático del repositorio.
101
+
102
+ ### Changed
103
+
104
+ - El release se inicia automáticamente al subir cambios a `main`, incluidos los cambios de `package.json`, y conserva la ejecución manual desde Actions.
105
+ - El paquete pasa a publicarse en GitHub Packages como `@guidomodarelli/beez-ui`; los consumidores deben actualizar sus dependencias e imports y configurar acceso al registry de GitHub.
106
+ - La ejecución manual del release permite omitir explícitamente un tag pendiente del registro anterior durante una migración; la ejecución automática conserva esa protección.
107
+
108
+ ### Fixed
109
+
110
+ - Los eventos de teclado sin una tecla válida no interrumpen la navegación lateral; se conservan los atajos con Ctrl y Cmd.
111
+ - La preparación del paquete acepta las notas de `[Unreleased]` que conserva el motor de publicación actual, sin exigir que se reescriba el historial.
41
112
 
42
113
  ## [0.11.0] - 2026-10-03
43
114
 
package/README.md CHANGED
@@ -254,7 +254,7 @@ El workflow **Release** se ejecuta automáticamente con cada push o merge a `mai
254
254
  incluidos los cambios de `package.json`. También se puede iniciar en GitHub desde
255
255
  **Actions → Release → Run workflow**, seleccionando `main`.
256
256
  El workflow usa `pnpm create-version --accept-suggested`: beez-rp calcula la versión
257
- y verifica el CHANGELOG mantenido manualmente, prepara y valida el tarball, crea y sube
257
+ y verifica que `[Unreleased]` tenga entradas escritas a mano, cierra esa sección con la versión, prepara y valida el tarball, crea y sube
258
258
  el commit y el tag y publica en npm con trusted publishing (OIDC).
259
259
 
260
260
  El disparador también incluye los pushes que cambian `package.json`, pero
@@ -287,21 +287,28 @@ Desde este repositorio, configurar `NPM_TOKEN` con un token personal de GitHub *
287
287
  ```sh
288
288
  pnpm create-version # diagnóstico, plan y release interactivo
289
289
  pnpm create-version --bump minor # patch | minor | major sin preguntar
290
+ pnpm create-version -b m # atajo de --bump: acepta p | m | M (o -b=m)
291
+ pnpm create-version -m # atajos --patch/-p, --minor/-m, --major/-M
290
292
  pnpm create-version --set-version 0.7.0 # versión exacta
293
+ pnpm create-version -sv 0.7.0 # atajo de --set-version (o -sv=0.7.0)
294
+ pnpm create-version -l # atajo de --local: todo el release en esta máquina
291
295
  pnpm create-version --accept-suggested # toma la versión sugerida por los commits
292
296
  pnpm create-version --dry-run # solo muestra el diagnóstico y el plan
293
297
  pnpm cv # alias de pnpm create-version
298
+ pnpm create-version -h # todas las opciones (atajo de --help)
294
299
  ```
295
300
 
296
- El comando es el motor compartido de los proyectos Beez, `beez-rp create-version` (devDependency `beez-rp`). Su funcionamiento general (diagnóstico, bloqueos, reanudación, versiones permitidas) está documentado en el README de [beez-rp](https://github.com/guidomodarelli/beez-rp#create-version). Lo propio de beez-ui vive en `beez-rp.config.js`: la audiencia del CHANGELOG, la descripción de cada tipo de versión, el hook `prepare` de `scripts/release-hooks.js` y la publicación en npm del tarball preparado (`publish: "npm"` + `artifact`, con `publication.authentication: "oidc"`).
301
+ Los flags cortos distinguen mayúsculas (`-m` es minor y `-M` major) y van de a uno (`-l -m`, no `-lm`). Pedir dos tipos de versión distintos, combinar un tipo con `--set-version` o `--ci` con `--local` corta con un error.
302
+
303
+ El comando es el motor compartido de los proyectos Beez, `beez-rp create-version` (devDependency `beez-rp`). Su funcionamiento general (diagnóstico, bloqueos, reanudación, versiones permitidas) está documentado en el README de [beez-rp](https://github.com/guidomodarelli/beez-rp#create-version). Lo propio de beez-ui vive en `beez-rp.config.js`: la descripción de cada tipo de versión, la zona horaria de la fecha del CHANGELOG (`releaseTimeZone`), el hook `prepare` de `scripts/release-hooks.js` y la publicación en npm del tarball preparado (`publish: "npm"` + `artifact`, con `publication.authentication: "oidc"`).
297
304
 
298
305
  Los releases salen sólo desde `main`, limpio y al día con origin (sólo `CHANGELOG.md` puede quedar sin commitear). En otra rama explica qué falta: pushear, abrir o mergear el PR. El último release es el último commit de `origin/main` que cambió el `version` de `package.json`, así que reconoce tanto los commits `X.Y.Z` como los anteriores `chore(release): prepara la versión X.Y.Z`.
299
306
 
300
307
  ### Flujo validado de un release nuevo
301
308
 
302
309
  1. Actualiza `main` con fast-forward si está atrás.
303
- 2. Verifica que `CHANGELOG.md` exista y haya cambiado manualmente desde el último release. Conserva sus bytes; no genera notas ni renombra `[Unreleased]`.
304
- 3. Pide la versión (sugiere `patch`, `minor` o `major` según los commits) y crea el commit `X.Y.Z` con la versión del manifiesto, el CHANGELOG conservado y el tag anotado `vX.Y.Z`, antes de las validaciones largas.
310
+ 2. Verifica que `CHANGELOG.md` tenga un bloque `## [Unreleased]` con entradas escritas a mano y solo secciones de Keep a Changelog; si falta o está vacío, bloquea el release. No genera notas.
311
+ 3. Pide la versión (sugiere `patch`, `minor` o `major` según los commits) y crea el commit `X.Y.Z` con la versión del manifiesto, el CHANGELOG con `[Unreleased]` renombrado a `## [X.Y.Z] - AAAA-MM-DD` y un `## [Unreleased]` vacío arriba, y el tag anotado `vX.Y.Z`, antes de las validaciones largas.
305
312
  4. `prepare` (`scripts/release-hooks.js`): reusa el tarball ya preparado para esa versión si es posterior al último cambio de código (el commit de versión no cuenta); si no, ejecuta `pnpm release:prepare` sobre el commit de versión: instalación congelada, tests sin React Compiler, build optimizado, lint, typechecks, tests unitarios y pruebas de navegador, y genera el tarball verificado con `npm pack --ignore-scripts` (npm y no pnpm, para que sea reproducible) en `releases/<version>-<sha256>/beez-ui-<version>.tgz`.
306
313
  5. Sube `main` y el tag `vX.Y.Z` a origin con un único `git push --atomic`.
307
314
  6. Publicación: beez-rp exige que el commit de versión siga sin cambios, toma `releases/<version>-<sha256>/beez-ui-<version>.tgz`, verifica el SHA-256 de su ruta y compara su SHA-512 con el `integrity` de `npm pack --dry-run` sobre ese commit (`npm pack` es reproducible, así que coincidir prueba que es byte a byte lo que npm empaqueta) y recién ahí lo publica en npm con etiqueta `latest`. Además, `prepublishOnly` ejecuta `beez-rp guard-publish`, que corta un `pnpm publish` manual (o yarn/bun): se publica sólo con `pnpm create-version`, que usa npm.
@@ -312,7 +319,7 @@ La publicación usa el cliente oficial de npm contra `https://registry.npmjs.org
312
319
 
313
320
  ### CHANGELOG
314
321
 
315
- `CHANGELOG.md` sigue [Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/). Cada cambio agrega sus entradas en el bloque `## [Unreleased]`, agrupadas en `### Added`, `### Changed`, `### Deprecated`, `### Removed`, `### Fixed` y `### Security` (solo las que apliquen). Desde beez-rp 0.7, `pnpm create-version` exige una actualización manual y conserva el archivo sin generar notas ni escribir versiones o fechas. La preparación acepta notas válidas en `[Unreleased]` y mantiene compatibilidad con un bloque histórico que coincida con el manifiesto. La regla completa está en `AGENTS.md`.
322
+ `CHANGELOG.md` sigue [Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/). Cada cambio agrega sus entradas en el bloque `## [Unreleased]`, agrupadas en `### Added`, `### Changed`, `### Deprecated`, `### Removed`, `### Fixed` y `### Security` (solo las que apliquen). Las entradas se escriben a mano: `pnpm create-version` no genera notas y bloquea el release si `[Unreleased]` no existe o no tiene entradas. Con beez-rp 0.9.0, el commit de versión renombra `[Unreleased]` a `## [X.Y.Z] - AAAA-MM-DD` (fecha en la hora de Argentina por `releaseTimeZone: "America/Argentina/Buenos_Aires"`, aunque el workflow **Release** corra en un runner en UTC) y deja un `[Unreleased]` vacío arriba; si el CHANGELOG no está en UTF-8, el release se detiene antes del bump. Ni las personas ni los hooks cierran la sección: hacerlo (por ejemplo con `releaseUnreleased`) la cerraría dos veces o dejaría `[Unreleased]` vacío y bloquearía el release. `release:prepare` exige el bloque fechado que coincide con la versión del manifiesto. La regla completa está en `AGENTS.md`.
316
323
 
317
324
  Para validar y empaquetar la versión actual sin publicarla:
318
325
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "beez-ui",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "Shared UI components with the customizations extracted from TuTribu.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -400,7 +400,7 @@
400
400
  "@types/react-dom": "^19.3.0",
401
401
  "@typescript/native": "npm:typescript@^7.0.2",
402
402
  "@vitejs/plugin-react": "^6.1.1",
403
- "beez-rp": "^0.7.3",
403
+ "beez-rp": "^0.9.0",
404
404
  "jsdom": "^30.1.1",
405
405
  "lucide-react": "^1.41.0",
406
406
  "next": "^16.3.6",