@uniai-fe/uds-foundation 0.0.7 → 0.0.9

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.
Files changed (36) hide show
  1. package/dist/index.css +10 -77
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.js +1 -0
  4. package/dist/provider/ThemeProvider.d.ts +13 -0
  5. package/dist/provider/ThemeProvider.js +14 -0
  6. package/dist/provider/index.d.ts +3 -0
  7. package/dist/provider/index.js +4 -0
  8. package/package.json +12 -2
  9. package/src/color/index.scss +7 -2
  10. package/src/color/primitives.scss +205 -207
  11. package/src/color/semantic/background.scss +5 -12
  12. package/src/color/semantic/border.scss +7 -14
  13. package/src/color/semantic/core.scss +13 -20
  14. package/src/color/semantic/feedback.scss +7 -14
  15. package/src/color/semantic/index.scss +17 -7
  16. package/src/color/semantic/interaction.scss +3 -10
  17. package/src/color/semantic/label.scss +7 -14
  18. package/src/color/semantic/surface.scss +8 -15
  19. package/src/index.scss +53 -16
  20. package/src/index.ts +1 -0
  21. package/src/init/document.scss +2 -2
  22. package/src/init/reset.scss +6 -4
  23. package/src/layout/breakpoint.scss +5 -7
  24. package/src/layout/radius.scss +28 -30
  25. package/src/layout/size.scss +16 -18
  26. package/src/provider/ThemeProvider.tsx +23 -0
  27. package/src/provider/index.ts +2 -0
  28. package/src/spacing/gap.scss +16 -18
  29. package/src/spacing/padding.scss +12 -14
  30. package/src/typography/fonts/font-face.scss +1 -1
  31. package/src/typography/fonts/font-family.scss +1 -1
  32. package/src/typography/styles/body.scss +22 -24
  33. package/src/typography/styles/caption.scss +9 -11
  34. package/src/typography/styles/display.scss +13 -15
  35. package/src/typography/styles/heading.scss +25 -27
  36. package/src/typography/styles/label.scss +13 -15
