@beweco/aurora-ui 1.0.0-beta.113 → 1.0.0-beta.114
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/dist/index.cjs.js
CHANGED
|
@@ -14210,6 +14210,21 @@ function removeLindaTones(style) {
|
|
|
14210
14210
|
}
|
|
14211
14211
|
}
|
|
14212
14212
|
|
|
14213
|
+
/**
|
|
14214
|
+
* Deja en el `<html>` la clase del pack `theme` y ninguna otra de {@link ALL_THEMES}.
|
|
14215
|
+
*
|
|
14216
|
+
* El DOM se escribe SÍNCRONAMENTE y no se delega el `add` a un efecto de React a propósito:
|
|
14217
|
+
* cuando una app reaplica el pack que ya estaba (tema de sesión + brand-config asíncrono con
|
|
14218
|
+
* el mismo valor), el `setState` recibe un valor idéntico, React hace bail-out y el efecto no
|
|
14219
|
+
* vuelve a correr. Con el `remove` aquí y el `add` allí, ese caso dejaba el `<html>` sin clase
|
|
14220
|
+
* de tema y `--color-primary` caía al azul base del `@theme static`. Quitar y añadir juntas
|
|
14221
|
+
* hace la función idempotente por construcción.
|
|
14222
|
+
*/
|
|
14223
|
+
function applyThemeClass(root, theme) {
|
|
14224
|
+
root.classList.remove(...ALL_THEMES);
|
|
14225
|
+
root.classList.add(theme);
|
|
14226
|
+
}
|
|
14227
|
+
|
|
14213
14228
|
/**
|
|
14214
14229
|
* Clave de `localStorage` donde HeroUI v2 persistía el tema. Se conserva LITERAL: hay
|
|
14215
14230
|
* usuarios con el valor ya guardado y `force-light-only-theme.ts` la lee para normalizarlo.
|
|
@@ -14256,14 +14271,17 @@ const useThemeManager = () => {
|
|
|
14256
14271
|
forceLightOnlyThemeBeforeReact();
|
|
14257
14272
|
}, []);
|
|
14258
14273
|
const setTheme = $8WNJc$react.useCallback((theme) => {
|
|
14259
|
-
|
|
14260
|
-
|
|
14274
|
+
/*
|
|
14275
|
+
* La clase queda puesta YA, sin esperar al efecto de abajo: si `theme` es igual al
|
|
14276
|
+
* que ya había, React hace bail-out, el efecto no corre y el `<html>` se quedaría
|
|
14277
|
+
* sin clase de tema (ver `apply-theme-class.ts`).
|
|
14278
|
+
*/
|
|
14279
|
+
applyThemeClass(document.documentElement, theme);
|
|
14261
14280
|
setRawTheme(theme);
|
|
14262
14281
|
}, [setRawTheme]);
|
|
14282
|
+
/** Cubre el montaje inicial y cualquier cambio de `rawTheme` ajeno a `setTheme`. */
|
|
14263
14283
|
$8WNJc$react.useEffect(() => {
|
|
14264
|
-
|
|
14265
|
-
html.classList.remove(...ALL_THEMES);
|
|
14266
|
-
html.classList.add(rawTheme);
|
|
14284
|
+
applyThemeClass(document.documentElement, rawTheme);
|
|
14267
14285
|
}, [rawTheme]);
|
|
14268
14286
|
const { mode, color } = $8WNJc$react.useMemo(() => {
|
|
14269
14287
|
const parts = rawTheme.split("-");
|
package/dist/index.esm.js
CHANGED
|
@@ -14210,6 +14210,21 @@ function removeLindaTones(style) {
|
|
|
14210
14210
|
}
|
|
14211
14211
|
}
|
|
14212
14212
|
|
|
14213
|
+
/**
|
|
14214
|
+
* Deja en el `<html>` la clase del pack `theme` y ninguna otra de {@link ALL_THEMES}.
|
|
14215
|
+
*
|
|
14216
|
+
* El DOM se escribe SÍNCRONAMENTE y no se delega el `add` a un efecto de React a propósito:
|
|
14217
|
+
* cuando una app reaplica el pack que ya estaba (tema de sesión + brand-config asíncrono con
|
|
14218
|
+
* el mismo valor), el `setState` recibe un valor idéntico, React hace bail-out y el efecto no
|
|
14219
|
+
* vuelve a correr. Con el `remove` aquí y el `add` allí, ese caso dejaba el `<html>` sin clase
|
|
14220
|
+
* de tema y `--color-primary` caía al azul base del `@theme static`. Quitar y añadir juntas
|
|
14221
|
+
* hace la función idempotente por construcción.
|
|
14222
|
+
*/
|
|
14223
|
+
function applyThemeClass(root, theme) {
|
|
14224
|
+
root.classList.remove(...ALL_THEMES);
|
|
14225
|
+
root.classList.add(theme);
|
|
14226
|
+
}
|
|
14227
|
+
|
|
14213
14228
|
/**
|
|
14214
14229
|
* Clave de `localStorage` donde HeroUI v2 persistía el tema. Se conserva LITERAL: hay
|
|
14215
14230
|
* usuarios con el valor ya guardado y `force-light-only-theme.ts` la lee para normalizarlo.
|
|
@@ -14256,14 +14271,17 @@ const useThemeManager = () => {
|
|
|
14256
14271
|
forceLightOnlyThemeBeforeReact();
|
|
14257
14272
|
}, []);
|
|
14258
14273
|
const setTheme = useCallback((theme) => {
|
|
14259
|
-
|
|
14260
|
-
|
|
14274
|
+
/*
|
|
14275
|
+
* La clase queda puesta YA, sin esperar al efecto de abajo: si `theme` es igual al
|
|
14276
|
+
* que ya había, React hace bail-out, el efecto no corre y el `<html>` se quedaría
|
|
14277
|
+
* sin clase de tema (ver `apply-theme-class.ts`).
|
|
14278
|
+
*/
|
|
14279
|
+
applyThemeClass(document.documentElement, theme);
|
|
14261
14280
|
setRawTheme(theme);
|
|
14262
14281
|
}, [setRawTheme]);
|
|
14282
|
+
/** Cubre el montaje inicial y cualquier cambio de `rawTheme` ajeno a `setTheme`. */
|
|
14263
14283
|
useEffect(() => {
|
|
14264
|
-
|
|
14265
|
-
html.classList.remove(...ALL_THEMES);
|
|
14266
|
-
html.classList.add(rawTheme);
|
|
14284
|
+
applyThemeClass(document.documentElement, rawTheme);
|
|
14267
14285
|
}, [rawTheme]);
|
|
14268
14286
|
const { mode, color } = useMemo(() => {
|
|
14269
14287
|
const parts = rawTheme.split("-");
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deja en el `<html>` la clase del pack `theme` y ninguna otra de {@link ALL_THEMES}.
|
|
3
|
+
*
|
|
4
|
+
* El DOM se escribe SÍNCRONAMENTE y no se delega el `add` a un efecto de React a propósito:
|
|
5
|
+
* cuando una app reaplica el pack que ya estaba (tema de sesión + brand-config asíncrono con
|
|
6
|
+
* el mismo valor), el `setState` recibe un valor idéntico, React hace bail-out y el efecto no
|
|
7
|
+
* vuelve a correr. Con el `remove` aquí y el `add` allí, ese caso dejaba el `<html>` sin clase
|
|
8
|
+
* de tema y `--color-primary` caía al azul base del `@theme static`. Quitar y añadir juntas
|
|
9
|
+
* hace la función idempotente por construcción.
|
|
10
|
+
*/
|
|
11
|
+
export declare function applyThemeClass(root: HTMLElement, theme: string): void;
|
|
12
|
+
//# sourceMappingURL=apply-theme-class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-theme-class.d.ts","sourceRoot":"","sources":["../../../../src/providers/theme/apply-theme-class.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAGtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useThemeManager.d.ts","sourceRoot":"","sources":["../../../../src/providers/theme/useThemeManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,UAAU,EACV,SAAS,EACT,MAAM,yCAAyC,CAAC;AAiDjD;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;
|
|
1
|
+
{"version":3,"file":"useThemeManager.d.ts","sourceRoot":"","sources":["../../../../src/providers/theme/useThemeManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,UAAU,EACV,SAAS,EACT,MAAM,yCAAyC,CAAC;AAiDjD;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;uBAqFhB,SAAS;yBAUR,UAAU,GAAG,MAAM;CAiC/B,CAAC"}
|