@mezzanine-stack/tokens 0.1.0

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 ADDED
@@ -0,0 +1,21 @@
1
+ # @mezzanine-stack/tokens
2
+
3
+ Mezzanine UI のデザイントークン(CSS カスタムプロパティ)を提供するパッケージです。
4
+
5
+ ## 提供ファイル
6
+
7
+ - `@mezzanine-stack/tokens/tokens.core.css`
8
+ - `@mezzanine-stack/tokens/tokens.brand.defaults.css`
9
+ - `@mezzanine-stack/tokens/tokens.brand.client.css`
10
+
11
+ ## 役割
12
+
13
+ - `tokens.core.css`: タイポグラフィ、スペーシング、カラーなどの基礎トークン
14
+ - `tokens.brand.defaults.css`: デフォルトブランド値
15
+ - `tokens.brand.client.css`: 顧客ブランド上書き用レイヤ
16
+
17
+ ## 利用先
18
+
19
+ - `@mezzanine-stack/css`
20
+ - `@mezzanine-stack/ui`
21
+
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@mezzanine-stack/tokens",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "license": "MIT",
9
+ "files": [
10
+ "tokens.core.css",
11
+ "tokens.brand.defaults.css",
12
+ "tokens.brand.client.css"
13
+ ],
14
+ "exports": {
15
+ "./tokens.core.css": "./tokens.core.css",
16
+ "./tokens.brand.defaults.css": "./tokens.brand.defaults.css",
17
+ "./tokens.brand.client.css": "./tokens.brand.client.css"
18
+ },
19
+ "sideEffects": [
20
+ "*.css"
21
+ ]
22
+ }
@@ -0,0 +1,3 @@
1
+ /**
2
+ * 固有のブランドトークンをここに記述
3
+ */
@@ -0,0 +1,10 @@
1
+ :root {
2
+ /* ここはプロダクト既定の推奨値。必要あればここを調整 */
3
+ --color-primary: #2563eb;
4
+ --radius-md: 12px;
5
+ --container-max: 1120px;
6
+ }
7
+
8
+ :root[data-theme="dark"] {
9
+ --color-primary: #60a5fa;
10
+ }
@@ -0,0 +1,88 @@
1
+ :root {
2
+ /* 色(抽象名に固定) */
3
+ --color-bg: #ffffff;
4
+ --color-fg: #111111;
5
+ --color-muted: #6b7280; /* text-secondary */
6
+ --color-primary: #3b82f6; /* brand key color */
7
+ --color-primary-contrast: #ffffff;
8
+ --color-border: #e5e7eb;
9
+ --color-success: #16a34a;
10
+ --color-warning: #f59e0b;
11
+ --color-danger: #ef4444;
12
+
13
+ /* タイポグラフィ */
14
+ --font-sans:
15
+ ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans JP",
16
+ sans-serif;
17
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
18
+ --text-xs: clamp(12px, 0.77rem, 13px);
19
+ --text-sm: clamp(14px, 0.88rem, 15px);
20
+ --text-md: clamp(16px, 1rem, 18px);
21
+ --text-lg: clamp(18px, 1.12rem, 20px);
22
+ --text-xl: clamp(20px, 1.25rem, 24px);
23
+ --leading: 1.6;
24
+
25
+ /* スペーシング */
26
+ --space-1: 4px;
27
+ --space-2: 8px;
28
+ --space-3: 12px;
29
+ --space-4: 16px;
30
+ --space-5: 20px;
31
+ --space-6: 24px;
32
+ --space-8: 32px;
33
+ --space-12: 48px;
34
+
35
+ /* 半径/影/境界 */
36
+ --radius-sm: 6px;
37
+ --radius-md: 10px;
38
+ --radius-lg: 16px;
39
+ --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.06);
40
+ --shadow-2: 0 6px 20px rgba(0, 0, 0, 0.08);
41
+
42
+ /* レイアウト */
43
+ --container-max: 1100px;
44
+ --bp-sm: 640px;
45
+ --bp-md: 768px;
46
+ --bp-lg: 1024px;
47
+
48
+ /* セクション間隔 */
49
+ --section-gap: clamp(3rem, 8vw, 6rem);
50
+ --section-gap-sm: clamp(2rem, 6vw, 4rem);
51
+ --section-gap-lg: clamp(4rem, 10vw, 8rem);
52
+
53
+ /* code tokens */
54
+ --code-font: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
55
+ --code-radius: 8px;
56
+
57
+ /* inline code */
58
+ --code-inline-bg: color-mix(in oklab, var(--color-fg) 6%, transparent);
59
+ --code-inline-fg: var(--color-fg);
60
+ --code-inline-border: color-mix(in oklab, var(--color-fg) 12%, transparent);
61
+
62
+ /* block code */
63
+ --code-bg: #0f172a; /* slate-900 相当(ライト時のブロック背景)*/
64
+ --code-fg: #e5e7eb; /* text on dark */
65
+ --code-border: #0b1220; /* 少し濃い枠 */
66
+ --code-line-highlight: rgba(255, 255, 255, 0.06);
67
+
68
+ /* syntax accents(お好みで微調整) */
69
+ --syn-keyword: #93c5fd; /* keyword */
70
+ --syn-string: #86efac; /* string */
71
+ --syn-number: #fca5a5; /* number */
72
+ --syn-func: #fbcfe8; /* function*/
73
+ --syn-comment: #94a3b8; /* comment */
74
+ }
75
+
76
+ /* ダーク(データ属性で切替) */
77
+ :root[data-theme="dark"] {
78
+ --color-bg: #0b0f14;
79
+ --color-fg: #e5e7eb;
80
+ --color-muted: #94a3b8;
81
+ --color-primary: #60a5fa;
82
+ --color-border: #1f2937;
83
+
84
+ --code-bg: #0b0f14;
85
+ --code-fg: #e5e7eb;
86
+ --code-border: #141a22;
87
+ --code-inline-bg: color-mix(in oklab, var(--color-fg) 10%, transparent);
88
+ }