@uniai-fe/uds-foundation 0.0.3 → 0.0.4

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 (41) hide show
  1. package/css.scss +1 -0
  2. package/package.json +4 -2
  3. package/src/color/index.scss +2 -0
  4. package/src/color/primitives.scss +222 -0
  5. package/src/color/semantic/background.scss +14 -0
  6. package/src/color/semantic/border.scss +16 -0
  7. package/src/color/semantic/core.scss +24 -0
  8. package/src/color/semantic/feedback.scss +16 -0
  9. package/src/color/semantic/index.scss +7 -0
  10. package/src/color/semantic/interaction.scss +12 -0
  11. package/src/color/semantic/label.scss +16 -0
  12. package/src/color/semantic/surface.scss +17 -0
  13. package/src/data/color.ts +329 -0
  14. package/src/data/layout.ts +58 -0
  15. package/src/data/spacing.ts +33 -0
  16. package/src/data/tokens.ts +22 -0
  17. package/src/data/typography.ts +122 -0
  18. package/src/global.d.ts +4 -0
  19. package/src/helpers/index.ts +83 -0
  20. package/src/index.scss +16 -0
  21. package/src/index.ts +3 -0
  22. package/src/init/document.scss +13 -0
  23. package/src/init/reset.scss +306 -0
  24. package/src/layout/breakpoint.scss +8 -0
  25. package/src/layout/radius.scss +32 -0
  26. package/src/layout/size.scss +19 -0
  27. package/src/spacing/gap.scss +19 -0
  28. package/src/spacing/padding.scss +15 -0
  29. package/src/types/theme-tokens.ts +39 -0
  30. package/src/typography/fonts/assets/inter/InterVariable.woff2 +0 -0
  31. package/src/typography/fonts/assets/pretendard-jp/PretendardJPVariable.woff2 +0 -0
  32. package/src/typography/fonts/font-family.scss +28 -0
  33. package/src/typography/fonts/index.ts +3 -0
  34. package/src/typography/fonts/inter.ts +33 -0
  35. package/src/typography/fonts/pretendard.ts +35 -0
  36. package/src/typography/fonts/types.ts +53 -0
  37. package/src/typography/styles/body.scss +23 -0
  38. package/src/typography/styles/caption.scss +13 -0
  39. package/src/typography/styles/display.scss +18 -0
  40. package/src/typography/styles/heading.scss +33 -0
  41. package/src/typography/styles/label.scss +18 -0
package/css.scss ADDED
@@ -0,0 +1 @@
1
+ @forward "./src/index.scss";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniai-fe/uds-foundation",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "UNIAI Design System; Design Foundation Package",
5
5
  "type": "module",
6
6
  "private": false,
@@ -23,7 +23,9 @@
23
23
  "url": "https://github.com/GraffitoRyu"
24
24
  },
25
25
  "files": [
26
- "dist"
26
+ "dist",
27
+ "src",
28
+ "css.scss"
27
29
  ],
28
30
  "main": "./dist/index.js",
29
31
  "module": "./dist/index.js",
@@ -0,0 +1,2 @@
1
+ @use "./primitives.scss";
2
+ @use "./semantic/index.scss";
@@ -0,0 +1,222 @@
1
+ @layer theme.tokens.color {
2
+ :root {
3
+ // common
4
+ --color-common-100: #fff;
5
+ --color-common-0: #000;
6
+
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;
21
+
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;
41
+
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;
56
+
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;
71
+
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;
86
+
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;
101
+
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;
116
+
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;
131
+
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;
146
+
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;
161
+
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;
176
+
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;
191
+
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;
206
+
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
+ }
222
+ }
@@ -0,0 +1,14 @@
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
+ }
14
+ }
@@ -0,0 +1,16 @@
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
+ }
16
+ }
@@ -0,0 +1,24 @@
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;
9
+
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;
14
+
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
+ }
24
+ }
@@ -0,0 +1,16 @@
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
+ }
16
+ }
@@ -0,0 +1,7 @@
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";
@@ -0,0 +1,12 @@
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
+ }
12
+ }
@@ -0,0 +1,16 @@
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
+ }
16
+ }
@@ -0,0 +1,17 @@
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
+ }
17
+ }