@iyulab/modern-app 0.18.6 → 0.18.7
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 +12 -0
- package/dist/_virtual/{_@oxc-project_runtime@0.146.0 → _@oxc-project_runtime@0.147.0}/helpers/esm/decorate.js +1 -1
- package/dist/_virtual/{_@oxc-project_runtime@0.146.0 → _@oxc-project_runtime@0.147.0}/helpers/esm/decorateMetadata.js +1 -1
- package/dist/components/ActionBar.js +2 -2
- package/dist/components/EmptyState.js +2 -2
- package/dist/components/GroupBox.js +2 -2
- package/dist/components/InfoField.js +2 -2
- package/dist/components/InfoSection.js +2 -2
- package/dist/components/MasterDetailLayout.js +2 -2
- package/dist/components/PageHeader.js +2 -2
- package/dist/components/SidebarButton.js +10 -9
- package/dist/components/SidebarGroup.js +12 -10
- package/dist/components/SidebarLink.js +4 -2
- package/dist/components/SidebarSection.js +2 -2
- package/dist/components/Wizard.js +2 -2
- package/dist/internals/StyledElement.js +2 -2
- package/dist/layouts/SidebarLayout.js +2 -2
- package/package.json +1 -1
- package/skills/modern-app/references/components/action-bar.md +9 -0
- package/skills/modern-app/references/components/empty-state.md +15 -0
- package/skills/modern-app/references/components/group-box.md +14 -0
- package/skills/modern-app/references/components/info-field.md +15 -0
- package/skills/modern-app/references/components/info-section.md +9 -0
- package/skills/modern-app/references/components/master-detail-layout.md +12 -0
- package/skills/modern-app/references/components/page-header.md +16 -0
- package/skills/modern-app/references/components/wizard.md +18 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.18.7] - 2026-08-27
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **`SidebarButton`, `SidebarLink`, and `SidebarGroup` lost their accessible
|
|
8
|
+
name entirely in compact (icon-only) sidebar mode.** Compact mode hides the
|
|
9
|
+
visible text label (`part="label"`), and hiding it also removes it from the
|
|
10
|
+
accessibility tree — with no fallback, a screen reader announced these as
|
|
11
|
+
unnamed buttons/links. When `label` is a plain string, it is now promoted to
|
|
12
|
+
`aria-label` while compact; the visible label still drives the name when
|
|
13
|
+
expanded, so nothing changes there.
|
|
14
|
+
|
|
3
15
|
## [0.18.6] - 2026-08-24
|
|
4
16
|
|
|
5
17
|
### Fixed
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region \0@oxc-project+runtime@0.
|
|
1
|
+
//#region \0@oxc-project+runtime@0.147.0/helpers/esm/decorate.js
|
|
2
2
|
function e(e, t, n, r) {
|
|
3
3
|
var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o;
|
|
4
4
|
if (typeof Reflect == "object" && typeof Reflect.decorate == "function") a = Reflect.decorate(e, t, n, r);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region \0@oxc-project+runtime@0.
|
|
1
|
+
//#region \0@oxc-project+runtime@0.147.0/helpers/esm/decorateMetadata.js
|
|
2
2
|
function e(e, t) {
|
|
3
3
|
if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(e, t);
|
|
4
4
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { slotHasContent as r } from "../internals/slotted.js";
|
|
5
5
|
import { styles as i } from "./ActionBar.styles.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { getLocaleStrings as r } from "../internals/locale.js";
|
|
5
5
|
import { slotHasContent as i } from "../internals/slotted.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { slotHasContent as r } from "../internals/slotted.js";
|
|
5
5
|
import { styles as i } from "./GroupBox.styles.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { styles as r } from "./InfoField.styles.js";
|
|
5
5
|
import { html as i } from "lit";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { styles as r } from "./InfoSection.styles.js";
|
|
5
5
|
import { html as i } from "lit";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { getLocaleStrings as r } from "../internals/locale.js";
|
|
5
5
|
import { slotHasContent as i } from "../internals/slotted.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { getLocaleStrings as r } from "../internals/locale.js";
|
|
5
5
|
import { slotHasContent as i } from "../internals/slotted.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { DEFAULT_NAV_ICON as r } from "../internals/nav-icon.js";
|
|
5
5
|
import { styles as i } from "./SidebarButton.styles.js";
|
|
6
|
-
import { html as a } from "lit";
|
|
7
|
-
import { customElement as
|
|
6
|
+
import { html as a, nothing as o } from "lit";
|
|
7
|
+
import { customElement as s, property as c } from "lit/decorators.js";
|
|
8
8
|
import "@iyulab/components/dist/components/icon/UIcon.js";
|
|
9
9
|
//#region src/components/SidebarButton.ts
|
|
10
|
-
var
|
|
10
|
+
var l = class extends n {
|
|
11
11
|
constructor(...e) {
|
|
12
12
|
super(...e), this.compact = !1;
|
|
13
13
|
}
|
|
@@ -15,8 +15,9 @@ var c = class extends n {
|
|
|
15
15
|
this.styles = [super.styles, i];
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
|
+
let e = this.compact && typeof this.label == "string" ? this.label : o;
|
|
18
19
|
return a`
|
|
19
|
-
<button part="base" ?compact=${this.compact}>
|
|
20
|
+
<button part="base" ?compact=${this.compact} aria-label=${e}>
|
|
20
21
|
<u-icon part="icon"
|
|
21
22
|
.lib=${this.lib}
|
|
22
23
|
.name=${this.icon}
|
|
@@ -29,9 +30,9 @@ var c = class extends n {
|
|
|
29
30
|
`;
|
|
30
31
|
}
|
|
31
32
|
};
|
|
32
|
-
t([
|
|
33
|
+
t([c({
|
|
33
34
|
type: Boolean,
|
|
34
35
|
reflect: !0
|
|
35
|
-
}), e("design:type", Object)],
|
|
36
|
+
}), e("design:type", Object)], l.prototype, "compact", void 0), t([c({ type: String }), e("design:type", String)], l.prototype, "icon", void 0), t([c({ type: String }), e("design:type", String)], l.prototype, "lib", void 0), t([c({ type: String }), e("design:type", Object)], l.prototype, "label", void 0), l = t([s("u-sidebar-button")], l);
|
|
36
37
|
//#endregion
|
|
37
|
-
export {
|
|
38
|
+
export { l as SidebarButton };
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { DEFAULT_NAV_ICON as r } from "../internals/nav-icon.js";
|
|
5
5
|
import { SidebarLink as i } from "./SidebarLink.js";
|
|
6
6
|
import { styles as a } from "./SidebarGroup.styles.js";
|
|
7
|
-
import { html as o } from "lit";
|
|
8
|
-
import { customElement as
|
|
7
|
+
import { html as o, nothing as s } from "lit";
|
|
8
|
+
import { customElement as c, property as l } from "lit/decorators.js";
|
|
9
9
|
import "@iyulab/components/dist/components/icon/UIcon.js";
|
|
10
10
|
//#region src/components/SidebarGroup.ts
|
|
11
|
-
var
|
|
11
|
+
var u = class extends n {
|
|
12
12
|
constructor(...e) {
|
|
13
13
|
super(...e), this.compact = !1, this.selected = !1, this.collapsed = !0, this.handleButtonClick = (e) => {
|
|
14
14
|
this.compact ? ((this.shadowRoot?.querySelector("slot")?.assignedElements({ flatten: !0 }).find((e) => e instanceof i))?.renderRoot.querySelector("u-link"))?.click() : this.collapsed = !this.collapsed;
|
|
@@ -18,10 +18,12 @@ var l = class extends n {
|
|
|
18
18
|
this.styles = [super.styles, a];
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
+
let e = this.compact && typeof this.label == "string" ? this.label : s;
|
|
21
22
|
return o`
|
|
22
23
|
<button part="header"
|
|
23
24
|
?compact=${this.compact}
|
|
24
25
|
?selected=${this.selected}
|
|
26
|
+
aria-label=${e}
|
|
25
27
|
@click=${this.handleButtonClick}>
|
|
26
28
|
<!--
|
|
27
29
|
⚠ ?hidden 을 걸지 않는다. 접힌 상태에서는 라벨과 캐럿이 모두 숨으므로,
|
|
@@ -51,15 +53,15 @@ var l = class extends n {
|
|
|
51
53
|
`;
|
|
52
54
|
}
|
|
53
55
|
};
|
|
54
|
-
t([
|
|
56
|
+
t([l({
|
|
55
57
|
type: Boolean,
|
|
56
58
|
reflect: !0
|
|
57
|
-
}), e("design:type", Boolean)],
|
|
59
|
+
}), e("design:type", Boolean)], u.prototype, "compact", void 0), t([l({
|
|
58
60
|
type: Boolean,
|
|
59
61
|
reflect: !0
|
|
60
|
-
}), e("design:type", Boolean)],
|
|
62
|
+
}), e("design:type", Boolean)], u.prototype, "selected", void 0), t([l({
|
|
61
63
|
type: Boolean,
|
|
62
64
|
reflect: !0
|
|
63
|
-
}), e("design:type", Boolean)],
|
|
65
|
+
}), e("design:type", Boolean)], u.prototype, "collapsed", void 0), t([l({ type: String }), e("design:type", String)], u.prototype, "icon", void 0), t([l({ type: String }), e("design:type", String)], u.prototype, "lib", void 0), t([l({ type: String }), e("design:type", Object)], u.prototype, "label", void 0), u = t([c("u-sidebar-group")], u);
|
|
64
66
|
//#endregion
|
|
65
|
-
export {
|
|
67
|
+
export { u as SidebarGroup };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { DEFAULT_NAV_ICON as r } from "../internals/nav-icon.js";
|
|
5
5
|
import { styles as i } from "./SidebarLink.styles.js";
|
|
@@ -15,12 +15,14 @@ var l = class extends n {
|
|
|
15
15
|
this.styles = [super.styles, i];
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
|
+
let e = this.compact && typeof this.label == "string" ? this.label : o;
|
|
18
19
|
return a`
|
|
19
20
|
<u-link
|
|
20
21
|
.href=${this.href || "#"}
|
|
21
22
|
.navigate=${this.navigate}
|
|
22
23
|
.target=${this.target}
|
|
23
24
|
aria-current=${this.selected ? "page" : o}
|
|
25
|
+
aria-label=${e}
|
|
24
26
|
>
|
|
25
27
|
<div class="container" part="base" ?compact=${this.compact}>
|
|
26
28
|
<u-icon part="icon"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { styles as r } from "./SidebarSection.styles.js";
|
|
5
5
|
import { html as i } from "lit";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { StyledElement as n } from "../internals/StyledElement.js";
|
|
4
4
|
import { getLocaleStrings as r } from "../internals/locale.js";
|
|
5
5
|
import { styles as i } from "./Wizard.styles.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import e from "../_virtual/_@oxc-project_runtime@0.
|
|
2
|
-
import t from "../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
3
3
|
import { property as n } from "lit/decorators.js";
|
|
4
4
|
import { UElement as r } from "@iyulab/components/dist/components/UElement.js";
|
|
5
5
|
//#region src/internals/StyledElement.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { app as e } from "../App.js";
|
|
2
2
|
import { filterSidebarItems as t } from "./filterSidebarItems.js";
|
|
3
|
-
import n from "../_virtual/_@oxc-project_runtime@0.
|
|
4
|
-
import r from "../_virtual/_@oxc-project_runtime@0.
|
|
3
|
+
import n from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorateMetadata.js";
|
|
4
|
+
import r from "../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/decorate.js";
|
|
5
5
|
import { StyledElement as i } from "../internals/StyledElement.js";
|
|
6
6
|
import { getLocaleStrings as a } from "../internals/locale.js";
|
|
7
7
|
import "../components/SidebarSection.js";
|
package/package.json
CHANGED
|
@@ -33,6 +33,15 @@ destructive ones separated on the trailing edge.
|
|
|
33
33
|
| `main` | Primary action group |
|
|
34
34
|
| `danger` | Destructive action group |
|
|
35
35
|
|
|
36
|
+
## CSS Custom Properties
|
|
37
|
+
|
|
38
|
+
| Property | Description |
|
|
39
|
+
|----------|-------------|
|
|
40
|
+
| `--u-bg-color` | Background when `sticky` |
|
|
41
|
+
| `--u-border-color-weak` | Top border when `sticky` |
|
|
42
|
+
| `--u-space-sm` | Gap between actions within a group |
|
|
43
|
+
| `--u-space-md` | Host and sticky-mode vertical padding |
|
|
44
|
+
|
|
36
45
|
⚠ `sticky` adds **vertical** padding only. It deliberately does not stretch to the container
|
|
37
46
|
edges with negative margins — that would assume the parent has exactly that much horizontal
|
|
38
47
|
padding, and when the assumption is wrong the bar overflows and clips its own buttons.
|
|
@@ -39,5 +39,20 @@ for both and a user with a filter still applied reads it as *"my data disappeare
|
|
|
39
39
|
|------|-------------|
|
|
40
40
|
| `icon` · `title` · `description` · `actions` | The four regions |
|
|
41
41
|
|
|
42
|
+
## CSS Custom Properties
|
|
43
|
+
|
|
44
|
+
| Property | Description |
|
|
45
|
+
|----------|-------------|
|
|
46
|
+
| `--empty-state-icon-size` | Icon slot font size |
|
|
47
|
+
| `--u-txt-color` | Title color |
|
|
48
|
+
| `--u-txt-color-weak` | Host and description text color |
|
|
49
|
+
| `--u-text-subtitle-size` / `-weight` / `-leading` | Title typography |
|
|
50
|
+
| `--u-text-caption-size` / `-leading` | Description typography |
|
|
51
|
+
| `--u-space-4xl` / `--u-space-xl` | Host padding (vertical / horizontal) |
|
|
52
|
+
| `--u-space-md` | Icon-to-title spacing |
|
|
53
|
+
| `--u-space-2xs` | Title-to-description spacing |
|
|
54
|
+
| `--u-space-lg` | Actions row top spacing |
|
|
55
|
+
| `--u-space-sm` | Gap between actions |
|
|
56
|
+
|
|
42
57
|
⚠ Default wording is **English** — register others with `registerLocale('ko', …)`, or pass
|
|
43
58
|
`title`/`description` per screen.
|
|
@@ -39,3 +39,17 @@ a left edge without any consumer CSS.
|
|
|
39
39
|
|------|-------------|
|
|
40
40
|
| `header` · `title` · `actions` | Header row |
|
|
41
41
|
| `body` | Body wrapper |
|
|
42
|
+
|
|
43
|
+
## CSS Custom Properties
|
|
44
|
+
|
|
45
|
+
| Property | Description |
|
|
46
|
+
|----------|-------------|
|
|
47
|
+
| `--u-text-subtitle-size` | Title font size |
|
|
48
|
+
| `--u-text-subtitle-weight` | Title font weight |
|
|
49
|
+
| `--u-text-subtitle-leading` | Title line height |
|
|
50
|
+
| `--u-text-subtitle-tracking` | Title letter spacing |
|
|
51
|
+
| `--u-bg-color-raised` | Surface background |
|
|
52
|
+
| `--u-border-color-weak` | Border and header divider color |
|
|
53
|
+
| `--u-radius-2xl` | Corner radius |
|
|
54
|
+
| `--u-shadow-sm` | Drop shadow |
|
|
55
|
+
| `--u-space-sm` / `--u-space-md` / `--u-space-xl` | Header/body spacing |
|
|
@@ -53,3 +53,18 @@ lone field it just pushes the value away from its label.
|
|
|
53
53
|
| Part | Description |
|
|
54
54
|
|------|-------------|
|
|
55
55
|
| `label` · `value` · `trend` | The label, the value, and the (optional) trend indicator |
|
|
56
|
+
|
|
57
|
+
## CSS Custom Properties
|
|
58
|
+
|
|
59
|
+
| Property | Description |
|
|
60
|
+
|----------|-------------|
|
|
61
|
+
| `--u-text-caption-size` / `-weight` / `-leading` | Label typography |
|
|
62
|
+
| `--u-txt-color-weak` | Label color, and blank-value (`—`) color |
|
|
63
|
+
| `--u-space-3xs` | Label-to-value spacing |
|
|
64
|
+
| `--u-text-body-size` / `-leading` | Value typography at default `size` |
|
|
65
|
+
| `--u-text-label-weight` | Value font weight at default `size` |
|
|
66
|
+
| `--u-text-body-weight` | Value font weight when `blank` |
|
|
67
|
+
| `--u-txt-color` | Value color |
|
|
68
|
+
| `--u-text-title-size` / `-weight` | Value typography when `size="lg"` |
|
|
69
|
+
| `--u-success-color-strong` | `tone="positive"` color (value and trend) |
|
|
70
|
+
| `--u-danger-color-strong` | `tone="negative"` color (value and trend) |
|
|
@@ -33,3 +33,12 @@ markup works inside a side panel.
|
|
|
33
33
|
| Part | Description |
|
|
34
34
|
|------|-------------|
|
|
35
35
|
| `grid` | Grid container |
|
|
36
|
+
|
|
37
|
+
## CSS Custom Properties
|
|
38
|
+
|
|
39
|
+
| Property | Description |
|
|
40
|
+
|----------|-------------|
|
|
41
|
+
| `--u-space-lg` / `--u-space-xl` | Grid gap (row / column) |
|
|
42
|
+
|
|
43
|
+
⚠ Column width is set via the `min` property, not a custom property — it's applied as an inline
|
|
44
|
+
style per instance, so a `--info-min` override in a stylesheet would lose to it.
|
|
@@ -64,3 +64,15 @@ configurable breakpoint means measuring the host's own width in JavaScript and r
|
|
|
64
64
|
| `divider` | Hairline between panes — hidden when there's no detail, or in overlay mode |
|
|
65
65
|
| `detail` | Detail pane |
|
|
66
66
|
| `detail-close` | Overlay-mode close button — hidden outside overlay mode |
|
|
67
|
+
|
|
68
|
+
## CSS Custom Properties
|
|
69
|
+
|
|
70
|
+
| Property | Description |
|
|
71
|
+
|----------|-------------|
|
|
72
|
+
| `--u-border-color-weak` | Divider color |
|
|
73
|
+
| `--u-panel-bg-color` | Detail pane background in overlay mode |
|
|
74
|
+
| `--u-shadow-lg` | Detail pane shadow in overlay mode |
|
|
75
|
+
| `--u-space-sm` | Close-button offset from the overlay edge |
|
|
76
|
+
|
|
77
|
+
⚠ The master pane's fixed width comes from the `masterSize` property (a CSS length, applied as
|
|
78
|
+
an inline style), not a custom property.
|
|
@@ -42,5 +42,21 @@ screens nobody opens.
|
|
|
42
42
|
| `title` · `subtitle` | Text elements |
|
|
43
43
|
| `status` · `actions` | Slot wrappers |
|
|
44
44
|
|
|
45
|
+
## CSS Custom Properties
|
|
46
|
+
|
|
47
|
+
| Property | Description |
|
|
48
|
+
|----------|-------------|
|
|
49
|
+
| `--u-text-display-size` / `-weight` / `-leading` / `-tracking` | Title typography |
|
|
50
|
+
| `--u-txt-color` | Title color |
|
|
51
|
+
| `--u-text-caption-size` / `-weight` / `-leading` | Subtitle typography |
|
|
52
|
+
| `--u-txt-color-weak` | Subtitle color |
|
|
53
|
+
| `--u-link-txt-color` | Back-link color |
|
|
54
|
+
| `--u-text-label-size` / `-weight` | Back-link typography |
|
|
55
|
+
| `--u-space-2xl` | Host bottom margin |
|
|
56
|
+
| `--u-space-md` | Row gap (heading vs. actions) |
|
|
57
|
+
| `--u-space-sm` | Title-row and actions internal gap |
|
|
58
|
+
| `--u-space-2xs` | Title-to-subtitle spacing |
|
|
59
|
+
| `--u-space-3xs` | Back-arrow-to-label spacing |
|
|
60
|
+
|
|
45
61
|
⚠ Built-in strings default to **English** — this package is a generic layer and cannot pick a
|
|
46
62
|
language. Register others with `registerLocale('ko', { back: '뒤로' })`.
|
|
@@ -82,3 +82,21 @@ clicked directly (a non-linear/"editable" stepper).
|
|
|
82
82
|
| `step` | Each step button (`role="tab"`) |
|
|
83
83
|
| `panel` | Wrapper around the active step's slotted content (`role="tabpanel"`) |
|
|
84
84
|
| `actions` | Back/Next (or overridden) action row |
|
|
85
|
+
|
|
86
|
+
## CSS Custom Properties
|
|
87
|
+
|
|
88
|
+
| Property | Description |
|
|
89
|
+
|----------|-------------|
|
|
90
|
+
| `--u-space-xl` | Indicator-to-content gap |
|
|
91
|
+
| `--u-space-lg` | Gap between content rows |
|
|
92
|
+
| `--u-space-sm` | Indicator step gap, marker-to-label gap, actions row gap |
|
|
93
|
+
| `--u-space-2xs` | Step button vertical padding |
|
|
94
|
+
| `--u-txt-color-weak` | Step label color (default state) |
|
|
95
|
+
| `--u-txt-color-disabled` | Step label color (`disabled`) |
|
|
96
|
+
| `--u-border-color-strong` | Marker border (default state) |
|
|
97
|
+
| `--u-primary-color` | Marker border/text and label color (`active`, `state-done`) |
|
|
98
|
+
| `--u-danger-color` | Marker border/text and label color (`state-error`) |
|
|
99
|
+
| `--u-txt-color-inverse` | Marker text color (`state-done`) |
|
|
100
|
+
| `--u-text-caption-size` | Marker font size |
|
|
101
|
+
| `--u-text-label-weight` | Marker font weight |
|
|
102
|
+
| `--u-text-label-size` | Step label font size |
|