@studiolxd/brand 49.17.0 → 49.18.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
@@ -7,6 +7,26 @@ El paquete sigue [semver](https://semver.org/lang/es/): **patch** para bug fixes
7
7
  regeneración de `dist`, **minor** para componentes/props/variantes/tokens nuevos, **major**
8
8
  para breaking changes.
9
9
 
10
+ ## [49.18.0] — 2026-10-03
11
+
12
+ > **Minor.** `RecoveryCodes` deja pasar el aviso de portapapeles roto, y `react-hook-form`
13
+ > pasa a peer opcional.
14
+
15
+ ### `RecoveryCodes` — `labels.error`
16
+
17
+ - Nueva clave **opcional** `labels.error`: el aviso del botón de copiar cuando el
18
+ portapapeles falla (contexto no seguro, permiso denegado). Hasta ahora salía solo de
19
+ `copy.error` del `BrandMessagesProvider`, así que una app que pasara las props sueltas,
20
+ sin proveedor, lanzaba al fallar la copia (visto en keycloakify-starter al pasar a npm).
21
+ Sin `labels.error` el comportamiento no cambia.
22
+
23
+ ### `react-hook-form`, peer opcional
24
+
25
+ - Solo lo importa `@studiolxd/brand/form-field`. Como `react-email`, pasa a
26
+ `peerDependenciesMeta.optional`: una app que no use ese subpath deja de instalarlo
27
+ (pnpm con `auto-install-peers` lo traía igualmente). Quien use `form-field` lo sigue
28
+ necesitando en sus `dependencies`.
29
+
10
30
  ## [49.17.0] — 2026-10-03
11
31
 
12
32
  > **Minor.** Componente nuevo: `EmbedFrame`, el marco embebido del sistema, y las tres
package/README.md CHANGED
@@ -11,10 +11,10 @@ y el catálogo de Storybook es su fuente de verdad.
11
11
  pnpm add @studiolxd/brand
12
12
  ```
13
13
 
14
- El paquete declara como peer dependencies `react` y `react-dom` (>=18) y
15
- `react-hook-form` (>=7), del que dependen el `Form` y todos los campos que se
16
- atan a él. `react-email` (>=6) es un peer **opcional**: solo hace falta si se
17
- consume el subpath `@studiolxd/brand/email`.
14
+ El paquete declara como peer dependencies `react` y `react-dom` (>=18). Hay
15
+ dos peers **opcionales**, que solo hacen falta si se consume el subpath que
16
+ los importa: `react-hook-form` (>=7) para `@studiolxd/brand/form-field`, y
17
+ `react-email` (>=6) para `@studiolxd/brand/email`.
18
18
 
19
19
  ## Uso
20
20
 
@@ -7,6 +7,12 @@ export interface RecoveryCodesLabels {
7
7
  copy: string;
8
8
  /** Acuse del botón de copiar, mientras dura. */
9
9
  copied: string;
10
+ /**
11
+ * Aviso del botón de copiar si el portapapeles falla (contexto no seguro,
12
+ * permiso denegado). Opcional: sin él sale de `copy.error` del
13
+ * `BrandMessagesProvider`, y sin ninguno de los dos el componente lanza.
14
+ */
15
+ error?: string;
10
16
  }
11
17
  export interface RecoveryCodesProps {
12
18
  /** Los códigos, en el orden en que se numeran. */
@@ -26,6 +26,7 @@ function i({ codes: i, columns: a = 2, labels: o, actions: s, className: c, id:
26
26
  children: [/* @__PURE__ */ n(t, {
27
27
  value: () => i.join("\n"),
28
28
  copiedLabel: o.copied,
29
+ errorLabel: o.error,
29
30
  variant: "outline",
30
31
  children: o.copy
31
32
  }), s]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studiolxd/brand",
3
- "version": "49.17.0",
3
+ "version": "49.18.0",
4
4
  "description": "El sistema de diseño de Studio LXD: componentes React, tokens y documentación de la suite SLXD.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -956,6 +956,9 @@
956
956
  "peerDependenciesMeta": {
957
957
  "react-email": {
958
958
  "optional": true
959
+ },
960
+ "react-hook-form": {
961
+ "optional": true
959
962
  }
960
963
  },
961
964
  "devDependencies": {