gyeol 0.1.0 → 0.1.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 +99 -97
- package/package.json +9 -1
package/README.md
CHANGED
|
@@ -1,97 +1,99 @@
|
|
|
1
|
-
# 결 gyeol
|
|
2
|
-
|
|
3
|
-
한지를 겹겹이 올리듯 화면을 쌓는 디자인 시스템이에요. 다른 프로젝트나 도구에서 쓸 수 있게 세 가지 형식으로 나눠 두었어요.
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npm install gyeol
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
|
12
|
-
|
|
|
13
|
-
| `
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
setPalette
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
|
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
gyeol.
|
|
77
|
-
gyeol.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
- **
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
| `gyeol
|
|
93
|
-
| `gyeol/
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
1
|
+
# 결 gyeol
|
|
2
|
+
|
|
3
|
+
한지를 겹겹이 올리듯 화면을 쌓는 디자인 시스템이에요. 다른 프로젝트나 도구에서 쓸 수 있게 세 가지 형식으로 나눠 두었어요.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install gyeol
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
소개 사이트: https://minjaek111.github.io/gyeol/
|
|
10
|
+
|
|
11
|
+
| 파일 | 쓰는 곳 |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| `gyeol.css` | 아무 웹 프로젝트(HTML, React, Vue, Svelte 등). 토큰, 팔레트, 테마, 겹 소재, 컴포넌트 클래스가 모두 들어 있어요. |
|
|
14
|
+
| `tailwind.preset.cjs` | Tailwind CSS 프로젝트. `gyeol.css`의 CSS 변수를 Tailwind 클래스로 연결해요. |
|
|
15
|
+
| `tokens.json` | 디자인 토큰 표준(DTCG) 형식. Figma Tokens Studio, Style Dictionary, iOS·Android 변환에 써요. |
|
|
16
|
+
|
|
17
|
+
## 1. 웹 (CSS)
|
|
18
|
+
|
|
19
|
+
```html
|
|
20
|
+
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Hahmlet:wght@300;500;700;800&family=IBM+Plex+Sans+KR:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap">
|
|
21
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gyeol@0.1.1/gyeol.css">
|
|
22
|
+
|
|
23
|
+
<html data-palette="meok" data-theme="dark">
|
|
24
|
+
<body class="gy">
|
|
25
|
+
<div class="gy-gyeop gy-du">
|
|
26
|
+
<button class="gy-btn">저장하기</button>
|
|
27
|
+
<button class="gy-btn gy-btn--paper">취소</button>
|
|
28
|
+
</div>
|
|
29
|
+
</body>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
번들러(Vite, Next.js 등)를 쓰면 CSS를 이렇게 불러와요.
|
|
33
|
+
|
|
34
|
+
```js
|
|
35
|
+
import 'gyeol/gyeol.css';
|
|
36
|
+
import { setPalette, setTheme, color, tokens } from 'gyeol';
|
|
37
|
+
|
|
38
|
+
setPalette('cheongja');
|
|
39
|
+
setTheme('light');
|
|
40
|
+
color('meok', 'dark', 'accent'); // '#85aeff'
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
- `data-palette`: `meok`(기본) · `jjok` · `cheongja` · `songhwa` · `yeonji` · `jaju`
|
|
44
|
+
- `data-theme`: `dark`(기본) · `light` · `system`
|
|
45
|
+
- 컴포넌트 클래스는 모두 `gy-` 접두사를 써서 기존 CSS와 겹치지 않아요.
|
|
46
|
+
|
|
47
|
+
| 컴포넌트 | 클래스 |
|
|
48
|
+
| --- | --- |
|
|
49
|
+
| 겹 소재 | `gy-gyeop` + `gy-hol` / `gy-du` / `gy-se` |
|
|
50
|
+
| 버튼 | `gy-btn` + `--ink` / `--paper` / `--ghost` / `--danger` / `--sm` |
|
|
51
|
+
| 스위치 | `<button class="gy-switch" role="switch" aria-checked="true">` |
|
|
52
|
+
| 세그먼트 | `gy-seg` 안에 `aria-pressed` 버튼 |
|
|
53
|
+
| 칩 | `gy-chip` + `aria-pressed` |
|
|
54
|
+
| 입력 필드 | `gy-field` (오류는 `gy-field--error`) |
|
|
55
|
+
| 체크박스 | `<label class="gy-check"><input type="checkbox"> 텍스트</label>` |
|
|
56
|
+
| 배지 | `gy-badge` + `--ok` / `--warn` / `--err` |
|
|
57
|
+
| 진행 막대 | `<div class="gy-progress" style="--p:60%"><i></i></div>` |
|
|
58
|
+
| 토스트·툴팁 | `gy-toast`(겹과 함께), `gy-tooltip` |
|
|
59
|
+
|
|
60
|
+
## 2. Tailwind
|
|
61
|
+
|
|
62
|
+
```js
|
|
63
|
+
// tailwind.config.js
|
|
64
|
+
module.exports = {
|
|
65
|
+
presets: [require('gyeol/tailwind')],
|
|
66
|
+
};
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
`gyeol.css`를 함께 불러와야 색이 정의돼요. 그다음 `bg-paper`, `text-ink-2`, `bg-accent`, `p-pun-4`, `rounded-r-3`, `font-display`, `gyeop gyeop-du`처럼 써요.
|
|
70
|
+
|
|
71
|
+
## 3. 디자인 토큰 JSON (Figma, iOS, Android)
|
|
72
|
+
|
|
73
|
+
`tokens.json`은 [DTCG](https://tr.designtokens.org/format/) 형식이고, 색은 팔레트·테마별로 계산된 HEX 값이에요.
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
gyeol.color.<팔레트>.<light|dark>.<역할> 예) gyeol.color.meok.dark.accent = #85aeff
|
|
77
|
+
gyeol.space.pun-4 = 16px
|
|
78
|
+
gyeol.radius.r-3 = 20px
|
|
79
|
+
gyeol.material.du.thickness = 0.72
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
- **JS에서 바로**: `import tokens from 'gyeol'` 또는 `import tokens from 'gyeol/tokens.json'`
|
|
83
|
+
- **Figma**: Tokens Studio 플러그인에서 `tokens.json`을 불러오세요.
|
|
84
|
+
- **iOS / Android**: Style Dictionary로 `tokens.json`을 Swift, Kotlin, XML 리소스로 변환하세요.
|
|
85
|
+
|
|
86
|
+
HEX 값은 화면용 sRGB로 변환한 근사치예요. 웹에서는 `gyeol.css`의 oklch 원본을 쓰는 게 더 정확해요.
|
|
87
|
+
|
|
88
|
+
## 패키지 경로
|
|
89
|
+
|
|
90
|
+
| 경로 | 내용 |
|
|
91
|
+
| --- | --- |
|
|
92
|
+
| `gyeol` | 토큰 객체와 `setPalette`, `setTheme`, `color` 함수 (ESM·CommonJS·TypeScript 타입 포함) |
|
|
93
|
+
| `gyeol/gyeol.css` (또는 `gyeol/css`) | 전체 CSS |
|
|
94
|
+
| `gyeol/tailwind` | Tailwind 프리셋 |
|
|
95
|
+
| `gyeol/tokens.json` | DTCG 토큰 원본 |
|
|
96
|
+
|
|
97
|
+
## 라이선스
|
|
98
|
+
|
|
99
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gyeol",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "결 gyeol — 한지를 겹겹이 올리는 디자인 시스템. CSS, Tailwind preset, DTCG design tokens.",
|
|
5
5
|
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/minjaeK111/gyeol.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://minjaek111.github.io/gyeol/",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/minjaeK111/gyeol/issues"
|
|
13
|
+
},
|
|
6
14
|
"type": "module",
|
|
7
15
|
"main": "./index.cjs",
|
|
8
16
|
"module": "./index.mjs",
|