@polastack/design-system 0.1.18 → 0.1.20

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.
@@ -0,0 +1,235 @@
1
+ /* ============================================================
2
+ Polastack Design System - Design Tokens
3
+ Tailwind CSS v4 @theme directive
4
+
5
+ トークン定義のみ。Tailwind の初期化(@import 'tailwindcss')は含まない。
6
+ 消費側が自前の Tailwind 設定を持つ場合はこのファイルだけを @import する。
7
+ ============================================================ */
8
+
9
+ @theme {
10
+ /* --------------------------------------------------------
11
+ Colors: Brand (Primary)
12
+ Teal系 - #1BA491をベースにしたPolastackブランドカラー
13
+ -------------------------------------------------------- */
14
+ --color-primary-50: #f0fdfb;
15
+ --color-primary-100: #cdfbf0;
16
+ --color-primary-200: #9bf7e2;
17
+ --color-primary-300: #61ebd0;
18
+ --color-primary-400: #2fd4ba;
19
+ --color-primary-500: #1BA491;
20
+ --color-primary-600: #138575;
21
+ --color-primary-700: #146b5f;
22
+ --color-primary-800: #15564e;
23
+ --color-primary-900: #134841;
24
+ --color-primary-950: #042c28;
25
+
26
+ /* --------------------------------------------------------
27
+ Colors: Neutral (Zinc系)
28
+ 高密度UIでの微妙なコントラスト差を表現する広いグレースケール
29
+ -------------------------------------------------------- */
30
+ --color-neutral-50: #fafafa;
31
+ --color-neutral-100: #f4f4f5;
32
+ --color-neutral-200: #e4e4e7;
33
+ --color-neutral-300: #d4d4d8;
34
+ --color-neutral-400: #a1a1aa;
35
+ --color-neutral-500: #71717a;
36
+ --color-neutral-600: #52525b;
37
+ --color-neutral-700: #3f3f46;
38
+ --color-neutral-800: #27272a;
39
+ --color-neutral-900: #18181b;
40
+ --color-neutral-950: #09090b;
41
+
42
+ /* --------------------------------------------------------
43
+ Colors: Semantic - Success (Green)
44
+ Primaryのティールと区別しやすい純粋なグリーン系
45
+ -------------------------------------------------------- */
46
+ --color-success-50: #f0fdf4;
47
+ --color-success-100: #dcfce7;
48
+ --color-success-200: #bbf7d0;
49
+ --color-success-300: #86efac;
50
+ --color-success-400: #4ade80;
51
+ --color-success-500: #22c55e;
52
+ --color-success-600: #16a34a;
53
+ --color-success-700: #15803d;
54
+ --color-success-800: #166534;
55
+ --color-success-900: #14532d;
56
+ --color-success-950: #052e16;
57
+
58
+ /* --------------------------------------------------------
59
+ Colors: Semantic - Warning (Amber)
60
+ -------------------------------------------------------- */
61
+ --color-warning-50: #fffbeb;
62
+ --color-warning-100: #fef3c7;
63
+ --color-warning-200: #fde68a;
64
+ --color-warning-300: #fcd34d;
65
+ --color-warning-400: #fbbf24;
66
+ --color-warning-500: #f59e0b;
67
+ --color-warning-600: #d97706;
68
+ --color-warning-700: #b45309;
69
+ --color-warning-800: #92400e;
70
+ --color-warning-900: #78350f;
71
+ --color-warning-950: #451a03;
72
+
73
+ /* --------------------------------------------------------
74
+ Colors: Semantic - Error (Red)
75
+ -------------------------------------------------------- */
76
+ --color-error-50: #fef2f2;
77
+ --color-error-100: #fee2e2;
78
+ --color-error-200: #fecaca;
79
+ --color-error-300: #fca5a5;
80
+ --color-error-400: #f87171;
81
+ --color-error-500: #ef4444;
82
+ --color-error-600: #dc2626;
83
+ --color-error-700: #b91c1c;
84
+ --color-error-800: #991b1b;
85
+ --color-error-900: #7f1d1d;
86
+ --color-error-950: #450a0a;
87
+
88
+ /* --------------------------------------------------------
89
+ Colors: Semantic - Info (Blue)
90
+ -------------------------------------------------------- */
91
+ --color-info-50: #eff6ff;
92
+ --color-info-100: #dbeafe;
93
+ --color-info-200: #bfdbfe;
94
+ --color-info-300: #93c5fd;
95
+ --color-info-400: #60a5fa;
96
+ --color-info-500: #3b82f6;
97
+ --color-info-600: #2563eb;
98
+ --color-info-700: #1d4ed8;
99
+ --color-info-800: #1e40af;
100
+ --color-info-900: #1e3a8a;
101
+ --color-info-950: #172554;
102
+
103
+ /* --------------------------------------------------------
104
+ Typography: Font Families
105
+ Inter(欧文) + Noto Sans JP(和文) で混在表示を最適化
106
+ -------------------------------------------------------- */
107
+ --font-sans: 'Inter', 'Noto Sans JP', ui-sans-serif, system-ui, sans-serif;
108
+ --font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Code', monospace;
109
+
110
+ /* --------------------------------------------------------
111
+ Typography: Font Sizes
112
+ base=14px - BtoB業務アプリの高密度表示に最適化
113
+ -------------------------------------------------------- */
114
+ --text-xs: 0.75rem;
115
+ --text-xs--line-height: 1rem;
116
+ --text-sm: 0.8125rem;
117
+ --text-sm--line-height: 1.25rem;
118
+ --text-base: 0.875rem;
119
+ --text-base--line-height: 1.25rem;
120
+ --text-lg: 1rem;
121
+ --text-lg--line-height: 1.5rem;
122
+ --text-xl: 1.125rem;
123
+ --text-xl--line-height: 1.75rem;
124
+ --text-2xl: 1.25rem;
125
+ --text-2xl--line-height: 1.75rem;
126
+ --text-3xl: 1.5rem;
127
+ --text-3xl--line-height: 2rem;
128
+
129
+ /* --------------------------------------------------------
130
+ Spacing: 4px Grid
131
+ -------------------------------------------------------- */
132
+ --spacing-0: 0px;
133
+ --spacing-px: 1px;
134
+ --spacing-0_5: 0.125rem;
135
+ --spacing-1: 0.25rem;
136
+ --spacing-1_5: 0.375rem;
137
+ --spacing-2: 0.5rem;
138
+ --spacing-2_5: 0.625rem;
139
+ --spacing-3: 0.75rem;
140
+ --spacing-3_5: 0.875rem;
141
+ --spacing-4: 1rem;
142
+ --spacing-5: 1.25rem;
143
+ --spacing-6: 1.5rem;
144
+ --spacing-7: 1.75rem;
145
+ --spacing-8: 2rem;
146
+ --spacing-9: 2.25rem;
147
+ --spacing-10: 2.5rem;
148
+ --spacing-11: 2.75rem;
149
+ --spacing-12: 3rem;
150
+ --spacing-14: 3.5rem;
151
+ --spacing-16: 4rem;
152
+ --spacing-20: 5rem;
153
+ --spacing-24: 6rem;
154
+
155
+ /* --------------------------------------------------------
156
+ Elevation: Shadows
157
+ -------------------------------------------------------- */
158
+ --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
159
+ --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
160
+ --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
161
+ --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
162
+ --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
163
+ --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
164
+ --shadow-drawer: 0 0 48px rgb(0 0 0 / 0.16);
165
+
166
+ /* --------------------------------------------------------
167
+ Elevation: Border Radius
168
+ -------------------------------------------------------- */
169
+ --radius-none: 0px;
170
+ --radius-sm: 0.25rem;
171
+ --radius-md: 0.375rem;
172
+ --radius-lg: 0.5rem;
173
+ --radius-xl: 0.75rem;
174
+ --radius-2xl: 1rem;
175
+ --radius-full: 9999px;
176
+
177
+ /* --------------------------------------------------------
178
+ Animation: Duration
179
+ -------------------------------------------------------- */
180
+ --duration-fast: 100ms;
181
+ --duration-normal: 200ms;
182
+ --duration-slow: 300ms;
183
+
184
+ /* --------------------------------------------------------
185
+ Animation: Easing
186
+ -------------------------------------------------------- */
187
+ --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
188
+ --ease-in: cubic-bezier(0.4, 0, 1, 1);
189
+ --ease-out: cubic-bezier(0, 0, 0.2, 1);
190
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
191
+
192
+ /* --------------------------------------------------------
193
+ Z-Index Scale
194
+ Drawer重ね表示パターン対応
195
+ -------------------------------------------------------- */
196
+ --z-dropdown: 50;
197
+ --z-sticky: 100;
198
+ --z-drawer: 200;
199
+ --z-modal: 300;
200
+ --z-popover: 400;
201
+ --z-toast: 500;
202
+ --z-tooltip: 600;
203
+
204
+ /* --------------------------------------------------------
205
+ PWA: Safe Area Insets
206
+ ノッチ端末・ホームバー端末のSafe Area対応
207
+ -------------------------------------------------------- */
208
+ --safe-area-top: env(safe-area-inset-top, 0px);
209
+ --safe-area-right: env(safe-area-inset-right, 0px);
210
+ --safe-area-bottom: env(safe-area-inset-bottom, 0px);
211
+ --safe-area-left: env(safe-area-inset-left, 0px);
212
+
213
+ /* --------------------------------------------------------
214
+ PWA: Touch Target
215
+ WCAG 2.5.5 準拠の最小タッチターゲットサイズ
216
+ -------------------------------------------------------- */
217
+ --touch-target-min: 44px;
218
+ --touch-target-comfortable: 48px;
219
+
220
+ /* --------------------------------------------------------
221
+ PWA: Bottom Navigation
222
+ -------------------------------------------------------- */
223
+ --bottom-nav-height: 56px;
224
+
225
+ /* --------------------------------------------------------
226
+ Animation: Keyframes
227
+ -------------------------------------------------------- */
228
+ --animate-fade-in: fade-in var(--duration-normal) var(--ease-out);
229
+ --animate-fade-out: fade-out var(--duration-normal) var(--ease-in);
230
+ --animate-slide-in-right: slide-in-right var(--duration-slow) var(--ease-out);
231
+ --animate-slide-out-right: slide-out-right var(--duration-slow) var(--ease-in);
232
+ --animate-slide-in-left: slide-in-left var(--duration-slow) var(--ease-out);
233
+ --animate-slide-out-left: slide-out-left var(--duration-slow) var(--ease-in);
234
+ --animate-spinner: spinner-fade 0.8s ease-in-out infinite;
235
+ }