@@ -1,222 +1,220 @@
1
- @layer theme.tokens.color {
2
- :root {
3
- // common
4
- --color-common-100: #fff;
5
- --color-common-0: #000;
1
+ @mixin foundation-color-primitives() {
2
+ // common
3
+ --color-common-100: #fff;
4
+ --color-common-0: #000;
6
5
 
7
- // neutral
8
- --color-neutral-10: #1a1a1a;
9
- --color-neutral-20: #333333;
10
- --color-neutral-30: #4d4d4d;
11
- --color-neutral-40: #666666;
12
- --color-neutral-45: #737373;
13
- --color-neutral-50: #808080;
14
- --color-neutral-55: #8c8c8c;
15
- --color-neutral-60: #999999;
16
- --color-neutral-70: #b3b3b3;
17
- --color-neutral-80: #cccccc;
18
- --color-neutral-90: #e6e6e6;
19
- --color-neutral-95: #f2f2f2;
20
- --color-neutral-99: #fcfcfc;
6
+ // neutral
7
+ --color-neutral-10: #1a1a1a;
8
+ --color-neutral-20: #333333;
9
+ --color-neutral-30: #4d4d4d;
10
+ --color-neutral-40: #666666;
11
+ --color-neutral-45: #737373;
12
+ --color-neutral-50: #808080;
13
+ --color-neutral-55: #8c8c8c;
14
+ --color-neutral-60: #999999;
15
+ --color-neutral-70: #b3b3b3;
16
+ --color-neutral-80: #cccccc;
17
+ --color-neutral-90: #e6e6e6;
18
+ --color-neutral-95: #f2f2f2;
19
+ --color-neutral-99: #fcfcfc;
21
20
 
22
- // cool gray
23
- --color-cool-gray-10: #18191b;
24
- --color-cool-gray-20: #313235;
25
- --color-cool-gray-25: #3d3f43;
26
- --color-cool-gray-30: #494b50;
27
- --color-cool-gray-35: #55585e;
28
- --color-cool-gray-40: #61656b;
29
- --color-cool-gray-45: #6d7178;
30
- --color-cool-gray-50: #797e86;
31
- --color-cool-gray-55: #878b92;
32
- --color-cool-gray-60: #94989e;
33
- --color-cool-gray-65: #a1a5aa;
34
- --color-cool-gray-70: #afb1b6;
35
- --color-cool-gray-75: #bcbec2;
36
- --color-cool-gray-80: #cacbce;
37
- --color-cool-gray-85: #d7d8db;
38
- --color-cool-gray-90: #e4e5e7;
39
- --color-cool-gray-95: #f2f2f3;
40
- --color-cool-gray-99: #fcfcfd;
21
+ // cool gray
22
+ --color-cool-gray-10: #18191b;
23
+ --color-cool-gray-20: #313235;
24
+ --color-cool-gray-25: #3d3f43;
25
+ --color-cool-gray-30: #494b50;
26
+ --color-cool-gray-35: #55585e;
27
+ --color-cool-gray-40: #61656b;
28
+ --color-cool-gray-45: #6d7178;
29
+ --color-cool-gray-50: #797e86;
30
+ --color-cool-gray-55: #878b92;
31
+ --color-cool-gray-60: #94989e;
32
+ --color-cool-gray-65: #a1a5aa;
33
+ --color-cool-gray-70: #afb1b6;
34
+ --color-cool-gray-75: #bcbec2;
35
+ --color-cool-gray-80: #cacbce;
36
+ --color-cool-gray-85: #d7d8db;
37
+ --color-cool-gray-90: #e4e5e7;
38
+ --color-cool-gray-95: #f2f2f3;
39
+ --color-cool-gray-99: #fcfcfd;
41
40
 
42
- // blue
43
- --color-blue-10: #001233;
44
- --color-blue-20: #002466;
45
- --color-blue-30: #003699;
46
- --color-blue-40: #0047cc;
47
- --color-blue-45: #0050e5;
48
- --color-blue-50: #0059ff;
49
- --color-blue-55: #1a6aff;
50
- --color-blue-60: #337aff;
51
- --color-blue-70: #669cff;
52
- --color-blue-80: #99bdff;
53
- --color-blue-90: #ccdeff;
54
- --color-blue-95: #e5eeff;
55
- --color-blue-99: #fafcff;
41
+ // blue
42
+ --color-blue-10: #001233;
43
+ --color-blue-20: #002466;
44
+ --color-blue-30: #003699;
45
+ --color-blue-40: #0047cc;
46
+ --color-blue-45: #0050e5;
47
+ --color-blue-50: #0059ff;
48
+ --color-blue-55: #1a6aff;
49
+ --color-blue-60: #337aff;
50
+ --color-blue-70: #669cff;
51
+ --color-blue-80: #99bdff;
52
+ --color-blue-90: #ccdeff;
53
+ --color-blue-95: #e5eeff;
54
+ --color-blue-99: #fafcff;
56
55
 
57
- // purple
58
- --color-purple-10: #120033;
59
- --color-purple-20: #240066;
60
- --color-purple-30: #360099;
61
- --color-purple-40: #4800cc;
62
- --color-purple-45: #5200e5;
63
- --color-purple-50: #5b00ff;
64
- --color-purple-55: #6c1bff;
65
- --color-purple-60: #7b33ff;
66
- --color-purple-70: #9c66ff;
67
- --color-purple-80: #bd99ff;
68
- --color-purple-90: #deccff;
69
- --color-purple-95: #efe5ff;
70
- --color-purple-99: #fcfaff;
56
+ // purple
57
+ --color-purple-10: #120033;
58
+ --color-purple-20: #240066;
59
+ --color-purple-30: #360099;
60
+ --color-purple-40: #4800cc;
61
+ --color-purple-45: #5200e5;
62
+ --color-purple-50: #5b00ff;
63
+ --color-purple-55: #6c1bff;
64
+ --color-purple-60: #7b33ff;
65
+ --color-purple-70: #9c66ff;
66
+ --color-purple-80: #bd99ff;
67
+ --color-purple-90: #deccff;
68
+ --color-purple-95: #efe5ff;
69
+ --color-purple-99: #fcfaff;
71
70
 
72
- // magenta
73
- --color-magenta-10: #32012e;
74
- --color-magenta-20: #64025b;
75
- --color-magenta-30: #950489;
76
- --color-magenta-40: #c705b6;
77
- --color-magenta-45: #e005cd;
78
- --color-magenta-50: #f906e4;
79
- --color-magenta-55: #fa1fe7;
80
- --color-magenta-60: #fa38e9;
81
- --color-magenta-70: #fb6aef;
82
- --color-magenta-80: #fd9bf4;
83
- --color-magenta-90: #fecdfa;
84
- --color-magenta-95: #fee6fc;
85
- --color-magenta-99: #fffafe;
71
+ // magenta
72
+ --color-magenta-10: #32012e;
73
+ --color-magenta-20: #64025b;
74
+ --color-magenta-30: #950489;
75
+ --color-magenta-40: #c705b6;
76
+ --color-magenta-45: #e005cd;
77
+ --color-magenta-50: #f906e4;
78
+ --color-magenta-55: #fa1fe7;
79
+ --color-magenta-60: #fa38e9;
80
+ --color-magenta-70: #fb6aef;
81
+ --color-magenta-80: #fd9bf4;
82
+ --color-magenta-90: #fecdfa;
83
+ --color-magenta-95: #fee6fc;
84
+ --color-magenta-99: #fffafe;
86
85
 
87
- // pink
88
- --color-pink-10: #320116;
89
- --color-pink-20: #63032b;
90
- --color-pink-30: #950441;
91
- --color-pink-40: #c70556;
92
- --color-pink-45: #e00661;
93
- --color-pink-50: #f8076c;
94
- --color-pink-55: #f91f7a;
95
- --color-pink-60: #fa3889;
96
- --color-pink-70: #fb6aa7;
97
- --color-pink-80: #fc9cc4;
98
- --color-pink-90: #fecde2;
99
- --color-pink-95: #fee6f0;
100
- --color-pink-99: #fffafc;
86
+ // pink
87
+ --color-pink-10: #320116;
88
+ --color-pink-20: #63032b;
89
+ --color-pink-30: #950441;
90
+ --color-pink-40: #c70556;
91
+ --color-pink-45: #e00661;
92
+ --color-pink-50: #f8076c;
93
+ --color-pink-55: #f91f7a;
94
+ --color-pink-60: #fa3889;
95
+ --color-pink-70: #fb6aa7;
96
+ --color-pink-80: #fc9cc4;
97
+ --color-pink-90: #fecde2;
98
+ --color-pink-95: #fee6f0;
99
+ --color-pink-99: #fffafc;
101
100
 
102
- // red
103
- --color-red-10: #310602;
104
- --color-red-20: #610d05;
105
- --color-red-30: #921307;
106
- --color-red-40: #c21a0a;
107
- --color-red-45: #da1d0b;
108
- --color-red-50: #f2200d;
109
- --color-red-55: #f43625;
110
- --color-red-60: #f54d3d;
111
- --color-red-70: #f7796e;
112
- --color-red-80: #faa69e;
113
- --color-red-90: #fcd2cf;
114
- --color-red-95: #fde8e7;
115
- --color-red-99: #fffafa;
101
+ // red
102
+ --color-red-10: #310602;
103
+ --color-red-20: #610d05;
104
+ --color-red-30: #921307;
105
+ --color-red-40: #c21a0a;
106
+ --color-red-45: #da1d0b;
107
+ --color-red-50: #f2200d;
108
+ --color-red-55: #f43625;
109
+ --color-red-60: #f54d3d;
110
+ --color-red-70: #f7796e;
111
+ --color-red-80: #faa69e;
112
+ --color-red-90: #fcd2cf;
113
+ --color-red-95: #fde8e7;
114
+ --color-red-99: #fffafa;
116
115
 
117
- // orange
118
- --color-orange-10: #331100;
119
- --color-orange-20: #662200;
120
- --color-orange-30: #993300;
121
- --color-orange-40: #cc4400;
122
- --color-orange-45: #e54d00;
123
- --color-orange-50: #ff5500;
124
- --color-orange-55: #ff661a;
125
- --color-orange-60: #ff7733;
126
- --color-orange-70: #ff9966;
127
- --color-orange-80: #ffbb99;
128
- --color-orange-90: #ffddcc;
129
- --color-orange-95: #ffeee5;
130
- --color-orange-99: #fffcfa;
116
+ // orange
117
+ --color-orange-10: #331100;
118
+ --color-orange-20: #662200;
119
+ --color-orange-30: #993300;
120
+ --color-orange-40: #cc4400;
121
+ --color-orange-45: #e54d00;
122
+ --color-orange-50: #ff5500;
123
+ --color-orange-55: #ff661a;
124
+ --color-orange-60: #ff7733;
125
+ --color-orange-70: #ff9966;
126
+ --color-orange-80: #ffbb99;
127
+ --color-orange-90: #ffddcc;
128
+ --color-orange-95: #ffeee5;
129
+ --color-orange-99: #fffcfa;
131
130
 
132
- // yellow
133
- --color-yellow-10: #302903;
134
- --color-yellow-20: #615205;
135
- --color-yellow-30: #917a08;
136
- --color-yellow-40: #c2a30a;
137
- --color-yellow-45: #dab80b;
138
- --color-yellow-50: #f2cc0d;
139
- --color-yellow-55: #f4d125;
140
- --color-yellow-60: #f5d63d;
141
- --color-yellow-70: #f7e06e;
142
- --color-yellow-80: #faeb9e;
143
- --color-yellow-90: #fcf5cf;
144
- --color-yellow-95: #fefae7;
145
- --color-yellow-99: #fffefa;
131
+ // yellow
132
+ --color-yellow-10: #302903;
133
+ --color-yellow-20: #615205;
134
+ --color-yellow-30: #917a08;
135
+ --color-yellow-40: #c2a30a;
136
+ --color-yellow-45: #dab80b;
137
+ --color-yellow-50: #f2cc0d;
138
+ --color-yellow-55: #f4d125;
139
+ --color-yellow-60: #f5d63d;
140
+ --color-yellow-70: #f7e06e;
141
+ --color-yellow-80: #faeb9e;
142
+ --color-yellow-90: #fcf5cf;
143
+ --color-yellow-95: #fefae7;
144
+ --color-yellow-99: #fffefa;
146
145
 
147
- // lime
148
- --color-lime-10: #2b3300;
149
- --color-lime-20: #556600;
150
- --color-lime-30: #809900;
151
- --color-lime-40: #aacc00;
152
- --color-lime-45: #bfe500;
153
- --color-lime-50: #d5ff00;
154
- --color-lime-55: #d9ff1a;
155
- --color-lime-60: #ddff33;
156
- --color-lime-70: #e6ff66;
157
- --color-lime-80: #eeff99;
158
- --color-lime-90: #f7ffcc;
159
- --color-lime-95: #fbffe5;
160
- --color-lime-99: #fefffa;
146
+ // lime
147
+ --color-lime-10: #2b3300;
148
+ --color-lime-20: #556600;
149
+ --color-lime-30: #809900;
150
+ --color-lime-40: #aacc00;
151
+ --color-lime-45: #bfe500;
152
+ --color-lime-50: #d5ff00;
153
+ --color-lime-55: #d9ff1a;
154
+ --color-lime-60: #ddff33;
155
+ --color-lime-70: #e6ff66;
156
+ --color-lime-80: #eeff99;
157
+ --color-lime-90: #f7ffcc;
158
+ --color-lime-95: #fbffe5;
159
+ --color-lime-99: #fefffa;
161
160
 
162
- // green
163
- --color-green-10: #062d13;
164
- --color-green-20: #0d5926;
165
- --color-green-30: #138639;
166
- --color-green-40: #1ab24d;
167
- --color-green-45: #1dc956;
168
- --color-green-50: #20df60;
169
- --color-green-55: #36e270;
170
- --color-green-60: #4de580;
171
- --color-green-70: #79ec9f;
172
- --color-green-80: #a6f2bf;
173
- --color-green-90: #d2f9df;
174
- --color-green-95: #e9fcef;
175
- --color-green-99: #fbfefc;
161
+ // green
162
+ --color-green-10: #062d13;
163
+ --color-green-20: #0d5926;
164
+ --color-green-30: #138639;
165
+ --color-green-40: #1ab24d;
166
+ --color-green-45: #1dc956;
167
+ --color-green-50: #20df60;
168
+ --color-green-55: #36e270;
169
+ --color-green-60: #4de580;
170
+ --color-green-70: #79ec9f;
171
+ --color-green-80: #a6f2bf;
172
+ --color-green-90: #d2f9df;
173
+ --color-green-95: #e9fcef;
174
+ --color-green-99: #fbfefc;
176
175
 
177
- // bright green
178
- --color-bright-green-10: #213003;
179
- --color-bright-green-20: #426105;
180
- --color-bright-green-30: #639108;
181
- --color-bright-green-40: #84c10b;
182
- --color-bright-green-45: #95da0c;
183
- --color-bright-green-50: #a5f20d;
184
- --color-bright-green-55: #aef325;
185
- --color-bright-green-60: #b7f43e;
186
- --color-bright-green-70: #c9f76e;
187
- --color-bright-green-80: #dbfa9e;
188
- --color-bright-green-90: #edfccf;
189
- --color-bright-green-95: #f6fee7;
190
- --color-bright-green-99: #fdfffa;
176
+ // bright green
177
+ --color-bright-green-10: #213003;
178
+ --color-bright-green-20: #426105;
179
+ --color-bright-green-30: #639108;
180
+ --color-bright-green-40: #84c10b;
181
+ --color-bright-green-45: #95da0c;
182
+ --color-bright-green-50: #a5f20d;
183
+ --color-bright-green-55: #aef325;
184
+ --color-bright-green-60: #b7f43e;
185
+ --color-bright-green-70: #c9f76e;
186
+ --color-bright-green-80: #dbfa9e;
187
+ --color-bright-green-90: #edfccf;
188
+ --color-bright-green-95: #f6fee7;
189
+ --color-bright-green-99: #fdfffa;
191
190
 
192
- // teal
193
- --color-teal-10: #062d20;
194
- --color-teal-20: #0d5940;
195
- --color-teal-30: #13865f;
196
- --color-teal-40: #1ab27f;
197
- --color-teal-45: #1dc98f;
198
- --color-teal-50: #20df9f;
199
- --color-teal-55: #36e2a9;
200
- --color-teal-60: #4de5b2;
201
- --color-teal-70: #79ecc5;
202
- --color-teal-80: #a6f2d9;
203
- --color-teal-90: #d2f9ec;
204
- --color-teal-95: #e9fcf5;
205
- --color-teal-99: #fbfefd;
191
+ // teal
192
+ --color-teal-10: #062d20;
193
+ --color-teal-20: #0d5940;
194
+ --color-teal-30: #13865f;
195
+ --color-teal-40: #1ab27f;
196
+ --color-teal-45: #1dc98f;
197
+ --color-teal-50: #20df9f;
198
+ --color-teal-55: #36e2a9;
199
+ --color-teal-60: #4de5b2;
200
+ --color-teal-70: #79ecc5;
201
+ --color-teal-80: #a6f2d9;
202
+ --color-teal-90: #d2f9ec;
203
+ --color-teal-95: #e9fcf5;
204
+ --color-teal-99: #fbfefd;
206
205
 
207
- // cyan
208
- --color-cyan-10: #002f33;
209
- --color-cyan-20: #005e66;
210
- --color-cyan-30: #008c99;
211
- --color-cyan-40: #00bbcc;
212
- --color-cyan-45: #00d2e5;
213
- --color-cyan-50: #00eaff;
214
- --color-cyan-55: #1aecff;
215
- --color-cyan-60: #33eeff;
216
- --color-cyan-70: #66f2ff;
217
- --color-cyan-80: #99f7ff;
218
- --color-cyan-90: #ccfbff;
219
- --color-cyan-95: #e5fdff;
220
- --color-cyan-99: #faffff;
221
- }
206
+ // cyan
207
+ --color-cyan-10: #002f33;
208
+ --color-cyan-20: #005e66;
209
+ --color-cyan-30: #008c99;
210
+ --color-cyan-40: #00bbcc;
211
+ --color-cyan-45: #00d2e5;
212
+ --color-cyan-50: #00eaff;
213
+ --color-cyan-55: #1aecff;
214
+ --color-cyan-60: #33eeff;
215
+ --color-cyan-70: #66f2ff;
216
+ --color-cyan-80: #99f7ff;
217
+ --color-cyan-90: #ccfbff;
218
+ --color-cyan-95: #e5fdff;
219
+ --color-cyan-99: #faffff;
222
220
  }
@@ -1,14 +1,7 @@
1
1
  // 배경 계층 토큰
2
- @layer theme.tokens.color {
3
- :root,
4
- .theme-light {
5
- --color-bg-standard-cool-gray: var(--color-cool-gray-99); // #fcfcfd;
6
- --color-bg-alternative-cool-gray: var(--color-cool-gray-95); // #f2f2f3;
7
- --color-bg-standard-neutral: var(--color-neutral-99); // #fcfcfc;
8
- --color-bg-alternative-neutral: var(--color-neutral-95); // #f2f2f2;
9
- }
10
-
11
- .theme-dark {
12
- // TODO: 다크 테마 배경 토큰 정의
13
- }
2
+ @mixin foundation-color-background() {
3
+ --color-bg-standard-cool-gray: var(--color-cool-gray-99); // #fcfcfd;
4
+ --color-bg-alternative-cool-gray: var(--color-cool-gray-95); // #f2f2f3;
5
+ --color-bg-standard-neutral: var(--color-neutral-99); // #fcfcfc;
6
+ --color-bg-alternative-neutral: var(--color-neutral-95); // #f2f2f2;
14
7
  }
@@ -1,16 +1,9 @@
1
1
  // 테마 경계선 토큰
2
- @layer theme.tokens.color {
3
- :root,
4
- .theme-light {
5
- --color-border-standard-cool-gray: var(--color-cool-gray-90); // #e4e5e7;
6
- --color-border-standard-blue: var(--color-blue-90); // #ccdeff;
7
- --color-border-standard-strong: var(--color-cool-gray-75); // #bcbec2;
8
- --color-border-standard-heavy: var(--color-cool-gray-20); // #313235;
9
- --color-border-standard-alternative: var(--color-cool-gray-80); // #cacbce;
10
- --color-border-standard-assistive: var(--color-cool-gray-90); // #e4e5e7;
11
- }
12
-
13
- .theme-dark {
14
- // TODO: 다크 테마 경계선 토큰 정의
15
- }
2
+ @mixin foundation-color-border() {
3
+ --color-border-standard-cool-gray: var(--color-cool-gray-90); // #e4e5e7;
4
+ --color-border-standard-blue: var(--color-blue-90); // #ccdeff;
5
+ --color-border-standard-strong: var(--color-cool-gray-75); // #bcbec2;
6
+ --color-border-standard-heavy: var(--color-cool-gray-20); // #313235;
7
+ --color-border-standard-alternative: var(--color-cool-gray-80); // #cacbce;
8
+ --color-border-standard-assistive: var(--color-cool-gray-90); // #e4e5e7;
16
9
  }
@@ -1,24 +1,17 @@
1
1
  // 기본(primary/secondary/tertiary) 컬러 의미 토큰
2
- @layer theme.tokens.color {
3
- :root,
4
- .theme-light {
5
- // primary
6
- --color-primary-default: var(--color-blue-55); // #1a6aff;
7
- --color-primary-strong: var(--color-blue-45); // #0050e5;
8
- --color-primary-heavy: var(--color-blue-30); // #003699;
2
+ @mixin foundation-color-core() {
3
+ // primary
4
+ --color-primary-default: var(--color-blue-55); // #1a6aff;
5
+ --color-primary-strong: var(--color-blue-45); // #0050e5;
6
+ --color-primary-heavy: var(--color-blue-30); // #003699;
9
7
 
10
- // secondary
11
- --color-secondary-default: var(--color-blue-95); // #e5eeff;
12
- --color-secondary-strong: var(--color-blue-90); // #ccdeff;
13
- --color-secondary-heavy: var(--color-blue-80); // #99bdff;
8
+ // secondary
9
+ --color-secondary-default: var(--color-blue-95); // #e5eeff;
10
+ --color-secondary-strong: var(--color-blue-90); // #ccdeff;
11
+ --color-secondary-heavy: var(--color-blue-80); // #99bdff;
14
12
 
15
- // tertiary
16
- --color-tertiary-default: var(--color-cool-gray-95); // #f2f2f3;
17
- --color-tertiary-strong: var(--color-cool-gray-90); // #e4e5e7;
18
- --color-tertiary-heavy: var(--color-cool-gray-80); // #cacbce;
19
- }
20
-
21
- .theme-dark {
22
- // TODO: 다크 테마 core 컬러 정의
23
- }
13
+ // tertiary
14
+ --color-tertiary-default: var(--color-cool-gray-95); // #f2f2f3;
15
+ --color-tertiary-strong: var(--color-cool-gray-90); // #e4e5e7;
16
+ --color-tertiary-heavy: var(--color-cool-gray-80); // #cacbce;
24
17
  }
@@ -1,16 +1,9 @@
1
1
  // 피드백/알림 토큰
2
- @layer theme.tokens.color {
3
- :root,
4
- .theme-light {
5
- --color-danger: var(--color-red-40); // #c21a0a;
6
- --color-error: var(--color-red-45); // #da1d0b;
7
- --color-warning: var(--color-yellow-50); // #f2cc0d;
8
- --color-success: var(--color-green-40); // #1ab24d;
9
- --color-information: var(--color-blue-60); // #337aff;
10
- --color-new: var(--color-red-50); // #f2200d;
11
- }
12
-
13
- .theme-dark {
14
- // TODO: 다크 테마 피드백 토큰 정의
15
- }
2
+ @mixin foundation-color-feedback() {
3
+ --color-danger: var(--color-red-40); // #c21a0a;
4
+ --color-error: var(--color-red-45); // #da1d0b;
5
+ --color-warning: var(--color-yellow-50); // #f2cc0d;
6
+ --color-success: var(--color-green-40); // #1ab24d;
7
+ --color-information: var(--color-blue-60); // #337aff;
8
+ --color-new: var(--color-red-50); // #f2200d;
16
9
  }
@@ -1,7 +1,17 @@
1
- @use "./core.scss";
2
- @use "./label.scss";
3
- @use "./border.scss";
4
- @use "./background.scss";
5
- @use "./surface.scss";
6
- @use "./interaction.scss";
7
- @use "./feedback.scss";
1
+ @use "./core.scss" as colorCore;
2
+ @use "./label.scss" as colorLabel;
3
+ @use "./border.scss" as colorBorder;
4
+ @use "./background.scss" as colorBackground;
5
+ @use "./surface.scss" as colorSurface;
6
+ @use "./interaction.scss" as colorInteraction;
7
+ @use "./feedback.scss" as colorFeedback;
8
+
9
+ @mixin foundation-color-semantic() {
10
+ @include colorCore.foundation-color-core();
11
+ @include colorLabel.foundation-color-label();
12
+ @include colorBorder.foundation-color-border();
13
+ @include colorBackground.foundation-color-background();
14
+ @include colorSurface.foundation-color-surface();
15
+ @include colorInteraction.foundation-color-interaction();
16
+ @include colorFeedback.foundation-color-feedback();
17
+ }
@@ -1,12 +1,5 @@
1
1
  // 상호작용 상태 토큰
2
- @layer theme.tokens.color {
3
- :root,
4
- .theme-light {
5
- --color-interaction-static: var(--color-common-100); // #fff;
6
- --color-interaction-disabled: var(--color-cool-gray-95); // #f2f2f3;
7
- }
8
-
9
- .theme-dark {
10
- // TODO: 다크 테마 인터랙션 토큰 정의
11
- }
2
+ @mixin foundation-color-interaction() {
3
+ --color-interaction-static: var(--color-common-100); // #fff;
4
+ --color-interaction-disabled: var(--color-cool-gray-95); // #f2f2f3;
12
5
  }
@@ -1,16 +1,9 @@
1
1
  // 라벨 계층 토큰
2
- @layer theme.tokens.color {
3
- :root,
4
- .theme-light {
5
- --color-label-strong: var(--color-cool-gray-10); // #18191b;
6
- --color-label-standard: var(--color-cool-gray-20); // #313235;
7
- --color-label-neutral: var(--color-cool-gray-50); // #797e86;
8
- --color-label-alternative: var(--color-cool-gray-70); // #afb1b6;
9
- --color-label-assistive: var(--color-cool-gray-80); // #cacbce;
10
- --color-label-disabled: var(--color-cool-gray-80); // #cacbce;
11
- }
12
-
13
- .theme-dark {
14
- // TODO: 다크 테마 라벨 토큰 정의
15
- }
2
+ @mixin foundation-color-label() {
3
+ --color-label-strong: var(--color-cool-gray-10); // #18191b;
4
+ --color-label-standard: var(--color-cool-gray-20); // #313235;
5
+ --color-label-neutral: var(--color-cool-gray-50); // #797e86;
6
+ --color-label-alternative: var(--color-cool-gray-70); // #afb1b6;
7
+ --color-label-assistive: var(--color-cool-gray-80); // #cacbce;
8
+ --color-label-disabled: var(--color-cool-gray-80); // #cacbce;
16
9
  }
@@ -1,17 +1,10 @@
1
1
  // 서피스 계층 토큰
2
- @layer theme.tokens.color {
3
- :root,
4
- .theme-light {
5
- --color-bg-surface-static-white: var(--color-common-100); // #fff;
6
- --color-bg-surface-static-cool-gray: var(--color-cool-gray-99); // #fcfcfd;
7
- --color-bg-surface-static-blue: var(--color-blue-95); // #e5eeff;
8
- --color-bg-surface-neutral: var(--color-neutral-95); // #f2f2f2;
9
- --color-bg-surface-standard: var(--color-cool-gray-95); // #f2f2f3;
10
- --color-bg-surface-strong: var(--color-neutral-80); // #cccccc;
11
- --color-bg-surface-heavy: var(--color-cool-gray-20); // #313235;
12
- }
13
-
14
- .theme-dark {
15
- // TODO: 다크 테마 서피스 토큰 정의
16
- }
2
+ @mixin foundation-color-surface() {
3
+ --color-bg-surface-static-white: var(--color-common-100); // #fff;
4
+ --color-bg-surface-static-cool-gray: var(--color-cool-gray-99); // #fcfcfd;
5
+ --color-bg-surface-static-blue: var(--color-blue-95); // #e5eeff;
6
+ --color-bg-surface-neutral: var(--color-neutral-95); // #f2f2f2;
7
+ --color-bg-surface-standard: var(--color-cool-gray-95); // #f2f2f3;
8
+ --color-bg-surface-strong: var(--color-neutral-80); // #cccccc;
9
+ --color-bg-surface-heavy: var(--color-cool-gray-20); // #313235;
17
10
  }