@designbasekorea/theme 0.1.11 → 0.1.12

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/README.md ADDED
@@ -0,0 +1,408 @@
1
+ # @designbasekorea/theme
2
+
3
+ Designbase 테마 시스템 - CSS 변수, 테마 프리셋, 유틸리티 클래스를 제공합니다.
4
+
5
+ ![npm](https://img.shields.io/npm/v/@designbasekorea/theme)
6
+ ![license](https://img.shields.io/npm/l/@designbasekorea/theme)
7
+
8
+ ## 📦 설치
9
+
10
+ ### NPM
11
+ ```bash
12
+ npm install @designbasekorea/theme @designbasekorea/tokens
13
+ ```
14
+
15
+ ⚠️ **주의**: `@designbasekorea/tokens`는 필수 의존성입니다!
16
+
17
+ ### Yarn
18
+ ```bash
19
+ yarn add @designbasekorea/theme @designbasekorea/tokens
20
+ ```
21
+
22
+ ### pnpm
23
+ ```bash
24
+ pnpm add @designbasekorea/theme @designbasekorea/tokens
25
+ ```
26
+
27
+ ## 🚀 사용법
28
+
29
+ ### React/Next.js에서
30
+
31
+ ```tsx
32
+ // 1. 토큰 CSS 먼저 import (필수!)
33
+ import '@designbasekorea/tokens/dist/css/tokens.css';
34
+
35
+ // 2. 테마 CSS import
36
+ import '@designbasekorea/theme/dist/css/theme.css';
37
+
38
+ // 3. 테마 함수 사용
39
+ import { setTheme, getTheme } from '@designbasekorea/theme';
40
+
41
+ function App() {
42
+ const handleToggleTheme = () => {
43
+ const currentTheme = getTheme();
44
+ setTheme(currentTheme === 'light' ? 'dark' : 'light');
45
+ };
46
+
47
+ return (
48
+ <div>
49
+ <button onClick={handleToggleTheme}>
50
+ 테마 전환
51
+ </button>
52
+ </div>
53
+ );
54
+ }
55
+ ```
56
+
57
+ ### CDN 사용
58
+
59
+ ```html
60
+ <!DOCTYPE html>
61
+ <html lang="ko">
62
+ <head>
63
+ <!-- 1. 토큰 CSS 먼저! (필수) -->
64
+ <link rel="stylesheet" href="https://unpkg.com/@designbasekorea/tokens@latest/dist/css/tokens.css">
65
+
66
+ <!-- 2. 테마 CSS -->
67
+ <link rel="stylesheet" href="https://unpkg.com/@designbasekorea/theme@latest/dist/css/theme.css">
68
+ </head>
69
+ <body>
70
+ <button onclick="toggleTheme()">테마 전환</button>
71
+
72
+ <!-- 테마 스크립트 -->
73
+ <script src="https://unpkg.com/@designbasekorea/theme@latest/dist/index.umd.js"></script>
74
+ <script>
75
+ const { setTheme, getTheme } = DesignbaseTheme;
76
+
77
+ function toggleTheme() {
78
+ const current = getTheme();
79
+ setTheme(current === 'light' ? 'dark' : 'light');
80
+ }
81
+ </script>
82
+ </body>
83
+ </html>
84
+ ```
85
+
86
+ ## 🎨 테마 변수
87
+
88
+ 테마는 디자인 토큰을 **사용하기 쉬운 단축 변수**로 제공합니다.
89
+
90
+ ### 색상 변수
91
+
92
+ ```css
93
+ /* 배경색 */
94
+ --db-bg-primary: 주요 배경색
95
+ --db-bg-secondary: 보조 배경색
96
+ --db-bg-tertiary: 3차 배경색
97
+ --db-bg-inverse: 반전 배경색
98
+
99
+ /* 텍스트 색상 */
100
+ --db-text-primary: 주요 텍스트
101
+ --db-text-secondary: 보조 텍스트
102
+ --db-text-tertiary: 3차 텍스트
103
+ --db-text-disabled: 비활성 텍스트
104
+ --db-text-inverse: 반전 텍스트
105
+
106
+ /* 테두리 색상 */
107
+ --db-border-primary: 주요 테두리
108
+ --db-border-secondary: 보조 테두리
109
+ --db-border-muted: 연한 테두리
110
+ --db-border-focus: 포커스 테두리
111
+ --db-border-error: 에러 테두리
112
+
113
+ /* 상태 색상 */
114
+ --db-color-primary: 주요 색상
115
+ --db-color-success: 성공 색상
116
+ --db-color-warning: 경고 색상
117
+ --db-color-danger: 위험 색상
118
+ --db-color-info: 정보 색상
119
+ ```
120
+
121
+ ### 간격 변수
122
+
123
+ ```css
124
+ /* Padding */
125
+ --db-padding-xs: 4px
126
+ --db-padding-s: 8px
127
+ --db-padding-m: 16px
128
+ --db-padding-l: 24px
129
+ --db-padding-xl: 32px
130
+
131
+ /* Margin */
132
+ --db-margin-xs: 4px
133
+ --db-margin-s: 8px
134
+ --db-margin-m: 16px
135
+ --db-margin-l: 24px
136
+ --db-margin-xl: 32px
137
+
138
+ /* Gap */
139
+ --db-gap-xs: 4px
140
+ --db-gap-s: 8px
141
+ --db-gap-m: 16px
142
+ --db-gap-l: 24px
143
+ --db-gap-xl: 32px
144
+ ```
145
+
146
+ ### 타이포그래피 변수
147
+
148
+ ```css
149
+ /* Font Size */
150
+ --db-text-xs: 12px (caption)
151
+ --db-text-s: 14px (small body)
152
+ --db-text-m: 16px (body)
153
+ --db-text-l: 18px (large body)
154
+ --db-text-xl: 24px (heading small)
155
+ --db-text-2xl: 32px (heading medium)
156
+ --db-text-3xl: 48px (heading large)
157
+
158
+ /* Font Weight */
159
+ --db-font-regular: 400
160
+ --db-font-medium: 500
161
+ --db-font-semibold: 600
162
+ --db-font-bold: 700
163
+
164
+ /* Line Height */
165
+ --db-leading-tight: 1.2
166
+ --db-leading-normal: 1.5
167
+ --db-leading-relaxed: 1.75
168
+ ```
169
+
170
+ ### Border Radius 변수
171
+
172
+ ```css
173
+ --db-radius-xs: 2px
174
+ --db-radius-s: 4px
175
+ --db-radius-m: 8px
176
+ --db-radius-l: 12px
177
+ --db-radius-xl: 16px
178
+ --db-radius-full: 9999px (원형)
179
+
180
+ /* 컴포넌트별 */
181
+ --db-radius-button: 8px
182
+ --db-radius-input: 6px
183
+ --db-radius-card-s: 8px
184
+ --db-radius-card-m: 12px
185
+ --db-radius-card-l: 16px
186
+ ```
187
+
188
+ ### Shadow 변수
189
+
190
+ ```css
191
+ --db-shadow-xs: 미세한 그림자
192
+ --db-shadow-s: 작은 그림자
193
+ --db-shadow-m: 중간 그림자
194
+ --db-shadow-l: 큰 그림자
195
+ --db-shadow-xl: 매우 큰 그림자
196
+
197
+ /* 컴포넌트별 */
198
+ --db-shadow-dropdown: 드롭다운 그림자
199
+ --db-shadow-modal: 모달 그림자
200
+ --db-shadow-tooltip: 툴팁 그림자
201
+ ```
202
+
203
+ ## 🌓 다크 테마
204
+
205
+ ### 자동 테마 전환
206
+
207
+ ```tsx
208
+ import { setTheme, getTheme, initTheme } from '@designbasekorea/theme';
209
+
210
+ // 앱 초기화 시 시스템 설정 따르기
211
+ initTheme(); // localStorage 또는 시스템 선호도 확인
212
+
213
+ // 수동 전환
214
+ setTheme('dark');
215
+ setTheme('light');
216
+
217
+ // 현재 테마 확인
218
+ const currentTheme = getTheme(); // 'light' | 'dark'
219
+ ```
220
+
221
+ ### HTML 속성
222
+
223
+ 테마는 `data-theme` 속성으로 제어됩니다:
224
+
225
+ ```html
226
+ <!-- 라이트 테마 -->
227
+ <html data-theme="light">
228
+
229
+ <!-- 다크 테마 -->
230
+ <html data-theme="dark">
231
+ ```
232
+
233
+ ### CSS에서 테마별 스타일링
234
+
235
+ ```css
236
+ /* 라이트 테마 전용 */
237
+ [data-theme="light"] .my-component {
238
+ background: white;
239
+ }
240
+
241
+ /* 다크 테마 전용 */
242
+ [data-theme="dark"] .my-component {
243
+ background: black;
244
+ }
245
+
246
+ /* 또는 테마 변수 사용 (권장) */
247
+ .my-component {
248
+ background: var(--db-bg-primary);
249
+ color: var(--db-text-primary);
250
+ }
251
+ ```
252
+
253
+ ## 🎯 실제 사용 예시
254
+
255
+ ### 버튼 스타일링
256
+
257
+ ```css
258
+ .btn {
259
+ padding: var(--db-padding-m) var(--db-padding-l);
260
+ font-size: var(--db-text-m);
261
+ font-weight: var(--db-font-semibold);
262
+ border-radius: var(--db-radius-button);
263
+ border: 1px solid var(--db-border-primary);
264
+ background: var(--db-bg-primary);
265
+ color: var(--db-text-primary);
266
+ box-shadow: var(--db-shadow-s);
267
+ transition: all 0.2s ease;
268
+ }
269
+
270
+ .btn:hover {
271
+ background: var(--db-bg-secondary);
272
+ box-shadow: var(--db-shadow-m);
273
+ }
274
+
275
+ .btn-primary {
276
+ background: var(--db-color-primary);
277
+ color: white;
278
+ border-color: var(--db-color-primary);
279
+ }
280
+ ```
281
+
282
+ ### 카드 스타일링
283
+
284
+ ```css
285
+ .card {
286
+ padding: var(--db-padding-xl);
287
+ background: var(--db-bg-primary);
288
+ border: 1px solid var(--db-border-primary);
289
+ border-radius: var(--db-radius-card-m);
290
+ box-shadow: var(--db-shadow-m);
291
+ }
292
+
293
+ .card-title {
294
+ font-size: var(--db-text-2xl);
295
+ font-weight: var(--db-font-bold);
296
+ color: var(--db-text-primary);
297
+ margin-bottom: var(--db-margin-m);
298
+ }
299
+
300
+ .card-content {
301
+ font-size: var(--db-text-m);
302
+ color: var(--db-text-secondary);
303
+ line-height: var(--db-leading-relaxed);
304
+ }
305
+ ```
306
+
307
+ ## 📦 Export 형식
308
+
309
+ | 형식 | 경로 | 설명 |
310
+ |------|------|------|
311
+ | CSS | `dist/css/theme.css` | 테마 CSS 변수 |
312
+ | TypeScript | `dist/index.d.ts` | 타입 정의 |
313
+ | ESM | `dist/index.esm.js` | ES Module (setTheme, getTheme 함수) |
314
+ | CJS | `dist/index.js` | CommonJS |
315
+ | UMD | `dist/index.umd.js` | Universal Module (CDN) |
316
+
317
+ ## 🔧 API
318
+
319
+ ### `setTheme(theme: 'light' | 'dark'): void`
320
+
321
+ 테마를 설정하고 `data-theme` 속성을 업데이트합니다.
322
+
323
+ ```tsx
324
+ import { setTheme } from '@designbasekorea/theme';
325
+
326
+ setTheme('dark'); // 다크 테마로 전환
327
+ ```
328
+
329
+ ### `getTheme(): 'light' | 'dark'`
330
+
331
+ 현재 활성화된 테마를 반환합니다.
332
+
333
+ ```tsx
334
+ import { getTheme } from '@designbasekorea/theme';
335
+
336
+ const currentTheme = getTheme(); // 'light' or 'dark'
337
+ ```
338
+
339
+ ### `initTheme(): void`
340
+
341
+ 앱 초기화 시 호출하여 저장된 테마 또는 시스템 선호도를 적용합니다.
342
+
343
+ ```tsx
344
+ import { initTheme } from '@designbasekorea/theme';
345
+
346
+ // 앱 진입점에서
347
+ initTheme();
348
+ ```
349
+
350
+ ### `watchTheme(callback: (theme: Theme) => void): () => void`
351
+
352
+ 테마 변경을 감지합니다.
353
+
354
+ ```tsx
355
+ import { watchTheme } from '@designbasekorea/theme';
356
+
357
+ const unwatch = watchTheme((theme) => {
358
+ console.log('테마 변경됨:', theme);
359
+ });
360
+
361
+ // 감지 중단
362
+ unwatch();
363
+ ```
364
+
365
+ ## 🔄 버전 히스토리
366
+
367
+ ### 0.1.11 (Latest)
368
+ - ✅ CSS export 경로 수정 (`./dist/css/theme.css`)
369
+ - ✅ UI 패키지 통합 개선
370
+
371
+ ### 0.1.10
372
+ - ✅ Border 색상 변수 상태별 세분화
373
+ - ✅ 다크 테마 border 색상 최적화
374
+
375
+ ### 0.1.9
376
+ - ✅ 테마 변수 체계 확립
377
+ - ✅ `--db-*` 네이밍 컨벤션 도입
378
+
379
+ ## 🔗 관련 패키지
380
+
381
+ - [@designbasekorea/tokens](../tokens) - 디자인 토큰 (필수 의존성)
382
+ - [@designbasekorea/ui](../ui) - UI 컴포넌트 (이 테마 사용)
383
+
384
+ ## ⚠️ 주의사항
385
+
386
+ ### 1. 토큰 먼저 로드하기
387
+
388
+ 테마는 토큰을 기반으로 하므로 **반드시 토큰을 먼저 로드**해야 합니다:
389
+
390
+ ```tsx
391
+ // ✅ 올바른 순서
392
+ import '@designbasekorea/tokens/dist/css/tokens.css';
393
+ import '@designbasekorea/theme/dist/css/theme.css';
394
+
395
+ // ❌ 잘못된 순서
396
+ import '@designbasekorea/theme/dist/css/theme.css';
397
+ import '@designbasekorea/tokens/dist/css/tokens.css';
398
+ ```
399
+
400
+ ### 2. 버전 호환성
401
+
402
+ - Tokens `0.1.7+` 필요
403
+ - UI `0.1.0+` 호환
404
+
405
+ ## 📄 라이선스
406
+
407
+ MIT
408
+
@@ -0,0 +1,25 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ type Story = StoryObj;
5
+ /**
6
+ * 테마 기본 변수들
7
+ */
8
+ export declare const ThemeVariables: Story;
9
+ /**
10
+ * 시멘틱 색상 (테마에 따라 변함)
11
+ */
12
+ export declare const SemanticColors: Story;
13
+ /**
14
+ * 상태별 색상 (Interactive)
15
+ */
16
+ export declare const StateColors: Story;
17
+ /**
18
+ * 컴포넌트별 테마 변수
19
+ */
20
+ export declare const ComponentVariables: Story;
21
+ /**
22
+ * 테마 전환 데모
23
+ */
24
+ export declare const ThemeDemo: Story;
25
+ //# sourceMappingURL=ThemeTokens.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeTokens.stories.d.ts","sourceRoot":"","sources":["../src/ThemeTokens.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAiGvD,QAAA,MAAM,IAAI,EAAE,IAqCX,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAyC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAsC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAqCzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAiChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAkEvB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /* merged from @designbase/tokens/css */
2
2
  /**
3
3
  * Designbase Korea Design Tokens
4
- * Generated: 2025-09-11T08:22:39.164Z
5
- * Version: 0.1.7
4
+ * Generated: 2025-10-14T09:21:11.212Z
5
+ * Version: 0.1.8
6
6
  *
7
7
  * Structure:
8
8
  * - Foundation: Raw scales (global)
@@ -12,10 +12,235 @@
12
12
  */
13
13
 
14
14
  :root {
15
+ --z-index-foundation-toast: 1030;
16
+ --z-index-foundation-tooltip: 1020;
17
+ --z-index-foundation-popover: 1010;
18
+ --z-index-foundation-modal: 1000;
19
+ --z-index-foundation-auto: auto;
20
+ --z-index-foundation-50: 50;
21
+ --z-index-foundation-40: 40;
22
+ --z-index-foundation-30: 30;
23
+ --z-index-foundation-20: 20;
24
+ --z-index-foundation-10: 10;
25
+ --z-index-foundation-0: 0;
26
+ --typography-foundation-line-height-loose: 2;
27
+ --typography-foundation-line-height-relaxed: 1.625;
28
+ --typography-foundation-line-height-normal: 1.5;
29
+ --typography-foundation-line-height-snug: 1.375;
30
+ --typography-foundation-line-height-tight: 1.25;
31
+ --typography-foundation-line-height-none: 1;
32
+ --typography-foundation-font-weight-extrabold: 800;
33
+ --typography-foundation-font-weight-bold: 700;
34
+ --typography-foundation-font-weight-semibold: 600;
35
+ --typography-foundation-font-weight-medium: 500;
36
+ --typography-foundation-font-weight-normal: 400;
37
+ --typography-foundation-font-weight-light: 300;
38
+ --typography-foundation-font-size-6xl: 3.75rem;
39
+ --typography-foundation-font-size-5xl: 3rem;
40
+ --typography-foundation-font-size-4xl: 2.25rem;
41
+ --typography-foundation-font-size-3xl: 1.875rem;
42
+ --typography-foundation-font-size-2xl: 1.5rem;
43
+ --typography-foundation-font-size-xl: 1.25rem;
44
+ --typography-foundation-font-size-l: 1.125rem;
45
+ --typography-foundation-font-size-base: 1rem;
46
+ --typography-foundation-font-size-s: 0.875rem;
47
+ --typography-foundation-font-size-xs: 0.75rem;
48
+ --typography-foundation-font-family-mono: 'SF Mono', Monaco, Inconsolata, 'Roboto Mono', 'Source Code Pro', monospace;
49
+ --typography-foundation-font-family-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
50
+ --spacing-foundation-96: 24rem;
51
+ --spacing-foundation-80: 20rem;
52
+ --spacing-foundation-72: 18rem;
53
+ --spacing-foundation-64: 16rem;
54
+ --spacing-foundation-60: 15rem;
55
+ --spacing-foundation-56: 14rem;
56
+ --spacing-foundation-52: 13rem;
57
+ --spacing-foundation-48: 12rem;
58
+ --spacing-foundation-44: 11rem;
59
+ --spacing-foundation-40: 10rem;
60
+ --spacing-foundation-36: 9rem;
61
+ --spacing-foundation-32: 8rem;
62
+ --spacing-foundation-28: 7rem;
63
+ --spacing-foundation-24: 6rem;
64
+ --spacing-foundation-20: 5rem;
65
+ --spacing-foundation-16: 4rem;
66
+ --spacing-foundation-14: 3.5rem;
67
+ --spacing-foundation-12: 3rem;
68
+ --spacing-foundation-11: 2.75rem;
69
+ --spacing-foundation-10: 2.5rem;
70
+ --spacing-foundation-9: 2.25rem;
71
+ --spacing-foundation-8: 2rem;
72
+ --spacing-foundation-7: 1.75rem;
73
+ --spacing-foundation-6: 1.5rem;
74
+ --spacing-foundation-5: 1.25rem;
75
+ --spacing-foundation-4: 1rem;
76
+ --spacing-foundation-3: 0.75rem;
77
+ --spacing-foundation-2: 0.5rem;
78
+ --spacing-foundation-1: 0.25rem;
79
+ --spacing-foundation-0: 0rem;
80
+ --size-foundation-modal-xl: 62.5rem;
81
+ --size-foundation-modal-l: 50rem;
82
+ --size-foundation-modal-m: 37.5rem;
83
+ --size-foundation-modal-s: 25rem;
84
+ --size-foundation-card-l: 25rem;
85
+ --size-foundation-card-m: 18.75rem;
86
+ --size-foundation-card-s: 12.5rem;
87
+ --size-foundation-avatar-3xl: 6rem;
88
+ --size-foundation-avatar-2xl: 5rem;
89
+ --size-foundation-avatar-xl: 4rem;
90
+ --size-foundation-avatar-l: 3rem;
91
+ --size-foundation-avatar-m: 2.5rem;
92
+ --size-foundation-avatar-s: 2rem;
93
+ --size-foundation-avatar-xs: 1.5rem;
94
+ --size-foundation-input-xl: 3.5rem;
95
+ --size-foundation-input-l: 3rem;
96
+ --size-foundation-input-m: 2.5rem;
97
+ --size-foundation-input-s: 2rem;
98
+ --size-foundation-input-xs: 1.75rem;
99
+ --size-foundation-button-xl: 3.5rem;
100
+ --size-foundation-button-l: 3rem;
101
+ --size-foundation-button-m: 2.5rem;
102
+ --size-foundation-button-s: 2rem;
103
+ --size-foundation-button-xs: 1.5rem;
104
+ --size-foundation-icon-xl: 2rem;
105
+ --size-foundation-icon-l: 1.5rem;
106
+ --size-foundation-icon-m: 1.25rem;
107
+ --size-foundation-icon-s: 1rem;
108
+ --size-foundation-icon-xs: 0.75rem;
109
+ --motion-foundation-easing-ease-in-out: ease-in-out;
110
+ --motion-foundation-easing-ease-out: ease-out;
111
+ --motion-foundation-easing-ease-in: ease-in;
112
+ --motion-foundation-easing-ease: ease;
113
+ --motion-foundation-duration-slow: 500;
114
+ --motion-foundation-duration-base: 300;
115
+ --motion-foundation-duration-fast: 150;
116
+ --opacity-foundation-100: 1;
117
+ --opacity-foundation-95: 0.95;
118
+ --opacity-foundation-90: 0.9;
119
+ --opacity-foundation-80: 0.8;
120
+ --opacity-foundation-75: 0.75;
121
+ --opacity-foundation-70: 0.7;
122
+ --opacity-foundation-60: 0.6;
123
+ --opacity-foundation-50: 0.5;
124
+ --opacity-foundation-40: 0.4;
125
+ --opacity-foundation-30: 0.3;
126
+ --opacity-foundation-25: 0.25;
127
+ --opacity-foundation-20: 0.2;
128
+ --opacity-foundation-10: 0.1;
129
+ --opacity-foundation-5: 0.05;
130
+ --opacity-foundation-0: 0;
131
+ --shadow-foundation-inner: 0px 2px 4px 0px rgba(0, 0, 0, 0.06);
132
+ --shadow-foundation-2xl: 0px 25px 50px -12px rgba(0, 0, 0, 0.25);
133
+ --shadow-foundation-xl: 0px 20px 25px -5px rgba(0, 0, 0, 0.1);
134
+ --shadow-foundation-l: 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
135
+ --shadow-foundation-m: 0px 4px 6px -1px rgba(0, 0, 0, 0.1);
136
+ --shadow-foundation-base: 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
137
+ --shadow-foundation-s: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
138
+ --shadow-foundation-none: 0px 0px 0px 0px rgba(0,0,0,0.2);
15
139
  --color-semantic-component-button-ghost-default-border: rgba(0, 0, 0, 0);
16
140
  --color-semantic-component-button-ghost-default-bg: rgba(0, 0, 0, 0);
17
141
  --color-semantic-component-button-secondary-bg: rgba(0, 0, 0, 0);
18
142
  --color-semantic-background-overlay: rgba(0, 0, 0, 0.7);
143
+ --color-foundation-black: #000000;
144
+ --color-foundation-white: #ffffff;
145
+ --color-foundation-purple-900: #49169c;
146
+ --color-foundation-purple-800: #5818bf;
147
+ --color-foundation-purple-700: #6a1ee3;
148
+ --color-foundation-purple-600: #7830f7;
149
+ --color-foundation-purple-500: #8a58ff;
150
+ --color-foundation-purple-400: #a385ff;
151
+ --color-foundation-purple-300: #c2b1ff;
152
+ --color-foundation-purple-200: #dbd4ff;
153
+ --color-foundation-purple-100: #ece8ff;
154
+ --color-foundation-purple-50: #f5f2ff;
155
+ --color-foundation-teal-900: #134e48;
156
+ --color-foundation-teal-800: #115e56;
157
+ --color-foundation-teal-700: #0f766b;
158
+ --color-foundation-teal-600: #0d9485;
159
+ --color-foundation-teal-500: #14b8a6;
160
+ --color-foundation-teal-400: #2dd4c2;
161
+ --color-foundation-teal-300: #5eeadb;
162
+ --color-foundation-teal-200: #99f6ec;
163
+ --color-foundation-teal-100: #ccfbf6;
164
+ --color-foundation-teal-50: #f0fdfc;
165
+ --color-foundation-green-900: #14532b;
166
+ --color-foundation-green-800: #166533;
167
+ --color-foundation-green-700: #15803c;
168
+ --color-foundation-green-600: #16a34a;
169
+ --color-foundation-green-500: #22c55e;
170
+ --color-foundation-green-400: #4ade80;
171
+ --color-foundation-green-300: #86efad;
172
+ --color-foundation-green-200: #bbf7d1;
173
+ --color-foundation-green-100: #dcfce8;
174
+ --color-foundation-green-50: #f0fdf5;
175
+ --color-foundation-yellow-900: #74470f;
176
+ --color-foundation-yellow-800: #89570a;
177
+ --color-foundation-yellow-700: #a67102;
178
+ --color-foundation-yellow-600: #d1b400;
179
+ --color-foundation-yellow-500: #ffd600;
180
+ --color-foundation-yellow-400: #ffe50d;
181
+ --color-foundation-yellow-300: #fff441;
182
+ --color-foundation-yellow-200: #fffd86;
183
+ --color-foundation-yellow-100: #feffc1;
184
+ --color-foundation-yellow-50: #ffffe7;
185
+ --color-foundation-orange-900: #82270c;
186
+ --color-foundation-orange-800: #82270c;
187
+ --color-foundation-orange-700: #cc3802;
188
+ --color-foundation-orange-600: #ff5100;
189
+ --color-foundation-orange-500: #ff6b0a;
190
+ --color-foundation-orange-400: #ff8c32;
191
+ --color-foundation-orange-300: #ffb66d;
192
+ --color-foundation-orange-200: #ffd5a5;
193
+ --color-foundation-orange-100: #ffecd3;
194
+ --color-foundation-orange-50: #fff7ec;
195
+ --color-foundation-red-900: #7f1d1d;
196
+ --color-foundation-red-800: #991b1b;
197
+ --color-foundation-red-700: #b91c1c;
198
+ --color-foundation-red-600: #dc2626;
199
+ --color-foundation-red-500: #ef4444;
200
+ --color-foundation-red-400: #f87171;
201
+ --color-foundation-red-300: #fca5a5;
202
+ --color-foundation-red-200: #fecaca;
203
+ --color-foundation-red-100: #fee2e2;
204
+ --color-foundation-red-50: #fef2f2;
205
+ --color-foundation-blue-900: #0d4b9b;
206
+ --color-foundation-blue-800: #0855c5;
207
+ --color-foundation-blue-700: #006fff;
208
+ --color-foundation-blue-600: #0683ff;
209
+ --color-foundation-blue-500: #1ea2ff;
210
+ --color-foundation-blue-400: #48c3ff;
211
+ --color-foundation-blue-300: #83d9ff;
212
+ --color-foundation-blue-200: #b5e7ff;
213
+ --color-foundation-blue-100: #d6f0ff;
214
+ --color-foundation-blue-50: #edf9ff;
215
+ --color-foundation-neutral-white: #ffffff;
216
+ --color-foundation-neutral-1100: #000000;
217
+ --color-foundation-neutral-1000: #17191a;
218
+ --color-foundation-neutral-900: #2f3133;
219
+ --color-foundation-neutral-800: #464a4d;
220
+ --color-foundation-neutral-700: #5e6366;
221
+ --color-foundation-neutral-600: #757b80;
222
+ --color-foundation-neutral-500: #8c9499;
223
+ --color-foundation-neutral-400: #a4adb2;
224
+ --color-foundation-neutral-300: #bbc5cc;
225
+ --color-foundation-neutral-200: #e8eef2;
226
+ --color-foundation-neutral-100: #f2f8fc;
227
+ --color-foundation-neutral-50: #f8fafc;
228
+ --color-foundation-neutral-0: #ffffff;
229
+ --border-foundation-width-5: 0.5rem;
230
+ --border-foundation-width-4: 0.25rem;
231
+ --border-foundation-width-3: 0.125rem;
232
+ --border-foundation-width-2: 0.0625rem;
233
+ --border-foundation-width-1: 0.03125rem;
234
+ --border-foundation-width-0: 0rem;
235
+ --border-foundation-radius-full: 624.9375rem;
236
+ --border-foundation-radius-7: 1.5rem;
237
+ --border-foundation-radius-6: 1rem;
238
+ --border-foundation-radius-5: 0.75rem;
239
+ --border-foundation-radius-4: 0.5rem;
240
+ --border-foundation-radius-3: 0.375rem;
241
+ --border-foundation-radius-2: 0.25rem;
242
+ --border-foundation-radius-1: 0.125rem;
243
+ --border-foundation-radius-0: 0rem;
19
244
  --typography-semantic-line-height-loose: var(--typography-foundation-line-height-loose);
20
245
  --typography-semantic-line-height-relaxed: var(--typography-foundation-line-height-relaxed);
21
246
  --typography-semantic-line-height-normal: var(--typography-foundation-line-height-normal);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designbasekorea/theme",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "Designbase 테마 시스템 - CSS 변수, 테마 프리셋, 유틸리티 클래스를 제공",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",