@iyulab/modern-app 0.44.0 → 0.44.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 +17 -0
- package/dist/components/EmptyState.d.ts +1 -1
- package/dist/components/EmptyState.js +6 -2
- package/dist/components/EmptyState.styles.js +7 -0
- package/package.json +1 -1
- package/skills/modern-app/references/components/empty-state.md +2 -1
- package/skills/modern-app/references/components/master-detail-layout.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.44.2] - 2026-10-07
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **`u-empty-state variant="error"` announces the reason, not only the title.** The alert was the title alone, so a
|
|
8
|
+
screen reader heard "Couldn't load" while the screen showed why — and the reason decides the next step (try again,
|
|
9
|
+
ask for permission, change the query). The alert is now the title and the description together (a new `message`
|
|
10
|
+
part wraps them); the actions stay outside it. The other variants stay quiet.
|
|
11
|
+
|
|
12
|
+
## [0.44.1] - 2026-10-07
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- The master›detail examples (`docs/lob-primitives.md` and the `u-master-detail-layout` skill reference) read the
|
|
17
|
+
selection from `e.detail.selected`, which `u-rich-table`'s `selection-change` does not carry, and typed the event as
|
|
18
|
+
a `SelectionChangeEvent` that no package exports. They read `e.detail.selectedRows[0]`, typed by `RichTableEventMap`.
|
|
19
|
+
|
|
3
20
|
## [0.44.0] - 2026-10-07
|
|
4
21
|
|
|
5
22
|
### Added
|
|
@@ -36,8 +36,12 @@ var d = class extends n {
|
|
|
36
36
|
<div class="icon" part="icon" aria-hidden="true">
|
|
37
37
|
<slot name="icon">${e.icon}</slot>
|
|
38
38
|
</div>
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
<!-- 오류는 경보다 — 그 범위는 이 상태가 전하는 사실 전체(제목 + 사유)다. 사유가 다음 행동(다시 시도 · 권한 요청 ·
|
|
40
|
+
조건 고치기)을 가르므로 제목만 읽히면 듣는 사람이 다른 사실을 받는다. 행동 슬롯은 밖. -->
|
|
41
|
+
<div class="message" part="message" role=${this.variant === "error" ? "alert" : s}>
|
|
42
|
+
<p class="title" part="title">${this.title || e.title}</p>
|
|
43
|
+
${t ? o`<p class="description" part="description">${t}</p>` : s}
|
|
44
|
+
</div>
|
|
41
45
|
<div class="actions ${this.hasActions ? "" : "empty"}" part="actions">
|
|
42
46
|
<slot name="actions"
|
|
43
47
|
@slotchange=${(e) => this.hasActions = i(e.target)}
|
|
@@ -19,6 +19,13 @@ var t = e`
|
|
|
19
19
|
opacity: 0.7;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
/* 제목과 사유의 묶음 — 오류 변형의 경보 범위. 배치는 호스트와 같은 가운데 세로 줄. */
|
|
23
|
+
.message {
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
align-items: center;
|
|
27
|
+
}
|
|
28
|
+
|
|
22
29
|
.title {
|
|
23
30
|
margin: 0;
|
|
24
31
|
font-size: var(--u-text-subtitle-size, 16px);
|
package/package.json
CHANGED
|
@@ -16,7 +16,7 @@ for both and a user with a filter still applied reads it as *"my data disappeare
|
|
|
16
16
|
|
|
17
17
|
<u-empty-state variant="no-results"></u-empty-state>
|
|
18
18
|
|
|
19
|
-
<!-- The list could not be loaded — the next step is trying again. The title
|
|
19
|
+
<!-- The list could not be loaded — the next step is trying again. The title and the reason (description) are announced together (role="alert") — the reason decides what to do next. -->
|
|
20
20
|
<u-empty-state variant="error" description="Request failed (503)">
|
|
21
21
|
<u-button slot="actions">Try again</u-button>
|
|
22
22
|
</u-empty-state>
|
|
@@ -43,6 +43,7 @@ for both and a user with a filter still applied reads it as *"my data disappeare
|
|
|
43
43
|
| Part | Description |
|
|
44
44
|
|------|-------------|
|
|
45
45
|
| `icon` · `title` · `description` · `actions` | The four regions |
|
|
46
|
+
| `message` | Wraps `title` and `description` — the alert of `variant="error"` |
|
|
46
47
|
|
|
47
48
|
## CSS Custom Properties
|
|
48
49
|
|
|
@@ -13,7 +13,7 @@ Swap the `detail` slot's content when the selection changes:
|
|
|
13
13
|
|
|
14
14
|
```html
|
|
15
15
|
<u-master-detail-layout>
|
|
16
|
-
<u-rich-table @selection-change=${e => (detail = renderRecord(e.detail.
|
|
16
|
+
<u-rich-table @selection-change=${e => (detail = renderRecord(e.detail.selectedRows[0]))}>
|
|
17
17
|
…
|
|
18
18
|
</u-rich-table>
|
|
19
19
|
<div slot="detail">${detail}</div>
|