@designbasekorea/theme 0.1.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.
@@ -0,0 +1,330 @@
1
+ /**
2
+ * CSS 변수 기반 테마 시스템 (Designbase 전용)
3
+ *
4
+ * 목적: 짧고 일관된 CSS 변수명으로 테마 시스템 구축
5
+ * 기능: --db- 접두사로 Designbase 전용 변수 정의
6
+ * 사용법: var(--db-text-primary), var(--db-padding-m) 등
7
+ *
8
+ * ⚠️ 이 파일은 CSS 변수만 정의합니다!
9
+ * 토큰을 변경하려면 packages/tokens/tokens/ 디렉토리의 JSON 파일을 수정하세요.
10
+ */
11
+
12
+ // ============================================================================
13
+ // 토큰 CSS는 빌드 시 dist/css/theme.css 상단에 병합됩니다 (런타임 추가 import 불필요)
14
+ // ============================================================================
15
+
16
+ // ============================================================================
17
+ // Designbase 전용 CSS 변수 정의 (:root)
18
+ // ============================================================================
19
+
20
+ :root {
21
+ // ============================================================================
22
+ // 색상 변수 (짧은 이름)
23
+ // ============================================================================
24
+
25
+ // Text colors
26
+ --db-text-primary: var(--color-semantic-text-primary);
27
+ --db-text-secondary: var(--color-semantic-text-secondary);
28
+ --db-text-muted: var(--color-semantic-text-muted);
29
+ --db-text-disabled: var(--color-semantic-text-disabled);
30
+ --db-text-inverse: var(--color-semantic-text-inverse);
31
+ --db-text-link: var(--color-semantic-text-link);
32
+ --db-text-link-hover: var(--color-semantic-text-link-hover);
33
+ --db-text-success: var(--color-semantic-success-foreground);
34
+ --db-text-warning: var(--color-semantic-warning-foreground);
35
+ --db-text-error: var(--color-semantic-error-foreground);
36
+
37
+ // Background colors
38
+ --db-bg-primary: var(--color-semantic-background-primary);
39
+ --db-bg-secondary: var(--color-semantic-background-secondary);
40
+ --db-bg-tertiary: var(--color-semantic-background-tertiary);
41
+ --db-bg-inverse: var(--color-semantic-background-inverse);
42
+ --db-bg-overlay: var(--color-semantic-background-overlay);
43
+ --db-bg-success: var(--color-semantic-success-background);
44
+ --db-bg-warning: var(--color-semantic-warning-background);
45
+ --db-bg-error: var(--color-semantic-error-background);
46
+
47
+ // Border colors
48
+ --db-border-primary: var(--color-semantic-border-primary);
49
+ --db-border-secondary: var(--color-semantic-border-secondary);
50
+ --db-border-muted: var(--color-semantic-border-muted);
51
+ --db-border-focus: var(--color-semantic-border-focus);
52
+ --db-border-success: var(--color-semantic-success-foreground);
53
+ --db-border-warning: var(--color-semantic-warning-foreground);
54
+ --db-border-error: var(--color-semantic-error-foreground);
55
+
56
+ // Component colors
57
+ --db-btn-primary-bg: var(--color-semantic-component-button-primary-bg);
58
+ --db-btn-primary-text: var(--color-semantic-component-button-primary-text);
59
+ --db-btn-secondary-bg: var(--color-semantic-component-button-secondary-bg);
60
+ --db-btn-secondary-text: var(--color-semantic-component-button-secondary-text);
61
+
62
+ // Icon colors
63
+ --db-icon-primary: var(--color-semantic-component-icon-primary);
64
+ --db-icon-secondary: var(--color-semantic-component-icon-secondary);
65
+ --db-icon-success: var(--color-semantic-component-icon-success);
66
+ --db-icon-warning: var(--color-semantic-component-icon-warning);
67
+ --db-icon-danger: var(--color-semantic-component-icon-danger);
68
+ --db-icon-info: var(--color-semantic-component-icon-info);
69
+ --db-icon-muted: var(--color-semantic-component-icon-muted);
70
+ --db-icon-inverse: var(--color-semantic-component-icon-inverse);
71
+
72
+ // Foundation colors (기본 색상들)
73
+ --db-neutral-0: var(--color-foundation-neutral-0);
74
+ --db-neutral-50: var(--color-foundation-neutral-50);
75
+ --db-neutral-100: var(--color-foundation-neutral-100);
76
+ --db-neutral-200: var(--color-foundation-neutral-200);
77
+ --db-neutral-300: var(--color-foundation-neutral-300);
78
+ --db-neutral-400: var(--color-foundation-neutral-400);
79
+ --db-neutral-500: var(--color-foundation-neutral-500);
80
+ --db-neutral-600: var(--color-foundation-neutral-600);
81
+ --db-neutral-700: var(--color-foundation-neutral-700);
82
+ --db-neutral-800: var(--color-foundation-neutral-800);
83
+ --db-neutral-900: var(--color-foundation-neutral-900);
84
+ --db-neutral-1000: var(--color-foundation-neutral-1000);
85
+ --db-neutral-1100: var(--color-foundation-neutral-1100);
86
+ --db-neutral-white: var(--color-foundation-neutral-white);
87
+ --db-neutral-black: var(--color-foundation-neutral-black);
88
+
89
+ --db-blue-50: var(--color-foundation-blue-50);
90
+ --db-blue-100: var(--color-foundation-blue-100);
91
+ --db-blue-200: var(--color-foundation-blue-200);
92
+ --db-blue-300: var(--color-foundation-blue-300);
93
+ --db-blue-400: var(--color-foundation-blue-400);
94
+ --db-blue-500: var(--color-foundation-blue-500);
95
+ --db-blue-600: var(--color-foundation-blue-600);
96
+ --db-blue-700: var(--color-foundation-blue-700);
97
+ --db-blue-800: var(--color-foundation-blue-800);
98
+ --db-blue-900: var(--color-foundation-blue-900);
99
+
100
+ --db-red-50: var(--color-foundation-red-50);
101
+ --db-red-100: var(--color-foundation-red-100);
102
+ --db-red-200: var(--color-foundation-red-200);
103
+ --db-red-300: var(--color-foundation-red-300);
104
+ --db-red-400: var(--color-foundation-red-400);
105
+ --db-red-500: var(--color-foundation-red-500);
106
+ --db-red-600: var(--color-foundation-red-600);
107
+ --db-red-700: var(--color-foundation-red-700);
108
+ --db-red-800: var(--color-foundation-red-800);
109
+ --db-red-900: var(--color-foundation-red-900);
110
+
111
+ --db-green-50: var(--color-foundation-green-50);
112
+ --db-green-100: var(--color-foundation-green-100);
113
+ --db-green-200: var(--color-foundation-green-200);
114
+ --db-green-300: var(--color-foundation-green-300);
115
+ --db-green-400: var(--color-foundation-green-400);
116
+ --db-green-500: var(--color-foundation-green-500);
117
+ --db-green-600: var(--color-foundation-green-600);
118
+ --db-green-700: var(--color-foundation-green-700);
119
+ --db-green-800: var(--color-foundation-green-800);
120
+ --db-green-900: var(--color-foundation-green-900);
121
+
122
+ --db-yellow-50: var(--color-foundation-yellow-50);
123
+ --db-yellow-100: var(--color-foundation-yellow-100);
124
+ --db-yellow-200: var(--color-foundation-yellow-200);
125
+ --db-yellow-300: var(--color-foundation-yellow-300);
126
+ --db-yellow-400: var(--color-foundation-yellow-400);
127
+ --db-yellow-500: var(--color-foundation-yellow-500);
128
+ --db-yellow-600: var(--color-foundation-yellow-600);
129
+ --db-yellow-700: var(--color-foundation-yellow-700);
130
+ --db-yellow-800: var(--color-foundation-yellow-800);
131
+ --db-yellow-900: var(--color-foundation-yellow-900);
132
+
133
+ --db-color-primary: var(--db-blue-600);
134
+ --db-color-secondary: var(--db-blue-300);
135
+ --db-color-tertiary: var(--db-blue-100);
136
+
137
+ // ============================================================================
138
+ // Spacing 변수 (짧은 이름)
139
+ // ============================================================================
140
+
141
+ // Semantic spacing
142
+ --db-margin-xs: var(--spacing-semantic-margin-xs);
143
+ --db-margin-s: var(--spacing-semantic-margin-s);
144
+ --db-margin-m: var(--spacing-semantic-margin-m);
145
+ --db-margin-l: var(--spacing-semantic-margin-l);
146
+ --db-margin-xl: var(--spacing-semantic-margin-xl);
147
+ --db-margin-xxl: var(--spacing-semantic-margin-xxl);
148
+
149
+ --db-padding-xxs: var(--spacing-semantic-padding-xxs);
150
+ --db-padding-xs: var(--spacing-semantic-padding-xs);
151
+ --db-padding-s: var(--spacing-semantic-padding-s);
152
+ --db-padding-m: var(--spacing-semantic-padding-m);
153
+ --db-padding-l: var(--spacing-semantic-padding-l);
154
+ --db-padding-xl: var(--spacing-semantic-padding-xl);
155
+
156
+ --db-gap-xs: var(--spacing-semantic-gap-xs);
157
+ --db-gap-s: var(--spacing-semantic-gap-s);
158
+ --db-gap-m: var(--spacing-semantic-gap-m);
159
+ --db-gap-l: var(--spacing-semantic-gap-l);
160
+ --db-gap-xl: var(--spacing-semantic-gap-xl);
161
+
162
+ // Foundation spacing
163
+ --db-spacing-0: var(--spacing-foundation-0);
164
+ --db-spacing-1: var(--spacing-foundation-1);
165
+ --db-spacing-2: var(--spacing-foundation-2);
166
+ --db-spacing-3: var(--spacing-foundation-3);
167
+ --db-spacing-4: var(--spacing-foundation-4);
168
+ --db-spacing-5: var(--spacing-foundation-5);
169
+ --db-spacing-6: var(--spacing-foundation-6);
170
+ --db-spacing-7: var(--spacing-foundation-7);
171
+ --db-spacing-8: var(--spacing-foundation-8);
172
+ --db-spacing-9: var(--spacing-foundation-9);
173
+ --db-spacing-10: var(--spacing-foundation-10);
174
+ --db-spacing-11: var(--spacing-foundation-11);
175
+ --db-spacing-12: var(--spacing-foundation-12);
176
+ --db-spacing-14: var(--spacing-foundation-14);
177
+ --db-spacing-16: var(--spacing-foundation-16);
178
+ --db-spacing-20: var(--spacing-foundation-20);
179
+ --db-spacing-24: var(--spacing-foundation-24);
180
+ --db-spacing-28: var(--spacing-foundation-28);
181
+ --db-spacing-32: var(--spacing-foundation-32);
182
+ --db-spacing-36: var(--spacing-foundation-36);
183
+ --db-spacing-40: var(--spacing-foundation-40);
184
+ --db-spacing-44: var(--spacing-foundation-44);
185
+ --db-spacing-48: var(--spacing-foundation-48);
186
+ --db-spacing-52: var(--spacing-foundation-52);
187
+ --db-spacing-56: var(--spacing-foundation-56);
188
+ --db-spacing-60: var(--spacing-foundation-60);
189
+ --db-spacing-64: var(--spacing-foundation-64);
190
+ --db-spacing-72: var(--spacing-foundation-72);
191
+ --db-spacing-80: var(--spacing-foundation-80);
192
+ --db-spacing-96: var(--spacing-foundation-96);
193
+
194
+ // Size variables (Avatar, Button 등에 사용)
195
+ --db-size-xs: var(--spacing-semantic-size-xs);
196
+ --db-size-sm: var(--spacing-semantic-size-sm);
197
+ --db-size-md: var(--spacing-semantic-size-md);
198
+ --db-size-lg: var(--spacing-semantic-size-lg);
199
+ --db-size-xl: var(--spacing-semantic-size-xl);
200
+ --db-size-2xl: var(--spacing-semantic-size-2xl);
201
+
202
+ // ============================================================================
203
+ // Border Radius 변수 (짧은 이름)
204
+ // ============================================================================
205
+
206
+ // Foundation border-radius
207
+ --db-radius-none: var(--border-radius-foundation-none);
208
+ --db-radius-sm: var(--border-radius-foundation-sm);
209
+ --db-radius-base: var(--border-radius-foundation-base);
210
+ --db-radius-md: var(--border-radius-foundation-md);
211
+ --db-radius-lg: var(--border-radius-foundation-lg);
212
+ --db-radius-xl: var(--border-radius-foundation-xl);
213
+ --db-radius-2xl: var(--border-radius-foundation-2xl);
214
+ --db-radius-3xl: var(--border-radius-foundation-3xl);
215
+ --db-radius-full: var(--border-radius-foundation-full);
216
+
217
+ // Semantic border-radius
218
+ --db-radius-btn-sm: var(--border-radius-semantic-button-sm);
219
+ --db-radius-btn-md: var(--border-radius-semantic-button-md);
220
+ --db-radius-btn-lg: var(--border-radius-semantic-button-lg);
221
+ --db-radius-btn-pill: var(--border-radius-semantic-button-pill);
222
+
223
+ --db-radius-input-sm: var(--border-radius-semantic-input-sm);
224
+ --db-radius-input-md: var(--border-radius-semantic-input-md);
225
+ --db-radius-input-lg: var(--border-radius-semantic-input-lg);
226
+
227
+ --db-radius-card-sm: var(--border-radius-semantic-card-sm);
228
+ --db-radius-card-md: var(--border-radius-semantic-card-md);
229
+ --db-radius-card-lg: var(--border-radius-semantic-card-lg);
230
+
231
+ --db-radius-modal-sm: var(--border-radius-semantic-modal-sm);
232
+ --db-radius-modal-md: var(--border-radius-semantic-modal-md);
233
+ --db-radius-modal-lg: var(--border-radius-semantic-modal-lg);
234
+
235
+ --db-radius-action-sm: var(--border-radius-semantic-action-sm);
236
+ --db-radius-action-md: var(--border-radius-semantic-action-md);
237
+ --db-radius-action-lg: var(--border-radius-semantic-action-lg);
238
+ --db-radius-action-pill: var(--border-radius-semantic-action-pill);
239
+
240
+ // ============================================================================
241
+ // Typography 변수 (짧은 이름)
242
+ // ============================================================================
243
+
244
+ // Font families
245
+ --db-font-primary: var(--typography-foundation-font-family-primary);
246
+ --db-font-mono: var(--typography-foundation-font-family-mono);
247
+
248
+ // Font sizes
249
+ --db-text-xs: var(--typography-foundation-font-size-xs);
250
+ --db-text-sm: var(--typography-foundation-font-size-sm);
251
+ --db-text-base: var(--typography-foundation-font-size-base);
252
+ --db-text-lg: var(--typography-foundation-font-size-lg);
253
+ --db-text-xl: var(--typography-foundation-font-size-xl);
254
+ --db-text-2xl: var(--typography-foundation-font-size-2xl);
255
+ --db-text-3xl: var(--typography-foundation-font-size-3xl);
256
+ --db-text-4xl: var(--typography-foundation-font-size-4xl);
257
+ --db-text-5xl: var(--typography-foundation-font-size-5xl);
258
+ --db-text-6xl: var(--typography-foundation-font-size-6xl);
259
+
260
+ // Font weights
261
+ --db-weight-light: var(--typography-foundation-font-weight-light);
262
+ --db-weight-normal: var(--typography-foundation-font-weight-normal);
263
+ --db-weight-medium: var(--typography-foundation-font-weight-medium);
264
+ --db-weight-semibold: var(--typography-foundation-font-weight-semibold);
265
+ --db-weight-bold: var(--typography-foundation-font-weight-bold);
266
+ --db-weight-extrabold: var(--typography-foundation-font-weight-extrabold);
267
+
268
+ // Line heights
269
+ --db-leading-none: var(--typography-foundation-line-height-none);
270
+ --db-leading-tight: var(--typography-foundation-line-height-tight);
271
+ --db-leading-snug: var(--typography-foundation-line-height-snug);
272
+ --db-leading-normal: var(--typography-foundation-line-height-normal);
273
+ --db-leading-relaxed: var(--typography-foundation-line-height-relaxed);
274
+ --db-leading-loose: var(--typography-foundation-line-height-loose);
275
+
276
+ // ============================================================================
277
+ // Effects 변수 (짧은 이름)
278
+ // ============================================================================
279
+
280
+ // Shadows
281
+ --db-shadow-none: var(--shadow-foundation-none);
282
+ --db-shadow-sm: var(--shadow-foundation-sm);
283
+ --db-shadow-base: var(--shadow-foundation-base);
284
+ --db-shadow-md: var(--shadow-foundation-md);
285
+ --db-shadow-lg: var(--shadow-foundation-lg);
286
+ --db-shadow-xl: var(--shadow-foundation-xl);
287
+ --db-shadow-2xl: var(--shadow-foundation-2xl);
288
+ --db-shadow-inner: var(--shadow-foundation-inner);
289
+
290
+ // Opacity
291
+ --db-opacity-0: var(--opacity-foundation-0);
292
+ --db-opacity-5: var(--opacity-foundation-5);
293
+ --db-opacity-10: var(--opacity-foundation-10);
294
+ --db-opacity-20: var(--opacity-foundation-20);
295
+ --db-opacity-25: var(--opacity-foundation-25);
296
+ --db-opacity-30: var(--opacity-foundation-30);
297
+ --db-opacity-40: var(--opacity-foundation-40);
298
+ --db-opacity-50: var(--opacity-foundation-50);
299
+ --db-opacity-60: var(--opacity-foundation-60);
300
+ --db-opacity-70: var(--opacity-foundation-70);
301
+ --db-opacity-75: var(--opacity-foundation-75);
302
+ --db-opacity-80: var(--opacity-foundation-80);
303
+ --db-opacity-90: var(--opacity-foundation-90);
304
+ --db-opacity-95: var(--opacity-foundation-95);
305
+ --db-opacity-100: var(--opacity-foundation-100);
306
+
307
+ // ============================================================================
308
+ // Z-Index 변수 (짧은 이름)
309
+ // ============================================================================
310
+
311
+ --db-z-auto: var(--z-index-foundation-auto);
312
+ --db-z-0: var(--z-index-foundation-0);
313
+ --db-z-10: var(--z-index-foundation-10);
314
+ --db-z-20: var(--z-index-foundation-20);
315
+ --db-z-30: var(--z-index-foundation-30);
316
+ --db-z-40: var(--z-index-foundation-40);
317
+ --db-z-50: var(--z-index-foundation-50);
318
+ --db-z-modal: var(--z-index-foundation-modal);
319
+ --db-z-popover: var(--z-index-foundation-popover);
320
+ --db-z-tooltip: var(--z-index-foundation-tooltip);
321
+ --db-z-toast: var(--z-index-foundation-toast);
322
+
323
+ // ============================================================================
324
+ // Animation 변수 (짧은 이름)
325
+ // ============================================================================
326
+
327
+ --db-animation-speed: 300ms;
328
+ --db-animation-ease: ease-out;
329
+ --db-animation-ease-in: ease-in;
330
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Designbase Theme 메인 스타일시트
3
+ *
4
+ * 목적: 모든 테마 관련 스타일을 통합하여 제공
5
+ * 기능: 변수, 믹스인, 테마, 유틸리티 클래스 포함
6
+ * 사용법: @import '@designbase/theme/scss' 또는 CSS 파일로 로드
7
+ */
8
+
9
+ @import 'reset';
10
+
11
+ @import 'variables';
12
+ @import 'semantic';