@uniai-fe/uds-foundation 0.2.2 → 0.3.1

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 CHANGED
@@ -12,7 +12,11 @@ pnpm add @uniai-fe/uds-foundation
12
12
 
13
13
  ### 최근 업데이트
14
14
 
15
- - `--color-label-standard` 값을 Figma 최신 스펙(`#4f5258`)으로 맞추고 disabled/interaction 계열 토큰도 함께 재검증했다. npm 배포 전 `pnpm --filter @uniai-fe/uds-foundation build`를 수행해 CSS/SCSS와 `docs/theme-tokens.{md,json}` 스냅샷까지 동기화한다.
15
+ - `Light.tokens-v2` 기준으로 color semantic을 동기화했다. `label.standard=#3d3f43`, `border.standard.alternative=#e4e5e7`, `border.standard.assistive=#f2f2f3`로 교정했으며 `state.*`, `icon.*`, `surface.static.cool_gray_darker`를 추가했다.
16
+ - 하위호환 정책으로 `common_99/common_100`, `icon.disable/icon.disabled`, `state.disabled/state.static_disabled`를 함께 유지한다.
17
+ - Figma 토큰 매핑 기준은 `docs/theme-token-mapping-guide.md`를 단일 참조로 사용한다.
18
+ - `Sementic.Button.*`은 foundation이 아닌 `@uniai-fe/uds-primitives` 버튼 변수 토큰(`components/button/styles/variables.scss`)에서 운영한다.
19
+ - `Sementic.Opacity.*`은 foundation semantic 토큰으로 별도 편입하지 않고, Figma node `{opacity}` source value를 `opacity` 속성에 직접 적용한다. (예: `30%`/`0.3` -> `opacity: 0.3;`)
16
20
  - Sass 소비자는 `@use "@uniai-fe/uds-foundation/css.scss";` 경로를 사용해야 하며, CSS-only 프로젝트는 기존대로 `import "@uniai-fe/uds-foundation/css";`로 토큰을 주입한다.
17
21
 
18
22
  ### 1) CSS 변수 주입
@@ -1,4 +1,6 @@
1
1
  const color_common = {
2
+ // 하위호환을 위해 common_99/common_100을 함께 유지한다.
3
+ common_99: "#fff",
2
4
  common_100: "#fff",
3
5
  common_0: "#000"
4
6
  };
@@ -252,7 +254,8 @@ const color_semantic = {
252
254
  },
253
255
  label: {
254
256
  strong: color_primitive.cool_gray_10,
255
- standard: color_primitive.cool_gray_20,
257
+ // v2 기준값으로 standard 교정한다.
258
+ standard: color_primitive.cool_gray_25,
256
259
  neutral: color_primitive.cool_gray_50,
257
260
  alternative: color_primitive.cool_gray_70,
258
261
  assistive: color_primitive.cool_gray_80,
@@ -264,8 +267,10 @@ const color_semantic = {
264
267
  blue: color_primitive.blue_90,
265
268
  strong: color_primitive.cool_gray_75,
266
269
  heavy: color_primitive.cool_gray_20,
267
- alternative: color_primitive.cool_gray_80,
268
- assistive: color_primitive.cool_gray_90
270
+ // v2 기준값으로 교정한다.
271
+ alternative: color_primitive.cool_gray_90,
272
+ // v2 기준값으로 assistive를 교정한다.
273
+ assistive: color_primitive.cool_gray_95
269
274
  }
270
275
  },
