@iyulab/modern-app 0.18.4 → 0.18.6
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 +31 -0
- package/dist/App.js +5 -5
- package/dist/layouts/SidebarLayout.styles.js +6 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.18.6] - 2026-08-24
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **`SidebarLayout`'s sidebar and mobile-header backgrounds now fall back to
|
|
8
|
+
`--u-bg-color-raised` instead of `--u-panel-bg-color`.** The sidebar is persistent chrome, not
|
|
9
|
+
a floating overlay (card/menu/dialog) — `--u-panel-bg-color`'s light value is the same white as
|
|
10
|
+
the page background, so an app that never set `--app-sidebar-bg` got a sidebar visually
|
|
11
|
+
indistinguishable from the page (and, since `u-group-box` also read `--u-panel-bg-color`, from
|
|
12
|
+
its own cards too — a three-way collapse). `--u-bg-color-raised` is the token this library
|
|
13
|
+
already documents for chrome surfaces adjacent to the page background, and `u-group-box`
|
|
14
|
+
switched to it in `0.18.2`; the sidebar now matches. Visual change for any consumer relying on
|
|
15
|
+
the unset default — light: sidebar goes from `#FFFFFF` to `#FAFAFA`; dark: `#1E1E1E` to
|
|
16
|
+
`#2A2A2A`, which also fixes the reported card/input collapse (`u-input`'s background stayed on
|
|
17
|
+
`--u-panel-bg-color`, so the sidebar now reads one step lighter than form fields instead of
|
|
18
|
+
identical to them). `--app-sidebar-bg`/`--app-header-bg` overrides still take precedence
|
|
19
|
+
exactly as before.
|
|
20
|
+
|
|
21
|
+
## [0.18.5] - 2026-08-23
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- **`App.load()` now initializes i18next before checking the `auth` gate.** Same ordering bug as
|
|
26
|
+
`0.18.4`'s theme fix, one layer down: when `auth.me()` resolves to `null`, `load()` renders the
|
|
27
|
+
login screen and returns before the shell is built, but `i18next.init()` used to run only after
|
|
28
|
+
the auth check passed. Any `renderLogin` screen that calls `i18next.t()` for its copy rendered
|
|
29
|
+
with i18next uninitialized (falling back to raw keys or an empty string, depending on
|
|
30
|
+
`returnEmptyString`/`returnNull`). i18n setup is pure display configuration independent of auth
|
|
31
|
+
state, so it now runs unconditionally before the gate alongside theme and icon setup — every
|
|
32
|
+
render path, including the pre-auth login screen, has translations available.
|
|
33
|
+
|
|
3
34
|
## [0.18.4] - 2026-08-23
|
|
4
35
|
|
|
5
36
|
### Fixed
|
package/dist/App.js
CHANGED
|
@@ -28,7 +28,11 @@ var o = class o {
|
|
|
28
28
|
return t;
|
|
29
29
|
}
|
|
30
30
|
async load(a) {
|
|
31
|
-
if (this.unload(), this._config = a, await i.init(a.theme), a.iconBasepath && r(a.iconBasepath), a.
|
|
31
|
+
if (this.unload(), this._config = a, await i.init(a.theme), a.iconBasepath && r(a.iconBasepath), a.i18n) {
|
|
32
|
+
for (let e of a.i18n.plugins || []) t.use(e);
|
|
33
|
+
await t.init(a.i18n);
|
|
34
|
+
}
|
|
35
|
+
if (a.auth) {
|
|
32
36
|
let e = await a.auth.me();
|
|
33
37
|
if (e == null) {
|
|
34
38
|
let e = a.root || document.body, t = a.auth.renderLogin({
|
|
@@ -42,10 +46,6 @@ var o = class o {
|
|
|
42
46
|
}
|
|
43
47
|
this._user = e, await a.auth.onAuthenticated?.(e);
|
|
44
48
|
}
|
|
45
|
-
if (a.i18n) {
|
|
46
|
-
for (let e of a.i18n.plugins || []) t.use(e);
|
|
47
|
-
await t.init(a.i18n);
|
|
48
|
-
}
|
|
49
49
|
let o = a.root || document.body;
|
|
50
50
|
this._layout = await this.createLayout(o, a.layout), this._screen = new e({
|
|
51
51
|
element: o,
|
|
@@ -76,7 +76,11 @@ var t = e`
|
|
|
76
76
|
justify-content: space-between;
|
|
77
77
|
gap: 8px;
|
|
78
78
|
height: 100%;
|
|
79
|
-
|
|
79
|
+
/* --u-panel-bg-color 가 아니라 --u-bg-color-raised — 사이드바는 카드·메뉴류의
|
|
80
|
+
"떠 있는 패널"이 아니라 상시 크롬이고, 그 구분이 정확히 두 토큰이 갈리는 지점이다
|
|
81
|
+
(light.css 293~298행 참조). 미설정 시 페이지(--u-bg-color)와 같은 흰색으로 앉아
|
|
82
|
+
사이드바·페이지·카드 삼중 무구분을 만들던 종전 폴백을 대체한다. */
|
|
83
|
+
background: var(--app-sidebar-bg, var(--u-bg-color-raised, #FAFAFA));
|
|
80
84
|
color: var(--app-sidebar-fg, var(--u-txt-color, #212121));
|
|
81
85
|
border-right: 1px solid var(--u-border-color, #E0E0E0);
|
|
82
86
|
transition: all 0.3s ease;
|
|
@@ -124,7 +128,7 @@ var t = e`
|
|
|
124
128
|
justify-content: space-between;
|
|
125
129
|
gap: 12px;
|
|
126
130
|
padding: 16px;
|
|
127
|
-
background: var(--app-header-bg, var(--u-
|
|
131
|
+
background: var(--app-header-bg, var(--u-bg-color-raised, #FAFAFA));
|
|
128
132
|
color: var(--app-header-fg, var(--u-txt-color, #212121));
|
|
129
133
|
border-bottom: 1px solid var(--u-border-color-weak, #EEEEEE);
|
|
130
134
|
user-select: none;
|