@slexkit/theme-shadcn 0.2.0 → 0.3.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/base.css CHANGED
@@ -99,370 +99,370 @@ color-scheme: dark;
99
99
 
100
100
  /* layout.css */
101
101
 
102
- .slexkit-root {
103
- --font-sans:
104
- "Geist", "Geist Sans", "Noto Sans SC", "Noto Sans", ui-sans-serif, system-ui, -apple-system,
105
- BlinkMacSystemFont, "Segoe UI", sans-serif;
106
- --font-mono:
107
- "Geist Mono", "Noto Sans Mono", "Noto Sans Mono CJK SC", "SFMono-Regular", "Cascadia Code",
108
- Consolas, monospace;
109
- font-family: var(
110
- --font-sans,
111
- "Geist",
112
- "Geist Sans",
113
- "Noto Sans SC",
114
- "Noto Sans",
115
- ui-sans-serif,
116
- system-ui,
117
- -apple-system,
118
- BlinkMacSystemFont,
119
- "Segoe UI",
120
- sans-serif
121
- );
122
- color: var(--foreground);
123
- background: transparent;
124
- line-height: 1.5;
125
- -webkit-font-smoothing: antialiased;
126
- -moz-osx-font-smoothing: grayscale;
127
- }
128
-
129
- .slexkit-root,
130
- .slexkit-root *,
131
- .slexkit-root *::before,
132
- .slexkit-root *::after {
133
- box-sizing: border-box;
134
- }
135
-
136
- body[data-mobile-nav-open] {
137
- overflow: hidden;
138
- overscroll-behavior: contain;
139
- }
140
-
141
- #mobileNav {
142
- --mobile-nav-backdrop-opacity: 0;
143
- --mobile-nav-panel-translate: -100%;
144
- pointer-events: none;
145
- }
146
-
147
- #mobileNav[data-open="true"] {
148
- --mobile-nav-backdrop-opacity: 1;
149
- --mobile-nav-panel-translate: 0px;
150
- pointer-events: auto;
151
- }
152
-
153
- #mobileNav [data-mobile-nav-backdrop] {
154
- opacity: var(--mobile-nav-backdrop-opacity);
155
- touch-action: pan-y;
156
- transition: opacity 180ms ease;
157
- }
158
-
159
- #mobileNav [data-mobile-nav-panel] {
160
- transform: translateX(var(--mobile-nav-panel-translate));
161
- touch-action: pan-y;
162
- transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
163
- will-change: transform;
164
- }
165
-
166
- #mobileNav[data-dragging="true"] [data-mobile-nav-backdrop],
167
- #mobileNav[data-dragging="true"] [data-mobile-nav-panel] {
168
- transition: none;
169
- }
170
-
171
- @media (prefers-reduced-motion: reduce) {
172
- #mobileNav [data-mobile-nav-backdrop],
173
- #mobileNav [data-mobile-nav-panel] {
174
- transition: none;
175
- }
176
- }
177
-
178
- .slexkit-for-wrapper {
179
- display: contents;
180
- }
181
-
182
- .slexkit-source-toolbar {
183
- display: flex;
184
- align-items: center;
185
- justify-content: flex-end;
186
- gap: 0.5rem;
187
- margin: 0.5rem 0;
188
- }
189
-
190
- .slexkit-source-button {
191
- display: inline-flex;
192
- align-items: center;
193
- justify-content: center;
194
- min-height: 28px;
195
- padding: 0 0.625rem;
196
- border: 1px solid var(--border);
197
- border-radius: calc(var(--radius) - 2px);
198
- background: var(--secondary);
199
- color: var(--secondary-foreground);
200
- font-family: inherit;
201
- font-size: 0.75rem;
202
- font-weight: 500;
203
- cursor: pointer;
204
- transition:
205
- background 150ms ease,
206
- color 150ms ease,
207
- border-color 150ms ease;
208
- }
209
-
210
- .slexkit-source-button:hover {
211
- background: var(--accent);
212
- color: var(--accent-foreground);
213
- border-color: var(--border);
214
- }
215
-
216
- .slexkit-source-button:focus-visible {
217
- outline: 2px solid var(--ring);
218
- outline-offset: 2px;
219
- }
220
-
221
- .slexkit-preview {
222
- width: 100%;
223
- }
224
-
225
- .slex-layout {
226
- display: grid;
227
- width: 100%;
228
- min-width: 0;
229
- gap: 1rem;
230
- }
231
-
232
- .slex-layout > .slex-row {
233
- justify-content: space-between;
234
- align-items: center;
235
- }
236
-
237
- .slex-layout .slex-text {
238
- color: var(--foreground);
239
- }
240
-
241
- .slex-layout .slex-text--muted {
242
- color: var(--muted-foreground);
243
- }
244
-
245
- .slex-card {
246
- display: flex;
247
- flex-direction: column;
248
- width: 100%;
249
- max-width: none;
250
- min-width: 0;
251
- background: var(--card);
252
- color: var(--card-foreground);
253
- border: 1px solid var(--border);
254
- border-radius: calc(var(--radius) + 4px);
255
- padding: 1.25rem;
256
- box-shadow: var(--shadow-sm);
257
- transition:
258
- box-shadow 150ms ease,
259
- border-color 150ms ease;
260
- }
261
-
262
- .slex-card:hover {
263
- border-color: var(--border);
264
- box-shadow: var(--shadow-md);
265
- }
266
-
102
+ .slexkit-root {
103
+ --font-sans:
104
+ "Geist", "Geist Sans", "Noto Sans SC", "Noto Sans", ui-sans-serif, system-ui, -apple-system,
105
+ BlinkMacSystemFont, "Segoe UI", sans-serif;
106
+ --font-mono:
107
+ "Geist Mono", "Noto Sans Mono", "Noto Sans Mono CJK SC", "SFMono-Regular", "Cascadia Code",
108
+ Consolas, monospace;
109
+ font-family: var(
110
+ --font-sans,
111
+ "Geist",
112
+ "Geist Sans",
113
+ "Noto Sans SC",
114
+ "Noto Sans",
115
+ ui-sans-serif,
116
+ system-ui,
117
+ -apple-system,
118
+ BlinkMacSystemFont,
119
+ "Segoe UI",
120
+ sans-serif
121
+ );
122
+ color: var(--foreground);
123
+ background: transparent;
124
+ line-height: 1.5;
125
+ -webkit-font-smoothing: antialiased;
126
+ -moz-osx-font-smoothing: grayscale;
127
+ }
128
+
129
+ .slexkit-root,
130
+ .slexkit-root *,
131
+ .slexkit-root *::before,
132
+ .slexkit-root *::after {
133
+ box-sizing: border-box;
134
+ }
135
+
136
+ body[data-mobile-nav-open] {
137
+ overflow: hidden;
138
+ overscroll-behavior: contain;
139
+ }
140
+
141
+ #mobileNav {
142
+ --mobile-nav-backdrop-opacity: 0;
143
+ --mobile-nav-panel-translate: -100%;
144
+ pointer-events: none;
145
+ }
146
+
147
+ #mobileNav[data-open="true"] {
148
+ --mobile-nav-backdrop-opacity: 1;
149
+ --mobile-nav-panel-translate: 0px;
150
+ pointer-events: auto;
151
+ }
152
+
153
+ #mobileNav [data-mobile-nav-backdrop] {
154
+ opacity: var(--mobile-nav-backdrop-opacity);
155
+ touch-action: pan-y;
156
+ transition: opacity 180ms ease;
157
+ }
158
+
159
+ #mobileNav [data-mobile-nav-panel] {
160
+ transform: translateX(var(--mobile-nav-panel-translate));
161
+ touch-action: pan-y;
162
+ transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
163
+ will-change: transform;
164
+ }
165
+
166
+ #mobileNav[data-dragging="true"] [data-mobile-nav-backdrop],
167
+ #mobileNav[data-dragging="true"] [data-mobile-nav-panel] {
168
+ transition: none;
169
+ }
170
+
171
+ @media (prefers-reduced-motion: reduce) {
172
+ #mobileNav [data-mobile-nav-backdrop],
173
+ #mobileNav [data-mobile-nav-panel] {
174
+ transition: none;
175
+ }
176
+ }
177
+
178
+ .slexkit-for-wrapper {
179
+ display: contents;
180
+ }
181
+
182
+ .slexkit-source-toolbar {
183
+ display: flex;
184
+ align-items: center;
185
+ justify-content: flex-end;
186
+ gap: 0.5rem;
187
+ margin: 0.5rem 0;
188
+ }
189
+
190
+ .slexkit-source-button {
191
+ display: inline-flex;
192
+ align-items: center;
193
+ justify-content: center;
194
+ min-height: 28px;
195
+ padding: 0 0.625rem;
196
+ border: 1px solid var(--border);
197
+ border-radius: calc(var(--radius) - 2px);
198
+ background: var(--secondary);
199
+ color: var(--secondary-foreground);
200
+ font-family: inherit;
201
+ font-size: 0.75rem;
202
+ font-weight: 500;
203
+ cursor: pointer;
204
+ transition:
205
+ background 150ms ease,
206
+ color 150ms ease,
207
+ border-color 150ms ease;
208
+ }
209
+
210
+ .slexkit-source-button:hover {
211
+ background: var(--accent);
212
+ color: var(--accent-foreground);
213
+ border-color: var(--border);
214
+ }
215
+
216
+ .slexkit-source-button:focus-visible {
217
+ outline: 2px solid var(--ring);
218
+ outline-offset: 2px;
219
+ }
220
+
221
+ .slexkit-preview {
222
+ width: 100%;
223
+ }
224
+
225
+ .slex-layout {
226
+ display: grid;
227
+ width: 100%;
228
+ min-width: 0;
229
+ gap: 1rem;
230
+ }
231
+
232
+ .slex-layout > .slex-row {
233
+ justify-content: space-between;
234
+ align-items: center;
235
+ }
236
+
237
+ .slex-layout .slex-text {
238
+ color: var(--foreground);
239
+ }
240
+
241
+ .slex-layout .slex-text--muted {
242
+ color: var(--muted-foreground);
243
+ }
244
+
245
+ .slex-card {
246
+ display: flex;
247
+ flex-direction: column;
248
+ width: 100%;
249
+ max-width: none;
250
+ min-width: 0;
251
+ background: var(--card);
252
+ color: var(--card-foreground);
253
+ border: 1px solid var(--border);
254
+ border-radius: calc(var(--radius) + 4px);
255
+ padding: 1.25rem;
256
+ box-shadow: var(--shadow-sm);
257
+ transition:
258
+ box-shadow 150ms ease,
259
+ border-color 150ms ease;
260
+ }
261
+
262
+ .slex-card:hover {
263
+ border-color: var(--border);
264
+ box-shadow: var(--shadow-md);
265
+ }
266
+
267
267
  .slex-card-title {
268
268
  display: inline-flex;
269
269
  align-items: center;
270
270
  gap: 0.5rem;
271
271
  margin: 0 0 1rem;
272
- padding-bottom: 0.75rem;
273
- border-bottom: 1px solid var(--border);
274
- color: var(--card-foreground);
275
- font-size: 1.125rem;
276
- font-weight: 600;
277
- line-height: 1.25;
278
- }
279
-
280
- .slex-card-body {
281
- display: flex;
282
- width: 100%;
283
- min-width: 0;
284
- flex-direction: column;
285
- gap: 1rem;
286
- }
287
-
288
- .slex-column {
289
- display: flex;
290
- min-width: 0;
291
- flex-direction: column;
292
- gap: 1rem;
293
- }
294
-
295
- .slex-row {
296
- display: flex;
297
- flex-direction: row;
298
- gap: 1rem;
299
- align-items: center;
300
- flex-wrap: wrap;
301
- }
302
-
303
- .slex-row > * {
304
- min-width: 0;
305
- }
306
-
307
- .slex-row--balanced-tiles {
308
- --slex-balanced-tile-width: 136px;
309
- display: grid;
310
- width: 100%;
311
- grid-template-columns: repeat(var(--slex-balanced-tracks, var(--slex-balanced-cols)), minmax(0, 1fr));
312
- justify-content: stretch;
313
- align-items: stretch;
314
- }
315
-
316
- .slex-row--balanced-tiles > :is(.slex-stat, .slex-card) {
317
- width: 100%;
318
- }
319
-
320
- .slex-grid {
321
- display: grid;
322
- width: 100%;
323
- min-width: 0;
324
- gap: 1rem;
325
- }
326
-
327
- .slex-grid {
328
- grid-template-columns: 1fr;
329
- }
330
- .slex-grid[data-cols="1"] {
331
- grid-template-columns: 1fr;
332
- }
333
- .slex-grid[data-cols="2"] {
334
- grid-template-columns: repeat(2, 1fr);
335
- }
336
- .slex-grid[data-cols="3"] {
337
- grid-template-columns: repeat(3, 1fr);
338
- }
339
- .slex-grid[data-cols="4"] {
340
- grid-template-columns: repeat(4, 1fr);
341
- }
342
- .slex-grid[data-cols="5"] {
343
- grid-template-columns: repeat(5, 1fr);
344
- }
345
- .slex-grid[data-cols="6"] {
346
- grid-template-columns: repeat(6, 1fr);
347
- }
348
- .slex-grid[data-cols="12"] {
349
- grid-template-columns: repeat(12, 1fr);
350
- }
351
-
352
- @media (min-width: 640px) {
353
- .slex-grid[data-cols-sm="1"] {
354
- grid-template-columns: 1fr;
355
- }
356
- .slex-grid[data-cols-sm="2"] {
357
- grid-template-columns: repeat(2, 1fr);
358
- }
359
- .slex-grid[data-cols-sm="3"] {
360
- grid-template-columns: repeat(3, 1fr);
361
- }
362
- .slex-grid[data-cols-sm="4"] {
363
- grid-template-columns: repeat(4, 1fr);
364
- }
365
- .slex-grid[data-cols-sm="5"] {
366
- grid-template-columns: repeat(5, 1fr);
367
- }
368
- .slex-grid[data-cols-sm="6"] {
369
- grid-template-columns: repeat(6, 1fr);
370
- }
371
- .slex-grid[data-cols-sm="12"] {
372
- grid-template-columns: repeat(12, 1fr);
373
- }
374
- }
375
-
376
- @media (min-width: 768px) {
377
- .slex-grid[data-cols-md="1"] {
378
- grid-template-columns: 1fr;
379
- }
380
- .slex-grid[data-cols-md="2"] {
381
- grid-template-columns: repeat(2, 1fr);
382
- }
383
- .slex-grid[data-cols-md="3"] {
384
- grid-template-columns: repeat(3, 1fr);
385
- }
386
- .slex-grid[data-cols-md="4"] {
387
- grid-template-columns: repeat(4, 1fr);
388
- }
389
- .slex-grid[data-cols-md="5"] {
390
- grid-template-columns: repeat(5, 1fr);
391
- }
392
- .slex-grid[data-cols-md="6"] {
393
- grid-template-columns: repeat(6, 1fr);
394
- }
395
- .slex-grid[data-cols-md="12"] {
396
- grid-template-columns: repeat(12, 1fr);
397
- }
398
- }
399
-
400
- @media (min-width: 1024px) {
401
- .slex-grid[data-cols-lg="1"] {
402
- grid-template-columns: 1fr;
403
- }
404
- .slex-grid[data-cols-lg="2"] {
405
- grid-template-columns: repeat(2, 1fr);
406
- }
407
- .slex-grid[data-cols-lg="3"] {
408
- grid-template-columns: repeat(3, 1fr);
409
- }
410
- .slex-grid[data-cols-lg="4"] {
411
- grid-template-columns: repeat(4, 1fr);
412
- }
413
- .slex-grid[data-cols-lg="5"] {
414
- grid-template-columns: repeat(5, 1fr);
415
- }
416
- .slex-grid[data-cols-lg="6"] {
417
- grid-template-columns: repeat(6, 1fr);
418
- }
419
- .slex-grid[data-cols-lg="12"] {
420
- grid-template-columns: repeat(12, 1fr);
421
- }
422
- }
423
-
424
- @media (min-width: 1280px) {
425
- .slex-grid[data-cols-xl="1"] {
426
- grid-template-columns: 1fr;
427
- }
428
- .slex-grid[data-cols-xl="2"] {
429
- grid-template-columns: repeat(2, 1fr);
430
- }
431
- .slex-grid[data-cols-xl="3"] {
432
- grid-template-columns: repeat(3, 1fr);
433
- }
434
- .slex-grid[data-cols-xl="4"] {
435
- grid-template-columns: repeat(4, 1fr);
436
- }
437
- .slex-grid[data-cols-xl="5"] {
438
- grid-template-columns: repeat(5, 1fr);
439
- }
440
- .slex-grid[data-cols-xl="6"] {
441
- grid-template-columns: repeat(6, 1fr);
442
- }
443
- .slex-grid[data-cols-xl="12"] {
444
- grid-template-columns: repeat(12, 1fr);
445
- }
446
- }
447
-
448
- @media (max-width: 639px) {
449
- .slex-card {
450
- padding: 1rem;
451
- }
452
-
453
- .slex-row {
454
- align-items: stretch;
455
- }
456
-
457
- .slex-grid[data-cols],
458
- .slex-grid[data-cols="2"],
459
- .slex-grid[data-cols="3"],
460
- .slex-grid[data-cols="4"],
461
- .slex-grid[data-cols="5"],
462
- .slex-grid[data-cols="6"],
463
- .slex-grid[data-cols="12"] {
464
- grid-template-columns: 1fr;
465
- }
272
+ padding-bottom: 0.75rem;
273
+ border-bottom: 1px solid var(--border);
274
+ color: var(--card-foreground);
275
+ font-size: 1.125rem;
276
+ font-weight: 600;
277
+ line-height: 1.25;
278
+ }
279
+
280
+ .slex-card-body {
281
+ display: flex;
282
+ width: 100%;
283
+ min-width: 0;
284
+ flex-direction: column;
285
+ gap: 1rem;
286
+ }
287
+
288
+ .slex-column {
289
+ display: flex;
290
+ min-width: 0;
291
+ flex-direction: column;
292
+ gap: 1rem;
293
+ }
294
+
295
+ .slex-row {
296
+ display: flex;
297
+ flex-direction: row;
298
+ gap: 1rem;
299
+ align-items: center;
300
+ flex-wrap: wrap;
301
+ }
302
+
303
+ .slex-row > * {
304
+ min-width: 0;
305
+ }
306
+
307
+ .slex-row--balanced-tiles {
308
+ --slex-balanced-tile-width: 136px;
309
+ display: grid;
310
+ width: 100%;
311
+ grid-template-columns: repeat(var(--slex-balanced-tracks, var(--slex-balanced-cols)), minmax(0, 1fr));
312
+ justify-content: stretch;
313
+ align-items: stretch;
314
+ }
315
+
316
+ .slex-row--balanced-tiles > :is(.slex-stat, .slex-card) {
317
+ width: 100%;
318
+ }
319
+
320
+ .slex-grid {
321
+ display: grid;
322
+ width: 100%;
323
+ min-width: 0;
324
+ gap: 1rem;
325
+ }
326
+
327
+ .slex-grid {
328
+ grid-template-columns: 1fr;
329
+ }
330
+ .slex-grid[data-cols="1"] {
331
+ grid-template-columns: 1fr;
332
+ }
333
+ .slex-grid[data-cols="2"] {
334
+ grid-template-columns: repeat(2, 1fr);
335
+ }
336
+ .slex-grid[data-cols="3"] {
337
+ grid-template-columns: repeat(3, 1fr);
338
+ }
339
+ .slex-grid[data-cols="4"] {
340
+ grid-template-columns: repeat(4, 1fr);
341
+ }
342
+ .slex-grid[data-cols="5"] {
343
+ grid-template-columns: repeat(5, 1fr);
344
+ }
345
+ .slex-grid[data-cols="6"] {
346
+ grid-template-columns: repeat(6, 1fr);
347
+ }
348
+ .slex-grid[data-cols="12"] {
349
+ grid-template-columns: repeat(12, 1fr);
350
+ }
351
+
352
+ @media (min-width: 640px) {
353
+ .slex-grid[data-cols-sm="1"] {
354
+ grid-template-columns: 1fr;
355
+ }
356
+ .slex-grid[data-cols-sm="2"] {
357
+ grid-template-columns: repeat(2, 1fr);
358
+ }
359
+ .slex-grid[data-cols-sm="3"] {
360
+ grid-template-columns: repeat(3, 1fr);
361
+ }
362
+ .slex-grid[data-cols-sm="4"] {
363
+ grid-template-columns: repeat(4, 1fr);
364
+ }
365
+ .slex-grid[data-cols-sm="5"] {
366
+ grid-template-columns: repeat(5, 1fr);
367
+ }
368
+ .slex-grid[data-cols-sm="6"] {
369
+ grid-template-columns: repeat(6, 1fr);
370
+ }
371
+ .slex-grid[data-cols-sm="12"] {
372
+ grid-template-columns: repeat(12, 1fr);
373
+ }
374
+ }
375
+
376
+ @media (min-width: 768px) {
377
+ .slex-grid[data-cols-md="1"] {
378
+ grid-template-columns: 1fr;
379
+ }
380
+ .slex-grid[data-cols-md="2"] {
381
+ grid-template-columns: repeat(2, 1fr);
382
+ }
383
+ .slex-grid[data-cols-md="3"] {
384
+ grid-template-columns: repeat(3, 1fr);
385
+ }
386
+ .slex-grid[data-cols-md="4"] {
387
+ grid-template-columns: repeat(4, 1fr);
388
+ }
389
+ .slex-grid[data-cols-md="5"] {
390
+ grid-template-columns: repeat(5, 1fr);
391
+ }
392
+ .slex-grid[data-cols-md="6"] {
393
+ grid-template-columns: repeat(6, 1fr);
394
+ }
395
+ .slex-grid[data-cols-md="12"] {
396
+ grid-template-columns: repeat(12, 1fr);
397
+ }
398
+ }
399
+
400
+ @media (min-width: 1024px) {
401
+ .slex-grid[data-cols-lg="1"] {
402
+ grid-template-columns: 1fr;
403
+ }
404
+ .slex-grid[data-cols-lg="2"] {
405
+ grid-template-columns: repeat(2, 1fr);
406
+ }
407
+ .slex-grid[data-cols-lg="3"] {
408
+ grid-template-columns: repeat(3, 1fr);
409
+ }
410
+ .slex-grid[data-cols-lg="4"] {
411
+ grid-template-columns: repeat(4, 1fr);
412
+ }
413
+ .slex-grid[data-cols-lg="5"] {
414
+ grid-template-columns: repeat(5, 1fr);
415
+ }
416
+ .slex-grid[data-cols-lg="6"] {
417
+ grid-template-columns: repeat(6, 1fr);
418
+ }
419
+ .slex-grid[data-cols-lg="12"] {
420
+ grid-template-columns: repeat(12, 1fr);
421
+ }
422
+ }
423
+
424
+ @media (min-width: 1280px) {
425
+ .slex-grid[data-cols-xl="1"] {
426
+ grid-template-columns: 1fr;
427
+ }
428
+ .slex-grid[data-cols-xl="2"] {
429
+ grid-template-columns: repeat(2, 1fr);
430
+ }
431
+ .slex-grid[data-cols-xl="3"] {
432
+ grid-template-columns: repeat(3, 1fr);
433
+ }
434
+ .slex-grid[data-cols-xl="4"] {
435
+ grid-template-columns: repeat(4, 1fr);
436
+ }
437
+ .slex-grid[data-cols-xl="5"] {
438
+ grid-template-columns: repeat(5, 1fr);
439
+ }
440
+ .slex-grid[data-cols-xl="6"] {
441
+ grid-template-columns: repeat(6, 1fr);
442
+ }
443
+ .slex-grid[data-cols-xl="12"] {
444
+ grid-template-columns: repeat(12, 1fr);
445
+ }
446
+ }
447
+
448
+ @media (max-width: 639px) {
449
+ .slex-card {
450
+ padding: 1rem;
451
+ }
452
+
453
+ .slex-row {
454
+ align-items: stretch;
455
+ }
456
+
457
+ .slex-grid[data-cols],
458
+ .slex-grid[data-cols="2"],
459
+ .slex-grid[data-cols="3"],
460
+ .slex-grid[data-cols="4"],
461
+ .slex-grid[data-cols="5"],
462
+ .slex-grid[data-cols="6"],
463
+ .slex-grid[data-cols="12"] {
464
+ grid-template-columns: 1fr;
465
+ }
466
466
  }
467
467
 
468
468
  /* theme.css */