271
276
  background: {
@@ -282,6 +287,10 @@ const color_semantic = {
282
287
  static: {
283
288
  white: color_primitive.common_100,
284
289
  cool_gray: color_primitive.cool_gray_99,
290
+ // 신규 정적 서피스 톤을 추가한다.
291
+ cool_gray_darker: color_primitive.cool_gray_95,
292
+ // Light.tokens-v2 Static-Neutral을 동기화한다.
293
+ neutral: color_primitive.neutral_95,
285
294
  blue: color_primitive.blue_95
286
295
  },
287
296
  neutral: color_primitive.neutral_95,
@@ -293,6 +302,29 @@ const color_semantic = {
293
302
  static: color_primitive.common_100,
294
303
  disabled: color_primitive.cool_gray_95
295
304
  },
305
+ state: {
306
+ /**
307
+ * @deprecated Use state.static_disabled instead.
308
+ */
309
+ disabled: color_primitive.cool_gray_95,
310
+ primary_hover: color_primitive.blue_99,
311
+ primary_pressed: color_primitive.blue_95,
312
+ primary_selected: color_primitive.blue_90,
313
+ secondary_hover: color_primitive.cool_gray_99,
314
+ secondary_pressed: color_primitive.cool_gray_95,
315
+ secondary_selected: color_primitive.cool_gray_90,
316
+ static_disabled: color_primitive.cool_gray_95
317
+ },
318
+ icon: {
319
+ default: color_primitive.cool_gray_20,
320
+ alternative: color_primitive.cool_gray_60,
321
+ assistive: color_primitive.cool_gray_75,
322
+ /**
323
+ * @deprecated Use icon.disabled instead.
324
+ */
325
+ disable: color_primitive.cool_gray_85,
326
+ disabled: color_primitive.cool_gray_85
327
+ },
296
328
  feedback: {
297
329
  danger: color_primitive.red_40,
298
330
  error: color_primitive.red_45,
package/dist/index.css CHANGED
@@ -523,12 +523,13 @@
523
523
  --color-label-alternative: var(--color-cool-gray-70);
524
524
  --color-label-assistive: var(--color-cool-gray-80);
525
525
  --color-label-disabled: var(--color-cool-gray-80);
526
+ --color-border-standard: var(--color-cool-gray-90);
526
527
  --color-border-standard-cool-gray: var(--color-cool-gray-90);
527
528
  --color-border-standard-blue: var(--color-blue-90);
528
529
  --color-border-strong: var(--color-cool-gray-75);
529
530
  --color-border-heavy: var(--color-cool-gray-20);
530
- --color-border-alternative: var(--color-cool-gray-80);
531
- --color-border-assistive: var(--color-cool-gray-90);
531
+ --color-border-alternative: var(--color-cool-gray-90);
532
+ --color-border-assistive: var(--color-cool-gray-95);
532
533
  --color-bg-standard-cool-gray: var(--color-cool-gray-99);
533
534
  --color-bg-alternative-cool-gray: var(--color-cool-gray-95);
534
535
  --color-bg-standard-neutral: var(--color-neutral-99);
@@ -541,6 +542,10 @@
541
542
  --color-background-alternative-neutral: var(--color-neutral-95);
542
543
  --color-surface-static-white: var(--color-common-100);
543
544
  --color-surface-static-cool-gray: var(--color-cool-gray-99);
545
+ --color-surface-static-cool-gray-darker: var(
546
+ --color-cool-gray-95
547
+ );
548
+ --color-surface-static-neutral: var(--color-neutral-95);
544
549
  --color-surface-static-blue: var(--color-blue-95);
545
550
  --color-surface-neutral: var(--color-neutral-95);
546
551
  --color-surface-standard: var(--color-cool-gray-95);
@@ -548,6 +553,19 @@
548
553
  --color-surface-heavy: var(--color-cool-gray-20);
549
554
  --color-interaction-static: var(--color-common-100);
550
555
  --color-interaction-disabled: var(--color-cool-gray-95);
556
+ --color-state-disabled: var(--color-cool-gray-95);
557
+ --color-state-primary-hover: var(--color-blue-99);
558
+ --color-state-primary-pressed: var(--color-blue-95);
559
+ --color-state-primary-selected: var(--color-blue-90);
560
+ --color-state-secondary-hover: var(--color-cool-gray-99);
561
+ --color-state-secondary-pressed: var(--color-cool-gray-95);
562
+ --color-state-secondary-selected: var(--color-cool-gray-90);
563
+ --color-state-static-disabled: var(--color-cool-gray-95);
564
+ --color-icon-default: var(--color-cool-gray-20);
565
+ --color-icon-alternative: var(--color-cool-gray-60);
566
+ --color-icon-assistive: var(--color-cool-gray-75);
567
+ --color-icon-disable: var(--color-cool-gray-85);
568
+ --color-icon-disabled: var(--color-cool-gray-85);
551
569
  --color-danger: var(--color-red-40);
552
570
  --color-error: var(--color-red-45);
553
571
  --color-warning: var(--color-yellow-50);
@@ -648,7 +666,9 @@
648
666
  "Helvetica Neue", "Helvetica", "Apple Color Emoji", "Segoe UI Emoji",
649
667
  "Segoe UI Symbol", "Malgun Gothic", "맑은 고딕", "돋움", "dotum", "Oxygen",
650
668
  "Oxygen-Sans", "Ubuntu", "Cantarell", "sans-serif";
651
- --font-family-sans: var(--font-family-pretendard);
669
+ --font-family-sans: var(
670
+ --font-family-pretendard
671
+ );
652
672
  --font-display-large-size: 60px;
653
673
  --font-display-large-line-height: 1.4em;
654
674
  --font-display-large-letter-spacing: -0.2px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniai-fe/uds-foundation",
3
- "version": "0.2.2",
3
+ "version": "0.3.1",
4
4
  "description": "UNIAI Design System; Design Foundation Package",
5
5
  "type": "module",
6
6
  "private": false,
@@ -1,221 +1,221 @@
1
1
  @mixin foundation-color-primitives() {
2
2
  // common
3
- --color-common-100: #fff;
4
- --color-common-99: #fff;
5
- --color-common-0: #000;
3
+ --color-common-100: #fff; // #fff;
4
+ --color-common-99: #fff; // #fff;
5
+ --color-common-0: #000; // #000;
6
6
 
7
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;
8
+ --color-neutral-10: #1a1a1a; // #1a1a1a;
9
+ --color-neutral-20: #333333; // #333333;
10
+ --color-neutral-30: #4d4d4d; // #4d4d4d;
11
+ --color-neutral-40: #666666; // #666666;
12
+ --color-neutral-45: #737373; // #737373;
13
+ --color-neutral-50: #808080; // #808080;
14
+ --color-neutral-55: #8c8c8c; // #8c8c8c;
15
+ --color-neutral-60: #999999; // #999999;
16
+ --color-neutral-70: #b3b3b3; // #b3b3b3;
17
+ --color-neutral-80: #cccccc; // #cccccc;
18
+ --color-neutral-90: #e6e6e6; // #e6e6e6;
19
+ --color-neutral-95: #f2f2f2; // #f2f2f2;
20
+ --color-neutral-99: #fcfcfc; // #fcfcfc;
21
21
 
22
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;
23
+ --color-cool-gray-10: #18191b; // #18191b;
24
+ --color-cool-gray-20: #313235; // #313235;
25
+ --color-cool-gray-25: #3d3f43; // #3d3f43;
26
+ --color-cool-gray-30: #494b50; // #494b50;
27
+ --color-cool-gray-35: #55585e; // #55585e;
28
+ --color-cool-gray-40: #61656b; // #61656b;
29
+ --color-cool-gray-45: #6d7178; // #6d7178;
30
+ --color-cool-gray-50: #797e86; // #797e86;
31
+ --color-cool-gray-55: #878b92; // #878b92;
32
+ --color-cool-gray-60: #94989e; // #94989e;
33
+ --color-cool-gray-65: #a1a5aa; // #a1a5aa;
34
+ --color-cool-gray-70: #afb1b6; // #afb1b6;
35
+ --color-cool-gray-75: #bcbec2; // #bcbec2;
36
+ --color-cool-gray-80: #cacbce; // #cacbce;
37
+ --color-cool-gray-85: #d7d8db; // #d7d8db;
38
+ --color-cool-gray-90: #e4e5e7; // #e4e5e7;
39
+ --color-cool-gray-95: #f2f2f3; // #f2f2f3;
40
+ --color-cool-gray-99: #fcfcfd; // #fcfcfd;
41
41
 
42
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;
43
+ --color-blue-10: #001233; // #001233;
44
+ --color-blue-20: #002466; // #002466;
45
+ --color-blue-30: #003699; // #003699;
46
+ --color-blue-40: #0047cc; // #0047cc;
47
+ --color-blue-45: #0050e5; // #0050e5;
48
+ --color-blue-50: #0059ff; // #0059ff;
49
+ --color-blue-55: #1a6aff; // #1a6aff;
50
+ --color-blue-60: #337aff; // #337aff;
51
+ --color-blue-70: #669cff; // #669cff;
52
+ --color-blue-80: #99bdff; // #99bdff;
53
+ --color-blue-90: #ccdeff; // #ccdeff;
54
+ --color-blue-95: #e5eeff; // #e5eeff;
55
+ --color-blue-99: #fafcff; // #fafcff;
56
56
 
57
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;
58
+ --color-purple-10: #120033; // #120033;
59
+ --color-purple-20: #240066; // #240066;
60
+ --color-purple-30: #360099; // #360099;
61
+ --color-purple-40: #4800cc; // #4800cc;
62
+ --color-purple-45: #5200e5; // #5200e5;
63
+ --color-purple-50: #5b00ff; // #5b00ff;
64
+ --color-purple-55: #6c1bff; // #6c1bff;
65
+ --color-purple-60: #7b33ff; // #7b33ff;
66
+ --color-purple-70: #9c66ff; // #9c66ff;
67
+ --color-purple-80: #bd99ff; // #bd99ff;
68
+ --color-purple-90: #deccff; // #deccff;
69
+ --color-purple-95: #efe5ff; // #efe5ff;
70
+ --color-purple-99: #fcfaff; // #fcfaff;
71
71
 
72
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;
73
+ --color-magenta-10: #32012e; // #32012e;
74
+ --color-magenta-20: #64025b; // #64025b;
75
+ --color-magenta-30: #950489; // #950489;
76
+ --color-magenta-40: #c705b6; // #c705b6;
77
+ --color-magenta-45: #e005cd; // #e005cd;
78
+ --color-magenta-50: #f906e4; // #f906e4;
79
+ --color-magenta-55: #fa1fe7; // #fa1fe7;
80
+ --color-magenta-60: #fa38e9; // #fa38e9;
81
+ --color-magenta-70: #fb6aef; // #fb6aef;
82
+ --color-magenta-80: #fd9bf4; // #fd9bf4;
83
+ --color-magenta-90: #fecdfa; // #fecdfa;
84
+ --color-magenta-95: #fee6fc; // #fee6fc;
85
+ --color-magenta-99: #fffafe; // #fffafe;
86
86
 
87
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;
88
+ --color-pink-10: #320116; // #320116;
89
+ --color-pink-20: #63032b; // #63032b;
90
+ --color-pink-30: #950441; // #950441;
91
+ --color-pink-40: #c70556; // #c70556;
92
+ --color-pink-45: #e00661; // #e00661;
93
+ --color-pink-50: #f8076c; // #f8076c;
94
+ --color-pink-55: #f91f7a; // #f91f7a;
95
+ --color-pink-60: #fa3889; // #fa3889;
96
+ --color-pink-70: #fb6aa7; // #fb6aa7;
97
+ --color-pink-80: #fc9cc4; // #fc9cc4;
98
+ --color-pink-90: #fecde2; // #fecde2;
99
+ --color-pink-95: #fee6f0; // #fee6f0;
100
+ --color-pink-99: #fffafc; // #fffafc;
101
101
 
102
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;
103
+ --color-red-10: #310602; // #310602;
104
+ --color-red-20: #610d05; // #610d05;
105
+ --color-red-30: #921307; // #921307;
106
+ --color-red-40: #c21a0a; // #c21a0a;
107
+ --color-red-45: #da1d0b; // #da1d0b;
108
+ --color-red-50: #f2200d; // #f2200d;
109
+ --color-red-55: #f43625; // #f43625;
110
+ --color-red-60: #f54d3d; // #f54d3d;
111
+ --color-red-70: #f7796e; // #f7796e;
112
+ --color-red-80: #faa69e; // #faa69e;
113
+ --color-red-90: #fcd2cf; // #fcd2cf;
114
+ --color-red-95: #fde8e7; // #fde8e7;
115
+ --color-red-99: #fffafa; // #fffafa;
116
116
 
117
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;
118
+ --color-orange-10: #331100; // #331100;
119
+ --color-orange-20: #662200; // #662200;
120
+ --color-orange-30: #993300; // #993300;
121
+ --color-orange-40: #cc4400; // #cc4400;
122
+ --color-orange-45: #e54d00; // #e54d00;
123
+ --color-orange-50: #ff5500; // #ff5500;
124
+ --color-orange-55: #ff661a; // #ff661a;
125
+ --color-orange-60: #ff7733; // #ff7733;
126
+ --color-orange-70: #ff9966; // #ff9966;
127
+ --color-orange-80: #ffbb99; // #ffbb99;
128
+ --color-orange-90: #ffddcc; // #ffddcc;
129
+ --color-orange-95: #ffeee5; // #ffeee5;
130
+ --color-orange-99: #fffcfa; // #fffcfa;
131
131
 
132
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;
133
+ --color-yellow-10: #302903; // #302903;
134
+ --color-yellow-20: #615205; // #615205;
135
+ --color-yellow-30: #917a08; // #917a08;
136
+ --color-yellow-40: #c2a30a; // #c2a30a;
137
+ --color-yellow-45: #dab80b; // #dab80b;
138
+ --color-yellow-50: #f2cc0d; // #f2cc0d;
139
+ --color-yellow-55: #f4d125; // #f4d125;
140
+ --color-yellow-60: #f5d63d; // #f5d63d;
141
+ --color-yellow-70: #f7e06e; // #f7e06e;
142
+ --color-yellow-80: #faeb9e; // #faeb9e;
143
+ --color-yellow-90: #fcf5cf; // #fcf5cf;
144
+ --color-yellow-95: #fefae7; // #fefae7;
145
+ --color-yellow-99: #fffefa; // #fffefa;
146
146
 
147
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;
148
+ --color-lime-10: #2b3300; // #2b3300;
149
+ --color-lime-20: #556600; // #556600;
150
+ --color-lime-30: #809900; // #809900;
151
+ --color-lime-40: #aacc00; // #aacc00;
152
+ --color-lime-45: #bfe500; // #bfe500;
153
+ --color-lime-50: #d5ff00; // #d5ff00;
154
+ --color-lime-55: #d9ff1a; // #d9ff1a;
155
+ --color-lime-60: #ddff33; // #ddff33;
156
+ --color-lime-70: #e6ff66; // #e6ff66;
157
+ --color-lime-80: #eeff99; // #eeff99;
158
+ --color-lime-90: #f7ffcc; // #f7ffcc;
159
+ --color-lime-95: #fbffe5; // #fbffe5;
160
+ --color-lime-99: #fefffa; // #fefffa;
161
161
 
162
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;
163
+ --color-green-10: #062d13; // #062d13;
164
+ --color-green-20: #0d5926; // #0d5926;
165
+ --color-green-30: #138639; // #138639;
166
+ --color-green-40: #1ab24d; // #1ab24d;
167
+ --color-green-45: #1dc956; // #1dc956;
168
+ --color-green-50: #20df60; // #20df60;
169
+ --color-green-55: #36e270; // #36e270;
170
+ --color-green-60: #4de580; // #4de580;
171
+ --color-green-70: #79ec9f; // #79ec9f;
172
+ --color-green-80: #a6f2bf; // #a6f2bf;
173
+ --color-green-90: #d2f9df; // #d2f9df;
174
+ --color-green-95: #e9fcef; // #e9fcef;
175
+ --color-green-99: #fbfefc; // #fbfefc;
176
176
 
177
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;
178
+ --color-bright-green-10: #213003; // #213003;
179
+ --color-bright-green-20: #426105; // #426105;
180
+ --color-bright-green-30: #639108; // #639108;
181
+ --color-bright-green-40: #84c10b; // #84c10b;
182
+ --color-bright-green-45: #95da0c; // #95da0c;
183
+ --color-bright-green-50: #a5f20d; // #a5f20d;
184
+ --color-bright-green-55: #aef325; // #aef325;
185
+ --color-bright-green-60: #b7f43e; // #b7f43e;
186
+ --color-bright-green-70: #c9f76e; // #c9f76e;
187
+ --color-bright-green-80: #dbfa9e; // #dbfa9e;
188
+ --color-bright-green-90: #edfccf; // #edfccf;
189
+ --color-bright-green-95: #f6fee7; // #f6fee7;
190
+ --color-bright-green-99: #fdfffa; // #fdfffa;
191
191
 
192
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;
193
+ --color-teal-10: #062d20; // #062d20;
194
+ --color-teal-20: #0d5940; // #0d5940;
195
+ --color-teal-30: #13865f; // #13865f;
196
+ --color-teal-40: #1ab27f; // #1ab27f;
197
+ --color-teal-45: #1dc98f; // #1dc98f;
198
+ --color-teal-50: #20df9f; // #20df9f;
199
+ --color-teal-55: #36e2a9; // #36e2a9;
200
+ --color-teal-60: #4de5b2; // #4de5b2;
201
+ --color-teal-70: #79ecc5; // #79ecc5;
202
+ --color-teal-80: #a6f2d9; // #a6f2d9;
203
+ --color-teal-90: #d2f9ec; // #d2f9ec;
204
+ --color-teal-95: #e9fcf5; // #e9fcf5;
205
+ --color-teal-99: #fbfefd; // #fbfefd;
206
206
 
207
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;
208
+ --color-cyan-10: #002f33; // #002f33;
209
+ --color-cyan-20: #005e66; // #005e66;
210
+ --color-cyan-30: #008c99; // #008c99;
211
+ --color-cyan-40: #00bbcc; // #00bbcc;
212
+ --color-cyan-45: #00d2e5; // #00d2e5;
213
+ --color-cyan-50: #00eaff; // #00eaff;
214
+ --color-cyan-55: #1aecff; // #1aecff;
215
+ --color-cyan-60: #33eeff; // #33eeff;
216
+ --color-cyan-70: #66f2ff; // #66f2ff;
217
+ --color-cyan-80: #99f7ff; // #99f7ff;
218
+ --color-cyan-90: #ccfbff; // #ccfbff;
219
+ --color-cyan-95: #e5fdff; // #e5fdff;
220
+ --color-cyan-99: #faffff; // #faffff;
221
221
  }
@@ -1,9 +1,12 @@
1
1
  // 테마 경계선 토큰
2
2
  @mixin foundation-color-border() {
3
+ --color-border-standard: var(--color-cool-gray-90); // #e4e5e7;
3
4
  --color-border-standard-cool-gray: var(--color-cool-gray-90); // #e4e5e7;
4
5
  --color-border-standard-blue: var(--color-blue-90); // #ccdeff;
5
6
  --color-border-strong: var(--color-cool-gray-75); // #bcbec2;
6
7
  --color-border-heavy: var(--color-cool-gray-20); // #313235;
7
- --color-border-alternative: var(--color-cool-gray-80); // #cacbce;
8
- --color-border-assistive: var(--color-cool-gray-90); // #e4e5e7;
8
+ // v2 기준값으로 alternative를 상향한다.
9
+ --color-border-alternative: var(--color-cool-gray-90); // #e4e5e7;
10
+ // v2 기준값으로 assistive를 상향한다.
11
+ --color-border-assistive: var(--color-cool-gray-95); // #f2f2f3;
9
12
  }
@@ -0,0 +1,10 @@
1
+ // 아이콘 계층 토큰
2
+ @mixin foundation-color-icon() {
3
+ --color-icon-default: var(--color-cool-gray-20); // #313235;
4
+ --color-icon-alternative: var(--color-cool-gray-60); // #94989e;
5
+ --color-icon-assistive: var(--color-cool-gray-75); // #bcbec2;
6
+
7
+ // 하위호환을 위해 disable/disabled를 동시 제공한다.
8
+ --color-icon-disable: var(--color-cool-gray-85); // #d7d8db;
9
+ --color-icon-disabled: var(--color-cool-gray-85); // #d7d8db;
10
+ }
@@ -4,6 +4,8 @@
4
4
  @use "./background.scss" as colorBackground;
5
5
  @use "./surface.scss" as colorSurface;
6
6
  @use "./interaction.scss" as colorInteraction;
7
+ @use "./state.scss" as colorState;
8
+ @use "./icon.scss" as colorIcon;
7
9
  @use "./feedback.scss" as colorFeedback;
8
10
 
9
11
  @mixin foundation-color-semantic() {
@@ -13,5 +15,7 @@
13
15
  @include colorBackground.foundation-color-background();
14
16
  @include colorSurface.foundation-color-surface();
15
17
  @include colorInteraction.foundation-color-interaction();
18
+ @include colorState.foundation-color-state();
19
+ @include colorIcon.foundation-color-icon();
16
20
  @include colorFeedback.foundation-color-feedback();
17
21
  }
@@ -1,6 +1,7 @@
1
1
  // 라벨 계층 토큰
2
2
  @mixin foundation-color-label() {
3
3
  --color-label-strong: var(--color-cool-gray-10); // #18191b;
4
+ // v2 기준값을 유지한다.
4
5
  --color-label-standard: var(--color-cool-gray-25); // #3d3f43;
5
6
  --color-label-neutral: var(--color-cool-gray-50); // #797e86;
6
7
  --color-label-alternative: var(--color-cool-gray-70); // #afb1b6;
@@ -0,0 +1,12 @@
1
+ // 상태 계층 토큰
2
+ @mixin foundation-color-state() {
3
+ // 하위호환을 위해 disabled/static-disabled를 함께 제공한다.
4
+ --color-state-disabled: var(--color-cool-gray-95); // #f2f2f3;
5
+ --color-state-primary-hover: var(--color-blue-99); // #fafcff;
6
+ --color-state-primary-pressed: var(--color-blue-95); // #e5eeff;
7
+ --color-state-primary-selected: var(--color-blue-90); // #ccdeff;
8
+ --color-state-secondary-hover: var(--color-cool-gray-99); // #fcfcfd;
9
+ --color-state-secondary-pressed: var(--color-cool-gray-95); // #f2f2f3;
10
+ --color-state-secondary-selected: var(--color-cool-gray-90); // #e4e5e7;
11
+ --color-state-static-disabled: var(--color-cool-gray-95); // #f2f2f3;
12
+ }
@@ -2,6 +2,12 @@
2
2
  @mixin foundation-color-surface() {
3
3
  --color-surface-static-white: var(--color-common-100); // #fff;
4
4
  --color-surface-static-cool-gray: var(--color-cool-gray-99); // #fcfcfd;
5
+ // 신규 darker 토큰을 추가해 정적 서피스 선택지를 확장한다.
6
+ --color-surface-static-cool-gray-darker: var(
7
+ --color-cool-gray-95
8
+ ); // #f2f2f3;
9
+ // Light.tokens-v2 Static-Neutral을 반영한다.
10
+ --color-surface-static-neutral: var(--color-neutral-95); // #f2f2f2;
5
11
  --color-surface-static-blue: var(--color-blue-95); // #e5eeff;
6
12
  --color-surface-neutral: var(--color-neutral-95); // #f2f2f2;
7
13
  --color-surface-standard: var(--color-cool-gray-95); // #f2f2f3;
package/src/data/color.ts CHANGED
@@ -4,6 +4,8 @@ import type {
4
4
  } from "../types/theme-tokens";
5
5
 
6
6
  const color_common: ThemeColorPrimitive = {
7
+ // 하위호환을 위해 common_99/common_100을 함께 유지한다.
8
+ common_99: "#fff",
7
9
  common_100: "#fff",
8
10
  common_0: "#000",
9
11
  } as const;
@@ -277,7 +279,8 @@ export const color_semantic: ThemeColorSemanticSection = {
277
279
  },
278
280
  label: {
279
281
  strong: color_primitive.cool_gray_10,
280
- standard: color_primitive.cool_gray_20,
282
+ // v2 기준값으로 standard 교정한다.
283
+ standard: color_primitive.cool_gray_25,
281
284
  neutral: color_primitive.cool_gray_50,
282
285
  alternative: color_primitive.cool_gray_70,
283
286
  assistive: color_primitive.cool_gray_80,
@@ -289,8 +292,10 @@ export const color_semantic: ThemeColorSemanticSection = {
289
292
  blue: color_primitive.blue_90,
290
293
  strong: color_primitive.cool_gray_75,
291
294
  heavy: color_primitive.cool_gray_20,
292
- alternative: color_primitive.cool_gray_80,
293
- assistive: color_primitive.cool_gray_90,
295
+ // v2 기준값으로 교정한다.
296
+ alternative: color_primitive.cool_gray_90,
297
+ // v2 기준값으로 assistive를 교정한다.
298
+ assistive: color_primitive.cool_gray_95,
294
299
  },
295
300
  },
296
301
  background: {
@@ -307,6 +312,10 @@ export const color_semantic: ThemeColorSemanticSection = {
307
312
  static: {
308
313
  white: color_primitive.common_100,
309
314
  cool_gray: color_primitive.cool_gray_99,
315
+ // 신규 정적 서피스 톤을 추가한다.
316
+ cool_gray_darker: color_primitive.cool_gray_95,
317
+ // Light.tokens-v2 Static-Neutral을 동기화한다.
318
+ neutral: color_primitive.neutral_95,
310
319
  blue: color_primitive.blue_95,
311
320
  },
312
321
  neutral: color_primitive.neutral_95,
@@ -318,6 +327,29 @@ export const color_semantic: ThemeColorSemanticSection = {
318
327
  static: color_primitive.common_100,
319
328
  disabled: color_primitive.cool_gray_95,
320
329
  },
330
+ state: {
331
+ /**
332
+ * @deprecated Use state.static_disabled instead.
333
+ */
334
+ disabled: color_primitive.cool_gray_95,
335
+ primary_hover: color_primitive.blue_99,
336
+ primary_pressed: color_primitive.blue_95,
337
+ primary_selected: color_primitive.blue_90,
338
+ secondary_hover: color_primitive.cool_gray_99,
339
+ secondary_pressed: color_primitive.cool_gray_95,
340
+ secondary_selected: color_primitive.cool_gray_90,
341
+ static_disabled: color_primitive.cool_gray_95,
342
+ },
343
+ icon: {
344
+ default: color_primitive.cool_gray_20,
345
+ alternative: color_primitive.cool_gray_60,
346
+ assistive: color_primitive.cool_gray_75,
347
+ /**
348
+ * @deprecated Use icon.disabled instead.
349
+ */
350
+ disable: color_primitive.cool_gray_85,
351
+ disabled: color_primitive.cool_gray_85,
352
+ },
321
353
  feedback: {
322
354
  danger: color_primitive.red_40,
323
355
  error: color_primitive.red_45,
@@ -1,6 +1,6 @@
1
1
  @mixin foundation-layout-breakpoint() {
2
- --theme-breakpoint-xsmall-start: 0px;
3
- --theme-breakpoint-small-start: 768px;
4
- --theme-breakpoint-medium-start: 992px;
5
- --theme-breakpoint-large-start: 1200px;
2
+ --theme-breakpoint-xsmall-start: 0px; // 0px;
3
+ --theme-breakpoint-small-start: 768px; // 768px;
4
+ --theme-breakpoint-medium-start: 992px; // 992px;
5
+ --theme-breakpoint-large-start: 1200px; // 1200px;
6
6
  }
@@ -1,30 +1,29 @@
1
1
  @mixin foundation-layout-radius() {
2
2
  // radius (by size)
3
- --theme-radius-4x4: 1px;
4
- --theme-radius-8x8: 2px;
5
- --theme-radius-12x12: 2px;
6
- --theme-radius-16x16: 2px;
7
- --theme-radius-20x20: 4px;
8
- --theme-radius-24x24: 4px;
9
- --theme-radius-32x32: 4px;
10
- --theme-radius-40x40: 6px;
11
- --theme-radius-48x48: 6px;
12
- --theme-radius-56x56: 8px;
13
- --theme-radius-64x64: 10px;
14
- --theme-radius-72x72: 12px;
15
- --theme-radius-80x80: 16px;
16
- --theme-radius-96x96: 16px;
17
- --theme-radius-120x120: 16px;
18
-
3
+ --theme-radius-4x4: 1px; // 1px;
4
+ --theme-radius-8x8: 2px; // 2px;
5
+ --theme-radius-12x12: 2px; // 2px;
6
+ --theme-radius-16x16: 2px; // 2px;
7
+ --theme-radius-20x20: 4px; // 4px;
8
+ --theme-radius-24x24: 4px; // 4px;
9
+ --theme-radius-32x32: 4px; // 4px;
10
+ --theme-radius-40x40: 6px; // 6px;
11
+ --theme-radius-48x48: 6px; // 6px;
12
+ --theme-radius-56x56: 8px; // 8px;
13
+ --theme-radius-64x64: 10px; // 10px;
14
+ --theme-radius-72x72: 12px; // 12px;
15
+ --theme-radius-80x80: 16px; // 16px;
16
+ --theme-radius-96x96: 16px; // 16px;
17
+ --theme-radius-120x120: 16px; // 16px;
19
18
  // radius (by level)
20
- --theme-radius-xxsmall: 1px;
21
- --theme-radius-xsmall: 2px;
22
- --theme-radius-small: 4px;
23
- --theme-radius-medium-1: 6px;
24
- --theme-radius-medium-2: 6px;
25
- --theme-radius-medium-3: 8px;
26
- --theme-radius-medium-4: 10px;
27
- --theme-radius-large-1: 12px;
28
- --theme-radius-large-2: 16px;
29
- --theme-radius-xlarge: 16px;
19
+ --theme-radius-xxsmall: 1px; // 1px;
20
+ --theme-radius-xsmall: 2px; // 2px;
21
+ --theme-radius-small: 4px; // 4px;
22
+ --theme-radius-medium-1: 6px; // 6px;
23
+ --theme-radius-medium-2: 6px; // 6px;
24
+ --theme-radius-medium-3: 8px; // 8px;
25
+ --theme-radius-medium-4: 10px; // 10px;
26
+ --theme-radius-large-1: 12px; // 12px;
27
+ --theme-radius-large-2: 16px; // 16px;
28
+ --theme-radius-xlarge: 16px; // 16px;
30
29
  }
@@ -1,17 +1,17 @@
1
1
  @mixin foundation-layout-size() {
2
- --theme-size-xxsmall: 4px;
3
- --theme-size-xsmall-1: 8px;
4
- --theme-size-xsmall-2: 12px;
5
- --theme-size-xsmall-3: 16px;
6
- --theme-size-small-1: 20px;
7
- --theme-size-small-2: 24px;
8
- --theme-size-small-3: 32px;
9
- --theme-size-medium-1: 40px;
10
- --theme-size-medium-2: 48px;
11
- --theme-size-medium-3: 56px;
12
- --theme-size-medium-4: 64px;
13
- --theme-size-large-1: 72px;
14
- --theme-size-large-2: 80px;
15
- --theme-size-xlarge-1: 96px;
16
- --theme-size-xlarge-2: 120px;
2
+ --theme-size-xxsmall: 4px; // 4px;
3
+ --theme-size-xsmall-1: 8px; // 8px;
4
+ --theme-size-xsmall-2: 12px; // 12px;
5
+ --theme-size-xsmall-3: 16px; // 16px;
6
+ --theme-size-small-1: 20px; // 20px;
7
+ --theme-size-small-2: 24px; // 24px;
8
+ --theme-size-small-3: 32px; // 32px;
9
+ --theme-size-medium-1: 40px; // 40px;
10
+ --theme-size-medium-2: 48px; // 48px;
11
+ --theme-size-medium-3: 56px; // 56px;
12
+ --theme-size-medium-4: 64px; // 64px;
13
+ --theme-size-large-1: 72px; // 72px;
14
+ --theme-size-large-2: 80px; // 80px;
15
+ --theme-size-xlarge-1: 96px; // 96px;
16
+ --theme-size-xlarge-2: 120px; // 120px;
17
17
  }
@@ -1,17 +1,17 @@
1
1
  @mixin foundation-spacing-gap() {
2
- --spacing-gap-1: 2px;
3
- --spacing-gap-2: 4px;
4
- --spacing-gap-3: 6px;
5
- --spacing-gap-4: 8px;
6
- --spacing-gap-5: 12px;
7
- --spacing-gap-6: 16px;
8
- --spacing-gap-7: 20px;
9
- --spacing-gap-8: 24px;
10
- --spacing-gap-9: 28px;
11
- --spacing-gap-10: 32px;
12
- --spacing-gap-11: 36px;
13
- --spacing-gap-12: 40px;
14
- --spacing-gap-13: 48px;
15
- --spacing-gap-14: 64px;
16
- --spacing-gap-15: 80px;
2
+ --spacing-gap-1: 2px; // 2px;
3
+ --spacing-gap-2: 4px; // 4px;
4
+ --spacing-gap-3: 6px; // 6px;
5
+ --spacing-gap-4: 8px; // 8px;
6
+ --spacing-gap-5: 12px; // 12px;
7
+ --spacing-gap-6: 16px; // 16px;
8
+ --spacing-gap-7: 20px; // 20px;
9
+ --spacing-gap-8: 24px; // 24px;
10
+ --spacing-gap-9: 28px; // 28px;
11
+ --spacing-gap-10: 32px; // 32px;
12
+ --spacing-gap-11: 36px; // 36px;
13
+ --spacing-gap-12: 40px; // 40px;
14
+ --spacing-gap-13: 48px; // 48px;
15
+ --spacing-gap-14: 64px; // 64px;
16
+ --spacing-gap-15: 80px; // 80px;
17
17
  }
@@ -1,13 +1,13 @@
1
1
  @mixin foundation-spacing-padding() {
2
- --spacing-padding-1: 2px;
3
- --spacing-padding-2: 4px;
4
- --spacing-padding-3: 6px;
5
- --spacing-padding-4: 8px;
6
- --spacing-padding-5: 12px;
7
- --spacing-padding-6: 16px;
8
- --spacing-padding-7: 20px;
9
- --spacing-padding-8: 24px;
10
- --spacing-padding-9: 28px;
11
- --spacing-padding-10: 32px;
12
- --spacing-padding-11: 40px;
2
+ --spacing-padding-1: 2px; // 2px;
3
+ --spacing-padding-2: 4px; // 4px;
4
+ --spacing-padding-3: 6px; // 6px;
5
+ --spacing-padding-4: 8px; // 8px;
6
+ --spacing-padding-5: 12px; // 12px;
7
+ --spacing-padding-6: 16px; // 16px;
8
+ --spacing-padding-7: 20px; // 20px;
9
+ --spacing-padding-8: 24px; // 24px;
10
+ --spacing-padding-9: 28px; // 28px;
11
+ --spacing-padding-10: 32px; // 32px;
12
+ --spacing-padding-11: 40px; // 40px;
13
13
  }
@@ -23,5 +23,7 @@
23
23
  "Segoe UI Symbol", "Malgun Gothic", "맑은 고딕", "돋움", "dotum", "Oxygen",
24
24
  "Oxygen-Sans", "Ubuntu", "Cantarell", "sans-serif";
25
25
 
26
- --font-family-sans: var(--font-family-pretendard);
26
+ --font-family-sans: var(
27
+ --font-family-pretendard
28
+ ); // var(--font-family-pretendard);
27
29
  }
@@ -1,27 +1,23 @@
1
1
  @mixin foundation-typography-body() {
2
2
  // Body typography scale is synced with Figma Light variables and includes xxsmall.
3
- --font-body-large-size: 19px;
4
- --font-body-large-line-height: 1.5em;
5
- --font-body-large-letter-spacing: 0px;
6
- --font-body-large-weight: 600;
7
-
8
- --font-body-medium-size: 17px;
9
- --font-body-medium-line-height: 1.5em;
10
- --font-body-medium-letter-spacing: 0px;
11
- --font-body-medium-weight: 500;
12
-
13
- --font-body-small-size: 16px;
14
- --font-body-small-line-height: 1.5em;
15
- --font-body-small-letter-spacing: 0px;
16
- --font-body-small-weight: 400;
17
-
18
- --font-body-xsmall-size: 15px;
19
- --font-body-xsmall-line-height: 1.5em;
20
- --font-body-xsmall-letter-spacing: 0px;
21
- --font-body-xsmall-weight: 400;
22
-
23
- --font-body-xxsmall-size: 13px;
24
- --font-body-xxsmall-line-height: 1.5em;
25
- --font-body-xxsmall-letter-spacing: 0px;
26
- --font-body-xxsmall-weight: 400;
3
+ --font-body-large-size: 19px; // 19px;
4
+ --font-body-large-line-height: 1.5em; // 1.5em;
5
+ --font-body-large-letter-spacing: 0px; // 0px;
6
+ --font-body-large-weight: 600; // 600;
7
+ --font-body-medium-size: 17px; // 17px;
8
+ --font-body-medium-line-height: 1.5em; // 1.5em;
9
+ --font-body-medium-letter-spacing: 0px; // 0px;
10
+ --font-body-medium-weight: 500; // 500;
11
+ --font-body-small-size: 16px; // 16px;
12
+ --font-body-small-line-height: 1.5em; // 1.5em;
13
+ --font-body-small-letter-spacing: 0px; // 0px;
14
+ --font-body-small-weight: 400; // 400;
15
+ --font-body-xsmall-size: 15px; // 15px;
16
+ --font-body-xsmall-line-height: 1.5em; // 1.5em;
17
+ --font-body-xsmall-letter-spacing: 0px; // 0px;
18
+ --font-body-xsmall-weight: 400; // 400;
19
+ --font-body-xxsmall-size: 13px; // 13px;
20
+ --font-body-xxsmall-line-height: 1.5em; // 1.5em;
21
+ --font-body-xxsmall-letter-spacing: 0px; // 0px;
22
+ --font-body-xxsmall-weight: 400; // 400;
27
23
  }
@@ -1,11 +1,10 @@
1
1
  @mixin foundation-typography-caption() {
2
- --font-caption-large-size: 12px;
3
- --font-caption-large-line-height: 1.5em;
4
- --font-caption-large-letter-spacing: 0px;
5
- --font-caption-large-weight: 600;
6
-
7
- --font-caption-medium-size: 11px;
8
- --font-caption-medium-line-height: 1.5em;
9
- --font-caption-medium-letter-spacing: 0px;
10
- --font-caption-medium-weight: 500;
2
+ --font-caption-large-size: 12px; // 12px;
3
+ --font-caption-large-line-height: 1.5em; // 1.5em;
4
+ --font-caption-large-letter-spacing: 0px; // 0px;
5
+ --font-caption-large-weight: 600; // 600;
6
+ --font-caption-medium-size: 11px; // 11px;
7
+ --font-caption-medium-line-height: 1.5em; // 1.5em;
8
+ --font-caption-medium-letter-spacing: 0px; // 0px;
9
+ --font-caption-medium-weight: 500; // 500;
11
10
  }
@@ -1,16 +1,14 @@
1
1
  @mixin foundation-typography-display() {
2
- --font-display-large-size: 60px;
3
- --font-display-large-line-height: 1.4em;
4
- --font-display-large-letter-spacing: -0.2px;
5
- --font-display-large-weight: 700;
6
-
7
- --font-display-medium-size: 44px;
8
- --font-display-medium-line-height: 1.4em;
9
- --font-display-medium-letter-spacing: -0.2px;
10
- --font-display-medium-weight: 700;
11
-
12
- --font-display-small-size: 36px;
13
- --font-display-small-line-height: 1.4em;
14
- --font-display-small-letter-spacing: -0.2px;
15
- --font-display-small-weight: 600;
2
+ --font-display-large-size: 60px; // 60px;
3
+ --font-display-large-line-height: 1.4em; // 1.4em;
4
+ --font-display-large-letter-spacing: -0.2px; // -0.2px;
5
+ --font-display-large-weight: 700; // 700;
6
+ --font-display-medium-size: 44px; // 44px;
7
+ --font-display-medium-line-height: 1.4em; // 1.4em;
8
+ --font-display-medium-letter-spacing: -0.2px; // -0.2px;
9
+ --font-display-medium-weight: 700; // 700;
10
+ --font-display-small-size: 36px; // 36px;
11
+ --font-display-small-line-height: 1.4em; // 1.4em;
12
+ --font-display-small-letter-spacing: -0.2px; // -0.2px;
13
+ --font-display-small-weight: 600; // 600;
16
14
  }
@@ -1,31 +1,26 @@
1
1
  @mixin foundation-typography-heading() {
2
- --font-heading-xlarge-size: 40px;
3
- --font-heading-xlarge-line-height: 1.4em;
4
- --font-heading-xlarge-letter-spacing: -0.2px;
5
- --font-heading-xlarge-weight: 600;
6
-
7
- --font-heading-large-size: 32px;
8
- --font-heading-large-line-height: 1.4em;
9
- --font-heading-large-letter-spacing: -0.2px;
10
- --font-heading-large-weight: 600;
11
-
12
- --font-heading-medium-size: 24px;
13
- --font-heading-medium-line-height: 1.4em;
14
- --font-heading-medium-letter-spacing: 0px;
15
- --font-heading-medium-weight: 600;
16
-
17
- --font-heading-small-size: 19px;
18
- --font-heading-small-line-height: 1.4em;
19
- --font-heading-small-letter-spacing: 0px;
20
- --font-heading-small-weight: 600;
21
-
22
- --font-heading-xsmall-size: 17px;
23
- --font-heading-xsmall-line-height: 1.5em;
24
- --font-heading-xsmall-letter-spacing: 0px;
25
- --font-heading-xsmall-weight: 600;
26
-
27
- --font-heading-xxsmall-size: 15px;
28
- --font-heading-xxsmall-line-height: 1.5em;
29
- --font-heading-xxsmall-letter-spacing: 0px;
30
- --font-heading-xxsmall-weight: 600;
2
+ --font-heading-xlarge-size: 40px; // 40px;
3
+ --font-heading-xlarge-line-height: 1.4em; // 1.4em;
4
+ --font-heading-xlarge-letter-spacing: -0.2px; // -0.2px;
5
+ --font-heading-xlarge-weight: 600; // 600;
6
+ --font-heading-large-size: 32px; // 32px;
7
+ --font-heading-large-line-height: 1.4em; // 1.4em;
8
+ --font-heading-large-letter-spacing: -0.2px; // -0.2px;
9
+ --font-heading-large-weight: 600; // 600;
10
+ --font-heading-medium-size: 24px; // 24px;
11
+ --font-heading-medium-line-height: 1.4em; // 1.4em;
12
+ --font-heading-medium-letter-spacing: 0px; // 0px;
13
+ --font-heading-medium-weight: 600; // 600;
14
+ --font-heading-small-size: 19px; // 19px;
15
+ --font-heading-small-line-height: 1.4em; // 1.4em;
16
+ --font-heading-small-letter-spacing: 0px; // 0px;
17
+ --font-heading-small-weight: 600; // 600;
18
+ --font-heading-xsmall-size: 17px; // 17px;
19
+ --font-heading-xsmall-line-height: 1.5em; // 1.5em;
20
+ --font-heading-xsmall-letter-spacing: 0px; // 0px;
21
+ --font-heading-xsmall-weight: 600; // 600;
22
+ --font-heading-xxsmall-size: 15px; // 15px;
23
+ --font-heading-xxsmall-line-height: 1.5em; // 1.5em;
24
+ --font-heading-xxsmall-letter-spacing: 0px; // 0px;
25
+ --font-heading-xxsmall-weight: 600; // 600;
31
26
  }
@@ -1,16 +1,14 @@
1
1
  @mixin foundation-typography-label() {
2
- --font-label-large-size: 16px;
3
- --font-label-large-line-height: 1.5em;
4
- --font-label-large-letter-spacing: 0px;
5
- --font-label-large-weight: 400;
6
-
7
- --font-label-medium-size: 14px;
8
- --font-label-medium-line-height: 1.5em;
9
- --font-label-medium-letter-spacing: 0px;
10
- --font-label-medium-weight: 400;
11
-
12
- --font-label-small-size: 13px;
13
- --font-label-small-line-height: 1.5em;
14
- --font-label-small-letter-spacing: 0px;
15
- --font-label-small-weight: 500;
2
+ --font-label-large-size: 16px; // 16px;
3
+ --font-label-large-line-height: 1.5em; // 1.5em;
4
+ --font-label-large-letter-spacing: 0px; // 0px;
5
+ --font-label-large-weight: 400; // 400;
6
+ --font-label-medium-size: 14px; // 14px;
7
+ --font-label-medium-line-height: 1.5em; // 1.5em;
8
+ --font-label-medium-letter-spacing: 0px; // 0px;
9
+ --font-label-medium-weight: 400; // 400;
10
+ --font-label-small-size: 13px; // 13px;
11
+ --font-label-small-line-height: 1.5em; // 1.5em;
12
+ --font-label-small-letter-spacing: 0px; // 0px;
13
+ --font-label-small-weight: 500; // 500;
16
14
  }