@iyulab/components 1.12.0 → 1.14.0
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 +101 -3
- package/dist/_virtual/_glob-assets_raw/dark.css.e8ac080d.js +1 -1
- package/dist/_virtual/_glob-assets_raw/light.css.637cb2f8.js +1 -1
- package/dist/components/UElement.styles.js +8 -8
- package/dist/components/UOverlayElement.styles.js +1 -1
- package/dist/components/alert/UAlert.styles.js +25 -25
- package/dist/components/avatar/UAvatar.styles.js +5 -5
- package/dist/components/badge/UBadge.styles.js +22 -22
- package/dist/components/breadcrumb/UBreadcrumb.styles.js +2 -2
- package/dist/components/breadcrumb-item/UBreadcrumbItem.styles.js +2 -2
- package/dist/components/button/UButton.styles.js +28 -28
- package/dist/components/button-group/UButtonGroup.styles.js +1 -1
- package/dist/components/card/UCard.styles.js +8 -8
- package/dist/components/carousel/UCarousel.styles.js +10 -10
- package/dist/components/checkbox/UCheckbox.styles.js +20 -20
- package/dist/components/copy-button/UCopyButton.styles.js +2 -2
- package/dist/components/dialog/UDialog.styles.js +10 -10
- package/dist/components/divider/UDivider.js +7 -5
- package/dist/components/divider/UDivider.styles.js +27 -7
- package/dist/components/drawer/UDrawer.styles.js +9 -9
- package/dist/components/field/UField.styles.js +4 -4
- package/dist/components/icon-button/UIconButton.styles.js +2 -2
- package/dist/components/input/UInput.styles.js +30 -30
- package/dist/components/menu/UMenu.styles.js +5 -5
- package/dist/components/menu-item/UMenuItem.styles.js +7 -7
- package/dist/components/option/UOption.styles.js +9 -9
- package/dist/components/progress-bar/UProgressBar.styles.js +12 -12
- package/dist/components/progress-ring/UProgressRing.styles.js +11 -11
- package/dist/components/radio/URadio.styles.js +6 -6
- package/dist/components/rating/URating.styles.js +3 -3
- package/dist/components/select/USelect.styles.js +34 -34
- package/dist/components/skeleton/USkeleton.d.ts +2 -2
- package/dist/components/skeleton/USkeleton.styles.js +5 -5
- package/dist/components/slider/USlider.styles.js +11 -11
- package/dist/components/spinner/USpinner.styles.js +11 -11
- package/dist/components/split-panel/USplitPanel.styles.js +3 -3
- package/dist/components/switch/USwitch.styles.js +10 -10
- package/dist/components/tab/UTab.styles.js +3 -3
- package/dist/components/tab-panel/UTabPanel.styles.js +22 -22
- package/dist/components/tag/UTag.styles.js +63 -63
- package/dist/components/textarea/UTextarea.styles.js +25 -25
- package/dist/components/tooltip/UTooltip.styles.js +5 -5
- package/dist/components/tree/UTree.d.ts +1 -1
- package/dist/components/tree/UTree.styles.js +6 -3
- package/dist/components/tree-item/UTreeItem.styles.js +7 -7
- package/dist/styles/dark.css +14 -0
- package/dist/styles/light.css +15 -0
- package/dist/utilities/Theme.d.ts +16 -1
- package/dist/utilities/Theme.js +22 -1
- package/package.json +1 -1
|
@@ -6,18 +6,18 @@ var styles = css`
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
:host {
|
|
9
|
-
color: var(--u-tooltip-txt-color);
|
|
9
|
+
color: var(--u-tooltip-txt-color, #FFFFFF);
|
|
10
10
|
font-family: var(--u-font-display, inherit);
|
|
11
11
|
font-size: 12px;
|
|
12
12
|
line-height: 1.25;
|
|
13
|
-
border-radius: var(--u-radius-md);
|
|
14
|
-
background-color: var(--u-tooltip-bg-color);
|
|
13
|
+
border-radius: var(--u-radius-md, 4px);
|
|
14
|
+
background-color: var(--u-tooltip-bg-color, rgba(0, 0, 0, 0.75));
|
|
15
15
|
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
|
|
16
16
|
transform: scale(0.9);
|
|
17
17
|
transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s 0.2s;
|
|
18
18
|
|
|
19
|
-
--tooltip-padding-block: 6px;
|
|
20
|
-
--tooltip-padding-inline: 8px;
|
|
19
|
+
--tooltip-padding-block: var(--u-space-xs, 6px);
|
|
20
|
+
--tooltip-padding-inline: var(--u-space-sm, 8px);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/* 여백은 내부 요소가 진다 — :host 에 두면 소비 앱 CSS 리셋에 지워진다. */
|
|
@@ -10,7 +10,7 @@ import { UTreeItem, TreeItemTrigger } from '../tree-item/UTreeItem.js';
|
|
|
10
10
|
* @cssprop tree-indent-guide-offset - 들여쓰기 가이드 선의 좌측 간격 (기본값: 8px)
|
|
11
11
|
* @cssprop tree-indent-guide-width - 들여쓰기 가이드 선의 두께 (기본값: 1px)
|
|
12
12
|
* @cssprop tree-indent-guide-style - 들여쓰기 가이드 선의 스타일 (기본값: solid)
|
|
13
|
-
* @cssprop tree-indent-guide-color - 들여쓰기 가이드 선의 색상 (기본값: var(--u-border-color-weak))
|
|
13
|
+
* @cssprop tree-indent-guide-color - 들여쓰기 가이드 선의 색상 (기본값: var(--u-border-color-weak, #EEEEEE))
|
|
14
14
|
*
|
|
15
15
|
* @event change - 선택된 아이템이 변경될 때 발생
|
|
16
16
|
*
|
|
@@ -6,13 +6,16 @@ var styles = css`
|
|
|
6
6
|
--tree-indent-guide-offset: 8px;
|
|
7
7
|
--tree-indent-guide-width: 1px;
|
|
8
8
|
--tree-indent-guide-style: solid;
|
|
9
|
-
--tree-indent-guide-color: var(--u-border-color-weak);
|
|
9
|
+
--tree-indent-guide-color: var(--u-border-color-weak, #EEEEEE);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
:host {
|
|
13
13
|
display: block;
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
/* rem 이 아니라 em 이다 — 루트 기준이면 소비자가 컨테이너 타이포를 키워도
|
|
15
|
+
트리만 따라오지 않는다. 기본 상황(루트 16px)에서는 두 단위가 같은 14px 이므로
|
|
16
|
+
시각은 바뀌지 않고, 상속 컨텍스트에서만 동작이 달라진다. */
|
|
17
|
+
font-size: 0.875em;
|
|
18
|
+
color: var(--u-txt-color, #212121);
|
|
16
19
|
}
|
|
17
20
|
`;
|
|
18
21
|
//#endregion
|
|
@@ -3,7 +3,7 @@ import { css } from "lit";
|
|
|
3
3
|
var styles = css`
|
|
4
4
|
:host {
|
|
5
5
|
--tree-item-depth: 0;
|
|
6
|
-
--tree-item-color: var(--u-primary-color);
|
|
6
|
+
--tree-item-color: var(--u-primary-color, #1E88E5);
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
:host {
|
|
@@ -33,12 +33,12 @@ var styles = css`
|
|
|
33
33
|
}
|
|
34
34
|
:host(:not([disabled])[trigger="item"]) .header:hover,
|
|
35
35
|
:host(:not([disabled])[trigger="item"]:focus-visible) .header {
|
|
36
|
-
background-color: var(--u-bg-color-hover);
|
|
36
|
+
background-color: var(--u-bg-color-hover, #F5F5F5);
|
|
37
37
|
}
|
|
38
38
|
.header[selected] {
|
|
39
39
|
color: color-mix(in srgb, var(--tree-item-color) 85%, black);
|
|
40
40
|
font-weight: 600;
|
|
41
|
-
background-color: color-mix(in srgb, var(--tree-item-color) 15%, var(--u-bg-color));
|
|
41
|
+
background-color: color-mix(in srgb, var(--tree-item-color) 15%, var(--u-bg-color, #FFFFFF));
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
::slotted([slot="prefix"]) {
|
|
@@ -67,14 +67,14 @@ var styles = css`
|
|
|
67
67
|
justify-content: center;
|
|
68
68
|
width: 18px;
|
|
69
69
|
height: 18px;
|
|
70
|
-
border-radius: var(--u-radius-sm);
|
|
70
|
+
border-radius: var(--u-radius-sm, 3px);
|
|
71
71
|
}
|
|
72
72
|
.prefix-toggler u-icon {
|
|
73
73
|
font-size: 12px;
|
|
74
74
|
}
|
|
75
75
|
:host(:not([disabled])[trigger="icon"]) .prefix-toggler:hover,
|
|
76
76
|
:host(:not([disabled])[trigger="icon"]:focus-visible) .prefix-toggler {
|
|
77
|
-
background-color: var(--u-bg-color-hover);
|
|
77
|
+
background-color: var(--u-bg-color-hover, #F5F5F5);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
/* ── checkbox ── */
|
|
@@ -86,8 +86,8 @@ var styles = css`
|
|
|
86
86
|
justify-content: center;
|
|
87
87
|
width: 16px;
|
|
88
88
|
height: 16px;
|
|
89
|
-
border-radius: var(--u-radius-sm);
|
|
90
|
-
border: 1.5px solid var(--u-input-border-color);
|
|
89
|
+
border-radius: var(--u-radius-sm, 3px);
|
|
90
|
+
border: 1.5px solid var(--u-input-border-color, #E0E0E0);
|
|
91
91
|
background-color: transparent;
|
|
92
92
|
transition: background-color 0.15s ease, border-color 0.15s ease;
|
|
93
93
|
cursor: pointer;
|
package/dist/styles/dark.css
CHANGED
|
@@ -188,6 +188,20 @@
|
|
|
188
188
|
--u-radius-pill: 9999px;
|
|
189
189
|
--u-radius-circle: 50%;
|
|
190
190
|
|
|
191
|
+
/* ==========================================================================
|
|
192
|
+
Space Scale — 컨테이너·오버레이의 절대 여백
|
|
193
|
+
⚠**여백은 하나의 축이 아니다.** 이 스케일은 컨테이너/오버레이의 **레이아웃 여백**만
|
|
194
|
+
담당한다. 폼·인라인 요소의 `em` 여백은 상속된 `font-size` 에 비례하는 것이 의도이므로
|
|
195
|
+
**여기로 흡수하지 않는다.** 반경과 마찬가지로 테마와 무관하므로 두 시트가 같다.
|
|
196
|
+
축 구분과 근거는 docs/design-tokens.md 참조.
|
|
197
|
+
========================================================================== */
|
|
198
|
+
--u-space-3xs: 2px;
|
|
199
|
+
--u-space-2xs: 4px;
|
|
200
|
+
--u-space-xs: 6px;
|
|
201
|
+
--u-space-sm: 8px;
|
|
202
|
+
--u-space-md: 12px;
|
|
203
|
+
--u-space-lg: 16px;
|
|
204
|
+
|
|
191
205
|
/* Text Colors */
|
|
192
206
|
--u-txt-color: var(--u-neutral-900);
|
|
193
207
|
--u-txt-color-inverse: var(--u-neutral-100);
|
package/dist/styles/light.css
CHANGED
|
@@ -188,6 +188,21 @@
|
|
|
188
188
|
--u-radius-pill: 9999px;
|
|
189
189
|
--u-radius-circle: 50%;
|
|
190
190
|
|
|
191
|
+
/* ==========================================================================
|
|
192
|
+
Space Scale — 컨테이너·오버레이의 절대 여백
|
|
193
|
+
⚠**여백은 하나의 축이 아니다.** 이 스케일은 컨테이너/오버레이(카드·대화상자·드로어·
|
|
194
|
+
알림·메뉴·툴팁 등)의 **레이아웃 여백**만 담당한다. 폼·인라인 요소의 `em` 여백은
|
|
195
|
+
상속된 `font-size` 에 비례하는 것이 의도이므로 **여기로 흡수하지 않는다** —
|
|
196
|
+
흡수하면 타이포를 키운 소비자의 여백이 따라 커지지 않는다.
|
|
197
|
+
축 구분과 근거는 docs/design-tokens.md 참조.
|
|
198
|
+
========================================================================== */
|
|
199
|
+
--u-space-3xs: 2px;
|
|
200
|
+
--u-space-2xs: 4px;
|
|
201
|
+
--u-space-xs: 6px;
|
|
202
|
+
--u-space-sm: 8px;
|
|
203
|
+
--u-space-md: 12px;
|
|
204
|
+
--u-space-lg: 16px;
|
|
205
|
+
|
|
191
206
|
/* Text Colors */
|
|
192
207
|
--u-txt-color: var(--u-neutral-900);
|
|
193
208
|
--u-txt-color-inverse: var(--u-neutral-0);
|
|
@@ -41,9 +41,24 @@ export declare class Theme {
|
|
|
41
41
|
*/
|
|
42
42
|
static init(options?: ThemeInitOptions): Promise<void>;
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
44
|
+
* 사용자가 **선택한** 테마를 가져옵니다 — `'system'` 을 포함합니다.
|
|
45
|
+
*
|
|
46
|
+
* ⚠**이 값을 밝기 판단에 그대로 쓰지 마십시오.** `'system'` 은 실제로 적용된 색이
|
|
47
|
+
* 아니라 *"OS 를 따른다"* 는 선호이며, 기본값이기도 합니다. 스타일이나 서드파티
|
|
48
|
+
* 에디터 테마를 고를 때는 {@link resolved} 를 쓰십시오.
|
|
45
49
|
*/
|
|
46
50
|
static get(): ThemeType | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* 문서에 **실제로 적용된** 테마를 가져옵니다 — 항상 `'light'` 또는 `'dark'` 입니다.
|
|
53
|
+
*
|
|
54
|
+
* `get()` 과 갈리는 지점은 `'system'` 일 때입니다. 선호가 system 이면 실효 테마는
|
|
55
|
+
* OS 설정에 따라 갈리는데, `get()` 은 그것을 알려주지 못합니다. 그래서 소비자가
|
|
56
|
+
* `get() === 'dark'` 로 분기하면 **system + OS 다크에서 밝은 화면을 그리게 됩니다**
|
|
57
|
+
* — 기본 설정이 system 이라 이 경로가 가장 흔합니다.
|
|
58
|
+
*
|
|
59
|
+
* 판정 순서: `<html theme>`(항상 실효값이 적힘) → 명시 선호 → `prefers-color-scheme`.
|
|
60
|
+
*/
|
|
61
|
+
static resolved(): 'light' | 'dark';
|
|
47
62
|
/**
|
|
48
63
|
* 현재 문서에 적용할 테마를 설정합니다.
|
|
49
64
|
*/
|
package/dist/utilities/Theme.js
CHANGED
|
@@ -83,7 +83,11 @@ var Theme = class {
|
|
|
83
83
|
this.log("theme initialized");
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
|
-
*
|
|
86
|
+
* 사용자가 **선택한** 테마를 가져옵니다 — `'system'` 을 포함합니다.
|
|
87
|
+
*
|
|
88
|
+
* ⚠**이 값을 밝기 판단에 그대로 쓰지 마십시오.** `'system'` 은 실제로 적용된 색이
|
|
89
|
+
* 아니라 *"OS 를 따른다"* 는 선호이며, 기본값이기도 합니다. 스타일이나 서드파티
|
|
90
|
+
* 에디터 테마를 고를 때는 {@link resolved} 를 쓰십시오.
|
|
87
91
|
*/
|
|
88
92
|
static get() {
|
|
89
93
|
switch (document.documentElement.getAttribute("data-theme")) {
|
|
@@ -94,6 +98,23 @@ var Theme = class {
|
|
|
94
98
|
}
|
|
95
99
|
}
|
|
96
100
|
/**
|
|
101
|
+
* 문서에 **실제로 적용된** 테마를 가져옵니다 — 항상 `'light'` 또는 `'dark'` 입니다.
|
|
102
|
+
*
|
|
103
|
+
* `get()` 과 갈리는 지점은 `'system'` 일 때입니다. 선호가 system 이면 실효 테마는
|
|
104
|
+
* OS 설정에 따라 갈리는데, `get()` 은 그것을 알려주지 못합니다. 그래서 소비자가
|
|
105
|
+
* `get() === 'dark'` 로 분기하면 **system + OS 다크에서 밝은 화면을 그리게 됩니다**
|
|
106
|
+
* — 기본 설정이 system 이라 이 경로가 가장 흔합니다.
|
|
107
|
+
*
|
|
108
|
+
* 판정 순서: `<html theme>`(항상 실효값이 적힘) → 명시 선호 → `prefers-color-scheme`.
|
|
109
|
+
*/
|
|
110
|
+
static resolved() {
|
|
111
|
+
const applied = document.documentElement.getAttribute("theme");
|
|
112
|
+
if (applied === "dark" || applied === "light") return applied;
|
|
113
|
+
const preference = this.get();
|
|
114
|
+
if (preference === "dark" || preference === "light") return preference;
|
|
115
|
+
return typeof window !== "undefined" && window.matchMedia?.("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
97
118
|
* 현재 문서에 적용할 테마를 설정합니다.
|
|
98
119
|
*/
|
|
99
120
|
static set(theme) {
|