shru-design-system 0.0.8 → 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.
@@ -1,402 +0,0 @@
1
- @import "tailwindcss";
2
- @import "tw-animate-css";
3
- /* refer: https://tailwindcss.com/docs/theme */
4
-
5
- @custom-variant dark (&:is(.dark *));
6
-
7
- @custom-variant fixed (&:is(.layout-fixed *));
8
-
9
- @theme inline {
10
- --breakpoint-3xl: 1600px;
11
- --breakpoint-4xl: 2000px;
12
- --font-sans: var(--font-sans);
13
- --font-mono: var(--font-mono);
14
- --radius-sm: calc(var(--radius) - 4px);
15
- --radius-md: calc(var(--radius) - 2px);
16
- --radius-lg: var(--radius);
17
- --radius-xl: calc(var(--radius) + 4px);
18
- --color-background: var(--background);
19
- --color-foreground: var(--foreground);
20
- --color-card: var(--card);
21
- --color-card-foreground: var(--card-foreground);
22
- --color-popover: var(--popover);
23
- --color-popover-foreground: var(--popover-foreground);
24
- --color-primary: var(--primary);
25
- --color-primary-foreground: var(--primary-foreground);
26
- --color-secondary: var(--secondary);
27
- --color-secondary-foreground: var(--secondary-foreground);
28
- --color-muted: var(--muted);
29
- --color-muted-foreground: var(--muted-foreground);
30
- --color-accent: var(--accent);
31
- --color-accent-foreground: var(--accent-foreground);
32
- --color-destructive: var(--destructive);
33
- --color-border: var(--border);
34
- --color-input: var(--input);
35
- --color-ring: var(--ring);
36
- --color-chart-1: var(--chart-1);
37
- --color-chart-2: var(--chart-2);
38
- --color-chart-3: var(--chart-3);
39
- --color-chart-4: var(--chart-4);
40
- --color-chart-5: var(--chart-5);
41
- --color-sidebar: var(--sidebar);
42
- --color-sidebar-foreground: var(--sidebar-foreground);
43
- --color-sidebar-primary: var(--sidebar-primary);
44
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
45
- --color-sidebar-accent: var(--sidebar-accent);
46
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
47
- --color-sidebar-border: var(--sidebar-border);
48
- --color-sidebar-ring: var(--sidebar-ring);
49
- --color-surface: var(--surface);
50
- --color-surface-foreground: var(--surface-foreground);
51
- --color-code: var(--code);
52
- --color-code-foreground: var(--code-foreground);
53
- --color-code-highlight: var(--code-highlight);
54
- --color-code-number: var(--code-number);
55
- --color-selection: var(--selection);
56
- --color-selection-foreground: var(--selection-foreground);
57
- --color-skeleton: var(--skeleton);
58
- }
59
-
60
- :root {
61
- --radius: 0.625rem;
62
- /* Spacing variable - required for Tailwind v4's generated utilities */
63
- --spacing: 0.25rem; /* 1 unit = 0.25rem (4px), so px-4 = calc(0.25rem * 4) = 1rem */
64
-
65
- /* Color palette variables - required for chart and other components */
66
- --color-blue-50: #eff6ff;
67
- --color-blue-100: #dbeafe;
68
- --color-blue-200: #bfdbfe;
69
- --color-blue-300: #93c5fd;
70
- --color-blue-400: #60a5fa;
71
- --color-blue-500: #3b82f6;
72
- --color-blue-600: #2563eb;
73
- --color-blue-700: #1d4ed8;
74
- --color-blue-800: #1e40af;
75
- --color-blue-900: #1e3a8a;
76
- --color-blue-950: #172554;
77
-
78
- /* Semantic color variables */
79
- --background: oklch(1 0 0);
80
- --foreground: oklch(0.145 0 0);
81
- --card: oklch(1 0 0);
82
- --card-foreground: oklch(0.145 0 0);
83
- --popover: oklch(1 0 0);
84
- --popover-foreground: oklch(0.145 0 0);
85
- --primary: oklch(0.205 0 0);
86
- --primary-foreground: oklch(0.985 0 0);
87
- --secondary: oklch(0.97 0 0);
88
- --secondary-foreground: oklch(0.205 0 0);
89
- --muted: oklch(0.97 0 0);
90
- --muted-foreground: oklch(0.556 0 0);
91
- --accent: oklch(0.97 0 0);
92
- --accent-foreground: oklch(0.205 0 0);
93
- --destructive: oklch(0.577 0.245 27.325);
94
- --border: oklch(0.922 0 0);
95
- --input: oklch(0.922 0 0);
96
- --ring: oklch(0.708 0 0);
97
- --chart-1: var(--color-blue-300);
98
- --chart-2: var(--color-blue-500);
99
- --chart-3: var(--color-blue-600);
100
- --chart-4: var(--color-blue-700);
101
- --chart-5: var(--color-blue-800);
102
- --sidebar: oklch(0.985 0 0);
103
- --sidebar-foreground: oklch(0.145 0 0);
104
- --sidebar-primary: oklch(0.205 0 0);
105
- --sidebar-primary-foreground: oklch(0.985 0 0);
106
- --sidebar-accent: oklch(0.97 0 0);
107
- --sidebar-accent-foreground: oklch(0.205 0 0);
108
- --sidebar-border: oklch(0.922 0 0);
109
- --sidebar-ring: oklch(0.708 0 0);
110
- --surface: oklch(0.98 0 0);
111
- --surface-foreground: var(--foreground);
112
- --code: var(--surface);
113
- --code-foreground: var(--surface-foreground);
114
- --code-highlight: oklch(0.96 0 0);
115
- --code-number: oklch(0.56 0 0);
116
- --selection: oklch(0.145 0 0);
117
- --selection-foreground: oklch(1 0 0);
118
- --skeleton: oklch(0.92 0 0);
119
- }
120
-
121
- .dark {
122
- --background: oklch(0.145 0 0);
123
- --foreground: oklch(0.985 0 0);
124
- --card: oklch(0.205 0 0);
125
- --card-foreground: oklch(0.985 0 0);
126
- --popover: oklch(0.269 0 0);
127
- --popover-foreground: oklch(0.985 0 0);
128
- --primary: oklch(0.922 0 0);
129
- --primary-foreground: oklch(0.205 0 0);
130
- --secondary: oklch(0.269 0 0);
131
- --secondary-foreground: oklch(0.985 0 0);
132
- --muted: oklch(0.269 0 0);
133
- --muted-foreground: oklch(0.708 0 0);
134
- --accent: oklch(0.371 0 0);
135
- --accent-foreground: oklch(0.985 0 0);
136
- --destructive: oklch(0.704 0.191 22.216);
137
- --border: oklch(1 0 0 / 10%);
138
- --input: oklch(1 0 0 / 15%);
139
- --ring: oklch(0.556 0 0);
140
- --chart-1: var(--color-blue-300);
141
- --chart-2: var(--color-blue-500);
142
- --chart-3: var(--color-blue-600);
143
- --chart-4: var(--color-blue-700);
144
- --chart-5: var(--color-blue-800);
145
- --sidebar: oklch(0.205 0 0);
146
- --sidebar-foreground: oklch(0.985 0 0);
147
- --sidebar-primary: oklch(0.488 0.243 264.376);
148
- --sidebar-primary-foreground: oklch(0.985 0 0);
149
- --sidebar-accent: oklch(0.269 0 0);
150
- --sidebar-accent-foreground: oklch(0.985 0 0);
151
- --sidebar-border: oklch(1 0 0 / 10%);
152
- --sidebar-ring: oklch(0.439 0 0);
153
- --surface: oklch(0.2 0 0);
154
- --surface-foreground: oklch(0.708 0 0);
155
- --code: var(--surface);
156
- --code-foreground: var(--surface-foreground);
157
- --code-highlight: oklch(0.27 0 0);
158
- --code-number: oklch(0.72 0 0);
159
- --selection: oklch(0.922 0 0);
160
- --selection-foreground: oklch(0.205 0 0);
161
- --skeleton: oklch(0.32 0 0);
162
- }
163
-
164
- @layer base {
165
- * {
166
- @apply border-border outline-ring/50;
167
- }
168
- ::selection {
169
- @apply bg-selection text-selection-foreground;
170
- }
171
- html {
172
- @apply overscroll-none scroll-smooth;
173
- }
174
- body {
175
- @apply bg-background text-foreground;
176
- font-synthesis-weight: none;
177
- text-rendering: optimizeLegibility;
178
- }
179
-
180
- [data-slot="layout"] {
181
- @apply 3xl:p-2 3xl:fixed:p-0 overscroll-none;
182
- }
183
-
184
- @supports (font: -apple-system-body) and (-webkit-appearance: none) {
185
- [data-wrapper] {
186
- @apply min-[1800px]:border-t;
187
- }
188
- }
189
-
190
- a:active,
191
- button:active {
192
- @apply opacity-60 md:opacity-100;
193
- }
194
- }
195
-
196
- @utility border-grid {
197
- @apply border-border/50 dark:border-border;
198
- }
199
-
200
- @utility section-soft {
201
- @apply from-background to-surface/40 dark:bg-background 3xl:fixed:bg-none bg-gradient-to-b;
202
- }
203
-
204
- @utility theme-container {
205
- @apply font-sans;
206
- }
207
-
208
- @utility container-wrapper {
209
- @apply 3xl:fixed:max-w-[calc(var(--breakpoint-2xl)+2rem)] mx-auto w-full px-2;
210
- }
211
-
212
- @utility container {
213
- @apply 3xl:max-w-screen-2xl mx-auto max-w-[1400px] px-4 lg:px-8;
214
- }
215
-
216
- @utility no-scrollbar {
217
- -ms-overflow-style: none;
218
- scrollbar-width: none;
219
-
220
- &::-webkit-scrollbar {
221
- display: none;
222
- }
223
- }
224
-
225
- @utility border-ghost {
226
- @apply after:border-border relative after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten;
227
- }
228
-
229
- @utility step {
230
- counter-increment: step;
231
- @apply relative;
232
-
233
- &:before {
234
- @apply text-muted-foreground right-0 mr-2 hidden size-7 items-center justify-center rounded-full text-center -indent-px font-mono text-sm font-medium md:absolute;
235
- content: counter(step);
236
- }
237
- }
238
-
239
- @utility extend-touch-target {
240
- @media (pointer: coarse) {
241
- @apply relative touch-manipulation after:absolute after:-inset-2;
242
- }
243
- }
244
-
245
- /*
246
- * Override broken Tailwind v4 generated utilities
247
- * Tailwind v4 has bugs with some utility generation (e.g., rounded-full generates infinity)
248
- * We explicitly define these to ensure they work correctly
249
- */
250
-
251
- /*
252
- * Pre-generated utility classes for design system components
253
- * These utilities are explicitly defined to ensure they work in consuming apps
254
- * without requiring Tailwind configuration or scanning
255
- *
256
- * Generated from 98 component files
257
- * Total classes: 423
258
- */
259
-
260
-
261
- /*
262
- * Pre-generated utility classes for design system components
263
- * These utilities are explicitly defined to ensure they work in consuming apps
264
- * without requiring Tailwind configuration or scanning
265
- *
266
- * Generated from 98 component files
267
- * Total classes: 423
268
- */
269
-
270
- @layer utilities {
271
- .rounded-2xl { border-radius: calc(var(--radius) + 8px) !important; }
272
- .rounded-full { border-radius: 9999px !important; }
273
- .rounded-lg { border-radius: var(--radius-lg) !important; }
274
- .rounded-md { border-radius: var(--radius-md) !important; }
275
- .rounded-none { border-radius: 0 !important; }
276
- .rounded-sm { border-radius: var(--radius-sm) !important; }
277
- .rounded-xl { border-radius: var(--radius-xl) !important; }
278
- }
279
-
280
- @layer components {
281
- .steps {
282
- &:first-child {
283
- @apply !mt-0;
284
- }
285
-
286
- &:first-child > h3:first-child {
287
- @apply !mt-0;
288
- }
289
-
290
- > h3 {
291
- @apply !mt-16;
292
- }
293
-
294
- > h3 + p {
295
- @apply !mt-2;
296
- }
297
- }
298
-
299
- [data-rehype-pretty-code-figure] {
300
- background-color: var(--color-code);
301
- color: var(--color-code-foreground);
302
- border-radius: var(--radius-lg);
303
- border-width: 0px;
304
- border-color: var(--border);
305
- margin-top: calc(var(--spacing) * 6);
306
- overflow: hidden;
307
- font-size: var(--text-sm);
308
- outline: none;
309
- position: relative;
310
- @apply -mx-1 md:-mx-1;
311
-
312
- &:has([data-rehype-pretty-code-title]) [data-slot="copy-button"] {
313
- top: calc(var(--spacing) * 1.5) !important;
314
- }
315
- }
316
-
317
- [data-rehype-pretty-code-title] {
318
- border-bottom: color-mix(in oklab, var(--border) 30%, transparent);
319
- border-bottom-width: 1px;
320
- border-bottom-style: solid;
321
- padding-block: calc(var(--spacing) * 2.5);
322
- padding-inline: calc(var(--spacing) * 4);
323
- font-size: var(--text-sm);
324
- font-family: var(--font-mono);
325
- color: var(--color-code-foreground);
326
- }
327
-
328
- [data-line-numbers] {
329
- display: grid;
330
- min-width: 100%;
331
- white-space: pre;
332
- border: 0;
333
- background: transparent;
334
- padding: 0;
335
- counter-reset: line;
336
- box-decoration-break: clone;
337
- }
338
-
339
- [data-line-numbers] [data-line]::before {
340
- font-size: var(--text-sm);
341
- counter-increment: line;
342
- content: counter(line);
343
- display: inline-block;
344
- width: calc(var(--spacing) * 16);
345
- padding-right: calc(var(--spacing) * 6);
346
- text-align: right;
347
- color: var(--color-code-number);
348
- background-color: var(--color-code);
349
- position: sticky;
350
- left: 0;
351
- }
352
-
353
- [data-line-numbers] [data-highlighted-line][data-line]::before {
354
- background-color: var(--color-code-highlight);
355
- }
356
-
357
- [data-line] {
358
- padding-top: calc(var(--spacing) * 0.5);
359
- padding-bottom: calc(var(--spacing) * 0.5);
360
- min-height: calc(var(--spacing) * 1);
361
- width: 100%;
362
- display: inline-block;
363
- }
364
-
365
- [data-line] span {
366
- color: var(--shiki-light);
367
-
368
- @variant dark {
369
- color: var(--shiki-dark) !important;
370
- }
371
- }
372
-
373
- [data-highlighted-line],
374
- [data-highlighted-chars] {
375
- position: relative;
376
- background-color: var(--color-code-highlight);
377
- }
378
-
379
- [data-highlighted-line] {
380
- &:after {
381
- position: absolute;
382
- top: 0;
383
- left: 0;
384
- width: 2px;
385
- height: 100%;
386
- content: "";
387
- background-color: color-mix(
388
- in oklab,
389
- var(--muted-foreground) 50%,
390
- transparent
391
- );
392
- }
393
- }
394
-
395
- [data-highlighted-chars] {
396
- border-radius: var(--radius-sm);
397
- padding-inline: 0.3rem;
398
- padding-block: 0.1rem;
399
- font-family: var(--font-mono);
400
- font-size: 0.8rem;
401
- }
402
- }