@x-plat/design-system 0.5.66 โ 0.6.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/dist/components/Accordion/index.css +6 -6
- package/dist/components/AutoResizeTextArea/index.css +5 -5
- package/dist/components/Avatar/index.css +2 -2
- package/dist/components/Badge/index.css +1 -1
- package/dist/components/Box/index.css +5 -5
- package/dist/components/Breadcrumb/index.css +4 -4
- package/dist/components/Button/index.cjs +1 -2
- package/dist/components/Button/index.css +6 -6
- package/dist/components/Button/index.d.cts +1 -1
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Button/index.js +1 -2
- package/dist/components/Calendar/index.cjs +1 -1
- package/dist/components/Calendar/index.css +18 -18
- package/dist/components/Calendar/index.js +1 -1
- package/dist/components/CardTab/index.css +8 -8
- package/dist/components/Chart/index.css +11 -11
- package/dist/components/ChatInput/index.cjs +1 -2
- package/dist/components/ChatInput/index.css +16 -16
- package/dist/components/ChatInput/index.js +1 -2
- package/dist/components/CheckBox/index.css +2 -2
- package/dist/components/CheckBox/index.js +1 -1
- package/dist/components/Chip/index.css +5 -5
- package/dist/components/DatePicker/index.cjs +1 -2
- package/dist/components/DatePicker/index.css +36 -36
- package/dist/components/DatePicker/index.js +1 -2
- package/dist/components/Divider/index.css +2 -2
- package/dist/components/Drawer/index.css +5 -5
- package/dist/components/Dropdown/index.css +4 -4
- package/dist/components/Editor/index.css +36 -36
- package/dist/components/EmptyState/index.css +2 -2
- package/dist/components/FileUpload/index.css +4 -4
- package/dist/components/HtmlTypeWriter/index.css +1 -1
- package/dist/components/IconButton/index.cjs +1 -2
- package/dist/components/IconButton/index.css +5 -5
- package/dist/components/IconButton/index.d.cts +1 -1
- package/dist/components/IconButton/index.d.ts +1 -1
- package/dist/components/IconButton/index.js +1 -2
- package/dist/components/ImageSelector/index.css +7 -7
- package/dist/components/Input/index.css +7 -7
- package/dist/components/Modal/index.css +1 -1
- package/dist/components/Pagination/index.css +3 -3
- package/dist/components/PopOver/index.css +1 -1
- package/dist/components/Progress/index.css +1 -1
- package/dist/components/Radio/index.css +5 -5
- package/dist/components/Select/index.css +9 -9
- package/dist/components/Skeleton/index.cjs +6 -6
- package/dist/components/Skeleton/index.js +6 -6
- package/dist/components/Spinner/index.css +1 -1
- package/dist/components/Steps/index.css +3 -3
- package/dist/components/Swiper/index.css +3 -3
- package/dist/components/Switch/index.css +3 -3
- package/dist/components/Tab/index.css +4 -4
- package/dist/components/Table/index.css +10 -10
- package/dist/components/Tag/index.css +3 -3
- package/dist/components/TextArea/index.css +5 -5
- package/dist/components/Tooltip/index.css +4 -4
- package/dist/components/Video/index.css +2 -2
- package/dist/components/index.cjs +249 -251
- package/dist/components/index.css +667 -1059
- package/dist/components/index.d.cts +2 -2
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.js +224 -226
- package/dist/index.cjs +249 -253
- package/dist/index.css +670 -1062
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +224 -227
- package/dist/layout/Header/index.css +2 -2
- package/dist/layout/Layout/index.css +1 -1
- package/dist/layout/index.css +404 -796
- package/dist/tokens/index.cjs +0 -2
- package/dist/tokens/index.d.cts +9 -10
- package/dist/tokens/index.d.ts +9 -10
- package/dist/tokens/index.js +1 -2
- package/guidelines/AGENT_PROMPT.md +8 -9
- package/guidelines/Guidelines.md +1 -1
- package/guidelines/components/chart.md +1 -1
- package/guidelines/foundations/color.md +22 -23
- package/guidelines/foundations/typography.md +86 -36
- package/package.json +1 -1
package/dist/tokens/index.cjs
CHANGED
|
@@ -319,7 +319,6 @@ __export(tokens_exports, {
|
|
|
319
319
|
breakpoints: () => breakpoints,
|
|
320
320
|
cssVar: () => import_tokens_core2.cssVar,
|
|
321
321
|
gridColumns: () => gridColumns,
|
|
322
|
-
primitive: () => import_tokens_core.primitive,
|
|
323
322
|
semantic: () => import_tokens_core.semantic
|
|
324
323
|
});
|
|
325
324
|
module.exports = __toCommonJS(tokens_exports);
|
|
@@ -6111,6 +6110,5 @@ var import_tokens_core2 = require("@x-plat/tokens-core");
|
|
|
6111
6110
|
breakpoints,
|
|
6112
6111
|
cssVar,
|
|
6113
6112
|
gridColumns,
|
|
6114
|
-
primitive,
|
|
6115
6113
|
semantic
|
|
6116
6114
|
});
|
package/dist/tokens/index.d.cts
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
export { B as BREAKPOINT_KEYS_ORDERED, a as BreakpointKey, b as GridColumnConfig, G as GridSpanFor, c as breakpoints, g as gridColumns } from '../breakpoints-DsXkJgdl.cjs';
|
|
2
|
-
export { TokenVar, cssVar,
|
|
2
|
+
export { TokenVar, cssVar, semantic } from '@x-plat/tokens-core';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
|
|
5
|
-
type SemanticTextToken = "semantic-text-
|
|
5
|
+
type SemanticTextToken = "semantic-text-primary" | "semantic-text-secondary" | "semantic-text-tertiary" | "semantic-text-brand-primary" | "semantic-text-brand-secondary" | "semantic-text-disabled" | "semantic-text-inverse" | "semantic-text-success" | "semantic-text-error" | "semantic-text-warning" | "semantic-text-info" | "semantic-text-link" | "semantic-text-accent-red" | "semantic-text-accent-blue";
|
|
6
6
|
type SurfaceVariant = "subtle" | "default" | "strong";
|
|
7
|
-
type SurfaceGroup = "brand" | "success" | "error" | "warning" | "info";
|
|
8
|
-
type SemanticSurfaceToken = "semantic-surface-neutral-
|
|
9
|
-
type SemanticBorderToken = "semantic-border-
|
|
10
|
-
type SemanticIconToken = "semantic-icon-
|
|
11
|
-
type
|
|
12
|
-
type
|
|
13
|
-
type SemanticColorToken = SemanticTextToken | SemanticSurfaceToken | SemanticBorderToken | SemanticIconToken | SemanticEmphasisToken | SemanticInteractionToken;
|
|
7
|
+
type SurfaceGroup = "brand" | "brand-secondary" | "success" | "error" | "warning" | "info";
|
|
8
|
+
type SemanticSurfaceToken = "semantic-surface-neutral-primary" | "semantic-surface-neutral-secondary" | "semantic-surface-neutral-tertiary" | "semantic-surface-neutral-inverse" | "semantic-surface-neutral-disabled" | `semantic-surface-${SurfaceGroup}-${SurfaceVariant}`;
|
|
9
|
+
type SemanticBorderToken = "semantic-border-primary" | "semantic-border-secondary" | "semantic-border-tertiary" | "semantic-border-disabled" | "semantic-border-brand-primary" | "semantic-border-brand-secondary" | "semantic-border-success" | "semantic-border-error" | "semantic-border-warning" | "semantic-border-info";
|
|
10
|
+
type SemanticIconToken = "semantic-icon-primary" | "semantic-icon-secondary" | "semantic-icon-inverse" | "semantic-icon-brand" | "semantic-icon-brand-secondary" | "semantic-icon-success" | "semantic-icon-error" | "semantic-icon-warning" | "semantic-icon-info" | "semantic-icon-disabled";
|
|
11
|
+
type SemanticInteractionToken = `semantic-interaction-overlay-${5 | 10 | 25 | 50 | 75}` | "semantic-interaction-focus-ring";
|
|
12
|
+
type SemanticColorToken = SemanticTextToken | SemanticSurfaceToken | SemanticBorderToken | SemanticIconToken | SemanticInteractionToken;
|
|
14
13
|
type Shade = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
|
|
15
|
-
type BrandToken = `brand-primary-${Shade}` | `brand-secondary-${Shade}` | `brand-neutral-${Shade}` | "brand-base-white" |
|
|
14
|
+
type BrandToken = `brand-primary-${Shade}` | `brand-secondary-${Shade}` | `brand-neutral-${Shade}` | "brand-base-white" | `brand-base-overlay-${5 | 10 | 25 | 50 | 75 | 85}`;
|
|
16
15
|
type SystemToken = `system-success-${Shade}` | `system-error-${Shade}` | `system-warning-${Shade}` | `system-info-${Shade}` | `system-link-${400 | 500 | 600 | 700}`;
|
|
17
16
|
type ColorToken = SemanticColorToken | BrandToken | SystemToken | XplatColorTokenRegistry[keyof XplatColorTokenRegistry];
|
|
18
17
|
interface ColorProps {
|
package/dist/tokens/index.d.ts
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
export { B as BREAKPOINT_KEYS_ORDERED, a as BreakpointKey, b as GridColumnConfig, G as GridSpanFor, c as breakpoints, g as gridColumns } from '../breakpoints-DsXkJgdl.js';
|
|
2
|
-
export { TokenVar, cssVar,
|
|
2
|
+
export { TokenVar, cssVar, semantic } from '@x-plat/tokens-core';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
|
|
5
|
-
type SemanticTextToken = "semantic-text-
|
|
5
|
+
type SemanticTextToken = "semantic-text-primary" | "semantic-text-secondary" | "semantic-text-tertiary" | "semantic-text-brand-primary" | "semantic-text-brand-secondary" | "semantic-text-disabled" | "semantic-text-inverse" | "semantic-text-success" | "semantic-text-error" | "semantic-text-warning" | "semantic-text-info" | "semantic-text-link" | "semantic-text-accent-red" | "semantic-text-accent-blue";
|
|
6
6
|
type SurfaceVariant = "subtle" | "default" | "strong";
|
|
7
|
-
type SurfaceGroup = "brand" | "success" | "error" | "warning" | "info";
|
|
8
|
-
type SemanticSurfaceToken = "semantic-surface-neutral-
|
|
9
|
-
type SemanticBorderToken = "semantic-border-
|
|
10
|
-
type SemanticIconToken = "semantic-icon-
|
|
11
|
-
type
|
|
12
|
-
type
|
|
13
|
-
type SemanticColorToken = SemanticTextToken | SemanticSurfaceToken | SemanticBorderToken | SemanticIconToken | SemanticEmphasisToken | SemanticInteractionToken;
|
|
7
|
+
type SurfaceGroup = "brand" | "brand-secondary" | "success" | "error" | "warning" | "info";
|
|
8
|
+
type SemanticSurfaceToken = "semantic-surface-neutral-primary" | "semantic-surface-neutral-secondary" | "semantic-surface-neutral-tertiary" | "semantic-surface-neutral-inverse" | "semantic-surface-neutral-disabled" | `semantic-surface-${SurfaceGroup}-${SurfaceVariant}`;
|
|
9
|
+
type SemanticBorderToken = "semantic-border-primary" | "semantic-border-secondary" | "semantic-border-tertiary" | "semantic-border-disabled" | "semantic-border-brand-primary" | "semantic-border-brand-secondary" | "semantic-border-success" | "semantic-border-error" | "semantic-border-warning" | "semantic-border-info";
|
|
10
|
+
type SemanticIconToken = "semantic-icon-primary" | "semantic-icon-secondary" | "semantic-icon-inverse" | "semantic-icon-brand" | "semantic-icon-brand-secondary" | "semantic-icon-success" | "semantic-icon-error" | "semantic-icon-warning" | "semantic-icon-info" | "semantic-icon-disabled";
|
|
11
|
+
type SemanticInteractionToken = `semantic-interaction-overlay-${5 | 10 | 25 | 50 | 75}` | "semantic-interaction-focus-ring";
|
|
12
|
+
type SemanticColorToken = SemanticTextToken | SemanticSurfaceToken | SemanticBorderToken | SemanticIconToken | SemanticInteractionToken;
|
|
14
13
|
type Shade = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
|
|
15
|
-
type BrandToken = `brand-primary-${Shade}` | `brand-secondary-${Shade}` | `brand-neutral-${Shade}` | "brand-base-white" |
|
|
14
|
+
type BrandToken = `brand-primary-${Shade}` | `brand-secondary-${Shade}` | `brand-neutral-${Shade}` | "brand-base-white" | `brand-base-overlay-${5 | 10 | 25 | 50 | 75 | 85}`;
|
|
16
15
|
type SystemToken = `system-success-${Shade}` | `system-error-${Shade}` | `system-warning-${Shade}` | `system-info-${Shade}` | `system-link-${400 | 500 | 600 | 700}`;
|
|
17
16
|
type ColorToken = SemanticColorToken | BrandToken | SystemToken | XplatColorTokenRegistry[keyof XplatColorTokenRegistry];
|
|
18
17
|
interface ColorProps {
|
package/dist/tokens/index.js
CHANGED
|
@@ -12,7 +12,7 @@ var gridColumns = {
|
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
// src/tokens/colors.ts
|
|
15
|
-
import {
|
|
15
|
+
import { semantic } from "@x-plat/tokens-core";
|
|
16
16
|
|
|
17
17
|
// src/tokens/svg/action/CopyIcon.tsx
|
|
18
18
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -5784,6 +5784,5 @@ export {
|
|
|
5784
5784
|
breakpoints,
|
|
5785
5785
|
cssVar,
|
|
5786
5786
|
gridColumns,
|
|
5787
|
-
primitive,
|
|
5788
5787
|
semantic
|
|
5789
5788
|
};
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
1. ์ปดํฌ๋ํธ์ `color` / `className` / `style` prop **์์**. ์์ยท์คํ์ผ์ ๋ด๋ถ semantic ํ ํฐ์ผ๋ก ๊ณ ์ ๋จ.
|
|
21
21
|
2. ์ปดํฌ๋ํธ๋ `width: 100%` ๋ก ๋ถ๋ชจ๋ฅผ ์ฑ์ฐ๋ฏ๋ก **๋ฐ๋์ GridItem ๋๋ wrapper ๋ก ๊ฐ์ธ์ ๋๋น๋ฅผ ์ ์ด**.
|
|
22
22
|
3. **CSS ๋ก DS ์ปดํฌ๋ํธ๋ฅผ ์ค๋ฒ๋ผ์ด๋ํ์ง ์๋๋ค**.
|
|
23
|
-
4. ์์ยท๊ฐ๊ฒฉยทํ์ดํฌ๋ **semantic ํ ํฐ๋ง** ์ฌ์ฉ.
|
|
23
|
+
4. ์์ยท๊ฐ๊ฒฉยทํ์ดํฌ๋ **semantic ํ ํฐ๋ง** ์ฌ์ฉ. brand / system / typo primitive ์ง์ ์ฐธ์กฐ ๊ธ์ง.
|
|
24
24
|
5. **๋ชจ๋ visible ๊ทธ๋ฃน์ ๋ช
์์ spacing ํ์**. wrapper ์ `padding` / `gap` / ๊ฐ๊ฒฉ์ spacing ํ ํฐ์ผ๋ก ์ง์ . ๋งค์ง ๋๋ฒ(`16px`, `1rem` ๋ฑ) ๊ธ์ง.
|
|
25
25
|
|
|
26
26
|
---
|
|
@@ -430,7 +430,7 @@ import { ChatInput } from "@x-plat/design-system/components";
|
|
|
430
430
|
<Button>B</Button>
|
|
431
431
|
</div>
|
|
432
432
|
|
|
433
|
-
//
|
|
433
|
+
// ์กด์ฌํ์ง ์๋ ๋ ์ด์ด ์ฐธ์กฐ (semantic ๋ง ํ์ฉ)
|
|
434
434
|
<div style={{ padding: "var(--spacing-size-4)" }}>...</div>
|
|
435
435
|
```
|
|
436
436
|
|
|
@@ -563,15 +563,14 @@ CSS ๋ณ์ `--semantic-{category}-{role}` ์ฌ์ฉ.
|
|
|
563
563
|
|
|
564
564
|
| ์นดํ
๊ณ ๋ฆฌ | ํค |
|
|
565
565
|
|---|---|
|
|
566
|
-
| `text` |
|
|
567
|
-
| `surface` | neutral.{
|
|
568
|
-
| `border` |
|
|
569
|
-
| `icon` |
|
|
570
|
-
| `
|
|
571
|
-
| `interaction` | overlay-10 / overlay-25 / focus-ring |
|
|
566
|
+
| `text` | primary / secondary / tertiary / brand-primary / brand-secondary / disabled / inverse / success / error / warning / info / link / accent-red / accent-blue |
|
|
567
|
+
| `surface` | neutral.{primary/secondary/tertiary/inverse/disabled} / brand.{subtle/default/strong} / brand-secondary.{subtle/default/strong} / success/error/warning/info.{subtle/default/strong} |
|
|
568
|
+
| `border` | primary / secondary / tertiary / disabled / brand-primary / brand-secondary / success / error / warning / info |
|
|
569
|
+
| `icon` | primary / secondary / inverse / brand / brand-secondary / success / error / warning / info / disabled |
|
|
570
|
+
| `interaction` | overlay-5 / overlay-10 / overlay-25 / overlay-50 / overlay-75 / focus-ring |
|
|
572
571
|
| `categorical` | 1-8 ร {bg / area / fill / text} |
|
|
573
572
|
|
|
574
|
-
์: `color: var(--semantic-text-
|
|
573
|
+
์: `color: var(--semantic-text-primary)`, `background: var(--semantic-surface-brand-default)`
|
|
575
574
|
|
|
576
575
|
### ์คํ์ด์ฑ
|
|
577
576
|
|
package/guidelines/Guidelines.md
CHANGED
|
@@ -43,7 +43,7 @@ React ๊ธฐ๋ฐ ๋์์ธ ์์คํ
๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. Figma Make Kit๊ณผ 1:1
|
|
|
43
43
|
|
|
44
44
|
1. **[์ค์น ๋ฐ ์ค์ ](./setup.md)** - CSS/์ปดํฌ๋ํธ import, ToastProvider ์ค์
|
|
45
45
|
2. **ํ์ด๋ฐ์ด์
**
|
|
46
|
-
- [์ปฌ๋ฌ](./foundations/color.md) -
|
|
46
|
+
- [์ปฌ๋ฌ](./foundations/color.md) - 3๋ ์ด์ด semantic ํ ํฐ
|
|
47
47
|
- [์คํ์ด์ฑ](./foundations/spacing.md) - space, radius, stroke
|
|
48
48
|
- [ํ์ดํฌ๊ทธ๋ํผ](./foundations/typography.md) - font, size, weight
|
|
49
49
|
- [์์ด์ฝ](./foundations/icons.md) - import, ํฌ๊ธฐ/์์, ์นดํ
๊ณ ๋ฆฌ
|
|
@@ -17,7 +17,7 @@ import { Chart } from "@xplat/design-system";
|
|
|
17
17
|
|
|
18
18
|
## ์์
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
semantic categorical ํ ํฐ ๊ธฐ๋ฐ์ผ๋ก ์๋ฆฌ์ฆ๋ณ ์์์ ์๋ ๋ฐฐ์ ํ๋ค. line/bar๋ `LINE_BAR_PALETTES`, pie/doughnut๋ `PIE_PALETTES`๋ฅผ ์ฌ์ฉํ๋ค.
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# ์ปฌ๋ฌ ํ ํฐ ์์คํ
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 3๋ ์ด์ด ๊ตฌ์กฐ
|
|
4
4
|
|
|
5
5
|
| ๋ ์ด์ด | ์ ๋์ฌ | ์ญํ |
|
|
6
6
|
|--------|--------|------|
|
|
7
|
-
|
|
|
8
|
-
|
|
|
9
|
-
| System | `--system-*` | ์ํ ์์ (success/error/warning/info) |
|
|
7
|
+
| Brand | `--brand-*` | ๋ธ๋๋ ์์ (hex ์ค๊ฐ, ํ
๋ง๋ณ ์ค๋ฒ๋ผ์ด๋) |
|
|
8
|
+
| System | `--system-*` | ์ํ ์์ (success/error/warning/info/link, hex ์ค๊ฐ) |
|
|
10
9
|
| Semantic | `--semantic-*` | ์ฉ๋ ๊ธฐ๋ฐ ์ต์ข
ํ ํฐ (brand+system ์ฐธ์กฐ) |
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
Figma `brand` / `system` / `semantic` ์ปฌ๋ ์
๊ณผ 1:1 ๋์ํ๋ค.
|
|
12
|
+
์ปดํฌ๋ํธ๋ **semantic ํ ํฐ๋ง** ์๋นํ๋ค. brand/system์ ์ง์ ์ฐธ์กฐํ์ง ์๋๋ค.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -19,16 +19,16 @@
|
|
|
19
19
|
|
|
20
20
|
```tsx
|
|
21
21
|
// ํ
์คํธ
|
|
22
|
-
<p className="text-semantic-text-
|
|
23
|
-
<p className="text-semantic-text-
|
|
22
|
+
<p className="text-semantic-text-primary">๊ฐ์กฐ ํ
์คํธ</p>
|
|
23
|
+
<p className="text-semantic-text-secondary">๋ณด์กฐ ํ
์คํธ</p>
|
|
24
24
|
<p className="text-semantic-text-error">์๋ฌ ๋ฉ์์ง</p>
|
|
25
25
|
|
|
26
26
|
// ๋ฐฐ๊ฒฝ
|
|
27
|
-
<div className="bg-semantic-surface-neutral-
|
|
27
|
+
<div className="bg-semantic-surface-neutral-primary">๊ธฐ๋ณธ ๋ฐฐ๊ฒฝ</div>
|
|
28
28
|
<div className="bg-semantic-surface-brand-subtle">๋ธ๋๋ ๋ฐฐ๊ฒฝ</div>
|
|
29
29
|
|
|
30
30
|
// ํ
๋๋ฆฌ
|
|
31
|
-
<div className="border border-semantic-border-
|
|
31
|
+
<div className="border border-semantic-border-primary">๊ธฐ๋ณธ ํ
๋๋ฆฌ</div>
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
---
|
|
@@ -37,12 +37,13 @@
|
|
|
37
37
|
|
|
38
38
|
### Text
|
|
39
39
|
|
|
40
|
-
`--semantic-text-{
|
|
40
|
+
`--semantic-text-{primary, secondary, tertiary, brand-primary, brand-secondary, disabled, inverse, success, error, warning, info, link, accent-red, accent-blue}`
|
|
41
41
|
|
|
42
42
|
### Surface
|
|
43
43
|
|
|
44
|
-
- Neutral: `--semantic-surface-neutral-{
|
|
44
|
+
- Neutral: `--semantic-surface-neutral-{primary, secondary, tertiary, inverse, disabled}`
|
|
45
45
|
- Brand: `--semantic-surface-brand-{subtle, default, strong}`
|
|
46
|
+
- Brand Secondary: `--semantic-surface-brand-secondary-{subtle, default, strong}`
|
|
46
47
|
- Success: `--semantic-surface-success-{subtle, default, strong}`
|
|
47
48
|
- Error: `--semantic-surface-error-{subtle, default, strong}`
|
|
48
49
|
- Warning: `--semantic-surface-warning-{subtle, default, strong}`
|
|
@@ -50,32 +51,30 @@
|
|
|
50
51
|
|
|
51
52
|
### Border
|
|
52
53
|
|
|
53
|
-
`--semantic-border-{
|
|
54
|
+
`--semantic-border-{primary, secondary, tertiary, disabled, brand-primary, brand-secondary, success, error, warning, info}`
|
|
54
55
|
|
|
55
56
|
### Icon
|
|
56
57
|
|
|
57
|
-
`--semantic-icon-{
|
|
58
|
-
|
|
59
|
-
### Emphasis
|
|
60
|
-
|
|
61
|
-
`--semantic-emphasis-{brand, success, error, warning, info}`
|
|
58
|
+
`--semantic-icon-{primary, secondary, inverse, brand, brand-secondary, success, error, warning, info, disabled}`
|
|
62
59
|
|
|
63
60
|
### Interaction
|
|
64
61
|
|
|
65
|
-
`--semantic-interaction-{
|
|
62
|
+
`--semantic-interaction-{overlay-5, overlay-10, overlay-25, overlay-50, overlay-75, focus-ring}`
|
|
63
|
+
|
|
64
|
+
### Categorical (XPLAT ํ์ฅ)
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
Figma ์ปฌ๋ ์
์๋ ์๊ณ ์ฐจํธ/ํ๊ทธ/์๋ฐํ ์๋ฆฌ์ฆ ์์ผ๋ก ์ฌ์ฉํ๋ค.
|
|
68
67
|
|
|
69
|
-
`--semantic-categorical-{1,
|
|
68
|
+
`--semantic-categorical-{1..8}-{bg, area, fill, text}`
|
|
70
69
|
|
|
71
70
|
---
|
|
72
71
|
|
|
73
72
|
## ์๋ชป๋ ์ฌ์ฉ
|
|
74
73
|
|
|
75
74
|
```css
|
|
76
|
-
/* ๊ธ์ง:
|
|
77
|
-
color: var(--
|
|
75
|
+
/* ๊ธ์ง: brand/system ํ ํฐ ์ง์ ์ฌ์ฉ */
|
|
76
|
+
color: var(--brand-primary-500);
|
|
78
77
|
|
|
79
78
|
/* ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ: semantic ํ ํฐ ์ฌ์ฉ */
|
|
80
|
-
color: var(--semantic-text-brand);
|
|
79
|
+
color: var(--semantic-text-brand-primary);
|
|
81
80
|
```
|
|
@@ -1,63 +1,113 @@
|
|
|
1
1
|
# ํ์ดํฌ๊ทธ๋ํผ ํ ํฐ ์์คํ
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 2๋ ์ด์ด ๊ตฌ์กฐ
|
|
4
4
|
|
|
5
|
-
| ๋ ์ด์ด | ์ญํ |
|
|
6
|
-
|
|
7
|
-
| Primitive | ๊ธฐ์ด ํฐํธ ์์น |
|
|
8
|
-
|
|
|
9
|
-
|
|
5
|
+
| ๋ ์ด์ด | ์ ๋์ฌ | ์ญํ |
|
|
6
|
+
|--------|--------|------|
|
|
7
|
+
| Primitive | `--typo-*` | ๊ธฐ์ด ํฐํธ ์์น (pc/tablet/mobile ๋ฐ์ํ) |
|
|
8
|
+
| Semantic | `--semantic-typo-*` | ์ปดํฌ๋ํธ๊ฐ ์๋นํ๋ ํฉ์ฑ ์คํ์ผ 23์ข
|
|
|
9
|
+
|
|
10
|
+
Figma `typography` ์ปฌ๋ ์
์ primitive ๋ง ๊ฐ๊ณ , pc / tablet / mobile ์ **๋ชจ๋**๋ก ๋๋ค.
|
|
11
|
+
density(compact/airy) ์ถ๊ณผ ๋ธ๋๋ ์ค๋ฒ๋ผ์ด๋ ๋ ์ด์ด๋ ์๋ค.
|
|
12
|
+
|
|
13
|
+
์ปดํฌ๋ํธ๋ **semantic ๋ง** ์๋นํ๋ค. `--typo-*` ๋ฅผ ์ง์ ์ฐธ์กฐํ์ง ์๋๋ค.
|
|
10
14
|
|
|
11
15
|
---
|
|
12
16
|
|
|
13
|
-
##
|
|
17
|
+
## ๋ฐ์ํ ๋์
|
|
14
18
|
|
|
15
|
-
|
|
19
|
+
primitive ์ size / line-height / letter-spacing ์ ๋ธ๋ ์ดํฌํฌ์ธํธ๋ณ๋ก ๊ฐ์ด ๋ค๋ฅด๋ค.
|
|
20
|
+
CSS ๋ PC ๊ธฐ์ค๊ฐ์ `:root` ์ ๋๊ณ tablet/mobile ์ `@media` ๋ก ๋ฎ๋๋ค.
|
|
21
|
+
|
|
22
|
+
| ๋ชจ๋ | ๋ฒ์ |
|
|
16
23
|
|------|------|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
24
|
+
| pc | โฅ 1024px |
|
|
25
|
+
| tablet | 768 ~ 1023px |
|
|
26
|
+
| mobile | < 768px |
|
|
20
27
|
|
|
21
|
-
|
|
28
|
+
semantic ์คํ์ผ์ primitive ๋ฅผ `var()` ๋ก ์ฐธ์กฐํ๋ฏ๋ก ์๋์ผ๋ก ๋ฐ์ํ์ด ๋๋ค.
|
|
22
29
|
|
|
23
|
-
|
|
30
|
+
---
|
|
24
31
|
|
|
25
|
-
##
|
|
32
|
+
## Primitive
|
|
26
33
|
|
|
27
|
-
|
|
34
|
+
### Font Family
|
|
28
35
|
|
|
29
|
-
|
|
|
36
|
+
| ํ ํฐ | ์ฉ๋ |
|
|
30
37
|
|------|------|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
| airy | ์ฌ์ ์๋ UI |
|
|
38
|
+
| `--typo-font-family-default` | ๋ณธ๋ฌธยท๋ผ๋ฒจยท์บก์
|
|
|
39
|
+
| `--typo-font-family-brand` | displayยทtitle (๋ธ๋๋ ํํ) |
|
|
34
40
|
|
|
35
|
-
|
|
41
|
+
### Size / Line Height
|
|
42
|
+
|
|
43
|
+
`--typo-size-{key}` ยท `--typo-lh-{key}`
|
|
44
|
+
|
|
45
|
+
key: `display-1` `display-2` `title-1` `title-2` `heading-1` `heading-2` `body-1` `body-2` `label-1` `label-2` `caption-1` `caption-2`
|
|
46
|
+
|
|
47
|
+
### Font Weight
|
|
36
48
|
|
|
37
49
|
| ํ ํฐ | ๊ฐ |
|
|
38
50
|
|------|-----|
|
|
39
|
-
| `--
|
|
40
|
-
| `--
|
|
41
|
-
| `--
|
|
42
|
-
| `--
|
|
51
|
+
| `--typo-weight-regular` | 400 |
|
|
52
|
+
| `--typo-weight-medium` | 500 |
|
|
53
|
+
| `--typo-weight-semibold` | 600 |
|
|
54
|
+
| `--typo-weight-bold` | 700 |
|
|
43
55
|
|
|
44
|
-
|
|
56
|
+
### Letter Spacing
|
|
45
57
|
|
|
46
58
|
| ํ ํฐ | ์ฉ๋ |
|
|
47
59
|
|------|------|
|
|
48
|
-
| `--
|
|
49
|
-
| `--
|
|
50
|
-
| `--
|
|
60
|
+
| `--typo-ls-tight` | displayยทtitleยทheading |
|
|
61
|
+
| `--typo-ls-normal` | bodyยทlabel-1 |
|
|
62
|
+
| `--typo-ls-wide` | label-2ยทcaption |
|
|
51
63
|
|
|
52
64
|
---
|
|
53
65
|
|
|
54
66
|
## Semantic Text Styles
|
|
55
67
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
|
60
|
-
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
68
|
+
์คํ์ผ ํ๋๊ฐ 5๊ฐ ์์ฑ(`font` `size` `lh` `ls` `weight`)์ ๊ฐ๋๋ค.
|
|
69
|
+
์ ๋ฏธ์ฌ๋ weight โ `b`=bold, `sb`=semibold, `m`=medium, `r`=regular.
|
|
70
|
+
|
|
71
|
+
| ๊ณ์ด | ์คํ์ผ | ์ฉ๋ |
|
|
72
|
+
|------|--------|------|
|
|
73
|
+
| display | `display-1-b` `display-1-sb` `display-2-b` `display-2-sb` | ๋ํ ํ์ดํ, ํ์ด๋ก |
|
|
74
|
+
| title | `title-1-sb` `title-1-m` `title-2-sb` `title-2-m` | ํ์ด์ง ํ์ดํ |
|
|
75
|
+
| heading | `heading-1-sb` `heading-1-m` `heading-2-m` | ์น์
ํ์ดํ |
|
|
76
|
+
| body | `body-1-sb` `body-1-m` `body-1-r` `body-2-m` `body-2-r` | ๋ณธ๋ฌธ ํ
์คํธ |
|
|
77
|
+
| label | `label-1-sb` `label-1-m` `label-2-sb` `label-2-m` | ํผ ๋ผ๋ฒจ, ๋ฒํผ ํ
์คํธ |
|
|
78
|
+
| caption | `caption-1-sb` `caption-1-r` `caption-2-r` | ๋ถ๊ฐ ์ค๋ช
, ํํธ |
|
|
79
|
+
|
|
80
|
+
### ์ฌ์ฉ๋ฒ
|
|
81
|
+
|
|
82
|
+
์์ฑ๋ณ ๋ณ์๋ก ์ฐธ์กฐํ๋ค.
|
|
83
|
+
|
|
84
|
+
```scss
|
|
85
|
+
.my-label {
|
|
86
|
+
font-family: var(--semantic-typo-label-2-m-font);
|
|
87
|
+
font-size: var(--semantic-typo-label-2-m-size);
|
|
88
|
+
line-height: var(--semantic-typo-label-2-m-lh);
|
|
89
|
+
letter-spacing: var(--semantic-typo-label-2-m-ls);
|
|
90
|
+
font-weight: var(--semantic-typo-label-2-m-weight);
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
๋๋ ์ ํธ๋ฆฌํฐ ํด๋์ค๋ก ํ ๋ฒ์ ์ ์ฉํ๋ค.
|
|
95
|
+
|
|
96
|
+
```tsx
|
|
97
|
+
<span className="typo-label-2-m">๋ผ๋ฒจ</span>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## ์๋ชป๋ ์ฌ์ฉ
|
|
103
|
+
|
|
104
|
+
```scss
|
|
105
|
+
/* ๊ธ์ง: px ํ๋์ฝ๋ฉ */
|
|
106
|
+
font-size: 14px;
|
|
107
|
+
|
|
108
|
+
/* ๊ธ์ง: primitive ์ง์ ์ฐธ์กฐ */
|
|
109
|
+
font-size: var(--typo-size-label-2);
|
|
110
|
+
|
|
111
|
+
/* ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ: semantic ์ฌ์ฉ */
|
|
112
|
+
font-size: var(--semantic-typo-label-2-m-size);
|
|
113
|
+
```
|