@trebired/frontend 12.12.3 → 12.12.4
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 +18 -0
- package/dist/src/theme/apply.d.ts.map +1 -1
- package/dist/src/theme/apply.js +43 -1
- package/dist/src/theme/apply.js.map +1 -1
- package/dist/src/theme/constants.d.ts +2 -1
- package/dist/src/theme/constants.d.ts.map +1 -1
- package/dist/src/theme/constants.js +2 -1
- package/dist/src/theme/constants.js.map +1 -1
- package/dist/styles/utils/base.scss +16 -6
- package/dist/theme/apply.d.ts.map +1 -1
- package/dist/theme/apply.js +43 -1
- package/dist/theme/apply.js.map +1 -1
- package/dist/theme/constants.d.ts +2 -1
- package/dist/theme/constants.d.ts.map +1 -1
- package/dist/theme/constants.js +2 -1
- package/dist/theme/constants.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,24 @@ All notable changes to `@trebired/frontend` will be documented here.
|
|
|
4
4
|
|
|
5
5
|
This project follows semantic versioning once published.
|
|
6
6
|
|
|
7
|
+
## 12.12.4
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Switching theme mode (light/dark) transitioned every element at its own locally-configured
|
|
12
|
+
color/background/border-color duration — tuned per component for hover/focus feedback (120ms on
|
|
13
|
+
the sidebar, 180ms on surfaces, undeclared and instant elsewhere) — because a theme switch just
|
|
14
|
+
changes the CSS vars those same properties read, and the browser can't tell "this changed from a
|
|
15
|
+
theme switch" from "this changed from a hover." The result looked staggered: some elements
|
|
16
|
+
settled into the new colors well before others. `styles/utils/base.scss` already had a
|
|
17
|
+
`[data-theme-switching="true"]` rule scaffolded for this, but nothing ever set that attribute,
|
|
18
|
+
and the rule itself disabled transitions entirely (`transition: none !important`) rather than
|
|
19
|
+
unifying them — trading "staggered" for "no transition," not a fix. `theme/apply.ts`'s
|
|
20
|
+
`applyTheme()` now sets `data-tbf-theme-switching="true"` for the duration of a switch (cleared
|
|
21
|
+
on `transitionend`, debounced, with a fallback timeout for e.g. `prefers-reduced-motion` where
|
|
22
|
+
nothing transitions at all), and the CSS rule forces one shared `transition-normal` duration for
|
|
23
|
+
every color-affecting property instead of disabling transitions.
|
|
24
|
+
|
|
7
25
|
## 12.12.3
|
|
8
26
|
|
|
9
27
|
### Fixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/theme/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,KAAK,uBAAuB,GAAG;IAC7B,GAAG,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAC,IAAI,GAAC,SAAS,CAAC,GAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,GAAC,OAAO,CAAC;CACvD,CAAC;AAEF,KAAK,mBAAmB,GAAG,gBAAgB,GAAE;IAC3C,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,IAAI,CAAC,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,KAAK,iBAAiB,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;AAIlD,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAE5D;AAED,iBAAS,YAAY,CAAC,IAAI,GAAE,QAAmB,GAAG,IAAI,CAErD;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGrF;AAUD,iBAAS,YAAY,IAAI,eAAe,CAEvC;AAED,iBAAS,iBAAiB,IAAI,eAAe,CAM5C;AAED,iBAAS,oBAAoB,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAa7D;AAED,iBAAS,cAAc,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGrE;AAED,iBAAS,eAAe,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGtE;AAED,iBAAS,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAEzF;AAED,iBAAS,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,eAAe,CAErF;
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/theme/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,KAAK,uBAAuB,GAAG;IAC7B,GAAG,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAC,IAAI,GAAC,SAAS,CAAC,GAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,GAAC,OAAO,CAAC;CACvD,CAAC;AAEF,KAAK,mBAAmB,GAAG,gBAAgB,GAAE;IAC3C,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,IAAI,CAAC,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,KAAK,iBAAiB,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;AAIlD,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAE5D;AAED,iBAAS,YAAY,CAAC,IAAI,GAAE,QAAmB,GAAG,IAAI,CAErD;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGrF;AAUD,iBAAS,YAAY,IAAI,eAAe,CAEvC;AAED,iBAAS,iBAAiB,IAAI,eAAe,CAM5C;AAED,iBAAS,oBAAoB,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAa7D;AAED,iBAAS,cAAc,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGrE;AAED,iBAAS,eAAe,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGtE;AAED,iBAAS,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAEzF;AAED,iBAAS,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,eAAe,CAErF;AAkDD,iBAAS,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAYpF;AAED,iBAAe,kBAAkB,CAC/B,OAAO,CAAC,EAAE,uBAAuB,EACjC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,UAAU,CAAC,CAOrB;AAED,iBAAe,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,CASjG;AAED,iBAAS,SAAS,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAIhE;AAED,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/src/theme/apply.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { THEME_ATTR, THEME_CHANGE_EVENT } from "./constants.js";
|
|
1
|
+
import { THEME_ATTR, THEME_CHANGE_EVENT, THEME_SWITCHING_ATTR } from "./constants.js";
|
|
2
2
|
import { findThemeMode, getThemeModes, themeModeKeyOf } from "./modes.js";
|
|
3
3
|
const themeSyncListeners = new Set();
|
|
4
4
|
function registerThemeSync(listener) {
|
|
@@ -66,12 +66,54 @@ function dispatchThemeChange(theme, themeKey) {
|
|
|
66
66
|
detail: { theme, themeKey },
|
|
67
67
|
}));
|
|
68
68
|
}
|
|
69
|
+
let themeSwitchQuietTimer = null;
|
|
70
|
+
let themeSwitchFallbackTimer = null;
|
|
71
|
+
function endThemeSwitch() {
|
|
72
|
+
document.documentElement.removeAttribute(THEME_SWITCHING_ATTR);
|
|
73
|
+
document.documentElement.removeEventListener("transitionend", onThemeSwitchTransitionEnd);
|
|
74
|
+
if (themeSwitchQuietTimer)
|
|
75
|
+
clearTimeout(themeSwitchQuietTimer);
|
|
76
|
+
if (themeSwitchFallbackTimer)
|
|
77
|
+
clearTimeout(themeSwitchFallbackTimer);
|
|
78
|
+
themeSwitchQuietTimer = null;
|
|
79
|
+
themeSwitchFallbackTimer = null;
|
|
80
|
+
}
|
|
81
|
+
function onThemeSwitchTransitionEnd() {
|
|
82
|
+
if (themeSwitchQuietTimer)
|
|
83
|
+
clearTimeout(themeSwitchQuietTimer);
|
|
84
|
+
themeSwitchQuietTimer = setTimeout(endThemeSwitch, 50);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Every element's own color/background/border transition (tuned for its own
|
|
88
|
+
* hover/focus feedback) also fires when a CSS var it reads changes value on
|
|
89
|
+
* theme switch — so without this, each element settles on its own local
|
|
90
|
+
* duration and the switch looks staggered. `data-tbf-theme-switching`
|
|
91
|
+
* forces one shared transition (see styles/utils/base.scss) for the
|
|
92
|
+
* switch's duration, so every element moves together. Cleared on
|
|
93
|
+
* `transitionend` (debounced, since many elements fire it) rather than a
|
|
94
|
+
* fixed delay, so it stays correct if an app customizes the transition
|
|
95
|
+
* duration; the fallback timer is just a safety net in case nothing
|
|
96
|
+
* transitions at all (e.g. `prefers-reduced-motion`).
|
|
97
|
+
*/
|
|
98
|
+
function beginThemeSwitch() {
|
|
99
|
+
if (typeof document === "undefined")
|
|
100
|
+
return;
|
|
101
|
+
document.documentElement.setAttribute(THEME_SWITCHING_ATTR, "true");
|
|
102
|
+
document.documentElement.addEventListener("transitionend", onThemeSwitchTransitionEnd);
|
|
103
|
+
if (themeSwitchQuietTimer)
|
|
104
|
+
clearTimeout(themeSwitchQuietTimer);
|
|
105
|
+
themeSwitchQuietTimer = setTimeout(endThemeSwitch, 50);
|
|
106
|
+
if (themeSwitchFallbackTimer)
|
|
107
|
+
clearTimeout(themeSwitchFallbackTimer);
|
|
108
|
+
themeSwitchFallbackTimer = setTimeout(endThemeSwitch, 1000);
|
|
109
|
+
}
|
|
69
110
|
function applyTheme(theme, options = {}) {
|
|
70
111
|
if (typeof document === "undefined")
|
|
71
112
|
return getEffectiveTheme(theme, options);
|
|
72
113
|
const normalized = normalizeTheme(theme, options);
|
|
73
114
|
const next = normalized || systemThemeKey(options);
|
|
74
115
|
const previous = currentDomTheme(options);
|
|
116
|
+
beginThemeSwitch();
|
|
75
117
|
document.documentElement.setAttribute(THEME_ATTR, next);
|
|
76
118
|
applyDeviceScheme();
|
|
77
119
|
document.body?.setAttribute(THEME_ATTR, next);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/theme/apply.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/theme/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ declare const THEME_MODES_CSS_VAR: `--${string}`;
|
|
|
8
8
|
declare const THEME_MODES_GLOBAL_KEY = "tbf.frontend.theme.modes";
|
|
9
9
|
declare const THEME_TOGGLE_SELECTOR: string;
|
|
10
10
|
declare const THEME_SELECT_SELECTOR: string;
|
|
11
|
+
declare const THEME_SWITCHING_ATTR: `data-${string}`;
|
|
11
12
|
declare const THEME_OPTION_SELECTOR: string;
|
|
12
13
|
declare const THEME_LABEL_SELECTOR: string;
|
|
13
|
-
export { THEME_ATTR, THEME_BOUND_ATTR, THEME_CHANGE_EVENT, THEME_CURRENT_ATTR, THEME_DEFAULT_CSS_VAR, THEME_LABEL_SELECTOR, THEME_MODES_CSS_VAR, THEME_MODES_GLOBAL_KEY, THEME_OPTION_SELECTOR, THEME_SELECT_SELECTOR, THEME_TOGGLE_SELECTOR, THEME_VALUE_ATTR, };
|
|
14
|
+
export { THEME_ATTR, THEME_BOUND_ATTR, THEME_CHANGE_EVENT, THEME_CURRENT_ATTR, THEME_DEFAULT_CSS_VAR, THEME_LABEL_SELECTOR, THEME_MODES_CSS_VAR, THEME_MODES_GLOBAL_KEY, THEME_OPTION_SELECTOR, THEME_SELECT_SELECTOR, THEME_SWITCHING_ATTR, THEME_TOGGLE_SELECTOR, THEME_VALUE_ATTR, };
|
|
14
15
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/theme/constants.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,kBAA4B,CAAC;AAC7C,QAAA,MAAM,gBAAgB,kBAAkC,CAAC;AACzD,QAAA,MAAM,kBAAkB,kBAAoC,CAAC;AAC7D,QAAA,MAAM,gBAAgB,kBAAkC,CAAC;AACzD,QAAA,MAAM,kBAAkB,QAAmC,CAAC;AAC5D,QAAA,MAAM,qBAAqB,eAAkC,CAAC;AAC9D,QAAA,MAAM,mBAAmB,eAAgC,CAAC;AAC1D,QAAA,MAAM,sBAAsB,6BAA4C,CAAC;AACzE,QAAA,MAAM,qBAAqB,QAAuC,CAAC;AACnE,QAAA,MAAM,qBAAqB,QAAuC,CAAC;AACnE,QAAA,MAAM,qBAAqB,QAAsC,CAAC;AAClE,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AAEjE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,GACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/theme/constants.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,kBAA4B,CAAC;AAC7C,QAAA,MAAM,gBAAgB,kBAAkC,CAAC;AACzD,QAAA,MAAM,kBAAkB,kBAAoC,CAAC;AAC7D,QAAA,MAAM,gBAAgB,kBAAkC,CAAC;AACzD,QAAA,MAAM,kBAAkB,QAAmC,CAAC;AAC5D,QAAA,MAAM,qBAAqB,eAAkC,CAAC;AAC9D,QAAA,MAAM,mBAAmB,eAAgC,CAAC;AAC1D,QAAA,MAAM,sBAAsB,6BAA4C,CAAC;AACzE,QAAA,MAAM,qBAAqB,QAAuC,CAAC;AACnE,QAAA,MAAM,qBAAqB,QAAuC,CAAC;AACnE,QAAA,MAAM,oBAAoB,kBAAsC,CAAC;AACjE,QAAA,MAAM,qBAAqB,QAAsC,CAAC;AAClE,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AAEjE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,CAAC"}
|
|
@@ -9,7 +9,8 @@ const THEME_MODES_CSS_VAR = frontendCssVar("theme-modes");
|
|
|
9
9
|
const THEME_MODES_GLOBAL_KEY = `${FRONTEND_PREFIX}.frontend.theme.modes`;
|
|
10
10
|
const THEME_TOGGLE_SELECTOR = frontendDataSelector("theme-button");
|
|
11
11
|
const THEME_SELECT_SELECTOR = frontendDataSelector("theme-select");
|
|
12
|
+
const THEME_SWITCHING_ATTR = frontendDataAttr("theme-switching");
|
|
12
13
|
const THEME_OPTION_SELECTOR = frontendDataSelector("theme-value");
|
|
13
14
|
const THEME_LABEL_SELECTOR = frontendDataSelector("theme-label");
|
|
14
|
-
export { THEME_ATTR, THEME_BOUND_ATTR, THEME_CHANGE_EVENT, THEME_CURRENT_ATTR, THEME_DEFAULT_CSS_VAR, THEME_LABEL_SELECTOR, THEME_MODES_CSS_VAR, THEME_MODES_GLOBAL_KEY, THEME_OPTION_SELECTOR, THEME_SELECT_SELECTOR, THEME_TOGGLE_SELECTOR, THEME_VALUE_ATTR, };
|
|
15
|
+
export { THEME_ATTR, THEME_BOUND_ATTR, THEME_CHANGE_EVENT, THEME_CURRENT_ATTR, THEME_DEFAULT_CSS_VAR, THEME_LABEL_SELECTOR, THEME_MODES_CSS_VAR, THEME_MODES_GLOBAL_KEY, THEME_OPTION_SELECTOR, THEME_SELECT_SELECTOR, THEME_SWITCHING_ATTR, THEME_TOGGLE_SELECTOR, THEME_VALUE_ATTR, };
|
|
15
16
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/theme/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3H,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACzD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC7D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACzD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,qBAAqB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAC9D,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAC1D,MAAM,sBAAsB,GAAG,GAAG,eAAe,uBAAuB,CAAC;AACzE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACnE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACnE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAClE,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAEjE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,GACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/theme/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3H,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACzD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC7D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACzD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,qBAAqB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAC9D,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAC1D,MAAM,sBAAsB,GAAG,GAAG,eAAe,uBAAuB,CAAC;AACzE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACnE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACnE,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AACjE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAClE,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAEjE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,CAAC"}
|
|
@@ -61,12 +61,22 @@ body {
|
|
|
61
61
|
box-shadow 0.3s ease;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Every element normally transitions color/background/border at its own
|
|
66
|
+
* pace (tuned for its own hover/focus feedback), so a theme switch — which
|
|
67
|
+
* changes the CSS vars every one of them reads at once — looked staggered
|
|
68
|
+
* instead of uniform. Force one shared transition for everything while a
|
|
69
|
+
* switch is in flight (see theme/apply.ts's beginThemeSwitch()), instead of
|
|
70
|
+
* disabling transitions during the switch, which just traded "staggered"
|
|
71
|
+
* for "no transition at all".
|
|
72
|
+
*/
|
|
73
|
+
#{ns.data("theme-switching", "true")},
|
|
74
|
+
#{ns.data("theme-switching", "true")} *,
|
|
75
|
+
#{ns.data("theme-switching", "true")} *::before,
|
|
76
|
+
#{ns.data("theme-switching", "true")} *::after {
|
|
77
|
+
transition-property: background-color, border-color, color, fill, stroke, box-shadow, outline-color !important;
|
|
78
|
+
transition-duration: var(#{ns.css-var("transition-normal")}, 240ms) !important;
|
|
79
|
+
transition-timing-function: ease !important;
|
|
70
80
|
animation: none !important;
|
|
71
81
|
}
|
|
72
82
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/theme/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,KAAK,uBAAuB,GAAG;IAC7B,GAAG,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAC,IAAI,GAAC,SAAS,CAAC,GAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,GAAC,OAAO,CAAC;CACvD,CAAC;AAEF,KAAK,mBAAmB,GAAG,gBAAgB,GAAE;IAC3C,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,IAAI,CAAC,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,KAAK,iBAAiB,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;AAIlD,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAE5D;AAED,iBAAS,YAAY,CAAC,IAAI,GAAE,QAAmB,GAAG,IAAI,CAErD;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGrF;AAUD,iBAAS,YAAY,IAAI,eAAe,CAEvC;AAED,iBAAS,iBAAiB,IAAI,eAAe,CAM5C;AAED,iBAAS,oBAAoB,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAa7D;AAED,iBAAS,cAAc,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGrE;AAED,iBAAS,eAAe,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGtE;AAED,iBAAS,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAEzF;AAED,iBAAS,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,eAAe,CAErF;
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/theme/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,KAAK,uBAAuB,GAAG;IAC7B,GAAG,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAC,IAAI,GAAC,SAAS,CAAC,GAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,GAAC,OAAO,CAAC;CACvD,CAAC;AAEF,KAAK,mBAAmB,GAAG,gBAAgB,GAAE;IAC3C,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,IAAI,CAAC,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,KAAK,iBAAiB,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;AAIlD,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAE5D;AAED,iBAAS,YAAY,CAAC,IAAI,GAAE,QAAmB,GAAG,IAAI,CAErD;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGrF;AAUD,iBAAS,YAAY,IAAI,eAAe,CAEvC;AAED,iBAAS,iBAAiB,IAAI,eAAe,CAM5C;AAED,iBAAS,oBAAoB,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAa7D;AAED,iBAAS,cAAc,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGrE;AAED,iBAAS,eAAe,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAGtE;AAED,iBAAS,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAEzF;AAED,iBAAS,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,eAAe,CAErF;AAkDD,iBAAS,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAYpF;AAED,iBAAe,kBAAkB,CAC/B,OAAO,CAAC,EAAE,uBAAuB,EACjC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,UAAU,CAAC,CAOrB;AAED,iBAAe,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,CASjG;AAED,iBAAS,SAAS,CAAC,OAAO,GAAE,mBAAwB,GAAG,UAAU,CAIhE;AAED,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/theme/apply.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { THEME_ATTR, THEME_CHANGE_EVENT } from "./constants.js";
|
|
1
|
+
import { THEME_ATTR, THEME_CHANGE_EVENT, THEME_SWITCHING_ATTR } from "./constants.js";
|
|
2
2
|
import { findThemeMode, getThemeModes, themeModeKeyOf } from "./modes.js";
|
|
3
3
|
const themeSyncListeners = new Set();
|
|
4
4
|
function registerThemeSync(listener) {
|
|
@@ -66,12 +66,54 @@ function dispatchThemeChange(theme, themeKey) {
|
|
|
66
66
|
detail: { theme, themeKey },
|
|
67
67
|
}));
|
|
68
68
|
}
|
|
69
|
+
let themeSwitchQuietTimer = null;
|
|
70
|
+
let themeSwitchFallbackTimer = null;
|
|
71
|
+
function endThemeSwitch() {
|
|
72
|
+
document.documentElement.removeAttribute(THEME_SWITCHING_ATTR);
|
|
73
|
+
document.documentElement.removeEventListener("transitionend", onThemeSwitchTransitionEnd);
|
|
74
|
+
if (themeSwitchQuietTimer)
|
|
75
|
+
clearTimeout(themeSwitchQuietTimer);
|
|
76
|
+
if (themeSwitchFallbackTimer)
|
|
77
|
+
clearTimeout(themeSwitchFallbackTimer);
|
|
78
|
+
themeSwitchQuietTimer = null;
|
|
79
|
+
themeSwitchFallbackTimer = null;
|
|
80
|
+
}
|
|
81
|
+
function onThemeSwitchTransitionEnd() {
|
|
82
|
+
if (themeSwitchQuietTimer)
|
|
83
|
+
clearTimeout(themeSwitchQuietTimer);
|
|
84
|
+
themeSwitchQuietTimer = setTimeout(endThemeSwitch, 50);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Every element's own color/background/border transition (tuned for its own
|
|
88
|
+
* hover/focus feedback) also fires when a CSS var it reads changes value on
|
|
89
|
+
* theme switch — so without this, each element settles on its own local
|
|
90
|
+
* duration and the switch looks staggered. `data-tbf-theme-switching`
|
|
91
|
+
* forces one shared transition (see styles/utils/base.scss) for the
|
|
92
|
+
* switch's duration, so every element moves together. Cleared on
|
|
93
|
+
* `transitionend` (debounced, since many elements fire it) rather than a
|
|
94
|
+
* fixed delay, so it stays correct if an app customizes the transition
|
|
95
|
+
* duration; the fallback timer is just a safety net in case nothing
|
|
96
|
+
* transitions at all (e.g. `prefers-reduced-motion`).
|
|
97
|
+
*/
|
|
98
|
+
function beginThemeSwitch() {
|
|
99
|
+
if (typeof document === "undefined")
|
|
100
|
+
return;
|
|
101
|
+
document.documentElement.setAttribute(THEME_SWITCHING_ATTR, "true");
|
|
102
|
+
document.documentElement.addEventListener("transitionend", onThemeSwitchTransitionEnd);
|
|
103
|
+
if (themeSwitchQuietTimer)
|
|
104
|
+
clearTimeout(themeSwitchQuietTimer);
|
|
105
|
+
themeSwitchQuietTimer = setTimeout(endThemeSwitch, 50);
|
|
106
|
+
if (themeSwitchFallbackTimer)
|
|
107
|
+
clearTimeout(themeSwitchFallbackTimer);
|
|
108
|
+
themeSwitchFallbackTimer = setTimeout(endThemeSwitch, 1000);
|
|
109
|
+
}
|
|
69
110
|
function applyTheme(theme, options = {}) {
|
|
70
111
|
if (typeof document === "undefined")
|
|
71
112
|
return getEffectiveTheme(theme, options);
|
|
72
113
|
const normalized = normalizeTheme(theme, options);
|
|
73
114
|
const next = normalized || systemThemeKey(options);
|
|
74
115
|
const previous = currentDomTheme(options);
|
|
116
|
+
beginThemeSwitch();
|
|
75
117
|
document.documentElement.setAttribute(THEME_ATTR, next);
|
|
76
118
|
applyDeviceScheme();
|
|
77
119
|
document.body?.setAttribute(THEME_ATTR, next);
|
package/dist/theme/apply.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/theme/apply.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/theme/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ declare const THEME_MODES_CSS_VAR: `--${string}`;
|
|
|
8
8
|
declare const THEME_MODES_GLOBAL_KEY = "tbf.frontend.theme.modes";
|
|
9
9
|
declare const THEME_TOGGLE_SELECTOR: string;
|
|
10
10
|
declare const THEME_SELECT_SELECTOR: string;
|
|
11
|
+
declare const THEME_SWITCHING_ATTR: `data-${string}`;
|
|
11
12
|
declare const THEME_OPTION_SELECTOR: string;
|
|
12
13
|
declare const THEME_LABEL_SELECTOR: string;
|
|
13
|
-
export { THEME_ATTR, THEME_BOUND_ATTR, THEME_CHANGE_EVENT, THEME_CURRENT_ATTR, THEME_DEFAULT_CSS_VAR, THEME_LABEL_SELECTOR, THEME_MODES_CSS_VAR, THEME_MODES_GLOBAL_KEY, THEME_OPTION_SELECTOR, THEME_SELECT_SELECTOR, THEME_TOGGLE_SELECTOR, THEME_VALUE_ATTR, };
|
|
14
|
+
export { THEME_ATTR, THEME_BOUND_ATTR, THEME_CHANGE_EVENT, THEME_CURRENT_ATTR, THEME_DEFAULT_CSS_VAR, THEME_LABEL_SELECTOR, THEME_MODES_CSS_VAR, THEME_MODES_GLOBAL_KEY, THEME_OPTION_SELECTOR, THEME_SELECT_SELECTOR, THEME_SWITCHING_ATTR, THEME_TOGGLE_SELECTOR, THEME_VALUE_ATTR, };
|
|
14
15
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/theme/constants.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,kBAA4B,CAAC;AAC7C,QAAA,MAAM,gBAAgB,kBAAkC,CAAC;AACzD,QAAA,MAAM,kBAAkB,kBAAoC,CAAC;AAC7D,QAAA,MAAM,gBAAgB,kBAAkC,CAAC;AACzD,QAAA,MAAM,kBAAkB,QAAmC,CAAC;AAC5D,QAAA,MAAM,qBAAqB,eAAkC,CAAC;AAC9D,QAAA,MAAM,mBAAmB,eAAgC,CAAC;AAC1D,QAAA,MAAM,sBAAsB,6BAA4C,CAAC;AACzE,QAAA,MAAM,qBAAqB,QAAuC,CAAC;AACnE,QAAA,MAAM,qBAAqB,QAAuC,CAAC;AACnE,QAAA,MAAM,qBAAqB,QAAsC,CAAC;AAClE,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AAEjE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,GACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/theme/constants.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,kBAA4B,CAAC;AAC7C,QAAA,MAAM,gBAAgB,kBAAkC,CAAC;AACzD,QAAA,MAAM,kBAAkB,kBAAoC,CAAC;AAC7D,QAAA,MAAM,gBAAgB,kBAAkC,CAAC;AACzD,QAAA,MAAM,kBAAkB,QAAmC,CAAC;AAC5D,QAAA,MAAM,qBAAqB,eAAkC,CAAC;AAC9D,QAAA,MAAM,mBAAmB,eAAgC,CAAC;AAC1D,QAAA,MAAM,sBAAsB,6BAA4C,CAAC;AACzE,QAAA,MAAM,qBAAqB,QAAuC,CAAC;AACnE,QAAA,MAAM,qBAAqB,QAAuC,CAAC;AACnE,QAAA,MAAM,oBAAoB,kBAAsC,CAAC;AACjE,QAAA,MAAM,qBAAqB,QAAsC,CAAC;AAClE,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AAEjE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,CAAC"}
|
package/dist/theme/constants.js
CHANGED
|
@@ -9,7 +9,8 @@ const THEME_MODES_CSS_VAR = frontendCssVar("theme-modes");
|
|
|
9
9
|
const THEME_MODES_GLOBAL_KEY = `${FRONTEND_PREFIX}.frontend.theme.modes`;
|
|
10
10
|
const THEME_TOGGLE_SELECTOR = frontendDataSelector("theme-button");
|
|
11
11
|
const THEME_SELECT_SELECTOR = frontendDataSelector("theme-select");
|
|
12
|
+
const THEME_SWITCHING_ATTR = frontendDataAttr("theme-switching");
|
|
12
13
|
const THEME_OPTION_SELECTOR = frontendDataSelector("theme-value");
|
|
13
14
|
const THEME_LABEL_SELECTOR = frontendDataSelector("theme-label");
|
|
14
|
-
export { THEME_ATTR, THEME_BOUND_ATTR, THEME_CHANGE_EVENT, THEME_CURRENT_ATTR, THEME_DEFAULT_CSS_VAR, THEME_LABEL_SELECTOR, THEME_MODES_CSS_VAR, THEME_MODES_GLOBAL_KEY, THEME_OPTION_SELECTOR, THEME_SELECT_SELECTOR, THEME_TOGGLE_SELECTOR, THEME_VALUE_ATTR, };
|
|
15
|
+
export { THEME_ATTR, THEME_BOUND_ATTR, THEME_CHANGE_EVENT, THEME_CURRENT_ATTR, THEME_DEFAULT_CSS_VAR, THEME_LABEL_SELECTOR, THEME_MODES_CSS_VAR, THEME_MODES_GLOBAL_KEY, THEME_OPTION_SELECTOR, THEME_SELECT_SELECTOR, THEME_SWITCHING_ATTR, THEME_TOGGLE_SELECTOR, THEME_VALUE_ATTR, };
|
|
15
16
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/theme/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3H,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACzD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC7D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACzD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,qBAAqB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAC9D,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAC1D,MAAM,sBAAsB,GAAG,GAAG,eAAe,uBAAuB,CAAC;AACzE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACnE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACnE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAClE,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAEjE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,GACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/theme/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3H,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACzD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC7D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACzD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,qBAAqB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAC9D,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAC1D,MAAM,sBAAsB,GAAG,GAAG,eAAe,uBAAuB,CAAC;AACzE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACnE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AACnE,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AACjE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAClE,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAEjE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,CAAC"}
|
package/package.json
CHANGED