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.
- package/CHANGELOG.md +82 -11
- package/README.md +12 -5
- 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`
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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`
|
|
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
|
|
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).
|
|
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.
|
|
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.
|
|
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",
|